Skip to content
This repository was archived by the owner on Dec 16, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
e7a0cc1
feat: convert tx allow list npm test to go test
JonathanOppenheimer Dec 3, 2025
060eb2b
Merge branch 'master' into JonathanOppenheimer/convert-tx-allow-list-…
JonathanOppenheimer Dec 3, 2025
169f6f3
chore: delete old example
JonathanOppenheimer Dec 3, 2025
60110f8
feat: convert reward manager npm test to go test
JonathanOppenheimer Dec 3, 2025
b057b88
fix: contract formatting and import
JonathanOppenheimer Dec 3, 2025
a98b243
chore: delete old binding
JonathanOppenheimer Dec 3, 2025
fb29afb
chore: delete example contract
JonathanOppenheimer Dec 3, 2025
4eef5e6
chore: lint
JonathanOppenheimer Dec 3, 2025
bb21931
test: add should not let non-enabled address submit txs
JonathanOppenheimer Dec 4, 2025
8cfb75b
Merge branch 'master' into JonathanOppenheimer/convert-tx-allow-list-…
JonathanOppenheimer Dec 4, 2025
1e0d2fe
style: ignore lint error for now
JonathanOppenheimer Dec 4, 2025
1069395
test: add helper function for backend
JonathanOppenheimer Dec 4, 2025
7a12f05
Merge branch 'master' into JonathanOppenheimer/convert-tx-allow-list-…
JonathanOppenheimer Dec 4, 2025
f519ccc
chore: lint
JonathanOppenheimer Dec 4, 2025
de4726e
Merge branch 'master' into JonathanOppenheimer/convert-tx-allow-list-…
JonathanOppenheimer Dec 4, 2025
a8d7ebd
Merge branch 'master' into JonathanOppenheimer/convert-reward-manager…
JonathanOppenheimer Dec 4, 2025
ab29c98
Merge branch 'master' into JonathanOppenheimer/convert-reward-manager…
JonathanOppenheimer Dec 4, 2025
43ade2c
Merge branch 'master' into JonathanOppenheimer/convert-tx-allow-list-…
JonathanOppenheimer Dec 4, 2025
78fd11d
Merge branch 'JonathanOppenheimer/convert-tx-allow-list-test' into Jo…
JonathanOppenheimer Dec 4, 2025
df3d4d1
chore: delete more deprecated code
JonathanOppenheimer Dec 4, 2025
5e77010
test: use new structure
JonathanOppenheimer Dec 4, 2025
a135782
chore: delete vestigial CI
JonathanOppenheimer Dec 4, 2025
a7ea83e
chore: unused file
JonathanOppenheimer Dec 4, 2025
997ce0f
test: restore task.ts
JonathanOppenheimer Dec 4, 2025
c82ccd7
fix: restore run_ginkgo.sh
JonathanOppenheimer Dec 4, 2025
8540c62
chore: regenerate bindings
JonathanOppenheimer Dec 4, 2025
63d4aaa
chore: reduce diff
JonathanOppenheimer Dec 4, 2025
37a9e0d
chore: format
JonathanOppenheimer Dec 4, 2025
284c1fc
chore: regenerate bindings
JonathanOppenheimer Dec 4, 2025
3abde93
Merge branch 'master' into JonathanOppenheimer/convert-reward-manager…
JonathanOppenheimer Dec 4, 2025
748ca1c
Update IAllowList.sol
JonathanOppenheimer Dec 5, 2025
d7f590e
docs: add comment explaining import replace
JonathanOppenheimer Dec 5, 2025
72d5ebe
chore: regenerate bindings
JonathanOppenheimer Dec 5, 2025
0804768
test: convert warp hardhat test to go
JonathanOppenheimer Dec 5, 2025
0d47b83
feat: completely deprecate npm
JonathanOppenheimer Dec 5, 2025
6877bd8
reduce diff with master
ceyonur Dec 5, 2025
650bd1d
further reduce diffs
ceyonur Dec 5, 2025
ddc92e7
further reduce diffs
ceyonur Dec 5, 2025
a024dc6
fix linter
ceyonur Dec 5, 2025
9afb94c
fix
ceyonur Dec 5, 2025
8d6af33
style: move tx function
JonathanOppenheimer Dec 5, 2025
aafb6db
test: use random key for reward address test
JonathanOppenheimer Dec 5, 2025
07ab33f
test: through contract rather than interface
JonathanOppenheimer Dec 5, 2025
5ea2a0d
revert extra change
ceyonur Dec 5, 2025
8f146c6
test: add coinbase test
JonathanOppenheimer Dec 5, 2025
755449b
Ceyonur/reduce diff reward manager tests (#1909)
JonathanOppenheimer Dec 5, 2025
9ec5e25
Merge branch 'JonathanOppenheimer/convert-reward-manager-test' into J…
JonathanOppenheimer Dec 5, 2025
31edb02
feat: warp bindings test
JonathanOppenheimer Dec 5, 2025
f9deda0
chore: revert util.ts deletion
JonathanOppenheimer Dec 5, 2025
15729af
chore: move util.ts
JonathanOppenheimer Dec 5, 2025
e5631aa
chore: rename util -> utils
JonathanOppenheimer Dec 5, 2025
36eca4a
fix: export only roles
JonathanOppenheimer Dec 5, 2025
282f862
fix: verifyAndExtractWarpMessage()
JonathanOppenheimer Dec 5, 2025
8725814
chore: lint
JonathanOppenheimer Dec 5, 2025
48b1d69
Merge branch 'JonathanOppenheimer/convert-warp-test' into JonathanOpp…
JonathanOppenheimer Dec 5, 2025
8702753
Update precompile/contracts/testutils/simulated_helpers.go
JonathanOppenheimer Dec 5, 2025
8859053
fix: don't export sendSimpleTx
JonathanOppenheimer Dec 5, 2025
9177c3a
chore: consolidate NewBackendWithPrecompile
JonathanOppenheimer Dec 5, 2025
b2fbe9e
chore: lint
JonathanOppenheimer Dec 5, 2025
2b736d7
chore: delete full contracts folder
JonathanOppenheimer Dec 5, 2025
51fce58
chore: delete deprecated testing files
JonathanOppenheimer Dec 5, 2025
64c71f8
chore: delete warp.json
JonathanOppenheimer Dec 5, 2025
27fc37c
Merge branch 'JonathanOppenheimer/convert-warp-test' into JonathanOpp…
JonathanOppenheimer Dec 5, 2025
ef7c953
Merge branch 'JonathanOppenheimer/convert-reward-manager-test' into J…
JonathanOppenheimer Dec 5, 2025
13d9d17
Merge branch 'JonathanOppenheimer/convert-warp-test' into JonathanOpp…
JonathanOppenheimer Dec 5, 2025
97e182c
fix: revert delete warp.json
JonathanOppenheimer Dec 5, 2025
e19a5aa
Merge branch 'JonathanOppenheimer/convert-warp-test' into JonathanOpp…
JonathanOppenheimer Dec 5, 2025
eb78d3f
chore: move warp genesis to usage
JonathanOppenheimer Dec 5, 2025
4441a65
style: align genesis location
JonathanOppenheimer Dec 5, 2025
bdc7cf8
fix: genesis path
JonathanOppenheimer Dec 5, 2025
e85cc03
Merge branch 'master' into JonathanOppenheimer/convert-warp-test
JonathanOppenheimer Dec 6, 2025
a8e82e8
test: minify + rename allowlist abi
JonathanOppenheimer Dec 8, 2025
b6ed503
test: use generated ABI
JonathanOppenheimer Dec 8, 2025
0e00bf5
fix: use proper path
JonathanOppenheimer Dec 8, 2025
5ee8bb0
chore: delete Example.abi
JonathanOppenheimer Dec 8, 2025
a397075
update gitignore
JonathanOppenheimer Dec 8, 2025
59c5dfc
ci: remove compiled artifacts
JonathanOppenheimer Dec 8, 2025
b001c94
ci: remove all .abi/bin
JonathanOppenheimer Dec 8, 2025
473405a
test: move interfaces to top level
JonathanOppenheimer Dec 8, 2025
34023f3
chore: git track move
JonathanOppenheimer Dec 8, 2025
da2ebdb
test: use generated ABI
JonathanOppenheimer Dec 8, 2025
676a49f
Merge branch 'JonathanOppenheimer/delete-npm' into JonathanOppenheime…
JonathanOppenheimer Dec 8, 2025
607a237
chore: regenerate bindings
JonathanOppenheimer Dec 8, 2025
9538ca4
chore: delete stale abi files
JonathanOppenheimer Dec 8, 2025
6031f25
style: rename bindings test
JonathanOppenheimer Dec 8, 2025
e0c9b79
test: full warp bindings test
JonathanOppenheimer Dec 8, 2025
bf3ad0f
test: extract using bindings
JonathanOppenheimer Dec 8, 2025
66ae1e8
style: set addressedCallUnsignedMessage directly
JonathanOppenheimer Dec 8, 2025
2b2e3ff
chore: lint
JonathanOppenheimer Dec 8, 2025
ad6f6b9
chore: reduce diff
JonathanOppenheimer Dec 8, 2025
b11a074
style: add back blank line
JonathanOppenheimer Dec 8, 2025
9468c09
feat: completely deprecate npm
JonathanOppenheimer Dec 5, 2025
53ff7da
chore: delete full contracts folder
JonathanOppenheimer Dec 5, 2025
ab07d3e
chore: delete deprecated testing files
JonathanOppenheimer Dec 5, 2025
898fff2
chore: move warp genesis to usage
JonathanOppenheimer Dec 5, 2025
5e3e63d
style: align genesis location
JonathanOppenheimer Dec 5, 2025
d4694ff
fix: genesis path
JonathanOppenheimer Dec 5, 2025
fda573d
Merge branch 'JonathanOppenheimer/delete-npm' into JonathanOppenheime…
JonathanOppenheimer Dec 8, 2025
114142d
chore: lint
JonathanOppenheimer Dec 8, 2025
9701be7
Merge branch 'JonathanOppenheimer/move-interfaces' into JonathanOppen…
JonathanOppenheimer Dec 8, 2025
2d785fa
Merge branch 'JonathanOppenheimer/convert-warp-test' into JonathanOpp…
JonathanOppenheimer Dec 8, 2025
6671da0
Merge branch 'JonathanOppenheimer/delete-npm' into JonathanOppenheime…
JonathanOppenheimer Dec 8, 2025
2bcea5c
fix: interface abis at top level
JonathanOppenheimer Dec 8, 2025
0ee8168
fix: restore artifacts git ignore
JonathanOppenheimer Dec 8, 2025
14bc30f
fix: abi paths
JonathanOppenheimer Dec 8, 2025
d2c7704
chore: move ExampleWarp.sol to where it is used
JonathanOppenheimer Dec 8, 2025
f8af497
style: restore blank line
JonathanOppenheimer Dec 8, 2025
482b45d
Merge branch 'JonathanOppenheimer/convert-warp-test' into JonathanOpp…
JonathanOppenheimer Dec 8, 2025
fb7f77d
Merge branch 'JonathanOppenheimer/delete-npm' into JonathanOppenheime…
JonathanOppenheimer Dec 8, 2025
86ce37b
test: reuse verifyAndExtractWarpMessage helper
JonathanOppenheimer Dec 9, 2025
c2e0eb7
test: specify sender
JonathanOppenheimer Dec 9, 2025
440840f
Merge branch 'master' into JonathanOppenheimer/convert-warp-test
JonathanOppenheimer Dec 9, 2025
5e78e94
Update tests/warp/warp_test.go
JonathanOppenheimer Dec 9, 2025
9016376
Update tests/warp/warp_test.go
JonathanOppenheimer Dec 9, 2025
dfec9d9
Update tests/warp/warp_test.go
JonathanOppenheimer Dec 9, 2025
e16d112
docs: expand verifyAndExtractWarpMessage function comment
JonathanOppenheimer Dec 9, 2025
e0f9532
Update tests/warp/warp_test.go
JonathanOppenheimer Dec 9, 2025
12d27a8
chore: regenerate bindings
JonathanOppenheimer Dec 9, 2025
9fa4f35
Merge branch 'JonathanOppenheimer/convert-warp-test' into JonathanOpp…
JonathanOppenheimer Dec 9, 2025
ef4dbc6
Merge branch 'JonathanOppenheimer/delete-npm' into JonathanOppenheime…
JonathanOppenheimer Dec 9, 2025
19abb06
Initial reduce diff
michaelkaplan13 Dec 10, 2025
4e82150
Omit metadata hashes from compiled test bytecode
michaelkaplan13 Dec 10, 2025
8b19958
Reduce diff
michaelkaplan13 Dec 10, 2025
82b6857
Fix ABI file name
michaelkaplan13 Dec 10, 2025
e9a4030
Reduce ABI Gen diff (#1916)
JonathanOppenheimer Dec 10, 2025
afa88cc
Merge remote-tracking branch 'origin' into JonathanOppenheimer/delete…
JonathanOppenheimer Dec 11, 2025
a8c7ebc
style: revert genesis.json move
JonathanOppenheimer Dec 11, 2025
81bb10c
Merge branch 'JonathanOppenheimer/delete-npm' into JonathanOppenheime…
JonathanOppenheimer Dec 11, 2025
298383a
fix: restore genesis paths
JonathanOppenheimer Dec 11, 2025
fdd152f
Merge branch 'JonathanOppenheimer/delete-npm' into JonathanOppenheime…
JonathanOppenheimer Dec 11, 2025
d3c1733
chore: generate bindings
JonathanOppenheimer Dec 11, 2025
5acbfe9
Merge branch 'master' into JonathanOppenheimer/use-new-abi
JonathanOppenheimer Dec 12, 2025
d00723d
Merge branch 'master' into JonathanOppenheimer/use-new-abi
JonathanOppenheimer Dec 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions precompile/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
**/artifacts/
**/artifacts/*.abi
**/artifacts/*.bin

# IAllowList.abi gets generated as a side effect when compiling interfaces that inherit from it
contracts/*/IAllowList.abi
Copy link
Contributor

Choose a reason for hiding this comment

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

Don't you want to commit this?

Copy link
Member Author

@JonathanOppenheimer JonathanOppenheimer Dec 8, 2025

Choose a reason for hiding this comment

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

Nah -- we do commit the top level IAllowList.abi here, but there's no need to commit the additionally generated IAllowLists from precompiles that depend on it (in the contracts folder). There's unfortunately not a smarter compiler directive to use an existing abi or anything, but I did look.

precompile/contracts/feemanager/IAllowList.abi
precompile/contracts/nativeminter/IAllowList.abi
precompile/contracts/rewardmanager/IAllowList.abi

would be generated, and there's no need for these to be committed.

2 changes: 1 addition & 1 deletion precompile/allowlist/allowlist.abi
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,4 @@
"stateMutability": "nonpayable",
"type": "function"
}
]
]
12 changes: 7 additions & 5 deletions precompile/allowlist/allowlisttest/bindings/compile.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@

