In our previous release this function was an entry function by mistake.
Now in order to keep our abi backward compatible, we need to keep it as entry function.
In order to allow the newer aptos cli to ignore this issue, we decorate it with `legacy_entry_fun`
* Better errors
* Better variable typing
* Upgrade cli with more straightforward flow
* Remove unnecessary configs and distinguish between deployer contract and signer
* Convert the named-addresses argument to 3 separate options with default values
* Add README
* Add stable testnet contracts
* Fix bug in creating InjectiveExecutor from mnemonic
* Import only from root library
* Code verification on proposals for cosmwasm
* Minimal script to upload wasm codes
* Use the netwrok parameter for InjectiveChain executor instead of endpoints
* Add evm contract infos + minor improvements
* Throw error if chainId is invalid instead of using 0 silently
* Add wormholeChainName property for chains to use in governance actions
* Return all signatures upon proposal execution
* Unify privateKey schema for contract manager
* Implement getLastExecutedGovernanceSequence for all contract types
* Unify getPriceFeed interface between contracts
* Add update price feed for evm
* Adjust gasPrice on evm
* Add setter for datasources + add global chain for universal governance instructions
* Add utility function to execute arbitrary governance Vaa
* Remove redundant contract
* Better error message when gas is not enough on deployment
* Add aptos mainnet config
* Restore sui override of setFee governance message generation
* Export executeVaa function
* Address PR feedbacks
* More documentation and cleanup
* Remove INFURA_KEY logic and replace RPC endpoints with public ones
* EVMContract -> EvmContract, EVMChain -> EvmChain
* Make executeUpdatePriceFeed interface on cosmos similar to evm
* Better error message and more comment regarding gas
* Replace xc-governance-sdk with xc_admin_common package
xc_admin_package was not using the CHAIN overrides declared in the governance-sdk so it was moved
to that package as well
* Replace xc-governance-sdk with xc_admin_common in other packages
* Remove the package and all of its references
* Fix tests
* Fix bug in GovernanceDataSourceTransfer encoding
* Rename all references to the old package
* Redeploy neutron_testnet contract with new chain id
* Move SetWormholeAddress to separate file
* Initial version of governance sdk
* Add more functionality to Sui contract manager and migrate variable naming to camelCase
* Refactor sui functions
* Add prettier
* Add SuiAuthorizeUpgradeContractInstruction for governance
* Update cosmwasm deploy tools entry point and expose some classes
* Remove console.logs from CosmWasm
* Refactor storage logic and add sui docs
* Use relative path for default path of store
* More documentation and minor fixes
* Rename package
* Add EVM classes
* Implement getters for data sources
* Use Google naming convention for abbreviations
More info here:
https://google.github.io/styleguide/tsguide.html#identifiers-abbreviations
* Change package license
* More comments and documentation
* Store code proxy function in CosmWasm
* upgrade script for Pyth, so far getting the dependencies and digest works
* upgrade_pyth
* made progress: works up until verify_vaa
* delete some comments
* upgrade almost works, on last step now
* comments
* edit
* upgrade process pretty much works (we got an IncompatibleUpgrade error)
* fix bug in pyth migrate process (handle_migrate threw error because take_digest was destroying non-empty cursor and not removing prefix bytes)
* comments and toml file
* revert change to Move.lock file
* remove migrate__v__0_1_1
* prettier
* move test accumulator message details to above the definition
* camel case to snake case
* deserialize and check header inside of parse_and_verify_accumulator_message
* factor out cleanup / destruction function for worm / pyth states and clock
* take_wormhole_and_pyth_states to simplify 9 tests
* get_balance for price_info_object
* Store fees as dynamic fields
* Rename functions and modules back to the published version to remain bacward compatible
* Remove withdrawal functionality for now
This functionality can always be added via contract upgrades
---------
Co-authored-by: optke3 <optke3@gmail.com>
Co-authored-by: optke3 <108488464+optke3@users.noreply.github.com>
* move test accumulator message details to above the definition
* camel case to snake case
* deserialize and check header inside of parse_and_verify_accumulator_message
* factor out cleanup / destruction function for worm / pyth states and clock
* take_wormhole_and_pyth_states to simplify 9 tests
* update
* Simplify some tests and add more
---------
Co-authored-by: optke3 <optke3@gmail.com>
Co-authored-by: Amin Moghaddam <amin@amins-mbp.tail922f3.ts.net>
* move test accumulator message details to above the definition
* camel case to snake case
* deserialize and check header inside of parse_and_verify_accumulator_message
* factor out cleanup / destruction function for worm / pyth states and clock
* take_wormhole_and_pyth_states to simplify 9 tests
* update
* merkle tree impl
* - take leftmost 20 bytes in hash
- don't assign output of cursor::take_rest to _, instead just drop it
* push PREFIXes (MERKLE_LEAF_PREFIX, MERKLE_NODE_PREFIX) to front instead of back
* delete testXOR
* test construct merkle tree depth exceeded error
* invalid merkle proof test cases
* comments
* rename failure tests
* simplification for initializing a vector
* fix leafHash bug, add tests for hashLeaf and hashNode
* pyth accumulator start, extract_price_info_from_merkle_proof, parse_price_feed_message
* parse_price_feed_message, parse_and_verify_accumulator_updates
* implementation + debugging for merkle pyth accumulator
* edit merkle tree
* testNodehash
* test hash
* delete prints
* test case for parse and verify TEST_ACCUMULATOR_3_MSGS
* hot potato vector -> authenticated price infos
* refactor - move tests from pyth_accumulator to pyth to avoid dependency cycle
* remove _ from deserializing unused vaa
* add sui-contract.yml for github actions
* AuthenticatedPriceInfos -> AuthenticatedVector
* charge base update fee per call to update_single_price_feed
* add back multiple tests, including test_create_and_update_price_feeds_insufficient_fee, update cache, update cache old update
* test multiple price feed creation and update accumulator
* authenticated_price_infos.move -> authenticated_vector.move
* 5 * single_update_fee
* delete some comments, add accumulator test info
* don't make TEST_VAAS test_only in pyth.move
* remove #[test_only]s
* assert price info object contains correct price feed info
* factor out some constants from accumulator test cases to reduce duplicate code
* add sui-contract.yml file for github actions CI
* more refactor and clean-up
* assert price_info_object_1 is correct in test_create_and_update_price_feeds_with_batch_attestation_success
* removed the parse_and_verify_accumulator_message_with_worm_state entirely, and instead added the helper parse_vaa_bytes_from_accumulator_message
* edit comment
* update comment
* edit sui github ci
* fix for sui-contract.yml
* MINIMUM_SUPPORTED_MINOR_VERSION and MAJOR_VERSION
* remove test_get_price_feed_updates_from_accumulator and parse_vaa_bytes_from_accumulator_message from pyth_accumulator.move
* test_parse_and_verify_accumulator_updates_with_extra_bytes_at_end_of_message
* sui contract yml update
* use rev to cargo install sui in github actions ci
* cargo install --locked for github CI
* merkle tree impl
* - take leftmost 20 bytes in hash
- don't assign output of cursor::take_rest to _, instead just drop it
* push PREFIXes (MERKLE_LEAF_PREFIX, MERKLE_NODE_PREFIX) to front instead of back
* delete testXOR
* test construct merkle tree depth exceeded error
* invalid merkle proof test cases
* comments
* rename failure tests
* simplification for initializing a vector
* fix leafHash bug, add tests for hashLeaf and hashNode
* Pin dependency versions
* Implement accumulator support on aptos
* Fix formatting on error.move in aptos
* Add CI workflow for aptos
* Upgrade to aptos cli 1.0.4
* feat(eth): optimize ReceiverMessages parseAndVerifyVM
* test(eth): update test setups to use wormholeReceiver
* chore(eth): remove console logging
* feat(eth): optimize & revert return type for parseAndVerifyVM
* fix(eth): add index boundary checks
* perf(eth): optimize verifySignature by passing in primitives instead of structs
* test(eth): add wormhole tests related to guardian set validity
* test(eth): add more parseAndVerify failure test cases
* test(eth): add more failure tests for parseAndVerify
* test(eth): add empty forge test, refactor/deduplicate
The structure of the fake payload was not as expected.
Some tests were failing for the wrong reason but with the right error code.
Added one testcase to make sure the default behavior of the forging function
is correct.
* Add more tests for update_fee_amount
Restructure code to split parsing and updating logic so that all
messages can be parsed without being applied
* Fix docker build command for cosmwasm contract
* Refactor is_fee_sufficient tests
Extract out the chain specific part into separate function
Merge test_accumulator_is_fee_sufficient back into is_fee_sufficient
* Rename function and simplify process_batch_attestation tests