--- a/pallets/common/src/lib.rs +++ b/pallets/common/src/lib.rs @@ -428,7 +428,8 @@ return None; } - let limits = collection.unwrap().limits; + let collection = collection.unwrap(); + let limits = collection.limits; let effective_limits = CollectionLimits { account_token_ownership_limit: Some(limits.account_token_ownership_limit()), sponsored_data_size: Some(limits.sponsored_data_size()), @@ -438,7 +439,13 @@ .unwrap_or(SponsoringRateLimit::SponsoringDisabled), ), token_limit: Some(limits.token_limit()), - sponsor_transfer_timeout: Some(limits.sponsor_transfer_timeout(MAX_SPONSOR_TIMEOUT)), + sponsor_transfer_timeout: Some(limits.sponsor_transfer_timeout( + match collection.mode { + CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT, + CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, + CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, + }, + )), sponsor_approve_timeout: Some(limits.sponsor_approve_timeout()), owner_can_transfer: Some(limits.owner_can_transfer()), owner_can_destroy: Some(limits.owner_can_destroy()), --- a/tests/src/limits.test.ts +++ b/tests/src/limits.test.ts @@ -409,20 +409,20 @@ expect(limits).to.be.any; // Check that limits is undefined - expect(limits.accountTokenOwnershipLimit.isNone).to.be.true; - expect(limits.sponsoredDataSize.isNone).to.be.true; - expect(limits.sponsoredDataRateLimit.isNone).to.be.true; - expect(limits.tokenLimit.isNone).to.be.true; - expect(limits.sponsorTransferTimeout.isNone).to.be.true; - expect(limits.sponsorApproveTimeout.isNone).to.be.true; - expect(limits.ownerCanTransfer.isNone).to.be.true; - expect(limits.ownerCanDestroy.isNone).to.be.true; - expect(limits.transfersEnabled.isNone).to.be.true; + expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.null; + expect(limits.sponsoredDataSize.toHuman()).to.be.null; + expect(limits.sponsoredDataRateLimit.toHuman()).to.be.null; + expect(limits.tokenLimit.toHuman()).to.be.null; + expect(limits.sponsorTransferTimeout.toHuman()).to.be.null; + expect(limits.sponsorApproveTimeout.toHuman()).to.be.null; + expect(limits.ownerCanTransfer.toHuman()).to.be.null; + expect(limits.ownerCanDestroy.toHuman()).to.be.null; + expect(limits.transfersEnabled.toHuman()).to.be.null; } { const limits = await api.rpc.unique.effectiveCollectionLimits(11111); - expect(limits.isNone).to.be.true; + expect(limits.toHuman()).to.be.null; } { @@ -430,17 +430,16 @@ expect(limitsOpt.isNone).to.be.false; const limits = limitsOpt.unwrap(); - console.log(limits); - expect(limits.accountTokenOwnershipLimit.isSome).to.be.true; - expect(limits.sponsoredDataSize.isSome).to.be.true; - expect(limits.sponsoredDataRateLimit.isSome).to.be.true; - expect(limits.tokenLimit.isSome).to.be.true; - expect(limits.sponsorTransferTimeout.isSome).to.be.true; - expect(limits.sponsorApproveTimeout.isSome).to.be.true; - expect(limits.ownerCanTransfer.isSome).to.be.true; - expect(limits.ownerCanDestroy.isSome).to.be.true; - expect(limits.transfersEnabled.isSome).to.be.true; + expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.eq('100,000'); + expect(limits.sponsoredDataSize.toHuman()).to.be.eq('2,048'); + expect(limits.sponsoredDataRateLimit.toHuman()).to.be.eq('SponsoringDisabled'); + expect(limits.tokenLimit.toHuman()).to.be.eq('4,294,967,295'); + expect(limits.sponsorTransferTimeout.toHuman()).to.be.eq('5'); + expect(limits.sponsorApproveTimeout.toHuman()).to.be.eq('5'); + expect(limits.ownerCanTransfer.toHuman()).to.be.true; + expect(limits.ownerCanDestroy.toHuman()).to.be.true; + expect(limits.transfersEnabled.toHuman()).to.be.true; } }); }); -}); \ No newline at end of file +});