Skip to content

Commit

Permalink
Check failing tests (estimate gas problem) (#6702)
Browse files Browse the repository at this point in the history
* test

* test

* check simple contract

* fix gas estimation tests

* fix ens tests

* fix numbers

* fix estimate gas test

* fix lint

* compare bigint

* fix bsd link
  • Loading branch information
avkos authored Jan 15, 2024
1 parent 882631c commit 5161642
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 26 deletions.
10 changes: 5 additions & 5 deletions packages/web3-eth-ens/test/integration/ens.events.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ import { ENS } from '../../src';
import { namehash } from '../../src/utils';

import {
getSystemTestAccounts,
getSystemTestProvider,
isWs,
isIpc,
closeOpenConnection,
isSocket,
describeIf,
getSystemTestProviderUrl,
createTempAccount,
} from '../fixtures/system_tests_utils';

import { ENSRegistryAbi } from '../fixtures/ens/abi/ENSRegistry';
Expand Down Expand Up @@ -62,7 +62,6 @@ describeIf(isSocket)('ens events', () => {
const node = namehash('resolver');
const label = sha3('resolver') as string;

let accounts: string[];
let ens: ENS;
let defaultAccount: string;
let accountOne: string;
Expand All @@ -71,9 +70,10 @@ describeIf(isSocket)('ens events', () => {
const addressOne: Address = '0x0000000000000000000000000000000000000001';

beforeAll(async () => {
accounts = await getSystemTestAccounts();

[defaultAccount, accountOne] = accounts;
const acc1 = await createTempAccount();
defaultAccount = acc1.address;
const acc2 = await createTempAccount();
accountOne = acc2.address;

sendOptions = { from: defaultAccount, gas: '10000000' };

Expand Down
10 changes: 5 additions & 5 deletions packages/web3-eth-ens/test/integration/ens.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import { namehash } from '../../src/utils';

import {
closeOpenConnection,
getSystemTestAccounts,
createTempAccount,
getSystemTestProvider,
getSystemTestProviderUrl,
isIpc,
Expand Down Expand Up @@ -63,7 +63,6 @@ describe('ens', () => {
const fullDomain = `${subdomain}.${domain}`;
const web3jsName = 'web3js.test';

let accounts: string[];
let ens: ENS;
let defaultAccount: string;
let accountOne: string;
Expand All @@ -72,9 +71,10 @@ describe('ens', () => {
const addressOne: Address = '0x0000000000000000000000000000000000000001';

beforeAll(async () => {
accounts = await getSystemTestAccounts();

[defaultAccount, accountOne] = accounts;
const acc1 = await createTempAccount();
defaultAccount = acc1.address;
const acc2 = await createTempAccount();
accountOne = acc2.address;

sendOptions = { from: defaultAccount, gas: '10000000' };

Expand Down
14 changes: 7 additions & 7 deletions packages/web3-eth-ens/test/integration/resolver.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import { namehash } from '../../src/utils';

import {
closeOpenConnection,
getSystemTestAccounts,
createTempAccount,
getSystemTestProvider,
getSystemTestProviderUrl,
isIpc,
Expand Down Expand Up @@ -60,7 +60,6 @@ describe('ens', () => {

let web3Eth: Web3Eth;

let accounts: string[];
let ens: ENS;
let defaultAccount: string;
let accountOne: string;
Expand All @@ -73,9 +72,10 @@ describe('ens', () => {
const DEFAULT_COIN_TYPE = 60;

beforeAll(async () => {
accounts = await getSystemTestAccounts();

[defaultAccount, accountOne] = accounts;
const acc1 = await createTempAccount();
defaultAccount = acc1.address;
const acc2 = await createTempAccount();
accountOne = acc2.address;

sendOptions = { from: defaultAccount, gas: '10000000' };

Expand Down Expand Up @@ -223,10 +223,10 @@ describe('ens', () => {
.setResolver(domainNode, resolver.options.address as string)
.send(sendOptions);

await resolver.methods.setAddr(domainNode, accounts[1]).send(sendOptions);
await resolver.methods.setAddr(domainNode, accountOne).send(sendOptions);

const res = await resolver.methods.addr(domainNode, DEFAULT_COIN_TYPE).call(sendOptions);
expect(res).toBe(accounts[1]);
expect(res).toBe(accountOne);
});

it('fetches address', async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import {
closeOpenConnection,
createTempAccount,
getSystemTestProvider,
itIf,
isGeth,
} from '../../fixtures/system_test_utils';

describe('Web3Eth.estimateGas', () => {
Expand All @@ -46,16 +48,15 @@ describe('Web3Eth.estimateGas', () => {
expect(response).toBe(BigInt(21000));
});

it('should estimate a contract deployment', async () => {
itIf(isGeth)('should estimate a contract deployment', async () => {
const greeterContractDeploymentData =
'0x60806040523480156200001157600080fd5b5060405162000a6a38038062000a6a8339818101604052810190620000379190620002a4565b80600090805190602001906200004f92919062000057565b505062000359565b828054620000659062000324565b90600052602060002090601f016020900481019282620000895760008555620000d5565b82601f10620000a457805160ff1916838001178555620000d5565b82800160010185558215620000d5579182015b82811115620000d4578251825591602001919060010190620000b7565b5b509050620000e49190620000e8565b5090565b5b8082111562000103576000816000905550600101620000e9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001708262000125565b810181811067ffffffffffffffff8211171562000192576200019162000136565b5b80604052505050565b6000620001a762000107565b9050620001b5828262000165565b919050565b600067ffffffffffffffff821115620001d857620001d762000136565b5b620001e38262000125565b9050602081019050919050565b60005b8381101562000210578082015181840152602081019050620001f3565b8381111562000220576000848401525b50505050565b60006200023d6200023784620001ba565b6200019b565b9050828152602081018484840111156200025c576200025b62000120565b5b62000269848285620001f0565b509392505050565b600082601f8301126200028957620002886200011b565b5b81516200029b84826020860162000226565b91505092915050565b600060208284031215620002bd57620002bc62000111565b5b600082015167ffffffffffffffff811115620002de57620002dd62000116565b5b620002ec8482850162000271565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033d57607f821691505b602082108103620003535762000352620002f5565b5b50919050565b61070180620003696000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae32171461006c575b600080fd5b6100556004803603810190610050919061043f565b61008a565b60405161006392919061052b565b60405180910390f35b6100746101b0565b604051610081919061055b565b60405180910390f35b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756000846040516100c0929190610672565b60405180910390a182600090805190602001906100de929190610242565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600060405161010f91906106a9565b60405180910390a160016000808054610127906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610153906105ac565b80156101a05780601f10610175576101008083540402835291602001916101a0565b820191906000526020600020905b81548152906001019060200180831161018357829003601f168201915b5050505050905091509150915091565b6060600080546101bf906105ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb906105ac565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b82805461024e906105ac565b90600052602060002090601f01602090048101928261027057600085556102b7565b82601f1061028957805160ff19168380011785556102b7565b828001600101855582156102b7579182015b828111156102b657825182559160200191906001019061029b565b5b5090506102c491906102c8565b5090565b5b808211156102e15760008160009055506001016102c9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61034c82610303565b810181811067ffffffffffffffff8211171561036b5761036a610314565b5b80604052505050565b600061037e6102e5565b905061038a8282610343565b919050565b600067ffffffffffffffff8211156103aa576103a9610314565b5b6103b382610303565b9050602081019050919050565b82818337600083830152505050565b60006103e26103dd8461038f565b610374565b9050828152602081018484840111156103fe576103fd6102fe565b5b6104098482856103c0565b509392505050565b600082601f830112610426576104256102f9565b5b81356104368482602086016103cf565b91505092915050565b600060208284031215610455576104546102ef565b5b600082013567ffffffffffffffff811115610473576104726102f4565b5b61047f84828501610411565b91505092915050565b60008115159050919050565b61049d81610488565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104dd5780820151818401526020810190506104c2565b838111156104ec576000848401525b50505050565b60006104fd826104a3565b61050781856104ae565b93506105178185602086016104bf565b61052081610303565b840191505092915050565b60006040820190506105406000830185610494565b818103602083015261055281846104f2565b90509392505050565b6000602082019050818103600083015261057581846104f2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105c457607f821691505b6020821081036105d7576105d661057d565b5b50919050565b60008190508160005260206000209050919050565b600081546105ff816105ac565b61060981866104ae565b94506001821660008114610624576001811461063657610669565b60ff1983168652602086019350610669565b61063f856105dd565b60005b8381101561066157815481890152600182019150602081019050610642565b808801955050505b50505092915050565b6000604082019050818103600083015261068c81856105f2565b905081810360208301526106a081846104f2565b90509392505050565b600060208201905081810360008301526106c381846105f2565b90509291505056fea2646970667358221220fe0f28c9f8ef0a13a95934b974e7bc2ca6762b40a5b93ccd6ca2038f454bf52764736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017736f6c79656e7420677265656e2069732070656f706c65000000000000000000';
const transaction: Transaction = {
from: tempAcc.address,
data: greeterContractDeploymentData,
gas: '0x742b8',
};
const response = await web3Eth.estimateGas(transaction);

expect(response).toBe(BigInt(475494));
// eslint-disable-next-line jest/no-standalone-expect
expect(response).toBe(BigInt(480435));
});
});
10 changes: 5 additions & 5 deletions scripts/geth_binary.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ getOS(){
getDownloadLink(){
case "$OS" in
SOLARIS*) LINK="-" ;;
OSX*) LINK="https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.12.2-bed84606.tar.gz" ;;
LINUX*) LINK="https://gethstore.blob.core.windows.net/builds/geth-linux-386-1.12.2-bed84606.tar.gz" ;;
BSD*) LINK="https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.12.2-bed84606.tar.gz" ;;
WINDOWS*) LINK="https://gethstore.blob.core.windows.net/builds/geth-windows-386-1.12.2-bed84606.exe" ;;
"ALSO WINDOWS"*) LINK="https://gethstore.blob.core.windows.net/builds/geth-windows-386-1.12.2-bed84606.exe" ;;
OSX*) LINK="https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.13.8-b20b4a71.tar.gz" ;;
LINUX*) LINK="https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.13.8-b20b4a71.tar.gz" ;;
BSD*) LINK="https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.13.8-b20b4a71.tar.gz" ;;
WINDOWS*) LINK="https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-1.13.8-b20b4a71.exe" ;;
"ALSO WINDOWS"*) LINK="https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-1.13.8-b20b4a71.exe" ;;
*) LINK="-" ;;
esac
}
Expand Down
2 changes: 2 additions & 0 deletions scripts/system_tests_utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ export const getSystemTestMnemonic = (): string => getEnvVar('WEB3_SYSTEM_TEST_M

export const getSystemTestBackend = (): string => getEnvVar('WEB3_SYSTEM_TEST_BACKEND') ?? '';

export const isGeth: boolean = getSystemTestBackend() === 'geth';

export const createAccount = _createAccount;

export const itIf = (condition: (() => boolean) | boolean) =>
Expand Down

1 comment on commit 5161642

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 5161642 Previous: 6c075db Ratio
processingTx 9296 ops/sec (±4.01%) 9301 ops/sec (±4.81%) 1.00
processingContractDeploy 37840 ops/sec (±6.86%) 39129 ops/sec (±7.62%) 1.03
processingContractMethodSend 18995 ops/sec (±7.00%) 19443 ops/sec (±5.19%) 1.02
processingContractMethodCall 38421 ops/sec (±5.30%) 38971 ops/sec (±6.34%) 1.01
abiEncode 45046 ops/sec (±6.81%) 44252 ops/sec (±6.92%) 0.98
abiDecode 30924 ops/sec (±7.26%) 30419 ops/sec (±8.89%) 0.98
sign 1637 ops/sec (±0.85%) 1656 ops/sec (±4.08%) 1.01
verify 367 ops/sec (±2.68%) 373 ops/sec (±0.78%) 1.02

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.