Commit Graph

203 Commits

Author SHA1 Message Date
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
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
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
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
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
Amin Moghaddam 51d23a2f52
chore(eth) Add zksync-sepolia (#1190) 2023-12-18 10:29:59 +01: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
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
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
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
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
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
Jayant Krishnamurthy b7a089b51e
[entropy] Change provider interface to simplify supporting many chains (#1149)
* grr

* cleanup

* fix semver
2023-11-27 07:39:54 -08:00
Jayant Krishnamurthy da72b6e250
[entropy] First cut at EVM executor (#1148)
* executor

* executor tests

* basic test works

* cleanup

* cleanup

* fix ci
2023-11-27 06:45:43 -08:00
Ali Behjati ff0d9fe65c
chore(eth): update mentions to evm-testnet and hermes-beta (#1151)
We have deployed new Pyth contracts on testnets using the stable
feeds and users no longer need to use hermes-beta in many networks.
This change updates the mentions to them.
2023-11-27 10:12:52 +01:00
Ali Behjati 2c93737366
chore(eth): deploy stable contracts on testnets (#1146)
* chore(eth): deploy stable contracts on testnets

* chore(eth): address feedbacks

* Add op sepolia

---------

Co-authored-by: Amin Moghaddam <amin@pyth.network>
2023-11-24 11:59:04 +01:00
Jayant Krishnamurthy c0b383e277
[entropy] add arbitrum goerli (#1139) 2023-11-09 13:58:09 -08:00
Amin Moghaddam 16832aba51
chore(eth): Add tomochain (#1134) 2023-11-07 10:28:52 +01:00
Jayant Krishnamurthy 8e11d4f442
minor stuff (#1132) 2023-11-03 10:04:54 -07:00
Jayant Krishnamurthy 8c35091831
[entropy] Minor updates to parameters / docs (#1131)
* update parameters

* install instructions

* format stuff
2023-11-01 13:34:47 -07:00
Jayant Krishnamurthy 44ebfbaf55
[entropy] make the SDK public
I think I need this field to get NPM to publish this new package.
2023-11-01 12:41:39 -07:00
Jayant Krishnamurthy f36e868ef6
[entropy] Typescript code for coin flip example + docs (#1128)
* adding stuff

* add coin flip example

* it works

* docs

* hm

* pr comments
2023-11-01 10:30:04 -07:00
Jayant Krishnamurthy fe7984d132
[entropy] Rename files (#1127)
* rename stuff

* fix

* fix
2023-10-31 08:50:15 -07:00
Jayant Krishnamurthy ddbbe2af14
Entropy Solidity SDK & usage example (#1124)
* grr

* revert

* ok

* ok

* ok

* deploy script

* implement interface

* doc comments

* fix comment
2023-10-31 06:32:21 -07:00
Amin Moghaddam 8d99ac402c
chore(evm) Add more networks (#1121) 2023-10-23 11:41:07 +02:00
Jayant Krishnamurthy 4776bdcdf9
Fortuna CI workflows (#1120)
* CI and docker

* cleanup

* erc

* whoops
2023-10-20 10:49:41 -07:00
Ali Behjati efcfae3ed7 chore(eth): deploy to chiliz mainnet 2023-10-20 17:42:47 +02:00
Ali Behjati 65e21997e4 chore: remove price service mentions in the repo 2023-10-19 09:25:03 +02:00
Ali Behjati 49d1a579c3 chore: cleanup repo 2023-10-18 18:32:42 +02:00
Amin Moghaddam c0057809f5
chore(evm): deploy to new networks (#1107) 2023-10-18 17:20:44 +02:00
Jayant Krishnamurthy 727f9ec33d
Initial version of random numbers contract (#1093)
* initial merkle tree cut

* initial working test

* grrr

* add this deploy script

* contract stuff

* doc

* cleanup

* cleanup

* delete janky deploy script

* first commit of random2

* randomness

* format

* wtf

* wtf

* stuff

* cleanup

* minor

* add extra field

* pr comments
2023-10-17 13:07:47 -07:00
Amin Moghaddam 4bc11b863c
chore(evm): deploy to new networks (#1104)
zetachain testnet
2023-10-17 18:15:17 +02:00
Ali Behjati ad277ec7f2 chore(evm): deploy to new networks
chiliz_spicy and scroll
2023-10-17 10:04:34 +02:00
Ali Behjati 2b51cffdc7 fix(price-service/client): remove axios version lock 2023-10-16 16:46:57 +02:00
Amin Moghaddam 6cebfef1df
[evm] Evm runs (#1099)
* Show chain id when checking proposals

* Reduce number of optimizations to 200 in order to defeat the Spurious Dragon
2023-10-13 15:45:35 +02:00
Amin Moghaddam eb9526675c
[evm] parsePriceFeed with uniqueness validation (#1089)
* Implement uniqueness
* Add tests and update abi
* Fix MockPyth for the unique version
* Bump version
* Add gas benchmark functions
2023-10-13 14:15:42 +02:00
Amin Moghaddam f5698bf509 Add optimism sepolia 2023-10-11 21:12:11 +02:00
Amin Moghaddam 0e67978aea
Add manta (#1085) 2023-10-11 11:05:05 +02:00
Amin Moghaddam f224486ae2
Aptos improvements (#1079)
* 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
2023-10-10 12:03:01 +02:00
Amin Moghaddam 17f489e629 Add boba deployment files 2023-10-09 11:04:42 +02:00
Jayant Krishnamurthy 2858d56f47
Update docs
these instructions are old
2023-09-27 06:08:00 -07:00
Amin Moghaddam a093a8f9c8
Switch from arbitrum goerli to arbitrum sepolia (#1066)
* Change canto rpc address because last one was unreachable

* Deploy on arbitrum sepolia and remove arbitrum goerli
2023-09-27 12:28:09 +02:00
Ali Behjati 24f582cd5a Update README.md 2023-09-22 18:28:24 +02:00
Ali Behjati 65ecd890ae feat(price-service/sdk): add prev_publish_time metadata 2023-09-22 13:30:30 +02:00
Amin Moghaddam f2ca88176a
Add shimmer mainnet (#1053) 2023-09-15 18:23:12 +02:00
Amin Moghaddam 79ea43553f
Add sepolia testnet (#1051) 2023-09-13 15:53:18 +02:00
Ali Behjati a34f759061 chore(eth): deploy to horizen eon/gobi 2023-09-12 15:10:09 +02:00
Sahilgat 7cbdcb562d fix: underflow issue 2023-09-04 18:44:41 +02:00
Ali Behjati e1ae1ad1c4 fix(eth): update legacy updateFee method pricing 2023-08-31 11:51:27 +02:00
Amin Moghaddam 47c6f45128 Add addresses to evm js sdk 2023-08-28 14:40:09 +02:00
Mohammad Amin Khashkhashi Moghaddam 78ca49dcc3
[evm] [cosmwasm] Minor cleanup (#1027)
* Remove old cosmwasm address documentation

* Remove old evm migration folder and keep prod-receiver
2023-08-24 11:41:59 +02:00
Mohammad Amin Khashkhashi Moghaddam b9dbd54d5a
[contract-manager] General improvements (#1024)
* 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
2023-08-23 16:29:43 +02:00
Ali Behjati ec63330cf0 chore: add coverage/ to gitignore 2023-08-09 20:58:54 +03:30
Ali Behjati 439a0f0337 fix: make coverage work on newer versions 2023-08-09 20:58:54 +03:30
Jeff Schroeder 4e8c30b072 chore(ethereum): add html coverage bits
Add an npm helper to output the html coverage files via:

    npm run coverage

This requires lcov and genhtml to be installed.
2023-08-09 20:58:54 +03:30
Mohammad Amin Khashkhashi Moghaddam e422fb9321
[evm] Wormhole receiver deploy all (#1009)
* Add verification logic for evm set wormhole address instruction

* Minor improvements and cleanup on contract manager evm

* Batch deploy script

* Better docs on verification

* Fix zkSync deployment script and update documentation
2023-08-09 18:22:47 +02:00
Ali Behjati f1eeb94210 chore(eth): add scroll sepolia 2023-08-08 10:21:05 +03:30
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
Mohammad Amin Khashkhashi Moghaddam 175dfef5bd
Deploy to the latest shimmer testnet (#1001) 2023-08-02 16:59:39 +01:00
Ali Behjati 928027a270
chore(ethereum): deploy to base and syndr_testnet (#988) 2023-07-27 16:16:45 +03:30
Mohammad Amin Khashkhashi Moghaddam 741f763375
Fix mainnet values on fuji and chiado and remove oasis network (#979) 2023-07-25 11:31:45 +03:30
Ali Behjati e63490be48
[eth] Add EOS network (#963) 2023-07-18 23:00:47 +03:30
Ali Behjati dcec1e9328
[eth] Finalize accumulator contract (#960) 2023-07-18 12:57:29 +03:30
Mohammad Amin Khashkhashi Moghaddam 9bdc493ce6
Update evm chain and contract configs (#961)
Remove ropsten and shimmer_testnet network as they are deprecated
Provide neon rpc url as it is not private anymore
2023-07-18 10:36:26 +02:00
Mohammad Amin Khashkhashi Moghaddam 6f8fa11b20
Fix README.md for prettier (#959) 2023-07-17 16:42:03 +02:00
Ali Behjati c86e4f2610
[eth] Add linea (#956)
* [eth] Add linea

* Fix pre-commit
2023-07-17 17:51:22 +03:30
Mohammad Amin Khashkhashi Moghaddam c732fcf586
Abolish xc governance sdk (#957)
* 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
2023-07-17 15:24:54 +02:00
Mohammad Amin Khashkhashi Moghaddam b64090aa75
Update README.md (#958) 2023-07-17 15:23:16 +02:00
Mohammad Amin Khashkhashi Moghaddam eddb789134
Restore accidentally removed file (#950) 2023-07-12 16:12:57 +02:00
Mohammad Amin Khashkhashi Moghaddam 66e5f186b2
Initial version of contract manager sdk (#943)
* 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
2023-07-12 15:50:24 +02:00
guibescos a77ee78d13
[eth] Deploy to mantle (#948)
* Deploy mantle

* Update pyth-evm-ks

* Update docs
2023-07-12 14:18:56 +01:00
Daniel Chew 8752291aa2
fix broken links (#945)
* fix broken links

* undo import order changes

* Fix more links

* Fix more broken links

* Fix more broken links

* Fix more broken links

* Fix precommit

---------

Co-authored-by: Thomaz Leite <thomaz@pyth.network>
Co-authored-by: Guillermo Bescos <g.bescos@yahoo.com>
2023-07-11 11:41:43 +01:00
Ali Behjati 2a4045504d
[eth] Add Linea goerli network (#947)
* [eth] Add Linea goerli network

* Add linea_testnet to eth/sdk/js
2023-07-11 11:15:22 +01:00
Ali Behjati bef4073b54
[price-service/client] Crash by default on WsError (#934)
* [price-service/client] Crash by default on WsError

* Update docker-compose files

* Update package versions again
2023-07-07 11:43:04 +03:30
swimricky ac97b4d35d
[eth] - Aave FallbackOracle Integration (#924)
* feat(eth): aave integration

Add IPriceOracleGetter and PythAssetRegistry mapping

* feat(eth): remove IPriceOracleGetter from PythAssetRegistryGetter

* refactor(eth): flatten PythAssetRegistySetter/Getter into PythAssetRegistry

* feat(eth): address feedback

move aave related contracts into separate directory, add explicit exponent/decimal handling, add
staleness check

* refactor(eth): minor rename to avoid shadowing

* fix(eth): handle exponent conversion and add tests

* chore(eth): remove unused console import

* feat(eth): address PR feedback

add more checks, tests & minor refactoring

* feat(eth): add more tests and address feedback
2023-07-06 08:29:08 -04:00
Ali Behjati aa0e6fdf22
[eth] Add WEMIX network (#940)
* [eth] Add WEMIX network

* Fix pre-commit

* Remove unnecessary change

* Fix prettier

---------

Co-authored-by: Guillermo Bescos <g.bescos@yahoo.com>
2023-07-05 18:15:43 +01:00
Ryu 5e44fa4c95
[price_service] js client: getPriceFeed() (#922)
* [price_service] js client: getPriceFeed()

* Fix pre-commit

* Bump package versions

---------

Co-authored-by: Ali Behjati <bahjatia@gmail.com>
2023-06-28 18:28:37 +02:00
Ali Behjati e39277dd9c
[eth] Add setWormholeAddress governance message (#917)
* [eth] Add setWormholeAddress governance message

* Address review feedbacks

* Add signatures to errors

This will help with debugging

* Update abi
2023-06-26 11:31:19 +02:00
swimricky 919f71e68f
[eth] - optimize ReceiverMessages parseAndVerifyVM (#901)
* 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
2023-06-22 14:11:54 -04:00