Commit Graph

99 Commits

Author SHA1 Message Date
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
Chirantan Ekbote 0f0ea48fdc solana: Fix clippy warnings 2022-09-20 23:00:47 +09:00
Chirantan Ekbote e377a75e2b solana: run `cargo fmt` 2022-09-20 23:00:47 +09:00
Chirantan Ekbote 6c4aad8610 solana: nft_bridge: Replace deprecated function
The replacement function seems like it does the same thing but with an
instruction enum instead.
2022-09-20 23:00:47 +09:00
Stan Drozd 18eac4e3d3 solana: bump: Rust nightly-2022-07-12, SOL SDK v1.10.31, rust container 1.60
solana: use prebuild docker image for 1.10.31

solana: use the right rust version

from https://github.com/solana-labs/solana/blob/v1.10.31/ci/rust-version.sh

nft_bridge: TransportError -> BanksClientError

solana/Dockerfile.wasm: Use rust-toolchain instead of rustup
2022-08-17 15:30:01 +01:00
Reisen 5da7ad0ef5 solitaire: reduce Claim complexity 2022-07-15 13:12:27 -05:00
Reisen 82ea938317 solitaire: remove recursive FromAccounts and 'c lifetime.
Solitaire parses accounts using two traits, FromAccounts and Peel. The
FromAccounts derive macro generates a function, `FromAccounts::from()`,
which calls `Peel::peel` to construct each field in the struct:

```
let example = Example {
    foo: Peel::peel(next_account_iter(accs)?),
    bar: Peel::peel(next_account_iter(accs)?),
    baz: Peel::peel(next_account_iter(accs)?),
    ...,
}
```

The FromAccounts derivation also attempts to implement Peel for the
structure itself however, which means `Example` itself is embeddable as
a field in another accounts struct. This is only used in ClaimableVAA
which is a large source of confusion and the complexity is not worth
maintaining.

This commit removes the recursion by:

