Commit Graph

2436 Commits

Author SHA1 Message Date
Josh Siegel 3f51c89f30 algo/prod: prod changes 2022-08-15 05:53:59 -05:00
Csongor Kiss 8818d4b8f0 docs: Clarify objective in governor whitepaper
Also include a link to the whitepaper from the docs
2022-08-12 14:58:22 +01:00
Paul Noel 696c99f8bb
Algo filter NFT from token selection (#1242)
* algo/bridge_ui - filter out NFTs from token list

* algo/bridge_ui - filter out NFTs from token list
2022-08-12 08:22:45 -05:00
kev1n-peters d50ef1c28b
spy_relayer: Terra 2 support (#1417) 2022-08-11 16:47:50 -05:00
claudijd a9363027e7 Switch terra2 to coswasm 2022-08-11 21:54:25 +01:00
Jonathan Claudius 7a96b7de67
Add new sections to SECURITY.md and CONTRIBUTING.md (#1408)
* Add testing to SECURITY.md

* Add White-hat Bootstrap

* Add node Makefile

* Add chain integrator guidance

* Small tweaks to language

* Tweaks to test coverage and security.md

* Add cosmwasm tests to CONTRIBUTING.md

* Fix typo

* Add deep link to CONTRIBUTING.md

* Update CONTRIBUTING.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Update SECURITY.md

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>

* Add newline to node Makefile

Co-authored-by: Jeff Schroeder <jeffschroeder@computer.org>
2022-08-11 15:33:24 -04:00
kev1n-peters 9bb598d949
sdk/js: Added getGovernorIsVAAEnqueued functions (#1410) 2022-08-10 17:11:58 -05:00
Csongor Kiss 3e63590c10 terra: Don't migrate wrapped assets for now
See comment in the code for more context
2022-08-10 22:19:16 +01:00
Csongor Kiss ce20776f5d terra: Also allow private key in deploy script
The mnemonic might no longer be available.
2022-08-10 22:19:16 +01:00
Bruce Riley 7da21a60b6 Should not govern algorand yet 2022-08-10 14:31:19 -04:00
wonge97 beee9d1cba
Governor Guardian admin commands (#1416)
* Governor Guardian admin commands

Opening PR describing the types of admin commands that Guardians would have in relation to the Governor security module.

* Update GOVERNOR.md

Small wording tweak to remove a duplicative clause
2022-08-10 13:00:48 -04:00
Bruce Riley 5ca2faa9a3 Governor should handle duplicate coin gecko ids 2022-08-10 12:59:32 -04:00
wonge97 09b33552df Chain Governor
Opening this PR for open feedback on a security feature that Guardians can optionally opt into that would limit the amount of notional value that can be transferred out of a given chain in a given time frame -- this would reduce the damage to the bridge during an existential threat scenario.
2022-08-10 12:20:34 -04:00
Josh Siegel e738eda7fd algo/audit: More security improvements 2022-08-10 10:17:58 -05:00
Josh Siegel 5470ed134a algo/audit: address KS-RL-12 @ gusc1a-ossdev-jsl5 2022-08-10 10:17:58 -05:00
Josh Siegel e385c8096d algo/audit: KS-RL-05 @ gusc1a-ossdev-jsl5 2022-08-10 10:17:58 -05:00
Josh Siegel 15be6cc73f algo/audit: KS-RL-04 - invalid asset check @ gusc1a-ossdev-jsl5 2022-08-10 10:17:58 -05:00
Josh Siegel d189f17320 algo/audit: KS-RL-03 @ gusc1a-ossdev-jsl5 2022-08-10 10:17:58 -05:00
Josh Siegel 44ceda5e10 algo/audit: Fix KS-RL-02 @ gusc1a-ossdev-jsl5 2022-08-10 10:17:58 -05:00
Josh Siegel 3a0a39a961 algo/audit: address KS-RL-01 @ gusc1a-ossdev-jsl5 2022-08-10 10:17:58 -05:00
Josh Siegel 7e958c1643 near/backwards: RPC jumping causes us to think the chain went backwards 2022-08-10 10:10:05 -05:00
Bruce Riley edfd9987aa Initial gonvernor mainnet config
Change-Id: Ia84a9bd79bb15a4915e54cf019be23f8eee0fdcf
2022-08-10 10:28:24 -04: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
Kevin Peters cc5ecb315e bridge_ui: Removed Klaytn from beta 2022-08-09 18:37:42 -04:00
Csongor Kiss c585533529 CI: install foundry before running tests 2022-08-09 20:02:47 +01:00
Csongor Kiss 2e890f02b3 ethereum: be more explicit about invalid guardian + test 2022-08-09 20:02:47 +01:00
Csongor Kiss 85a8f2e733 ethereum: add forge script to generate BridgeToken constructor args 2022-08-09 20:02:47 +01:00
Csongor Kiss 520cbbb6ca ethereum: touch up foundry scripts 2022-08-09 20:02:47 +01:00
Csongor Kiss 3e051e97b6 ethereum: Init foundry project and add installer for native solc 2022-08-09 20:02:47 +01:00
Leopold Schabel d3440f879d
.github/workflows: clean workspace on self-hosted runners (#1413) 2022-08-09 18:14:30 +02:00
Csongor Kiss 9c9f5b4b23 terra/token_bridge: fixed wrapped asset ids
The wrapped assets on terra have been migrated to code id 767, but the
config wasn't updated to store this new code id, so newly created
wrapped assets all use an older code id. This patch upgrades all wrapped
assets to 767 and changes the config so future wrapped assets also use
that code id.

Also added a new function `migrate_wrapped_assets` so this task can be
done in the future in a less error-prone way.
2022-08-08 12:42:32 -05:00
Csongor Kiss aea76be327 terra: Ensure that recipient address is 32 bytes.
Before this check, users were able to lose funds by sending money to an
address that's shorter than 32 bytes.
This commit is essentially a backport of the fix from the new cosmwasm contract.
2022-08-08 12:12:14 -05:00
Jeff Schroeder 45de97015c
Add issue template (#1400)
Simple issue template with a few disclaimers for wormhole.
2022-08-08 09:54:59 -04:00
Jordan Liggitt 660bddac6b
Switch tools to standalone cobra-cli dependency (#936) 2022-08-05 13:49:57 -04:00
jumpsiegel 3f965da33b
node: add near support (#1397)
* node: add near support

* Tweaks suggested in zoom review

Co-authored-by: Bruce Riley <briley@jumptrading.com>
2022-08-05 13:49:16 -04:00
Jeff Schroeder bb4d2ac206
Modular relayer support (#1266)
* Add the default backend for the relayer

Start to slowly split things out.

* Configure the backends when configuring the env

* First stab at the pluggable listener backend

* Update relayer example (and test) config

* relayer: JIT backend

* relayer: walletMonitor remove useless function

* relayer: update worker init() funcs

It is silly to accept a boolean in thing.init() vs just not running init
if you don't want to run thing.

* relayer: remove env property from Listener

It is verified in init() in spy_listener.ts and rest_listen.ts, so it can
be deferred to not require the import.

* relayer: clean up the main bits

Only try to init() something when it is actually supposed to run
per the cli flags.

* spy_relayer: more descriptive var name in main

* spy_relayer: Update relay worker with more docs

* spy_relayer: add targetChainName to WorkerInfo

This makes it easier to pretty print the chain name in the logs without
having to look the name up.

* spy_relayer: update logs and use the backend

* Use the Relayer interface's process() method in place of processVaa()
* Update the logs to include the chain name in the worker and auditor threads

* spy_relayer: remove processRequest()

It has been moved to the process() method of the default Relayer backend.

* spy_relayer: start fleshing out the Relayer default

* spy_relayer: fix a logic bug in checkQueue()

Co-authored-by: @swimricky

* spy_relayer: update TokenBridgeRelayer.process()

* Remove some extra logic
* Actually use the ChainId type since the id of 0 is in the sdk now

* spy_signature: add Relayer.runAuditor()

The auditor code is payload specific and needs to be with the backend.

* spy_relayer: move Relayer.runAuditor()

Make it part of the backend since the backend has all of the payload
specific logic into it.

* spy_relayer: move relay() --> Relayer.relay()

The actual relaying is part of the backend, so make it so.

* spy_relayer: add Relayer.runAuditor()

* spy_relayer: no more deprecated hexToNativeString

* spy_relayer: implement Relayer.targetChainId()

This is used for finding workable items in the incoming queue to toss
into the working queue.

* spy_relayer: remove relay.ts

The relay() function was moved to Relayer.relay()

* spy_relayer: more uses of deprecated hexToNativeString()

* spy_relayer: remove unused import

* spy_relayer: review feedback from @bruce-riley

* Fix some spelling tyops
* Simplify some logging
* Simplify a conditional for the payload version check

* spy_relayer: misc fixes and code clean up

* Fixed integration tests
* Added launch.json file for debugging in VS Code
* Updated to latest wormhole SDK
* Backup queue uses same key as redis
* Added Terra Classic flag
* Throttle potential infinite loop in audit thread
* Fixed spy service connection leak

Co-authored-by: Evan Gray <battledingo@gmail.com>
Co-authored-by: Kevin Peters <kpeters@jumptrading.com>
2022-08-05 10:20:36 -04:00
justinschuldt 2c52f86546 add Prometheus + Grafana for Guardian metrics 2022-08-04 16:03:56 -04:00
bruce-riley 126c9dcf57
Add is_enqueued_vaa query to governor (#1395) 2022-08-04 11:51:04 -05:00
bruce-riley f0b7225591
Pythnet mainnet deploy (#1388) 2022-08-04 09:51:38 -05:00
Kevin Peters 910eb0f3e0 fix terra classic native token parsing
when a native denom is received (complete transfer native),
check if the token chain is terra classic
2022-08-03 12:02:02 -05:00
Csongor Kiss 1a758011e0 CI: don't build foundry from source
the upgrade script just uses docker now
2022-08-03 11:58:31 -04:00
Csongor Kiss ebdf66c8c4 CI: use working docker image for anvil in upgrade simulation testing 2022-08-03 11:58:31 -04:00
Kevin Peters 5c1a2fe182 cloud_functions: Use CoinGecko API IDs from allowlist in TVL calculations
Specify the CoinGecko API ID for tokens in the allowlist.
It's useful to manually specify the API ID to in certain cases.
2022-08-03 11:58:18 -04:00
tbjump 0809bd8874 Correct date in SECURITY.md 2022-08-02 15:57:18 -04:00
Kevin Peters a9b05d8868 sdk/js: 0.6.0 version bump and formatting changes 2022-08-01 12:33:53 -04:00
Chirantan Ekbote f64703c815 sdk/js: Add wormhole chain 2022-08-01 12:33:53 -04:00
Chirantan Ekbote 13a18d2f7e sdk/js: Move address functions to cosmos package
`canonicalAddress` and `humanAddress` are useful functions for all
cosmos chains so move it into a new cosmos package.  This also means we
need to stop hardcoding "terra" in `humanAddress` and take the human
readable part as a parameter instead.
2022-08-01 12:33:53 -04:00
Evan Gray e0fd3e788f
node: pythnet testnet support (#1380) 2022-07-28 12:30:00 -05:00
Bruce Riley d010f0d430 Deploy read only moonbeam 2022-07-21 16:23:08 -04:00
Bruce Riley d40f969d47 Deploy read only chains 2022-07-21 09:17:29 -04:00