Leo
8800d7bfd3
*: add ropsten chainID and guardiand implementation
...
Change-Id: Ib99316c28237d946eb2b6d013f4e275a620d4aa8
2021-11-22 22:32:36 +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
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
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
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
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
c64576cc0b
node: add Polygon support
...
Change-Id: Ia919861879eb6c831d4dd9ccbe1748e7123502e5
2021-10-21 10:11:21 +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
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
894fd7c694
node/pkg/solana: add more accounts to be recovered
...
Change-Id: Ifed655e521a32508fc2b00dde38187abc71185cc
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
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
Leo
7998d04554
node/pkg/processor: increase timeout for observed VAAs to 24 hours
...
In cases where we observed a VAA, there is no possibility of gossip DoS.
Increase the timeout to 24 hours to facilitate manual interventions
(like submission of governance VAAs or node restarts/catchup).
Keep the existing five minute timeout for observation-less VAAs.
Change-Id: Ic626108190bd60cf812daadbe191b31cc48c7296
2021-10-01 09:43:18 +00:00
Hendrik Hofstadt
b01ad107e7
Add governance VAA initializer
...
Change-Id: I4c5a050e5b17ed8b278f91e26bf61adacc45ecc5
2021-09-30 16:57:04 +00:00
Hendrik Hofstadt
6bbc1f7ad4
node: Add chain registration payload
...
Change-Id: I0c7d7a5c3d776c924e8ab54314b8b99ab2483a4f
2021-09-30 15:47:53 +00:00
Leo
b641101158
node/pkg/solana: add two more transactions to be recovered
...
Change-Id: I54e6ca7a54a9c62e93eeaf8abcd2ef6f057eee8d
2021-09-30 10:26:07 +02:00
Leo
d91e16e077
node/pkg/solana: fetch recovery config from repository
...
Chances are that more requests will fail until the scheduled
recovery date, so we can't hardcode them.
Change-Id: Ief45c1f7a455827b32e154fae5c8eed366dd3ff7
2021-09-30 10:22:14 +02:00
Leo
6e4d578041
node/pkg/solana: fix s.logger data race
...
Surfaced by the retry code:
https://gist.github.com/leoluk/b5d05ed27269b077b834eda771a50058
Accessing s.logger from a goroutine will cause a data race. We didn't
previously encounter this since supervisor would wait for Run() to
return before rescheduling it.
Change-Id: I56a7503081485e58975103d0e25e0c2baf19ca08
2021-09-30 01:05:37 +02:00
Leo
c99c11db0a
node/pkg/solana: add scheduled account recovery for 2021-10-03Z11:00
...
Test: https://gist.github.com/leoluk/b613cf717b3047b67d0baf50c892a651
Change-Id: I8b51f940584227887724396094771c14fb4c829c
2021-09-30 00:43:06 +02:00
Leo
a6fe7fc54c
node/pkg/solana: add delay for retries
...
Change-Id: I106300e802420ef50f1309825aecf37bb18d4c20
2021-09-29 23:16:04 +02:00
Leo
c0bee5e5f0
node/pkg/solana: retry failed requests
...
Change-Id: I4ee6e0c16c3c6f392ad1d6dbf4b20bdbe9c70f47
2021-09-18 10:48:32 +02:00
Leo
305fcdc393
node/pkg/publicrpc: handle nil req.MessageID
...
Change-Id: Id43ef898a687bb5ad4b2a80ed42b08aca538ea26
2021-09-17 20:29:40 +02:00
Leo
7914512797
node: handle inbound SignedVAAWithQuorum messages
...
Change-Id: I539155bb4e59d728ea528e6e2f70b6fbb3338a41
2021-09-13 17:51:47 +00:00