Skip to content

Commit ae577a0

Browse files
add gas report & snapshop files (#391)
* add gas report & snapshop files * add comparison to snapshot command * rename account factory callbacks * gas setup --------- Co-authored-by: Krishang <[email protected]>
1 parent dec9b24 commit ae577a0

28 files changed

+4203
-1192
lines changed

.gas-snapshot

Lines changed: 1007 additions & 0 deletions
Large diffs are not rendered by default.

foundry.toml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,24 @@ solc-version = "0.8.12"
44
cache = true
55
evm_version = 'london'
66
force = false
7-
gas_reports = ["Multiwrap", "SignatureDrop"]
7+
gas_reports = [
8+
"DropERC721Benchmark",
9+
"DropERC20Benchmark",
10+
"DropERC1155Benchmark",
11+
"TokenERC20Benchmark",
12+
"TokenERC721Benchmark",
13+
"TokenERC1155Benchmark",
14+
"MultiwrapBenchmark",
15+
"SignatureDropBenchmark",
16+
"AirdropERC20Benchmark",
17+
"AirdropERC721Benchmark",
18+
"AirdropERC1155Benchmark",
19+
"NFTStakeBenchmark",
20+
"EditionStakeBenchmark",
21+
"TokenStakeBenchmark",
22+
"PackBenchmark",
23+
"PackVRFDirectBenchmark",
24+
]
825
libraries = []
926
libs = ['lib']
1027
optimizer = true

gasreport.txt

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
No files changed, compilation skipped
2+
3+
Running 3 tests for src/test/benchmark/PackBenchmark.t.sol:PackBenchmarkTest
4+
[PASS] test_benchmark_pack_addPackContents() (gas: 219449)
5+
[PASS] test_benchmark_pack_createPack() (gas: 1416237)
6+
[PASS] test_benchmark_pack_openPack() (gas: 170280)
7+
Test result: ok. 3 passed; 0 failed; finished in 442.21ms
8+
9+
Running 8 tests for src/test/benchmark/SignatureDropBenchmark.t.sol:SignatureDropBenchmarkTest
10+
[PASS] test_bechmark_signatureDrop_claim_five_tokens() (gas: 141553)
11+
[PASS] test_bechmark_signatureDrop_claim_one_token() (gas: 133620)
12+
[PASS] test_bechmark_signatureDrop_claim_three_tokens() (gas: 137213)
13+
[PASS] test_bechmark_signatureDrop_claim_two_tokens() (gas: 135636)
14+
[PASS] test_bechmark_signatureDrop_setClaimConditions() (gas: 73798)
15+
[PASS] test_benchmark_signatureDrop_lazyMint() (gas: 124617)
16+
[PASS] test_benchmark_signatureDrop_lazyMint_for_delayed_reveal() (gas: 226206)
17+
[PASS] test_benchmark_signatureDrop_reveal() (gas: 9223372036854754743)
18+
Test result: ok. 8 passed; 0 failed; finished in 443.08ms
19+
20+
Running 2 tests for src/test/benchmark/MultiwrapBenchmark.t.sol:MultiwrapBenchmarkTest
21+
[PASS] test_benchmark_multiwrap_unwrap() (gas: 92404)
22+
[PASS] test_benchmark_multiwrap_wrap() (gas: 475314)
23+
Test result: ok. 2 passed; 0 failed; finished in 443.87ms
24+
25+
Running 3 tests for src/test/benchmark/EditionStakeBenchmark.t.sol:EditionStakeBenchmarkTest
26+
[PASS] test_benchmark_editionStake_claimRewards() (gas: 67244)
27+
[PASS] test_benchmark_editionStake_stake() (gas: 214286)
28+
[PASS] test_benchmark_editionStake_withdraw() (gas: 49459)
29+
Test result: ok. 3 passed; 0 failed; finished in 455.67ms
30+
31+
Running 3 tests for src/test/benchmark/AirdropERC20Benchmark.t.sol:AirdropERC20BenchmarkTest
32+
[PASS] test_benchmark_airdropERC20_addRecipients() (gas: 98239006)
33+
[PASS] test_benchmark_airdropERC20_cancelPendingPayments() (gas: 287860)
34+
[PASS] test_benchmark_airdropERC20_processPayments() (gas: 30115442)
35+
Test result: ok. 3 passed; 0 failed; finished in 572.70ms
36+
37+
Running 3 tests for src/test/benchmark/AirdropERC721Benchmark.t.sol:AirdropERC721BenchmarkTest
38+
[PASS] test_benchmark_airdropERC721_addRecipients() (gas: 97958928)
39+
[PASS] test_benchmark_airdropERC721_cancelPendingPayments() (gas: 73211)
40+
[PASS] test_benchmark_airdropERC721_processPayments() (gas: 41792697)
41+
Test result: ok. 3 passed; 0 failed; finished in 599.97ms
42+
43+
Running 3 tests for src/test/benchmark/AirdropERC1155Benchmark.t.sol:AirdropERC1155BenchmarkTest
44+
[PASS] test_benchmark_airdropERC1155_addRecipients() (gas: 118284893)
45+
[PASS] test_benchmark_airdropERC1155_cancelPendingPayments() (gas: 73190)
46+
[PASS] test_benchmark_airdropERC1155_processPayments() (gas: 33916708)
47+
Test result: ok. 3 passed; 0 failed; finished in 614.45ms
48+
49+
Running 4 tests for src/test/benchmark/TokenERC1155Benchmark.t.sol:TokenERC1155BenchmarkTest
50+
[PASS] test_benchmark_tokenERC1155_burn() (gas: 5745)
51+
[PASS] test_benchmark_tokenERC1155_mintTo() (gas: 121028)
52+
[PASS] test_benchmark_tokenERC1155_mintWithSignature_pay_with_ERC20() (gas: 263757)
53+
[PASS] test_benchmark_tokenERC1155_mintWithSignature_pay_with_native_token() (gas: 292255)
54+
Test result: ok. 4 passed; 0 failed; finished in 415.16ms
55+
56+
Running 3 tests for src/test/benchmark/PackVRFDirectBenchmark.t.sol:PackVRFDirectBenchmarkTest
57+
[PASS] test_benchmark_packvrf_createPack() (gas: 1391866)
58+
[PASS] test_benchmark_packvrf_openPack() (gas: 120005)
59+
[PASS] test_benchmark_packvrf_openPackAdnClaimRewards() (gas: 140042)
60+
Test result: ok. 3 passed; 0 failed; finished in 405.09ms
61+
62+
Running 3 tests for src/test/benchmark/TokenStakeBenchmark.t.sol:TokenStakeBenchmarkTest
63+
[PASS] test_benchmark_tokenStake_claimRewards() (gas: 73698)
64+
[PASS] test_benchmark_tokenStake_stake() (gas: 181784)
65+
[PASS] test_benchmark_tokenStake_withdraw() (gas: 55542)
66+
Test result: ok. 3 passed; 0 failed; finished in 406.60ms
67+
68+
Running 6 tests for src/test/benchmark/NFTStakeBenchmark.t.sol:NFTStakeBenchmarkTest
69+
[PASS] test_benchmark_nftStake_claimRewards() (gas: 66505)
70+
[PASS] test_benchmark_nftStake_stake_five_tokens() (gas: 617493)
71+
[PASS] test_benchmark_nftStake_stake_one_token() (gas: 260809)
72+
[PASS] test_benchmark_nftStake_stake_three_tokens() (gas: 441624)
73+
[PASS] test_benchmark_nftStake_stake_two_tokens() (gas: 351106)
74+
[PASS] test_benchmark_nftStake_withdraw() (gas: 9223372036854754743)
75+
Test result: ok. 6 passed; 0 failed; finished in 420.80ms
76+
77+
Running 4 tests for src/test/benchmark/TokenERC721Benchmark.t.sol:TokenERC721BenchmarkTest
78+
[PASS] test_benchmark_tokenERC721_burn() (gas: 10411)
79+
[PASS] test_benchmark_tokenERC721_mintTo() (gas: 149977)
80+
[PASS] test_benchmark_tokenERC721_mintWithSignature_pay_with_ERC20() (gas: 259382)
81+
[PASS] test_benchmark_tokenERC721_mintWithSignature_pay_with_native_token() (gas: 283724)
82+
Test result: ok. 4 passed; 0 failed; finished in 482.78ms
83+
84+
Running 3 tests for src/test/benchmark/TokenERC20Benchmark.t.sol:TokenERC20BenchmarkTest
85+
[PASS] test_benchmark_tokenERC20_mintTo() (gas: 118533)
86+
[PASS] test_benchmark_tokenERC20_mintWithSignature_pay_with_ERC20() (gas: 181738)
87+
[PASS] test_benchmark_tokenERC20_mintWithSignature_pay_with_native_token() (gas: 206150)
88+
Test result: ok. 3 passed; 0 failed; finished in 464.91ms
89+
90+
Running 6 tests for src/test/benchmark/DropERC1155Benchmark.t.sol:DropERC1155BenchmarkTest
91+
[PASS] test_bechmark_dropERC1155_claim() (gas: 186690)
92+
[PASS] test_bechmark_dropERC1155_setClaimConditions_five_conditions() (gas: 492333)
93+
[PASS] test_bechmark_dropERC1155_setClaimConditions_one_condition() (gas: 157661)
94+
[PASS] test_bechmark_dropERC1155_setClaimConditions_three_conditions() (gas: 324838)
95+
[PASS] test_bechmark_dropERC1155_setClaimConditions_two_conditions() (gas: 241249)
96+
[PASS] test_benchmark_dropERC1155_lazyMint() (gas: 123873)
97+
Test result: ok. 6 passed; 0 failed; finished in 2.27s
98+
99+
Running 5 tests for src/test/benchmark/DropERC20Benchmark.t.sol:DropERC20BenchmarkTest
100+
[PASS] test_bechmark_dropERC20_claim_one_token() (gas: 230485)
101+
[PASS] test_bechmark_dropERC20_setClaimConditions_five_conditions() (gas: 501025)
102+
[PASS] test_bechmark_dropERC20_setClaimConditions_one_condition() (gas: 166669)
103+
[PASS] test_bechmark_dropERC20_setClaimConditions_three_conditions() (gas: 333810)
104+
[PASS] test_bechmark_dropERC20_setClaimConditions_two_conditions() (gas: 250239)
105+
Test result: ok. 5 passed; 0 failed; finished in 2.34s
106+
107+
Running 11 tests for src/test/benchmark/DropERC721Benchmark.t.sol:DropERC721BenchmarkTest
108+
[PASS] test_bechmark_dropERC721_claim_five_tokens() (gas: 212062)
109+
[PASS] test_bechmark_dropERC721_claim_one_token() (gas: 173741)
110+
[PASS] test_bechmark_dropERC721_claim_three_tokens() (gas: 177751)
111+
[PASS] test_bechmark_dropERC721_claim_two_tokens() (gas: 176175)
112+
[PASS] test_bechmark_dropERC721_setClaimConditions_five_conditions() (gas: 500905)
113+
[PASS] test_bechmark_dropERC721_setClaimConditions_one_condition() (gas: 166790)
114+
[PASS] test_bechmark_dropERC721_setClaimConditions_three_conditions() (gas: 333579)
115+
[PASS] test_bechmark_dropERC721_setClaimConditions_two_conditions() (gas: 250008)
116+
[PASS] test_benchmark_dropERC721_lazyMint() (gas: 124588)
117+
[PASS] test_benchmark_dropERC721_lazyMint_for_delayed_reveal() (gas: 217173)
118+
[PASS] test_benchmark_dropERC721_reveal() (gas: 9223372036854754743)
119+
Test result: ok. 11 passed; 0 failed; finished in 2.34s
120+

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@
6565
"build": "yarn clean && yarn compile",
6666
"forge:build": "forge build --hardhat",
6767
"forge:test": "forge test --hardhat",
68-
"export-abi": "hardhat export-abi"
68+
"export-abi": "hardhat export-abi",
69+
"gas": "forge test --mc Benchmark --gas-report > gasreport.txt",
70+
"forge:snapshot": "forge snapshot --check"
6971
}
7072
}

0 commit comments

Comments
 (0)