* update npm package
* expand allowlist.configure
* add activation func to precompile functions
* move chainconfig to precompileconfig
* use chainconfig in verification
* trim unnecessary changes
* add manager role
* fix tests
* add verify test
* nits
* add mocks
* reviews
* fix linter
* fix benchmarks
* nits
* nits
* fix alow list bind tests & ensure they're being tested (#841)
* simplify can modify check
* fix vm tests
* Add manager allowlist role merge (#850)
* Warp stapling block context (#823)
* Add GetPredicateResults to BlockContext
* Serve predicate results from blockContext
* Allow extra data to extend past DynamicFeeWindow post DUpgrade
* Get vm warp unit tests working
* Bump ANR to intermediate version to fix incompatibility with AvalancheGo
* Add kc to EthKeyChain
* Bump avalanchego dep in scripts for CI
* Add block hash payload support
* Use gomocks for precompileconfig and predicater and re-write CheckPredicates with gomocks
* Use gomock for mock accessible state and block context
* Fix existing warp contract tests with mock block context
* Remove unused mockPredicater impl
* x/warp: add contract execution unit tests
* Update NewEVMBlockContext
* Add AppendExtra to syncervm to fix tests
* x/warp: add unit test for multiple predicate results
* core: add unit test for CheckPredicates insufficient gas
* Update receive warp message test to trace block and assert the expected result
* Fix lint
* Update warp solidity contracts
* Fix block context mocks for bench
* Update precompile/precompileconfig/config.go
Co-authored-by: Darioush Jalali <[email protected]>
Signed-off-by: aaronbuchwald <[email protected]>
* Cleanup
* precompile/results: Add predicate results tests + comments
* nits
* precompile/results: omit tx predicate results if empty
* core: add invariant comment to predicate check
* Address PR comments
* Fix unpackWarpMessage and add unit tests
* Rename OriginChainID -> SourceChainID to match ago warp message type
* nits
* x/warp: set public key in warp predicate unit tests
* Update payload format
* Clarify IWarpMessenger verified message return types
* core/state: improve statedb warp specific comments
* Update input param type to uint32 to avoid potential overflow on conversion
* Update GetPredicateStorageSlots arg type to uint32
* warp/payload: add README for payload serialization (#835)
* Fix merge
* x/warp: add unit test for PrimaryNetwork to Subnet predicate verification (#831)
* precompilebind: add ChainConfig with DUpgrade enabled to precompile chain config verify template
* Add warp contract implementation
* Cleanup predicate test
* Fix new function signature
* Replace invalid fuzz test with unit test
* Add chain config to enable warp API for warp e2e test
* remove unused var
* Add experimental warning and move warp precompile to x/ package
* fix warning label
* Fix warning
* vm test nits
* Improve sendWarpMessenger sol comment
* more vm warp test nits
* Move warp params into params package
* More vm warp test nits
* Address more PR comments
* Remove triggerTx2
* Add check for expected topics from sendWarpMessage log
* Fix config test
* Fix incorrect replace
* remove unnecessary echo
* Address comments
* Address comments
* Address PR comments
* Improve comments
* Convert [32]byte type to common.Hash
* Add base cost for getVerifiedWarpMessage
* fix require equal type check
* Fix updated awm message format
* Update warp message format
* Move IWarpMessenger.sol to interfaces/
* Add newline to warp genesis
* uncomment assertion
* Fix broken links in README
* remove network upgrades from upgrade configs and enforce them in vm init
* fix tests
* remove unused var
* remove extra shutdown
* copy test chain config when modify
* use SimulatedTestChainConfig for simulated tests
* copy modified test chain config
* add optional upgrades
* Add tests
* fix comments
* use unmarshal in test
* unexport functions
* add commented out test
* add TODO comment
* start v0.4.12 release cycle
* add setup action to lint ci for proper go version
* Bump version in plugin/evm/version.go
* Remove go version pin
* Revert "Remove go version pin"
This reverts commit e651bebbdcb51afab1291374ff5c20c4a14f20c5.
* bump golangci-lint-acion to @v3
* bump golangci lint
* try 1.48
* golangci-lint v1.51 and goimports leveldb file
* migrate linting changes from coreth
* goimports and fix diagram comments
* Fix bad goimports changes
---------
Co-authored-by: Darioush Jalali <[email protected]>
* add yet another custom marshaller to GetChainConfigResponse api
* enforce a json len before allocation
* Move chain config wrapper type to params/ and add test
* Fix trailing newline
* Remove flaky unit test
* Add back unit test with JSONeq
---------
Co-authored-by: Darioush Jalali <[email protected]>
Co-authored-by: aaronbuchwald <[email protected]>
* passing in snow context
* adding call and moving contractRef
* test with avalanche context
* fix import format
* dependency updates
* put snow ctx into avalanche ctx
* move back contract ref
* remove getaddress
* update go mod
* fix imports
* remove extra line
* fix pr comments
* remove call additions
* sync with coreth-v0.10.1
* fix generate test
* go mod tidy in simulator
* my attempt at porting corethv0.10.1
* reconcile trie
* more reconcile
* getting closer
* reduce diff
* fix
* move to blockchain api
* use last accepted block for check compatibility in genesis
* accept blocks in compatiblity test
* comment unnecessary code
* Update core/genesis.go
* Remove comment
* Update params/precompile_config.go
* Update core/genesis.go
* nits
* add regression test
* fix test
* Switch to using require in new genesis test
* add initial precompile configs and handle them
* add verify to precompile configs
* add unit tests for initial configs and verify
* add a nil check for initial fee config verification
* conditionally verify allowlist
* Update precompile/stateful_precompile_config.go
* add config test to precompile package
* add 0 test case for gas limit
* add comments for allowlist storage keys
* move allow list role to different file
* Update precompile/allow_list.go
* rename test
* Update precompile/allow_list.go
* rename test & use func to create config
* Remove unnecessary role checks
* use config constructor for precompile tests
* Update accounts/abi/bind/precompile_template.go
* Update precompile/contract_native_minter.go
* Update precompile/contract_deployer_allow_list.go
* Update precompile/allow_list.go
* add equals methods
* add new test cases for precompile configs
* use hex to address in tests
* rename helper function
* add verify to contract native minter
* add fee config tests
* add positive cases
* add equal tesets for precompile configs
* Update commontype/fee_config_test.go
* remove comment
* precompile: add formatted errors to precompile verify (#262)
* add getUpgrades & getActivedPrecompiles API requests
* discard precompile upgrades from API if disabled
* replace GetUpgrades with GetChainConfig API
* rename active precompiles API
* remove upgrades from name
* add comments for adding new precompiles to GetActivePrecompiles
* update versions
* Fix updated version
* use bumped ANR branch
* dep from ANR main now
* nits
Co-authored-by: Aaron Buchwald <[email protected]>
Co-authored-by: Felipe Madero <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
* init fee config precompile
* add fee config manager precompile
* complete precompile internal functions
* nits
* add fee config provider
* init cache with limit
* added getFeeConfig func to precompile
* add fee config tasks to hardhat
* add getFeeConfigs for apis
* add unit tests
* update tx pool only if fee config is activated
* Update plugin/evm/block_verification.go
Co-authored-by: Darioush Jalali <[email protected]>
* fix for reviews
* add initial fee config to precompile & default back to chain config
* rename functions in tests
* add deployer allow list test suit
* add last accepted at
* add last accepted test to precompile test
* Revert selectBigWithinBounds changes
* use big int cmp
* move precompile test to last
* fix unit tests
* remove flaky test & ensure tx pool is reorged
* move local rpc into new file
* add comment to cachableFeeConfig
* add timestamp to block context
* add error to newOracle
* fix moar nits
* Nits
* revert allowlist setter helpers
* increase SetFeeConfigGasCost for setting last changed
* add configure validation to fee precompiles
* Address nits
* increase gas cost for wagmi
* Remove fee config from fee config manager config
* Update contract-examples/README.md
Co-authored-by: aaronbuchwald <[email protected]>
* add license to tests
* remove log
* add err check
* Update precompile/utils.go
Co-authored-by: aaronbuchwald <[email protected]>
* Remove no longer necessary test
* contract example nits
* fix contract tests
* lower fees & split into two tests
* use explicit fees
* Nits
* feeconfig nits
* nit
* Fee config precompile nits (#145)
* Add COPYING file from geth (#83)
* Add COPYING file from geth
* Add COPYING.LESSER file
* Add version to code (#136)
* Add version to code
* bump version
* Add version to goreleaser
* Remove version from code in favor of setting at compile time
* use version env
* use v prefix in the version
Co-authored-by: Aaron Buchwald <[email protected]>
* [AV-1855] Simplify build script to place binary in avalanchego plugin directory (#81)
* Simplify build script to place binary in avalanchego plugin directory
* echo binary path
* split shutdown into network stop and client stop, call network stop
after each test, call client stop after suite ends
* add check for network up after stop
* switch to ANR
* bump script to ANR 1.1.3
* fix cluster status check
* minor fix
* cleanup of health/status check
* lint
* nits
Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
Co-authored-by: Aaron Buchwald <[email protected]>