package bindings

// Step 1: Compile Solidity contracts to generate ABI and bin files
//go:generate solc-v0.8.30 -o artifacts --overwrite --abi --bin --base-path . precompile/=../../../ --evm-version cancun AllowListTest.sol
// Step 2: Generate Go bindings from the compiled artifacts
//go:generate go run github.com/ava-labs/libevm/cmd/abigen --pkg bindings --type IAllowList --abi artifacts/IAllowList.abi --bin artifacts/IAllowList.bin --out gen_allowlist_binding.go
// Step 1: Compile interface to generate ABI at top level
//go:generate sh -c "solc-v0.8.30 -o ../.. --overwrite --abi --pretty-json --evm-version cancun ../../IAllowList.sol && mv ../../IAllowList.abi ../../allowlist.abi"
// Step 2: Compile test contracts to generate ABI and bin files
//go:generate solc-v0.8.30 -o artifacts --overwrite --abi --bin --base-path . --metadata-hash none precompile/=../../../ --evm-version cancun AllowListTest.sol
// Step 3: Generate Go bindings from the compiled artifacts
//go:generate go run github.com/ava-labs/libevm/cmd/abigen --pkg bindings --type IAllowList --abi ../../allowlist.abi --bin artifacts/IAllowList.bin --out gen_allowlist_binding.go
//go:generate go run github.com/ava-labs/libevm/cmd/abigen --pkg bindings --type AllowListTest --abi artifacts/AllowListTest.abi --bin artifacts/AllowListTest.bin --out gen_allowlisttest_binding.go
// Step 3: Replace import paths in generated binding to use subnet-evm instead of libevm
// Step 4: Replace import paths in generated binding to use subnet-evm instead of libevm
// This is necessary because the libevm bindings package is not compatible with the subnet-evm simulated backend, which is used for testing.
//go:generate sh -c "sed -i.bak -e 's|github.com/ava-labs/libevm/accounts/abi|github.com/ava-labs/subnet-evm/accounts/abi|g' -e 's|github.com/ava-labs/libevm/accounts/abi/bind|github.com/ava-labs/subnet-evm/accounts/abi/bind|g' gen_allowlist_binding.go gen_allowlisttest_binding.go && rm -f gen_allowlist_binding.go.bak gen_allowlisttest_binding.go.bak"

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 32 additions & 1 deletion precompile/contracts/feemanager/contract.abi
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,37 @@
"name": "FeeConfigChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "role",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "oldRole",
"type": "uint256"
}
],
"name": "RoleSet",
"type": "event"
},
{
"inputs": [],
"name": "getFeeConfig",
Expand Down Expand Up @@ -288,4 +319,4 @@
"stateMutability": "nonpayable",
"type": "function"
}
]
]
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@

