Commit Graph

89 Commits

Author SHA1 Message Date
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