Skip to content

move staking test spec to node/test_spec.rs#335

Merged
4meta5 merged 6 commits intomasterfrom
add-test-spec
Apr 12, 2021
Merged

move staking test spec to node/test_spec.rs#335
4meta5 merged 6 commits intomasterfrom
add-test-spec

Conversation

@4meta5
Copy link
Contributor

@4meta5 4meta5 commented Apr 7, 2021

What does it do?

Puts the genesis config information used in the polkadot-launch staking tests in node/test_spec.rs

This will replace the staking-test-spec.json, which required updating the system wasm code field every time anything in the runtime changes.

To run, need to compile the node with flag --features=test-spec. This ensures that the staking-test-spec hard coded into node/test_spec.rs is only included in the binary when this flag is passed (and is NOT included when the flag is not passed). @joelamouche this will need to be included in the CI

What important points reviewers should know?

Any long-living genesis config benefits from being coded in rust instead of the json spec because it is easier to maintain (because the json spec requires changing the wasm blob every time there is any runtime change).

Is there something left for follow-up PRs?

What alternative implementations were considered?

Are there relevant PRs or issues in other repositories (Substrate, Polkadot, Frontier, Cumulus)?

What value does it bring to the blockchain users?

Checklist

  • Does it require a purge of the network?
  • You bumped the runtime version if there are breaking changes in the runtime ?
  • Does it require changes in documentation/tutorials ?

@joelamouche
Copy link
Contributor

It seems to be failing when adding a new candidate

It's because the first block now takes 70 seconds.
Look at the updated file: https://github.com/PureStake/moonbeam/blob/2961d51cf98b57e2a100bd4845d75d9225c95120/tools/test-staking.ts#L95

@4meta5
Copy link
Contributor Author

4meta5 commented Apr 8, 2021

so do we need to increase it because that code reflects the state of this branch

@joelamouche
Copy link
Contributor

I think it's already merged in master. When I checked on Monday, the first block duration had increased to 2 sessions

@4meta5
Copy link
Contributor Author

4meta5 commented Apr 8, 2021

So it was at 80000 (see the first error where it prints Waiting 80 seconds) but now I increase it to 100000 and I am still getting the same error:

New Block: #0: undefined, time since last block: 0.01 sec
Waiting 100 seconds
Current status is Ready
Current status is Broadcast
Trace: Error: new candidate should have been added
    at assert (/Users/4meta5/ong/ps/moonbeam/tools/test-staking.ts:18:25)
    at test (/Users/4meta5/ong/ps/moonbeam/tools/test-staking.ts:97:3)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at process.<anonymous> (/Users/4meta5/ong/ps/moonbeam/tools/node_modules/polkadot-launch/dist/src/index.js:186:17)
    at process.emit (events.js:326:22)
    at process.EventEmitter.emit (domain.js:486:12)
    at process.emit (/Users/4meta5/ong/ps/moonbeam/tools/node_modules/source-map-support/source-map-support.js:495:21)
    at processPromiseRejections (internal/process/promises.js:245:33)
    at processTicksAndRejections (internal/process/task_queues.js:94:32)
Trace: Error: new candidate should have been added
    at assert (/Users/4meta5/ong/ps/moonbeam/tools/test-staking.ts:18:25)
    at test (/Users/4meta5/ong/ps/moonbeam/tools/test-staking.ts:97:3)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at process.<anonymous> (/Users/4meta5/ong/ps/moonbeam/tools/node_modules/polkadot-launch/dist/scripts_moonbeam/test_multi_node_transfers.js:159:17)
    at process.emit (events.js:326:22)
    at process.EventEmitter.emit (domain.js:486:12)
    at process.emit (/Users/4meta5/ong/ps/moonbeam/tools/node_modules/source-map-support/source-map-support.js:495:21)
    at processPromiseRejections (internal/process/promises.js:245:33)
    at processTicksAndRejections (internal/process/task_queues.js:94:32)

@4meta5
Copy link
Contributor Author

4meta5 commented Apr 8, 2021

TODO: use promises like XCMP tests so that wait is unnecessary, need to wait until the call succeeds to check state after

@joelamouche
Copy link
Contributor

use promises like XCMP tests so that wait is unnecessary, need to wait until the call succeeds to check state after

The reason why this wouldnt work before is because we need to use the inBlock event instead of isFinalized I think. If you create an issue for that, I would be happy to take care of it.

So it was at 80000 (see the first error where it prints Waiting 80 seconds) but now I increase it to 100000 and I am still getting the same error:

From the logs, it looks like the block #1 still hasnt been created when the error fires

Copy link
Contributor

