|
|
hai 1 ano | |
|---|---|---|
| .. | ||
| aptos | 51d5217a57 Fix workspace references | hai 1 ano |
| cosmwasm | 51d5217a57 Fix workspace references | hai 1 ano |
| ethereum | a7fcdedf12 chore(target_chains/ethereum): deploy to klaytn networks (#1721) | hai 1 ano |
| fuel | 9a1cca0362 fix(target_chains/fuel): update js sdk to properly gen and export types (#1703) | hai 1 ano |
| near | b672613273 feat(target_chains/near): added batch price fetching functions (#1578) | hai 1 ano |
| solana | bfe9b2c4a2 Merge pull request #1678 from cprussin/migrate-to-pnpm | hai 1 ano |
| starknet | 40a63bf8f8 fix(target_chains/starknet): fix ByteBuffer.fromHex and add more conversions (#1717) | hai 1 ano |
| sui | 5560f071d2 fix(target_chains/sui/cli): add ts-node to deps (#1713) | hai 1 ano |
| README.md | fc916c6496 fix: typos (#1347) | hai 1 ano |
This directory includes all implementations of pyth contracts in different chains.
Each implementation includes:
Contracts deployed on other chains accept updates that are signed and published by wormhole. These updates are in one of the two categories:
These messages are generated in pythnet (pyth mainnet network) and pythtest (pyth testnet network) and submitted to the wormhole program that is published on these chains. Then the wormhole network signs these messages and produces a VAA that can be relayed and consumed in contracts on other blockchains.
A basic implementation of pyth on a target chain includes the following pieces of logic:
In terms of contract configuration the following states exist on all the implementations:
In the case that wormhole is not deployed on a new chain we want to deploy pyth on, we need to deploy wormhole too. The deployment process is chain dependent, but should be very similar to how pyth is deployed on the target chain. After the initial deployment, we need to make sure wormhole configuration is also on the latest version. This is done by running a set of fixed, known VAAs that update the wormhole configurations (guardians sets) on all chains.
A general upgrade process has the following steps, these steps can vary slightly based on the target chain nature:
Deploying a contract on a new chain consists of the following steps: