Skip to content

fix: enhanced reliability of eth RPC methods with null checks and ret… #7695

fix: enhanced reliability of eth RPC methods with null checks and ret…

fix: enhanced reliability of eth RPC methods with null checks and ret… #7695

GitHub Actions / Test Results failed Jan 9, 2025 in 0s

7 fail, 33 pass in 5m 43s

  3 files   -  19  112 suites   - 253   5m 43s ⏱️ - 37m 56s
 40 tests  - 473   33 ✅  - 473  0 💤  - 2   7 ❌ +2 
104 runs   - 814   94 ✅  - 810  0 💤  - 6  10 ❌ +2 

Results for commit cb93114. ± Comparison against earlier commit b2bff54.

Annotations

Check warning on line 0 in @release contract owner transfers tokens

See this annotation in the file changed.

@github-actions github-actions / Test Results

2 out of 3 runs failed: RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20… address when the spender has enough tokens @release contract owner transfers tokens (@release contract owner transfers tokens)

test-results.03fe4285fec53354affc654a310266c9.xml [took 0s]
test-results.8cc7a6f5d0780ea55c05c3d1ff74b853.xml [took 5s]
Raw output
expected '10000' to equal '0'
AssertionError: expected '10000' to equal '0'
    at Context.<anonymous> (packages/server/tests/acceptance/erc20.spec.ts:201:57)
    at Generator.next (<anonymous>)
    at fulfilled (packages/server/tests/acceptance/erc20.spec.ts:47:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

      + expected - actual

      -10000
      +0

Check warning on line 0 in emits a transfer event

See this annotation in the file changed.

@github-actions github-actions / Test Results

2 out of 3 runs failed: RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20…s when the recipient is not the zero address when the spender has enough tokens emits a transfer event (emits a transfer event)

test-results.03fe4285fec53354affc654a310266c9.xml [took 0s]
test-results.8cc7a6f5d0780ea55c05c3d1ff74b853.xml [took 4m 0s]
Raw output
Timeout of 240000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/_work/hedera-json-rpc-relay/hedera-json-rpc-relay/packages/server/tests/acceptance/index.spec.ts)
Error: Timeout of 240000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/_work/hedera-json-rpc-relay/hedera-json-rpc-relay/packages/server/tests/acceptance/index.spec.ts)
    at listOnTimeout (node:internal/timers:581:17)
    at processTimers (node:internal/timers:519:7)

Check warning on line 0 in other account transfers tokens back to owner

See this annotation in the file changed.

@github-actions github-actions / Test Results

2 out of 3 runs failed: RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20… when the spender has enough tokens other account transfers tokens back to owner (other account transfers tokens back to owner)

