Commit Graph

18 Commits

Author SHA1 Message Date
Chirantan Ekbote 25abafc753
cosmwasm: Add wormchain-accounting contract (#1920)
* 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>
2022-12-14 12:06:45 -05:00
Chirantan Ekbote aad0a2bf47 cosmwasm: Override local deps at the workspace level
Put all the local overrides at the workspace level rather than having
to specify the path in each individual crate.  This will also make it
easier for us to publish to crates.io when that time comes.
2022-11-11 09:46:33 -05:00
Chirantan Ekbote 09459fcf9e cosmwasm: tokenbridge: Add chain registration query
Add a query to get the registered emitterr address for a given chain id.
This will be used by accounting.
2022-11-07 08:21:00 -05:00
Chirantan Ekbote 8d6bf74262 cosmwasm: Fix clippy warnings 2022-10-28 14:35:44 -04:00
Chirantan Ekbote dedcea34af cosmwasm: Fix formatting
Also remove the unstable options in rustfmt.toml.  We can re-enable them
once they are stabilized.
2022-10-28 14:35:44 -04:00
kii fbefb3aced
tob-worm-4-panics: using options rather than unwrap & tob-worm-9: cosmwasm test build (#1672)
* tob-worm-4-panics: using options rather than unwrap

* removed mock dependencies argument

* added test to make file

* use ok or else

* fmt

* ok

* errors resolved
2022-10-26 12:39:31 -04:00
Evan Gray 346f2f4e0e cosmwasm: comment terra2 migration so tests pass 2022-10-12 17:20:34 -04:00
Evan Gray 3a37db8b98 cosmwasm: support natives over 8 decimals 2022-10-12 17:20:34 -04:00
bruce-riley 67f57b797e
XPLA Mainnet Deploy (#1703)
* Prepare to deploy Xpla to mainnet

* Update SDK version

* Fix messed up error message

* Allow tests to pass with no XPLA tokens

* Make deploy script support testnet

* Update token bridge addresses after redeploy
2022-10-12 16:47:03 -04:00
Chirantan Ekbote f7eb26124c cosmwasm: byte_utils: Clean up padding functions
You don't need multiple heap allocations just to left-pad or right-pad a
buffer.  Also add tests.
2022-10-07 09:41:32 +09:00
Csongor Kiss c22d0c222b cosmwasm: Add shutdown feature flag to token bridge 2022-09-27 07:58:28 -05:00
Csongor Kiss d10072a33e cosmwasm: Add is_vaa_redeemed query to token bridge 2022-08-22 16:30:23 +02:00
Csongor Kiss f50586ad86 cosmwasm: move chain id and fee denom to storage
Prior to this change, these values were hardcode in the contract, as
the only supported chain was terra 2. This change allows the contract to
be deployed to other cosmwasm chains without having to recompile the
contract for each one.

The migration code ensures that terra2 is upgraded appropriately.
2022-07-20 16:09:39 -04:00
Csongor Kiss c7a9d5ca8b cosmwasm: make storage key constants private 2022-06-22 13:24:46 -04:00
Csongor Kiss ea1eea99dd cosmwasm: fix sequence number in storage 2022-06-22 13:24:46 -04:00
Csongor Kiss d3a1fa99d9
cosmwasm: Add fromAddress to payload 3 (#1292)
* cosmwasm: fix some clippy warnings

* cosmwasm: remove fee and add msg.sender to payload 3

* cosmwasm: fix payload 3 parsing test

* cosmwasm: fix fixed payload 3 parsing test

* cosmwasm: fix fixed fixed payload 3 parsing test

* cosmwasm: update payload tests

Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
Co-authored-by: Evan Gray <battledingo@gmail.com>
2022-06-21 17:30:33 -04:00
Evan Gray db0fc219aa cosmwasm: terra2 support
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
2022-06-21 10:03:57 -04:00
Evan Gray c7d8075555 cosmwasm: initialize 2022-06-21 10:03:57 -04:00