Commit Graph

366 Commits

Author SHA1 Message Date
omahs fc916c6496
fix: typos (#1347)
* fix typo

* fix typos

* fix typo

* fix typos
2024-03-11 15:50:28 +00:00
Ali Behjati 182db58f83
chore(target_chains/ethereum): add new networks (#1343)
Add Mantle Sepolia, Merlin (testnet and mainnet), and Sei EVM devnet.
2024-03-07 20:59:55 +01:00
Ali Behjati 45e8951292
chore(target_chains/sui): update sui and wormhole dependency (#1341)
* chore(target_chains/sui): update sui and wormhole dependency

Developers on Sui need to pin the same Sui version as their
dependencies and it enforces everyone to use the same Sui version.

Pyth and Wormhole Sui versions have been old and this change updates
them to the latest testnet version (1.19.1) to make integrations with us
easier. Wormhole has undergone a similar change and thereforce its
version has changed as well.

No contract deployment is needed for this change as it only unblocks
downstream consumers for compiling their contracts.

* fix: update sui version in the ci workflow
2024-03-07 10:46:47 +01:00
guibescos ddf04637c5
fix: solana audit 3 (#1334)
* Audit 3

* Go

* Move it before sig verification

* Comment
2024-03-01 19:24:49 +00:00
guibescos e0f94ee164
Pay treasury rent (#1333) 2024-03-01 17:59:39 +00:00
guibescos 7bf2782da2
fix: audit feedback 1 (#1331)
* Audit 1

* Pin wh sdk

* Typo

* Typo

* Add constraint to initialize
2024-03-01 17:57:29 +00:00
Ali Behjati 736a20208b
chore(target_chains/sui): update sui js packages (#1340)
* chore(target_chains/sui): update sui js packages

* chore: bump version

---------

Co-authored-by: Amin Moghaddam <amin@pyth.network>
2024-03-01 17:05:52 +01:00
guibescos f9de5430d1
Move deps to the workspace level (#1332) 2024-03-01 13:24:41 +00:00
Ali Behjati 316816683e
chore(target_chains/ethereum): add Astar zkEVM mainnet network (#1336) 2024-03-01 11:40:33 +01:00
Amin Moghaddam 47470860bf
fix(solana-receiver-js): Add test script to make prepublishOnly work (#1327) 2024-02-29 09:45:33 +01:00
Amin Moghaddam 9e7b6d94ff
feat(per): Per solidity sdk (#1325)
* feat(per): add solidity sdk

* refactor(evm): refactor abi generator script

* feat(evm): add abi_generator package
2024-02-29 08:10:50 +01:00
guibescos e986b69c9a
feat(solana): js sdk (#1307)
* Do it

* Remove some duplicate code

* Cleanup

* Cleanup

* Cleanup import

* Correct description

* Fix path

* Cleanup deps

* Unique

* Works

* Continue

* Lint

* Lint config

* Fix ci

* Checkpoint

* Checkpoint

* Gitignore

* Cleanup

* Cleanup

* Continue building the sdk

* build function

* Remove files

* Remove files

* Rename

* Refactor : make transaction builder

* Make commitment

* Move

* Progress

* Checkpoint

* Ephemeral signers 2

* Checkpoint

* Checkpoint

* Fix bug

* Cleanup idls

* Compute units

* Make program addresses configurable

* Handle arrays

* Handle arrays

* Move PythSolanaReceiver

* Cleanup constants

* Contants

* Refactor constants

* Gitignore refactor

* package lock

* Cleanup idl

* Add useful static

* Add useful static

* Add useful static

* Lint

* Add lint config
2024-02-28 20:45:48 +00:00
Dev Kalra 38350421f6
chore(contract_manager): deploy price feed and entropy to blast (#1324)
* deploy blast price feeds

* deploy entropy on blast

* pre commit

* remove api key

* feedback
2024-02-28 19:36:23 +05:30
Jayant Krishnamurthy bec2ddfc5d
fix(entropy): Fix doc formatting (#1314) 2024-02-23 08:02:25 +01:00
guibescos 8f289307e6
feat(solana) : rust sdk (#1303)
* Continue

* Use this

* Try error conversion

* Stop moving

* Fix bug

* Try another version

* Another sdk update

* Clarify errors

* Errors

* Add errors

* Docs

* More unit tests

* Another unit test
2024-02-22 16:15:56 +00:00
guibescos 3c1348c530
feat(price-service-sdk) implement accumulator update data deserialization (#1308)
* Export

* Cleanup sui

*  Add comment

* Bump packages
2024-02-21 19:34:31 +00:00
Amin Moghaddam 289c6ff177
chore(evm): remove base goerli as the network is halted (#1313) 2024-02-21 16:31:16 +01:00
Jayant Krishnamurthy 00e2a024aa
[entropy] Remove warning in SDK docs (#1309) 2024-02-21 06:49:03 -08:00
Amin Moghaddam a4b9cb7471
chore(evm): new deployments (#1312) 2024-02-21 14:05:29 +01:00
Ali Behjati cc7b57145b
chore(xc_admin/frontend): set pythnet max publishers to 64 (#1305)
* chore(xc_admin/frontend): set pythnet max publishers to 64

* chore: fix ci
2024-02-21 13:46:06 +01:00
Amin Moghaddam cfe8d0f777 fix(entropy): Update fortuna domain 2024-02-21 10:39:40 +01:00
guibescos 26a3ebbfd7
refactor(solana): separate anchor state to another crate (#1302)
* Finish refactor

* Move constant
2024-02-20 12:07:57 +00:00
Ali Behjati 99f6dd99fc
chore(ethereum): add new networks (#1288)
This change adds the configuration of the following new networks:
- Hedera new testnet and mainnet
- Injective inEVM tesntet and mainnet
- IDEX xChain testnet

It also updates the ethereum sdk README to outline Hedera special
behaviour around update fees.
2024-02-09 12:43:01 +01:00
guibescos 3cc017e71b
[Solana] improve script (#1282)
* Test

* Fix idl

* Cleanup

* Improve script
2024-02-08 12:44:51 +00:00
guibescos 8f62566dbb
[solana] Fix idl (#1279)
* Test

* Fix idl

* Cleanup

* Add the script
2024-02-06 11:36:19 +00:00
guibescos 3555b9a976
Rename to singular (#1276) 2024-02-02 14:27:47 +00:00
Jayant Krishnamurthy f172adb389
[doc] Provide installation directions for Foundry (#1274)
By default, foundry expects every library to be a git project. This approach does not work well with SDKs in monorepos (like ours). However, you can also install the dependencies using NPM and then use remappings.txt to point to the SDK. This is a little janky, but it seems to be the recommended approach for this case 🤷

see issue here foundry-rs/foundry#1847
2024-02-01 09:52:31 -08:00
guibescos b2c90a310d
[Solana] Load balance treasury (#1267)
* Checkpoint

* Checkpoint

* Cleanup

* Checkpoint, debug

* Go

* Checkpoint

* Fix

* Add new error and test

* Cleanup

* Add another test

* Keep adding errors

* Another test

* Add comment

* More

* Do it

* Again

* Nice

* Checkpoint

* Checkpoint

* Nice
2024-02-01 16:27:35 +00:00
guibescos 7e65fd6597
[solana] reclaim rent (#1266)
* Checkpoint

* Checkpoint

* Cleanup

* Checkpoint, debug

* Go

* Checkpoint

* Fix

* Add new error and test

* Cleanup

* Add another test

* Keep adding errors

* Another test

* Add comment

* More

* Do it

* Again

* Nice

* Ship it
2024-02-01 15:51:24 +00:00
Ali Behjati f01d17e8ad
chore(ethereum): deploy to new networks (#1270)
also update the ethereum sdk js to include the newly deployed contracts
2024-02-01 12:38:05 +01:00
guibescos 1871ca1bf3
[Solana] More tests (#1263)
* Checkpoint

* Checkpoint

* Cleanup

* Checkpoint, debug

* Go

* Checkpoint

* Fix

* Add new error and test

* Cleanup

* Add another test

* Keep adding errors

* Another test

* Add comment

* More

* Do it

* Again

* Nice (#1265)

* Test governance

* Fix
2024-01-31 16:53:48 +00:00
guibescos 2ab72d994d
[solana] Add wrong vaa tests (#1262)
* Checkpoint

* Checkpoint

* Cleanup

* Checkpoint, debug

* Go

* Checkpoint

* Fix

* Add new error and test

* Cleanup

* Add another test

* Keep adding errors

* Another test

* Add comment

* Rename

* Rename
2024-01-31 14:16:43 +00:00
guibescos b0c6497fca
[solana] Solana tests 2 (#1255)
* Checkpoint

* Checkpoint

* Cleanup

* Checkpoint, debug

* Go

* update comment

* Add ci

* Update solana workflow

* Rename create_guardians

* Signatures

* Add some randomness

* Add randomness

* More randomness

* Do it

* Fix some clippies

* Change trim signatures
2024-01-30 13:55:23 +00:00
Dev Kalra 11c1fa7101
[executor/contract] add get methods and tests (#1260)
* add methods and tests

* add sequence check
2024-01-30 17:27:35 +05:30
Ali Behjati 9c6bdfdcf9
feat(contract_manager): script for EVM feeds contract deployment (#1254)
* feat(contract_manager): script for EVM feeds contract deployment

This change adds a script to replace truffle deployment scripts. This
gives us more control and flexibility over the deployment process.

* chore: address comments

---------

Co-authored-by: Dev Kalra <kalradev@outlook.com>
2024-01-30 12:11:19 +01:00
Amin Moghaddam 16b60d426e
Add entropy error signatures for easier access and debugging (#1259)
* Add entropy error signatures for easier access and debugging

* Add signatures for ExecutorErrors
2024-01-30 11:32:48 +01:00
guibescos e1db4aad65
[rust] Remove serde_wormhole patch (#1249)
* Do it

* Do it
2024-01-25 20:05:07 +00:00
guibescos 9697fad077
[solana/cosmwasm/near] Rust tests refactor (#1238)
* Try

* Near

* revert

* Try to add CI

* Cleanup

* Cleanup

* Fmt

* cleanup

* Fix CI

* Cleanup

* Cleanup

* Cleanup rust toolchains

* Pin to tag

* Rename to test-utils

* Add deps

* Checkpoint

* Checkpoint

* Checkpoint

* Fix wormhole stub

* Checkpoint

* Start debugging

* Green

* More green

* Cleanup

* More cleanup

* Cleanup

* Factor create_dummy_price_feed_message

* Format

* Cleanup imports

* Cleanup

* Near cleanup:

* Format

* Refactor constants

* cleanup

* More refactor

* Cleanup more magic numbers

* Remove magic numbers

* Cleanup

* Format

* Remove magic numnber
2024-01-25 18:25:07 +00:00
Dev Kalra 82cd11cc77
[Executor] minor fix (#1246) 2024-01-25 17:41:39 +05:30
guibescos 3e762aa985
[Near] Bump wormhole (#1239)
* Try

* Near

* revert

* Try to add CI

* Cleanup

* Cleanup

* Fmt

* cleanup

* Fix CI

* Cleanup

* Cleanup

* Cleanup rust toolchains

* Pin to tag
2024-01-25 11:31:36 +00:00
guibescos 6917c84b0e
[cosmwasm] Use ParsedVaa from wormhole contract (#1237)
* Use ParsedVaa from wormhole contract

* Cleanup

* Pin it

* Test this CI

* Cleanup

* Revert "Test this CI"

This reverts commit 0cb2caedd3d3f7d49d7f53cd0d67fc12be092c2f.

* Use tag
2024-01-24 17:40:15 +00:00
guibescos 35b5736533
[cosmwasm] Fix release ci (#1243)
* Fix ci

* Do it

* Try if it succeeds

* Another try

* Fix
2024-01-24 15:47:17 +00:00
Amin Moghaddam eef8468a22
Entropy support in contract manager (#1242)
* Rename contracts to PriceFeedContracts

* Initial version of EvmEntropyContract
2024-01-24 14:36:10 +01:00
Dev Kalra 70c6db0020
[evm contracts] add version to entropy and executor (#1240)
* add version to entropy and executor

* resolve
2024-01-24 18:05:34 +05:30
Ali Behjati c5d02afe53 fix(ethereum): emit update event on parse* methods in MockPyth 2024-01-23 10:46:39 +01:00
Ali Behjati 7529b053e3 chore(ethereum): add new networks
This change adds RPC configuration for Filecoin and Hedera and adds the
contract addresses for Filecoin.
2024-01-22 19:36:38 +01:00
Ali Behjati be8447324c fix(target_chains/ethereum): update MockPyth to address Pyth
We've recently changed Pyth to store the feeds on parse* methods if
the updateData provided contains fresh prices. This change adds the
same feature to the MockPyth.
2024-01-19 11:36:11 +00:00
Dev Kalra 658d7ca032
[entropy] set provider fee and uri (#1230)
* set provider fee and uri

* update comment

* pre commit

* abis gen

* update tests
2024-01-18 13:55:48 +05:30
guibescos 112db1d69e
[Solana] Elevate wormhole core bridge dependency to workspace, stop using my branch (#1228)
* Do it

* Do it
2024-01-17 15:56:54 +00:00
guibescos d3ed683b91
[Solana] tests (#1226)
* Checkpoint

* Checkpoint

* Checkpoint

* Nice

* Finally works

* Cleanup

* Cleanup

* Cleanup

* Cleanup

* Checkpoint

* Works

* Final cleanup

* Remove async

* Continue
2024-01-17 15:46:31 +00:00
Ali Behjati b6c39ce7bb chore(ethereum): deploy to new networks 2024-01-11 18:48:19 +01:00
Amin Moghaddam cee5da93d8
Movement move (#1211)
* [contract manager] Implement WormholeAptosContract and integrate aptos cli with the manager

* Add getChainId for wormhole contracts

* Add movement contracts

* Simplify aptos cli
2024-01-11 12:35:52 +01:00
Jayant Krishnamurthy 7cf7420203
[entropy] add entropy ABIs to solidity sdk (#1219) 2024-01-10 10:57:03 -08:00
guibescos 43bc28d000
[Solana] readme update (#1217)
* Reuse accounts

* Readme update

* Readme udpate

* revert this one
2024-01-09 12:10:33 +00:00
Amin Moghaddam d0ceb076d8
[evm] Persist price updates if more recent (#1208)
* Persist price info if it is more recent in parse functions

* Refactor setLatestPrice to include checks and event in a single place

* Add test cases
2024-01-09 10:30:20 +01:00
guibescos a94194184b
[solana] Reuse accounts (#1216)
* Reuse accounts

* add comment
2024-01-08 20:08:55 +00:00
guibescos 0ce4c4c8fe
Fix it (#1215) 2024-01-08 20:04:31 +00:00
guibescos e388281dc0
[solana] Fix guardian set owner bug (#1214)
* Fix the owner bug

* Remove seeds in context
2024-01-08 19:58:28 +00:00
guibescos c1cc7127c2
Use official wormhole, introducing VerificationLevel (#1212)
* Do it

* Do it

* Cleanup deps

* Delete this
2024-01-08 19:03:30 +00:00
guibescos 3458dd5b7d
[solana] Post update atomic (#1210)
* Post update atomic

* Checkpoint cli

* Fix bug

* Atomic

* Cleanup

* Cleanup

* Cleanup

* Cleanup

* Comment

* Add wormhole errors

* refactor trim signatures
2024-01-08 14:27:03 +00:00
Dev Kalra 2d5e030149
[executor] call contract with value (#1206)
* call contract with value

* address feedback
2024-01-08 17:29:32 +05:30
Dev Kalra 220e06a62d
test owner upgradable (#1207) 2024-01-07 17:31:34 +05:30
guibescos 1778871b8b
[solana] Post price with 13 signature verifications in 2 transactions (#1209)
* Rebalance transactions so you can post an update in two transactions

* Remove magic number

* Cleanup

* Cleanup

* Add comment
2024-01-05 17:41:35 +00:00
Dev Kalra 1816838c8a
[executor] implement upgradability (#1198)
* get all test to work

* executor upgradable

* update comments

* address feedback

* fix tests
2024-01-04 15:59:29 +05:30
Amin Moghaddam e1606a42b5
Add Base sepolia + some minor improvements (#1202)
* Add base sepolia

* Fix broken rpc urls

* Small fix
2024-01-03 11:30:17 +01:00
Dev Kalra 6463f1a98f
fix check an active request (#1200) 2023-12-21 15:50:47 +05:30
Dev Kalra 3565ee627e
point entropy sdk docs to pyth docs for current deployments (#1199) 2023-12-21 15:26:26 +05:30
Ali Behjati 4f7c5e9dcd chore(target_chains/ethereum): update testnet contract addresses 2023-12-19 10:47:49 +01:00
guibescos 6f3dd5cd10
[solana-reciever] update docs (#1192)
* Docs

* Fix

* Do it

* Address feedback
2023-12-18 21:56:02 +07:00
Amin Moghaddam 51d23a2f52
chore(eth) Add zksync-sepolia (#1190) 2023-12-18 10:29:59 +01:00
guibescos a60279a2cc
[solana-receiver] Post price update (#1189)
* Do it

* Remove keypairs

* add check comment

* Works

* Cleanup deps

* Next

* Add better docs
2023-12-18 11:46:45 +07:00
guibescos 4aa60453bd
[solana-receiver] Initialize receiver from CLI (#1191)
* Initialize

* Update address

* cleanup
2023-12-18 11:08:08 +07:00
guibescos 0a86414523
[pythnet-sdk] Fix CI. Make dependency path. (#1188)
* Update status

* Lfg
2023-12-16 02:21:11 +07:00
Dev Kalra 3ecbca7daa
[fortuna] update config and abi (#1187)
* update config and abi

* introduce sepolia later

* update sdk readme

* fix lightlink issue

* update link
2023-12-15 17:30:38 +05:30
guibescos 7bf41c40e6
[solana-receiver-cli] Add logic to receive VAAs with the new Wormhole receiver (#1184)
* Checkpoint

* Checkpoint

* Cleanup

* More cleanup

* Cleanup

* Should work

* Rename

* New receiver post-vaa

* Rename legacy

* Checkpoint

* ADd compute units

* Revert htis file

* Rename

* Comments
2023-12-15 10:33:17 +07:00
guibescos f78301d019
[pyth-solana-receiver-cli] Initialize solana wormhole receiver (#1180)
* Checkpoint

* Checkpoint

* Checkpoint

* Cleanup

* More cleanup

* Cleanup

* Cleanup

* Should work

* reorder

* Send it

* Rename

* Add comment
2023-12-15 02:21:02 +07:00
Dev Kalra 5d951ee755
[entropy] audit 4. users can influence the Entropy revealed result (#1179)
* add a check for blockhash

* add comment

* update test name

* comment update

* change block number

* change order for assertions

* pre commit run

* names and comments
2023-12-14 17:57:45 +05:30
Dev Kalra 654c1eae89
add zero value check (#1181) 2023-12-14 17:54:43 +05:30
guibescos 9875bc2ba4
feat(target-chains/solana): Implement governance for the solana pull oracle (#1175)
* Do it

* Go

* Address some feedback

* Update size of config
2023-12-14 19:11:34 +07:00
Dev Kalra f0c67c5996
[entropy] audit: 3. two step transfer (#1178)
* two step owner transfer

* admin two step transfer

* remove redundant test
2023-12-13 16:45:07 +05:30
Dev Kalra 941ee777f0
[entropy] audit - 2. lack of contract existence check (#1177)
* contract existence check

* better comment
2023-12-13 16:42:21 +05:30
Amin Moghaddam 8adac4344f
chore(eth) Add bttc (#1172)
* chore(eth) Add bttc
2023-12-08 22:56:16 +08:00
Reisen 214bafa420 near: internal feedback 2023-12-07 17:40:18 +00:00
Reisen 415ca4f9b1 near: add vaa verify to claim, also fixes private 2023-12-07 17:40:18 +00:00
Reisen bd24d4d42c near: address both refund logic issues 2023-12-07 17:40:18 +00:00
Reisen f3dce0e316 near: make codehash safe for repeat upgrades, document 2023-12-07 17:40:18 +00:00
Reisen 177b5af94b near: use Seconds alias to document units, fix calc 2023-12-07 17:40:18 +00:00
Reisen 5b7ada59bd fix(near): sdk compat 2.0 2023-12-07 17:40:18 +00:00
Ali Behjati bbd3d1add3 chore(target_chains/eth): revert solidity version
This change reverts the solidity version to 0.8.4 as the current version
troubles the Pyth price feeds contract deployment. Some tests are
changed to use the methods available in the older version.

Also, the Pyth contract version is updated. This is because we made a
change to the Governance structs (to add Stacks) that results in a new
bytecode.
2023-12-06 17:42:42 +03:30
Reisen 7b3055460e fix(near): match Price interface from pyth-sdk 2023-12-05 10:12:39 +00:00
Jayant Krishnamurthy c592fd36ca
[fortuna] Add confirmation delay before responding (#1161)
* Update abi

* fix tests

* update contract

* fix fortuna

* test confirmation delay

* cleanup

* fix

* split the fields

* saturating sub

* rename
2023-12-04 10:25:00 +01:00
Jayant Krishnamurthy 21a4ec8277
[entropy] Update readmes and docs (#1163)
* add some docs

* more doc edits
2023-12-03 09:14:46 -08:00
Jayant Krishnamurthy 0a2378e94c
[entropy] more executor tests (#1162) 2023-12-03 09:14:35 -08:00
Amin Moghaddam 8a98279fb2
chore(eth) deploy to mode (#1159) 2023-12-03 13:20:38 +03:30
Jayant Krishnamurthy 97bbc8cef9
add authorization for reveal method (#1156) 2023-11-30 13:28:00 -08:00
swimricky 8202181a1b
Solana receiver decode vaa accumulator (#1145)
* feat: impl postAccumulatorUpdateVaa and postUpdates and CLI test changes

* feat: clean up

* refactor: reorganize and fix tests

* refactor: clean up

* chore: add rust-toolchain for solana target contract dir

* refactor: clean up and address feedback

* refactor: make emitter chain & post vaa program configurable

* feat: remove postAccUpdateVaa and use wh post_vaa in cli

* fix: add check for emitter address, hardcode expected emitter chain/addr for now

* chore: cleanup

* chore: clean up

* feat: address feedback, move checks from context into account, use signatureset for postupdates

* feat: use pubkey and require_keys_eq! for emitter addr check

* refactor: address feedback

add documentation and todos, revert programsimulator to use upgradable bpf loader

* feat: remove signature_set account from post_updates, update docs & readme

* test: add lazy static for setting up pyth binary but still has same invalidaccountdata issue

* chore: clean up

* refactor: remove unused errors

* feat: use UncheckedAccount for posted_vaa so owner can be checked dynamically against config
2023-11-30 16:04:41 -05:00
Jayant Krishnamurthy 99be611684
[stacks] Add constants for Stacks (#1158)
* add constants for stacks

* di
2023-11-30 11:57:15 -08:00
Dev Kalra ae7610b0ab
[entropy] governance (#1154)
* governance

* correct comment

* add upgradability

* remove unused lib

* update governance and update logic

* change specifiers

* fix tests

* add tests

* rebase bug fixes

* change error name

* fix tests

* no need of UUPSProxy

* minimise the amount of code

* separate file for authorized tests

* add comment

* correct comment
2023-11-30 16:29:35 +05:30
Jayant Krishnamurthy b2e4d56d36
[entropy] Entropy gas benchmarks and optimizations (#1153)
* add gas benchmark

* fix benchmark

* fix benchmark

* fix benchmark

* optimization 1: remove provider

* move to u128 for fees

* update benchmark

* comment

* reduce commitment storage

* optimize storage more

* fix fee fields in state

* hmm

* ok

* fix

* cleanup

* this got out of hand

* test overflow conditions

* fix bad merge

* doc
2023-11-29 14:37:42 -08:00
Jayant Krishnamurthy a5646bf840
[entropy] Add a default provider (#1150)
* making a mess here

* add default provider

* cleanup

* test new abi

* add uri to fortuna

* pr comments
2023-11-27 18:40:36 -08:00