tools/txgen/run.mjs funds generated wallets from the devnet dev-fee key and sends transfers at a steady rate through one node (nonce tracking from the pool's pending nonce, two-strike drop verdict, pool back-pressure counted as deferred, spend cap, clean stop, summary JSON); tools/txgen/proving-watch.mjs watches the proving layer and builds the per-block report. Two runs through the Mac node: 2,275 sent at 2/s, 2,161 included at 1.86/s (run 1), 1,650 sent, 1,633 included at 1.71/s with no failure (run 2, fixed code). Block 72704 shard 0 (29 transfers, 5,800 pgas) proven on PC 2 in 34 s, verified on the Mac in 0.297 s, paid 1.7623 IGN. Block 72803 (seven skipped copies, no executed transaction) failed the native-execution veto: the exporter rebuilt the including blocks from an export that names no block, position or skipped copy's miner, sorting skipped copies out of their block, merging consecutive blocks of one miner, dropping empty blocks (the node counts them in the link's block index) and guessing the zero address. blocks_of now rebuilds from the 0.3.9 export's "blocks", "block" and "position" fields (the fork change on vendor/igneum-node-txgen branch txgen-export), keeps an old export in its order and refuses a skipped-only block without a miner. Fixtures block-72803-skipped-copies and block-72854-empty-block-first with the node's shard plan beside each; the fixture test now checks the cut's links, roots, gas, pgas and counts against the node's plan (shown failing on the old 72854 cut). No change under core/. Bench-log entry and evidence rows 15 and 21. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
219 lines
6.8 KiB
JSON
219 lines
6.8 KiB
JSON
{
|
|
"name": "igneum-txgen",
|
|
"version": "0.1.0",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "igneum-txgen",
|
|
"version": "0.1.0",
|
|
"dependencies": {
|
|
"viem": "^2.21.0"
|
|
}
|
|
},
|
|
"node_modules/@adraffy/ens-normalize": {
|
|
"version": "1.11.1",
|
|
"resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz",
|
|
"integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==",
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/@noble/ciphers": {
|
|
"version": "1.3.0",
|
|
"resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz",
|
|
"integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": "^14.21.3 || >=16"
|
|
},
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/@noble/curves": {
|
|
"version": "1.9.1",
|
|
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz",
|
|
"integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@noble/hashes": "1.8.0"
|
|
},
|
|
"engines": {
|
|
"node": "^14.21.3 || >=16"
|
|
},
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/@noble/hashes": {
|
|
"version": "1.8.0",
|
|
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
|
|
"integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": "^14.21.3 || >=16"
|
|
},
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/@scure/base": {
|
|
"version": "1.2.6",
|
|
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz",
|
|
"integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==",
|
|
"license": "MIT",
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/@scure/bip32": {
|
|
"version": "1.7.0",
|
|
"resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz",
|
|
"integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@noble/curves": "~1.9.0",
|
|
"@noble/hashes": "~1.8.0",
|
|
"@scure/base": "~1.2.5"
|
|
},
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/@scure/bip39": {
|
|
"version": "1.6.0",
|
|
"resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz",
|
|
"integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@noble/hashes": "~1.8.0",
|
|
"@scure/base": "~1.2.5"
|
|
},
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/abitype": {
|
|
"version": "1.2.3",
|
|
"resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.3.tgz",
|
|
"integrity": "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==",
|
|
"license": "MIT",
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/wevm"
|
|
},
|
|
"peerDependencies": {
|
|
"typescript": ">=5.0.4",
|
|
"zod": "^3.22.0 || ^4.0.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"typescript": {
|
|
"optional": true
|
|
},
|
|
"zod": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/eventemitter3": {
|
|
"version": "5.0.1",
|
|
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
|
|
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/isows": {
|
|
"version": "1.0.7",
|
|
"resolved": "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz",
|
|
"integrity": "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==",
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/wevm"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"peerDependencies": {
|
|
"ws": "*"
|
|
}
|
|
},
|
|
"node_modules/ox": {
|
|
"version": "0.14.45",
|
|
"resolved": "https://registry.npmjs.org/ox/-/ox-0.14.45.tgz",
|
|
"integrity": "sha512-jpsQ+p0JZh9mKCxxzxz0d5qFHZZg2/O9xW18IpEC/dNXXPVqmDJ0c//9RMz0CILkbSGPA42+cbU0fC/ghwJ03w==",
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/wevm"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@adraffy/ens-normalize": "^1.11.0",
|
|
"@noble/ciphers": "^1.3.0",
|
|
"@noble/curves": "1.9.1",
|
|
"@noble/hashes": "^1.8.0",
|
|
"@scure/bip32": "^1.7.0",
|
|
"@scure/bip39": "^1.6.0",
|
|
"abitype": "^1.2.3",
|
|
"eventemitter3": "5.0.1"
|
|
},
|
|
"peerDependencies": {
|
|
"typescript": ">=5.4.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"typescript": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/viem": {
|
|
"version": "2.57.2",
|
|
"resolved": "https://registry.npmjs.org/viem/-/viem-2.57.2.tgz",
|
|
"integrity": "sha512-ZbPvu+5fvRsbFh+OymDz0GyEySsSco8GWrEAiHM4ckhEY1vJTPy0tcLVkn0cs70dPiUOjLxkQBnfVyt9YkJ7cA==",
|
|
"funding": [
|
|
{
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/wevm"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@noble/curves": "1.9.1",
|
|
"@noble/hashes": "1.8.0",
|
|
"@scure/bip32": "1.7.0",
|
|
"@scure/bip39": "1.6.0",
|
|
"abitype": "1.2.3",
|
|
"isows": "1.0.7",
|
|
"ox": "0.14.45",
|
|
"ws": "8.21.0"
|
|
},
|
|
"peerDependencies": {
|
|
"typescript": ">=5.0.4"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"typescript": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/ws": {
|
|
"version": "8.21.0",
|
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
|
|
"integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=10.0.0"
|
|
},
|
|
"peerDependencies": {
|
|
"bufferutil": "^4.0.1",
|
|
"utf-8-validate": ">=5.0.2"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"bufferutil": {
|
|
"optional": true
|
|
},
|
|
"utf-8-validate": {
|
|
"optional": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|