Evan Gray
d09abac78f
devnet: fix eth addresses
...
Change-Id: I83bd59f35b65e87b14183410e49dd9aca6c62c85
2021-08-19 17:06:18 +00:00
Leo
9d22d89f7f
node/pkg/p2p: demote invalid signed heartbeat errors to debug level
...
This is a normal occurrence with people bringing up additional
nodes for testing purposes.
Change-Id: If333656333cf1da80b2c16f597c90a55a5a5153b
2021-08-13 11:18:58 +00:00
Leo
29939502cc
node/cmd: add "do not parse" notice
...
Change-Id: I5af53cbb306b0d8cfd9c8c262feb71ececb68fcb
2021-08-13 11:18:58 +00:00
Leo
9a030b310f
node/cmd: add contract addresses and error count to list-nodes
...
Change-Id: I5ec7ac13a59a51da1b5a56aef8ce5cca1ca5a5e4
2021-08-13 11:18:51 +00:00
Leo
3f81840e69
node/pkg/p2p: use mutex for error counters
...
Change-Id: Idde862e034c567b7ac2d5648bec0b3505f032b0c
2021-08-10 18:47:50 +02:00
Leo
212e04a72d
node/pkg/ethereum: poll for guardian set changes
...
The new set of Eth contracts no longer emits an event.
Change-Id: I6c3654c88960b08b5548ed72cf09e555b079ef3a
2021-08-10 17:39:10 +02:00
Leo
08e70a5aaf
node/cmd: list missing guardians in list-nodes
...
Change-Id: I12e2aacbeb37c0bae5ad1e796e009a1c7b2312e1
2021-08-10 17:35:33 +02:00
Leo
e9491d25f8
node/pkg/publicrpc: add GetCurrentGuardianSet RPC call
...
This is required for network explorers to know about missing guardians
(the GetLastHeartbeats call won't contain those nodes at all).
Change-Id: I28d8621023d79e6fa94c40f36a239c34aa12f1b0
2021-08-10 17:35:33 +02:00
Leo
67793cd144
node/pkg/p2p: add per-chain error counters
...
Change-Id: I47700ccb2dc93aefefa8ab6b6f0659f30912e142
2021-08-10 13:24:43 +00:00
justinschuldt
6126cfaf40
SignedObservation validation log message
...
Change-Id: I372f2ee703b5cc82a6a7e1f4df031357304b174b
2021-08-09 17:38:19 -05:00
Leo
8718e31fb4
node/pkg/p2p: remove support for plain heartbeats
...
Change-Id: I621467615c2a46ab08ecae6227021b1e4efc1196
2021-08-09 13:16:55 +00:00
Leo
73b0fce440
node/pkg/p2p: add metric for guardian network heights
...
Change-Id: Ie09d203d316a448dba5d4ac9269113467e2da78e
2021-08-09 13:16:55 +00:00
Leo
61a90136ca
proto: add boot_timestamp to Heartbeat
...
Allows for precise uptime calculation.
Change-Id: I57d022ec10a56df57a4a1f79ae892eb8899f7154
2021-08-09 13:16:55 +00:00
Leo
c7662d611e
node: store heartbeats for multiple nodes per guardian
...
It's safe to break the proto API at this point.
Change-Id: I235100c5fef3abc9259d28f68d9bb7bf2be0ae5e
2021-08-09 13:16:55 +00:00
Leo
e46d70bbe2
node/pkg/readiness: be even more explicit about readyz
...
RTFM!
Change-Id: I6f4eefb8f6d22fcd620b24658b3c2cfd0b48c949
2021-08-09 13:16:55 +00:00
Leo
61dd1c1052
node/cmd: unary list-nodes call with details
...
Change-Id: I9953b45d92461887b075b3456bdd9e161eefd263
2021-08-09 13:16:55 +00:00
Leo
336f373bb5
node/pkg/p2p: store own heartbeat in GuardianSetState
...
Change-Id: I6b9ab2ce267161d20c17d5d528fd7741c2eb48b4
2021-08-09 13:16:55 +00:00
Leo
3dcf1f1998
node/pkg/common: add GetAll accessor for GuardianSetState
...
Change-Id: I7ce71d356f9fc83cc751e98835cbae070deb8640
2021-08-09 13:16:55 +00:00
Leo
aa608b9396
node/cmd: rename list-nodes to list-nodes-stream
...
Change-Id: I07df1c0bb7634f6a9f65db150d353e30a681d2bc
2021-08-09 13:16:55 +00:00
Evan Gray
017af5534b
bridge: fix default statusAddr
...
Change-Id: Ief8d3e8a5dd140c239485b5e229ef7448451b8c7
2021-08-07 19:31:40 +00:00
Leo
8cee72ba9c
node: add disableHeartbeatVerify flag
...
During network boot, the guardian set is empty and we temporarily
need this flag to figure out everyone's status.
Change-Id: I8ba23848310837080ae845d55ece5d3818181b98
2021-08-06 15:14:17 +00:00
Chanwoo Lee
95c752247b
fix --statusAddr not working
...
Closes https://github.com/certusone/wormhole/pull/298
Change-Id: Id89fa57e9d05739980696de79cf8887e407a6567
2021-08-06 15:14:07 +00:00
jschuldt
9e16baa040
Devnet arguments for BigTable connection.
...
Change-Id: Idc893dc87739d1b309ffefcc67d98641f4bccd9a
2021-08-05 12:53:56 +00:00
Leo
82731c22c0
node: add GetLastHeartbeats RPC call
...
This aggregates verified guardian heartbeats server-side so they
can be fetched via unary calls.
Change-Id: I8458b139bb5d75f87ed700b50684a5ff8ca594fa
2021-08-04 14:26:26 +00:00
Leo
b77d408235
node/pkg/ethereum: readiness status for bsc
...
Bug: certusone/wormhole#292
Change-Id: Ibb176dc70beeb2c00c7faf7d85395e93d53e9e4c
2021-08-02 14:30:29 +02:00
Leo
855be15ab8
node: refuse to run as root
...
While it works, it's not good operational practice, particularly when
running guardiand alongside other services like a Solana node.
Even inside a container, it's best to run as non-root.
Change-Id: I331533ef37eaab6e73f6759d7eb779bbda849384
2021-08-02 13:26:57 +02:00
Leo
3af233e3eb
node: add GuardianSetState and verify heartbeat signature
...
Bug: certusone/wormhole#267
Change-Id: Ica8015fbbd52506d800670d933051f410bb1caa7
2021-07-31 19:02:09 +02:00
Leo
08a8f390ca
node/pkg/version: panic on empty version
...
Change-Id: I72207193e459122596f9731b36f45f619ccdad6c
2021-07-31 17:15:51 +02:00
Leo
fddbb0c2a4
node: remove outdated TODOs
...
Change-Id: I05c2e2599e081fb439fd186ee853c0b7ca508969
2021-07-31 16:32:54 +02:00
Leo
2ebf473531
node: introduce SignedHeartbeat
...
Bug: certusone/wormhole#267
Change-Id: Ia34fa053240d7b340287cc4cc1e15556d3ff2893
2021-07-31 16:21:38 +02:00
Leo
723cf5fe95
node: add GetSignedVAA endpoint
...
Works:
$ curl 'http://localhost:7071/v1/signed_vaa/1/1268b2bf4a[...]/0 '
{"vaaBytes":"AQAAAAABACbK50nrmgWPtTmRlYf/[...]"}
Bug: certusone/wormhole#282
Change-Id: I09eade00c4649c550f06a2efe350d6d9ff9da3ae
2021-07-31 03:03:37 +02:00
Leo
8da1eaa6b1
node: add REST proxy for publicRPC service
...
Bug: certusone/wormhole#282
Change-Id: I2aebd60b8839c59705ad1ab3425462ccaefc7e13
2021-07-31 03:03:37 +02:00
Leo
9c9c48ef3b
Migrate proto generation to buf
...
Bug: certusone/wormhole#282
Change-Id: Ib20d8b9bcf19a26b12a586532281d83e95f0653e
2021-07-31 03:03:36 +02:00
Leo
7e0bbdbe6e
node/pkg/db: store signed VAAs in database
...
Bug: certusone/wormhole#282
Change-Id: Iecd4ff74a1e73655ac3240991a4dc36e572cdb15
2021-07-31 03:03:35 +02:00
Leo
b2495ca43e
node/pkg/solana: fix solanaConnectionErrors panic
...
Change-Id: I75889897e47902abe54cc45153934e73f1f3dcd4
2021-07-30 22:46:20 +02:00
Leo
d37375e9a3
node/pkg/solana: simplify client method signatures
...
Change-Id: Ic317c78d7415dc11baf39d696ebdd57336b219bc
2021-07-30 09:06:25 +00:00
Leo
493b7ee855
node/pkg/solana: filter by requested consistency level
...
certusone/wormhole#248
Change-Id: Ib40b6016bda19e17c4700db6b39dbf340dfc0f4c
2021-07-29 15:55:57 +00:00
Leo
5bfa3b0055
node/pkg/solana: run one Solana watcher per consistency level
...
certusone/wormhole#248
Change-Id: I98abc6b4e635b8b5679fcda5342c90b0e5c96077
2021-07-29 14:27:04 +00:00
Leo
b9633d6d65
node/pkg/solana: fork solana-go to add GetConfirmedTransactionWithOpts
...
certusone/wormhole#248
Change-Id: I093d619cb82b35b963447cf4a5dc18ef6be1a0f5
2021-07-29 14:14:09 +02:00
Leo
cd8d2f68ed
node/pkg/solana: verbose logging for observations
...
certusone/wormhole#248
Change-Id: Iae4b4d187e8d6728de9087e43c5f8a7b4d821540
2021-07-29 14:14:09 +02:00
Leo
d5e6c844e3
node/pkg/solana: add initial logic for block-by-block requests
...
CPI part is untested.
Commitment level is hardcoded to "finalized", but can be refactored
to use both "committed" and "finalized" later.
certusone/wormhole#248
Change-Id: I5ae7711c306b33650367e6f7a417ab9d88753612
2021-07-29 12:14:01 +00:00
Leo
b70466d185
node/pkg/solana: use gagliardetto/solana-go fork
...
This fork is up to date on latest Solana changes, while the dfuse
origin appears to be abandoned:
https://github.com/dfuse-io/solana-go/compare/master...gagliardetto:main
Change-Id: I5d2999ec7e26bd79a8302e2a5a6dddfd5e2bcbee
2021-07-28 16:34:24 +00:00
Leo
cf9ea6bfde
node: add Binance Smart Chain support
...
BSC is identical to Eth, so we can just re-use our Eth devnet.
Fixes certusone/wormhole#185
Change-Id: Ib96a71b5e5873d7cbd8f26dbb655049c6a64cef9
2021-07-28 16:34:24 +00:00
Leo
1686b35587
node/pkg/ethereum: remove emitGuardianSet flag
...
Change-Id: Ic275220080d29b5a834f6487502619df877059c9
2021-07-28 16:34:24 +00:00
Leo
f717262282
node/pkg/ethereum: rename lockup to message
...
Change-Id: I914d348940ac3f0c359a4d5175cbe5861e9fe1c2
2021-07-28 16:34:24 +00:00
Leo
863e0e69ec
node/pkg/ethereum: configurable chain ID and name
...
Fixes wormhole/issues#247
Change-Id: Ieb792b73970603283e4ffc4a8b9217c85964fb9f
2021-07-28 16:34:24 +00:00
Leopold Schabel
933442ac8a
node: create valid key file when an empty description is provided
...
Fixes certusone/wormhole#257
Change-Id: If0d9883513f4908cdd8303f24a999d1d612fad30
2021-07-27 12:40:46 +00:00
Leo
514560f52c
node: use promauto to auto-register metrics
...
Fixes certusone/wormhole#188
Change-Id: I26c0e3f05993e44185b6ee2531b7673f7fbc0eb6
2021-07-26 13:01:55 +00:00
Leo
24b15bba9c
node: update Go dependencies and upgrade to Go 1.16.6
...
Accomplished by simply deleting go.mod and letting go mod tidy recreate
it. Manually bumped terra.go to include the typo I fixed in...January?
Nothing broke in any sort of obvious fashion.
Change-Id: I27ba4bc13a5a55bb6b8fa4fa1d3e83b899b6a294
2021-07-22 23:16:00 +00:00
Leo
a191017d22
node: add "admin list-nodes" command
...
Change-Id: Idbcfb449be300e0dc7f4a655b3f1fc455e4d8158
2021-07-22 15:11:35 +02:00