Skip to content

Commit

Permalink
feat: support "input" param for verifiable tx (#6019)
Browse files Browse the repository at this point in the history
Using contract calls in web3js, the transaction data can either be filled in the "data" parameter or "input" parameter, default is "input"

The current verified execution provider supports only "data" parameter, so code like this

const contract = new web3.eth.Contract(balanceOfABI, tokenContract)
let result = await contract.methods.balanceOf(tokenHolder).call();

doesn't work
  • Loading branch information
rdvorkin authored Oct 11, 2023
1 parent e42d6cc commit 1aa6561
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions packages/prover/src/utils/evm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ export async function executeVMCall({
executionPayload: allForks.ExecutionPayload;
network: NetworkName;
}): Promise<RunTxResult["execResult"]> {
const {from, to, gas, gasPrice, maxPriorityFeePerGas, value, data} = tx;
const {from, to, gas, gasPrice, maxPriorityFeePerGas, value, data, input} = tx;
const {result: block} = await rpc.request("eth_getBlockByHash", [bufferToHex(executionPayload.blockHash), true], {
raiseError: true,
});
Expand All @@ -181,7 +181,7 @@ export async function executeVMCall({
gasLimit: hexToBigInt(gas ?? block.gasLimit),
gasPrice: hexToBigInt(gasPrice ?? maxPriorityFeePerGas ?? "0x0"),
value: hexToBigInt(value ?? "0x0"),
data: data ? hexToBuffer(data) : undefined,
data: input ? hexToBuffer(input) : data ? hexToBuffer(data) : undefined,
block: {
header: getVMBlockHeaderFromELBlock(block, executionPayload, network),
},
Expand Down

1 comment on commit 1aa6561

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 1aa6561 Previous: e42d6cc Ratio
forkChoice updateHead vc 600000 bc 64 eq 300000 63.321 ms/op 16.634 ms/op 3.81
Full benchmark results
Benchmark suite Current: 1aa6561 Previous: e42d6cc Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 714.36 us/op 613.16 us/op 1.17
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 88.192 us/op 78.688 us/op 1.12
BLS verify - blst-native 1.3477 ms/op 1.3250 ms/op 1.02
BLS verifyMultipleSignatures 3 - blst-native 2.8464 ms/op 2.7417 ms/op 1.04
BLS verifyMultipleSignatures 8 - blst-native 6.2056 ms/op 5.9721 ms/op 1.04
BLS verifyMultipleSignatures 32 - blst-native 23.126 ms/op 21.922 ms/op 1.05
BLS verifyMultipleSignatures 64 - blst-native 45.174 ms/op 44.023 ms/op 1.03
BLS verifyMultipleSignatures 128 - blst-native 89.280 ms/op 87.271 ms/op 1.02
BLS deserializing 10000 signatures 913.10 ms/op 891.55 ms/op 1.02
BLS deserializing 100000 signatures 9.3535 s/op 9.0046 s/op 1.04
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3807 ms/op 1.3663 ms/op 1.01
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5972 ms/op 1.5003 ms/op 1.06
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.7197 ms/op 2.2840 ms/op 1.19
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.5061 ms/op 3.8167 ms/op 1.18
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.8206 ms/op 6.3293 ms/op 1.08
BLS aggregatePubkeys 32 - blst-native 27.031 us/op 26.559 us/op 1.02
BLS aggregatePubkeys 128 - blst-native 104.21 us/op 101.82 us/op 1.02
getAttestationsForBlock 56.920 ms/op 35.352 ms/op 1.61
isKnown best case - 1 super set check 469.00 ns/op 296.00 ns/op 1.58
isKnown normal case - 2 super set checks 459.00 ns/op 279.00 ns/op 1.65
isKnown worse case - 16 super set checks 537.00 ns/op 264.00 ns/op 2.03
CheckpointStateCache - add get delete 6.3910 us/op 4.9660 us/op 1.29
validate api signedAggregateAndProof - struct 3.0603 ms/op 2.7628 ms/op 1.11
validate gossip signedAggregateAndProof - struct 2.9941 ms/op 2.7479 ms/op 1.09
validate gossip attestation - vc 640000 1.5056 ms/op 1.3703 ms/op 1.10
batch validate gossip attestation - vc 640000 - chunk 32 179.83 us/op 172.14 us/op 1.04
batch validate gossip attestation - vc 640000 - chunk 64 175.27 us/op 155.26 us/op 1.13
batch validate gossip attestation - vc 640000 - chunk 128 176.23 us/op 138.10 us/op 1.28
batch validate gossip attestation - vc 640000 - chunk 256 153.22 us/op 131.21 us/op 1.17
pickEth1Vote - no votes 1.4832 ms/op 1.1198 ms/op 1.32
pickEth1Vote - max votes 14.304 ms/op 10.558 ms/op 1.35
pickEth1Vote - Eth1Data hashTreeRoot value x2048 21.561 ms/op 16.915 ms/op 1.27
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 34.248 ms/op 24.829 ms/op 1.38
pickEth1Vote - Eth1Data fastSerialize value x2048 656.42 us/op 590.34 us/op 1.11
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.6833 ms/op 7.5688 ms/op 0.88
bytes32 toHexString 707.00 ns/op 464.00 ns/op 1.52
bytes32 Buffer.toString(hex) 321.00 ns/op 291.00 ns/op 1.10
bytes32 Buffer.toString(hex) from Uint8Array 578.00 ns/op 419.00 ns/op 1.38
bytes32 Buffer.toString(hex) + 0x 349.00 ns/op 287.00 ns/op 1.22
Object access 1 prop 0.20600 ns/op 0.16000 ns/op 1.29
Map access 1 prop 0.16600 ns/op 0.14800 ns/op 1.12
Object get x1000 8.8510 ns/op 7.2500 ns/op 1.22
Map get x1000 0.85800 ns/op 0.63000 ns/op 1.36
Object set x1000 80.276 ns/op 48.086 ns/op 1.67
Map set x1000 57.346 ns/op 40.247 ns/op 1.42
Return object 10000 times 0.34780 ns/op 0.24000 ns/op 1.45
Throw Error 10000 times 4.7681 us/op 3.8284 us/op 1.25
fastMsgIdFn sha256 / 200 bytes 3.9220 us/op 3.3050 us/op 1.19
fastMsgIdFn h32 xxhash / 200 bytes 355.00 ns/op 272.00 ns/op 1.31
fastMsgIdFn h64 xxhash / 200 bytes 396.00 ns/op 351.00 ns/op 1.13
fastMsgIdFn sha256 / 1000 bytes 12.690 us/op 11.450 us/op 1.11
fastMsgIdFn h32 xxhash / 1000 bytes 497.00 ns/op 431.00 ns/op 1.15
fastMsgIdFn h64 xxhash / 1000 bytes 472.00 ns/op 409.00 ns/op 1.15
fastMsgIdFn sha256 / 10000 bytes 114.88 us/op 103.90 us/op 1.11
fastMsgIdFn h32 xxhash / 10000 bytes 2.0720 us/op 1.9220 us/op 1.08
fastMsgIdFn h64 xxhash / 10000 bytes 1.4680 us/op 1.3220 us/op 1.11
send data - 1000 256B messages 24.115 ms/op 18.129 ms/op 1.33
send data - 1000 512B messages 34.112 ms/op 27.305 ms/op 1.25
send data - 1000 1024B messages 45.501 ms/op 40.649 ms/op 1.12
send data - 1000 1200B messages 34.828 ms/op 22.896 ms/op 1.52
send data - 1000 2048B messages 41.150 ms/op 35.461 ms/op 1.16
send data - 1000 4096B messages 34.417 ms/op 32.103 ms/op 1.07
send data - 1000 16384B messages 95.662 ms/op 78.320 ms/op 1.22
send data - 1000 65536B messages 500.19 ms/op 298.71 ms/op 1.67
enrSubnets - fastDeserialize 64 bits 1.7210 us/op 1.3930 us/op 1.24
enrSubnets - ssz BitVector 64 bits 568.00 ns/op 462.00 ns/op 1.23
enrSubnets - fastDeserialize 4 bits 239.00 ns/op 191.00 ns/op 1.25
enrSubnets - ssz BitVector 4 bits 584.00 ns/op 471.00 ns/op 1.24
prioritizePeers score -10:0 att 32-0.1 sync 2-0 128.25 us/op 108.51 us/op 1.18
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 183.02 us/op 131.74 us/op 1.39
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 253.99 us/op 177.07 us/op 1.43
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 401.58 us/op 310.72 us/op 1.29
prioritizePeers score 0:0 att 64-1 sync 4-1 454.68 us/op 352.12 us/op 1.29
array of 16000 items push then shift 1.7843 us/op 1.6420 us/op 1.09
LinkedList of 16000 items push then shift 12.945 ns/op 9.0950 ns/op 1.42
array of 16000 items push then pop 121.21 ns/op 93.220 ns/op 1.30
LinkedList of 16000 items push then pop 10.290 ns/op 8.8290 ns/op 1.17
array of 24000 items push then shift 2.7081 us/op 2.4455 us/op 1.11
LinkedList of 24000 items push then shift 11.959 ns/op 9.3150 ns/op 1.28
array of 24000 items push then pop 171.17 ns/op 124.66 ns/op 1.37
LinkedList of 24000 items push then pop 10.182 ns/op 8.7280 ns/op 1.17
intersect bitArray bitLen 8 7.1830 ns/op 6.8100 ns/op 1.05
intersect array and set length 8 65.670 ns/op 58.521 ns/op 1.12
intersect bitArray bitLen 128 34.785 ns/op 31.591 ns/op 1.10
intersect array and set length 128 938.38 ns/op 853.42 ns/op 1.10
bitArray.getTrueBitIndexes() bitLen 128 1.8060 us/op 1.5910 us/op 1.14
bitArray.getTrueBitIndexes() bitLen 248 3.0090 us/op 2.6230 us/op 1.15
bitArray.getTrueBitIndexes() bitLen 512 6.6920 us/op 5.2820 us/op 1.27
Buffer.concat 32 items 1.1040 us/op 1.0270 us/op 1.07
Uint8Array.set 32 items 2.1800 us/op 1.7670 us/op 1.23
Set add up to 64 items then delete first 4.9253 us/op 4.5369 us/op 1.09
OrderedSet add up to 64 items then delete first 6.3959 us/op 5.6603 us/op 1.13
Set add up to 64 items then delete last 5.6163 us/op 4.7946 us/op 1.17
OrderedSet add up to 64 items then delete last 7.5228 us/op 6.2834 us/op 1.20
Set add up to 64 items then delete middle 5.3409 us/op 4.8709 us/op 1.10
OrderedSet add up to 64 items then delete middle 8.3779 us/op 7.6247 us/op 1.10
Set add up to 128 items then delete first 10.697 us/op 9.6581 us/op 1.11
OrderedSet add up to 128 items then delete first 14.302 us/op 12.123 us/op 1.18
Set add up to 128 items then delete last 10.375 us/op 9.3421 us/op 1.11
OrderedSet add up to 128 items then delete last 13.961 us/op 12.364 us/op 1.13
Set add up to 128 items then delete middle 10.701 us/op 9.6154 us/op 1.11
OrderedSet add up to 128 items then delete middle 19.100 us/op 18.209 us/op 1.05
Set add up to 256 items then delete first 20.721 us/op 19.364 us/op 1.07
OrderedSet add up to 256 items then delete first 29.602 us/op 24.794 us/op 1.19
Set add up to 256 items then delete last 21.718 us/op 19.886 us/op 1.09
OrderedSet add up to 256 items then delete last 28.646 us/op 26.496 us/op 1.08
Set add up to 256 items then delete middle 21.535 us/op 19.614 us/op 1.10
OrderedSet add up to 256 items then delete middle 55.187 us/op 47.536 us/op 1.16
transfer serialized Status (84 B) 2.5480 us/op 1.9950 us/op 1.28
copy serialized Status (84 B) 2.1990 us/op 1.4690 us/op 1.50
transfer serialized SignedVoluntaryExit (112 B) 2.3210 us/op 1.8760 us/op 1.24
copy serialized SignedVoluntaryExit (112 B) 1.9930 us/op 1.4950 us/op 1.33
transfer serialized ProposerSlashing (416 B) 2.8900 us/op 2.1090 us/op 1.37
copy serialized ProposerSlashing (416 B) 2.9990 us/op 2.0760 us/op 1.44
transfer serialized Attestation (485 B) 2.9710 us/op 2.6040 us/op 1.14
copy serialized Attestation (485 B) 2.9590 us/op 2.3920 us/op 1.24
transfer serialized AttesterSlashing (33232 B) 2.8090 us/op 2.2220 us/op 1.26
copy serialized AttesterSlashing (33232 B) 11.071 us/op 6.1810 us/op 1.79
transfer serialized Small SignedBeaconBlock (128000 B) 4.0300 us/op 2.6610 us/op 1.51
copy serialized Small SignedBeaconBlock (128000 B) 43.183 us/op 15.012 us/op 2.88
transfer serialized Avg SignedBeaconBlock (200000 B) 4.8940 us/op 3.3190 us/op 1.47
copy serialized Avg SignedBeaconBlock (200000 B) 50.015 us/op 21.578 us/op 2.32
transfer serialized BlobsSidecar (524380 B) 6.4640 us/op 3.4850 us/op 1.85
copy serialized BlobsSidecar (524380 B) 196.66 us/op 85.246 us/op 2.31
transfer serialized Big SignedBeaconBlock (1000000 B) 9.3580 us/op 3.6160 us/op 2.59
copy serialized Big SignedBeaconBlock (1000000 B) 336.19 us/op 165.18 us/op 2.04
pass gossip attestations to forkchoice per slot 5.4530 ms/op 3.9251 ms/op 1.39
forkChoice updateHead vc 100000 bc 64 eq 0 710.91 us/op 711.83 us/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 0 8.1950 ms/op 5.5310 ms/op 1.48
forkChoice updateHead vc 1000000 bc 64 eq 0 9.2631 ms/op 7.4884 ms/op 1.24
forkChoice updateHead vc 600000 bc 320 eq 0 5.0442 ms/op 4.2685 ms/op 1.18
forkChoice updateHead vc 600000 bc 1200 eq 0 5.7430 ms/op 4.3515 ms/op 1.32
forkChoice updateHead vc 600000 bc 7200 eq 0 6.7940 ms/op 5.8767 ms/op 1.16
forkChoice updateHead vc 600000 bc 64 eq 1000 13.998 ms/op 11.412 ms/op 1.23
forkChoice updateHead vc 600000 bc 64 eq 10000 15.769 ms/op 12.187 ms/op 1.29
forkChoice updateHead vc 600000 bc 64 eq 300000 63.321 ms/op 16.634 ms/op 3.81
computeDeltas 500000 validators 300 proto nodes 7.7764 ms/op 6.2805 ms/op 1.24
computeDeltas 500000 validators 1200 proto nodes 7.4626 ms/op 6.0759 ms/op 1.23
computeDeltas 500000 validators 7200 proto nodes 7.0544 ms/op 6.1534 ms/op 1.15
computeDeltas 750000 validators 300 proto nodes 10.417 ms/op 9.0290 ms/op 1.15
computeDeltas 750000 validators 1200 proto nodes 10.575 ms/op 9.0532 ms/op 1.17
computeDeltas 750000 validators 7200 proto nodes 10.382 ms/op 8.9661 ms/op 1.16
computeDeltas 1400000 validators 300 proto nodes 19.317 ms/op 17.067 ms/op 1.13
computeDeltas 1400000 validators 1200 proto nodes 19.463 ms/op 17.304 ms/op 1.12
computeDeltas 1400000 validators 7200 proto nodes 19.085 ms/op 17.495 ms/op 1.09
computeDeltas 2100000 validators 300 proto nodes 28.160 ms/op 26.515 ms/op 1.06
computeDeltas 2100000 validators 1200 proto nodes 28.340 ms/op 26.675 ms/op 1.06
computeDeltas 2100000 validators 7200 proto nodes 32.182 ms/op 27.588 ms/op 1.17
computeProposerBoostScoreFromBalances 500000 validators 4.2463 ms/op 3.5337 ms/op 1.20
computeProposerBoostScoreFromBalances 750000 validators 4.0646 ms/op 3.6393 ms/op 1.12
computeProposerBoostScoreFromBalances 1400000 validators 4.0478 ms/op 3.4434 ms/op 1.18
computeProposerBoostScoreFromBalances 2100000 validators 4.1755 ms/op 3.3689 ms/op 1.24
altair processAttestation - 250000 vs - 7PWei normalcase 4.4791 ms/op 3.7827 ms/op 1.18
altair processAttestation - 250000 vs - 7PWei worstcase 5.8387 ms/op 4.2556 ms/op 1.37
altair processAttestation - setStatus - 1/6 committees join 280.88 us/op 206.83 us/op 1.36
altair processAttestation - setStatus - 1/3 committees join 471.42 us/op 416.73 us/op 1.13
altair processAttestation - setStatus - 1/2 committees join 627.59 us/op 509.01 us/op 1.23
altair processAttestation - setStatus - 2/3 committees join 729.25 us/op 627.89 us/op 1.16
altair processAttestation - setStatus - 4/5 committees join 1.0848 ms/op 844.72 us/op 1.28
altair processAttestation - setStatus - 100% committees join 1.3829 ms/op 963.95 us/op 1.43
altair processBlock - 250000 vs - 7PWei normalcase 13.623 ms/op 8.0442 ms/op 1.69
altair processBlock - 250000 vs - 7PWei normalcase hashState 45.015 ms/op 32.430 ms/op 1.39
altair processBlock - 250000 vs - 7PWei worstcase 53.893 ms/op 40.517 ms/op 1.33
altair processBlock - 250000 vs - 7PWei worstcase hashState 143.26 ms/op 97.698 ms/op 1.47
phase0 processBlock - 250000 vs - 7PWei normalcase 5.5778 ms/op 2.8636 ms/op 1.95
phase0 processBlock - 250000 vs - 7PWei worstcase 43.929 ms/op 32.172 ms/op 1.37
altair processEth1Data - 250000 vs - 7PWei normalcase 784.86 us/op 542.34 us/op 1.45
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 30.016 us/op 16.440 us/op 1.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 118.90 us/op 62.142 us/op 1.91
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 32.712 us/op 24.908 us/op 1.31
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 33.810 us/op 16.812 us/op 2.01
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 264.34 us/op 171.30 us/op 1.54
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.3591 ms/op 1.3713 ms/op 1.72
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.6897 ms/op 1.6848 ms/op 1.60
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.6884 ms/op 1.8921 ms/op 1.42
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 7.0213 ms/op 3.8520 ms/op 1.82
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.5215 ms/op 3.0810 ms/op 1.14
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 8.2806 ms/op 5.4891 ms/op 1.51
Tree 40 250000 create 571.47 ms/op 312.53 ms/op 1.83
Tree 40 250000 get(125000) 253.12 ns/op 200.00 ns/op 1.27
Tree 40 250000 set(125000) 2.6365 us/op 873.83 ns/op 3.02
Tree 40 250000 toArray() 39.932 ms/op 18.889 ms/op 2.11
Tree 40 250000 iterate all - toArray() + loop 36.043 ms/op 19.169 ms/op 1.88
Tree 40 250000 iterate all - get(i) 93.942 ms/op 68.840 ms/op 1.36
MutableVector 250000 create 18.903 ms/op 11.604 ms/op 1.63
MutableVector 250000 get(125000) 8.3910 ns/op 6.6590 ns/op 1.26
MutableVector 250000 set(125000) 674.67 ns/op 275.51 ns/op 2.45
MutableVector 250000 toArray() 5.6759 ms/op 3.7837 ms/op 1.50
MutableVector 250000 iterate all - toArray() + loop 5.3933 ms/op 3.7903 ms/op 1.42
MutableVector 250000 iterate all - get(i) 1.7909 ms/op 1.5538 ms/op 1.15
Array 250000 create 5.8248 ms/op 3.3339 ms/op 1.75
Array 250000 clone - spread 1.4296 ms/op 1.1933 ms/op 1.20
Array 250000 get(125000) 0.83400 ns/op 0.60000 ns/op 1.39
Array 250000 set(125000) 1.2470 ns/op 0.67200 ns/op 1.86
Array 250000 iterate all - loop 89.878 us/op 84.546 us/op 1.06
effectiveBalanceIncrements clone Uint8Array 300000 91.443 us/op 29.303 us/op 3.12
effectiveBalanceIncrements clone MutableVector 300000 349.00 ns/op 350.00 ns/op 1.00
effectiveBalanceIncrements rw all Uint8Array 300000 202.06 us/op 178.38 us/op 1.13
effectiveBalanceIncrements rw all MutableVector 300000 185.35 ms/op 85.936 ms/op 2.16
phase0 afterProcessEpoch - 250000 vs - 7PWei 126.82 ms/op 115.21 ms/op 1.10
phase0 beforeProcessEpoch - 250000 vs - 7PWei 69.973 ms/op 38.560 ms/op 1.81
altair processEpoch - mainnet_e81889 536.05 ms/op 474.31 ms/op 1.13
mainnet_e81889 - altair beforeProcessEpoch 81.447 ms/op 60.910 ms/op 1.34
mainnet_e81889 - altair processJustificationAndFinalization 30.166 us/op 14.464 us/op 2.09
mainnet_e81889 - altair processInactivityUpdates 10.650 ms/op 7.7177 ms/op 1.38
mainnet_e81889 - altair processRewardsAndPenalties 88.119 ms/op 63.569 ms/op 1.39
mainnet_e81889 - altair processRegistryUpdates 5.2090 us/op 3.6830 us/op 1.41
mainnet_e81889 - altair processSlashings 1.3710 us/op 668.00 ns/op 2.05
mainnet_e81889 - altair processEth1DataReset 1.1870 us/op 489.00 ns/op 2.43
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3170 ms/op 1.3416 ms/op 0.98
mainnet_e81889 - altair processSlashingsReset 5.1340 us/op 4.0310 us/op 1.27
mainnet_e81889 - altair processRandaoMixesReset 8.7760 us/op 6.7600 us/op 1.30
mainnet_e81889 - altair processHistoricalRootsUpdate 710.00 ns/op 922.00 ns/op 0.77
mainnet_e81889 - altair processParticipationFlagUpdates 3.6310 us/op 2.2140 us/op 1.64
mainnet_e81889 - altair processSyncCommitteeUpdates 876.00 ns/op 839.00 ns/op 1.04
mainnet_e81889 - altair afterProcessEpoch 131.16 ms/op 127.44 ms/op 1.03
capella processEpoch - mainnet_e217614 1.8423 s/op 1.6604 s/op 1.11
mainnet_e217614 - capella beforeProcessEpoch 314.52 ms/op 279.94 ms/op 1.12
mainnet_e217614 - capella processJustificationAndFinalization 25.122 us/op 25.437 us/op 0.99
mainnet_e217614 - capella processInactivityUpdates 25.520 ms/op 24.015 ms/op 1.06
mainnet_e217614 - capella processRewardsAndPenalties 335.12 ms/op 307.68 ms/op 1.09
mainnet_e217614 - capella processRegistryUpdates 34.203 us/op 31.228 us/op 1.10
mainnet_e217614 - capella processSlashings 1.4200 us/op 1.2950 us/op 1.10
mainnet_e217614 - capella processEth1DataReset 1.5190 us/op 571.00 ns/op 2.66
mainnet_e217614 - capella processEffectiveBalanceUpdates 8.0649 ms/op 4.2755 ms/op 1.89
mainnet_e217614 - capella processSlashingsReset 7.6600 us/op 3.0710 us/op 2.49
mainnet_e217614 - capella processRandaoMixesReset 9.9600 us/op 5.2210 us/op 1.91
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0310 us/op 830.00 ns/op 1.24
mainnet_e217614 - capella processParticipationFlagUpdates 4.5300 us/op 2.1720 us/op 2.09
mainnet_e217614 - capella afterProcessEpoch 327.21 ms/op 306.99 ms/op 1.07
phase0 processEpoch - mainnet_e58758 546.03 ms/op 441.46 ms/op 1.24
mainnet_e58758 - phase0 beforeProcessEpoch 186.78 ms/op 119.59 ms/op 1.56
mainnet_e58758 - phase0 processJustificationAndFinalization 25.948 us/op 17.789 us/op 1.46
mainnet_e58758 - phase0 processRewardsAndPenalties 61.931 ms/op 56.563 ms/op 1.09
mainnet_e58758 - phase0 processRegistryUpdates 18.204 us/op 16.308 us/op 1.12
mainnet_e58758 - phase0 processSlashings 1.1160 us/op 935.00 ns/op 1.19
mainnet_e58758 - phase0 processEth1DataReset 1.2460 us/op 1.0390 us/op 1.20
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 3.8441 ms/op 1.4707 ms/op 2.61
mainnet_e58758 - phase0 processSlashingsReset 4.1600 us/op 3.9900 us/op 1.04
mainnet_e58758 - phase0 processRandaoMixesReset 7.1030 us/op 6.4770 us/op 1.10
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.5110 us/op 963.00 ns/op 1.57
mainnet_e58758 - phase0 processParticipationRecordUpdates 14.612 us/op 7.6180 us/op 1.92
mainnet_e58758 - phase0 afterProcessEpoch 117.37 ms/op 114.15 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.5391 ms/op 1.9129 ms/op 1.33
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5595 ms/op 2.2218 ms/op 0.70
altair processInactivityUpdates - 250000 normalcase 32.271 ms/op 25.951 ms/op 1.24
altair processInactivityUpdates - 250000 worstcase 30.210 ms/op 23.614 ms/op 1.28
phase0 processRegistryUpdates - 250000 normalcase 15.405 us/op 13.750 us/op 1.12
phase0 processRegistryUpdates - 250000 badcase_full_deposits 405.34 us/op 466.54 us/op 0.87
phase0 processRegistryUpdates - 250000 worstcase 0.5 158.14 ms/op 168.55 ms/op 0.94
altair processRewardsAndPenalties - 250000 normalcase 72.373 ms/op 51.586 ms/op 1.40
altair processRewardsAndPenalties - 250000 worstcase 76.935 ms/op 59.632 ms/op 1.29
phase0 getAttestationDeltas - 250000 normalcase 11.734 ms/op 10.989 ms/op 1.07
phase0 getAttestationDeltas - 250000 worstcase 13.231 ms/op 10.406 ms/op 1.27
phase0 processSlashings - 250000 worstcase 3.3191 ms/op 2.7342 ms/op 1.21
altair processSyncCommitteeUpdates - 250000 173.69 ms/op 168.46 ms/op 1.03
BeaconState.hashTreeRoot - No change 448.00 ns/op 428.00 ns/op 1.05
BeaconState.hashTreeRoot - 1 full validator 180.95 us/op 136.18 us/op 1.33
BeaconState.hashTreeRoot - 32 full validator 2.1819 ms/op 1.5366 ms/op 1.42
BeaconState.hashTreeRoot - 512 full validator 22.483 ms/op 22.521 ms/op 1.00
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 189.96 us/op 234.69 us/op 0.81
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.6305 ms/op 2.7684 ms/op 0.95
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 36.150 ms/op 28.685 ms/op 1.26
BeaconState.hashTreeRoot - 1 balances 145.15 us/op 141.32 us/op 1.03
BeaconState.hashTreeRoot - 32 balances 1.3299 ms/op 1.4779 ms/op 0.90
BeaconState.hashTreeRoot - 512 balances 14.497 ms/op 14.483 ms/op 1.00
BeaconState.hashTreeRoot - 250000 balances 246.58 ms/op 217.14 ms/op 1.14
aggregationBits - 2048 els - zipIndexesInBitList 22.680 us/op 26.518 us/op 0.86
regular array get 100000 times 46.653 us/op 46.118 us/op 1.01
wrappedArray get 100000 times 34.334 us/op 43.562 us/op 0.79
arrayWithProxy get 100000 times 15.777 ms/op 14.496 ms/op 1.09
ssz.Root.equals 276.00 ns/op 263.00 ns/op 1.05
byteArrayEquals 250.00 ns/op 293.00 ns/op 0.85
shuffle list - 16384 els 7.3162 ms/op 7.2557 ms/op 1.01
shuffle list - 250000 els 104.38 ms/op 108.64 ms/op 0.96
processSlot - 1 slots 17.462 us/op 22.691 us/op 0.77
processSlot - 32 slots 4.1741 ms/op 4.3172 ms/op 0.97
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 59.783 ms/op 51.682 ms/op 1.16
getCommitteeAssignments - req 1 vs - 250000 vc 2.6488 ms/op 2.5239 ms/op 1.05
getCommitteeAssignments - req 100 vs - 250000 vc 4.1590 ms/op 3.7714 ms/op 1.10
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6536 ms/op 4.1565 ms/op 1.12
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.2500 ns/op 5.8200 ns/op 1.07
state getBlockRootAtSlot - 250000 vs - 7PWei 684.02 ns/op 639.97 ns/op 1.07
computeProposers - vc 250000 9.9774 ms/op 9.3824 ms/op 1.06
computeEpochShuffling - vc 250000 108.94 ms/op 109.84 ms/op 0.99
getNextSyncCommittee - vc 250000 172.79 ms/op 163.26 ms/op 1.06
computeSigningRoot for AttestationData 30.558 us/op 34.873 us/op 0.88
hash AttestationData serialized data then Buffer.toString(base64) 2.4419 us/op 2.4478 us/op 1.00
toHexString serialized data 1.4676 us/op 1.4475 us/op 1.01
Buffer.toString(base64) 307.97 ns/op 279.20 ns/op 1.10

Please sign in to comment.