Now that the vaa code has moved into a separate sdk package we can use
it directly rather than going through the node package. This should
also fix an issue where we didn't check for duplicate guardian
signatures during VAA verification.
Since the transfer amount already uses `sdk.Coin`, use it for fees as
well. This ensures the fees cannot be negative.
Also add some extra validation for `MsgTransfer` fields and add tests
for the validation checks.
Ensure that the destination chain has been registered in the tokenbridge
before allowing transfers to it. This prevents users from accidentally
locking up their tokens in the token bridge by passing in an invalid
chain id.
The base denom for wrapped tokens is prefixed with "b". Check for this
in GetWrappedCoinMeta so that we don't end up treating base denom tokens
as native tokens.
* changed minimum governance vaa length check
* remove double write of chain ID in token attest
* removed panics from vaa processing in token bridge
* added non-negative check to fee in transfer tokens
* simplify non-negative check
* make fee sign check nicer in msg_server_execute_vaa
Operationally identical
* 14->13 in proofOfAuthority.md
Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
This is a squashed commit of all the changes in the wormhole_chain
directory from the development branch with the following changes:
* Replace the vendored cosmos-sdk directory with a replace directive in
the go.mod file pointing to the wormhole-foundation/cosmos-sdk repo.
* Update the cosmos-sdk version to v0.45.7.
* Rename starport -> ignite
* Update to ignite version 0.23.0
* Update go version in dockerfile to 1.19.0
* Upgrade github.com/cosmos/ibc-go v1.2.0 => v1.2.2
* Upgrade github.com/tendermint/spm v0.1.5 => v0.1.9
* Add missing module names to the
SetOrder{BeginBlockers,EndBlockers,InitGenesis} functions.
* Fix the gentx memo in the genesis.json file.