Chirantan Ekbote
7454c26f19
node: Update terra.go to latest version
...
This is necessary to use a more recent version of cosmos-sdk (v0.39.1 ->
v0.44.5).
2022-06-09 12:40:27 +09:00
Bruce Riley
cf8c97082b
Minor tweak to finalized check
2022-06-07 10:36:12 -04:00
Bruce Riley
d6f4740136
Undo formatting changes
2022-06-07 10:36:12 -04:00
Bruce Riley
0ac89c3c06
Move polygon stuff to a different branch
2022-06-07 10:36:12 -04:00
Bruce Riley
cf4722a546
Refactor to generalize polling
...
Change-Id: Ie30056486ec86f6dceffed231ac227fa9c3499a7
2022-06-07 10:36:12 -04:00
Bruce Riley
bc7834448e
Enhance error handling
...
Change-Id: Ied2521c0ebfc6bc8cf76ea90be6bc40dc0d811a3
2022-06-07 10:36:12 -04:00
Bruce Riley
9d423422c4
Rework the code
...
Change-Id: Id0aed3e3bce8f1e5332479132fab9437252909db
2022-06-07 10:36:12 -04:00
Bruce Riley
80512c0350
Initial rough draft
...
Change-Id: Ic2c8b15438162fd097e866f9a0ca1f6adf6a3f55
2022-06-07 10:36:12 -04:00
Josh Siegel
594674db5e
algo/watcher: Fixes for testnet
2022-06-07 08:57:27 -05:00
Bruce Riley
5562141599
Only require 64 confs in polygon testnet
2022-06-06 12:49:44 -04:00
Bruce Riley
dcce155f43
Acala mainnet deploy
2022-06-03 14:44:22 -04:00
tbjump
ba5fcc4ad8
apply gofmt and enforce it for new commits
2022-06-02 07:57:49 -04:00
Jonathan Claudius
f32e6c4aa8
Reorder quorum and verifysignatures ( #1166 )
2022-05-25 08:35:08 -04:00
Jonathan Claudius
1e6611ebb6
Add comments on vaa min length ( #1206 )
...
* Add proof of work on minVAALength
* Change minVAALength to 57
2022-05-24 10:42:30 -04:00
tbjump
67c39e71c0
enable additional linters, including gosec ( #1215 )
...
enable additional linters, including gosec
2022-05-23 16:21:10 +02:00
tbjump
8c1e571724
fix getUniqueClientId to actually return unique ID ( #1127 )
...
fix getUniqueClientId to actually return unique ID
2022-05-23 15:05:55 +02:00
tbjump
1c2a70554b
supress gosec issue ( #1216 )
...
supress gosec issue
2022-05-23 11:25:24 +02:00
tbjump
d87ae5a272
gosec fixes ( #1201 )
...
* nosec linter surpression in nodekey_test.go
* Mark DeterministicEcdsaKeyByIndex as Insecure
* nosec - surpress warning
* simplify range expression
Co-authored-by: tbjump <>
2022-05-20 08:09:48 -07:00
bruce-riley
018908a420
Klaytn mainnet deploy ( #1185 )
...
* Klaytn mainnet deploy
2022-05-16 10:06:17 -04:00
Csongor Kiss
4d54fee0b9
node: New default current guardian set index ( #1101 )
...
The current guardian set index is 2, so the `guardiand` template command
should generate prototxt files accordingly.
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
2022-05-13 19:47:45 -04:00
Jeff Schroeder
da0fb0ddf7
node/hack/repair_terra: token bridge messages only
...
Ensure that the sequence numbers are just for the terra token bridge.
2022-05-13 15:26:14 -04:00
Jeff Schroeder
f1d28915f8
node/hack/repair_terra: add a rate limiter
...
Otherwise the terra fcd tells us to gfy after too many requests.
2022-05-13 15:26:14 -04:00
Csongor Kiss
68693689cf
node/repair: allow multiple sequences in a tx
2022-05-13 15:26:14 -04:00
Jeff Schroeder
e70830002e
repair_eth: work better when messages are skipped
...
Otherwise there can be a nil pointer deref for polygon when it skips
the VAA.
2022-05-13 13:22:55 -04:00
Bruce Riley
d266438654
Celo mainnet deploy changes
2022-05-13 13:11:28 -04:00
Josh Siegel
ac9b4a5d05
algo/rollback: handle rollbacks gracefully @ gusc1a-ossdev-jsl5
2022-05-12 09:10:10 -05:00
Josh Siegel
c9d7a617ee
Rewrite algorand guardian watcher to directly hit the node instead of depending on indexer
2022-05-12 06:50:07 -05: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
Leo
2a83ea406b
node/pkg/ethereum: move up nil check for TransactionReceipt
...
This fixes a null pointer dereference for a nil tx.
commit-id:a6a356b8
2022-05-05 09:04:54 -04:00
Leopold Schabel
eb3b777520
node/cmd/guardiand: improve send-observation-request arg parser
...
Accept chain names (i.e. "solana") and base58 tx hashes.
commit-id:d7114740
2022-05-02 14:41:55 -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
bruce-riley
49f4a98cb2
Add missing aurora address references ( #1117 )
...
* Add missing aurora address references
Change-Id: I57a7dc7450d8527ab1ee6710dfbd6eda6da93f07
* Fix copy and paste error in comment
Change-Id: Ie7fc3cdbeab76518aad0f0220798cd1788d4be45
2022-05-02 13:06:56 -04:00
Evan Gray
1229ca5cff
algo: guardian
2022-04-29 20:56:46 -04:00
Jeff Schroeder
0981dc19bc
node/hack/repair_eth: skip missed message
...
Otherwise, the script will run until the max number of times and
never complete.
2022-04-29 07:21:03 -04:00
Jeff Schroeder
542acdf0d6
node/hack/repair_eth: more cat & mouse for polygon
...
* Added the `User-Agent` header to all requests to the block explorer
so cloudflare's browser check is happier.
* Add an option to sleep between loops hitting the block explorer. More
than 1 / second on polygonscan gets you blocked temporarily.
These changes are required to repair missed messages on polygon.
2022-04-29 07:21:03 -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
justinschuldt
4ae277f264
shutdown auth proof template
2022-04-28 02:32:04 -05:00
Jeff Schroeder
a4c91d8f1b
Minor updates to repair_eth ( #1120 )
...
* node/hack/repair_eth: use a cookiejar for http
Otherwise, explorers like polygonscan, which implement a cloudflare WAF,
will block all requests.
* node/hack/repair_eth: add -showError flag
When an explorer is having problems or blocks a repair http request, it returns an error like:
Failed to get current height: failed to decode response: invalid character '<' looking for beginning of value
This allows showing the actual response body to better troubleshoot the problem.
2022-04-27 14:33:43 -04:00
bruce-riley
87b36399d3
Add safe mode check ( #1108 )
...
Change-Id: Ida10e1ab0c056b4ed1ce2317800235843763a7ac
2022-04-26 07:51:10 -05:00
bruce-riley
05d84b4d6f
Add fantom to repair script ( #1109 )
...
Change-Id: Ic81b1082b72bb0cd66d9f15e951f6df2b92972ad
2022-04-26 07:50:07 -05:00
Csongor Kiss
0f6c1e2d98
Allow specifying the timestamp in governance inject
...
The 'timestamp' field is now allowed in a governance prototxt, which
applies to all the messages in the struct. If the timestamp is not
specified, then it defaults to 0, which is identical to the existing
behaviour.
2022-04-19 17:52:05 +01:00
Jonathan Claudius
b18a6c8c2f
Fix segfault from empty GetSignedVAARequest ( #1069 )
2022-04-11 19:16:59 -04:00
Jonathan Claudius
bad4f7061b
Adds unit-tests and functional improvements to guardian signature verification ( #1068 )
...
* Add more comprehensive structs unit-tests
* Make VerifySignatures fail on duplicate addresses
* Adjust duplicate detection to guard on signatures instead of addresses
* Add monotonic check in VerifySignatures
* Move logic into VerifySignatures and add more test cases
* Add a paranoid check for duplicate signers
* Make VerifySignatures unit-tests less contrived
* Add more verify signature test cases
* Refactor VerifySignatures tests
* Add VerifySignature fuzz tests
* Add tc.result checking instead of hardcoded true
* Change comparison so it throws debug on failure for fuzz tests
* Add unit-tests for observation signature logic
* Fix comment typos
* Refactor observation tests
* Add missing test case
* Fix VAAInvalidSignatures test case label
* Clean up unit-tests for observation and structs
* Change errorString convention in test
* Format Signature Verification Test Cases
* Remove unnecessary casting
* Add multi-signer same key cases
* Fix err usage in test cases
* Remove duplicate getVAA
2022-04-11 19:14:41 -04:00
Leopold Schabel
1fd6e14885
node/pkg/ethereum: fix unreachable nil check
...
The program would've crashed on `l.Address` before it
could reach the nilness check.
commit-id:17b64899
2022-04-11 17:10:14 -04:00
Bruce Riley
10f00b934b
Promote Aurora to Mainnet
2022-04-11 17:05:07 -04:00
Paul Noel
763f80b45d
Repair eth for Aurora ( #1065 )
...
* node/hack/repair_eth: update for Aurora
Change-Id: Ic073cb7806ce611a0d0c742b864dfa5cd57f39da
* bridge_ui/utils: update for Aurora
Change-Id: I19089355910d1252d139267ce1398e1dcdd46095
* node/hack/repair_eth: add comments
Change-Id: I2361d317e24446590334d39bc2e52f68d75932c5
* node/hack/repair_eth: fix comments
Change-Id: I4fd3e04d74f4f0b1c3731c556a106663bb36b66d
2022-04-11 16:27:20 -04:00
Leopold Schabel
97aedff9f0
node/pkg/ethereum: restart watcher if guardian set update fails ( #1010 )
2022-04-11 21:07:19 +02:00
Leopold Schabel
d68232c447
hack/repair_solana: improve sequence guessing ( #1003 )
2022-04-11 21:07:09 +02:00
Jonathan Claudius
8dd3536fb2
Add README and crypto/rand for encrypt.go tool ( #1057 )
2022-04-08 19:37:53 -04:00
Jonathan Claudius
36cabf0e6a
Remove dead code path ( #1056 )
2022-04-08 19:37:23 -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
bruce-riley
eb898b0555
Aurora and Fantom handled wrong in a couple cases in guardian ( #1044 )
...
* Aurora and Fantom handled wrong in a couple cases
Change-Id: I09b7d2da46507e219bd99d945256e63fefad529c
* Original test covered upper / lower case
Change-Id: I0384b0aac6f63bf9782d393fcd4e4e67f353775a
2022-04-04 15:08:16 -04:00
Jonathan Claudius
b7ec3ac0d3
Add unit-tests for nodekey ( #1035 )
...
* Add unit-tests for nodekey
* Move to deferred file clean up
2022-03-30 09:41:27 -04:00
Jonathan Claudius
5e00027a18
Add unit-tests for registry ( #1026 )
...
* Add unit-tests for registry
* Tweaks to registry unit-tests
* Remove duplicate unit-test
* Remove duplicate test case
2022-03-30 09:38:37 -04:00
Jonathan Claudius
3ceec1833f
Add more comprehensive structs unit-tests ( #1006 )
...
* Add more comprehensive structs unit-tests
* Abstract the vaa generation test logic
2022-03-29 12:24:56 -04:00
Jonathan Claudius
5921150f93
Add unit-test for ethereum utils ( #1022 )
2022-03-29 12:24:16 -04:00
Jonathan Claudius
a709d6f283
Add unit-tests for deterministic devnet keys ( #1032 )
...
* Add unit-tests for deterministic devnet keys
* Extend unit-tests to do full deterministic key checks
2022-03-28 10:43:37 -04:00
Jonathan Claudius
5355f87206
Add unit test for 0 case and move to testify ( #1023 )
2022-03-28 09:54:18 -04:00
Jonathan Claudius
b7a95484f9
Refactor Symmetric Unit-tests to Testify ( #948 )
...
* Refactor Symmetric Unit-tests to Testify
* Isolate tests for more durability
* Remove duplicate test case
2022-03-25 16:17:33 -04:00
justinschuldt
b73ebd1b9c
fix digest string represenation
...
commit-id:617ade15
2022-03-18 10:49:34 -05:00
justinschuldt
d2dcb57e61
send guardian set data to prometheus
...
commit-id:87ec83e0
2022-03-18 10:49:34 -05:00
justinschuldt
99a02a41ea
fix devnet GS upgrade path
...
commit-id:3a2fa5aa
2022-03-18 10:49:34 -05: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
Jonathan Claudius
fa237c7bb4
Add some unit-test coverage for GuardianSet ( #951 )
...
* Add some unit-test coverage for GuardianSet
* Remove mu check to fix CI run
* Remove unnecessary copy paste
2022-03-11 11:31:10 -05:00
claudijd
ff62a2c7f4
Add unit-tests for payloads
2022-03-09 20:58:04 -05:00
Jonathan Claudius
991f8fdb4b
Add struct tests2 ( #978 )
...
* Add unit-tests for structs
* Remote commented imports
* Add tweaks per review feedback
2022-03-09 19:40:36 -05:00
Leopold Schabel
c9ae0880fa
node/hack/repair_eth: add max retries to skip over broken entries ( #977 )
...
commit-id:b1119b32
2022-03-08 20:51:55 +01:00
Leo
011987867a
pkg/ethereum: check receipt status code
...
commit-id:0b2539be
2022-03-07 17:53:42 -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
Leopold Schabel
d40a70a37f
node/pkg/ethereum: log blockhash for new message publications ( #910 )
2022-03-03 21:31:15 +01:00
Leopold Schabel
3e51512aec
node/pkg/common: fix guardian set state cleanup ( #891 )
2022-03-03 21:18:41 +01:00
Hendrik Hofstadt
4bc5daa8d1
Hardening against governance message spoofing ( #938 )
2022-03-03 17:55:02 +01:00
Jeff Schroeder
fd96dced3a
Fantom updates ( #928 )
...
* node: Add fantom to guardiand admin list-nodes
* node: check fantom readiness for mainnet
2022-03-01 20:32:31 -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
Paul Noel
3b10f124a1
node/hack/repair_terra re-observation ( #871 )
...
* node/hack/repair_terra added file
Change-Id: Ie015cb3364c56211ba51550cfae307836071532a
* node/hack/repair_terra code inspection fixes
Change-Id: I91dfeeedf7d7f04591cc8ef47fde52f933a45d0a
2022-02-21 17:43:40 -05:00
Jonathan Claudius
d47089741c
Add unit-test for governance ( #867 )
...
* Add unit-test for governance
* Gofmt governance_test.go
* Use structs for testing governance VAA
Co-authored-by: claudijd <jclaudius@jumptrading.com>
2022-02-21 17:23:34 -05:00
Leo
a9e36ea7fb
node/cmd: remove an extra err check
...
commit-id:e3096e20
2022-02-18 09:00:26 -05:00
Paul Noel
7af9d22221
node/hack/repair: oasis support
...
Change-Id: I2b7b825ab49dad68e7072a4f488bbc411cbaabd6
2022-02-15 17:20:03 -05:00
Leo
d2d6128c12
node/hack/repair_eth: add tx replay via Etherscan API
...
commit-id:023a6afb
2022-02-15 16:47:20 -05:00
Leo
799c1e9942
node/hack/repair: rename to repair_solana
...
commit-id:9cf72c8a
2022-02-15 16:47:20 -05:00
Leo
de7cfe6cc7
node/hack/findmissing: add simple script to find all missing messages
...
This is different from "admin find-missing-messages" insofar as
having a hardcoded list of emitters.
commit-id:b934f672
2022-02-15 16:47:20 -05:00
Leo
8bf1176401
node/pkg/common: add list of known mainnet emitters
...
commit-id:f4d2389f
2022-02-15 16:47:20 -05:00
Leo
93ee5f3d31
node: remove duplicated public RPC node definitions
...
commit-id:452deba7
2022-02-15 16:47:20 -05:00
Leo
632e8acbee
node/hack/repair: remove state directory
...
commit-id:74906ad4
2022-02-15 16:47:20 -05:00
Jeff Schroeder
b54b7e1183
node: add fantom support
...
Only run in testnet until the contracts are deployed to mainnet.
2022-02-15 13:51:11 -05:00
Evan Gray
9ed71c0038
node: terra reobservation
2022-02-12 15:03:32 +01:00
Leo
c28b492e03
node: add reobservation requests for Eth chains
...
commit-id:e4fa6adf
2022-02-12 01:06:06 +01:00
Leo
8f63e123a5
node/pkg/ethereum: add MessageEventsForTransaction
...
This retrieves a single transaction's MessagePublication events. This
has the same security assumptions than listening to the log events -
namely, ensuring the right contract has emitted them.
Tested locally with a mainnet transaction.
commit-id:64347ecc
2022-02-12 01:06:06 +01:00
Leo
7ae4b3d6aa
node: increase Polygon minimum confirmation to 512
...
It appears that in spite of exceeding the recommended value by 2x,
256 offers insufficient safety margin given that we saw two reorgs
of depths 178 and 187 recently: https://polygonscan.com/blocks_forked
This will increase confirmation delay from ~10 minutes to ~20 minutes.
commit-id:cf2b1503
2022-02-08 17:39:53 +01:00
Leo
6c02299f2b
node/pkg/solana: skip failed transactions
...
Avoid unnecessary RPC calls/retries.
Makes no difference for safety, which relies on VAA accounts rather than
any transaction metadata.
commit-id:0cd82ed4
2022-02-08 12:41:48 +01:00
Leo
7144d6b538
node/hack: add repair script
...
Fetches the list of missing Solana messages, finds the corresponding
on-chain transactions, sends an ObservationRequest to the network
and waits for consensus.
Hacky one-off script with a couple of edge cases (doesn't filter
failed txs, crashes if the boundary is not a valid tx). We can later
refactor this and add it to the find-missing-messages admin command
if we keep needing it.
commit-id:9b338dfa
2022-02-08 12:41:48 +01:00
Leo
95fea79276
node/pkg/db: add db.VaaIDFromString and vaa.StringToAddress helpers
...
commit-id:1fb9f998
2022-02-08 12:41:10 +01:00
Leo
29cd5a3934
cmd/guardiand: fix governance VAA serialization
...
And add some extra debug logging for governance-vaa-verify.
commit-id:10deaff4
2022-02-03 04:14:29 +01:00
justinschuldt
763c62b73e
supply credentials file to PubSub
...
commit-id:563f6718
2022-02-01 10:32:58 +01:00
Leo
f200a6bd23
node/pkg/solana: fix context memory leak
...
commit-id:69632fa8
2022-01-27 12:43:03 +01:00
Leo
f829195ea5
node/pkg/solana: kill recovery feature
...
This is no longer needed with SignedObservationRequest.
commit-id:9a3fbf4e
2022-01-26 13:00:23 +01:00
Leo
73a5b72857
node: implement observation requests via gossip
...
Limitations:
- Only supported for Solana and for confirmation level Finalized,
which the token/NFT bridges use. Need to take a close look before
enabling it for both (since we're bypassing the tx fetcher and would
fetch and process accounts of the "wrong" confirmation levels).
- Rate limiting not implemented yet, will be done in a future release
when things are not currently on fire.
Test: https://gist.github.com/leoluk/bab3a18e922057109facea1cf1f26b2f
commit-id:6a0d4c32
2022-01-26 13:00:23 +01:00
justinschuldt
79f489bd28
code review update
...
commit-id:55c28b21
2022-01-26 12:16:16 +01:00
justinschuldt
054d800f19
improve logging around GCP PubSub message path
...
commit-id:04012992
2022-01-26 12:16:16 +01:00
Leo
07c599ab68
node/pkg/telemetry: reduce log level to INFO
...
It appears that GCP Cloud Logging cannot handle the volume of logs
we're throwing at it... full text search slows to a crawl (LOL)
Reduce log level until we can move to something else.
commit-id:b71c3467
2022-01-25 22:36:24 +01:00
Leo
68bdd4b0b6
node/pkg/processor: expire late observations
...
Fixes https://github.com/certusone/wormhole/issues/685 .
Example occurrence this fixes: https://i.imgur.com/gZWKf1n.png
Possible future optimizations include:
- Ignore late messages in the processor (but we can only ignore
them post settlement time, so we need the cleanup logic regardless).
- Ignoring late observations from other nodes.
- Using the stored VAA to calculate misses.
- Drop incomplete local observations. However, this is not trivial
since we do not know the message ID for those.
commit-id:47e1e59f
2022-01-25 22:36:24 +01:00
Leo
b8c30314b5
node: avoid clobbering terminal with binary data
...
commit-id:222d1f31
2022-01-25 22:36:24 +01:00
Leo
aff369ff4d
node/pkg/solana: push recovery date
...
commit-id:a3c51648
2022-01-11 15:10:12 +01:00
Leo
1c0815e107
node/pkg/ethereum: increase log levels
...
commit-id:8ec48eb6
2022-01-11 15:10:12 +01:00
Leo
af2bd5be36
node/cmd: add public telemetry for logs
...
commit-id:582fc943
2022-01-11 15:10:12 +01:00
Leo
870afc5193
node/pkg/ethereum: do not override outer scope's cancel function
...
Otherwise, we might end up cancelling the root context by accident.
commit-id:09a5287e
2022-01-11 15:10:12 +01:00
Leo
a5223c074a
node/pkg/ethereum: reduce timeout for TransactionReceipt
...
We should spend as little time holding pendingMu as possible.
Ideally, we would refactor the component to do non-blocking I/O.
commit-id:b464c384
2022-01-11 15:10:12 +01:00
Leo
146c08d5af
node/pkg/ethereum: correctly log "not found" error
...
commit-id:23a5fd80
2022-01-11 15:10:12 +01:00
Leo
81d1e821c0
node/pkg/ethereum: minimum confirmations for Polygon
...
commit-id:0d95a63c
2022-01-11 15:10:12 +01:00
Leo
ab18f278fe
node/cmd: use plain global root logger
...
Get our own root logger and pass that to ipfslog. Prerequisite for
getting fancy about using Zap plugins.
commit-id:ad22324d
2022-01-11 15:10:12 +01:00
Leo
26a946fef7
node/pkg/solana: update recovery.cfg
...
commit-id:facc30f4
2022-01-11 15:10:12 +01:00
Leo
33717ebcc9
node/pkg/ethereum: check for rpc.ErrNoResult with non-nil tx
...
This cannot currently happen the way TransactionReceipt is implemented,
but make sure to check the tx != nil case anyway in case the API
is changed in future releases of go-ethereum.
commit-id:b721f0be
2022-01-11 15:10:12 +01:00
Leo
5de9d11b51
node/pkg/ethereum: improve confirmation logging
...
Makes the log slightly nicer to grep when looking for a tx.
commit-id:dc7cd00a
2022-01-11 15:10:12 +01:00
Hendrik Hofstadt
409b5ca5bf
Properly check for orphaned txs
...
Change-Id: I2c3d1f638f6e6ab22c4dfcbbe0a0f5f6fd62f730
2022-01-07 10:31:37 -05:00
Evan Gray
e1257f123a
node: eth watcher multi-message fix
2022-01-04 10:44:46 -05:00
Hendrik Hofstadt
cc2c310ba6
Refactor terra guardian component
...
This allows multi-message emission in a single call.
Change-Id: Ief28e91646362506453fe48b5489fd4ee0d35682
2022-01-04 16:21:10 +01:00
Justin Schuldt
9656cca4f3
export MakeRowKey in bigtablewriter.go ( #650 )
...
So it can be used elsewhere, in cloud functions.
2021-12-27 12:21:47 -06:00
jumpsiegel
f90ed66ca0
Stub out algorand support in wormhole ( #611 )
...
* Stub out algorand support in wormhole
1) Introduce the algorand chain constant in all the appropriate places
2) Deploy pyth/hernandc algorand smart contracts into devnet
3) Fund all the correct contracts for devnet testing
Change-Id: I6e4402b5b21223b32ea89653f8c7606f5c7f2843
* pr/jsiegel/algorand-v1: ALGORAND is not a EVM chain @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: fix lint @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: put the requirements into the image @ gusc1a-ossdev-jsl1
* jsiegel/algorand: make the watcher hang forever @ gusc1a-ossdev-jsl1
* jsiegel/algorand: comment these out @ gusc1a-ossdev-jsl1
* jsiegel/algorand: put this back in @ gusc1a-ossdev-jsl1
* jsiegel/algorand: fix guardian example @ gusc1a-ossdev-jsl1
* Generate teal source code
commit-id:a537a109
* jsiegel/algorand: it builds @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: add Dockerfile.teal @ gusc1a-ossdev-jsl1
* jsiegel/algorand: improve the dependencies @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: Fix up build @ gusc1a-ossdev-jsl1
* dead file
* pr/jsiegel/algorand-v1: remove more stuff @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: fix build @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: freeze the requirements @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: Fix teal to use pipenv @ gusc1a-ossdev-jsl1
* pr/jsiegel/algorand-v1: fix miss-merge @ gusc1a-ossdev-jsl1
Co-authored-by: Leo <leo@certus.one>
2021-12-22 11:22:04 -05:00
Leo
8a24b23a27
node/pkg/solana: fix recovery account for 23635
...
commit-id:ad9e3269
2021-12-21 23:44:26 +01:00
Leo
dc1aa7ad5b
node/pkg/solana: add more recovery accounts
...
commit-id:9d40354b
2021-12-21 23:01:37 +01:00
Leo
c3f97c0e7e
node/pkg/solana: put finalized check back
...
commit-id:7425a438
2021-12-21 22:57:57 +01:00
Leo
17508ff29c
Revert "node: move oasis to testnet mode"
...
This reverts commit 9ad792c6ee
.
commit-id:896988bd
2021-12-21 22:00:15 +01:00
Leo
9ad792c6ee
node: move oasis to testnet mode
...
We're not ready to release this yet.
commit-id:c2d6531f
2021-12-21 21:01:47 +01:00
Leo
40d1a57167
node/pkg/solana: bump recovery date and remove constraint
...
We don't know what commitment level the missing transactions use.
commit-id:8ed29f9f
2021-12-21 21:01:47 +01:00
Leo
fce50e7c48
node/pkg/solana: double number of max retries
...
This should reduce the number of misses during periods of heavy weather
and high winds, at the expense of increasing load on the RPC nodes.
commit-id:98704274
2021-12-21 21:01:47 +01:00
Leo
3c1ee3bdc3
node: add oasis support
...
commit-id:31eeeb35
2021-12-20 20:57:11 +01:00
justinschuldt
024ced81d9
PubSub infra for bigtable data enrichment
...
Change-Id: Ide08774960ad7e9dee04090bc990be49357c79a2
commit-id:928fad6e
2021-12-20 16:56:56 +01:00
Leo
1e997bbf13
node/pkg/solana: add Dec 21 recovery event
...
commit-id:e9c5a3d5
2021-12-20 16:05:22 +01:00
Leo
8aedb5b315
hack/lookup_txes: be smarter about searching within a range
...
commit-id:944810ec
2021-12-20 16:05:22 +01:00
Leo
2a7c32ca3f
node: re-observe backfilled VAAs
...
commit-id:8a9af802
2021-12-20 16:05:22 +01:00
Leo
6260d5a148
node: add support for backfilling via RPC
...
commit-id:5cad9f7b
2021-12-20 16:05:22 +01:00
Leo
8e695c674a
node: run all Go tests in CI
...
commit-id:baa9f712
2021-12-20 16:05:22 +01:00
Leo
585a22cf59
node/pkg/supervisor: remove supervisor_test.go
...
The tests do not work outside of Monogon's test harness - remove them.
commit-id:46bf85fe
2021-12-20 16:05:22 +01:00
Leo
ceff5a0954
node/pkg/solana: rename ParseMessagePublicationAccount and delete tests
...
The tests were never updated for Wormhole v2 and don't work.
commit-id:d5b153db
2021-12-20 16:05:22 +01:00
Leo
e7d07dfded
node/pkg/vaa: fix TestBodyRegisterChain_Serialize
...
I accidentally broke this in 2022b55fd
, which removed the header.
commit-id:8665659a
2021-12-20 16:05:22 +01:00
Leo
8546ee6e14
node/pkg/vaa: remove error return value from SigningMsg
...
serializeBody always returns a nil error.
Remove the error return value.
commit-id:5e150f69
2021-12-20 16:05:22 +01:00
Leo
e571e96bbd
node: fix linter warning
...
Thanks linter, I did *not* know about this one :-)
commit-id:222b476a
2021-12-16 17:33:59 +01:00
Leo
1e4ecef4ce
node: add --only flag to list-nodes
...
commit-id:4f7d40fc
2021-12-16 17:12:13 +01:00
Leo
ce85d8b717
node: add a missing newline
...
It did work in staging! ... with a single node
commit-id:bc375534
2021-12-16 17:03:34 +01:00
Leo
939ea5d28d
node: refactor adminnodes.go
...
This felt so good to clean up
commit-id:a81777df
2021-12-16 16:51:16 +01:00
Leo
537d56b37a
devnet: avalanche fix
...
commit-id:3ab70784
2021-12-15 00:16:18 +01:00
Leo
e950bb831a
node: enabled avalanche on mainnet
...
commit-id:45e694bd
2021-12-15 00:00:31 +01: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
Leo
00c046e81e
Bump Go to 1.17.5
...
commit-id:359d3fb7
2021-12-13 15:38:17 +01:00
Leo
e15f712955
node: fix showDetails in testnet mode
...
Change-Id: Ie93fb68bc31de67e1b009b758c29bcdd275394f9
2021-12-10 12:06:52 +00:00
Leo
864e983e04
node: add avalanche support in testnet mode
...
Change-Id: Icdf6c26187547d1b1929e43530beeec17c142e3f
2021-12-10 11:48:03 +00:00
Leo
bc48b1b51d
node: add spy service
...
Change-Id: Ieb04e6d26c7778d8a8afbbeaee79d764d9f2cd31
2021-12-03 02:01:56 +01:00
Leo
8800d7bfd3
*: add ropsten chainID and guardiand implementation
...
Change-Id: Ib99316c28237d946eb2b6d013f4e275a620d4aa8
2021-11-22 22:32:36 +00:00
Leo
b860c2b00e
node/cmd: output hex bytes for VAA lookup
...
Change-Id: I1ade7483679eb035695b3b77b8b95243d2174b86
2021-11-05 15:42:15 +00:00
Leo
9cc37e3923
node/notify/discord: mention node operator groups
...
Change-Id: I891adf9342c84efefb8f4f908ae0b2881b118d7e
2021-11-05 15:42:15 +00:00
Leo
16c9f9036b
node/pkg/processor: change threshold for Discord notifications
...
Change-Id: I09060ad46a47b6293b18cffd717492098ad6dda0
2021-11-05 15:42:15 +00:00
Leo
a4653eac36
node/cmd: add admin dump-vaa-by-message-id command
...
Change-Id: I1cba29582b23b8dfeb77cc4a2fe143ca7113a88f
2021-10-29 21:02:07 +00:00
Leo
f59f4bbb2e
node/pkg/processor: ignore late observations for quorum VAAs
...
This avoids gossip spam and false positive Discord notifications
when a connected node catches up and late observations are made.
Change-Id: If9562661487d3d3d5138d27298b005f278f9e9ce
2021-10-29 19:14:05 +00:00
Leo
24ee63d9a1
node/pkg/processor: increase confirmed VAA timeout to five days
...
This'll make governance more relaxed.
Change-Id: I55946058f01ec4f08f60670725522f6d7d9346bb
2021-10-29 19:13:52 +00:00
Leo
7bd5643c0c
node/cmd: default to guardian set index 1
...
This prevents the field from being omitted due to defaulty-ness.
Change-Id: Iae6d3887edf2b10dd2dfcd73b4f53120633fe02e
2021-10-29 19:13:40 +00:00
Leo
feb9919c0d
node/pkg/db: document that VAAs may be stored multiple times
...
Change-Id: Ia32036b7e0f6afbe677a031628a3ed78f98184b7
2021-10-29 19:13:17 +00:00
Leo
db4d325cb6
node/pkg/p2p: expose network guardian version metric
...
Fixes https://github.com/certusone/wormhole/issues/305
The logic to do this seemingly simple task is hilariously complex
due to the version string being attacker-controlled.
Change-Id: Ia1758418a67c082595affe0b7f2bb801e9434733
2021-10-29 19:13:14 +00:00
Leo
621962982a
node/pkg/common: guardian set state node cleanup
...
This feature is dedicated to Chorus One, who really like to rotate
node keys! :-)
https://github.com/certusone/wormhole/issues/304
Change-Id: Ic0f1e52095676222970752b1e2ac893d7f0915ec
2021-10-29 19:13:10 +00:00
Leo
2396adc2c5
node/cmd/guardiand: batched submission of governance messages
...
Change-Id: I1f8541a89fb1ef3b5bafaede43a8481634cd3451
2021-10-29 19:08:45 +00:00
Leo
d5f6540656
node/cmd/guardiand: governance template improvements
...
The template commands now support generating full governance messages
with all required fields. Outputs to stdout instead of a file.
Change-Id: I3837107c3075363a54d31f9dfb4d6dc07c79daa5
2021-10-29 19:08:45 +00:00
Leo
964566c559
node/cmd: add missing bsc and polygon readiness registrations
...
This would cause the readiness check to not detect failures.
Change-Id: I7f38e8a201929bb10a71bc707a3513b565b05960
2021-10-29 19:08:45 +00:00
justinschuldt
8fed2d0659
remove unused bigtable data
...
Change-Id: I2b4a798b99f11be2ce9869d15dc633e1568974e1
2021-10-29 12:56:27 +00:00
justinschuldt
5f1e5dd211
save inbound VAA to bigtable
...
Change-Id: Id8ca26088daff3734a32d061029231d5846a020e
2021-10-29 10:09:48 +00:00
Leo
1ccd9eef12
node/cmd: fix typo in list-nodes command
...
Change-Id: I1b56dd4eeea32d05e7ae5c2524cfce1197c0154a
2021-10-27 14:20:02 +00:00
Leo
9ba59fa2b2
node/cmd: fix infura warnings
...
The string can appear anywhere.
Change-Id: Ib45acc8e3b24308446434b29a709ebf532bcb30a
2021-10-27 14:20:02 +00:00
Leo
c64576cc0b
node: add Polygon support
...
Change-Id: Ia919861879eb6c831d4dd9ccbe1748e7123502e5
2021-10-21 10:11:21 +00:00
Leo
f275823461
node/cmd: blacklist mainnet.infura.io
...
Change-Id: I13335a80ba7b241beca30737384114b0e7b771c4
2021-10-19 14:29:23 +00:00
justinschuldt
71dbe80aae
BigTable historical queries
...
- Add Cloud Functions:
- "Recent" gap list, can filter and/or group by chain or address.
- "Totals" counts 24h, 30d, rolling daily. can filter and group.
- "Transaction" lookup row by chain-native transaction identifier.
- Pad sequence in rowkey to fixed length, for sequential row order.
- Add Cloud Function deploy instructions.
- Fix #410 Buildpack image cleanup
Change-Id: Ifa3110a3d58e2f94adb48ccb451c27ab3add0611
2021-10-13 16:20:10 +00:00
Leo
1d1422e416
node/cmd: hex-encoded address for ContractUpgrade
...
For consistency
Change-Id: Ife43c1381ad3933524d895145c5bdb865ef9f1e7
2021-10-12 21:48:44 +00:00
Leo
06794baaac
node/cmd: ChainID uint8 -> uint16
...
This was changed in v2 and not yet updated here.
Change-Id: Ia35a5a025df0b096f3f94137ef291c458d726bc6
2021-10-12 21:48:44 +00:00
Leo
ee81e667d3
node/pkg/processor: kill "received observation by unknown guardian"
...
Log message keeps causing confusion even at WARN level
(who would've thought :D)
Change-Id: I3dc7d0ed054f1531a69953ebccee053f58f81ad5
2021-10-12 21:48:44 +00:00
Leo
6fd6cb9f02
node: add BridgeUpgradeContract governance VAA
...
Example VAA produced by the template:
(*vaa.VAA)(0xc0004f4510)({
Version: (uint8) 1,
GuardianSetIndex: (uint32) 0,
Signatures: ([]*vaa.Signature) (len=1 cap=1) {
(*vaa.Signature)(0xc0003b0370)({
Index: (uint8) 0,
Signature: (vaa.SignatureData) (len=65 cap=65) 0f97ec9093c21ccc4ce544898ed5c21b66ab4c90be894642fbb43474ed9fb48a26d6e12f3397b9fdab160fee64e797d26599a2a9d81a4bf4bc98970b5fa5122501
})
},
Timestamp: (time.Time) 1970-01-01 00:00:00 +0000 UTC,
Nonce: (uint32) 1375049878,
Sequence: (uint64) 3557202656914991802,
ConsistencyLevel: (uint8) 32,
EmitterChain: (vaa.ChainID) solana,
EmitterAddress: (vaa.Address) (len=32 cap=32) 0000000000000000000000000000000000000000000000000000000000000004,
Payload: ([]uint8) (len=67 cap=1000) {
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000010 00 00 00 00 00 54 6f 6b 65 6e 42 72 69 64 67 65 |.....TokenBridge|
00000020 02 00 05 00 00 00 00 00 00 00 00 00 00 00 00 02 |................|
00000030 90 fb 16 72 08 af 45 5b b1 37 78 01 63 b7 b7 a9 |...r..E[.7x.c...|
00000040 a1 0c 16 |...|
}
})
Change-Id: Ibe95db01e1bc0a9c36e1be06920a389db886fdd1
2021-10-11 12:54:51 +00:00
Leo
659b7b2547
node: add Discord notifications for missing signatures
...
Change-Id: If09643c2e02c4c166577082cd9be9124d2e775d4
2021-10-06 14:12:21 +02:00
Leo
c1502bce13
node/pkg/solana: do not re-trigger scheduled recovery past schedule
...
Change-Id: I2df48c868caa0b5d93fc5ae53e154ceca0e9a4d7
2021-10-06 12:41:58 +02:00
Leo
3738d010c7
node: bump dlv for Go 1.17 compat and expose it via Tilt
...
Drive-by fix Tiltfile formatting.
Change-Id: I4455db1a5dd8096beae586e119fee119e61a09ba
2021-10-06 12:41:58 +02:00
Leo
894fd7c694
node/pkg/solana: add more accounts to be recovered
...
Change-Id: Ifed655e521a32508fc2b00dde38187abc71185cc
2021-10-05 11:16:21 +02:00
Leo
707c5caa9b
node/hack: add example RPC account traversal script
...
Change-Id: If61ac6185f9173c489c8ddee5d4c60edf734ff20
2021-10-05 11:16:21 +02:00
Leo
b577b70b2e
node: add MessageID to observation messages
...
This allows us to associate an observation from the log
for messages that the local node did not observe.
Change-Id: I6ece7bfe3e6b878bdb7ee4ac03c81cb424a329b3
2021-10-04 23:31:00 +02:00
Leo
c253f769fa
node: add FindMissingMessages admin RPC method
...
Change-Id: I57c1227c1a591e10f5e77b3553216915df247d65
2021-10-04 23:31:00 +02:00
Leo
6b312b3add
node/proto: sequence number is uint64
...
Change-Id: I098a6e9a40d52336b4307a9827d2a6f92e06d6cd
2021-10-04 16:35:32 +02:00
Leo
39b41c2d6c
node/pkg/processor: reinstate source label
...
This was lost when removing the v1 submission logic.
Fixes certusone/wormhole#440
Change-Id: Ic997421aed88f64949e2dd3c55ad9230cb80ea3d
2021-10-04 11:56:22 +02:00
Leo
a7ffd8db0f
node/pkg/vaa: ChainIDUnset constant
...
Change-Id: I909a0eda58a6abfa36c71ff24bd1fcdad3014832
2021-10-04 11:56:22 +02:00
Leo
bd5f957e1b
node: remove unused terraChainID command line flag
...
Change-Id: I5f02faa3f00098725e7242c289f65978c4879c3c
2021-10-03 21:03:43 +02:00
Leo
92d3ee577c
node/pkg/solana: log quorum and emitter chain on settled VAAs
...
Change-Id: I8162ed3bfb77d0708a9dd910eb1ba757d73bc246
2021-10-01 16:18:16 +02:00
Leo
3ebde5ded9
node/pkg/solana: multiple empty retries
...
Change-Id: Ic5558220039a0874e06527a473e6ee3b0accdf54
2021-10-01 15:19:36 +02:00
Leo
d5062af533
node/pkg/solana: silently ignore non-PostMessage transactions
...
These were already ignored, but loudly.
Change-Id: Ifdd2199593ae372a5f598a018a782db112108f16
2021-10-01 14:46:20 +02:00
Leo
2a1eaf5163
node/pkg/solana: demote log message to warning
...
This seems to happen quite frequently.
Change-Id: Ibb9b975566974974e0a3ba61ae126f49ace6a99a
2021-10-01 14:40:55 +02:00
Leo
e7df95839d
node/pkg/solana: retry skipped slots only once
...
Adds extra logging to validate hypothesis that we've found a bug in
GetConfirmedBlocks, rather than a general issue.
Change-Id: Ia3acfd7fa393091a3892c453433255cfbe38e4a0
2021-10-01 14:06:51 +02:00
Leo
b771ad0e2a
node/pkg/solana: move recovery date to Oct 5
...
Change-Id: Ib4b330b7d651cf5ccb5e349d805a62cd43a029d6
2021-10-01 12:38:17 +02:00
Leo
c7bab38c6e
node: fix emitter address encoding for BridgeRegisterChain
...
Change-Id: I2ffef1400448f86feb5bd9dcf89903303649cdf4
2021-10-01 12:27:48 +02:00
Leo
8979ccbeae
node: configurable module for BridgeRegisterChain
...
Change-Id: If2685e9fee4997c80a00895c244793c52f30214c
2021-10-01 12:26:05 +02:00
Leo
a42eb38f2e
node/pkg/solana: remove GetConfirmedBlocks optimization
...
We encountered a bug on mainnet where GetConfirmedBlocks with
commitment level Finalized would fail to return a valid block.
Remove the optimization and simply fetch every slot.
Change-Id: Idce939c6c5f3303a5046efdfd31833fab3d465ba
2021-10-01 09:43:18 +00:00
Leo
16391185ec
node/pkg/processor: log quorum for unsubmitted nil VAAs
...
Change-Id: I4b29e2813209195c7e1698afb6772f2b18ebfde9
2021-10-01 09:43:18 +00:00
Leo
096707a9c4
node/pkg/processor: fix crash when observation is made while gs is nil
...
Rare race condition. Found locally when manually injecting observations.
Change-Id: Id10d10ad4cfe38b5f4b00a30978940e928e6bc96
2021-10-01 09:43:18 +00:00
Leo
0feaed4e80
node: include and log TxHash field in SignedObservation
...
Optional metadata for debugging. Allows tying a received observation
to an on-chain transaction even if the node missed the observation.
Change-Id: Ie50c10c8ab7f65469555674d90645f91092fb2e3
2021-10-01 09:43:18 +00:00
Leo
7a4cac2dde
node/pkg/solana: add more logging to transaction parsing
...
Change-Id: I2529b0c0a7aa7d94802598a7fffbcdbe0ddca5bc
2021-10-01 09:43:18 +00:00
Leo
6ab0fe3855
node/pkg/processor: add more log fields to message observations
...
Change-Id: I19d804b6668623943f798356a7ed81c1000fa377
2021-10-01 09:43:18 +00:00
Leo
ef34c30049
node/pkg/solana: retry account fetches
...
Change-Id: I310a94a065e883b1a0e200dbd3321d2ec2e03fc0
2021-10-01 09:43:18 +00:00
Leo
2022b55fd4
node: add token bridge governance VAA support
...
Change-Id: I731161f03590ce73145a1686eb2e62cfe19c8223
2021-10-01 09:43:18 +00:00