Commit Graph

15 Commits

Author SHA1 Message Date
Mohammad Amin Khashkhashi Moghaddam 6c52eb6606
Contract manager upgrades (#952)
* Reuse xc_governance logic as much as possible in contract manager

Some functions in xc_governance were moved and refactored in order to become usable in
contract manager

* Add getBaseUpdateFee function for contract manager

* Add method for executeGovernanceInstructions

* Move up SetFee method to base class

* Add governance upgrade instruction

* Move governance payload generators out of contract classes into chain classes

* Switch from json to yaml for storage

* Remove test script for ci

* Add minimal aptos implementation

* Remove global Chains and Contracts variable and put them in DefaultStore

* Move aptos getClient function to Chain class

* Make denom field in baseUpdateFee optional and remove it from non-cosmwasm chains

* More documentation and minor fixes

* Add vaults storage

Although the set of vaults used in testing/production is just 2 it's a good idea to
not set them as predefined constants. So that for development purposes, we can create
new vaults and test them on the fly without changing too many places.
2023-07-14 12:14:24 +02:00
optke3 f3edf9c971
[sui 9/x] - hot potato fix for price updates (#805)
* state getters and setters, change Move.toml dependency to sui/integration_v2

* finish state.move

* add new line to pyth

* use deployer cap pattern for state module

* sui pyth

* update price feeds, dynamic object fields, Sui object PriceInfoObject

* register price info object with pyth state after creation

* sui governance

* some newlines

* error codes

* update and comment

* unit tests for pyth.move, add UpgradeCap to Pyth State (will be used for contract upgrades)

* updates

* test_get_update_fee test passes

* fix test_get_update_fee and test_update_price_feeds_corrupt_vaa

* test_update_price_feeds_invalid_data_source

* test_create_and_update_price_feeds

* test_create_and_update_price_feeds_success and test_create_and_update_price_feeds_price_info_object_not_found_failure

* test_update_cache

* update

* test_update_cache_old_update

* update_price_feeds_if_fresh

* comment

* contract upgrades start

* contract upgradeability

* update clock stuff

* edits

* use clone of sui/integration_v2 for stability

* make contract_upgrade::execute a public(friend) fun, remove clock arg

* E_INCORRECT_IDENTIFIER_LENGTH

* comment and edit

* add a single comment

* upgradeability fixes, other fixes

* update, migrate, state, pyth, setup, version_control

* upgradeability, governance, LatestOnly

* - state init_version, init_package_info
- governance and contract ugpradeability stuff

* make several functions public(friend), and friend the right modules in data_source.move

* add comment

* fix bug in from_u8, so that value <= TRANSFER_FEE

* rename error message to E_MUST_USE_CONTRACT_UPGRADE_MODULE_TO_DO_UPGRADES

* set_last_executed_governance_sequence

* set pyth governance_module to 0000000000000000000000000000000000000000000000000000000000000001

* update README

* Update README.md

* Update README.md

* delete comments

* Update README.md

* Update README.md

* change Wormhole dependency to branch sui/mainnet, which has the latest update that includes VAA sequence number in DecreeReceipt

do proper checking of sequence number when executing governance instructions, allow set_governance_data_source to update the sequence number to some initial_sequence.

* state::set_last_executed_governance_sequence

* rename error

* add newline to setup.move

* delete space

* Update README.md

* mark test module as well as some imports #[test_only] so sui move build works

* scripts for Pyth contract testing and deployment
remove required_version.move, as it is no longer being used for access control
make init_and_share_state a public(friend) function

* add build to Makefile

* init pyth ts script

* sui deploy and testing scripts

* contract fixes, set_fee_recipient governance action, emit price update event only if fresh price update

* init_pyth.ts, registry.ts, create_price_feed.ts

* create price feeds

* deploy script and Move.toml

* some contract updates to compile with WH branch sui/mainnet
deployment script updates

* update README

* update readme

* rename TS scripts, edit readme

* add rev for wormhole dependency, edit README

* edit create_price_feed script

* - add price_info::get function for getting PriceInfoObject ID from PriceIdentifier
- add test for price_info::get

* contract updates

* script edits

* contract upgrade in version_control.move and fix pyth_create_price_feed.ts

* add get_price_info_object_id function to pyth::state

* tests and build pass

* update scripts

* Pyth mainnet deploy, create all price feeds script

* clean up script imports

* add mainnet addresses to readme

* correct Pyth Mainnet addresses

* create price feeds on mainnet

* use git dependency in Move.toml

* edits

* delete required contracts

* get price info object ids

* get price info object IDs

* add json file containing price feed id to price info object id

* comment

* clean up scripts folder and imports

* more script clean up (comments)

* script updates

* hot potato stuff

* create_price_infos_hot_potato and update_single_price_feed

* don't create hot potato in batch price attestation

* latest only checks in Pyth.move

* delete tab

* edit

* run pre-commit hooks

* update price feeds script

* update_single_price_feed_logic, give hot potato contents type T copy and drop ability

* delete custom price attestation test

* get update multiple price feeds POC to work

* formatting via pre-commit

* update Move.toml so can run "sui move test", delete some error codes that were unused

* update update_price_feeds demo to auto-retrieve price info object ids

* update readme

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* don't print map, get prices after update

* script comments

* Update update_price_feeds.ts

* Update update_price_feeds.ts

* Update README.md

* script for token transfers

* testnet "mainnet simulation" deployment (with 19 mainnet guardians), and testnet deployment (with single testnet guardian)

* mainnet deploy

* update Move.toml

* Update README.md

* Update README.md

* edit readme

* Update README.md

* Update README.md

* Update README.md

* add PRICE_INFO_OBJECT map ID to README

* common questions

* edit comment

* update readme

* fix link

* add comments for update_single_price_feed

* edits

* Update README.md

* Update README.md

* Update README.md

* pre-commit run --all-files
2023-06-20 00:04:01 -04:00
Ali Behjati 183081cc20
Expose pythnet message buffer idls (#865) 2023-06-09 14:10:28 +02:00
Ali Behjati 1dbc592836
[eth] Fix oracle-swap example frontend bugs (#813)
* [eth] Fix oracle-swap example frontend bugs

* [eth] Fix build warnings

* remove test

* add passWithNoTests to amm example

---------

Co-authored-by: Daniel Chew <cctdaniel@outlook.com>
2023-05-11 12:53:50 +02:00
Dev Kalra 079828f8ac
Wormhole stub (#789)
* add

* add sei to wormhole chains

* add wormhole code to the repo

* add lib to gitignore

* cosmwasm bug fix

* add tmp to gitignore

* no need for simulation

* add wormhole deployment stuff

* better comments

* resolve build errors

* trying a fix

* fix

* rename compiled code

* address feedback

* remove gitignore

* sei deployment

* complete sentences

* address comments
2023-05-03 20:48:00 +05:30
Jayant Krishnamurthy 9fef120b1f
[sdk] Move Solidity sdk into this repo (#674)
* fix dependencies

* wtf

* remove redundant pre-commit

* some sort of lerna issue

* fix dockerfile
2023-03-20 12:25:28 -07:00
Jayant Krishnamurthy b9430aee81
[sdk] Add new SDK packages to lerna (#630) 2023-02-28 09:14:52 +01:00
Jayant Krishnamurthy bbe10ba553
[sdk] Move JS sdks into this repo (#611)
* move files to subdir and js sdk here

* update pointer

* fix move

* delete lib

* fix this

* gitignore

* aptos sdk

* gitignore

* terra js

* gitignore

* move price pusher

* add lib to gitignore

* move examples

* fix workflow

* gr

* contracts

* hm

* fix

* gr

* grrr

* fix dockerfile

* wtf

* fix
2023-02-22 13:44:42 -08:00
guibescos 56e5ed8c1d
[prettier] Prettier sync (#562)
* Prettier

* Pin prettier

* Revert chagne
2023-02-03 14:09:34 +01:00
guibescos 5cf1afbc2f
[Xc_admin] hyphen to underscore (#545)
* Checkpoint

* New package lock

* Trigger CI

* Trigger CI

* Typo

* Package update after rebase

* CI

---------

Co-authored-by: Ali Behjati <bahjatia@gmail.com>
2023-01-31 15:36:56 -06:00
Ali Behjati 4c5d0d5e1b
[refactor] Add global lerna (#546)
* Move lerna to the top

* Set version to independent

Packages are versioned independently

* Update packages and the lock

* Add build cache and better reference

* Add lerna docker base

* Add wormhole_attester sdk and some minor impr

* Update tsconfig to fix outDir impact by composite

* Update eth package

* Update p2w to use solidity-sdk

* Change xc-admin CI to lerna CI action

* Add more packages to the list + bugfixes

* Update dockerfiles to have tilt working

* Format the code

* Fix some issues

* Fix the change of usePyth.ts

* lerna build fix

* Fix foundry
2023-01-31 17:09:31 +01:00
Evan Gray 57919f6675 bridge_ui: pin sdk, fix imports
Change-Id: I5231b81423705af5866ee8b2e8647ea7cf469153
2021-12-10 17:22:26 +00:00
Chase Moran 05425a96df examples: native swap
Change-Id: Ia7bf98bac2b4a0daa5541f09a9c9e4b1e2d56bba

examples: rest_relayer, add support for all chains

Change-Id: Idbcf48f4c891383e16a9f1f460d6e02aa3149a48
2021-12-08 14:51:19 +00:00
Hendrik Hofstadt d4fab1190c chore: restructure for monorepo 2020-07-28 12:39:38 +02:00
Hendrik Hofstadt 82d07db5e6 initial commit 2020-07-26 18:04:45 +02:00