* Tilt devnet deployment for ibc generic messaging
* Address review comments from kcsongor and hendrikhofstadt
* Add IBC channel whitelist updates to wormchain and terra devnet deploy scripts
* VAAs had guardian set index three instead of zero
* ci: update addresses
* Remove message.block_height and message.tx_index from attributes
* Remove unnecessary contracts from terra2 devnet deployment
* Update wormhole-ibc address on terra2
* Update wormhole-ibc guardian set on terra2 devnet deployment
* IBC relayer testnet deployment fixes
* Wormchain update whitelist fix
---------
Co-authored-by: Bruce Riley <briley@jumptrading.com>
Co-authored-by: Evan Gray <battledingo@gmail.com>
- updates terra2 devnet chain timeout_commit to "1s" since the timeout_commit of "0.5s" is too fast and leads to Terra2's clock going into the future.
- updates terra2 devnet chain unbonding_time to "1814400s" which is the default value and translates to a valid trusting period for IBC connectivity.
* node: guardiand support for accounting
Change-Id: I97fe1f6d6d71a5803881ff4c793e3c30f22b14d8
* Node: Tie accounting into the guardian
Change-Id: I31600d18176f516b75b3eb046fd7ac6e54e1b133
* Node: accounting tests and metrics
Change-Id: Ieb139772edf464ed1ab202861babeaf0f857ad6b
* Node: minor tweak to accounting metrics
Change-Id: Iad2b7e34870734f0c5e5d538c0ac86269a9a4728
* Node: load accounting key
Change-Id: I228ce23e63b556d751000b97097202eda48650aa
* More work in progress
Change-Id: I85088d26c05cf02d26043cf6ee8c67efd13f2ea4
* Node: send observations to accounting contract
Change-Id: Ib90909c2ee705d5e2a7e6cf3a6ec4ba7519e2eb1
* Node: Fix lint error in accounting tests
Change-Id: Id73397cf45107243a9f68ba82bed3ccf2b0299b5
* Node: Need to copy libwasmvm.so
Change-Id: I2856c8964ca082f1f4014d6db9fb1b2dc4e64409
* Node: Rename wormchain to wormconn
Change-Id: I6782be733ebdd92b908228d3984a906aa4c795f7
* Node: moving accounting check after governor
Change-Id: I064c77d30514715c6f8b6b5da50806a5e1adf657
* Node: Add accounting status to heartbeat
Change-Id: I0ae3e476386cfaccc5c877ee1351dbe41c0358c7
* Node: start of accounting integration work
Change-Id: I8ad206eb7fc07aa9e1a2ebc321f2c490ec36b51e
* Node: More broadcast tx stuff
Change-Id: Id2cc83df859310c013665eaa9c6ce3033bb1d9c5
* Node: Can actually send a request to accounting
Change-Id: I6af5d59c53939f58b2f13ae501914bef260592f2
* Node: More accounting tx broadcast stuff
Change-Id: If758e49f8928807e87053320e9330c7208aad490
* Node: config changes for accounting
Change-Id: I2803cceb188d04c557a52aa9aa8ba7296da8879f
* Node: More accounting changes
Change-Id: Id979af0ec6ab8484bc094072f3febf39355351ca
* Node/Acct: Use new observation request format
* Node/acct: use new contract interface
* Node/acct: fix minor copy/paste error
* Node: Clean up comments and lint errors
* Node: disable accounting in dev by default
* Node: Fix test failure
* Remove test code
* Switch messages to debug, rename Run()
* check for "out of gas"
* Use worker routine to submit observations
* Rename mutex to reflect what it protects
* Create handleEvents func
* Remove FinalizeObservation
* Node/Acct: Trying to use tm library for watcher
* Node/acct: switch watcher to use tm library
* Node/Acct: Need separate WS parm for accounting
* Node/Acct: Fix compile error in tests
* Node/Acct: Minor rework
* Node: add wormchain as a dep to remove stale code
* Node/Acct: GS index is not correct in requests
* Node/Acct: Peg connection error metric
* Node/Acct: Add wormchain to node docker file
* Node/Acct: Fix for double base64 decode
* Node/Acct: Change public key to sender address
* Node/Acct: Fix lint error
* Node/Acct: key pass phrase change
* Node/Acct: Pass guardian index in obs req
* Node/Acct: No go on submit observation
* Node/Acct: Don't double encode tx_hash
* Node/Acct: Remove unneeded base64 encoding
* Node/Acct: handle submit channel overflow
* Node/Acct: Added a TODO to document a review issue
* Node/Acct: Fix for checking if channel is full
Co-authored-by: Conor Patrick <conorpp94@gmail.com>
* sdk/rust: Move profile settings to workspace
* sdk/rust: Add serde_wormhole crate
The serde_wormhole crate implements the wormhole wire format as a serde
data format. This will let us replace all the hand-rolled
serialization with auto-generated code, which is less error-prone and
easier to review.
* sdk/rust: Add serde-based struct defintions
Refactor the core crate to add serde-based struct definitions for the
various messages used by the different wormhole smart contracts. This
will also make it easier to use alternate data formats (like json) for
client-side tooling.
Co-authored-by: Reisen <reisen@morphism.org>
* sdk/rust: Drop references to `de::Unexpected`
The `de::Unexpected` enum from serde has a `Float(f64)` variant.
Referencing this enum anywhere in the code will cause the compiler to
emit its `fmt::Display` impl, which includes an `f64.load` instruction
on wasm targets. Even if this instruction is never executed, its mere
existence will cause cosmos chains to reject any cosmwasm contract that
has it.
Fix this by removing all references to `de::Unexpected`.
* cosmwasm: Use cargo resolver version "2"
Enable the new feature resolver for the entire workspace. This
prevents features that are enabled only for dev builds from also being
enabled in normal builds.
* Move cosmwasm Dockerfile to root directory
The cosmwasm contracts now also depend on the rust sdk so the docker
build context needs to be set to the root directory rather than the
cosmwasm/ directory.
* cosmwasm: Add wormchain-accounting contract
This contract implements tokenbridge accounting specifically for the
wormchain environment.
Fixes#1880.
* cosmwasm/accounting: Drop references to `de::Unexpected`
The `de::Unexpected` enum from serde has a `Float(f64)` variant.
Referencing this enum anywhere in the code will cause the compiler to
emit its `fmt::Display` impl, which includes an `f64.load` instruction
on wasm targets. Even if this instruction is never executed, its mere
existence will cause cosmos chains to reject any cosmwasm contracts that
contain it.
Fix this by removing references to `de::Unexpected`.
Co-authored-by: Reisen <reisen@morphism.org>
We want wormchain to use the vaa package from the sdk directory so copy
that into the image when building. Also move the dockerfile into the
parent directory to be consistent with what we do for the other
dockerfiles that use the root directory as the context.
* near-sdk-refactor: Fix attest
: Fix missing function calls
: make near on near
: renamed tryHexToNativeStringNear
* near-sdk-refactor: bumped near-sdk-js version
Co-authored-by: Josh Siegel <jsiegel@jumptrading.com>
* node: Shrink final docker image size
* Tiltfile: guardiand should run the build stage
* node: allow building without -race
* node: Support development builds
A development build must use the --unsafeDevMode flag.
* CI: build docker image
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>