@JoshOrndorff JoshOrndorff left a comment

Choose a reason for hiding this comment

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

Spec-wise this is exactly what I was suggesting :)

@4meta5 4meta5 marked this pull request as ready for review April 9, 2021 15:21
@4meta5 4meta5 added A0-pleasereview Pull request needs code review. B0-silent Changes should not be mentioned in any release notes labels Apr 9, 2021
@4meta5 4meta5 requested a review from joelamouche April 9, 2021 15:24
@joelamouche
Copy link
Contributor

I'm getting Error: Input("Error opening spec file: No such file or directory (os error 2)") on the collator

@joelamouche
Copy link
Contributor

ha ok its probably because I didn't run --features=test-staking
But we don't want to have to rebuild it for every test do we?

Copy link
Contributor

@joelamouche joelamouche left a comment

Choose a reason for hiding this comment

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

Screenshot 2021-04-09 at 16 48 07

Block 1 won't get produced :'( What did I miss?

"staking",
ChainType::Local,
move || {
testnet_genesis(
Copy link
Contributor

Choose a reason for hiding this comment

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

Would be nice to have a comment explaining what each line is for so that I can modify it myself. Does this allow changing the config of every pallet we have, like the specs did?

Copy link
Contributor Author

@4meta5 4meta5 Apr 9, 2021

Choose a reason for hiding this comment

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

It's calling the function a few lines below called testnet_genesis so you can't fully understand the config without looking at what that function does with it. I added some comments to improve readability though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It provides almost as much configurability as the json spec. Instead of setting the balances for accounts, it mints 1 << 80 balance for the specified endowed_accounts: Vec<AccountId>.

Copy link
Contributor

Choose a reason for hiding this comment

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

It provides almost as much configurability

If the current approach doesn't suit your needs, we can change that testnet_genesis function or remove it, or whatever makes it most expressive.

@4meta5
Copy link
Contributor Author

4meta5 commented Apr 9, 2021

But we don't want to have to rebuild it for every test do we?

We only have to build it once. The binary compiled with the feature flag will work with the other tests because it only adds the staking-spec genesis; it doesn't remove or change anything else.

This will be a lot easier to include in the CI than the json spec because the binary includes the config instead of requiring changes to the json spec.

Block 1 won't get produced :'( What did I miss?

It worked for me but took 110.947 seconds to produce the first block -- here is the output:

Registering Parachain 1000
--- Submitting extrinsic to register parachain 1000. (nonce: 0) ---
Current registration status is Ready
Current registration status is {"broadcast":["12D3KooWRLWAYAeHbtNWDqcUxER6k3t29GhiST2GtjYqRhugW3Fd","12D3KooWFfFbigRAadcRmXJrZo2He6Ccj4PTnAJXN2eeV6wKKpvz","12D3KooWL7AenSfh7cpFVp1BnHZHZ95QeGwAF7UjbXQvDkd5Vcfo","12D3KooWLYcDaeXWjBhrciqt2zJyhDuyiT8Ge6EDGBvV6KuAFeJK"]}
Current registration status is {"inBlock":"0x6b83b9ff5d93aa2bb205af2a084b0c0bb9bd66f0d4966528114380c963a177c7"}
Transaction included at blockHash 0x6b83b9ff5d93aa2bb205af2a084b0c0bb9bd66f0d4966528114380c963a177c7
one REGISTRATION DONE
--- Submitting extrinsic to set balance of 5Ec4AhPZk8STuex8Wsi9TwDtJQxKqzPJRCH7348Xtcs9vZLJ to 1000. (nonce: 1) ---
setbalance finished
Current setBalance status is Ready
Current setBalance status is {"broadcast":["12D3KooWRLWAYAeHbtNWDqcUxER6k3t29GhiST2GtjYqRhugW3Fd","12D3KooWFfFbigRAadcRmXJrZo2He6Ccj4PTnAJXN2eeV6wKKpvz","12D3KooWL7AenSfh7cpFVp1BnHZHZ95QeGwAF7UjbXQvDkd5Vcfo","12D3KooWLYcDaeXWjBhrciqt2zJyhDuyiT8Ge6EDGBvV6KuAFeJK"]}
Current setBalance status is {"inBlock":"0x0f71c8ba9f867570196a7b3e8821ab1c8348fd6ccd9eb3868066a3058342f7b9"}
Transaction included at blockHash 0x0f71c8ba9f867570196a7b3e8821ab1c8348fd6ccd9eb3868066a3058342f7b9
one REGISTRATION DONE
Starting a Collator for parachain 1000: 5Ec4AhPZk8STuex8Wsi9TwDtJQxKqzPJRCH7348Xtcs9vZLJ, Collator port : 36336 wsPort : 36947
Added --chain=staking
Added --no-telemetry,--no-prometheus,--author-id=C0F0f4ab324C46e55D02D0033343B4Be8A55532d to parachain
Added --execution=wasm to collator
Starting a Collator for parachain 1000: 5Ec4AhPZk8STuex8Wsi9TwDtJQxKqzPJRCH7348Xtcs9vZLJ, Collator port : 36337 wsPort : 36948
Added --chain=staking
Added --no-telemetry,--no-prometheus,--author-id=Ff64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB to parachain
Added --execution=wasm to collator
ALL PARACHAINS REGISTERED
New Block: #0: undefined, time since last block: 0.008 sec
Current status is Ready
Current status is Broadcast
New Block: #1: 0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b, time since last block: 110.947 sec
Current status is InBlock
Transaction included in Block at blockHash 0x980dd12a28410ca5944cf6840d41cfbae10b8f5922315b1ba24b6dc112408edd
	' {"applyExtrinsic":3}: balances.Reserved:: ["0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB","0x000000000000003635c9adc5dea00000"]
	' {"applyExtrinsic":3}: parachainStaking.JoinedCollatorCandidates:: ["0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB","0x000000000000003635c9adc5dea00000","0x00000000000000a2a15d09519be00000"]
	' {"applyExtrinsic":3}: system.ExtrinsicSuccess:: [{"weight":0,"class":"Normal","paysFee":"Yes"}]
Current status is Ready
Current status is Broadcast
New Block: #2: 0xC0F0f4ab324C46e55D02D0033343B4Be8A55532d, time since last block: 12.003 sec
New Block: #3: 0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b, time since last block: 11.988 sec
Current status is InBlock
Transaction included in Block at blockHash 0xe1a4c08b02c79f23566b5fea7f006208e9bd085dc81fdcff23d752396447fe5f
	' {"applyExtrinsic":3}: balances.Reserved:: ["0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB","0x000000000000003635c9adc5dea00000"]
	' {"applyExtrinsic":3}: parachainStaking.CollatorBondedMore:: ["0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB","0x000000000000003635c9adc5dea00000","0x000000000000006c6b935b8bbd400000"]
	' {"applyExtrinsic":3}: system.ExtrinsicSuccess:: [{"weight":0,"class":"Normal","paysFee":"Yes"}]
Current status is Ready
Current status is Broadcast
New Block: #4: 0xC0F0f4ab324C46e55D02D0033343B4Be8A55532d, time since last block: 12.002 sec
New Block: #5: 0xC0F0f4ab324C46e55D02D0033343B4Be8A55532d, time since last block: 12.035 sec
Current status is InBlock
Transaction included in Block at blockHash 0x12fcf7288368a83f5d8e1d7d0801267232f1db95d979810b91d4c98871da97ad
	' {"applyExtrinsic":3}: balances.Unreserved:: ["0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB","0x000000000000003635c9adc5dea00000"]
	' {"applyExtrinsic":3}: parachainStaking.CollatorBondedLess:: ["0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB","0x000000000000006c6b935b8bbd400000","0x000000000000003635c9adc5dea00000"]
	' {"applyExtrinsic":3}: system.ExtrinsicSuccess:: [{"weight":0,"class":"Normal","paysFee":"Yes"}]
Current status is Ready
Current status is Broadcast
New Block: #6: 0xC0F0f4ab324C46e55D02D0033343B4Be8A55532d, time since last block: 11.973 sec
New Block: #7: 0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b, time since last block: 11.996 sec
Current status is InBlock
Transaction included in Block at blockHash 0x7465cd8891c9300261d740a35ec5da77468fc91165f0542a9775109ed09e82e4
	' {"applyExtrinsic":3}: balances.Reserved:: ["0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac","0x00000000000000004563918244f40000"]
	' {"applyExtrinsic":3}: parachainStaking.Nomination:: ["0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac","0x00000000000000004563918244f40000","0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b","0x00000000000000367b2d3f4823940000"]
	' {"applyExtrinsic":3}: system.ExtrinsicSuccess:: [{"weight":0,"class":"Normal","paysFee":"Yes"}]
Current status is Ready
Current status is Broadcast
New Block: #8: 0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b, time since last block: 11.999 sec
New Block: #9: 0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b, time since last block: 12.001 sec
Current status is InBlock
Transaction included in Block at blockHash 0x9798a2eedc08203b977b8600efb67e05969f34cbcc1731f46493c48e74b815fa
	' {"applyExtrinsic":3}: balances.Unreserved:: ["0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac","0x00000000000000004563918244f40000"]
	' {"applyExtrinsic":3}: parachainStaking.NominatorLeftCollator:: ["0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac","0x6Be02d1d3665660d22FF9624b7BE0551ee1Ac91b","0x00000000000000004563918244f40000","0x000000000000003635c9adc5dea00000"]
	' {"applyExtrinsic":3}: parachainStaking.NominatorLeft:: ["0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac","0x00000000000000004563918244f40000"]
	' {"applyExtrinsic":3}: system.ExtrinsicSuccess:: [{"weight":0,"class":"Normal","paysFee":"Yes"}]
SUCCESS

Comment on lines 56 to 57
#[cfg(feature = "test-staking")]
"staking" => Ok(Box::new(chain_spec::staking_spec(para_id))),
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a great idea. Might make sense to do the same thing for stagenet in the future.

@JoshOrndorff JoshOrndorff requested a review from crystalin April 12, 2021 12:27
@4meta5
Copy link
Contributor Author

4meta5 commented Apr 12, 2021

  • move special test-spec to its own file so tis easier to maintain, and can add some docs about maintenance

  • change feature flag to test-spec so it's not staking specific

@4meta5 4meta5 merged commit 3f893f1 into master Apr 12, 2021
@4meta5 4meta5 deleted the add-test-spec branch April 12, 2021 17:52
@4meta5 4meta5 changed the title move staking test spec to node/chainspec move staking test spec to node/test_spec.rs Apr 12, 2021
crystalin pushed a commit that referenced this pull request Apr 13, 2021
* added example test for frontier (#343)

* added example test for frontier

* added npm run non-ci-test

* move staking test spec to node/chainspec (#335)

* init

* hide staking test spec behind test-staking feature flag

* clean

* comment staking test genesis config for readability

* move test spec to separate file

* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

Co-authored-by: Antoine Estienne <estienne.antoine@gmail.com>
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: Crystalin <alan@purestake.com>
crystalin added a commit that referenced this pull request Apr 21, 2021
* Crude attempt at finding open ports (#346)

* added example test for frontier (#343)

* added example test for frontier

* added npm run non-ci-test

* move staking test spec to node/chainspec (#335)

* init

* hide staking test spec behind test-staking feature flag

* clean

* comment staking test genesis config for readability

* move test spec to separate file

* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

Co-authored-by: Antoine Estienne <estienne.antoine@gmail.com>
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: Crystalin <alan@purestake.com>

* Crystalin testweek watch (#347)

* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

Co-authored-by: Stephen Shelton <steve@brewcraft.org>

* Unskip tests (#357)

* Unskip `fetch genesis block by hash`

* Remove timeouts

* Unskip block gas limit tests

* Remove `opt-level = 0` from Cargo.toml

* Unskip

* Test contract factory (#351)

* added deployContractByName and  contractSources

* added getcompiled function

* increase timeout for testfilterapi

* change contract name and add sourcecode

* Fix fixture requirement

* update package and json

Co-authored-by: Crystalin <alan@purestake.com>

* Gorka remove intra test dependencies (#355)

* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

* Allow for non-finalization and ParentHash specification in createAndFinalizeBlock

* Make test-block tests non-dependent by using non-finalized chains

* Separate tests to make them non-dependent and parametrize tx hashes and nonces in test-txpool

* it instead of step in test-version

* setup providers before tests in test-ethers.ts

* Create a block before tests to avoid one depend on the other in test-nonce

* it for step in test-receipt

* import constants for test-staking

* Attemp at parametrizing test-filter-api tests

* attemp at parametrizing test-revert-receipt

* remove mocha-steps from tests

* make test-subscription tests non-dependent

* comply with prettier

* Add support for retrieving the hash of the generated block

* Make test-trace-filter tests non-dependent

* balance-tests non-dependent

* Non-dependent tests for test-polkadot-api

* Add test-fork-chain tests

* remove unnecesary timeouts

* Use context provider for test-ether.ts

* Remove currentId from test-filter-api since we are uninstalling all filters from test to test

* Join balance test setups and check balance at each block

* Rename variables to camelCase in tests

* small introduced bug in test-pool-pending when camelCasing variables

* Use a different account for test-revert-receipt deployment contract to avoid non-determinism of the nonce

* shorten line because of editconfig

* Separate test-subscription and test-subscription-past-events.ts

* remove single letter variable in test-filter-api

* Small cosmetic changes

* revert changes in package.json

* Remove beforeEach and substitute it for common function

* change var for let or const

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: Crystalin <alan@purestake.com>

* Crystalin remove solc (#362)

* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

* Allow for non-finalization and ParentHash specification in createAndFinalizeBlock

* Make test-block tests non-dependent by using non-finalized chains

* Separate tests to make them non-dependent and parametrize tx hashes and nonces in test-txpool

* it instead of step in test-version

* setup providers before tests in test-ethers.ts

* Create a block before tests to avoid one depend on the other in test-nonce

* it for step in test-receipt

* import constants for test-staking

* Attemp at parametrizing test-filter-api tests

* attemp at parametrizing test-revert-receipt

* remove mocha-steps from tests

* make test-subscription tests non-dependent

* comply with prettier

* Add support for retrieving the hash of the generated block

* Make test-trace-filter tests non-dependent

* balance-tests non-dependent

* Non-dependent tests for test-polkadot-api

* Add test-fork-chain tests

* remove unnecesary timeouts

* Use context provider for test-ether.ts

* Remove currentId from test-filter-api since we are uninstalling all filters from test to test

* Join balance test setups and check balance at each block

* Rename variables to camelCase in tests

* small introduced bug in test-pool-pending when camelCasing variables

* Use a different account for test-revert-receipt deployment contract to avoid non-determinism of the nonce

* shorten line because of editconfig

* Separate test-subscription and test-subscription-past-events.ts

* remove single letter variable in test-filter-api

* Small cosmetic changes

* revert changes in package.json

* Remove beforeEach and substitute it for common function

* change var for let or const

* Removes solc from tests

* Fixes path for contract tests

* Adds formatting for compiled contracts

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: Gorka Irazoqui <gorka.irazoki@gmail.com>

* Typescript test refactoring (#364)

* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

* Allow for non-finalization and ParentHash specification in createAndFinalizeBlock

* Make test-block tests non-dependent by using non-finalized chains

* Separate tests to make them non-dependent and parametrize tx hashes and nonces in test-txpool

* it instead of step in test-version

* setup providers before tests in test-ethers.ts

* Create a block before tests to avoid one depend on the other in test-nonce

* it for step in test-receipt

* import constants for test-staking

* Attemp at parametrizing test-filter-api tests

* attemp at parametrizing test-revert-receipt

* remove mocha-steps from tests

* make test-subscription tests non-dependent

* comply with prettier

* Add support for retrieving the hash of the generated block

* Make test-trace-filter tests non-dependent

* balance-tests non-dependent

* Non-dependent tests for test-polkadot-api

* Add test-fork-chain tests

* remove unnecesary timeouts

* Use context provider for test-ether.ts

* Remove currentId from test-filter-api since we are uninstalling all filters from test to test

* Join balance test setups and check balance at each block

* Rename variables to camelCase in tests

* small introduced bug in test-pool-pending when camelCasing variables

* Use a different account for test-revert-receipt deployment contract to avoid non-determinism of the nonce

* shorten line because of editconfig

* Separate test-subscription and test-subscription-past-events.ts

* remove single letter variable in test-filter-api

* Small cosmetic changes

* revert changes in package.json

* Remove beforeEach and substitute it for common function

* change var for let or const

* Removes solc from tests

* Fixes path for contract tests

* Adds formatting for compiled contracts

* Refactor tests

* Fix formatting

* Limit concurrency to half cpus for ts tests

* Fixes github action typo

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: Gorka Irazoqui <gorka.irazoki@gmail.com>

* Antoine update testweek readme typos (#369)

* added instructions to readme

* update package lock

* Add missing contracts to definition (#368)

* Add Callee, Caller, Incrementer

* Update test-trace

* Remove unused

* Move blockscout tracer to util/tracer

* Test for txpool multiple transactions (#367)

* Improve pending pool test

* Rephrase comment

* Better naming for txpool tests

* Split txpool multiple test for more independance

* Fixes few test expectations

* Adds test for future transaction

* Rename eth pool correctly

* Fixes node listeners

Co-authored-by: tgmichel <telmo@purestake.com>

* Fixes typo in variable name

* Added test for block gas in smart contract (#370)

* VSCode debugger (support for TS tests) (#348)

Add a VSCode debugger config with CodeLLDB.
TS tests can be debugged by first starting the node in the debugger, then launching DEBUG_MODE=true npm run test-single in the test folder (modify package.json to change the test file).

* Adds test for filter trace pagination (#373)

* Fixes trace filter test

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: Antoine Estienne <estienne.antoine@gmail.com>
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: tgmichel <telmo@purestake.com>
Co-authored-by: girazoki <gorka.irazoki@gmail.com>
Co-authored-by: nanocryk <6422796+nanocryk@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A0-pleasereview Pull request needs code review. B0-silent Changes should not be mentioned in any release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants