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
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
Hendrik Hofstadt
c405ec9f98
Ethereum refactor
...
This splits the Ethereum contract into a generic Wormhole and a
purpose-specific token transfer module that uses the main contract
for verification.
This acts as a draft for this structure.
Change-Id: I59e133dd7558d5e046045e464e4740241c696d5f
2021-04-20 09:51:07 +00:00
Hendrik Hofstadt
f4a7e705c9
Refactor VAA parsing into public view method ( #153 )
...
* refactor VAA parsing into public view method
2021-01-18 20:14:00 +01:00
Hendrik Hofstadt
6321ca2a49
Add more metadata to erc20 token name ( #152 )
...
* add more metadata to ERC20 name
2021-01-11 14:59:36 +01:00
Hendrik Hofstadt
dadb287220
bridge: fix quorum calculation ( #69 )
2020-10-28 21:22:15 +01:00
Hendrik Hofstadt
8d7a35683e
bridge: fix quorum ( #56 )
2020-10-25 08:57:04 +01:00
Hendrik Hofstadt
b4b0c61dfc
bridge: require single step guardian set index changes
2020-08-31 09:25:41 +02:00
Hendrik Hofstadt
3e88ed023e
ethereum: properly realign transfer decimals, handle decimals on ETH transfers, don't allow same-chain transfers
...
Co-authored-by: Valentin von Albrecht <valentinvonalbrecht@yahoo.de>
2020-08-30 19:25:31 +02:00
Hendrik Hofstadt
4871022fee
ethereum: prevent invalid guardian sets or same signer signatures
...
Co-authored-by: valentin <valentinvonalbrecht@yahoo.de>
2020-08-30 17:30:43 +02:00
Hendrik Hofstadt
a2bd5fbb11
ethereum: truncate decimals to 9
2020-08-30 11:21:45 +02:00
Hendrik Hofstadt
f6750a3762
all: consider decimals on wrapped assets, fix VAA posting, fix solana account parsing
2020-08-28 15:10:42 +02:00
Hendrik Hofstadt
8e6dc495dc
bridge: remove VAA timeout
...
Closes #35
2020-08-28 08:49:46 +02:00
Hendrik Hofstadt
a9dee7da99
ethereum: use create2 for wrapped assets
2020-08-28 08:35:00 +02:00
Leo
5a72d9029a
VAA guardian devnet submission
2020-08-27 17:46:40 +02:00
Hendrik Hofstadt
e0533c70c5
ethereum: make sure quorum calculation is done in the right order
2020-08-22 01:11:03 +02:00
Hendrik Hofstadt
9b3f7999ba
ethereum: add nonce to transfer input
2020-08-20 20:11:45 +02:00
Hendrik Hofstadt
085af1d6b7
Add reentrancy protection
2020-08-20 16:58:03 +02:00
Hendrik Hofstadt
59449a30b3
Update VAA structure
2020-08-19 16:41:25 +02:00
Leo
69d8125c67
ethereum: emit guardian set IDs in LogGuardianSetChanged
...
go-ethereum is having trouble parsing a log with structs.
2020-08-19 11:47:29 +02:00
Leo
8b34a3c534
ethereum: add getGuardianSet accessor
2020-08-18 16:19:28 +02:00
Leo
7903402fa6
Deterministic hashes for ETH lockups
...
We're missing a nonce for truly unique hashes - for now, two
identical transfers will only be executed once.
2020-08-17 19:29:25 +02:00
Leo
e548bbbee3
devnet: add send-lockups.js truffle script to generate test lockups
2020-08-17 16:31:48 +02:00
Leo
f8b313cab8
ethereum: remove unused Schnorr references from tests
2020-08-16 01:54:49 +02:00
Hendrik Hofstadt
6e5a3fa118
Update ETH smart contract for new signature schema
2020-08-15 00:09:48 +02:00
Hendrik Hofstadt
0e69aa4ddc
remove requirement for half_q on pub key x
...
Schnorr signatures don't have the ecdsa malleability vulnerability, also we protect against malleable signatures by tracking consumed VAAs using their body hash.
The check was implemented because the author assumed that ecrecover in the EVM does not accept s < HALF_Q values for malleability protection. There were 2 misconceptions:
1. pubkey_x is passed in as r and not s, 2. the check is not enforced in the precompiled evm instruction.
2020-08-10 21:08:57 +02:00
Hendrik Hofstadt
9749044c25
make wrapped asset check public on eth
2020-08-09 21:16:18 +02:00
Hendrik Hofstadt
c2673c109a
prevent old guardians from updating the set
2020-08-07 11:12:46 +02:00
Hendrik Hofstadt
7add58bef5
clean up contract
2020-08-06 23:36:49 +02:00
Hendrik Hofstadt
6e0fe64937
Add smart contract tests
2020-08-06 23:32:31 +02:00
Hendrik Hofstadt
90b9d403e6
Optimize contract
2020-08-06 18:59:58 +02:00
Hendrik Hofstadt
5368c26332
Remove outdated comment
2020-08-06 16:28:28 +02:00
Hendrik Hofstadt
8f7b4917fa
Support fee-charging ERC20 tokens
2020-08-06 16:26:25 +02:00
Hendrik Hofstadt
c23f8103de
Fix wrapped asset proxy
2020-08-06 16:17:41 +02:00
Hendrik Hofstadt
b6c85217b6
Add ETH tracking
2020-08-06 15:43:45 +02:00
Hendrik Hofstadt
be2a51b447
Optimize ETH contract
2020-08-06 13:38:25 +02:00
Hendrik Hofstadt
bb2e3be463
Update Wormhole solidity contract
2020-08-05 22:44:28 +02:00
Leo
71c0e29dcf
solana: note lack of clock reliability
2020-08-04 19:52:41 +02:00
Leo
f06c4fc50d
eth: fix typo
2020-08-04 19:52:41 +02:00
Hendrik Hofstadt
20a67604fd
Implement full bridge in Solidity ( #5 )
2020-08-03 15:09:40 +02:00
Hendrik Hofstadt
ec7f7565da
ethereum: remove admin key change feature
...
Allowing a guardian to change the admin key will enable them to cast multiple votes
2020-07-28 15:17:36 +02:00
Hendrik Hofstadt
d4fab1190c
chore: restructure for monorepo
2020-07-28 12:39:38 +02:00