Commit Graph

52 Commits

Author SHA1 Message Date
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
Yuriy Savchenko 701154457c New tests and fixes in Terra Wormhole contracts
- added new descriptive errors in terra wormhole contract
- 0-expiration guardian sets error fixed
- added script for test VAAs generation
- added full test coverage for the VAA processing in the contract
- fixed cargo clippy/fmt warnings
2021-01-19 16:50:26 +01:00
Yuriy Savchenko eaee9c0638 Fixed guardian set expiration and quorum logic, tests updated 2021-01-19 16:50:26 +01:00
Leo 9f2f609bc1 Bump Go and pin all Docker images to digests 2021-01-19 16:15:54 +01:00
Yuriy Savchenko e8b411107d
Terra contract deployment moved to a separate k8s job (#130)
* Terra contract deployment moved to a separate k8s job

* terra-contracts job moved to the terrad stateful set as a sidecar, terra test addresses added to DEVELOP.md
2020-12-03 14:37:23 +01:00
Yuriy Savchenko a77f89f646
Terra configuration moved to docker image instead of config maps (#128)
* Terra configuration moved to docker image instead of config maps
2020-11-30 12:34:31 +01:00
Yuriy Savchenko ee5d07c929
Fixes to VAA submission to Terra smart contract (#115)
* Terra smart contract binary interface changed from vector to base64 string

* Added initial guardian set submission to Terra
2020-11-19 20:05:05 +01:00
Yuriy Savchenko 84600ad9f5
terra: include block timestamp in VAAs (#94)
Fixes #93
2020-11-18 19:16:29 +01:00
Leo 22368def3e Clarify maintainer for Terra integration. 2020-11-18 13:35:53 +01:00
Yuriy Savchenko 24d5be2cba
Readme added for the Terra contracts, several security issues fixed in the contracts (#88) 2020-11-18 13:07:36 +01:00