@polymeshassociation/polymesh-sdk 27.0.0-alpha.1 → 27.0.0-alpha.11
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/README.md +11 -18
- package/api/client/Assets.d.ts.map +1 -1
- package/api/client/Assets.js +9 -64
- package/api/client/Assets.js.map +1 -1
- package/api/client/Claims.d.ts.map +1 -1
- package/api/client/Claims.js +9 -12
- package/api/client/Claims.js.map +1 -1
- package/api/client/Network.d.ts.map +1 -1
- package/api/client/Network.js +2 -2
- package/api/client/Network.js.map +1 -1
- package/api/client/Polymesh.d.ts.map +1 -1
- package/api/client/Polymesh.js +4 -7
- package/api/client/Polymesh.js.map +1 -1
- package/api/client/types.d.ts +1 -0
- package/api/client/types.d.ts.map +1 -1
- package/api/client/types.js.map +1 -1
- package/api/entities/Account/MultiSig/index.d.ts +2 -18
- package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
- package/api/entities/Account/MultiSig/index.js +32 -66
- package/api/entities/Account/MultiSig/index.js.map +1 -1
- package/api/entities/Account/MultiSig/types.d.ts +13 -4
- package/api/entities/Account/MultiSig/types.d.ts.map +1 -1
- package/api/entities/Account/index.d.ts +1 -11
- package/api/entities/Account/index.d.ts.map +1 -1
- package/api/entities/Account/index.js +0 -9
- package/api/entities/Account/index.js.map +1 -1
- package/api/entities/Asset/Base/BaseAsset.d.ts +2 -14
- package/api/entities/Asset/Base/BaseAsset.d.ts.map +1 -1
- package/api/entities/Asset/Base/BaseAsset.js +13 -56
- 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 +2 -31
- package/api/entities/Asset/Base/Settlements/index.js.map +1 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js +7 -12
- package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js.map +1 -1
- package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/index.js +6 -15
- package/api/entities/Asset/Fungible/index.js.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.js +6 -18
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
- package/api/entities/Asset/types.d.ts +0 -8
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/entities/Checkpoint.d.ts +0 -4
- package/api/entities/Checkpoint.d.ts.map +1 -1
- package/api/entities/Checkpoint.js +0 -1
- package/api/entities/Checkpoint.js.map +1 -1
- package/api/entities/CheckpointSchedule/index.d.ts +0 -4
- package/api/entities/CheckpointSchedule/index.d.ts.map +1 -1
- package/api/entities/CheckpointSchedule/index.js +0 -1
- package/api/entities/CheckpointSchedule/index.js.map +1 -1
- package/api/entities/CorporateAction.d.ts +0 -4
- package/api/entities/CorporateAction.d.ts.map +1 -1
- package/api/entities/CorporateAction.js.map +1 -1
- package/api/entities/CorporateActionBase/index.d.ts +0 -4
- package/api/entities/CorporateActionBase/index.d.ts.map +1 -1
- package/api/entities/CorporateActionBase/index.js +0 -1
- package/api/entities/CorporateActionBase/index.js.map +1 -1
- package/api/entities/CustomPermissionGroup.d.ts +0 -4
- package/api/entities/CustomPermissionGroup.d.ts.map +1 -1
- package/api/entities/CustomPermissionGroup.js +1 -1
- package/api/entities/CustomPermissionGroup.js.map +1 -1
- package/api/entities/DefaultTrustedClaimIssuer.js +1 -1
- package/api/entities/DefaultTrustedClaimIssuer.js.map +1 -1
- package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
- package/api/entities/Identity/AssetPermissions.js +4 -4
- package/api/entities/Identity/AssetPermissions.js.map +1 -1
- package/api/entities/Identity/Portfolios.d.ts +0 -3
- package/api/entities/Identity/Portfolios.d.ts.map +1 -1
- package/api/entities/Identity/Portfolios.js +3 -3
- package/api/entities/Identity/Portfolios.js.map +1 -1
- package/api/entities/Identity/index.d.ts.map +1 -1
- package/api/entities/Identity/index.js +43 -94
- package/api/entities/Identity/index.js.map +1 -1
- package/api/entities/Instruction/index.d.ts +18 -0
- package/api/entities/Instruction/index.d.ts.map +1 -1
- package/api/entities/Instruction/index.js +84 -50
- package/api/entities/Instruction/index.js.map +1 -1
- package/api/entities/KnownPermissionGroup.d.ts +0 -4
- package/api/entities/KnownPermissionGroup.d.ts.map +1 -1
- package/api/entities/KnownPermissionGroup.js +0 -1
- package/api/entities/KnownPermissionGroup.js.map +1 -1
- package/api/entities/MetadataEntry/index.d.ts +0 -4
- package/api/entities/MetadataEntry/index.d.ts.map +1 -1
- package/api/entities/MetadataEntry/index.js +2 -3
- package/api/entities/MetadataEntry/index.js.map +1 -1
- package/api/entities/MultiSigProposal/index.d.ts.map +1 -1
- package/api/entities/MultiSigProposal/index.js +41 -89
- package/api/entities/MultiSigProposal/index.js.map +1 -1
- package/api/entities/Offering/index.d.ts +0 -4
- package/api/entities/Offering/index.d.ts.map +1 -1
- package/api/entities/Offering/index.js +1 -2
- package/api/entities/Offering/index.js.map +1 -1
- package/api/entities/Portfolio/index.d.ts +0 -3
- package/api/entities/Portfolio/index.d.ts.map +1 -1
- package/api/entities/Portfolio/index.js +20 -18
- package/api/entities/Portfolio/index.js.map +1 -1
- package/api/entities/TickerReservation/index.d.ts.map +1 -1
- package/api/entities/TickerReservation/index.js +11 -30
- package/api/entities/TickerReservation/index.js.map +1 -1
- package/api/entities/Venue/index.d.ts.map +1 -1
- package/api/entities/Venue/index.js +2 -2
- package/api/entities/Venue/index.js.map +1 -1
- package/api/entities/common/namespaces/Authorizations.js +1 -1
- package/api/entities/common/namespaces/Authorizations.js.map +1 -1
- package/api/entities/types.d.ts +1 -5
- package/api/entities/types.d.ts.map +1 -1
- package/api/entities/types.js +0 -4
- package/api/entities/types.js.map +1 -1
- package/api/procedures/addAssetStat.d.ts.map +1 -1
- package/api/procedures/addAssetStat.js +6 -10
- package/api/procedures/addAssetStat.js.map +1 -1
- package/api/procedures/addInstruction.d.ts.map +1 -1
- package/api/procedures/addInstruction.js +9 -11
- package/api/procedures/addInstruction.js.map +1 -1
- package/api/procedures/addTransferRestriction.d.ts.map +1 -1
- package/api/procedures/addTransferRestriction.js +4 -7
- package/api/procedures/addTransferRestriction.js.map +1 -1
- package/api/procedures/configureDividendDistribution.d.ts.map +1 -1
- package/api/procedures/configureDividendDistribution.js +5 -7
- package/api/procedures/configureDividendDistribution.js.map +1 -1
- package/api/procedures/consumeAddMultiSigSignerAuthorization.d.ts.map +1 -1
- package/api/procedures/consumeAddMultiSigSignerAuthorization.js +7 -15
- package/api/procedures/consumeAddMultiSigSignerAuthorization.js.map +1 -1
- package/api/procedures/createAsset.d.ts +2 -6
- package/api/procedures/createAsset.d.ts.map +1 -1
- package/api/procedures/createAsset.js +34 -86
- package/api/procedures/createAsset.js.map +1 -1
- package/api/procedures/createMultiSig.d.ts.map +1 -1
- package/api/procedures/createMultiSig.js +25 -45
- package/api/procedures/createMultiSig.js.map +1 -1
- package/api/procedures/createNftCollection.d.ts +2 -10
- package/api/procedures/createNftCollection.d.ts.map +1 -1
- package/api/procedures/createNftCollection.js +21 -104
- package/api/procedures/createNftCollection.js.map +1 -1
- package/api/procedures/evaluateMultiSigProposal.d.ts.map +1 -1
- package/api/procedures/evaluateMultiSigProposal.js +23 -43
- package/api/procedures/evaluateMultiSigProposal.js.map +1 -1
- package/api/procedures/executeManualInstruction.d.ts.map +1 -1
- package/api/procedures/executeManualInstruction.js +4 -13
- package/api/procedures/executeManualInstruction.js.map +1 -1
- package/api/procedures/inviteAccount.d.ts.map +1 -1
- package/api/procedures/inviteAccount.js +7 -0
- package/api/procedures/inviteAccount.js.map +1 -1
- package/api/procedures/issueNft.js +1 -1
- package/api/procedures/issueNft.js.map +1 -1
- package/api/procedures/linkTickerToAsset.d.ts.map +1 -1
- package/api/procedures/linkTickerToAsset.js +1 -8
- package/api/procedures/linkTickerToAsset.js.map +1 -1
- package/api/procedures/modifyAsset.d.ts +18 -4
- package/api/procedures/modifyAsset.d.ts.map +1 -1
- package/api/procedures/modifyAsset.js +73 -11
- package/api/procedures/modifyAsset.js.map +1 -1
- package/api/procedures/modifyClaims.d.ts.map +1 -1
- package/api/procedures/modifyClaims.js +4 -4
- package/api/procedures/modifyClaims.js.map +1 -1
- package/api/procedures/modifyInstructionAffirmation.d.ts.map +1 -1
- package/api/procedures/modifyInstructionAffirmation.js +5 -18
- package/api/procedures/modifyInstructionAffirmation.js.map +1 -1
- package/api/procedures/modifyMultiSig.d.ts +3 -3
- package/api/procedures/modifyMultiSig.d.ts.map +1 -1
- package/api/procedures/modifyMultiSig.js +5 -18
- package/api/procedures/modifyMultiSig.js.map +1 -1
- package/api/procedures/nftControllerTransfer.d.ts.map +1 -1
- package/api/procedures/nftControllerTransfer.js +1 -16
- package/api/procedures/nftControllerTransfer.js.map +1 -1
- package/api/procedures/redeemNft.d.ts.map +1 -1
- package/api/procedures/redeemNft.js +2 -7
- package/api/procedures/redeemNft.js.map +1 -1
- package/api/procedures/redeemTokens.d.ts.map +1 -1
- package/api/procedures/redeemTokens.js +2 -8
- package/api/procedures/redeemTokens.js.map +1 -1
- package/api/procedures/removeAssetStat.d.ts.map +1 -1
- package/api/procedures/removeAssetStat.js +2 -5
- package/api/procedures/removeAssetStat.js.map +1 -1
- package/api/procedures/removeLocalMetadata.d.ts.map +1 -1
- package/api/procedures/removeLocalMetadata.js +2 -8
- package/api/procedures/removeLocalMetadata.js.map +1 -1
- package/api/procedures/removeMultiSigPayer.d.ts.map +1 -1
- package/api/procedures/removeMultiSigPayer.js +1 -7
- package/api/procedures/removeMultiSigPayer.js.map +1 -1
- package/api/procedures/reserveTicker.d.ts.map +1 -1
- package/api/procedures/reserveTicker.js +2 -8
- package/api/procedures/reserveTicker.js.map +1 -1
- package/api/procedures/setMultiSigAdmin.d.ts.map +1 -1
- package/api/procedures/setMultiSigAdmin.js +1 -7
- package/api/procedures/setMultiSigAdmin.js.map +1 -1
- package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
- package/api/procedures/setTransferRestrictions.js +5 -8
- package/api/procedures/setTransferRestrictions.js.map +1 -1
- package/api/procedures/toggleAssetPreApproval.d.ts.map +1 -1
- package/api/procedures/toggleAssetPreApproval.js +2 -10
- package/api/procedures/toggleAssetPreApproval.js.map +1 -1
- package/api/procedures/types.d.ts +14 -15
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js.map +1 -1
- package/api/procedures/unlinkTickerFromAsset.d.ts.map +1 -1
- package/api/procedures/unlinkTickerFromAsset.js +1 -8
- package/api/procedures/unlinkTickerFromAsset.js.map +1 -1
- package/api/procedures/utils.js +2 -2
- package/api/procedures/utils.js.map +1 -1
- package/base/Context.d.ts +1 -4
- package/base/Context.d.ts.map +1 -1
- package/base/Context.js +8 -18
- package/base/Context.js.map +1 -1
- package/base/PolymeshTransactionBase.d.ts.map +1 -1
- package/base/PolymeshTransactionBase.js +2 -9
- package/base/PolymeshTransactionBase.js.map +1 -1
- package/internal.d.ts +0 -1
- package/internal.d.ts.map +1 -1
- package/internal.js +1 -3
- package/internal.js.map +1 -1
- package/middleware/queries/assets.d.ts +1 -1
- package/middleware/queries/assets.d.ts.map +1 -1
- package/middleware/queries/assets.js +10 -6
- package/middleware/queries/assets.js.map +1 -1
- package/middleware/queries/authorizations.d.ts +1 -1
- package/middleware/queries/authorizations.d.ts.map +1 -1
- package/middleware/queries/authorizations.js +9 -4
- package/middleware/queries/authorizations.js.map +1 -1
- package/middleware/queries/claims.d.ts +2 -2
- package/middleware/queries/claims.d.ts.map +1 -1
- package/middleware/queries/claims.js +15 -9
- package/middleware/queries/claims.js.map +1 -1
- package/middleware/queries/common.d.ts +27 -0
- package/middleware/queries/common.d.ts.map +1 -1
- package/middleware/queries/common.js +38 -3
- package/middleware/queries/common.js.map +1 -1
- package/middleware/queries/distributions.d.ts.map +1 -1
- package/middleware/queries/distributions.js +2 -1
- package/middleware/queries/distributions.js.map +1 -1
- package/middleware/queries/events.d.ts +1 -1
- package/middleware/queries/events.d.ts.map +1 -1
- package/middleware/queries/events.js +6 -3
- package/middleware/queries/events.js.map +1 -1
- package/middleware/queries/externalAgents.d.ts +3 -3
- package/middleware/queries/externalAgents.d.ts.map +1 -1
- package/middleware/queries/externalAgents.js +16 -7
- package/middleware/queries/externalAgents.js.map +1 -1
- package/middleware/queries/extrinsics.d.ts.map +1 -1
- package/middleware/queries/extrinsics.js +1 -1
- package/middleware/queries/extrinsics.js.map +1 -1
- package/middleware/queries/multisigs.d.ts +2 -2
- package/middleware/queries/multisigs.d.ts.map +1 -1
- package/middleware/queries/multisigs.js +16 -5
- package/middleware/queries/multisigs.js.map +1 -1
- package/middleware/queries/polyxTransactions.d.ts +1 -1
- package/middleware/queries/polyxTransactions.d.ts.map +1 -1
- package/middleware/queries/polyxTransactions.js +7 -3
- package/middleware/queries/polyxTransactions.js.map +1 -1
- package/middleware/queries/portfolios.d.ts +2 -2
- package/middleware/queries/portfolios.d.ts.map +1 -1
- package/middleware/queries/portfolios.js +9 -6
- package/middleware/queries/portfolios.js.map +1 -1
- package/middleware/queries/settlements.d.ts +4 -4
- package/middleware/queries/settlements.d.ts.map +1 -1
- package/middleware/queries/settlements.js +33 -25
- package/middleware/queries/settlements.js.map +1 -1
- package/middleware/queries/stos.d.ts +1 -1
- package/middleware/queries/stos.d.ts.map +1 -1
- package/middleware/queries/stos.js +7 -3
- package/middleware/queries/stos.js.map +1 -1
- package/middleware/types.d.ts +972 -100
- package/middleware/types.d.ts.map +1 -1
- package/middleware/types.js +385 -94
- package/middleware/types.js.map +1 -1
- package/middleware/typesV1.d.ts +8 -4
- package/middleware/typesV1.d.ts.map +1 -1
- package/middleware/typesV1.js +10 -5
- package/middleware/typesV1.js.map +1 -1
- package/package.json +1 -1
- package/polkadot/augment-api-events.d.ts +0 -4
- package/polkadot/augment-api-events.d.ts.map +1 -1
- package/polkadot/lookup.d.ts +0 -1
- package/polkadot/lookup.d.ts.map +1 -1
- package/polkadot/lookup.js +0 -1
- package/polkadot/lookup.js.map +1 -1
- package/polkadot/polymesh/definitions.d.ts +0 -1
- package/polkadot/polymesh/definitions.d.ts.map +1 -1
- package/polkadot/polymesh/definitions.js +0 -1
- package/polkadot/polymesh/definitions.js.map +1 -1
- package/polkadot/polymesh/types.d.ts +1 -3
- package/polkadot/polymesh/types.d.ts.map +1 -1
- package/polkadot/schema.d.ts +0 -207
- package/polkadot/schema.d.ts.map +1 -1
- package/polkadot/schema.js +0 -321
- package/polkadot/schema.js.map +1 -1
- package/polkadot/types-lookup.d.ts +2 -6
- package/polkadot/types-lookup.d.ts.map +1 -1
- package/types/internal.d.ts +33 -17
- package/types/internal.d.ts.map +1 -1
- package/types/internal.js +0 -1
- package/types/internal.js.map +1 -1
- package/utils/constants.d.ts +4 -16
- package/utils/constants.d.ts.map +1 -1
- package/utils/constants.js +5 -19
- package/utils/constants.js.map +1 -1
- package/utils/conversion.d.ts +24 -42
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +184 -320
- package/utils/conversion.js.map +1 -1
- package/utils/internal.d.ts +15 -15
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +100 -168
- package/utils/internal.js.map +1 -1
- package/api/procedures/joinCreator.d.ts +0 -58
- package/api/procedures/joinCreator.d.ts.map +0 -1
- package/api/procedures/joinCreator.js +0 -114
- package/api/procedures/joinCreator.js.map +0 -1
|
@@ -56,51 +56,41 @@ function assertTickerAvailable(ticker, status, reservationRequired) {
|
|
|
56
56
|
*/
|
|
57
57
|
function getCreateAssetTransaction(customTypeData, context, fee, args) {
|
|
58
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
const { polymeshApi: { tx },
|
|
60
|
-
const {
|
|
61
|
-
let rawTicker;
|
|
62
|
-
if (ticker) {
|
|
63
|
-
rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
64
|
-
}
|
|
59
|
+
const { polymeshApi: { tx }, } = context;
|
|
60
|
+
const { name, isDivisible, assetType, securityIdentifiers = [], fundingRound } = args;
|
|
65
61
|
const rawName = (0, conversion_1.nameToAssetName)(name, context);
|
|
66
|
-
/* istanbul ignore next: this will be removed after dual version support for v6-v7 */
|
|
67
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
68
|
-
const rawNameTickerArgs = isV6 ? [rawName, rawTicker] : [rawName];
|
|
69
62
|
const rawIsDivisible = (0, conversion_1.booleanToBool)(isDivisible, context);
|
|
70
63
|
const rawIdentifiers = securityIdentifiers.map(identifier => (0, conversion_1.securityIdentifierToAssetIdentifier)(identifier, context));
|
|
71
64
|
const rawFundingRound = (0, internal_2.optionize)(conversion_1.fundingRoundToAssetFundingRound)(fundingRound, context);
|
|
72
65
|
if (customTypeData) {
|
|
73
|
-
const { rawValue: rawAssetType,
|
|
74
|
-
if (
|
|
66
|
+
const { rawValue: rawAssetType, rawId, isAlreadyCreated } = customTypeData;
|
|
67
|
+
if (!isAlreadyCreated) {
|
|
75
68
|
/*
|
|
76
69
|
* We add the fee for registering a custom asset type in case we're calculating
|
|
77
70
|
* the Asset creation fees manually
|
|
78
71
|
*/
|
|
79
72
|
fee = yield (0, utils_1.addManualFees)(fee, [types_1.TxTags.asset.RegisterCustomAssetType], context);
|
|
80
73
|
return (0, internal_2.checkTxType)({
|
|
81
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
74
|
transaction: tx.asset.createAssetWithCustomType,
|
|
83
75
|
fee,
|
|
84
|
-
args: [
|
|
76
|
+
args: [rawName, rawIsDivisible, rawAssetType, rawIdentifiers, rawFundingRound],
|
|
85
77
|
});
|
|
86
78
|
}
|
|
87
79
|
else {
|
|
88
|
-
const rawType = (0, conversion_1.internalAssetTypeToAssetType)({ Custom:
|
|
80
|
+
const rawType = (0, conversion_1.internalAssetTypeToAssetType)({ Custom: rawId }, context);
|
|
89
81
|
return (0, internal_2.checkTxType)({
|
|
90
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
82
|
transaction: tx.asset.createAsset,
|
|
92
83
|
fee,
|
|
93
|
-
args: [
|
|
84
|
+
args: [rawName, rawIsDivisible, rawType, rawIdentifiers, rawFundingRound],
|
|
94
85
|
});
|
|
95
86
|
}
|
|
96
87
|
}
|
|
97
88
|
else {
|
|
98
89
|
const rawType = (0, conversion_1.internalAssetTypeToAssetType)(assetType, context);
|
|
99
90
|
return (0, internal_2.checkTxType)({
|
|
100
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
101
91
|
transaction: tx.asset.createAsset,
|
|
102
92
|
fee,
|
|
103
|
-
args: [
|
|
93
|
+
args: [rawName, rawIsDivisible, rawType, rawIdentifiers, rawFundingRound],
|
|
104
94
|
});
|
|
105
95
|
}
|
|
106
96
|
});
|
|
@@ -111,22 +101,20 @@ function getCreateAssetTransaction(customTypeData, context, fee, args) {
|
|
|
111
101
|
* since 7.x, we need to separately register ticker first if ticker does not exists and then link to asset
|
|
112
102
|
*/
|
|
113
103
|
function getTickerTransactions(rawTicker, rawAssetId, context, status) {
|
|
114
|
-
const { polymeshApi: { tx },
|
|
104
|
+
const { polymeshApi: { tx }, } = context;
|
|
115
105
|
const transactions = [];
|
|
116
106
|
if (rawTicker) {
|
|
117
|
-
if (
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}));
|
|
129
|
-
}
|
|
107
|
+
if (status === types_1.TickerReservationStatus.Free) {
|
|
108
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
109
|
+
transaction: tx.asset.registerUniqueTicker,
|
|
110
|
+
args: [rawTicker],
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
if (status !== types_1.TickerReservationStatus.AssetCreated) {
|
|
114
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
115
|
+
transaction: tx.asset.linkTickerToAssetId,
|
|
116
|
+
args: [rawTicker, rawAssetId],
|
|
117
|
+
}));
|
|
130
118
|
}
|
|
131
119
|
}
|
|
132
120
|
return transactions;
|
|
@@ -167,41 +155,19 @@ function getDocumentsAndIssueTransaction(args, rawAssetId, context, signingIdent
|
|
|
167
155
|
*/
|
|
168
156
|
function prepareCreateAsset(args) {
|
|
169
157
|
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
-
const { context: { polymeshApi: { tx },
|
|
158
|
+
const { context: { polymeshApi: { tx }, }, context, storage: { customTypeData, status, signingIdentity }, } = this;
|
|
171
159
|
const { ticker, reservationRequired, initialStatistics } = args;
|
|
172
|
-
// to be used as ticker for 6.x chain and next asset id for 7.x chain
|
|
173
|
-
let rawAssetId;
|
|
174
|
-
let assetId;
|
|
175
160
|
assertTickerAvailable(ticker, status, reservationRequired);
|
|
176
161
|
let rawTicker;
|
|
177
162
|
if (ticker) {
|
|
178
163
|
rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
179
164
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
code: types_1.ErrorCode.DataUnavailable,
|
|
183
|
-
message: 'Ticker is mandatory for v6 chains',
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
/* istanbul ignore if: this will be removed after dual version support for v6-v7 */
|
|
187
|
-
if (isV6) {
|
|
188
|
-
rawAssetId = rawTicker;
|
|
189
|
-
assetId = ticker;
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
assetId = yield context.getSigningAccount().getNextAssetId();
|
|
193
|
-
rawAssetId = (0, conversion_1.stringToAssetId)(assetId, context);
|
|
194
|
-
}
|
|
165
|
+
const assetId = yield context.getSigningAccount().getNextAssetId();
|
|
166
|
+
const rawAssetId = (0, conversion_1.stringToAssetId)(assetId, context);
|
|
195
167
|
let transactions = [];
|
|
196
168
|
let fee;
|
|
197
169
|
if (status === types_1.TickerReservationStatus.Free) {
|
|
198
|
-
|
|
199
|
-
if (isV6) {
|
|
200
|
-
fee = yield (0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.asset.RegisterTicker, types_1.TxTags.asset.CreateAsset], context);
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
fee = yield (0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.asset.CreateAsset], context);
|
|
204
|
-
}
|
|
170
|
+
fee = yield (0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.asset.CreateAsset], context);
|
|
205
171
|
}
|
|
206
172
|
transactions.push(yield getCreateAssetTransaction(customTypeData, context, fee, args));
|
|
207
173
|
// since 7.x, we need to separately register ticker first if ticker does not exists and then link to asset
|
|
@@ -212,12 +178,9 @@ function prepareCreateAsset(args) {
|
|
|
212
178
|
if (initialStatistics === null || initialStatistics === void 0 ? void 0 : initialStatistics.length) {
|
|
213
179
|
const rawStats = initialStatistics.map(i => (0, conversion_1.inputStatTypeToMeshStatType)(i, context));
|
|
214
180
|
const bTreeStats = (0, conversion_1.statisticStatTypesToBtreeStatType)(rawStats, context);
|
|
215
|
-
/* istanbul ignore next: this will be removed after dual version support for v6-v7 */
|
|
216
|
-
const rawAssetIdValue = isV6 ? { Ticker: rawAssetId } : rawAssetId;
|
|
217
181
|
transactions.push((0, internal_2.checkTxType)({
|
|
218
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
219
182
|
transaction: tx.statistics.setActiveAssetStats,
|
|
220
|
-
args: [
|
|
183
|
+
args: [rawAssetId, bTreeStats],
|
|
221
184
|
}));
|
|
222
185
|
}
|
|
223
186
|
transactions = [
|
|
@@ -236,20 +199,18 @@ exports.prepareCreateAsset = prepareCreateAsset;
|
|
|
236
199
|
*/
|
|
237
200
|
function getAuthorization({ ticker, documents, initialStatistics }) {
|
|
238
201
|
return __awaiter(this, void 0, void 0, function* () {
|
|
239
|
-
const { storage: { customTypeData, status },
|
|
202
|
+
const { storage: { customTypeData, status }, } = this;
|
|
240
203
|
const transactions = [types_1.TxTags.asset.CreateAsset];
|
|
241
|
-
if (
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
transactions.push(types_1.TxTags.asset.LinkTickerToAssetId);
|
|
247
|
-
}
|
|
204
|
+
if (status === types_1.TickerReservationStatus.Free) {
|
|
205
|
+
transactions.push(types_1.TxTags.asset.RegisterUniqueTicker);
|
|
206
|
+
}
|
|
207
|
+
if (status !== types_1.TickerReservationStatus.AssetCreated) {
|
|
208
|
+
transactions.push(types_1.TxTags.asset.LinkTickerToAssetId);
|
|
248
209
|
}
|
|
249
210
|
if (documents === null || documents === void 0 ? void 0 : documents.length) {
|
|
250
211
|
transactions.push(types_1.TxTags.asset.AddDocuments);
|
|
251
212
|
}
|
|
252
|
-
if (customTypeData === null || customTypeData === void 0 ? void 0 : customTypeData.
|
|
213
|
+
if (customTypeData === null || customTypeData === void 0 ? void 0 : customTypeData.rawId.isEmpty) {
|
|
253
214
|
transactions.push(types_1.TxTags.asset.RegisterCustomAssetType);
|
|
254
215
|
}
|
|
255
216
|
if (initialStatistics === null || initialStatistics === void 0 ? void 0 : initialStatistics.length) {
|
|
@@ -281,22 +242,9 @@ function prepareStorage({ ticker, assetType }) {
|
|
|
281
242
|
({ status } = yield reservation.details());
|
|
282
243
|
}
|
|
283
244
|
const signingIdentity = yield context.getSigningIdentity();
|
|
284
|
-
const
|
|
285
|
-
if (isCustomType) {
|
|
286
|
-
const rawValue = (0, conversion_1.stringToBytes)(assetType, context);
|
|
287
|
-
const rawId = yield context.polymeshApi.query.asset.customTypesInverse(rawValue);
|
|
288
|
-
const id = rawId.unwrapOrDefault();
|
|
289
|
-
return {
|
|
290
|
-
customTypeData: {
|
|
291
|
-
id,
|
|
292
|
-
rawValue,
|
|
293
|
-
},
|
|
294
|
-
status,
|
|
295
|
-
signingIdentity,
|
|
296
|
-
};
|
|
297
|
-
}
|
|
245
|
+
const customTypeData = yield (0, internal_2.prepareStorageForCustomType)(assetType, (0, lodash_1.values)(types_1.KnownAssetType), context, 'createAsset');
|
|
298
246
|
return {
|
|
299
|
-
customTypeData
|
|
247
|
+
customTypeData,
|
|
300
248
|
status,
|
|
301
249
|
signingIdentity,
|
|
302
250
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMultiSig.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createMultiSig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAY,QAAQ,EAAiB,SAAS,EAAE,uBAAmB;AACnF,OAAO,EAAW,oBAAoB,EAAqB,oBAAgB;AAC3E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,6BAAyB;
|
|
1
|
+
{"version":3,"file":"createMultiSig.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createMultiSig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAY,QAAQ,EAAiB,SAAS,EAAE,uBAAmB;AACnF,OAAO,EAAW,oBAAoB,EAAqB,oBAAgB;AAC3E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,6BAAyB;AAUpE,eAAO,MAAM,sBAAsB,YACvB,OAAO,eACP,kBAAkB,KAAG,QAI9B,CAAC;AAEJ;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAC/C,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAyCnF;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAO,UAAU,oBAAoB,EAAE,QAAQ,CAK7E,CAAC"}
|
|
@@ -25,53 +25,33 @@ exports.createMultiSigResolver = createMultiSigResolver;
|
|
|
25
25
|
*/
|
|
26
26
|
function prepareCreateMultiSigAccount(args) {
|
|
27
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
const { context: { polymeshApi: { tx },
|
|
29
|
-
|
|
30
|
-
if (
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
message: 'The number of required signatures should not exceed the number of signers',
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
const rawRequiredSignatures = (0, conversion_1.bigNumberToU64)(requiredSignatures, context);
|
|
39
|
-
const rawSignatories = signers.map(signer => (0, conversion_1.signerToSignatory)(signer, context));
|
|
40
|
-
return {
|
|
41
|
-
transaction: tx.multiSig.createMultisig,
|
|
42
|
-
resolver: (0, exports.createMultiSigResolver)(context),
|
|
43
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
-
args: [rawSignatories, rawRequiredSignatures], // NOSONAR
|
|
45
|
-
};
|
|
28
|
+
const { context: { polymeshApi: { tx }, }, context, } = this;
|
|
29
|
+
const { signers, requiredSignatures, permissions } = args;
|
|
30
|
+
if (requiredSignatures.gt(signers.length)) {
|
|
31
|
+
throw new internal_1.PolymeshError({
|
|
32
|
+
code: types_1.ErrorCode.ValidationError,
|
|
33
|
+
message: 'The number of required signatures should not exceed the number of signers',
|
|
34
|
+
});
|
|
46
35
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
const identitySigners = signers.filter(signer => signer instanceof internal_1.Identity);
|
|
56
|
-
if (identitySigners.length) {
|
|
57
|
-
throw new internal_1.PolymeshError({
|
|
58
|
-
code: types_1.ErrorCode.ValidationError,
|
|
59
|
-
message: 'MultiSig signers must be accounts as of v7',
|
|
60
|
-
data: { identitySigners },
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
const rawRequiredSignatures = (0, conversion_1.bigNumberToU64)(requiredSignatures, context);
|
|
64
|
-
const rawSignatories = signers.map(signer => (0, conversion_1.stringToAccountId)(signer.address, context));
|
|
65
|
-
const parsedPermissions = permissions
|
|
66
|
-
? (0, conversion_1.permissionsLikeToPermissions)(permissions, context)
|
|
67
|
-
: undefined;
|
|
68
|
-
const rawPermissions = (0, internal_2.optionize)(conversion_1.permissionsToMeshPermissions)(parsedPermissions, context);
|
|
69
|
-
return {
|
|
70
|
-
transaction: tx.multiSig.createMultisig,
|
|
71
|
-
resolver: (0, exports.createMultiSigResolver)(context),
|
|
72
|
-
args: [rawSignatories, rawRequiredSignatures, rawPermissions],
|
|
73
|
-
};
|
|
36
|
+
const identitySigners = signers.filter(signer => signer instanceof internal_1.Identity);
|
|
37
|
+
if (identitySigners.length) {
|
|
38
|
+
throw new internal_1.PolymeshError({
|
|
39
|
+
code: types_1.ErrorCode.ValidationError,
|
|
40
|
+
message: 'MultiSig signers must be accounts as of v7',
|
|
41
|
+
data: { identitySigners },
|
|
42
|
+
});
|
|
74
43
|
}
|
|
44
|
+
const rawRequiredSignatures = (0, conversion_1.bigNumberToU64)(requiredSignatures, context);
|
|
45
|
+
const rawSignatories = signers.map(signer => (0, conversion_1.stringToAccountId)(signer.address, context));
|
|
46
|
+
const parsedPermissions = permissions
|
|
47
|
+
? (0, conversion_1.permissionsLikeToPermissions)(permissions, context)
|
|
48
|
+
: undefined;
|
|
49
|
+
const rawPermissions = (0, internal_2.optionize)(conversion_1.permissionsToMeshPermissions)(parsedPermissions, context);
|
|
50
|
+
return {
|
|
51
|
+
transaction: tx.multiSig.createMultisig,
|
|
52
|
+
resolver: (0, exports.createMultiSigResolver)(context),
|
|
53
|
+
args: [rawSignatories, rawRequiredSignatures, rawPermissions],
|
|
54
|
+
};
|
|
75
55
|
});
|
|
76
56
|
}
|
|
77
57
|
exports.prepareCreateMultiSigAccount = prepareCreateMultiSigAccount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMultiSig.js","sourceRoot":"","sources":["../../../src/api/procedures/createMultiSig.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6CAAmF;AACnF,uCAA2E;AAE3E,
|
|
1
|
+
{"version":3,"file":"createMultiSig.js","sourceRoot":"","sources":["../../../src/api/procedures/createMultiSig.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6CAAmF;AACnF,uCAA2E;AAE3E,uDAM4B;AAC5B,mDAAiE;AAE1D,MAAM,sBAAsB,GACjC,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAC,OAA2B,EAAY,EAAE;IACxC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAA,6BAAkB,EAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,IAAA,8BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,mBAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAC;AANS,QAAA,sBAAsB,0BAM/B;AAEJ;;GAEG;AACH,SAAsB,4BAA4B,CAEhD,IAA0B;;QAE1B,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,EAAE,EAAE,GACpB,EACD,OAAO,GACR,GAAG,IAAI,CAAC;QAET,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAE1D,IAAI,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzC,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,2EAA2E;aACrF,CAAC,CAAC;SACJ;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,YAAY,mBAAQ,CAAC,CAAC;QAC7E,IAAI,eAAe,CAAC,MAAM,EAAE;YAC1B,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,4CAA4C;gBACrD,IAAI,EAAE,EAAE,eAAe,EAAE;aAC1B,CAAC,CAAC;SACJ;QAED,MAAM,qBAAqB,GAAG,IAAA,2BAAc,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC1C,IAAA,8BAAiB,EAAE,MAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CACxD,CAAC;QAEF,MAAM,iBAAiB,GAAG,WAAW;YACnC,CAAC,CAAC,IAAA,yCAA4B,EAAC,WAAW,EAAE,OAAO,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,cAAc,GAAG,IAAA,oBAAS,EAAC,yCAA4B,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAE3F,OAAO;YACL,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc;YACvC,QAAQ,EAAE,IAAA,8BAAsB,EAAC,OAAO,CAAC;YACzC,IAAI,EAAE,CAAC,cAAc,EAAE,qBAAqB,EAAE,cAAc,CAAC;SAC9D,CAAC;IACJ,CAAC;CAAA;AA5CD,oEA4CC;AAED;;GAEG;AACI,MAAM,qBAAqB,GAAG,GAA8C,EAAE,CACnF,IAAI,oBAAS,CAAC,4BAA4B,EAAE;IAC1C,WAAW,EAAE;QACX,YAAY,EAAE,CAAC,cAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC/C;CACF,CAAC,CAAC;AALQ,QAAA,qBAAqB,yBAK7B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Bytes, u32 } from '@polkadot/types';
|
|
2
1
|
import { Context, NftCollection, PolymeshError, Procedure } from "../../internal";
|
|
3
2
|
import { CreateNftCollectionParams, TickerReservationStatus } from "../../types";
|
|
4
|
-
import { BatchTransactionSpec, ProcedureAuthorization } from "../../types/internal";
|
|
3
|
+
import { BatchTransactionSpec, CustomTypeData, ProcedureAuthorization } from "../../types/internal";
|
|
5
4
|
/**
|
|
6
5
|
* @hidden
|
|
7
6
|
*/
|
|
@@ -14,16 +13,9 @@ export interface Storage {
|
|
|
14
13
|
* fetched custom asset type ID and raw value in bytes.
|
|
15
14
|
* A null value means the type is not custom
|
|
16
15
|
*/
|
|
17
|
-
customTypeData:
|
|
18
|
-
rawId: u32;
|
|
19
|
-
rawValue: Bytes;
|
|
20
|
-
isAlreadyCreated: boolean;
|
|
21
|
-
} | null;
|
|
16
|
+
customTypeData: CustomTypeData | null;
|
|
22
17
|
needsLocalMetadata: boolean;
|
|
23
18
|
status?: TickerReservationStatus;
|
|
24
|
-
/**
|
|
25
|
-
* @note in case of V6, this will be same as ticker
|
|
26
|
-
*/
|
|
27
19
|
assetId: string;
|
|
28
20
|
isAssetCreated: boolean;
|
|
29
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNftCollection.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createNftCollection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createNftCollection.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createNftCollection.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,OAAO,EAEP,aAAa,EACb,aAAa,EACb,SAAS,EAEV,uBAAmB;AACpB,OAAO,EAEL,yBAAyB,EAOzB,uBAAuB,EAGxB,oBAAgB;AACjB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EAEvB,6BAAyB;AAkC1B;;GAEG;AACH,oBAAY,MAAM,GAAG,yBAAyB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAEtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB;AAuFD;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAC/C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CA+G3D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAC/C,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAsDjC;AAED;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,aAAK,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;AACtE;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAqChD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAC/C,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,MAAM,GACnD,OAAO,CAAC,OAAO,CAAC,CAsClB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAO,UAAU,MAAM,EAAE,aAAa,EAAE,OAAO,CACF,CAAC"}
|
|
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.createNftCollection = exports.prepareStorage = exports.prepareStorageForTickerDetails = exports.assertNftCollectionDoesNotExists = exports.getAuthorization = exports.prepareCreateNftCollection = void 0;
|
|
16
16
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
17
|
const lodash_1 = require("lodash");
|
|
18
|
-
const utils_1 = require("./utils");
|
|
19
18
|
const internal_1 = require("../../internal");
|
|
20
19
|
const types_1 = require("../../types");
|
|
21
20
|
const conversion_1 = require("../../utils/conversion");
|
|
@@ -46,37 +45,23 @@ function isGlobalMetadata(value) {
|
|
|
46
45
|
/**
|
|
47
46
|
* @hidden
|
|
48
47
|
*/
|
|
49
|
-
function
|
|
50
|
-
return customTypeData ? { Custom: customTypeData.rawId } : nftType;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* @hidden
|
|
54
|
-
*/
|
|
55
|
-
function getCreateAssetTxAndFees(context, storage, args, rawAssetId) {
|
|
48
|
+
function getCreateAssetTxAndFees(context, storage, args) {
|
|
56
49
|
var _a;
|
|
57
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const { polymeshApi: { tx },
|
|
59
|
-
const { customTypeData,
|
|
51
|
+
const { polymeshApi: { tx }, } = context;
|
|
52
|
+
const { customTypeData, assetId } = storage;
|
|
60
53
|
const { ticker, nftType, name, securityIdentifiers = [], fundingRound } = args;
|
|
61
54
|
let fee;
|
|
62
|
-
|
|
63
|
-
if (isV6 && status === types_1.TickerReservationStatus.Free) {
|
|
64
|
-
fee = yield (0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.asset.RegisterTicker, types_1.TxTags.asset.CreateAsset], context);
|
|
65
|
-
}
|
|
66
|
-
const internalNftType = getInternalNftType(customTypeData, nftType);
|
|
67
|
-
/* istanbul ignore next: this will be removed after dual version support for v6-v7 */
|
|
55
|
+
const internalNftType = (0, conversion_1.getInternalNftType)(customTypeData, nftType);
|
|
68
56
|
const rawName = (0, conversion_1.nameToAssetName)((_a = name !== null && name !== void 0 ? name : ticker) !== null && _a !== void 0 ? _a : assetId, context);
|
|
69
|
-
/* istanbul ignore next: this will be removed after dual version support for v6-v7 */
|
|
70
|
-
const rawNameTickerArgs = isV6 ? [rawName, rawAssetId] : [rawName];
|
|
71
57
|
const rawDivisibility = (0, conversion_1.booleanToBool)(false, context);
|
|
72
58
|
const rawIdentifiers = securityIdentifiers.map(identifier => (0, conversion_1.securityIdentifierToAssetIdentifier)(identifier, context));
|
|
73
59
|
const rawFundingRound = (0, internal_2.optionize)(conversion_1.stringToBytes)(fundingRound, context);
|
|
74
60
|
const rawAssetType = (0, conversion_1.internalAssetTypeToAssetType)({ NonFungible: internalNftType }, context);
|
|
75
61
|
return (0, internal_2.checkTxType)({
|
|
76
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
62
|
transaction: tx.asset.createAsset,
|
|
78
63
|
fee,
|
|
79
|
-
args: [
|
|
64
|
+
args: [rawName, rawDivisibility, rawAssetType, rawIdentifiers, rawFundingRound],
|
|
80
65
|
});
|
|
81
66
|
});
|
|
82
67
|
}
|
|
@@ -106,13 +91,13 @@ function getTickerRelatedTx(ticker, status, rawAssetId, context) {
|
|
|
106
91
|
*/
|
|
107
92
|
function prepareCreateNftCollection(args) {
|
|
108
93
|
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
-
const { context: { polymeshApi: { tx },
|
|
94
|
+
const { context: { polymeshApi: { tx }, }, context, storage: { customTypeData, status, assetId, isAssetCreated }, storage, } = this;
|
|
110
95
|
const { ticker, nftType, collectionKeys, documents } = args;
|
|
111
96
|
let transactions = [];
|
|
112
97
|
if (ticker) {
|
|
113
98
|
assertTickerOk(ticker);
|
|
114
99
|
}
|
|
115
|
-
const internalNftType = getInternalNftType(customTypeData, nftType);
|
|
100
|
+
const internalNftType = (0, conversion_1.getInternalNftType)(customTypeData, nftType);
|
|
116
101
|
const nftCollection = new internal_1.NftCollection({ assetId }, context);
|
|
117
102
|
const rawAssetId = (0, conversion_1.assetToMeshAssetId)(nftCollection, context);
|
|
118
103
|
const rawType = (0, conversion_1.internalNftTypeToNftType)(internalNftType, context);
|
|
@@ -142,9 +127,9 @@ function prepareCreateNftCollection(args) {
|
|
|
142
127
|
args: [storage.customTypeData.rawValue],
|
|
143
128
|
}));
|
|
144
129
|
}
|
|
145
|
-
transactions.push(yield getCreateAssetTxAndFees(context, storage, args
|
|
130
|
+
transactions.push(yield getCreateAssetTxAndFees(context, storage, args));
|
|
146
131
|
}
|
|
147
|
-
if (
|
|
132
|
+
if (ticker && status) {
|
|
148
133
|
transactions = [...transactions, ...getTickerRelatedTx(ticker, status, rawAssetId, context)];
|
|
149
134
|
}
|
|
150
135
|
const globalMetadataKeys = collectionKeys.filter(isGlobalMetadata);
|
|
@@ -193,7 +178,7 @@ exports.prepareCreateNftCollection = prepareCreateNftCollection;
|
|
|
193
178
|
*/
|
|
194
179
|
function getAuthorization({ ticker, documents }) {
|
|
195
180
|
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
-
const { storage: { status, needsLocalMetadata, isAssetCreated, assetId, customTypeData }, context,
|
|
181
|
+
const { storage: { status, needsLocalMetadata, isAssetCreated, assetId, customTypeData }, context, } = this;
|
|
197
182
|
const transactions = [types_1.TxTags.nft.CreateNftCollection];
|
|
198
183
|
if (customTypeData && !customTypeData.isAlreadyCreated) {
|
|
199
184
|
transactions.push(types_1.TxTags.asset.RegisterCustomAssetType);
|
|
@@ -201,13 +186,11 @@ function getAuthorization({ ticker, documents }) {
|
|
|
201
186
|
if (!isAssetCreated) {
|
|
202
187
|
transactions.push(types_1.TxTags.asset.CreateAsset);
|
|
203
188
|
}
|
|
204
|
-
if (
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
transactions.push(types_1.TxTags.asset.LinkTickerToAssetId);
|
|
210
|
-
}
|
|
189
|
+
if (status === types_1.TickerReservationStatus.Free) {
|
|
190
|
+
transactions.push(types_1.TxTags.asset.RegisterUniqueTicker);
|
|
191
|
+
}
|
|
192
|
+
if (status !== types_1.TickerReservationStatus.AssetCreated) {
|
|
193
|
+
transactions.push(types_1.TxTags.asset.LinkTickerToAssetId);
|
|
211
194
|
}
|
|
212
195
|
if (needsLocalMetadata) {
|
|
213
196
|
transactions.push(types_1.TxTags.asset.RegisterAssetMetadataLocalType);
|
|
@@ -235,54 +218,6 @@ function getAuthorization({ ticker, documents }) {
|
|
|
235
218
|
});
|
|
236
219
|
}
|
|
237
220
|
exports.getAuthorization = getAuthorization;
|
|
238
|
-
/**
|
|
239
|
-
* @hidden
|
|
240
|
-
*/
|
|
241
|
-
function prepareStorageForCustomType(nftType, context) {
|
|
242
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
243
|
-
let customTypeData;
|
|
244
|
-
if (nftType instanceof bignumber_js_1.default) {
|
|
245
|
-
const rawId = (0, conversion_1.bigNumberToU32)(nftType, context);
|
|
246
|
-
const rawValue = yield context.polymeshApi.query.asset.customTypes(rawId);
|
|
247
|
-
if (rawValue.isEmpty) {
|
|
248
|
-
throw new internal_1.PolymeshError({
|
|
249
|
-
code: types_1.ErrorCode.DataUnavailable,
|
|
250
|
-
message: 'createNftCollection was given a custom type ID that does not have an corresponding value',
|
|
251
|
-
data: { nftType },
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
customTypeData = {
|
|
255
|
-
rawId,
|
|
256
|
-
rawValue,
|
|
257
|
-
isAlreadyCreated: true,
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
else if (!(0, lodash_1.values)(types_1.KnownNftType).includes(nftType)) {
|
|
261
|
-
const rawValue = (0, conversion_1.stringToBytes)(nftType, context);
|
|
262
|
-
const rawId = yield context.polymeshApi.query.asset.customTypesInverse(rawValue);
|
|
263
|
-
if (rawId.isNone) {
|
|
264
|
-
const rawCustomAssetTypeId = yield context.polymeshApi.query.asset.customTypeIdSequence();
|
|
265
|
-
const nextCustomAssetTypeId = (0, conversion_1.u32ToBigNumber)(rawCustomAssetTypeId).plus(1);
|
|
266
|
-
customTypeData = {
|
|
267
|
-
rawId: (0, conversion_1.bigNumberToU32)(nextCustomAssetTypeId, context),
|
|
268
|
-
rawValue,
|
|
269
|
-
isAlreadyCreated: false,
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
customTypeData = {
|
|
274
|
-
rawId: rawId.unwrap(),
|
|
275
|
-
rawValue,
|
|
276
|
-
isAlreadyCreated: true,
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
customTypeData = null;
|
|
282
|
-
}
|
|
283
|
-
return customTypeData;
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
221
|
/**
|
|
287
222
|
* @hidden
|
|
288
223
|
*/
|
|
@@ -302,17 +237,10 @@ exports.assertNftCollectionDoesNotExists = assertNftCollectionDoesNotExists;
|
|
|
302
237
|
function prepareStorageForTickerDetails(context, ticker, assetId) {
|
|
303
238
|
return __awaiter(this, void 0, void 0, function* () {
|
|
304
239
|
assertTickerOk(ticker);
|
|
305
|
-
const { isV6 } = context;
|
|
306
240
|
const storageStatus = {
|
|
307
241
|
isAssetCreated: false,
|
|
308
242
|
assetId: '',
|
|
309
243
|
};
|
|
310
|
-
const assetIdExistsForV7 = !isV6 && assetId;
|
|
311
|
-
/* istanbul ignore if: this will be removed after dual version support for v6-v7 */
|
|
312
|
-
if (isV6) {
|
|
313
|
-
// for chain 6.x, we assume asset ID same as ticker
|
|
314
|
-
storageStatus.assetId = ticker;
|
|
315
|
-
}
|
|
316
244
|
const reservation = new internal_1.TickerReservation({ ticker }, context);
|
|
317
245
|
const reservationDetails = yield reservation.details();
|
|
318
246
|
const { status } = reservationDetails;
|
|
@@ -320,7 +248,7 @@ function prepareStorageForTickerDetails(context, ticker, assetId) {
|
|
|
320
248
|
if (status === types_1.TickerReservationStatus.AssetCreated) {
|
|
321
249
|
storageStatus.assetId = reservationDetails.assetId;
|
|
322
250
|
storageStatus.isAssetCreated = true;
|
|
323
|
-
if (
|
|
251
|
+
if (assetId && assetId !== reservationDetails.assetId) {
|
|
324
252
|
// For v7 chain, if assetID is provided in arguments, and the ticker provided is not already associated with the given asset ID, throw an error
|
|
325
253
|
throw new internal_1.PolymeshError({
|
|
326
254
|
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
@@ -337,7 +265,7 @@ function prepareStorageForTickerDetails(context, ticker, assetId) {
|
|
|
337
265
|
data: { ticker },
|
|
338
266
|
});
|
|
339
267
|
}
|
|
340
|
-
else
|
|
268
|
+
else {
|
|
341
269
|
storageStatus.assetId = yield context.getSigningAccount().getNextAssetId();
|
|
342
270
|
}
|
|
343
271
|
return storageStatus;
|
|
@@ -349,26 +277,15 @@ exports.prepareStorageForTickerDetails = prepareStorageForTickerDetails;
|
|
|
349
277
|
*/
|
|
350
278
|
function prepareStorage({ ticker, assetId, nftType, collectionKeys }) {
|
|
351
279
|
return __awaiter(this, void 0, void 0, function* () {
|
|
352
|
-
const { context
|
|
280
|
+
const { context } = this;
|
|
353
281
|
let storageStatus = {
|
|
354
282
|
isAssetCreated: false,
|
|
355
283
|
assetId: '',
|
|
356
284
|
};
|
|
357
|
-
const assetIdExistsForV7 = !isV6 && assetId;
|
|
358
285
|
if (ticker) {
|
|
359
286
|
storageStatus = yield prepareStorageForTickerDetails(context, ticker, assetId);
|
|
360
287
|
}
|
|
361
|
-
|
|
362
|
-
/* istanbul ignore next: this will be removed after dual version support for v6-v7 */
|
|
363
|
-
if (isV6) {
|
|
364
|
-
// ticker is mandatory for 6.x chain
|
|
365
|
-
throw new internal_1.PolymeshError({
|
|
366
|
-
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
367
|
-
message: 'Ticker must be provided while creating a NFT collection',
|
|
368
|
-
});
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
if (assetIdExistsForV7) {
|
|
288
|
+
if (assetId) {
|
|
372
289
|
storageStatus.assetId = assetId;
|
|
373
290
|
storageStatus.isAssetCreated = true;
|
|
374
291
|
yield assertNftCollectionDoesNotExists(assetId, context, {
|
|
@@ -377,11 +294,11 @@ function prepareStorage({ ticker, assetId, nftType, collectionKeys }) {
|
|
|
377
294
|
data: { assetId },
|
|
378
295
|
});
|
|
379
296
|
}
|
|
380
|
-
else
|
|
297
|
+
else {
|
|
381
298
|
storageStatus.assetId = yield context.getSigningAccount().getNextAssetId();
|
|
382
299
|
}
|
|
383
300
|
const needsLocalMetadata = collectionKeys.some(isLocalMetadata);
|
|
384
|
-
const customTypeData = yield prepareStorageForCustomType(nftType, context);
|
|
301
|
+
const customTypeData = yield (0, internal_2.prepareStorageForCustomType)(nftType, (0, lodash_1.values)(types_1.KnownNftType), context, 'createNftCollection');
|
|
385
302
|
return Object.assign({ customTypeData,
|
|
386
303
|
needsLocalMetadata }, storageStatus);
|
|
387
304
|
});
|