Commit Graph

161 Commits

Author SHA1 Message Date
Karl 6a00c3b44c
Add framework for Terra contract testing (#1050)
* Add terra integration test framework

* Update README

* Remove comment

* Update README

* Add .gitignore
2022-04-06 11:25:18 -05:00
Csongor Kiss e1f4b8e10b Add scripts and readme to deploy and verify terra contracts 2022-04-05 17:42:07 +02:00
Chirantan Ekbote 4d0e3b9030
terra: contracts: fix clippy warnings (#983) 2022-03-30 11:01:43 +01:00
Chirantan Ekbote 1ae8ee4913 terra: Send relayer fee to message sender
This was incorrectly sending the fee to the recipient.
2022-03-29 00:30:35 +09:00
Evan Gray a3272dce4a remove pyth2wormhole 2022-03-07 10:23:34 -05:00
Evan Gray 695dcac26c support custom root ca 2022-03-01 12:35:27 -05:00
Leopold Schabel 870d15d483
*: bump pyth-client to 0.2.2 (#873)
The v2 branch on the Git origin disappeared. Use the crate instead.
Updated lockfiles using `cargo update -w`.

commit-id:d2655ef8
2022-02-18 00:01:13 -06:00
Evan Gray 075defa634 feat: improve bridge_ui tilt
properly cache npm ci in Docker container image
support hotloading outside ci
2022-02-14 07:56:38 -05:00
Evan Gray bb1402367c fix: terra-contracts readiness 2022-02-14 07:56:38 -05:00
Kevin Peters 27e8952c8b sdk/js: Updated terra dependencies
Changed devnet terra tax rate to zero to reflect mainnet and testnet
2022-02-10 16:15:06 -05:00
Csongor Kiss 3fc065846e Add terra migrate instructions 2022-02-10 15:37:19 -05:00
Csongor Kiss 99e2d4ac09 Add terra build & deploy instructions 2022-02-10 15:37:19 -05:00
Csongor Kiss 0044bb5e44 terra/token_bridge: remove migration code
This migration handler has successfuly completed (txn:
67E8FCFF48EEFE11BF6A975E621B6866BA930F9D2A85BC9AC5A70F009EE354C7) so
we can remove it.
2022-01-28 10:44:10 +00:00
Csongor Kiss 52562cacb0 terra/token_bridge: reentrancy protection
commit-id:2c0bdfaf
2022-01-28 10:44:10 +00:00
Csongor Kiss 5d90af5195
terra/token_bridge: fix cw20 migrations (#745)
commit-id:c8aac03a
2022-01-20 19:06:34 +00:00
Reisen e561d6de02 sdk: fixes to types and builds
Change-Id: I10b753450445cc021dbeb9f28ddb0384070e9635
2022-01-14 13:09:12 +00:00
Reisen d21f08d2cb rust: rename wormhole libraries
Change-Id: I9bf5255c13b13d3724d7f8809489b04612b90747
2022-01-14 13:09:12 +00:00
Csongor Kiss 7e212fa739
terra/nft_bridge: Implement nft-bridge for terra (#698)
commit-id:0b547fa5
2022-01-07 16:47:33 +01:00
Csongor Kiss 089d7cde97
terra/nft_bridge: Implement cw721-wrapped (#697)
Wrapped NFT contract

commit-id:42e63984
2022-01-07 16:46:06 +01:00
Csongor Kiss 40837778a7
terra/nft_bridge: vendor cw721 and cw721-base (#696)
The most recent released versions of these libraries use a different
version of the cosmwasm than the rest of the wormhole projects, which
leads to a linker error. So we vendor these libraries and downgrade
their cosmwasm-std dependency to match the rest.

commit-id:a1a5c20b
2022-01-07 16:43:53 +01:00
Hendrik Hofstadt 91b58d7b64 fix: Use price id instead of product id in pyth on terra
Change-Id: Ic567803fd2bf798e0e4150c2a123bbc4788535f0
2021-12-29 20:57:54 -05:00
Evan Gray 98cb787512 terra: fix tax calculation on withdraw_tokens 2021-12-23 15:03:04 -05:00
Hendrik Hofstadt a91fe7797d
Pyth to Wormhole on Terra (#629)
* More checks in P2W on Terra

Change-Id: Icbe5d75504f947b741cee1c797740b71456964fe

* Auto-deploy P2W on Terra

Change-Id: I202536fd278aca938e3b8b3cb0a4ceeca314158f

* Don't do replay protection on price updates

We already use the sequence number for replay and rollback protection and can save storage this way

Change-Id: I9e655956aab1ed8dd86b9d821ece2f57900f6c78
2021-12-22 12:22:08 +01:00
Hendrik Hofstadt 0c747199ab Implement pyth2wormhole for Terra
Change-Id: I3c206cf9850818c1fc012a593ad057e07b5dfa3e
2021-12-02 14:56:02 +00:00
Evan Gray 92aa657630 terra: remove tiltfile
Change-Id: I320a6f4501492acde39c193b8623bc083537f3b6
2021-11-23 01:11:02 +00:00
Reisen 7415fda312 terra/token_bridge: migration prep
Change-Id: I3bc054265e6296ce2fa4191c0395ca8531b0f4a8
2021-10-29 16:51:34 +00:00
Reisen c832b123fc terra: cw20 migrations
Change-Id: I3c75291a0d3016a197a15d9ee0717b16b3b479d3
2021-10-27 19:55:42 +00:00
Reisen 17ba6b12d0 terra: post migration fee change
Change-Id: I9e1517cf3038f80836b58810e11bddc1b58e6fbf
2021-10-19 15:25:01 +00:00
Reisen fc1c91a4b4 terra/token_bridge: set code_id to deployed cw20_wrapped
Change-Id: I275cb38a049290e8399f3fdc5f304c3fc12551f6
2021-10-11 16:53:07 +00:00
Reisen 2a63d08b88 terra: test token_bridge migrate
Change-Id: I4baa721d4aa506a84c8b3ad80e1e9aa35633f975
2021-10-11 16:38:19 +00:00
Reisen ddf43b85d7 terra: migrations for lower bridge fee
Change-Id: Ic83b321d42c9148f3915a365d195298ff052eda2
2021-10-11 16:32:56 +00:00
Reisen 91087bdb66 terra/token_bridge: allow newer sequenced vaa metadata
Change-Id: Ie81584abe6671595118082796df57bcea75a8fd3
2021-10-11 16:24:36 +00:00
Reisen e2a16b6756 terra: migrations for cw20
Change-Id: I201021ed763e8b94a2d029d79ba5ce7e3d3868e3
2021-10-11 16:21:33 +00:00
Reisen b9a61a152e terra/token_bridge: remove tax from native transfers
Change-Id: Ia40808508c08b13a2f1bd1b43c0102eabb2c54f6
2021-10-05 14:57:16 +00:00
Reisen 3607884556 terra/token_bridge: upgradability
Change-Id: Ib41583c0d99aad0e77fb970bc9ee0f7be56f6b4e
2021-10-05 10:41:09 +00:00
Reisen b662de4efb terra: columbus-5 contracts by default
Change-Id: I007689b032c6182e35421b47b56787a657a6919c
2021-10-04 16:41:31 +00:00
Reisen 4933f35213 terra: add columbus-5 deploy script
Change-Id: I33eead9ed1fd818dc8d6ff6e71230bda4b3d3c64
2021-10-04 16:41:31 +00:00
Reisen 2163f420c9 terra/devnet: update to bombay network
Change-Id: I2169adc1b0df9103b10dc50ba6e7470e38ad8fe9
2021-10-04 16:41:31 +00:00
Reisen d2c976b04c terra/token_bridge: subtract tax from deposited tokens
Change-Id: Ib1647a4b3757054fc91fe4dd51317a5095a526a2
2021-10-04 16:41:31 +00:00
Reisen 56c1b43280 bridge_ui: deposit tokens in terra flow
Change-Id: If64963644e638dbb24c1334eebbc207b415e5a3a
2021-10-04 16:41:31 +00:00
Reisen a9e98247bc terra/token_bridge: transfer native
Change-Id: I53fb27b467c96474f2980d495232ac955187775a
2021-10-04 16:41:31 +00:00
Hendrik Hofstadt 18f3262b89 Add second eth devnet to emulate bsc
Change-Id: Ia28078cdd843540bc6d5d2a3db4787637c752245
2021-09-30 15:00:27 +00:00
chase-45 a79ef81721 fixed non-deterministic terra dev environment items
Change-Id: Ie97c43a4f6fb562e9b546793d216a1be2ba302eb
2021-09-07 16:17:30 -04:00
Reisen c04fe95859 terra/contracts: columbus-5 migration for wormhole
Change-Id: I6772a49d3d667633b27d74eb7f349e01c849f505
2021-09-07 03:02:49 +00:00
Reisen c92442e3ce terra/contracts: columbus-5 migration for token-bridge
Change-Id: I5b2466d72c8dd98a14729125ddc3495589871d9f
2021-09-07 02:55:57 +00:00
Reisen 3cbbc6f2b8 terra/contracts: columbus-5 migration for cw20-wrapped
Change-Id: I32a703cdeb60dcf288907df6318ae504171fc5f0
2021-09-06 14:58:48 +00:00
Reisen ce6d92bb2b terra/contracts: add columbus-5 clone
Change-Id: I83c2387bd85f524962229e7b0ec72976f25d3396
2021-09-06 14:58:48 +00:00
Reisen 50bd0355fd terra/contracts: rustfmt in line with solana
Change-Id: I566dc2c4504bf7014d11a6d18775c4eec896b42f
2021-09-06 14:58:48 +00:00
Evan Gray ba9112ff14 devnet: enable contract logging
Change-Id: I3953921cb55923c87ef610488d587bf5d85e44e1
2021-08-31 16:06:07 +00:00
Leo 9a85dbafe5 Add Go linting stage to CI
rustfmt appears to be a little more complicated since it wants to
download dependencies and needs nightly Rust.

Change-Id: Ia348def30a6459ae2ab6c29a8c3a413216f5eb4b
2021-08-31 08:58:17 +00:00
Reisen a69d76494c devnet: add terra chain registrations
Change-Id: Icc45674147b42d462e6e4b89c8cd43f9d1ddb49e
2021-08-30 11:11:38 +00:00
Reisen 37baca1e32 terra/token_bridge: correct transfer payload
Change-Id: I724e4182e29a89a966896f89df4387d7aa8caac3
2021-08-30 11:11:17 +00:00
Hendrik Hofstadt a68061e545 Don't persist token name prefix on terra
Change-Id: I602e09f0d3178280d8613e67113e3a045b3e5cbe
2021-08-30 10:44:19 +00:00
Alwin Peng e08116635e deduct taxes from coins sent to wormhole contract from token bridge, in case fee denom switches from uluna
Change-Id: I141b53b51c883162b49d6caa74225ce1c030995f
2021-08-30 08:43:37 +00:00
Reisen 4921ed6ef4 terra/devnet: update to 0.4.9 for wasm queries
Change-Id: I8760edfe770ebb4d57f875a52dd58b62b6dbe6c5
2021-08-26 14:40:11 +00:00
Hendrik Hofstadt 50afa0fe9e Prefix wormhole token names
Change-Id: Ieea61ea2833f66c29a2fa0f52ae1a914a3956146
2021-08-26 14:19:19 +00:00
Reisen 2a317ab923 sdk: move terra functions to sdk
Change-Id: Idb255bc0c63189f69f5e79efce4a801e2aeedf46
2021-08-20 19:14:42 +00:00
Reisen dda839b3cb terra/contracts: set correct payload ids
Change-Id: I09bcb004f8131bbfe764a98311f0817c0b28a576
2021-08-17 13:26:42 +00:00
Reisen fe69c6a5c0 Use columbus-4 as chain-id to workaround terra tools
Change-Id: Ibeb4b74a55c88bc872fe4d38087ac00ec44e2bee
2021-08-17 13:26:42 +00:00
Hendrik Hofstadt b37853f7d9 Use safe math in terra
This uses safe math even in places where it's technically not necessary, but we want to be consistent here.

Change-Id: I5f9c8e2c0a798a38e4459f673541024bc0f07ef4
2021-08-02 15:55:40 +00:00
Hendrik Hofstadt 7f67ba1194 Replay protection for terra governance VAAs
Change-Id: Ib197e1d842093c578c2a6858c3b0a3ef3d18665d
2021-08-02 15:55:40 +00:00
Hendrik Hofstadt 895e40578c Check emitter for wAsset creation on terra
Addresses audit comment

Change-Id: Icf6b1e52e58f5cab6e39db1ed663dc6f6a2c2476
2021-08-02 15:55:40 +00:00
Alwin Peng 2d9ae8e860 check & add vaa to archive on all submit_vaa calls
Change-Id: Ia0b1a5e9ee8f6467dff34d9cd92183cba49bccf5
2021-07-29 15:25:38 -04:00
Hendrik Hofstadt 1135fdacd1 Deploy terra FCD and test token
Change-Id: I0027b450c701031929b4aaba4941738d82c4247d
2021-07-29 14:50:04 +00:00
Alwin Peng 2c56a916eb fix bytes -> string, flip arg order to be less confusing
Change-Id: I952b73628e56bc9449e5525bfd85e57851c20143
2021-07-28 16:00:44 +00:00
Alwin Peng c8bc1b57cc decimal shifting + max outstanding in terra token bridge
Change-Id: I830ea33abfd0b836ea5e69a77678f962cd771e01
2021-07-28 16:00:42 +00:00
Hendrik Hofstadt 14f61ee73b Move requirements to the correct location
Fixes #266

Change-Id: Id3ac01db49347ee0131f3beac7f2d05e7208ca47
2021-07-27 11:47:08 +00:00
Hendrik Hofstadt c819165d5c Port terra governance changes to token bridge
Change-Id: I534b408c4539a6badf636d298b57f6d2df3c34d8
2021-07-26 19:04:20 +00:00
Hendrik Hofstadt 393b522f76 Add Terra and Ethereum Wormhole CLI
Change-Id: I35aa7a801abf77a2e35faa192e685ce738869624
2021-07-23 11:40:36 +00:00
Hendrik Hofstadt deb2dc3a11 Fix governance checks in Terra
Change-Id: I5633a0398605327f7a1f96fd91f0336cae248252
2021-07-21 19:47:32 +00:00
Leo 052d922036 Clean up docs and packages for v2
Change-Id: I1020e648f4a8bd51412cf06196e78665308efdac
2021-07-21 19:46:10 +02:00
Hendrik Hofstadt 858da0cb85 Fix governance VAA parsing on terra
Change-Id: I467fda757fb961cf4a391fcdb771f45af1a908f3
2021-07-21 13:14:26 +02:00
Hendrik Hofstadt 5a8d67c1d1 Improve terra deployment script
Change-Id: I2642018f434b56d47ae09d56079cd15c505ffe46
2021-07-21 12:18:04 +02:00
Hendrik Hofstadt 4753700d3f Remove persistence remainders from terra
Change-Id: I27657333ebd4f8b7ba433c6d0680ee061b965571
2021-07-20 23:52:40 +02:00
Hendrik Hofstadt 1992684351 fix governance header parsing on Terra
Change-Id: I07385a2487315d3eac6c83ec65e30d7f6f64a350
2021-07-20 17:30:51 +00:00
Hendrik Hofstadt d12863f957 fix terra vaa parsing
Change-Id: I27306e004897f971d62c82e6046c1f6ec0016247
2021-07-20 17:09:39 +00:00
Hendrik Hofstadt 1fc6842917 Double hashing on terra
Change-Id: Ie3d65030d221585245d94d7650694fc545e72174
2021-07-20 10:14:29 +00:00
Hendrik Hofstadt fb3d267a50 Correct governance header module
Change-Id: Ib2ebfeedab0bf40c466def0a58a6f3971db81dfc
2021-07-19 12:17:56 +00:00
Hendrik Hofstadt 8f4ed821ab Correct decimal data type
This was already correct in terra and eth but wrong in the design doc and solana

Change-Id: I6e3fcf710d81f3cb56868ff7ab73fb3aba1d95bf
2021-07-19 10:46:40 +00:00
Hendrik Hofstadt af4e29978d Add commitment level to VAAs
This allows requesting attestations for various commitment/confirmation levels. This is helpful for low-latency applications like Pyth.

Change-Id: Ib49ace163365106b227613d2f66b787b3e5f5461
2021-07-19 07:11:45 +00:00
Hendrik Hofstadt 7784e74725 Align behaviour of persistent message fees
Change-Id: Ic9c6c40dbac2399e0eaf3a861dff33254a828a18
2021-07-05 18:02:04 +00:00
Hendrik Hofstadt 0f854dc08b Track optional persistence in guardian and terra
Also reformatting

Change-Id: Ibdc426aa09a74a6f564090bb838be1b037a9fce1
2021-07-05 18:02:04 +00:00
Hendrik Hofstadt 0004dd6c2a Reimplement terra bridge in guardian software
Change-Id: Ic57d0ae91355d2415f13657f463e8929212b1c97
2021-07-05 18:02:04 +00:00
Hendrik Hofstadt b177c94737 Add sequence to terra wormhole
Change-Id: Ic8aa508402b3c07334e059ed1b8973ccf1c1dc6d
2021-06-28 12:45:41 +00:00
Hendrik Hofstadt 3a20ec9b0d Clean up terra program
Change-Id: I2a323e80dc4d72c0405f50eaaf23e04b1e875246
2021-06-28 12:31:01 +00:00
Alwin 2025efd50a switch terra contracts over to using governance packet structure
Change-Id: I10b53cb0cfdb86ca2aa57cab20ec375a26fd252e
2021-06-01 17:10:34 -04:00
Alwin 08ca466a40 clean up error messages, duplicated files, fix bug where asset can be attested multiple times
Change-Id: I95655968d3582e837a28eddc34d15d4ca55a488b
2021-05-31 18:04:12 -04:00
Alwin 16cc520187 initial terra contracts for wormhole v2
Change-Id: Ie28f1e7ce381fcbf33de609bc6c8465679cd2a43
2021-05-31 09:13:59 -04:00
Stanisław Drozd bfa8a974e5
terra/Cargo.lock: Run `cargo update` (#194) 2021-04-02 00:20:17 +02:00
Yuriy Savchenko 7a97381f18 Terra E2E tests fixed, asset registration refactoring 2021-03-23 16:19:41 +01:00
Yuriy Savchenko f694fbdf0f Removed contract activity killswitch, fee is now hardcoded, test scripts updated 2021-03-23 16:19:41 +01:00
Yuriy Savchenko 06242ffc74 Fee storage type changed to optional 2021-03-23 16:19:41 +01:00
Yuriy Savchenko 097093e1f1 Added configurable fee for locking assets, owner method to transfer fee from the contract, query to get contract state (with fee) 2021-03-23 16:19:41 +01:00
Yuriy Savchenko 10c2fa4eea Added VAA verification query to the Terra smart contract, refactoring 2021-03-23 16:19:41 +01:00
Yuriy Savchenko d9bb5f6802
Added missing e2e tests between Terra and Ethereum/Solana (#168)
* Added missing e2e tests between Terra and Ethereum/Solana

* Review comments fixed

* Uncommented Solana<->ETH code, missing Ethereum utils file added
2021-02-01 20:38:13 +01:00
Yuriy Savchenko 83de7325c4
Fixed remaining Terra contract issues from the code review report (#167)
* Fixed remaining Terra contract issues from the code review report
2021-01-28 17:45:54 +01:00
Leo 108f050c0e Clarify public keys vs public key's hashes in comments and docs 2021-01-21 00:59:50 +01:00
Yuriy Savchenko eeb560cb5c Terra integration added to e2e tests 2021-01-19 16:50:26 +01:00
Yuriy Savchenko eb9c4f2c52 Fixed cargo fmt warnings 2021-01-19 16:50:26 +01:00
Yuriy Savchenko 0a4dffa36e Added tests for the rest of the Terra wormhole contract methods (before was only for VAAs) 2021-01-19 16:50:26 +01:00