test-results.03fe4285fec53354affc654a310266c9.xml [took 0s]
test-results.8cc7a6f5d0780ea55c05c3d1ff74b853.xml [took 0s]
Raw output
execution reverted (no data present; likely require(false) occurred (action="estimateGas", data="0x", reason="require(false)", transaction={ "data": "0xa9059cbb000000000000000000000000171d4adb7b509eeccc4bf5658d4ff3a6f299d54e0000000000000000000000000000000000000000000000000000000000002710", "from": "0x3e2F5B2844DEc80123bC16EC20153723eBC7781D", "to": "0x0000000000000000000000000000000000000413" }, invocation=null, revert=null, code=CALL_EXCEPTION, version=6.13.2)
Error: execution reverted (no data present; likely require(false) occurred (action="estimateGas", data="0x", reason="require(false)", transaction={ "data": "0xa9059cbb000000000000000000000000171d4adb7b509eeccc4bf5658d4ff3a6f299d54e0000000000000000000000000000000000000000000000000000000000002710", "from": "0x3e2F5B2844DEc80123bC16EC20153723eBC7781D", "to": "0x0000000000000000000000000000000000000413" }, invocation=null, revert=null, code=CALL_EXCEPTION, version=6.13.2)
    at makeError (packages/server/node_modules/ethers/src.ts/utils/errors.ts:694:21)
    at getBuiltinCallException (packages/server/node_modules/ethers/src.ts/abi/abi-coder.ts:118:21)
    at Function.getBuiltinCallException (packages/server/node_modules/ethers/src.ts/abi/abi-coder.ts:235:16)
    at JsonRpcProvider.getRpcError (packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:989:32)
    at /home/runner/_work/hedera-json-rpc-relay/hedera-json-rpc-relay/packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:563:45
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check warning on line 0 in "before all" hook for "emits an approval event"

See this annotation in the file changed.

@github-actions github-actions / Test Results

RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the …r has enough allowance "before all" hook for "emits an approval event" ("before all" hook for "emits an approval event") failed

test-results.03fe4285fec53354affc654a310266c9.xml [took 0s]
Raw output
nonce has already been used (transaction="0x02f8b482012a0485a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e0000000000000000000000000000000000000000000000000000000000002710c001a0b5dbd31833222ae84b5249b11f11ac602fbb2f35674c37193d9ce7b5e546ab97a046e9c3e0d45214fe84ab5c81b9cf5fc5b73d381c582b33dcfafd22e347395ef9", info={ "error": { "code": 32001, "message": "[Request ID: 3f83de76-6d15-4fc1-abd4-3c0080c285c2] Nonce too low. Provided nonce: 4, current nonce: 5" } }, code=NONCE_EXPIRED, version=6.13.2)
Error: nonce has already been used (transaction="0x02f8b482012a0485a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e0000000000000000000000000000000000000000000000000000000000002710c001a0b5dbd31833222ae84b5249b11f11ac602fbb2f35674c37193d9ce7b5e546ab97a046e9c3e0d45214fe84ab5c81b9cf5fc5b73d381c582b33dcfafd22e347395ef9", info={ "error": { "code": 32001, "message": "[Request ID: 3f83de76-6d15-4fc1-abd4-3c0080c285c2] Nonce too low. Provided nonce: 4, current nonce: 5" } }, code=NONCE_EXPIRED, version=6.13.2)
    at makeError (packages/server/node_modules/ethers/src.ts/utils/errors.ts:694:21)
    at JsonRpcProvider.getRpcError (packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:1031:33)
    at /home/runner/_work/hedera-json-rpc-relay/hedera-json-rpc-relay/packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:563:45
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check warning on line 0 in "before all" hook for "reverts"

See this annotation in the file changed.

@github-actions github-actions / Test Results

RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the …ough allowance when the token owner has enough balance "before all" hook for "reverts" ("before all" hook for "reverts") failed

test-results.03fe4285fec53354affc654a310266c9.xml [took 0s]
Raw output
nonce has already been used (transaction="0x02f8b482012a0485a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e000000000000000000000000000000000000000000000000000000000000270fc001a0d6ffc6fd7e335c3a3c57b69187558a7ee3562cdbff76f886f56df0b93816f7cca06c9250eed97315affe6a599bd5b6388a18c1252b14ea73f0b922341d14d5d848", info={ "error": { "code": 32001, "message": "[Request ID: 717f5a3c-c377-42df-840b-d5ab58e0c8f4] Nonce too low. Provided nonce: 4, current nonce: 5" } }, code=NONCE_EXPIRED, version=6.13.2)
Error: nonce has already been used (transaction="0x02f8b482012a0485a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e000000000000000000000000000000000000000000000000000000000000270fc001a0d6ffc6fd7e335c3a3c57b69187558a7ee3562cdbff76f886f56df0b93816f7cca06c9250eed97315affe6a599bd5b6388a18c1252b14ea73f0b922341d14d5d848", info={ "error": { "code": 32001, "message": "[Request ID: 717f5a3c-c377-42df-840b-d5ab58e0c8f4] Nonce too low. Provided nonce: 4, current nonce: 5" } }, code=NONCE_EXPIRED, version=6.13.2)
    at makeError (packages/server/node_modules/ethers/src.ts/utils/errors.ts:694:21)
    at JsonRpcProvider.getRpcError (packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:1031:33)
    at /home/runner/_work/hedera-json-rpc-relay/hedera-json-rpc-relay/packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:563:45
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check warning on line 0 in "before each" hook for "reverts"

See this annotation in the file changed.

@github-actions github-actions / Test Results

RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the …ress when the spender does not have enough allowance "before each" hook for "reverts" ("before each" hook for "reverts") failed

test-results.03fe4285fec53354affc654a310266c9.xml [took 0s]
Raw output
nonce has already been used (transaction="0x02f8b482012a0485a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e000000000000000000000000000000000000000000000000000000000000270fc001a0d6ffc6fd7e335c3a3c57b69187558a7ee3562cdbff76f886f56df0b93816f7cca06c9250eed97315affe6a599bd5b6388a18c1252b14ea73f0b922341d14d5d848", info={ "error": { "code": 32001, "message": "[Request ID: 063a2d3f-dc99-4588-95b0-0846d046831b] Nonce too low. Provided nonce: 4, current nonce: 5" } }, code=NONCE_EXPIRED, version=6.13.2)
Error: nonce has already been used (transaction="0x02f8b482012a0485a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e000000000000000000000000000000000000000000000000000000000000270fc001a0d6ffc6fd7e335c3a3c57b69187558a7ee3562cdbff76f886f56df0b93816f7cca06c9250eed97315affe6a599bd5b6388a18c1252b14ea73f0b922341d14d5d848", info={ "error": { "code": 32001, "message": "[Request ID: 063a2d3f-dc99-4588-95b0-0846d046831b] Nonce too low. Provided nonce: 4, current nonce: 5" } }, code=NONCE_EXPIRED, version=6.13.2)
    at makeError (packages/server/node_modules/ethers/src.ts/utils/errors.ts:694:21)
    at JsonRpcProvider.getRpcError (packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:1031:33)
    at /home/runner/_work/hedera-json-rpc-relay/hedera-json-rpc-relay/packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:563:45
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check warning on line 0 in "before each" hook for "reverts"

See this annotation in the file changed.

@github-actions github-actions / Test Results

RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the … zero address when the recipient is the zero address "before each" hook for "reverts" ("before each" hook for "reverts") failed

test-results.03fe4285fec53354affc654a310266c9.xml [took 0s]
Raw output
nonce has already been used (transaction="0x02f8b482012a0185a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e0000000000000000000000000000000000000000000000000000000000002710c001a04928e4f938b7e062fb52bf3f03a35a5df43a3b226362b7cb7c450ab11cefbe02a035baaf91290ed6569620eb7350d562132031e6c28f43af536eb184b8ba358477", info={ "error": { "code": 32001, "message": "[Request ID: 9e2cd7da-6145-4ca0-84e3-225c72310331] Nonce too low. Provided nonce: 1, current nonce: 2" } }, code=NONCE_EXPIRED, version=6.13.2)
Error: nonce has already been used (transaction="0x02f8b482012a0185a54f4c3c0085a54f4c3c008316e36094000000000000000000000000000000000000040d80b844095ea7b3000000000000000000000000f14f3409226e974895a41800c0a18b622ad26b5e0000000000000000000000000000000000000000000000000000000000002710c001a04928e4f938b7e062fb52bf3f03a35a5df43a3b226362b7cb7c450ab11cefbe02a035baaf91290ed6569620eb7350d562132031e6c28f43af536eb184b8ba358477", info={ "error": { "code": 32001, "message": "[Request ID: 9e2cd7da-6145-4ca0-84e3-225c72310331] Nonce too low. Provided nonce: 1, current nonce: 2" } }, code=NONCE_EXPIRED, version=6.13.2)
    at makeError (packages/server/node_modules/ethers/src.ts/utils/errors.ts:694:21)
    at JsonRpcProvider.getRpcError (packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:1031:33)
    at /home/runner/_work/hedera-json-rpc-relay/hedera-json-rpc-relay/packages/server/node_modules/ethers/src.ts/providers/provider-jsonrpc.ts:563:45
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results

40 tests found

There are 40 tests, see "Raw output" for the full list of tests.
Raw output
"before all" hook for "emits an approval event" ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance "before all" hook for "emits an approval event"
"before all" hook for "reverts" ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender does not have enough allowance when the token owner has enough balance "before all" hook for "reverts"
"before each" hook for "reverts" ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender does not have enough allowance "before each" hook for "reverts"
"before each" hook for "reverts" ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is the zero address "before each" hook for "reverts"
@release contract owner transfers tokens ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough tokens @release contract owner transfers tokens
@release contract owner transfers tokens ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough tokens @release contract owner transfers tokens
@release returns the total amount of tokens ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 balanceOf when the requested account has some tokens @release returns the total amount of tokens
@release returns the total amount of tokens ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 total supply @release returns the total amount of tokens
@release returns the total amount of tokens ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 balanceOf when the requested account has some tokens @release returns the total amount of tokens
@release returns the total amount of tokens ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 total supply @release returns the total amount of tokens
Relay can execute "eth_getCode" for ERC20 contract with evmAddress ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract Relay can execute "eth_getCode" for ERC20 contract with evmAddress
Relay can execute "eth_getCode" for ERC20 contract with evmAddress ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token Relay can execute "eth_getCode" for ERC20 contract with evmAddress
decreases the spender allowance ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner has enough balance decreases the spender allowance
decreases the spender allowance ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner has enough balance decreases the spender allowance
emits a transfer event ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner has enough balance emits a transfer event
emits a transfer event ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough tokens emits a transfer event
emits a transfer event ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner has enough balance emits a transfer event
emits a transfer event ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough tokens emits a transfer event
emits an approval event ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance emits an approval event
emits an approval event ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance emits an approval event
has 18 decimals ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract has 18 decimals
has 18 decimals ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token has 18 decimals
has a name ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract has a name
has a name ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token has a name
has a symbol ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract has a symbol
has a symbol ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token has a symbol
other account transfers tokens back to owner ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough tokens other account transfers tokens back to owner
other account transfers tokens back to owner ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough tokens other account transfers tokens back to owner
returns zero ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 balanceOf when the requested account has no tokens returns zero
returns zero ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 balanceOf when the requested account has no tokens returns zero
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender does not have enough allowance when the token owner does not have enough balance reverts
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender does not have enough allowance when the token owner has enough balance reverts
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner does not have enough balance reverts
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is the zero address reverts
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender does not have enough allowance when the token owner does not have enough balance reverts
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender does not have enough allowance when the token owner has enough balance reverts
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner does not have enough balance reverts
reverts ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is the zero address reverts
transfers the requested amount ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests ERC20 Contract should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner has enough balance transfers the requested amount
transfers the requested amount ‑ RPC Server Acceptance Tests Acceptance tests @erc20 Acceptance Tests HTS token should behave like erc20 transfer from when the token owner is not the zero address when the recipient is not the zero address when the spender has enough allowance when the token owner has enough balance transfers the requested amount