@polymeshassociation/polymesh-sdk 31.1.0-beta.2 → 31.1.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/CHANGELOG.md +4 -2
- package/api/client/Assets.d.ts +15 -0
- package/api/client/Assets.d.ts.map +1 -1
- package/api/client/Assets.js +36 -5
- package/api/client/Assets.js.map +1 -1
- package/api/client/Claims.d.ts +10 -13
- package/api/client/Claims.d.ts.map +1 -1
- package/api/client/Claims.js +5 -2
- package/api/client/Claims.js.map +1 -1
- package/api/client/Network.d.ts +27 -5
- package/api/client/Network.d.ts.map +1 -1
- package/api/client/Network.js +19 -2
- package/api/client/Network.js.map +1 -1
- package/api/client/Polymesh.d.ts.map +1 -1
- package/api/client/Polymesh.js +5 -6
- package/api/client/Polymesh.js.map +1 -1
- package/api/client/Staking.d.ts +200 -5
- package/api/client/Staking.d.ts.map +1 -1
- package/api/client/Staking.js +422 -1
- package/api/client/Staking.js.map +1 -1
- package/api/client/types.d.ts +284 -12
- package/api/client/types.d.ts.map +1 -1
- package/api/client/types.js +23 -1
- package/api/client/types.js.map +1 -1
- package/api/entities/Account/MultiSig/index.d.ts +8 -4
- package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
- package/api/entities/Account/MultiSig/index.js +6 -2
- package/api/entities/Account/MultiSig/index.js.map +1 -1
- package/api/entities/Account/Staking/index.d.ts +48 -3
- package/api/entities/Account/Staking/index.d.ts.map +1 -1
- package/api/entities/Account/Staking/index.js +80 -3
- package/api/entities/Account/Staking/index.js.map +1 -1
- package/api/entities/Account/index.d.ts +34 -9
- package/api/entities/Account/index.d.ts.map +1 -1
- package/api/entities/Account/index.js +83 -31
- package/api/entities/Account/index.js.map +1 -1
- package/api/entities/Account/types.d.ts +1 -1
- package/api/entities/Asset/Base/BaseAsset.d.ts +20 -1
- package/api/entities/Asset/Base/BaseAsset.d.ts.map +1 -1
- package/api/entities/Asset/Base/BaseAsset.js +5 -1
- package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
- package/api/entities/Asset/Base/Settlements/index.d.ts.map +1 -1
- package/api/entities/Asset/Base/Settlements/index.js +23 -6
- package/api/entities/Asset/Base/Settlements/index.js.map +1 -1
- package/api/entities/Asset/Fungible/AssetHolders/index.d.ts +16 -1
- package/api/entities/Asset/Fungible/AssetHolders/index.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/AssetHolders/index.js +16 -0
- package/api/entities/Asset/Fungible/AssetHolders/index.js.map +1 -1
- package/api/entities/Asset/Fungible/index.d.ts +68 -5
- package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/index.js +63 -2
- package/api/entities/Asset/Fungible/index.js.map +1 -1
- package/api/entities/Asset/NonFungible/AssetHolders/index.d.ts +15 -6
- package/api/entities/Asset/NonFungible/AssetHolders/index.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/AssetHolders/index.js +17 -0
- package/api/entities/Asset/NonFungible/AssetHolders/index.js.map +1 -1
- package/api/entities/Asset/NonFungible/Nft.d.ts +34 -2
- package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/Nft.js +34 -1
- package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.d.ts +56 -5
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.js +54 -2
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
- package/api/entities/Asset/types.d.ts +69 -1
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js +7 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/entities/AuthorizationRequest.js +1 -1
- package/api/entities/AuthorizationRequest.js.map +1 -1
- package/api/entities/Checkpoint.js +1 -1
- package/api/entities/Checkpoint.js.map +1 -1
- package/api/entities/CheckpointSchedule/index.js +1 -1
- package/api/entities/CheckpointSchedule/index.js.map +1 -1
- package/api/entities/CorporateActionBase/index.js +1 -1
- package/api/entities/CorporateActionBase/index.js.map +1 -1
- package/api/entities/CustomPermissionGroup.js +1 -1
- package/api/entities/CustomPermissionGroup.js.map +1 -1
- package/api/entities/DividendDistribution/index.d.ts +8 -4
- package/api/entities/DividendDistribution/index.d.ts.map +1 -1
- package/api/entities/DividendDistribution/index.js +6 -2
- package/api/entities/DividendDistribution/index.js.map +1 -1
- package/api/entities/Identity/AssetPermissions.d.ts +7 -6
- package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
- package/api/entities/Identity/AssetPermissions.js +5 -2
- package/api/entities/Identity/AssetPermissions.js.map +1 -1
- package/api/entities/Identity/IdentityAuthorizations.d.ts +5 -0
- package/api/entities/Identity/IdentityAuthorizations.d.ts.map +1 -1
- package/api/entities/Identity/IdentityAuthorizations.js +5 -0
- package/api/entities/Identity/IdentityAuthorizations.js.map +1 -1
- package/api/entities/Identity/Portfolios.js +1 -1
- package/api/entities/Identity/Portfolios.js.map +1 -1
- package/api/entities/Identity/index.d.ts +50 -7
- package/api/entities/Identity/index.d.ts.map +1 -1
- package/api/entities/Identity/index.js +76 -9
- package/api/entities/Identity/index.js.map +1 -1
- package/api/entities/Instruction/index.js +1 -1
- package/api/entities/Instruction/index.js.map +1 -1
- package/api/entities/MetadataEntry/index.js +1 -1
- package/api/entities/MetadataEntry/index.js.map +1 -1
- package/api/entities/MultiSigProposal/index.d.ts +0 -1
- package/api/entities/MultiSigProposal/index.d.ts.map +1 -1
- package/api/entities/NumberedPortfolio.d.ts +4 -0
- package/api/entities/NumberedPortfolio.d.ts.map +1 -1
- package/api/entities/NumberedPortfolio.js +1 -1
- package/api/entities/NumberedPortfolio.js.map +1 -1
- package/api/entities/Offering/index.d.ts +7 -4
- package/api/entities/Offering/index.d.ts.map +1 -1
- package/api/entities/Offering/index.js +6 -3
- package/api/entities/Offering/index.js.map +1 -1
- package/api/entities/Portfolio/index.d.ts +24 -0
- package/api/entities/Portfolio/index.d.ts.map +1 -1
- package/api/entities/Portfolio/index.js +110 -37
- package/api/entities/Portfolio/index.js.map +1 -1
- package/api/entities/Portfolio/types.d.ts +18 -0
- package/api/entities/Portfolio/types.d.ts.map +1 -1
- package/api/entities/Venue/index.d.ts +5 -5
- package/api/entities/Venue/index.d.ts.map +1 -1
- package/api/entities/Venue/index.js +4 -1
- package/api/entities/Venue/index.js.map +1 -1
- package/api/entities/common/namespaces/Authorizations.d.ts +18 -6
- package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
- package/api/entities/common/namespaces/Authorizations.js +16 -4
- package/api/entities/common/namespaces/Authorizations.js.map +1 -1
- package/api/entities/types.d.ts +16 -2
- package/api/entities/types.d.ts.map +1 -1
- package/api/entities/types.js.map +1 -1
- package/api/procedures/acceptPrimaryKeyRotation.js +1 -1
- package/api/procedures/acceptPrimaryKeyRotation.js.map +1 -1
- package/api/procedures/addInstruction.d.ts.map +1 -1
- package/api/procedures/addInstruction.js +20 -1
- package/api/procedures/addInstruction.js.map +1 -1
- package/api/procedures/approveAllowance.d.ts.map +1 -1
- package/api/procedures/approveAllowance.js +17 -7
- package/api/procedures/approveAllowance.js.map +1 -1
- package/api/procedures/bondPolyx.d.ts +14 -2
- package/api/procedures/bondPolyx.d.ts.map +1 -1
- package/api/procedures/bondPolyx.js +39 -8
- package/api/procedures/bondPolyx.js.map +1 -1
- package/api/procedures/chillStaking.d.ts +36 -0
- package/api/procedures/chillStaking.d.ts.map +1 -0
- package/api/procedures/chillStaking.js +72 -0
- package/api/procedures/chillStaking.js.map +1 -0
- package/api/procedures/claimDividends.d.ts.map +1 -1
- package/api/procedures/claimDividends.js +11 -1
- package/api/procedures/claimDividends.js.map +1 -1
- package/api/procedures/configureDividendDistribution.d.ts.map +1 -1
- package/api/procedures/configureDividendDistribution.js +3 -2
- package/api/procedures/configureDividendDistribution.js.map +1 -1
- package/api/procedures/controllerTransfer.d.ts +7 -6
- package/api/procedures/controllerTransfer.d.ts.map +1 -1
- package/api/procedures/controllerTransfer.js +58 -35
- package/api/procedures/controllerTransfer.js.map +1 -1
- package/api/procedures/executeManualInstruction.d.ts +5 -1
- package/api/procedures/executeManualInstruction.d.ts.map +1 -1
- package/api/procedures/executeManualInstruction.js +5 -1
- package/api/procedures/executeManualInstruction.js.map +1 -1
- package/api/procedures/investInOffering.d.ts.map +1 -1
- package/api/procedures/investInOffering.js +41 -13
- package/api/procedures/investInOffering.js.map +1 -1
- package/api/procedures/launchOffering.d.ts.map +1 -1
- package/api/procedures/launchOffering.js +1 -0
- package/api/procedures/launchOffering.js.map +1 -1
- package/api/procedures/modifyAsset.js +1 -1
- package/api/procedures/modifyAsset.js.map +1 -1
- package/api/procedures/modifyFrozenTokens.d.ts +31 -0
- package/api/procedures/modifyFrozenTokens.d.ts.map +1 -0
- package/api/procedures/modifyFrozenTokens.js +123 -0
- package/api/procedures/modifyFrozenTokens.js.map +1 -0
- package/api/procedures/modifyInstructionAffirmation.d.ts +5 -1
- package/api/procedures/modifyInstructionAffirmation.d.ts.map +1 -1
- package/api/procedures/modifyInstructionAffirmation.js +10 -2
- package/api/procedures/modifyInstructionAffirmation.js.map +1 -1
- package/api/procedures/moveFunds.d.ts.map +1 -1
- package/api/procedures/moveFunds.js +3 -2
- package/api/procedures/moveFunds.js.map +1 -1
- package/api/procedures/nftControllerTransfer.d.ts +7 -6
- package/api/procedures/nftControllerTransfer.d.ts.map +1 -1
- package/api/procedures/nftControllerTransfer.js +42 -32
- package/api/procedures/nftControllerTransfer.js.map +1 -1
- package/api/procedures/nominateValidators.d.ts +6 -1
- package/api/procedures/nominateValidators.d.ts.map +1 -1
- package/api/procedures/nominateValidators.js +45 -6
- package/api/procedures/nominateValidators.js.map +1 -1
- package/api/procedures/redeemNft.js +1 -1
- package/api/procedures/redeemNft.js.map +1 -1
- package/api/procedures/redeemTokens.d.ts.map +1 -1
- package/api/procedures/redeemTokens.js +3 -1
- package/api/procedures/redeemTokens.js.map +1 -1
- package/api/procedures/removeAssetRequirement.js +1 -1
- package/api/procedures/removeAssetRequirement.js.map +1 -1
- package/api/procedures/removeCheckpointSchedule.js +1 -1
- package/api/procedures/removeCheckpointSchedule.js.map +1 -1
- package/api/procedures/removeCorporateAction.js +3 -3
- package/api/procedures/removeCorporateAction.js.map +1 -1
- package/api/procedures/setCustodian.d.ts +5 -1
- package/api/procedures/setCustodian.d.ts.map +1 -1
- package/api/procedures/setCustodian.js +2 -6
- package/api/procedures/setCustodian.js.map +1 -1
- package/api/procedures/setNftApproval.d.ts +29 -0
- package/api/procedures/setNftApproval.d.ts.map +1 -0
- package/api/procedures/setNftApproval.js +100 -0
- package/api/procedures/setNftApproval.js.map +1 -0
- package/api/procedures/setStakingController.d.ts +9 -1
- package/api/procedures/setStakingController.d.ts.map +1 -1
- package/api/procedures/setStakingController.js +10 -6
- package/api/procedures/setStakingController.js.map +1 -1
- package/api/procedures/setStakingPayee.d.ts +9 -1
- package/api/procedures/setStakingPayee.d.ts.map +1 -1
- package/api/procedures/setStakingPayee.js +10 -6
- package/api/procedures/setStakingPayee.js.map +1 -1
- package/api/procedures/toggleFreezeHolder.d.ts +23 -0
- package/api/procedures/toggleFreezeHolder.d.ts.map +1 -0
- package/api/procedures/toggleFreezeHolder.js +69 -0
- package/api/procedures/toggleFreezeHolder.js.map +1 -0
- package/api/procedures/toggleNftOperator.d.ts +26 -0
- package/api/procedures/toggleNftOperator.d.ts.map +1 -0
- package/api/procedures/toggleNftOperator.js +84 -0
- package/api/procedures/toggleNftOperator.js.map +1 -0
- package/api/procedures/transferFunds.d.ts.map +1 -1
- package/api/procedures/transferFunds.js +35 -4
- package/api/procedures/transferFunds.js.map +1 -1
- package/api/procedures/types.d.ts +73 -8
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js.map +1 -1
- package/api/procedures/updateBondedPolyx.d.ts +13 -2
- package/api/procedures/updateBondedPolyx.d.ts.map +1 -1
- package/api/procedures/updateBondedPolyx.js +109 -46
- package/api/procedures/updateBondedPolyx.js.map +1 -1
- package/api/procedures/utils.d.ts +83 -2
- package/api/procedures/utils.d.ts.map +1 -1
- package/api/procedures/utils.js +171 -0
- package/api/procedures/utils.js.map +1 -1
- package/api/procedures/withdrawUnbondedPolyx.d.ts +11 -2
- package/api/procedures/withdrawUnbondedPolyx.d.ts.map +1 -1
- package/api/procedures/withdrawUnbondedPolyx.js +19 -15
- package/api/procedures/withdrawUnbondedPolyx.js.map +1 -1
- package/base/Context.d.ts +19 -11
- package/base/Context.d.ts.map +1 -1
- package/base/Context.js +22 -2
- package/base/Context.js.map +1 -1
- package/base/PolymeshTransactionBase.d.ts +8 -0
- package/base/PolymeshTransactionBase.d.ts.map +1 -1
- package/base/PolymeshTransactionBase.js +44 -39
- package/base/PolymeshTransactionBase.js.map +1 -1
- package/base/utils.d.ts +0 -1
- package/base/utils.d.ts.map +1 -1
- package/internal.d.ts +5 -0
- package/internal.d.ts.map +1 -1
- package/internal.js +14 -4
- package/internal.js.map +1 -1
- package/middleware/queries/assets.d.ts +13 -5
- package/middleware/queries/assets.d.ts.map +1 -1
- package/middleware/queries/assets.js +60 -27
- package/middleware/queries/assets.js.map +1 -1
- package/middleware/queries/authorizations.d.ts +2 -2
- package/middleware/queries/authorizations.d.ts.map +1 -1
- package/middleware/queries/authorizations.js +4 -3
- package/middleware/queries/authorizations.js.map +1 -1
- package/middleware/queries/claims.d.ts +4 -4
- package/middleware/queries/claims.d.ts.map +1 -1
- package/middleware/queries/claims.js +18 -6
- package/middleware/queries/claims.js.map +1 -1
- package/middleware/queries/common.d.ts +41 -1
- package/middleware/queries/common.d.ts.map +1 -1
- package/middleware/queries/common.js +51 -9
- package/middleware/queries/common.js.map +1 -1
- package/middleware/queries/distributions.d.ts +2 -2
- package/middleware/queries/distributions.d.ts.map +1 -1
- package/middleware/queries/distributions.js +10 -3
- package/middleware/queries/distributions.js.map +1 -1
- package/middleware/queries/events.d.ts +2 -2
- package/middleware/queries/events.d.ts.map +1 -1
- package/middleware/queries/events.js +4 -3
- package/middleware/queries/events.js.map +1 -1
- package/middleware/queries/externalAgents.d.ts +2 -2
- package/middleware/queries/externalAgents.d.ts.map +1 -1
- package/middleware/queries/externalAgents.js +4 -3
- package/middleware/queries/externalAgents.js.map +1 -1
- package/middleware/queries/extrinsics.d.ts +1 -1
- package/middleware/queries/extrinsics.d.ts.map +1 -1
- package/middleware/queries/extrinsics.js +14 -8
- package/middleware/queries/extrinsics.js.map +1 -1
- package/middleware/queries/multisigs.d.ts +2 -6
- package/middleware/queries/multisigs.d.ts.map +1 -1
- package/middleware/queries/multisigs.js +10 -4
- package/middleware/queries/multisigs.js.map +1 -1
- package/middleware/queries/polyxTransactions.d.ts +2 -1
- package/middleware/queries/polyxTransactions.d.ts.map +1 -1
- package/middleware/queries/polyxTransactions.js +5 -3
- package/middleware/queries/polyxTransactions.js.map +1 -1
- package/middleware/queries/settlements.d.ts +7 -7
- package/middleware/queries/settlements.d.ts.map +1 -1
- package/middleware/queries/settlements.js +23 -14
- package/middleware/queries/settlements.js.map +1 -1
- package/middleware/queries/stos.d.ts +2 -2
- package/middleware/queries/stos.d.ts.map +1 -1
- package/middleware/queries/stos.js +9 -5
- package/middleware/queries/stos.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-31.1.0-beta.20.tgz +0 -0
- package/package.json +6 -4
- package/types/txGroupConstants.d.ts +10 -2
- package/types/txGroupConstants.d.ts.map +1 -1
- package/types/txGroupConstants.js +16 -0
- package/types/txGroupConstants.js.map +1 -1
- package/utils/constants.d.ts +47 -0
- package/utils/constants.d.ts.map +1 -1
- package/utils/constants.js +48 -1
- package/utils/constants.js.map +1 -1
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +8 -2
- package/utils/conversion.js.map +1 -1
- package/utils/eth.d.ts +43 -0
- package/utils/eth.d.ts.map +1 -1
- package/utils/eth.js +76 -0
- package/utils/eth.js.map +1 -1
- package/utils/internal.d.ts +59 -5
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +159 -6
- package/utils/internal.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-31.1.0-beta.2.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":"AAMA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EACL,SAAS,EACT,OAAO,EACP,aAAa,EACb,SAAS,EACT,GAAG,EAGJ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EAEf,aAAa,EACb,qBAAqB,EACrB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":"AAMA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EACL,SAAS,EACT,OAAO,EACP,aAAa,EACb,SAAS,EACT,GAAG,EAGJ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EAEf,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAiCjB;;GAEG;AACH,cAAM,eAAe,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAC7D;;OAEG;IACI,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACI,iBAAiB,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEtD;;OAEG;gBACS,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;IAoBvC;;;;;;;;;;;;;;;OAeG;cACa,eAAe,CAC7B,IAAI,EACA;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;KACnB,GACD;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;KAC3B,GACJ,OAAO,CAAC,iBAAiB,CAAC;CAyH9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe,CAAC,aAAa,CAAC;IACrE;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe,CAAC,aAAa,CAAC;IACxE;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;KAC3B,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/B"}
|
|
@@ -20,6 +20,19 @@ const types_1 = require("../../../../../types");
|
|
|
20
20
|
const utils_2 = require("../../../../../utils");
|
|
21
21
|
const conversion_1 = require("../../../../../utils/conversion");
|
|
22
22
|
const internal_2 = require("../../../../../utils/internal");
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*
|
|
26
|
+
* Add a frozen sender to a transfer breakdown. The chain's NFT transfer report does not check
|
|
27
|
+
* whether the sender is frozen, although the transfer itself refuses a frozen sender, so the
|
|
28
|
+
* SDK checks it separately
|
|
29
|
+
*/
|
|
30
|
+
function withFrozenSender(breakdown) {
|
|
31
|
+
const { general } = breakdown;
|
|
32
|
+
return Object.assign(Object.assign({}, breakdown), { general: general.includes(types_1.TransferError.SenderFrozen)
|
|
33
|
+
? general
|
|
34
|
+
: [...general, types_1.TransferError.SenderFrozen], result: false });
|
|
35
|
+
}
|
|
23
36
|
/**
|
|
24
37
|
* @hidden
|
|
25
38
|
*/
|
|
@@ -77,6 +90,7 @@ class BaseSettlements extends internal_1.Namespace {
|
|
|
77
90
|
const rawAssetId = (0, conversion_1.assetToMeshAssetId)(parent, context);
|
|
78
91
|
let granularResult;
|
|
79
92
|
let nftResult;
|
|
93
|
+
let isNftSenderFrozen = false;
|
|
80
94
|
let complianceResult;
|
|
81
95
|
let transferRestrictionsReport;
|
|
82
96
|
const [fromDid, toDid] = yield Promise.all([
|
|
@@ -110,13 +124,16 @@ class BaseSettlements extends internal_1.Namespace {
|
|
|
110
124
|
else {
|
|
111
125
|
const rawNfts = (0, conversion_1.nftToMeshNft)(parent, args.nfts, context);
|
|
112
126
|
const rawAmount = (0, conversion_1.bigNumberToBalance)(amount, context, isDivisible);
|
|
113
|
-
[nftResult, complianceResult, transferRestrictionsReport] =
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
127
|
+
[nftResult, complianceResult, transferRestrictionsReport, { isFrozen: isNftSenderFrozen }] =
|
|
128
|
+
yield Promise.all([
|
|
129
|
+
nftApi.transferReport(rawFromAccountHolder, rawToAccountHolder, rawNfts, (0, conversion_1.booleanToBool)(false, context)),
|
|
130
|
+
complianceApi.complianceReport(rawAssetId, rawFromDid, rawToDid),
|
|
131
|
+
statisticsApi.transferRestrictionsReport(rawAssetId, rawFromDid, rawToDid, rawAmount),
|
|
132
|
+
(0, internal_2.getHolderFreezeStatus)(from, parent, context),
|
|
133
|
+
]);
|
|
118
134
|
}
|
|
119
|
-
|
|
135
|
+
const breakdown = (0, conversion_1.transferReportToTransferBreakdown)(granularResult, nftResult, complianceResult, transferRestrictionsReport, context);
|
|
136
|
+
return isNftSenderFrozen ? withFrozenSender(breakdown) : breakdown;
|
|
120
137
|
});
|
|
121
138
|
}
|
|
122
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAMA,gEAAqC;AAErC,kDAAoF;AACpF,yCAQoB;AACpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FungibleAsset, Namespace } from '../../../../../internal';
|
|
2
|
-
import { IdentityBalance, PaginationOptions, ResultSet } from '../../../../../types';
|
|
2
|
+
import { AssetHolderLike, HolderFreezeStatus, IdentityBalance, PaginationOptions, ResultSet } from '../../../../../types';
|
|
3
3
|
/**
|
|
4
4
|
* Handles all Asset Holders related functionality
|
|
5
5
|
*/
|
|
@@ -10,5 +10,20 @@ export declare class AssetHolders extends Namespace<FungibleAsset> {
|
|
|
10
10
|
* @note supports pagination
|
|
11
11
|
*/
|
|
12
12
|
get(paginationOpts?: PaginationOptions): Promise<ResultSet<IdentityBalance>>;
|
|
13
|
+
/**
|
|
14
|
+
* Retrieve how an Asset agent has frozen one holder of this Asset: whether it is frozen outright,
|
|
15
|
+
* and how much of its balance is frozen
|
|
16
|
+
*
|
|
17
|
+
* @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
|
|
18
|
+
* its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
|
|
19
|
+
* Portfolios free
|
|
20
|
+
*
|
|
21
|
+
* @note a holder's balance already excludes the frozen amount from `free`. See
|
|
22
|
+
* {@link api/entities/Portfolio/types!PortfolioBalance | PortfolioBalance}
|
|
23
|
+
* @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
|
|
24
|
+
*/
|
|
25
|
+
getFreezeStatus(args: {
|
|
26
|
+
holder: AssetHolderLike;
|
|
27
|
+
}): Promise<HolderFreezeStatus>;
|
|
13
28
|
}
|
|
14
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,SAAS,EACV,MAAM,SAAS,CAAC;AAIjB;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS,CAAC,aAAa,CAAC;IACxD;;;;OAIG;IACU,GAAG,CAAC,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IA4BzF;;;;;;;;;;;OAWG;IACI,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAKvF"}
|
|
@@ -40,6 +40,22 @@ class AssetHolders extends internal_1.Namespace {
|
|
|
40
40
|
};
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Retrieve how an Asset agent has frozen one holder of this Asset: whether it is frozen outright,
|
|
45
|
+
* and how much of its balance is frozen
|
|
46
|
+
*
|
|
47
|
+
* @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
|
|
48
|
+
* its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
|
|
49
|
+
* Portfolios free
|
|
50
|
+
*
|
|
51
|
+
* @note a holder's balance already excludes the frozen amount from `free`. See
|
|
52
|
+
* {@link api/entities/Portfolio/types!PortfolioBalance | PortfolioBalance}
|
|
53
|
+
* @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
|
|
54
|
+
*/
|
|
55
|
+
getFreezeStatus(args) {
|
|
56
|
+
const { context, parent } = this;
|
|
57
|
+
return (0, internal_2.getHolderFreezeStatus)(args.holder, parent, context);
|
|
58
|
+
}
|
|
43
59
|
}
|
|
44
60
|
exports.AssetHolders = AssetHolders;
|
|
45
61
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAgE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAgE;AAQhE,mDAAgG;AAChG,+CAA2E;AAE3E;;GAEG;AACH,MAAa,YAAa,SAAQ,oBAAwB;IACxD;;;;OAIG;IACU,GAAG,CAAC,cAAkC;;YACjD,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,KAAK,EAAE,GACvB,EACD,OAAO,EACP,MAAM,GACP,GAAG,IAAI,CAAC;YAET,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC/E,GAAG,EAAE,UAAU;gBACf,cAAc;aACf,CAAC,CAAC;YAEH,MAAM,IAAI,GAAiD,OAAO,CAAC,GAAG,CACpE,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,QAAQ,EAAE,IAAI,mBAAQ,CAAC,EAAE,GAAG,EAAE,IAAA,+BAAkB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;gBAChF,OAAO,EAAE,IAAA,+BAAkB,EAAC,OAAO,CAAC;aACrC,CAAC,CACH,CAAC;YAEF,OAAO;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACI,eAAe,CAAC,IAAiC;QACtD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEjC,OAAO,IAAA,gCAAqB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAnDD,oCAmDC"}
|
|
@@ -9,7 +9,8 @@ import { Offerings } from '../../../../api/entities/Asset/Fungible/Offerings';
|
|
|
9
9
|
import { TransferRestrictions } from '../../../../api/entities/Asset/Fungible/TransferRestrictions';
|
|
10
10
|
import { AccountLike, UniqueIdentifiers } from '../../../../api/entities/types';
|
|
11
11
|
import { Context } from '../../../../internal';
|
|
12
|
-
import {
|
|
12
|
+
import { AssetTransactionsOrderBy } from '../../../../middleware/types';
|
|
13
|
+
import { ApproveAllowanceParams, AssetAllowance, ControllerTransferParams, EventIdentifier, FrozenTokensParams, HistoricAgentOperation, HistoricAssetTransaction, MiddlewarePaginationOptions, ProcedureMethod, RedeemTokensParams, ResultSet } from '../../../../types';
|
|
13
14
|
/**
|
|
14
15
|
* Class used to manage all Fungible Asset functionality
|
|
15
16
|
*/
|
|
@@ -25,6 +26,45 @@ export declare class FungibleAsset extends BaseAsset {
|
|
|
25
26
|
* @hidden
|
|
26
27
|
*/
|
|
27
28
|
constructor(identifiers: UniqueIdentifiers, context: Context);
|
|
29
|
+
/**
|
|
30
|
+
* Set how many of a holder's tokens are frozen, replacing whatever amount was frozen before. The
|
|
31
|
+
* holder cannot send frozen tokens
|
|
32
|
+
*
|
|
33
|
+
* @note absolute: setting 100 twice leaves 100 frozen. Use {@link freezeTokens} and
|
|
34
|
+
* {@link unfreezeTokens} to adjust the amount instead. Passing 0 unfreezes every token
|
|
35
|
+
* @note the chain does not check this against the holder's balance, so more can be frozen than
|
|
36
|
+
* the holder holds, leaving nothing it can send
|
|
37
|
+
* @note freezing applies to the holder given, not to its Identity
|
|
38
|
+
* @note a controller transfer can still take frozen tokens
|
|
39
|
+
* @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
|
|
40
|
+
*/
|
|
41
|
+
setFrozenTokens: ProcedureMethod<FrozenTokensParams, void>;
|
|
42
|
+
/**
|
|
43
|
+
* Freeze more of a holder's tokens, on top of whatever is already frozen. The holder cannot send
|
|
44
|
+
* frozen tokens
|
|
45
|
+
*
|
|
46
|
+
* @note relative: freezing 100 twice leaves 200 frozen
|
|
47
|
+
* @throws if the frozen amount would exceed the holder's balance
|
|
48
|
+
* @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
|
|
49
|
+
*/
|
|
50
|
+
freezeTokens: ProcedureMethod<FrozenTokensParams, void>;
|
|
51
|
+
/**
|
|
52
|
+
* Release some of a holder's frozen tokens
|
|
53
|
+
*
|
|
54
|
+
* @note relative: this reduces the frozen amount by `amount`
|
|
55
|
+
* @throws if `amount` exceeds what is frozen
|
|
56
|
+
* @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
|
|
57
|
+
*/
|
|
58
|
+
unfreezeTokens: ProcedureMethod<FrozenTokensParams, void>;
|
|
59
|
+
/**
|
|
60
|
+
* The address of the fungible precompile through which EVM contracts and Ethereum tooling can
|
|
61
|
+
* call this Asset, i.e. `0x<Asset ID>00080000`, EIP-55 checksummed
|
|
62
|
+
*
|
|
63
|
+
* @note every fungible Asset is exposed automatically, with nothing to deploy or register. Calls
|
|
64
|
+
* run the same checks as the equivalent extrinsic, so compliance, transfer restrictions and
|
|
65
|
+
* freezes still apply
|
|
66
|
+
*/
|
|
67
|
+
get evmAddress(): string;
|
|
28
68
|
/**
|
|
29
69
|
* Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
|
|
30
70
|
*
|
|
@@ -41,7 +81,14 @@ export declare class FungibleAsset extends BaseAsset {
|
|
|
41
81
|
*/
|
|
42
82
|
investorCount(): Promise<BigNumber>;
|
|
43
83
|
/**
|
|
44
|
-
* Force a transfer from a given Portfolio to the caller
|
|
84
|
+
* Force a transfer from a given Portfolio or Account, by default to the caller's default Portfolio
|
|
85
|
+
*
|
|
86
|
+
* @note from Polymesh 8.1.1 `destination` can be any Account or Portfolio, such as the rightful
|
|
87
|
+
* owner of seized tokens. Before 8.1.1 it must be the signing Account or one of the signing
|
|
88
|
+
* Identity's Portfolios
|
|
89
|
+
* @note a destination the caller does not control must not require receiver affirmation for the
|
|
90
|
+
* Asset, since a forced transfer cannot affirm on its behalf
|
|
91
|
+
* @note the transfer ignores holder freezes, so it can seize tokens an agent has frozen
|
|
45
92
|
*/
|
|
46
93
|
controllerTransfer: ProcedureMethod<ControllerTransferParams, void>;
|
|
47
94
|
/**
|
|
@@ -54,12 +101,15 @@ export declare class FungibleAsset extends BaseAsset {
|
|
|
54
101
|
getOperationHistory(): Promise<HistoricAgentOperation[]>;
|
|
55
102
|
/**
|
|
56
103
|
* Retrieve this Asset's transaction History
|
|
104
|
+
* @param opts.orderBy - how to order the results: one key, or several to decide the rows a
|
|
105
|
+
* single key leaves tied. The read's own unique key is appended to whatever is passed, so
|
|
106
|
+
* that paging cannot repeat or skip a row
|
|
107
|
+
*
|
|
57
108
|
*
|
|
58
109
|
* @note uses the middlewareV2
|
|
59
110
|
*/
|
|
60
|
-
getTransactionHistory(opts: {
|
|
61
|
-
|
|
62
|
-
start?: BigNumber;
|
|
111
|
+
getTransactionHistory(opts: MiddlewarePaginationOptions & {
|
|
112
|
+
orderBy?: AssetTransactionsOrderBy | AssetTransactionsOrderBy[];
|
|
63
113
|
}): Promise<ResultSet<HistoricAssetTransaction>>;
|
|
64
114
|
/**
|
|
65
115
|
* Determine whether this FungibleAsset exists on chain
|
|
@@ -74,6 +124,19 @@ export declare class FungibleAsset extends BaseAsset {
|
|
|
74
124
|
* On every spend transaction, the spender account's allowance will be decremented by the amount transferred.
|
|
75
125
|
*/
|
|
76
126
|
approveAllowance: ProcedureMethod<ApproveAllowanceParams, void>;
|
|
127
|
+
/**
|
|
128
|
+
* Retrieve every allowance an Account has approved for this Asset — each spender and what it may
|
|
129
|
+
* transfer
|
|
130
|
+
*
|
|
131
|
+
* @param args.owner - the Account whose approvals to read
|
|
132
|
+
*
|
|
133
|
+
* @note not paginated: allowances are keyed by owner, spender and Asset in that order, so the
|
|
134
|
+
* Asset can only be filtered after reading. Bounded by how many approvals the owner has made
|
|
135
|
+
* across all Assets
|
|
136
|
+
*/
|
|
137
|
+
getAllowances(args: {
|
|
138
|
+
owner: AccountLike;
|
|
139
|
+
}): Promise<AssetAllowance[]>;
|
|
77
140
|
/**
|
|
78
141
|
* Retrieve the amount of allowance for a spender account as approved by owner
|
|
79
142
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAGL,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,9 @@ const TransferRestrictions_1 = require("../../../../api/entities/Asset/Fungible/
|
|
|
26
26
|
const internal_1 = require("../../../../internal");
|
|
27
27
|
const assets_1 = require("../../../../middleware/queries/assets");
|
|
28
28
|
const externalAgents_1 = require("../../../../middleware/queries/externalAgents");
|
|
29
|
+
const constants_1 = require("../../../../utils/constants");
|
|
29
30
|
const conversion_1 = require("../../../../utils/conversion");
|
|
31
|
+
const eth_1 = require("../../../../utils/eth");
|
|
30
32
|
const internal_2 = require("../../../../utils/internal");
|
|
31
33
|
/**
|
|
32
34
|
* Class used to manage all Fungible Asset functionality
|
|
@@ -47,6 +49,35 @@ class FungibleAsset extends Base_1.BaseAsset {
|
|
|
47
49
|
this.redeem = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.redeemTokens, Object.assign({ asset: this }, args)] }, context);
|
|
48
50
|
this.controllerTransfer = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.controllerTransfer, Object.assign({ asset: this }, args)] }, context);
|
|
49
51
|
this.approveAllowance = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.approveAllowance, Object.assign({ asset: this }, args)] }, context);
|
|
52
|
+
this.setFrozenTokens = (0, internal_2.createProcedureMethod)({
|
|
53
|
+
getProcedureAndArgs: args => [
|
|
54
|
+
internal_1.modifyFrozenTokens,
|
|
55
|
+
Object.assign(Object.assign({}, args), { asset: this, operation: 'set' }),
|
|
56
|
+
],
|
|
57
|
+
}, context);
|
|
58
|
+
this.freezeTokens = (0, internal_2.createProcedureMethod)({
|
|
59
|
+
getProcedureAndArgs: args => [
|
|
60
|
+
internal_1.modifyFrozenTokens,
|
|
61
|
+
Object.assign(Object.assign({}, args), { asset: this, operation: 'increase' }),
|
|
62
|
+
],
|
|
63
|
+
}, context);
|
|
64
|
+
this.unfreezeTokens = (0, internal_2.createProcedureMethod)({
|
|
65
|
+
getProcedureAndArgs: args => [
|
|
66
|
+
internal_1.modifyFrozenTokens,
|
|
67
|
+
Object.assign(Object.assign({}, args), { asset: this, operation: 'decrease' }),
|
|
68
|
+
],
|
|
69
|
+
}, context);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The address of the fungible precompile through which EVM contracts and Ethereum tooling can
|
|
73
|
+
* call this Asset, i.e. `0x<Asset ID>00080000`, EIP-55 checksummed
|
|
74
|
+
*
|
|
75
|
+
* @note every fungible Asset is exposed automatically, with nothing to deploy or register. Calls
|
|
76
|
+
* run the same checks as the equivalent extrinsic, so compliance, transfer restrictions and
|
|
77
|
+
* freezes still apply
|
|
78
|
+
*/
|
|
79
|
+
get evmAddress() {
|
|
80
|
+
return (0, eth_1.assetIdToPrecompileAddress)(this.id, 'fungible');
|
|
50
81
|
}
|
|
51
82
|
/**
|
|
52
83
|
* Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
|
|
@@ -101,17 +132,21 @@ class FungibleAsset extends Base_1.BaseAsset {
|
|
|
101
132
|
}
|
|
102
133
|
/**
|
|
103
134
|
* Retrieve this Asset's transaction History
|
|
135
|
+
* @param opts.orderBy - how to order the results: one key, or several to decide the rows a
|
|
136
|
+
* single key leaves tied. The read's own unique key is appended to whatever is passed, so
|
|
137
|
+
* that paging cannot repeat or skip a row
|
|
138
|
+
*
|
|
104
139
|
*
|
|
105
140
|
* @note uses the middlewareV2
|
|
106
141
|
*/
|
|
107
142
|
getTransactionHistory(opts) {
|
|
108
143
|
return __awaiter(this, void 0, void 0, function* () {
|
|
109
144
|
const { context, id } = this;
|
|
110
|
-
const { size, start } = opts;
|
|
145
|
+
const { size, start, orderBy } = opts;
|
|
111
146
|
const middlewareAssetId = yield (0, internal_2.getAssetIdForMiddleware)(id, context);
|
|
112
147
|
const { data: { assetTransactions: { nodes, totalCount }, }, } = yield context.queryMiddleware((0, assets_1.assetTransactionQuery)({
|
|
113
148
|
assetId: middlewareAssetId,
|
|
114
|
-
}, size, start));
|
|
149
|
+
}, size, start, orderBy));
|
|
115
150
|
const data = [];
|
|
116
151
|
const getAccount = (address) => new internal_1.Account({ address }, context);
|
|
117
152
|
for (const { asset, amount, fromPortfolioId, fromAccount: fromAddress, toPortfolioId, toAccount: toAddress, createdBlock, eventId, eventIdx, extrinsicIdx, fundingRound, instructionId, instructionMemo, } of nodes) {
|
|
@@ -148,6 +183,32 @@ class FungibleAsset extends Base_1.BaseAsset {
|
|
|
148
183
|
return !tokenSize.isZero() && nftId.isZero();
|
|
149
184
|
});
|
|
150
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Retrieve every allowance an Account has approved for this Asset — each spender and what it may
|
|
188
|
+
* transfer
|
|
189
|
+
*
|
|
190
|
+
* @param args.owner - the Account whose approvals to read
|
|
191
|
+
*
|
|
192
|
+
* @note not paginated: allowances are keyed by owner, spender and Asset in that order, so the
|
|
193
|
+
* Asset can only be filtered after reading. Bounded by how many approvals the owner has made
|
|
194
|
+
* across all Assets
|
|
195
|
+
*/
|
|
196
|
+
getAllowances(args) {
|
|
197
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
198
|
+
const { context, context: { polymeshApi: { query: { asset }, }, }, id: assetId, } = this;
|
|
199
|
+
const { address: ownerAddress } = (0, internal_2.asAccount)(args.owner, context);
|
|
200
|
+
const rawOwner = (0, conversion_1.stringToAccountId)(ownerAddress, context);
|
|
201
|
+
const { entries } = yield (0, internal_2.requestPaginated)(asset.allowances, { arg: rawOwner });
|
|
202
|
+
return entries
|
|
203
|
+
.filter(([{ args: keys }]) => (0, conversion_1.assetIdToString)(keys[2]) === assetId)
|
|
204
|
+
.map(([{ args: keys }, rawAmount]) => ({
|
|
205
|
+
asset: this,
|
|
206
|
+
spender: new internal_1.Account({ address: (0, conversion_1.accountIdToString)(keys[1]) }, context),
|
|
207
|
+
amount: (0, conversion_1.balanceToBigNumber)(rawAmount),
|
|
208
|
+
unlimited: (0, conversion_1.u128ToBigNumber)(rawAmount).eq(constants_1.UNLIMITED_ALLOWANCE),
|
|
209
|
+
}));
|
|
210
|
+
});
|
|
211
|
+
}
|
|
151
212
|
/**
|
|
152
213
|
* Retrieve the amount of allowance for a spender account as approved by owner
|
|
153
214
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,mCAAsC;AAEtC,oDAAsD;AACtD,uEAA4E;AAC5E,6EAA0E;AAC1E,2EAAwE;AACxE,qFAAkF;AAClF,qEAAkE;AAClE,uEAAoE;AACpE,6FAA0F;AAE1F,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
1
|
import { Namespace } from '../../../../../internal';
|
|
3
|
-
import { IdentityHeldNfts, NftCollection, ResultSet } from '../../../../../types';
|
|
2
|
+
import { AssetHolderLike, IdentityHeldNfts, MiddlewarePaginationOptions, NftCollection, NftHolderFreezeStatus, ResultSet } from '../../../../../types';
|
|
4
3
|
/**
|
|
5
4
|
* Handles all NFT Holders related functionality
|
|
6
5
|
*/
|
|
@@ -10,9 +9,19 @@ export declare class AssetHolders extends Namespace<NftCollection> {
|
|
|
10
9
|
*
|
|
11
10
|
* @note uses the middlewareV2
|
|
12
11
|
*/
|
|
13
|
-
get(opts:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
get(opts: MiddlewarePaginationOptions): Promise<ResultSet<IdentityHeldNfts>>;
|
|
13
|
+
/**
|
|
14
|
+
* Retrieve whether an Asset agent has frozen one holder of this collection, in which case it
|
|
15
|
+
* cannot send any of the collection's NFTs
|
|
16
|
+
*
|
|
17
|
+
* @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
|
|
18
|
+
* its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
|
|
19
|
+
* Portfolios free
|
|
20
|
+
*
|
|
21
|
+
* @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
|
|
22
|
+
*/
|
|
23
|
+
getFreezeStatus(args: {
|
|
24
|
+
holder: AssetHolderLike;
|
|
25
|
+
}): Promise<NftHolderFreezeStatus>;
|
|
17
26
|
}
|
|
18
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAAO,MAAM,YAAY,CAAC;AAGtD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAC;AAQjB;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS,CAAC,aAAa,CAAC;IACxD;;;;OAIG;IACU,GAAG,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAgCzF;;;;;;;;;OASG;IACU,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAOhG"}
|
|
@@ -44,6 +44,23 @@ class AssetHolders extends internal_1.Namespace {
|
|
|
44
44
|
};
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Retrieve whether an Asset agent has frozen one holder of this collection, in which case it
|
|
49
|
+
* cannot send any of the collection's NFTs
|
|
50
|
+
*
|
|
51
|
+
* @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
|
|
52
|
+
* its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
|
|
53
|
+
* Portfolios free
|
|
54
|
+
*
|
|
55
|
+
* @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
|
|
56
|
+
*/
|
|
57
|
+
getFreezeStatus(args) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const { context, parent } = this;
|
|
60
|
+
const { isFrozen } = yield (0, internal_2.getHolderFreezeStatus)(args.holder, parent, context);
|
|
61
|
+
return { isFrozen };
|
|
62
|
+
});
|
|
63
|
+
}
|
|
47
64
|
}
|
|
48
65
|
exports.AssetHolders = AssetHolders;
|
|
49
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,yCAAsD;AACtD,wDAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,yCAAsD;AACtD,wDAAmE;AAWnE,+CAI0B;AAE1B;;GAEG;AACH,MAAa,YAAa,SAAQ,oBAAwB;IACxD;;;;OAIG;IACU,GAAG,CAAC,IAAiC;;YAChD,MAAM,EACJ,OAAO,EACP,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GACxB,GAAG,IAAI,CAAC;YAET,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAE7B,MAAM,iBAAiB,GAAG,MAAM,IAAA,kCAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1E,MAAM,EACJ,IAAI,EAAE,EACJ,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAClC,GACF,GAAG,MAAM,OAAO,CAAC,eAAe,CAC/B,IAAA,6BAAoB,EAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,CACrD,CAAC;YAEF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClD,QAAQ,EAAE,IAAI,mBAAQ,CAAC,EAAE,GAAG,EAAE,UAAoB,EAAE,EAAE,OAAO,CAAC;gBAC9D,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,cAAG,CAAC,EAAE,EAAE,EAAE,IAAI,sBAAS,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;aACvF,CAAC,CAAC,CAAC;YAEJ,MAAM,IAAI,GAAG,IAAA,2BAAgB,EAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE9E,OAAO;gBACL,IAAI;gBACJ,KAAK,EAAE,IAAI,sBAAS,CAAC,UAAU,CAAC;gBAChC,IAAI;aACL,CAAC;QACJ,CAAC;KAAA;IAED;;;;;;;;;OASG;IACU,eAAe,CAAC,IAAiC;;YAC5D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAEjC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,gCAAqB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAE/E,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC;KAAA;CACF;AAvDD,oCAuDC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { Context, Entity, NftCollection } from '../../../../internal';
|
|
3
|
-
import { AssetHolder, NftMetadata, OptionalArgsProcedureMethod, RedeemNftParams } from '../../../../types';
|
|
2
|
+
import { Account, Context, Entity, NftCollection } from '../../../../internal';
|
|
3
|
+
import { ApproveNftParams, AssetHolder, NftMetadata, NoArgsProcedureMethod, OptionalArgsProcedureMethod, ProcedureMethod, RedeemNftParams } from '../../../../types';
|
|
4
4
|
export type NftUniqueIdentifiers = {
|
|
5
5
|
assetId: string;
|
|
6
6
|
id: BigNumber;
|
|
@@ -22,6 +22,23 @@ export declare class Nft extends Entity<NftUniqueIdentifiers, HumanReadable> {
|
|
|
22
22
|
* Redeem (or "burns") the NFT, removing it from circulation
|
|
23
23
|
*/
|
|
24
24
|
redeem: OptionalArgsProcedureMethod<RedeemNftParams, void>;
|
|
25
|
+
/**
|
|
26
|
+
* Approve an Account to transfer this NFT on its holder's behalf, with `transferFunds`. The
|
|
27
|
+
* non-fungible precompile's equivalent is `approve`
|
|
28
|
+
*
|
|
29
|
+
* @note only the Account holding the NFT, or an operator it has approved for the collection, can
|
|
30
|
+
* approve. An NFT held in a Portfolio cannot be approved
|
|
31
|
+
* @note an NFT has at most one approved Account, so this replaces any approved before. The
|
|
32
|
+
* approval is used up by the transfer, and cleared if the NFT changes hands any other way
|
|
33
|
+
* @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
|
|
34
|
+
*/
|
|
35
|
+
approve: ProcedureMethod<ApproveNftParams, void>;
|
|
36
|
+
/**
|
|
37
|
+
* Clear the approval set with {@link approve}
|
|
38
|
+
*
|
|
39
|
+
* @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
|
|
40
|
+
*/
|
|
41
|
+
clearApproval: NoArgsProcedureMethod<void>;
|
|
25
42
|
/**
|
|
26
43
|
* @hidden
|
|
27
44
|
* Check if a value is of type {@link UniqueIdentifiers}
|
|
@@ -71,6 +88,10 @@ export declare class Nft extends Entity<NftUniqueIdentifiers, HumanReadable> {
|
|
|
71
88
|
* The URI values can include `{tokenId}` that will be replaced with the NFTs ID. If a base URI does not specify this the ID will be appended onto the URL. Examples:
|
|
72
89
|
* - `https://example.com/nfts/{tokenId}/info.json` becomes `https://example.com/nfts/1/info.json`
|
|
73
90
|
* - `https://example.com/nfts` becomes `https://example.com/nfts/1` if used a base value, but remain unchanged as a local value
|
|
91
|
+
*
|
|
92
|
+
* @note the non-fungible precompile's `tokenURI` (Polymesh 8.1.1) resolves the same two values, but also fills in or appends the ID
|
|
93
|
+
* for a token level value. So for a token level value without `{tokenId}`, EVM tooling sees the ID appended where this
|
|
94
|
+
* method returns the value unchanged
|
|
74
95
|
*/
|
|
75
96
|
getTokenUri(): Promise<string | null>;
|
|
76
97
|
/**
|
|
@@ -79,6 +100,17 @@ export declare class Nft extends Entity<NftUniqueIdentifiers, HumanReadable> {
|
|
|
79
100
|
* @note This method returns `null` if there is no existing holder for the token. This may happen even if the token has been redeemed/burned
|
|
80
101
|
*/
|
|
81
102
|
getOwner(): Promise<AssetHolder | null>;
|
|
103
|
+
/**
|
|
104
|
+
* Retrieve the Account approved to transfer this NFT on its holder's behalf, if any. The
|
|
105
|
+
* non-fungible precompile's equivalent is `getApproved`
|
|
106
|
+
*
|
|
107
|
+
* @note an NFT has at most one approved Account: each approval replaces the last. The approval
|
|
108
|
+
* is cleared whenever the NFT changes hands, by any route, without an event
|
|
109
|
+
* @note an operator approved for the whole collection may also transfer the NFT, without being
|
|
110
|
+
* named here. See {@link NftCollection.isOperatorApproved}
|
|
111
|
+
* @note always `null` before Polymesh 8.1.1, which has no NFT approvals
|
|
112
|
+
*/
|
|
113
|
+
getApproval(): Promise<Account | null>;
|
|
82
114
|
/**
|
|
83
115
|
* Check if the NFT is locked in any settlement instruction
|
|
84
116
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nft.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,
|
|
1
|
+
{"version":3,"file":"Nft.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,aAAa,EAId,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,WAAW,EAEX,WAAW,EAEX,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAsBjB,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,GAAI,SAAQ,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAC3D,EAAE,EAAE,SAAS,CAAC;IAErB;;OAEG;IACI,UAAU,EAAE,aAAa,CAAC;IAEjC;;OAEG;IACI,MAAM,EAAE,2BAA2B,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAElE;;;;;;;;;OASG;IACI,OAAO,EAAE,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAExD;;;;OAIG;IACI,aAAa,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;WACoB,mBAAmB,CACxC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,oBAAoB;IAMrC;;OAEG;gBACS,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;IA+B/D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA6BlD;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAMvC;;;;;;;;;;;;;;;OAeG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBlD;;;;;;;;;;;;;;;;;;;OAmBG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBlD;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyBpD;;;;;;;;;OASG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA6BnD;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAyCzC;;OAEG;IACI,OAAO,IAAI,aAAa;IAY/B;;;;OAIG;YACW,WAAW;IA+BzB;;;;;OAKG;YACW,UAAU;IA0BxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;OAIG;YACW,mBAAmB;CAclC"}
|
|
@@ -29,7 +29,7 @@ class Nft extends internal_1.Entity {
|
|
|
29
29
|
*/
|
|
30
30
|
static isUniqueIdentifiers(identifier) {
|
|
31
31
|
const { assetId, id } = identifier;
|
|
32
|
-
return typeof assetId === 'string' &&
|
|
32
|
+
return typeof assetId === 'string' && bignumber_js_1.default.isBigNumber(id);
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* @hidden
|
|
@@ -43,6 +43,11 @@ class Nft extends internal_1.Entity {
|
|
|
43
43
|
getProcedureAndArgs: args => [internal_1.redeemNft, Object.assign({ collection: this.collection, id }, args)],
|
|
44
44
|
optionalArgs: true,
|
|
45
45
|
}, context);
|
|
46
|
+
this.approve = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: ({ spender }) => [internal_1.setNftApproval, { nft: this, spender }] }, context);
|
|
47
|
+
this.clearApproval = (0, internal_2.createProcedureMethod)({
|
|
48
|
+
getProcedureAndArgs: () => [internal_1.setNftApproval, { nft: this, spender: null }],
|
|
49
|
+
voidArgs: true,
|
|
50
|
+
}, context);
|
|
46
51
|
}
|
|
47
52
|
/**
|
|
48
53
|
* Get metadata associated with this token
|
|
@@ -123,6 +128,10 @@ class Nft extends internal_1.Entity {
|
|
|
123
128
|
* The URI values can include `{tokenId}` that will be replaced with the NFTs ID. If a base URI does not specify this the ID will be appended onto the URL. Examples:
|
|
124
129
|
* - `https://example.com/nfts/{tokenId}/info.json` becomes `https://example.com/nfts/1/info.json`
|
|
125
130
|
* - `https://example.com/nfts` becomes `https://example.com/nfts/1` if used a base value, but remain unchanged as a local value
|
|
131
|
+
*
|
|
132
|
+
* @note the non-fungible precompile's `tokenURI` (Polymesh 8.1.1) resolves the same two values, but also fills in or appends the ID
|
|
133
|
+
* for a token level value. So for a token level value without `{tokenId}`, EVM tooling sees the ID appended where this
|
|
134
|
+
* method returns the value unchanged
|
|
126
135
|
*/
|
|
127
136
|
getTokenUri() {
|
|
128
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -160,6 +169,30 @@ class Nft extends internal_1.Entity {
|
|
|
160
169
|
return (0, conversion_1.meshAssetHolderToAssetHolder)(owner.unwrap(), context);
|
|
161
170
|
});
|
|
162
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Retrieve the Account approved to transfer this NFT on its holder's behalf, if any. The
|
|
174
|
+
* non-fungible precompile's equivalent is `getApproved`
|
|
175
|
+
*
|
|
176
|
+
* @note an NFT has at most one approved Account: each approval replaces the last. The approval
|
|
177
|
+
* is cleared whenever the NFT changes hands, by any route, without an event
|
|
178
|
+
* @note an operator approved for the whole collection may also transfer the NFT, without being
|
|
179
|
+
* named here. See {@link NftCollection.isOperatorApproved}
|
|
180
|
+
* @note always `null` before Polymesh 8.1.1, which has no NFT approvals
|
|
181
|
+
*/
|
|
182
|
+
getApproval() {
|
|
183
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
184
|
+
const { collection, id, context: { polymeshApi: { query: { nft }, }, }, context, } = this;
|
|
185
|
+
// absent before Polymesh 8.1.1
|
|
186
|
+
const tokenApproval = (0, internal_2.asOptionalApi)(nft.tokenApproval);
|
|
187
|
+
if (!tokenApproval) {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
const rawSpender = yield tokenApproval((0, conversion_1.assetToMeshAssetId)(collection, context), (0, conversion_1.bigNumberToU64)(id, context));
|
|
191
|
+
return rawSpender.isSome
|
|
192
|
+
? new internal_1.Account({ address: (0, conversion_1.accountIdToString)(rawSpender.unwrap()) }, context)
|
|
193
|
+
: null;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
163
196
|
/**
|
|
164
197
|
* Check if the NFT is locked in any settlement instruction
|
|
165
198
|
*
|