package bindings

// Step 1: Compile Solidity contracts to generate ABI and bin files
//go:generate solc-v0.8.30 -o artifacts --overwrite --abi --bin --base-path ../../../../.. precompile/=precompile/ --evm-version cancun FeeManagerTest.sol
// Step 2: Generate Go bindings from the compiled artifacts
//go:generate go run github.com/ava-labs/libevm/cmd/abigen --pkg bindings --type IFeeManager --abi artifacts/IFeeManager.abi --bin artifacts/IFeeManager.bin --out gen_ifeemanager_binding.go
// Step 1: Compile interface to generate ABI at top level
//go:generate sh -c "solc-v0.8.30 -o ../.. --overwrite --abi --base-path ../../../../.. --pretty-json --evm-version cancun ../../IFeeManager.sol && mv ../../IFeeManager.abi ../../contract.abi"
// Step 2: Compile test contracts to generate ABI and bin files
//go:generate solc-v0.8.30 -o artifacts --overwrite --abi --bin --base-path ../../../../.. --metadata-hash none --evm-version cancun FeeManagerTest.sol
// Step 3: Generate Go bindings from the compiled artifacts
//go:generate go run github.com/ava-labs/libevm/cmd/abigen --pkg bindings --type IFeeManager --abi ../../contract.abi --bin artifacts/IFeeManager.bin --out gen_ifeemanager_binding.go
//go:generate go run github.com/ava-labs/libevm/cmd/abigen --pkg bindings --type FeeManagerTest --abi artifacts/FeeManagerTest.abi --bin artifacts/FeeManagerTest.bin --out gen_feemanagertest_binding.go
// Step 3: Replace import paths in generated binding to use subnet-evm instead of libevm
// Step 4: Replace import paths in generated binding to use subnet-evm instead of libevm
// This is necessary because the libevm bindings package is not compatible with the subnet-evm simulated backend, which is used for testing.
//go:generate sh -c "sed -i.bak -e 's|github.com/ava-labs/libevm/accounts/abi|github.com/ava-labs/subnet-evm/accounts/abi|g' -e 's|github.com/ava-labs/libevm/accounts/abi/bind|github.com/ava-labs/subnet-evm/accounts/abi/bind|g' gen_ifeemanager_binding.go gen_feemanagertest_binding.go && rm -f gen_ifeemanager_binding.go.bak gen_feemanagertest_binding.go.bak"
Loading