|
|
1 vuosi sitten | |
|---|---|---|
| .. | ||
| src | 4a2b8d4cb5 feat(target_chains/sui): use sui sdk v1 (#1802) | 1 vuosi sitten |
| .gitignore | 93598f8dc4 fix(target_chains/sui/cli): update sui js package to make it work (#1386) | 1 vuosi sitten |
| README.md | fc916c6496 fix: typos (#1347) | 1 vuosi sitten |
| package.json | 4a2b8d4cb5 feat(target_chains/sui): use sui sdk v1 (#1802) | 1 vuosi sitten |
| tsconfig.json | 5a714662b0 [sui] Use manual serialization for vaas (#1016) | 2 vuotta sitten |
Install move cli according to this doc
Configure the Move.toml file accordingly. The wormhole address should be specified based on the target chain in the Move.toml and the pyth address should be 0x0.
We can deploy the pyth oracle and initialize it with the following command:
npm run cli -- deploy --private-key <private-key> --chain [sui_mainnet|sui_testnet]
You can then add your sui contract configs to the contract manager store.
You can also manually create all the price feeds available at the moment to make it easier for devs to test the oracle.
npm run cli -- create-all --private-key <private-key> --contract <contract-id>
You can use the create and update-feeds commands to create and update price feeds respectively.
npm run cli -- create --feed-id <feed-id> --private-key <private-key> --contract <contract-id>
npm run cli -- update-feeds --feed-id <feed-id> --private-key <private-key> --contract <contract-id>
The following steps are needed to upgrade our sui contracts:
current_version and previous_version functions in version_control modulemigrate moduleRun the following command to generate the new hash, make sure the contract addresses are identical to the deployed ones:
npm run cli -- generate-digest
To upgrade the contract after the governance vaa was executed run:
npm run cli -- upgrade --private-key <private-key> --contract <contract-id> --vaa <upgrade-vaa>
The upgrade procedure consists of 2 transactions. The first one is to upgrade the contract (sui level) and the second one is to run the migrate function and upgrade the version (package level).
Since clients try to fetch the latest version of the package automatically, it's important to run the second transaction as soon as possible after the first one.
Transaction has non recoverable errors from at least 1/3 of validators. What should I do?
Make sure you have enough funding in the wallet and try again. Usually a more descriptive error message is available in the returned value of the transaction.