Commit Graph

2081 Commits

Author SHA1 Message Date
Jayant Krishnamurthy cdf99f4c60
Upgrade contract & fix deployment script (#447)
* merge

* stuff

* gr

* config

* config

* config

* config

* config

* config

* config

* cleanup

* add commands

* cleaunp

* fix

* use u64

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
Co-authored-by: Jayant Krishnamurthy <jayant@jumpcrypto.com>
2022-12-30 07:36:55 -08:00
Jayant Krishnamurthy 6833f41424
[cosmos] Require governance instruction bytes to be completely consumed (#448)
* add test

* fix  build

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-29 12:04:50 -08:00
Jayant Krishnamurthy 695b096bb8
[cosmos] Misc code cleanup (#446)
* cleanup some stuff

* store things as Coin

* fix ci

* cleanup

* fix

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-29 07:01:19 -08:00
Jayant Krishnamurthy 9c79ab8862
[cosmos] Implement the other governance instructions (#442)
* initial commit for governance instructions

* merge

* docs

* update deployment code

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-29 06:02:43 -08:00
Daniel Chew 9ac61742c3
add binary option to subscribe to binary vaas (#444)
* add binary option to subscrube to binary vaas

* change property name

* combine verbosity and binary to a single config

* add tests
2022-12-29 18:35:12 +09:00
Jayant Krishnamurthy 6b07ae607c
Add query methods to cosmwasm contract (#441)
* implement query operations

* more governance

* revert

* update the terra sdk?

* wtf

* fix ci

* add tests

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-27 09:59:48 -08:00
guibescos bddcb69351
[multisig-cli] Refactor check that multisig vault already exists (#437)
* Refactor check that multisig vault already exists

* [Multisig] add transfer auth to multisig (#439)

* Checkpoint

* Cleanup

* Revert "[Multisig] add transfer auth to multisig (#439)" (#440)

This reverts commit 5fcbb4ca1f071f9da98946aededc2174f3e917bb.
2022-12-21 17:26:33 +01:00
Ali Behjati 04d8a468ac
[eth] Improve docs and repo (#438)
* Remove .openzeppelin and its docs

This directory is no longer useful as we are not using truffle for
upgrades anymore.

* Update Deploying.md doc according to the feedbacks

* Add *mnemonic* to gitignore to avoid mistakes
2022-12-21 14:16:28 +01:00
Daniel Chew 2efd512d36
[eth] Deploy to arbitrum-testnet (#436)
* add arbitrum-testnet contract

* Fix format issues

Co-authored-by: Ali Behjati <bahjatia@gmail.com>
2022-12-20 19:02:59 +01:00
Stanisław Drozd afd4a8be91
wormhole-attester: Add a histogram metric for tx processing duration (#434)
This adds buckets between 16ms and 65.536 seconds. In tilt, most
attestation txs fall between 256 and 1024 milliseconds.
2022-12-20 11:53:51 +01:00
Ali Behjati 54846061dd
[price-service] Update docs + compose-file (#432)
* [price-service] Update docs + compose-file

* Address reviews

* Fix pre-commit issues
2022-12-20 10:08:06 +01:00
Thomaz Leite 3da1e86d56
Update README.md (#435) 2022-12-19 18:02:07 +00:00
Jayant Krishnamurthy 6b29d9704a
[cosmos] Pay fee + mock wormhole for testing (#433)
* added handler

* create binary for vaas

* updating tests

* add fee test

* blah

* simplify

* simplify

* cleanup5

* Add fees to the terra relayer

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
Co-authored-by: Ali Behjati <bahjatia@gmail.com>
2022-12-19 06:44:57 -08:00
guibescos f6ad2d6544
Refactor (#431) 2022-12-19 13:20:32 +01:00
Stanisław Drozd d517f11af0
[wormhole-attester] Add a healthcheck on the metrics port (#429)
* wormhole attester: Add a healthcheck on the metrics port

* pyth2wormhole healthcheck: apply review advice

- Move metrics/healthcheck counter updates to be next to each other
- Change "0-sized window disables healthcheck" into an explicit config value
- move healthcheck updates past the atomic counter updates
2022-12-15 18:29:23 +01:00
guibescos 51754457a6
[multisig-cli] Add support for json (#430)
* Draft

* Add verify for instruction payload

* Typos

* Refactor json parsing
2022-12-15 21:45:58 +08:00
guibescos e484f5cbb7
Check duplicates (#427)
* Check duplicates

* Cleanup

* Multisig/refactor wormhole to avoid many rpc calls (#428)

* Refactor wormhole

* Fix wasm bug

* hasWormholePayload becomes sync
2022-12-15 01:38:13 +08:00
Ali Behjati 09f8af74ed
[eth] Complete syncPythState.js (#425) 2022-12-13 17:54:15 +01:00
Jayant Krishnamurthy 024d73a8a8
[cosmos] Implement set fee governance instruction (#423)
* cosmos stuff

* it builds

* fix existing tests

* adding tests

* adding tests

* tidy

* cleanup

* fix

* update deploy script

* doh

* gr

* mabye

* mabye

* pr comments

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-13 08:46:07 -08:00
Ali Behjati f45d6757e2
[price-service] Make gap metrics more accurate (#426)
* [price-service] Make gap metrics more accurate
* Bump version to 2.2.3
2022-12-13 15:52:02 +01:00
Stanisław Drozd f69a91d97c
Add the Squads Mesh program to Tilt and initialize a Vault for it (#421)
* solana-devnet: Deploy a copy of the Mesh multisig program

* solana/keys: Add keys for multisig testing

* *.py: Remove airdrop, use devnet_setup.sh keypair instead

* Dockerfile.p2w-attest: Improve caching

- Move cheap Python script additions after the expensive rust build
- Cache Cargo's package cache to shorten the "updating crates.io registry" build steps

* Add a multisig Tilt resource, k8s yaml and runtime script

This contains most of the work on Tilt/testing harness side.

* multisig-wh-message-builder: Add init-vault subcommand

This new subcommand enables the runtime Python script to create a
multisig vault on the fly on the mock Solana devnet.

* multisig-wh-message-builder: findProgramAddress -> getMsPDA

* mutlisig-wh-message-builder: apply review advice

- Use default mesh program address
- remove unused program.json
- remove redundant null checks
- hardcode vault address (it is deterministic against the constant
mesh program pubkey)
- Start depending on solana-devnet in Tilt
- Add carol to vault and set threshold to 2
2022-12-13 14:05:06 +01:00
Tom Pointon 92bb656f93
Initial `pyth aptos` CLI (#410) 2022-12-12 14:06:26 +00:00
Ali Behjati 20abde050b
Fix Vaa key for cache/metrics (#424) 2022-12-09 18:19:39 +01:00
Ali Behjati 6e279c84bb
Update the VAA hash to use payload hash (#422)
* Update the VAA hash to use payload hash

* Bugfix
2022-12-09 14:53:01 +01:00
Ali Behjati b1aea626e9
[eth] Add new networks and their configurations (#418)
* Add new networks RPCs

* Update governance sdk to support Wormhole receiver

* Fix receiver deployment script bugs

* Add new network configurations

* Add a comment about merging wh and receiver chains
2022-12-08 18:14:18 +01:00
guibescos a0d2422cf4
[multisig] Improve verify, add localnet (#420)
* Improve verify, add localnet

* Restore something

* Format

* Remove option
2022-12-08 22:27:31 +08:00
Ali Behjati e536b3a61e
[attester] Remove mapping from testing config (#419) 2022-12-08 14:03:27 +01:00
guibescos 90a9037ae1
Add some function to fetch the multisig state (#416)
* Add fetchers

* Cleanup

* Cleanup

* Restore index

* Format

* Typo

* Fix for loop

* Add offset option
2022-12-07 19:07:32 +08:00
guibescos a17e5b0cc0
Fix typo (#417) 2022-12-07 11:33:06 +08:00
Jayant Krishnamurthy a3199b7d28
Integration test for attestations (#413)
* integration test ???

* update

* better logging

* hm

* convert ids

* fix conversion

* what

* speed things up

* handle dynamic symbols properly

* pr comments

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-06 09:57:43 -08:00
Ali Behjati 4821b877e3
[eth] Improve and automate deployment process (#412)
* Bump contract version

* Some refactoring to add types with JSDoc

* Use better RPCs for some networks

* Remove unneeded migration files

* Add initial syncPythState script that does upgrade

* Update truffle-config for new gas values
2022-12-06 17:56:21 +01:00
Ali Behjati 0d2f60cf28
[attester] Bump version for new release (#414) 2022-12-06 17:03:16 +01:00
Jayant Krishnamurthy 15708d552d
Fix formatting for new nightly rust (#415)
Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-05 10:02:58 -08:00
Ali Behjati df3297e430
[attster] Remove while true and wait instead (#411) 2022-12-05 18:34:31 +01:00
Jayant Krishnamurthy 3beffdfe46
Configure symbol groups by name (#403)
* Refactor to make this change easier

* stop mutating AttestationConfig

* get the product names also

* ok

* refactor

* cleanup

* more cleanup

* more cleanup

* comment

* i think this works

* fix stuff

* clippy

* more cleanup

* main

* main

* fix formatting

* blah

* test

* cleanup

* fix python

* config

* fix test

* grr

* grr

* comments

Co-authored-by: Jayant Krishnamurthy <jkrishnamurthy@jumptrading.com>
2022-12-02 09:35:33 -08:00
Ali Behjati 06b24609e1
[price-service] Bump version to v2.2.0 (#409) 2022-12-01 19:33:35 +01:00
Ali Behjati 27f9f75b79
[price-service] Fine-tune metrics (#401)
- Remove nodejs default metrics. We don't use them.
- Remove response time metric.
- Remove freshness metric and add gap metric for attestationTime and publishTime.
  They are similar; however, freshness was measured upon user request but gap is
  measured upon receiving the next update.
- Change receivedVaa to actually represent distinct vaa received. Prior
  to this, the older vaas, or vaas with same attestation time were
  not counted in this metric. This will also improve the performance.
- Refactors the code a little. `vaaBytes` type was not string and was
  Buffer. It is fixed now.
2022-12-01 18:37:02 +01:00
Ali Behjati 8d9a707b48
Remove seq output log and py server for that (#408)
Co-authored-by: Stanisław Drozd <stan@nexantic.com>
2022-12-01 18:30:34 +01:00
Ali Behjati f8447f871e
[eth]: Improve optimization runs to 10000 (#406)
* Update a deprecated state var comment

* Improve optimization runs 10000
2022-11-30 15:56:44 +01:00
Ali Behjati 33f5b8a5bf
[eth] Remove ownership entirely in favor of governance (#405) 2022-11-30 12:13:46 +01:00
Ali Behjati c3461e5e1c
[eth] Use PythErrors everywhere (#404)
* Remove unnecessary check
* Use PythErrors everywhere
2022-11-29 18:30:45 +01:00
Ali Behjati b31f768d37
Update wormhole receiver contract (#398)
- Add chainId
- Remove receiver ownership
2022-11-29 13:39:39 +01:00
Ali Behjati 45ce07725f
Update contract initializer (#397)
* Update contract initializer
* Reduce optimizer runs to 1000
2022-11-29 12:11:49 +01:00
Ali Behjati 51514dcd9b
Add clippy to all rust projects (#400) 2022-11-28 18:22:48 +01:00
Ali Behjati 895f053e00
Update remove executor job name to test (#399)
It was named "precommit" before.
2022-11-25 18:02:24 +01:00
Stanisław Drozd bbe35df8cf
drozdziak1/pyth attester prometheus metrics (#396)
* Add prometheus to Tilt with attester metrics

* Dockerfile.prometheus: re-add after faulty merge

* p2w-attest: Clarify port number, remove subpage config

* p2w-attest/util.rs: fix warnings

* p2w-attest: typo
2022-11-25 16:35:32 +01:00
Ali Behjati becc216853
Abehjati/repo-improvement (#395)
* Use a new rustfmt file

* Run cosmwasm action only when needed

* Remove pre-commit from remote-executor action

* Fix formatting

* Run precommit for all files

As previous PR was merged without pre-commit
2022-11-25 11:16:58 +01:00
Ali Behjati c3fefc78fa
[eth] Add CI for Foundry tests (#394)
* [eth]: Add eth contract ci (foundry)

* Update the ci

* Fix ci

* Add paths
2022-11-24 17:32:40 +01:00
Ali Behjati d6e25d9209
Add pre-commit globally (#393)
* Add pre-commit globally

* Fix CI errors
2022-11-24 14:14:29 +01:00
Ali Behjati 275c7b8d1a
[eth] Add parsePriceFeedUpdates method (#392)
* Add the implementation with tests and benchmark

* Refactor the contract to reduce redundancy

* Reduce optimization runs as the contract was huge

It has 177 more gas usage on some benchmark tests
2022-11-23 17:16:28 +01:00