Skip to content

Changed nft contracts according nft standards #41

Open
Buckram123 wants to merge 21 commits into
zavodil:masterfrom
NinoLipartiia4ire:nft-standards
Open

Changed nft contracts according nft standards #41
Buckram123 wants to merge 21 commits into
zavodil:masterfrom
NinoLipartiia4ire:nft-standards

Conversation

@Buckram123
Copy link
Copy Markdown

  1. Approval_id's arguments changed from U64 to Option.
  2. Fixed most of method signatures.
  3. Moved methods to corresponding traits.
  4. Added some missing required by the standard interfaces.

@zavodil
Copy link
Copy Markdown
Owner

zavodil commented Jan 4, 2022

This repo doesn't have contract folder, could you check contract-standard folder?

@Buckram123
Copy link
Copy Markdown
Author

trait NonFungibleTokenCore shouldn't contain those methods:

    fn nft_payout(&self, token_id: String, balance: U128, max_len_payout: u32) -> Payout;
    fn nft_transfer_payout(
        &mut self,
        receiver_id: ValidAccountId,
        token_id: TokenId,
        approval_id: u64,
        memo: String,
        balance: U128,
        max_len_payout: u32,
    ) -> Payout;

// those should be in trait NonFungibleTokenApproval
    fn nft_approve(&mut self, token_id: TokenId, account_id: ValidAccountId, msg: Option<String>);
    fn nft_is_approved(
        &self,
        token_id: TokenId,
        approved_account_id: AccountId,
        approval_id: Option<u64>,
    ) -> bool;
    fn nft_revoke(&mut self, token_id: TokenId, account_id: ValidAccountId);
    fn nft_revoke_all(&mut self, token_id: TokenId);

// those should be in trait NonFungibleTokenEnumeration
    fn nft_total_supply(&self) -> U128;
    fn nft_token(&self, token_id: TokenId) -> Option<JsonToken>;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants