Commit Graph

79 Commits

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