1) Removing the `impl Peel` derived by FromAccounts.
2) Removes the AccountInfo iterator from Context as it is no longer needed.
3) Adds the current parsed account to Context instead, safe thanks to (2)
4) Move message out of ClaimableVAA and pass in to verify everywhere instead.
5) Removes Peel/FromAccounts from ClaimableVAA.
2022-07-15 13:12:27 -05:00
swimricky bf690e9adc
solana: fix payload3 deserialization (#1354)
* fix solana payload3 deserialization and add rust integration & unit tests

* add integration test for complete_native_with_payload
2022-07-14 13:30:38 -05:00
Csongor Kiss 47318c2a03
solana: Add "msg.sender" and remove fee from payload3 (#1279)
* solana: Add "msg.sender" and remove fee from payload3

* solana: update payload3 instruction to include the sender account

* solana: allow sending payload 3s to program ids directly

Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
2022-06-30 18:37:46 +01:00
Reisen 4131381fa4 solitaire: remove unused InstructionContext 2022-06-24 13:51:50 +02:00
Reisen a8d1ed129b solitaire: remove unused client code 2022-06-24 13:51:50 +02:00
Csongor Kiss 2e220a6f76
Solana fix warnings (#1226)
* solana: fix all rustc warnings

* solana: fix clippy warnings

* Remove manual memcpy + other warning suppressions

Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
2022-06-10 17:59:15 +01:00
Hendrik Hofstadt ee4583099f solana: token bridge transfer with payload 2022-05-11 21:24:36 -04:00
Chirantan Ekbote defd16e084 solana: nft-bridge: Add tests
The integration tests were previously just copied over from the
token-bridge directory and not changed at all (they still referenced the
token-bridge crate).

Clean up the files and add tests for basic functionality like sending
and receiving native + wrapped NFTs.
2022-05-10 00:58:43 +09:00
Chirantan Ekbote ff40fa34b8 solana: token-bridge: Fix tests
Refactor the tests so that we can run them with `cargo test-bpf`.
2022-05-10 00:58:43 +09:00
Chirantan Ekbote 3fdd9ccc3e solana: Merge into single workspace
Merge all the separate solana crates into a single workspace.  This is
the same thing we do for terra and will make it easier to check / lint /
test all the crates together.
2022-04-20 09:37:30 +09:00
Reisen 4e13d9d49c solana/token_bridge: Add blacklisted keys 2022-04-11 21:29:39 -04:00
Csongor Kiss f60acc59ab
solitaire: Infer entry point argument type in solitaire! macro (#927)
The type of the `ix_data` binding withing the solitaire! macro expansion
is explicitly annotated with its type, which comes from the macro's
pattern binding `$kind`. However, this type annotation is entirely
optional, since `ix_data` is passed in as an argument to `$fn`, whose
type forecs `ix_data` anyway, and rust will happily infer that from the
application. So we remove the explicit annotation which makes the entry
point macro easier to use.

commit-id:d428306c
2022-03-16 18:25:41 +00:00
Csongor Kiss dc2e6d8990
solana: add correct spl_token_metadata.so (#815)
Co-authored-by: Csongor Kiss <ckiss@jumptrading.com>
2022-02-03 19:10:16 +00:00
Hendrik Hofstadt 7edbbd3677 Update Solana to 1.9.4
Change-Id: I9c1ce5f25b21ca81599957a7faa730558d8fc03e
2022-02-02 11:31:33 -05:00
Reisen 3cd7ea173a solana: compile token metadata with 1.8.1 toolchain
Change-Id: Ifcfa984840a33326b3dbd59f23b6cf662651c2f8
2022-01-14 14:55:40 -05:00
Reisen e561d6de02 sdk: fixes to types and builds
Change-Id: I10b753450445cc021dbeb9f28ddb0384070e9635
2022-01-14 13:09:12 +00:00
Hendrik Hofstadt 32e9063910 Check whether vaa recipient matches the token account
Change-Id: Iab326cd735c764649dc031d813dbb8818d5e74f3
2022-01-13 14:07:40 +01:00
Stanisław Drozd 02a1dcecbc
solana: hide wasm-bindgen dependency behind the feature flag (#730)
commit-id:480d3b7a
2022-01-10 15:31:36 +01:00
Reisen 124efece2a solana/token_bridge: allow updating metadata
Change-Id: I34872eaa9e931d9698808cc658840a5885c3dc5f
2021-11-19 19:42:44 +00:00
Reisen d678cb4662 solana/token_bridge: prevent transfers to self chain
Change-Id: I0c97bf87e042c64a4b77cc359a1971912a247af8
2021-11-17 17:37:21 +00:00
Reisen 0d97a2e5a3 solana/token_bridge: prevent self attestations
Change-Id: Iac42e8dcc9f04c1035334ec021c7d4ab11857227
2021-11-17 16:20:20 +00:00
Hendrik Hofstadt 78547e23e6 Allow self registration on Solana
Change-Id: Ifc791036223e35af72a847f86ae1ddfd6b4d2173
2021-11-15 19:19:31 +01:00
Reisen 6076f9acc4 solana/token_bridge: add custody_signer derive to wasm
Change-Id: I9dc9e5d80dce3e580257877b4640df3408b4b568
2021-10-04 16:40:06 +00:00
Reisen 49c3be0b79 solana/token-program: derive metadata address in client
Change-Id: Ia5e54725c13cc2725efa88b9848910829de48463
2021-09-28 16:01:21 +00:00
Hendrik Hofstadt 1421e5d76f Add derivation methods for claims and spl meta
Change-Id: I4e8056b37d441caf7bca94037585c37afe25cc24
2021-09-21 16:29:42 +02:00
Hendrik Hofstadt 3968b6eb7f Split nft transfer in 2 ixs
This also changes the required confirmation level to finalized

Change-Id: I4793619634e7bac587b20d2776c0b166b95a6de7
2021-09-21 15:29:40 +02:00
Hendrik Hofstadt 64b17d851a Encode mint in token ID on Solana
Change-Id: Ice9c2b64992e60bb8a0eb5d0a109043eda2d44ac
2021-09-20 15:56:39 +02:00
Hendrik Hofstadt 371c9b3dcc Resolve warnings in the NFT bridge
Change-Id: I6d5e5a7d66e8e35418eaf9346c53b3439314c9c5
2021-09-20 12:23:40 +02:00
Reisen c116b3c813 solana/token_bridge: fix incorrect byte iterator
Change-Id: I4bcb3217c34fda24463886aa35de691238f8bdc4
2021-09-13 12:31:11 +00:00
Reisen 2beaada181 solana/token_bridge: allow invalid utf-8 metadata
Change-Id: Ifcc45d3a654cd7aa386089728c1f354352c5ebe2
2021-09-13 11:52:41 +00:00
Reisen 3a9264f6e4 solana/nft_bridge: allow invalid utf-8 metadata
Change-Id: If2fba5d394b8afab34ed0f12714851d0121a2924
2021-09-13 11:52:41 +00:00
Reisen ca509f2d73 solana/bridge: re-organize account data
Change-Id: Ia215c584e5d00145d8ad0250c303ca9503d8432a
2021-09-13 10:29:29 +00:00
Reisen 3714624fb0 solana/token-bridge: add original_decimal tracking
Change-Id: I0989e2f75e7f4d2b0cf2c2e9fb35c26d288a902b
2021-09-13 08:23:50 +00:00
Evan Gray 9ea0369ab0 nft_bridge fixes
Change-Id: I9420863384e752725cfc75c8b5a21f64be2792b1
2021-09-10 20:32:46 -04:00
Hendrik Hofstadt a2b3d111f4 add nft bridge skeleton
Change-Id: I69449e95415cd94b7de4528fe4002b241e1e6b95
2021-09-10 17:12:42 +00:00
David Paryente 8d15138d57 Revert "Allow Sollet asset migration"
This reverts commit 59e0e586ef.

Reason for revert: not supporting external mints

Change-Id: Ia3ca9ccc24e1ab20c7f8097aff0868d94e4bb7af
2021-09-10 13:24:17 +00:00
David Paryente 7a504108cd Revert "solana/token_bridge: sollet mints renamed to generic external"
This reverts commit 496d2385f5.

Reason for revert: not supporting external mints

Change-Id: I996f4fcbfb71a6539094f2d4a6adbff481fefb7d
2021-09-10 13:08:23 +00:00
David Paryente e6a6c39620 Revert "solana/token_bridge: test wrapped asset transfers"
Revert submission 1325

Reason for revert: not supporting external mints
Reverted Changes:
I2bf59ecd3:solana/token_bridge: calculate diff from original ...
I598373740:solana/token_bridge: check balance and truncation
I67c7a1c7a:solana/token_bridge: test wrapped asset transfers

Change-Id: I00d3c23c16fbb985457d841139fea25c5697dab1
2021-09-10 13:08:06 +00:00
David Paryente 08fcb1e9ec Revert "solana/token_bridge: check balance and truncation"
Revert submission 1325

Reason for revert: not supporting external mints
Reverted Changes:
I2bf59ecd3:solana/token_bridge: calculate diff from original ...
I598373740:solana/token_bridge: check balance and truncation
I67c7a1c7a:solana/token_bridge: test wrapped asset transfers

Change-Id: I05a950e3142e0386351a67fc7d051000f3481c8b
2021-09-10 13:08:06 +00:00
David Paryente 698091b2b1 Revert "solana/token_bridge: calculate diff from original mint"
Revert submission 1325

Reason for revert: not supporting external mints
Reverted Changes:
I2bf59ecd3:solana/token_bridge: calculate diff from original ...
I598373740:solana/token_bridge: check balance and truncation
I67c7a1c7a:solana/token_bridge: test wrapped asset transfers

Change-Id: I655694508774e40a489b810d7b4f9c17824ab5a3
2021-09-10 13:08:06 +00:00
Reisen 8fb9caf606 solana/token_bridge: calculate diff from original mint
Change-Id: I2bf59ecd353e27de4dc3a947b87c738bdff320ea
2021-09-09 10:30:08 +00:00
Reisen 4865275d95 solana/token_bridge: check balance and truncation
Change-Id: I59837374067350885b70f4b090ac4ba7a1e37d3e
2021-09-09 10:30:08 +00:00
Reisen c1c1bb26bf solana/token_bridge: test wrapped asset transfers
Change-Id: I67c7a1c7a300972c5e8a1fd415d6a965f7bba607
2021-09-09 10:30:08 +00:00
Reisen 496d2385f5 solana/token_bridge: sollet mints renamed to generic external
Change-Id: Ib9269991d95982dc5cae03844906e1f826a95d6c
2021-09-07 13:59:45 +00:00