Commit Graph

124 Commits

Author SHA1 Message Date
Csongor Kiss 9620fca895
node: generalised governance (#3895)
* node/admin: add generalised EVM call governance handler

Handles governance requests of the form:

```
current_set_index: 4
messages: {
  sequence: 4513077582118919631
  nonce: 2809988562
  evm_call: {
    chain_id: 3
    governance_contract: "0xD8E4C2DbDd2e2bd8F1336EA691dBFF6952B1a6eB"
    target_contract: "0xF890982f9310df57d00f659cf4fd87e65adEd8d7"
    abi_encoded_call: "6497f75a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000f890982f9310df57d00f659cf4fd87e65aded8d70000000000000000000000000000000000000000000000000000000000000140bebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebe000000000000000000000000000000000000000000000000000000000000000268690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004beefface00000000000000000000000000000000000000000000000000000000"
  }
}
```

* node/admin: add admin template for evm governance call

* node/admin: add generalised Solana call governance handler

handles governance requests of the form

```
current_set_index: 4
messages: {
  sequence: 4513077582118919631
  nonce: 2809988562
  solana_call: {
    chain_id: 3
    governance_contract: "3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5"
    encoded_instruction: "BEEFFACE"
  }
}
```

* node/admin: check address lengths and fix typo in governance handler

* node/admin: better error handling and fix comments

* sdk/vaa: add constants for general purpose governance actions
2024-04-23 11:28:02 -04:00
bruce-riley a883b7f351
Deploy Polygon Sepolia Testnet (#3723)
* Deploy Polygon Sepolia Testnet

* Code review rework
2024-03-12 09:46:28 -05:00
Kevin Peters c7a7d1a56b node: Added RecoverChainId governance support 2024-02-06 16:49:20 -05:00
Ben Guidarelli 7f0a2a29c9
constants: Add Dymension to cosmwasm chains (#3763) 2024-02-01 14:40:37 -05:00
Evan Gray 937af99b94 node: remove batchVAA remnants 2024-01-30 18:05:56 -05:00
Nikhil Suri 9f0892d579
sdk: add stargaze and seda chain IDs (#3726) 2024-01-30 14:40:34 -05:00
bruce-riley a10aab1c6d
Node: Remove Neon support (#3732)
* Node: Remove Neon support

* Code review rework
2024-01-25 12:55:02 -06:00
Nikhil Suri e70f215311
sdk: vaa: add missing chain IDs for gnosis and rootstock (#3624)
* sdk: vaa: add missing chain IDs for gnosis and rootstock

* Add chain IDs to structs_test.go

* Regerate publicrpc protobuf with rootstock chain ID
2024-01-10 15:16:43 -05:00
bruce-riley b7631bfbba
Deploy Holesky Testnet (#3630) 2024-01-08 16:42:10 -06:00
bruce-riley 818038ef80
Deploy Sepolia based L2s (#3606)
* Deploy Sepolia based L2s

* Code review rework
2023-12-20 08:56:14 -06:00
bruce-riley a2cb2a1226
Deploy Mantle to testnet (#3438) 2023-12-11 10:26:56 -06:00
Paul Noel bf9660f75b node/pkg/proto: add wormchain 2023-12-08 10:06:55 -06:00
bruce-riley 0c0158ac13
Node/SDK: Add neutron support via IBC (#3563)
* Node/SDK: Add neutron support via IBC

* Set core addresses in SDK
2023-12-07 09:42:09 -06:00
Paul Noel dee0d1532b node/pkg/telemetry: prometheus remote write 2023-12-06 10:01:37 -06:00
bruce-riley e308b87062
Node: Add cosmos chains over IBC (#3562)
* Node: Add cosmos chains over IBC

* Avoid data race in watcher

* Add Osmosis as an IBC chain
2023-12-01 10:21:07 -06:00
bruce-riley 0a89e23589
Deploy scroll to testnet (#3429)
* Deploy scroll to testnet

* Don't allow scroll in mainnet

* Add scroll to ccq, use batch poller
2023-11-08 14:14:47 -06:00
bruce-riley 9be9a564b6
Node/EVM: Track latest block (#3470)
* Make finality an enum rather than a bool

* Significant code review rework

* Fix merge errors

* Code review rework
2023-11-02 11:59:40 -04:00
Paul Noel b6a5245f89 node: Add get-and-observe-missing-vaas command 2023-10-27 14:44:09 -05:00
bruce-riley 669e2bc40e
CCQ/Node: Guardian Changes (#3423)
* CCQ/Node: Guardian Changes

* Code review rework
2023-10-12 13:20:42 -05:00
Steve 6b3819cc41
wormchain: add upgrade vaa and upgrade handler. Removes set params vaa. (#3292)
* Add chain upgrade vaa and upgrade handler. Removes set params vaa.

* Update node package

* Fix vaa payload test
2023-08-16 20:24:57 -04:00
Nikhil Suri 6aa80d459c
wormchain: setparams gov vaa (#3285)
* node: add new governance VAA for setting default tokenfactory and packet forward middleware params on Gateway

* wormchain: add msg_server handler to set default tokenfactory and pfm params

* node: add gateway template command

* node: fix lint errors

* Update goverance message to be generic

* x/wormhole: add RunInPlaceUpgrade tx cli command

* Merge gateway governance VAAs into a single rpc handler

* update admin client naming for gateway governance messages
2023-08-14 20:37:50 -04:00
Steve 3337783c6d
wormchain: add ibc-composability-mw to gateway (#3273)
* Add ibc-composability-mw to gateway along with updates to node for
ibc-composability-mw and ibc-translator.

* Move governance action to new GatewayModule

---------

Co-authored-by: Nikhil Suri <nikhilsuri@comcast.net>
2023-08-14 10:49:02 -04:00
Nikhil Suri aa44e82f7c
Instantiate allowlist (#3181)
* sdk: add wormchain instantiate allowlist governance VAA

* wormchain: add wasm instantiate allowlist msg handler

* Add cli for instantiate allowlist (#3199)

* Add cli for instantiate allowlist and fix
vaa.BodyWormchainAllowlistInstantiateContract deserialization

* Lint fixes

* Add instantiate allowlist to codec and genesis

* Add MsgDeleteWasmInstantiateAllowlist, update naming to be consistent across all types

* Fix key prefix for GetAllWasmInstiateAllowedAddresses

* Update wasmd tag version

* Fix 5 bit encoding bug

* Add query cli and rpc handler

* Add query cli and rpc files

* use cosmos-sdk method for computing bech32

---------

Co-authored-by: Steve <1848680+misko9@users.noreply.github.com>
2023-08-07 11:18:40 -07:00
derpy-duck 3c0fecc3fa
Relayer: Generic Relayer Guardian Changes for Merging into Main (#3041)
* gRelayer: surrounding files

* modification to get compilation

* restore devnet

* remove generic relayer docker

* remove wait for relayer engine

* keep build time 20

* sh -> bash

* sh -> bash

* Remove comment

* bash -> sh

* Revert "bash -> sh"

This reverts commit 5c37e92fa1.

* bash->sh

* gRelayer: ethereum folder changes for generic-relayer-merge

* add eth-devnet

* Adds .github because workflow needs to install forge

* sdk-ci-tests need to install forge

* don't wait for nonexistent relayer engine

* update package.json and package-lock.json

* Remove unnecessary types from package.json

* ts-node

* gRelayer: ethereum folder changes for generic-relayer-merge

* sdk-ci-tests need to install forge

* don't wait for nonexistent relayer engine

* update package.json and package-lock.json

* remove these changes

* Relayer: Natspec documentation in IWormholeRelayer (#3032)

* WIP

* Fixes

* Updated interfaces

* remove bash

* Forward uses same refund chain id and refund address (#3034)

* WIP

* Fixes

* Forward uses same refund chain id and refund address

* Updated interfaces

* Adds .github because workflow needs to install forge

* sdk-ci-tests need to install forge

* don't wait for nonexistent relayer engine

* SDK minus payload tests

* Rename sdk relayer folder and file

* modify index.ts

* modify path

* sdk-ci-tests need to install forge

* don't wait for nonexistent relayer engine

* Add three governance VAA actions for generic relayers

* demandOption and const

* Remove forge build warnings

* Add note to interface for resend

* Verify additional VAAs in SDK

* via-ir on unless in Tilt

* Correct IWormholeReceiver interface

* Wormhole message fee now part of quoteDeliveryPrice (#3043)

* Fix to PR 3043

* Remove compiler warning

* Remove files

* remove generic relayer docker

* Fix typo

* Relayer/address drew review (#3060)

* Fix typo in Create2Factory

* Add event for contract upgrades

* Prevent registering contract if it is already registered

* Prevent allowing unset chainId for default delivery provider governance VAA

* memory to calldata for external functions in WormholeRelayerSend

* continue memory to calldata for external functions

* Fix pricing in delivery provider

* Sanity check new default delivery provider isn't 0 address

* Don't save vaaKey as local variable

* cache the length of array rather than iterate every time for vaaKeys

* Replacing memory with calldata in few locations

* Remove stale file DeliveryProviderMessages

* Remove batch VAA sender script

* Remove batch VAA from WormholeSimulator

* Wait for a confirmation in deploy scripts

* remove unnecessary comments

* Fix Delivery Provider Pricing and add a test

* remove console logs

* Revert "continue memory to calldata for external functions"

This reverts commit f322afb6c0.

* Revert "memory to calldata for external functions in WormholeRelayerSend"

This reverts commit 42fcaad884.

* Revert "Don't save vaaKey as local variable"

This reverts commit a9172379c5.

* Revert "cache the length of array rather than iterate every time for vaaKeys"

This reverts commit d61380a9b0.

* Revert "Replacing memory with calldata in few locations"

This reverts commit 94e47b6e72.

* Revert "Fix typo in Create2Factory"

This reverts commit a9f7bdf461.

* Update contract addresses for via-ir

* Update register chain test to only do one registration

* Slight improvements to delivery provider implementation

* typed errors for delivery provider

* Update SDK to have via-ir devnet address

* Fix test

* enable VIA-IR in CI and not in Tilt

* Fix chain id

* get register chain test to work

* correct contract address for via ir

* update sdk consts for via ir address

* base 32 address

* merge

* -f to -r

* relay provider -> delivery provider

* fix await

* Readme changes
2023-06-14 10:27:00 -04:00
Nikhil Suri ee7d0765f9
sdk: add new governance VAA for IbcReceiverUpdateChainConnection (#2590)
* sdk: add new governance VAA for IbcReceiverUpdateChainConnection

* Enforce connectionId to be 64 bytes, add tests in rust sdk

* Update PrependBufferBytesFixed to LeftPadBytes, add template function + command for IBC governance VAA

* Add >64 length check for ibcReceiverUpdateChainConnectionConnectionId in runIbcReceiverUpdateChainConnectionTemplate command

* Update naming of governance VAA to reflect new mapping of channelId -> chainId

* Add TargetChainID to admin commands

* Node: Add IBC update channel to admin verify cmd

---------

Co-authored-by: Bruce Riley <briley@jumptrading.com>
2023-05-12 06:11:21 -04:00
bruce-riley 8a866c3c1d
node: sei testnet support (#2660)
* Sei testnet support

* Set contract addresses

* node/pkg/watchers: add RunWithScissors

* SDK tweaks

* node: revert "node/pkg/watchers: add RunWithScissors" (#2620)

This reverts commit 9b8bed4dbf.

* Make Sei use IBC watcher

---------

Co-authored-by: Paul Noel <panoel007@gmail.com>
Co-authored-by: Paul Noel <35237584+panoel@users.noreply.github.com>
2023-04-18 09:34:01 -04:00
bruce-riley f9758b38e7
SDK/Node: Sepolia deployment (#2567) 2023-04-03 09:24:17 -05:00
bruce-riley 18e8e14402
Node: Circle Integration governance fixes (#2507) 2023-03-16 09:13:50 -05:00
Conor Patrick 0f123dedb1 node: use new action and module for accountant modify_balance 2023-03-16 08:48:25 -05:00
bruce-riley 5023ffec2b
Node: Circle Integration governance support (#2444)
* Node: Circle Integration governance support

* Fix spacing

* Code review rework
2023-03-06 13:23:48 -06:00
marcus-jump 6a1271c824
node/p2p: Protect P2P peers (#2344)
Co-authored-by: marcus-jump, tbjump
2023-02-23 15:51:27 -08:00
bruce-riley a2d09dad4b
Node: Base watcher support for testnet (#2424)
* Node: Base watcher support for testnet

* Add a comment

* Add base to rpc dump command
2023-02-23 18:37:35 -05:00
Conor Patrick b35480f966 accountant: address review comments for modify governance vaa 2023-02-15 06:23:25 -08:00
Conor Patrick 4640b6ae73 node: add modify governance vaa for token bridge 2023-02-15 06:23:25 -08:00
Paul Noel ca72e25a48 node: add dump-rpcs command 2023-02-13 14:47:30 +00:00
Conor Patrick aac92a19e7 wormchain: add migrating contracts with vaa 2023-02-07 12:15:11 -06:00
Hendrik Hofstadt fc64658ce8
node: add admin command to sign existing VAAs (#2183)
* node: add admin command to sign existing VAAs

Change-Id: Ia59c077db1817a3f35ec30544c307448e01455ca

* node: add tests for signing of existing VAAs

Change-Id: I16fca1181fc9d96abb4ebdfad91bc686da517090
2023-01-10 17:54:35 +01:00
Nikhil Suri 0e7c085d71
node: inject wormchain cosmwasm governance messages (#2057)
* node: inject wormchain cosmwasm governance messages

* Use nested hash for defense in depth

* Use keccak.Reset() instead of creating new hash objects

* fix msg_server_wasmd_test

* Updated based on jynnantonix comments

* Check return value of binary.Write

* Include actual error in binary.Write panic case
2022-12-06 11:10:32 -08:00
Josh Siegel 3413f09b8f WH-1921: stub out btc chain @ Closes #1921 2022-11-15 14:45:55 -06:00
Justin Schuldt 1b3590b9ce
BatchVAA protos and Spy updates (#1691)
* gossip.proto - add nonce to SignedBatchObservation

* publicrpc.proto - add nonce to BatchID

* spy.proto - filters for BatchVAA, new VAA endpoint

* node - spy.go allow subscribing to BatchVAAs

* add built Go protos to node/pkg/proto

* improve & simplify Publish logic

* simplify filter match logic

* update protos - consistent naming & types for transaction identifiers

* add Spy unit & e2e tests
2022-11-09 10:39:57 -06:00
bruce-riley 61454a39bd
Node: remove support for Ropsten (#1818)
* Node: Remove support for Ropsten

* Node: Remove support for Ropsten

* Fix build  error
2022-10-31 09:14:01 -05:00
Bruce Riley 58cd430541 node: add xpla to protobuf 2022-10-12 14:23:57 -04:00
bruce-riley 2b582b10b8
node: governor publish gossip (#1538)
* Governor publish gossip

Change-Id: I2b8b1ea84a0c411101a7027acd3a27a6d6464d59

* Update the config publish time

Change-Id: Ic6abf84befb1c20756da2ff66b15a8325dc46067

* Not setting value on enqueued VAAs correctly

Change-Id: I9fd3a5d8fc574f8382125445fa688efdae45b88c

* Publish at most 20 VAAs, not 20 per chain

Change-Id: Ic9dff99c59ee89d57fd79158844a1fe1a0003112

* Switch to using signed messages

Change-Id: I66cddc7477cd477aa77bdadfc346b588f2ae645b

* Publish status only once per minute

Change-Id: I972fb0cf868e89c6f74ae4441471a55df389f4dd

* Minor comment change

Change-Id: I0d3e443cbec7edd282f89c1a5cce5d5ec8776d55
2022-09-26 11:24:30 -05:00
bruce-riley fb9f93e892
node: add command to purge pythnet VAAs (#1636)
* Add command to purge pythnet VAAs

* Add test for purging a single emitter address

* Fix lint error

* Using the wrong delete primative

Change-Id: I80d5294c17279d4e49220d81807e5964a5591721
2022-09-26 09:04:30 -05:00
Justin Schuldt d83e44cf6b
proto - BatchVAA gossip and publicrpc (#1563) 2022-09-09 12:30:22 -05:00
bruce-riley bfeaa93716
node: governor auto release (#1452)
* Initial code

* Add test cases

* Get rid of excessive logging of price updates

* Add big tx size to available notional query

* Add tool to verify  price query still works

* Fix lint error

* Rename check_query.go

* Set big transaction sizes

* More rework

* Add unit-test for big transfer config

* Fix unit tests after updates for Near

* Add a couple more test cases

Co-authored-by: claudijd <jclaudius@jumptrading.com>
2022-08-30 11:28:18 -05:00
bruce-riley 8557b6d232
More governor code review rework (#1404)
* More code review rework

Change-Id: I0ae094b16a8e0469f83f711e7118936abf70b109

* Fix lint error

Change-Id: Ie3bdcc61a8c475018a8f72c9cc84678779447d16

* Code review rework

Change-Id: Ief1119e7c9687db855fbee90d32f631630380e60

* Add features list to gossip heartbeat message
2022-08-09 23:22:14 -04:00
bruce-riley 126c9dcf57
Add is_enqueued_vaa query to governor (#1395) 2022-08-04 11:51:04 -05:00
Evan Gray e0fd3e788f
node: pythnet testnet support (#1380) 2022-07-28 12:30:00 -05:00
bruce-riley 7402259fc7
Chain governor (#1277)
* Rebase

* Reload from db on start up

Change-Id: I1deac9db28ad1157ea7e0c84af41c35b38497f4e

* Console commands

Change-Id: Ic242038312b7c837443a2df8823f100b3cdffd77

* Query prices from CoinGecko

Change-Id: I9a8c282ba374d32ef7045d11979a27ede3c52827

* Move chain config to separate file

Change-Id: I6a790eca765bce1f2caf48134e225df5c4daff15

* More code cleanup

Change-Id: Id12affa78cdc2d394d6dab0c53bb7ad06df8007e

* Few minor tweaks

Change-Id: I6cb511599d669e0b3d716d9f314ac0f26935ee92

* Create separate tests for different packages

Change-Id: Idb4da6817c9daad2a7420abc11bdaa702ae056dc

* Fix lint errors

Change-Id: I137c9e7e4574aee9c9fec22e91e19eee0e86a349

* Simplify chainlock message tests

* Add more governor db test coverage

* Next batch of review rework

Change-Id: Ife54852fca6c6990d1ffb3d60a8dd7f49d526f0a

* Still more rework

Change-Id: I43a8aa7fa4e1a7cea4d7fde68c963123c1ca8d53

* More rework

Change-Id: I9382412af4ffeda74967a834a6b0195a9d28b720

* Fix lint errors

Change-Id: Idaafce9b0314192557b7207911375d000bac5ae2

* Add rest and prometheus support

Change-Id: Ib870ed7eb305ef1ebbf6a7cedabc665c37c19171

* Add separate configs for testnet and devnet

Change-Id: I76b11d8940a8dc9935b3f276a008ed20ef60b850

* Update mainnet tokens to fix decimals

Change-Id: Iab018827766bc7748038b7be2f51342afb79b87c

* Let small enqueued VAAs go out when big ones can't

Change-Id: I7d3ef88d4579702d0c6ff4eaf5a8524799610ff6

* Tweak testnet config parameters

Change-Id: Id2c54151a7183ab3fb4af8060929198f6021ba4e

* Rework / enhancements from testnet testing

Change-Id: I1387b1d22667fa6ffe0bb1832dbc0b31196505d3

* Use known emitter maps

Change-Id: If330ee9d30ac3c2d1c6dca674f7777dc759de230

* Fix typo and out of date comments

Change-Id: I54a19792104ccc6ca023020303a710ef3ba18f74

Co-authored-by: claudijd <jclaudius@jumptrading.com>
2022-07-19 14:08:06 -04:00