Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: implement ICS-721 NFT transfer application (#1053)
* feat: establish ICS-721 boilerplate, ready for new additions (#1012) * chore: establish ics721 boilerplate, ready for new additions * nit * Implement ICS-721 NFT transfer (#1020) * WIP: add types and contexts * WIP: add events * WIP: implement modules * add send_transfer * add recv and refund handlers * add tests * fix send and recv * fix context and add tests * fix fmt * fix for CI * fix messages and serde * fix comments * Add (de)serialization tests for `DataValue`, `TokenUri`, and `ClassUri` types (#1027) * WIP: add types and contexts * WIP: add events * WIP: implement modules * add send_transfer * add recv and refund handlers * add tests * fix send and recv * fix context and add tests * fix fmt * fix for CI * fix messages and serde * fix comments * Stub out DataValue Borsh unit test * Add basic borsh (de)ser roundtrip tests * Add basic serde roundtrip tests for DataValue * Add json (de)serialization tests * Add roundtrip tests for TokenUri * Add roundtrip tests for ClassUri * Remove ignore statement on a test * Resolve clippy warning * Change packet data dummy json strings to use camel case * Configure nft-transfer app under std feature flag * Move cfg statement * Add nft-transfer feature * Add nft-transfer feature * Remove nft-transfer feature from default features * Remove `optional = true` from `http` dependency --------- Co-authored-by: yito88 <[email protected]> * fix: calculate trace hash from both class ID and token ID (#1032) * trace hash with class ID and token ID * add serde flag * Fix ClassData and TokenData encoding in NonFungiblePacketData (#1038) * fix encoding for ClassData and TokenData * fix Cargo.toml * Support ClassData and TokenData not according to ICS-721 spec (#1039) * skip validation, make some data optional * check the length of token_uri and token_data * fix to set TokenData and TokenUri at once * imp: add validate_basic method for PacketData * imp: allow any format for Data + define parse_as_ics721_data method * fmt and clippy * custom serde packet data with option * add a test * restore conversions --------- Co-authored-by: Farhad Shabani <[email protected]> * chore: add unclog * nit: fix docstrings --------- Co-authored-by: Yuji Ito <[email protected]> Co-authored-by: Sean Chen <[email protected]> Co-authored-by: yito88 <[email protected]>
- Loading branch information