pyth-crosschain/target_chains/cosmwasm/tools
Mohammad Amin Khashkhashi Moghaddam 272f3c1984
[contract-manager] Contract manager improvements (#1000)
* 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
2023-08-07 14:13:29 +02:00
..
src [contract-manager] Cosmwasm contracts (#986) 2023-07-27 14:36:16 +02:00
store Remove osmosis testnet 4 as it is deprecated and we already have testnet 5 (#974) 2023-07-24 19:37:55 +09:00
README.md [target_chains] Add deployment information for neutron mainnet (#930) 2023-06-30 14:33:25 +02:00
deploy.sh [refactor] Convert hyphen to underscore in the directory tree (#524) 2023-01-24 19:06:22 +01:00
package.json [contract-manager] Contract manager improvements (#1000) 2023-08-07 14:13:29 +02:00
tsconfig.json Expose pythnet message buffer idls (#865) 2023-06-09 14:10:28 +02:00

README.md

How to add a new chain for deployment

  1. Add the chain name to ChainId enum in chains-manager/chains.ts
  2. Add the network configs to CHAINS_NETWORK_CONFIG in chains-manager/chains.ts. You can lookup for rpc endpoints in this repo. The gasPrice is the average_gas_price of the chain + the chain token denom (Available in chain-registry chain.json file).
  3. Add the contract configs to CHAINS_CONTRACT_CONFIG in configs.ts
  4. Add the ChainId either to getChainIdsForStableDeployment or getChainIdsForEdgeDeployment functions in helper.ts
  5. If the wormhole contract is not deployed on the target chain run the following command:
ts-node src/wormhole-stub.ts --mnemonic "<YOUR_MNEMONIC>" --deploy <stable or edge>
  1. Deploy the pyth contract:
ts-node src/instantiate-pyth.ts --contract-version <X.Y.Z> --mnemonic "<YOUR_MNEMONIC>" --deploy <stable or edge>
  1. Test the new contract:
ts-node src/test.ts --mnemonic "<YOUR_MNEMONIC>" --deploy <stable or edge>
  1. Commit the new json files to the repo
  2. Update documentation repos and add the new contract address