Commit Graph

301 Commits

Author SHA1 Message Date
Conor Patrick bbec427145 accountant: minor cleanup 2023-02-16 18:03:47 -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
Conor Patrick a3a8e3ea87 accountant: use token bridge governance vaa to make modifications 2023-02-15 06:23:25 -08:00
Kevin Peters 3e05a027af sdk/js: v0.9.10 release 2023-02-14 16:03:42 +01:00
heyitaki 1deee6f7a1 sdk/js: reconstruct TokenId obect in getForeignAssetAptos to reduce number of RPC calls 2023-02-10 12:35:34 -05:00
heyitaki e0bebed306 sdk/js: replace bigint literal 2023-02-10 12:35:34 -05:00
heyitaki 0e8f8fa771 sdk/js: add flexible typing for getForeignAssetAptos tokenId param 2023-02-10 12:35:34 -05:00
heyitaki dc924313b9 sdk/js: getForeignAssetAptos takes in tokenId for foreign chains 2023-02-10 12:35:34 -05:00
Kevin Peters 09d7dfbc45 sdk/js: Remove undeployed aptos testnet nft bridge address 2023-02-10 12:35:34 -05:00
Kevin Peters 4eed588d2d sdk/js: CI tests use aptos gas estimates instead of manual overrides 2023-02-10 12:35:34 -05:00
Kevin Peters eab0e38b89 sdk/js: Fix CI eth test wallet tx nonce race 2023-02-10 12:35:34 -05:00
Kevin Peters 0243019453 sdk/js: Added second solana devnet wallet, fixed race in Aptos NFT CI tests 2023-02-10 12:35:34 -05:00
Kevin Peters 7a8dea5158 sdk/js: getOriginalAssetAptos NFT returns tokenId 2023-02-10 12:35:34 -05:00
heyitaki aa56dc5498 sdk/js: finish aptos tests 2023-02-10 12:35:34 -05:00
heyitaki 54cf6781d1 sdk/js: add additional tests & docs 2023-02-10 12:35:34 -05:00
heyitaki 3bb0562f45 sdk/js: add tests for aptos sdk 2023-02-10 12:35:34 -05:00
heyitaki 7c1721d199 sdk/js: add aptos js sdk
Updated aptos npm package version to use `AptosAccount.getResourceAccountAddress` api in aptos.ts. `getForeignAsset` is also currently unimplemented.
2023-02-10 12:35:34 -05:00
heyitaki f584f5c739 sdk/js: refactor nft test utils 2023-02-10 12:35:34 -05:00
Conor Patrick aac92a19e7 wormchain: add migrating contracts with vaa 2023-02-07 12:15:11 -06:00
Evan Gray 7f9a03254a test: accountant e2e 2023-01-31 11:09:43 -05:00
A5 Pickle 58e6afd439 sdk/rust: fix clippy error 2023-01-26 18:36:03 -06:00
Bojan Angjelkoski 81d1f83f45
sdk/js: injective package bump (#2175)
* chore: package bump

* chore: updated to latest package versions

* refactor: migrate to MsgExecuteContractCompat for EIP712 compatibility

* chore: added dev deps

* chore: packages bump
2023-01-23 21:33:26 -05:00
Chirantan Ekbote b2ca522e73 sdk/rust: Add test with hardcoded digest
Add a test for digest calculation that uses a hardcoded digest.  The
digest for this test was calculated using the `worm` CLI to ensure
interoperability.
2023-01-23 11:53:39 -05:00
tbjump 5323453b81
node: add channel read/write type constraints (#1931) 2023-01-20 13:15:13 -08:00
Chirantan Ekbote d19fc98091 sdk/rust: Properly support tokenbridge payload3 messages
Add the payload as an explicit field to the `TransferWithPayload` enum
variant.  This is a generic parameter that defaults to `Box<RawMessage>`
for maximum flexibility (and to avoid leaking lifetimes higher up the
stack) but users are encouraged to replace this default type parameter
with an explicit `&RawMessage` in places where the serde_wormhole data
format is used.

The main benefit of this change is that the payload is now included as
part of the actual message and no longer requires callers to awkwardly
append it after serialization.  This is especially useful in human-
readable formats like JSON (see the `transfer_with_payload` test in
token.rs for an example of this simplification).

The main downside is that this now requires explicit type annotations
when using the non-payload3 variants so that the compiler will pick up
the default generic parameter.  This is a relatively minor inconvenience
and the benefit appears to be worth the cost.

There should be no functional change.
2023-01-20 18:12:41 +09:00
Chirantan Ekbote 421a030dca sdk/rust: Remove `*_with_payload` methods
The RawMessage type provides a more flexible way to handle trailing
payloads so replace all usage of the `*_with_payload` functions to use
`RawMessage` instead.

There should be no functional change.
2023-01-18 09:33:10 +09:00
Chirantan Ekbote 3c6702b6f7 sdk/rust: Add serde_wormhole::RawMessage
Add a RawMessage type that can be used to defer parsing parts of a
payload, similar to the `json.RawMessage` from Go.  The implementation
is inspired by `serde_json::RawValue`, which does a similar thing.

When serializing, RawMessage will serialize to a base64-encoded string
if it detects that the data format is human readable (like JSON).
Otherwise it will simply forward the raw bytes to the serializer.

RawMessage has both borrowed and boxed versions.  The borrowed version
is the most efficient as it enables zero-copy handling of the input data
but also requires that the input data already contains raw bytes and is
not suitable when dealing with human-readable formats like JSON.

The boxed version is more flexible as it supports byte slices, base64-
encoded strings, and byte sequences but is slightly less efficient as it
requires copying or decoding the input data.
2023-01-18 09:29:05 +09:00
bruce-riley 3f61661051
sdk: Add Aptos NFT bridge address (#2244) 2023-01-13 15:03:15 -06:00
Kevin Peters 5f6782e67d sdk/js: Use BN.toArrayLike in `tokenIdToMint` function for browserify compatibility. 2023-01-11 13:38:54 -05:00
Evan Gray 735ce417b6 sdk/js: generate docs fixes #1821 2023-01-11 13:01:46 -05:00
Chirantan Ekbote e05176c9be sdk/rust: Remove `expiration_time` from `GuardianSetInfo`
This field doesn't actually appear in `GuardianSetUpgrade` governance
messages and was already being skipped by serde so just remove it
completely.  Contracts that need to keep track of this information can
encapsulate the `GuardianSetInfo` inside another struct that has an
`expiration_time` field.
2023-01-04 16:17:14 +09:00
Chirantan Ekbote 3a1dd9eccd sdk/rust: Simplify quorum calculation
Also add tests.
2023-01-04 16:17:14 +09:00
Chirantan Ekbote ab172b4da5 sdk/rust: Ensure chain conversions are isomorphic
Ensure that converting `Chain` to/from a u16 or to/from a string is
always isomorphic.  This requires changing the `FromStr` impl so that in
can handle strings like "Unknown(27)".
2023-01-04 16:17:14 +09:00
Chris Sentman 0f066614b3 sdk: tests for vaa.UnmarshalBody()
Full coverage save for a non-empty payload read error.
2023-01-03 09:59:56 -05:00
Chris Sentman 66c8399dcb sdk: test ChainID.String()
Completing coverage for method.
2023-01-03 09:59:56 -05:00
Jeff Schroeder bc1edba32c sdk: full test coverage of ChainID.FromString()
The optimism coverage was a lie as it wasn't explicitly tested.
2023-01-03 09:59:56 -05:00
Jeff Schroeder 2b6ede0d54 sdk: test vaa.Address.UnmarshalJSON()
Full coverage including the error condition.
2023-01-03 09:59:56 -05:00
Jeff Schroeder 6ea4cf054a sdk: test BodyWormchainInstantiateContract.Serialize()
This completes full test coverage of sdk/vaa/payloads.go!
2023-01-03 09:59:56 -05:00
Jeff Schroeder a2857e3b1d sdk: test BodyWormchainStoreCode.Serialize() 2023-01-03 09:59:56 -05:00
Jeff Schroeder 1cc177bf64 sdk: cleanup vaa payloads test
Less duplication of the addr.
2023-01-03 09:59:56 -05:00
Jeff Schroeder 7a439e4cfd sdk: BodyTokenBridgeRegisterChain.Serialize() test
* Switch the BodyTokenBridgeRegisterChain.Serialize() test to table driven
  and add coverage for the panic condition.
2023-01-03 09:59:56 -05:00
Jonathan Claudius 98c843e85d
sdk: Add unit-tests for quorum calculation (#2127)
* sdk: Add unit-tests for quorum calculation

* sdk: fix go imports error

* node: remove duplicate sdk unit-test
2022-12-27 13:27:47 -05:00
Kevin Peters a7be5a639c sdk/js: 0.9.8 version bump 2022-12-22 12:57:20 -06:00
Kevin Peters 88e0c6cddf sdk/js: Use BN.toArrayLike for compatibility with browserify and similar tools.
Fixes this error when calling `deriveWrappedMintKey` in the browser:
TypeError: (intermediate value).toBuffer is not a function
2022-12-22 12:57:20 -06:00
Kevin Peters 49de9ef8f2 sdk/js: 0.9.7 version bump 2022-12-21 11:05:40 -06:00
guibescos 43035fcc44
sdk/js: Add instruction decoder to solana (#2095)
* Bump package

* Refactor coder add decoder

* Refactor

* Fix

* Fix u64

* Simplify encode

* Add comment

* Fix verify signatures

* Fix package lock

* Revert "Fix package lock"

This reverts commit 9f219bc6fc21d2d0f8bf33fedafd6c204a00e659.

* Fix deps

* Fix import for bs58
2022-12-21 06:35:37 -05:00
Chirantan Ekbote b400a2d51d sdk/rust: Add test for digest calculation
Add a test to ensure that calculating the digest from the structured
body, serialized data, or partial body + serialized payload all give the
same result.
2022-12-21 13:59:01 +09:00
Chirantan Ekbote 0dbeeec3d4 sdk/rust: Add `Body::with_payload`
Add the `Body::with_payload` method, which can be used to change the
type of the payload for a `Body`.  This is useful when parsing the
payload needs to be deferred until after the body is parsed.
2022-12-19 17:14:33 +09:00
Chirantan Ekbote 4ea369d7a9 sdk/rust: Implement Display for Address
This will be used later by the accounting contract.
2022-12-19 17:14:33 +09:00