Commit Graph

213 Commits

Author SHA1 Message Date
Csongor Kiss ebdf66c8c4 CI: use working docker image for anvil in upgrade simulation testing 2022-08-03 11:58:31 -04:00
Bruce Riley d010f0d430 Deploy read only moonbeam 2022-07-21 16:23:08 -04:00
Bruce Riley d40f969d47 Deploy read only chains 2022-07-21 09:17:29 -04:00
Evan Gray 577d9b35f8 sdk/js: parallelize tests 2022-07-19 19:43:41 -04:00
Evan Gray 271076a7b5 eth: 1 conf in devnet 2022-07-15 14:36:46 -04:00
claudijd 8221708ef0 Move from ADD to COPY on Dockerfiles 2022-07-13 09:27:15 -04:00
Jonathan Claudius 73307397bc
Comment Eth Governance contracts (#1325)
* Comment Eth Governance contracts

* Tweak comments per peer review

* Add replay to the list
2022-07-12 09:02:26 -04:00
Csongor Kiss c634690fa4 ethereum: Update truffle config to most recent deploy params
Also rename chains to be in line with the naming convention used elsewhere
2022-07-11 11:38:31 -04:00
Kevin Peters 83499fcda0 devnet: Fix WETH token address 2022-07-08 09:48:42 -04:00
Csongor Kiss 58cd031ea8 ethereum: Add verify script to match up the deployed bytecode with the
local build

Also include this step in the generated governance verification instructions
2022-06-30 13:57:02 +01:00
Csongor Kiss c453f4cf6d evm: Make finality a state variable 2022-06-28 21:31:23 +01:00
Csongor Kiss 2c9f7c239e ethereum: fix core contract upgradeability
Missed initializer
2022-06-27 19:19:16 +01:00
Csongor Kiss 7942393b18 ethereum: add 'make test-upgrade' to simulate contract upgrades against mainnet 2022-06-27 19:19:16 +01:00
Csongor Kiss 22dda6ba84 ethereum: Add truffle scripts to deploy core & token bridge 2022-06-27 19:19:16 +01:00
Csongor Kiss e65176d492 clients/js: Use ankr RPC instead of infura 2022-06-27 19:19:16 +01:00
Csongor Kiss 42d054282a Add script to query karura gas prices 2022-06-25 15:46:15 +01:00
Kevin Peters 3028b81d63 sdk/js: Terra2 integration tests 2022-06-24 16:37:22 -04:00
Csongor Kiss fe198be748 Fix truffle-config and 1conf patch 2022-06-22 16:56:17 -04:00
Csongor Kiss b6ea70fde0 evm: Add fromAddress to TransferWithPayload and remove fee 2022-06-21 22:35:49 -04:00
Csongor Kiss 5a4ce6ab51 ethereum: whitespace + docs 2022-06-21 22:35:49 -04:00
Evan Gray db0fc219aa cosmwasm: terra2 support
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
2022-06-21 10:03:57 -04:00
bruce-riley 24c5b17267
Neon to testnet (#1262)
* WIP: neon

* Watcher support

* Use eth_getLogs for Neon

* bridge_ui: update sdk version

* Setting WETH address for Neon

* Portal bridge support for WNEON

* relayer: update sdk

Co-authored-by: Evan Gray <battledingo@gmail.com>
2022-06-14 10:22:49 -04:00
Jonathan Claudius 8875735581
Move quorum out of verifyVM (#1162)
* Move quorum out of verifyVM

* Add stub out to demonstrate sol-based tests

* Remove unnecessary import

* Neaten up the quorum conditional

* Another iteration on figuring out the test logic

* Fix indentation

* Refactor quorum and setup unit-test cases

* fix return naming

* More variable name clean up

* Move length check inside loop structure

* Fix condition by wrapping

* Fix syntax error

* fix type definition for testCases

* Drop inline struct usage for simple 2d array

* Fix logic in quorum check

* Make test public and fully qualify quorum

* Make wormhole.sol fail

* Specify where to store testCases

* Define array directly

* Fix syntax error on array definition

* Fix variable name

* Move back to memory-based variable

* Add remove qualified quorum call

* Get really direct on quorum tests

* Simplify quorum logic

* Add test for 19 guardians
2022-06-07 09:45:47 -04:00
Bruce Riley dcce155f43 Acala mainnet deploy 2022-06-03 14:44:22 -04:00
bruce-riley 018908a420
Klaytn mainnet deploy (#1185)
* Klaytn mainnet deploy
2022-05-16 10:06:17 -04:00
Bruce Riley d266438654 Celo mainnet deploy changes 2022-05-13 13:11:28 -04:00
Evan Gray 73e15db866 eth: token bridge transfer with payload 2022-05-11 21:24:36 -04:00
bruce-riley c7ba459de8
Moonbeam to testnet (#1150)
* Moonbeam to testnet

* Fix typo

* Shouldn't touch the CLI with this PR

* Update SDK version
2022-05-10 11:23:07 -04:00
bruce-riley a94a3cf2fb
Karura mainnet deploy (#1142)
* Start of move to mainnet

* Rework to safe mode check

* Update truffle-config

* Should not check safe mode in dev mode
2022-05-02 14:28:17 -04:00
Evan Gray cc72c2a644 algo: contracts 2022-04-29 20:56:17 -04:00
bruce-riley d04328b858
Celo testnet support (#1051)
* Initial Celo support

Change-Id: Iee98ee29a8b09af9ca76945792b750d96a170702

* Watcher support

* Fix high level make file

* Remove node binary committed by mistake

* Port change from EthWatcher to CeloWatcher

* Use docker to build ABIs

* Refactor watcher to eliminate massive redunancy

* Fix lint-and-tests to handle multiple defs on link

* Minor code cleanup

* Celo should use ganache in devnet

* Prep for mainnet deploy

* Code review rework

* Remove celo from sdk package.json
2022-04-28 12:20:38 -04:00
Jonathan Claudius 5a987a8d2b
Comment ethereum messages (#1025)
* Add comments to Ethereum Messages.sol contract

* Remove current language, as it's a bit misleading

* Change comment formatting

* Switch to NatSpec comments

* Clean up comments for expired GuardianSet checks

* Clean up comments for expired GuardianSet checks, again
2022-04-19 21:07:08 -04:00
Jonathan Claudius 040eace4f7
Add to ethereum contract integration test coverage (#1053)
* Fix assert typos

* Restructure data field and add comments

* Move magic hex into named variables

* Add README items for running tests

* Add make test to README

* Show work on core string generation

* Add action transfer fee

* Add more VM integration test cases
2022-04-14 10:11:04 -04:00
justinschuldt e36b7220b3 eth-devnet init with multiple guardians 2022-04-12 20:37:52 -05:00
Bruce Riley 3e23db6331 Add aurora
Change-Id: Ice6234c339fd59c0337640778559c9af84a3f3d6
2022-04-12 14:30:35 -04:00
Bruce Riley 10f00b934b Promote Aurora to Mainnet 2022-04-11 17:05:07 -04:00
bruce-riley 879670c0e5
Klaytn testnet support (#1038)
* Klaytn support for testnet

Change-Id: Id0647fd6c603ab298f860c2cae20481555467315

* token_bridge client changes

Change-Id: If49ba994a67041044bdec054f19e69b4cfc2785b

* Get rid of special handling

* More cleanup

* Need to add Klaytn to structs tests

* Update SDK version

* Add SDK version

* fix klaytn bridge chain id

Co-authored-by: Evan Gray <battledingo@gmail.com>
2022-04-04 18:11:03 -04:00
Csongor Kiss 745d3db68d
Run ethereum tests on CI (#1028)
* Add makefile to run ethereum tests

* Run tests on CI

* single rm in make clean

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Fix WETH address in bridge test

Change-Id: Idd7455cc873d2db86c2ccc130bd673b065311e67

* Don't kill ganache-cli if already running

Instead error the test

* eth: omit mainnet stuff from ci

Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
Co-authored-by: Drew Sterioti <asterioti@jumptrading.com>
Co-authored-by: Evan Gray <battledingo@gmail.com>
2022-03-31 00:32:27 -04:00
Csongor Kiss c01dd93adb Add NFT deploy script 2022-03-18 13:14:32 +00:00
valentin 6e87730aec add aproval tests 2022-03-18 13:14:32 +00:00
Csongor Kiss f22dfcece3 ethereum/nft-bridge: Transfer before burn
This is consistent with the token bridge
2022-03-18 13:14:32 +00:00
bruce-riley b718225e45
Testnet support for Aurora (#947)
* Testnet support

* Upgrade contract for 1conf

* Formatting changes

Change-Id: Id06481d77d770a04eb200aadb82574e23cddcd36
2022-03-15 10:41:10 -04:00
Evan Gray 9c2ecacd20 ethereum: fix package-lock.json 2022-03-07 23:13:48 -05:00
Evan Gray a3272dce4a remove pyth2wormhole 2022-03-07 10:23:34 -05:00
bruce-riley d1da11785f
Karura and Acala support (#862)
* Karura and Acala support

Change-Id: I74c88b9b7a220e419e31a11cf77931343c9a8159

* env files got dropped

Change-Id: If330887782a4e38f3419dff2efcc100a5949d3f2

* Updates for latest parameters

Change-Id: Ie25f377f6d70dfb7d4b28efabd4064088e001c0a
2022-03-03 16:40:32 -05:00
Evan Gray 695dcac26c support custom root ca 2022-03-01 12:35:27 -05:00
bruce-riley 60363dd3d1
Fantom deploy (#920)
* Truffle changes

* Always require fantomRPC
2022-02-28 16:32:22 -05:00
Evan Gray 02848a6560
eth: add nft bridge to 1conf (#906)
* eth: add nft bridge to 1conf
2022-02-24 14:57:06 -06:00
Stanisław Drozd 2ea41b8176
[WIP] Pr/drozdziak1/p2w batching/5e704f8b (#877)
* ethereum: p2w contract -> p2w emitter, fill in essential envs

Change-Id: I6fa9364a96738d2cc02ec829a31fedba0586d8e8

commit-id:0a56f1f8

* Add p2w-relay, a p2w-sdk integration test

commit-id:6bfab639

* p2w-sdk: Expand README

Change-Id: I17cb547d6aaddc240588923561c26d11a787df2e

commit-id:6ebd6a22

* p2w-sdk: don't build ETH contracts, only the types

Change-Id: I7cbd18328227700635d7688aa24a9671e8919fcd

commit-id:adf079f7

* p2w: configurability and sane envs

commit-id:f10fd90e

* Solitaire: Implement Option<T> support in structs

commit-id:31aa12d6

* bridge/governance.rs: Stop pestering about EMITTER_ADDRESS

commit-id:d5bd7234

* p2w-attest: price batching

This commit introduces support for multiple Pyth product/price pairs
per call. The initial maximum batch size is 5 and is enforced using a
`P2W_MAX_BATCH_SIZE` constant.

solana/pyth2wormhole/program:
* On-chain batching logic
* Batch message parsing logic

solana/pyth2wormhole/client:
* Off-chain batching logic - divides any number of symbols into
largest possible batches
* Use a multi-symbol config file instead of CLI arguments

third_party/pyth/p2w-sdk:
* Expose batch parsing logic

third_party/pyth/p2w-relay:
* Comment out target chain calls until ETH contract supports batching
* Test the batch parsing function

third_party/pyth/p2w_autoattest.py:
* Generate and use the symbol config file  with pyth2wormhole-client

third_party/pyth/pyth_publisher.py:
* Add a configurable number of mock Pyth symbols
* Adjust HTTP endpoint for multiple symbols

commit-id:73787a61

* p2w-attest: mention attestation size in batch

This commit ensures that no matter the attestation format, a batch
will never contain attestations of different sizes. This guarantee
enables forward compatibility by adding new constant-size fields at
the end of a batch at all times. An older implementation will simply
not consume the remaining newer values while respecting the stated
batch member alignment.

commit-id:210da230

* pyth2wormhole-client: use fresh blockhashes, harden batch errors

This commit makes sure we don't have to deal with expired transactions
due to stale blockhashes. The problem existed with larger symbol
configs as well as on Solana mainnet. Additionally, the attestation logic
now treats transaction errors as non-critical - a failure for a batch
does not prevent attestation attempts for batches farther in the queue

commit-id:5e704f8b
2022-02-23 19:12:16 +01:00
Csongor Kiss 3a24a26a7d eth deploy updates 2022-02-10 15:37:19 -05:00
Csongor Kiss 3484921b70 ethereum: Add fantom testnet & aurora testnet to truffle-config 2022-02-09 16:07:57 -05:00
Csongor Kiss 60d313b23c
ethereum: Add contract verification instructions (#792) 2022-01-28 14:52:54 +01:00
Evan Gray 608c724a76 evm/token_bridge: reentrancy protection 2022-01-28 10:44:10 +00:00
Evan Gray 7a9a5e6487 testing: weth-switch 2022-01-24 12:40:43 -05:00
Evan Gray 7ecce0d302 eth: nft bridge impl initialize 2022-01-07 13:28:11 -05:00
Csongor Kiss 7e212fa739
terra/nft_bridge: Implement nft-bridge for terra (#698)
commit-id:0b547fa5
2022-01-07 16:47:33 +01:00
Hendrik Hofstadt e50541912b
Fix NFT URI length and parsing (#628)
* Fix NFT bridge parsing and limit URI length

Change-Id: I71e728bbe35cfb8f10b86d53475f7e1c68b2866a

* Update NFTBridge.sol

* Update NFTBridge.sol
2021-12-21 08:36:00 -05:00
Leo b0ed42681d Use stable Buildkit syntax
We no longer need to be on an experimental branch - all the
Dockerfile features we need were released on 1.3.

commit-id:b083856a
2021-12-13 15:38:17 +01:00
valentin 1226f85461 support tokens with transfer fees
Change-Id: Ib6ef2f1680ac845ef0f05c51047846c2633b0d4b
2021-10-29 16:55:05 +00:00
Hendrik Hofstadt 18f3262b89 Add second eth devnet to emulate bsc
Change-Id: Ia28078cdd843540bc6d5d2a3db4787637c752245
2021-09-30 15:00:27 +00:00
valentin ffcdc3f3f2 add token migration contract
Change-Id: I2bc3fb4d99f5a08452bc2defd3597ec7ad300523
2021-09-28 10:35:34 +00:00
valentin 46440b3bf9 nft: add special case for spl naming, update tests
Change-Id: Ifbe9eeaad5d5604d52d75fdac6b018e94afa9d75
2021-09-20 15:16:57 +00:00
Chase Moran b39d72e32f bridge_ui: weth functionality
Change-Id: I1c6dc5f502232c32f4219a9a3be61f203c7be22a
2021-09-19 22:43:52 -04:00
valentin 7e2cf1f981 pyth data bridge target chain module for EVM
Change-Id: Ieaeed6374e72a5348e05c40bd25598b74061a9a0
2021-09-16 13:46:51 +00:00
valentin 75ac0c9153 nft nits
Change-Id: Ie6265e1fcc8d91294dc416ad6bac18327f582c1e
2021-09-13 12:10:36 +02:00
Evan Gray 9ea0369ab0 nft_bridge fixes
Change-Id: I9420863384e752725cfc75c8b5a21f64be2792b1
2021-09-10 20:32:46 -04:00
Evan Gray 7711abf29a bridge_ui: initial NFT bridge support
Change-Id: Iafb0d4f53541cc11c9d42bd432541383274cd2fc
2021-09-11 00:13:29 +00:00
Hendrik Hofstadt 6ff21f8d01 add ethereum NFT bridge
Change-Id: I5cc8cfe431f5f9b043adc7baf662760ffe9e7a35
2021-09-10 23:43:14 +00:00
Hendrik Hofstadt b0c95b85a6 update ethereum tests
This accounts for the token name suffix and tests updating of wrapped asset meta

Change-Id: I752cd43e899df949d31e8f8ef7d706ead41f4502
2021-09-01 14:13:18 +02:00
Hendrik Hofstadt e6a51d0180 don't allow the chain to be registered multiple times
Change-Id: Ic757b4ea1316718ad492ca5bc446eaf60ebdf200
2021-09-01 13:54:21 +02:00
Hendrik Hofstadt 745ff0ba9b Allow to update meta on ETH, new token naming
This allows us to update the token name and symbol once solana adds the appropriate metadata.

Change-Id: Ibcabf2a644bcc2b2962ff779fa7fb3cb1f2cc626
2021-09-01 13:15:28 +02:00
Reisen a69d76494c devnet: add terra chain registrations
Change-Id: Icc45674147b42d462e6e4b89c8cd43f9d1ddb49e
2021-08-30 11:11:38 +00:00
Hendrik Hofstadt 6e3e43d35b Deploy plain ERC20 as test token
Previously we were using a Wormhole Wrapped asset which could cause confusions

Change-Id: Id3d52c30dad839ab97caed6ea892555f7a9f12a3
2021-08-26 14:19:19 +00:00
Hendrik Hofstadt 50afa0fe9e Prefix wormhole token names
Change-Id: Ieea61ea2833f66c29a2fa0f52ae1a914a3956146
2021-08-26 14:19:19 +00:00
valentin cea46cdfbe add mainnnet deployment config
Change-Id: I70314f8ab49f5d129012b80cecdf19fe6cb9dc1a
2021-08-19 22:31:28 +00:00
valentin 245409852f bridge: mint directly to recipient
Change-Id: Idfa06609c5b9982c885eaa14b402965514b2e143
2021-08-19 10:19:48 +00:00
valentin 45d22ce84f bridge: move evm state setup into a separate contract
Change-Id: Ibc790ba971be5144c0af65870d424c9c62b52039
2021-08-19 10:19:40 +00:00
valentin a055af1416 move EVM state setup into a seperate contract
Change-Id: Ie000dd042c4ebbd7084511d38d87a7555c5d8048
2021-08-19 10:19:26 +00:00
Evan Gray f53d180753 scripts: try catch truffle execs
Change-Id: Id9b27812cd393056ef373d8ec2569ba75f0caea8
2021-08-11 12:49:30 +02:00
Hendrik Hofstadt eb457f9e1e Fix eth chain registration script
Change-Id: Ibda50760847c5f6c31814f2e6dfa22cdf38a6f5e
2021-08-09 17:11:11 +00:00
Hendrik Hofstadt 597aae7cd7 Automatically register eth and solana token bridges
Change-Id: I35efef8d53f999f85ca2e8c4f58cc6cbf8193b2d
2021-08-06 15:21:27 +00:00
Hendrik Hofstadt bedc96d887 Add token bridge client for eth and solana
Change-Id: I0f9af0ffc606aed58579f167fadf80d1964360c8
2021-08-06 15:21:27 +00:00
valentin 24672a7b2f add BSC to truffle config
Change-Id: I0298ef39373dc4a7446345fe2a60de81930cd5eb
2021-07-30 17:54:03 +00:00
Hendrik Hofstadt 047e9deabb Deploy test token to devnet
Change-Id: Id5494802cedcb6eb41c04d366e84f051f42c225e
2021-07-28 08:52:41 +00:00
valentin 62ab6e84a8 test token deployment script
Change-Id: I404855872bd14f523ac9499b1a3a16253210ded0
2021-07-27 16:06:47 +00:00
valentin 51e00dc1bf tokenbridge: decimal shifting & max outstanding
Change-Id: Ia9f27f317fe08c1d8dbb9eaa60e53633acfdd381
2021-07-27 11:43:44 +00:00
valentin 14e892300c tokenbridge: implement new governance packet spec
Change-Id: Iee4b596b6a8ca9dfc9c6ee8c6188a4083a05edeb
2021-07-27 08:59:32 +00:00
valentin 2e6a93b643 ethereum token bridge on wormhole
Change-Id: Iab8d6f6aae6163d1c65f7d5a7395a943c62cdb0c
2021-07-21 14:11:58 +00:00
Hendrik Hofstadt c0228415f8 Fix devnet
Change-Id: I1d62e6323cc2169cce43581f9aeefb537bc84a76
2021-07-20 23:34:37 +02:00
valentin 58fd2bcbcb clean up deployment & add etherscan verification
Change-Id: Idd37f92c5ca61710bece77a473fad35af44ac8f9
2021-07-20 20:54:27 +00:00
valentin 05d6c41722 update wormhole interface
Change-Id: I821234d1d010d9efd15cefb412a35b8717c36fa7
2021-07-20 16:25:38 +02:00
valentin 30a50938d7 remove persistency, return sequence, update tests
Change-Id: Ibdaa3f6443dcabe3a838bc25888bb9676b7e1d2d
2021-07-20 16:07:11 +02:00
Hendrik Hofstadt 227445cd76 Fix tests and add double hashing
Change-Id: I9676e8dd8d25f44c43ef10462493f20d1caff724
2021-07-20 13:43:21 +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 3c5deee7ee Fix devnet for new contracts
Change-Id: I5b7536884ce3d1bdf39a21a8b71b6a848ad0380f
2021-07-02 13:02:35 +02:00
Hendrik Hofstadt f665fe4c7b Fix signature schema and use a single initial guardian in ETH
Change-Id: Ia1995df4ed8f86443cdd62acee7914ffc745d407
2021-07-02 10:48:54 +00:00
Hendrik Hofstadt e7ebf8dc1d Correctly verify sequence in ETH tests
Change-Id: Ic9a9fa5355362326a47d9d3742107ccaac6794d5
2021-06-30 13:13:31 +02:00
valentin 2be6f90314 remove payload length from vm
Change-Id: I89ae8530de8f43a2d2a1813d1d050413338b45d0
2021-06-28 13:45:45 +02:00
valentin 7032d6fba9 add sequence to vm
Change-Id: I0ec81979153c940a8d557ffdd67dec723c09f22c
2021-06-28 11:25:26 +00:00
valentin c3fa835196 ethereum generalized messaging & governance
Change-Id: I412111a10749050ca095458f2fcfe81ce0fe189c
2021-05-27 16:01:49 +02:00