* More documentation on the upgrade procedure and mainnet init
* Add profiling utility for aptos
* Reuse contract manager logic to sync guardian sets
* Add documentation for sui gas profiling
* Better return types for transaction execution functions
* Use new type for passing PrivateKey
* Small typing improvements
* Stricter liniting
* Rename edge to beta for DeploymentType
* Reduce any usage across the contract manager
* Fix explicit any linting warnings
* Use arrays instead of separate files per config
* Remove redundant endpoint on cosmwasm
* Add functions for upgrading the wormhole guardian sets
* Add wormhole contract management on evm and cosmwasm
* Add getter functions to check what sort of wormhole-deployment is used
* Reorganize contract manager package to be used via other packages
* Remove .env files per network and create a script that outputs the same file
* Use env variables in truffle config and output config in deployments
* Add executeUpdatePriceFeed to contract interface
* Add update pricefeed script
* Add saving functionality to store
* Save new contract configs automatically on Evm
* Make deploy script use the create-env.js internally
* Add utility function to get implementation address for Evm Proxy contracts
* Add shimmer testnet and replace evmos nunfunctional rpc
* New procedure for contract verification
* Update docs and remove duplicate configurations
* Remove shimmer configs
* Read default data source configs via contract manager
* Remove flattened contract before compiling/deploying
* 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
* 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.
* perf(ethereum): optimize gas & bytesize by changing some function parameters to use bytes memory
change parseWormholeMerkleHeaderNumUpdates & parsePriceFeedMessage to use bytes memory instead of
bytes calldata for function parameters
* perf(ethereum): more optimizations
use bytes memory for more functions, change parsePriceFeedMessage to use offset instead of copying a
slice
* [eth] Add unsafe calldata bytes lib (#888)
* Copy UnsafeBytesLib to UnsafeCalldataBytesLib
* [eth] Add UnsafeCalldataBytesLib and update code
---------
Co-authored-by: Ali Behjati <bahjatia@gmail.com>
* feat(ethereum): charge update fee per numUpdates for accumulator updates
* refactor(ethereum): refactor, add benchmarks for getUpdateFee
* refactor(ethereum): add back parseWormholeMerkleHeaderNumUpdates
* refactor: increment totalNumUdpates by 1 for batch prices
* test(ethereum): add test for checking getUpdateFee for accumulator, clean up unused code
* update price service sdk
* bump version
* fix test
* include slot
* bump price-service-client version
* bump all that uses price-service-client
* bump all that uses price-service-client
This PR adds the support WormholeMerkle accumulator message to the ethereum contract while still supporting the old message format. The code is not optimized yet and with more optimizations we can achieve a better gas usage. Currently based on the gas benchmark below it has a 18% improvement with a single price feed. Although the cost of updating 5 feeds in the same batch is higher than the current approach but in reality the chances that all 5 feeds be in the same batch is very low.
* [eth] Add Canto mainnet
This deployment also enables contract rewards on canto. Since the
changed code is only specific to the Canto network and is used only
in initialization, only the diff is added as a file.
* Remove ds store
* Add some doc to deploying.md
* [ethereum] Update truffle config
hdwallet package was updated in the PR bringing lerna to this repo.
In the new package the constructor arguments have changed. This PR updates that and adds a helper function to make the config more clear.
* Update truffle-config.js
* stuff
* make this look better
* improving ux
* basic functionality works
* clean up appearance
* 3 seconds
* clean up code a bit
* blah
* change website title and favicon and fix useEffect warning
* actually change website title and fix useEffect warning
* update metadata
* trigger deployment
---------
Co-authored-by: Daniel Chew <cctdaniel@outlook.com>
* Move lerna to the top
* Set version to independent
Packages are versioned independently
* Update packages and the lock
* Add build cache and better reference
* Add lerna docker base
* Add wormhole_attester sdk and some minor impr
* Update tsconfig to fix outDir impact by composite
* Update eth package
* Update p2w to use solidity-sdk
* Change xc-admin CI to lerna CI action
* Add more packages to the list + bugfixes
* Update dockerfiles to have tilt working
* Format the code
* Fix some issues
* Fix the change of usePyth.ts
* lerna build fix
* Fix foundry