@polymeshassociation/polymesh-sdk 29.0.1 → 29.1.0-beta.10
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 +3 -3
- package/api/entities/Asset/Base/Documents/index.d.ts +13 -2
- package/api/entities/Asset/Base/Documents/index.d.ts.map +1 -1
- package/api/entities/Asset/Base/Documents/index.js +7 -1
- package/api/entities/Asset/Base/Documents/index.js.map +1 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts +24 -0
- package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/index.js +122 -82
- package/api/entities/Asset/Fungible/TransferRestrictions/index.js.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.d.ts +12 -2
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.js +20 -0
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
- package/api/entities/Asset/types.d.ts +9 -0
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/entities/CustomPermissionGroup.d.ts.map +1 -1
- package/api/entities/CustomPermissionGroup.js +3 -1
- package/api/entities/CustomPermissionGroup.js.map +1 -1
- package/api/entities/DefaultPortfolio.d.ts.map +1 -1
- package/api/entities/DefaultPortfolio.js +1 -5
- package/api/entities/DefaultPortfolio.js.map +1 -1
- package/api/entities/KnownPermissionGroup.d.ts.map +1 -1
- package/api/entities/KnownPermissionGroup.js +3 -1
- package/api/entities/KnownPermissionGroup.js.map +1 -1
- package/api/procedures/addAssetDocuments.d.ts +22 -0
- package/api/procedures/addAssetDocuments.d.ts.map +1 -0
- package/api/procedures/addAssetDocuments.js +51 -0
- package/api/procedures/addAssetDocuments.js.map +1 -0
- package/api/procedures/createTransactionBatch.d.ts +3 -0
- package/api/procedures/createTransactionBatch.d.ts.map +1 -1
- package/api/procedures/createTransactionBatch.js +26 -8
- package/api/procedures/createTransactionBatch.js.map +1 -1
- package/api/procedures/issueNft.d.ts +10 -7
- package/api/procedures/issueNft.d.ts.map +1 -1
- package/api/procedures/issueNft.js +44 -32
- package/api/procedures/issueNft.js.map +1 -1
- package/api/procedures/modifyMultiSig.d.ts +3 -2
- package/api/procedures/modifyMultiSig.d.ts.map +1 -1
- package/api/procedures/modifyMultiSig.js +75 -42
- package/api/procedures/modifyMultiSig.js.map +1 -1
- package/api/procedures/removeAssetDocuments.d.ts +22 -0
- package/api/procedures/removeAssetDocuments.d.ts.map +1 -0
- package/api/procedures/removeAssetDocuments.js +51 -0
- package/api/procedures/removeAssetDocuments.js.map +1 -0
- package/api/procedures/setTransferRestrictions.d.ts +11 -4
- package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
- package/api/procedures/setTransferRestrictions.js +115 -63
- package/api/procedures/setTransferRestrictions.js.map +1 -1
- package/api/procedures/transferPolyx.d.ts.map +1 -1
- package/api/procedures/transferPolyx.js +30 -17
- package/api/procedures/transferPolyx.js.map +1 -1
- package/api/procedures/types.d.ts +135 -64
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js +98 -57
- package/api/procedures/types.js.map +1 -1
- package/base/PolymeshTransactionBase.d.ts +8 -0
- package/base/PolymeshTransactionBase.d.ts.map +1 -1
- package/base/PolymeshTransactionBase.js +16 -4
- package/base/PolymeshTransactionBase.js.map +1 -1
- package/base/types.d.ts +8 -0
- package/base/types.d.ts.map +1 -1
- package/base/types.js +8 -0
- package/base/types.js.map +1 -1
- package/internal.d.ts +4 -2
- package/internal.d.ts.map +1 -1
- package/internal.js +8 -3
- package/internal.js.map +1 -1
- package/middleware/queries/claims.d.ts.map +1 -1
- package/middleware/queries/claims.js +1 -1
- package/middleware/queries/claims.js.map +1 -1
- package/npm-package/{polymeshassociation-polymesh-sdk-29.0.1.tgz → polymeshassociation-polymesh-sdk-29.1.0-beta.10.tgz} +0 -0
- package/package.json +2 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/index.js +1 -0
- package/types/index.js.map +1 -1
- package/types/internal.d.ts +8 -0
- package/types/internal.d.ts.map +1 -1
- package/types/internal.js.map +1 -1
- package/types/txGroupConstants.d.ts +318 -0
- package/types/txGroupConstants.d.ts.map +1 -0
- package/types/txGroupConstants.js +506 -0
- package/types/txGroupConstants.js.map +1 -0
- package/utils/conversion.d.ts +9 -1
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +10 -87
- package/utils/conversion.js.map +1 -1
- package/utils/internal.d.ts +3 -3
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +26 -3
- package/utils/internal.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomPermissionGroup.js","sourceRoot":"","sources":["../../../src/api/entities/CustomPermissionGroup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,yCAA2E;
|
|
1
|
+
{"version":3,"file":"CustomPermissionGroup.js","sourceRoot":"","sources":["../../../src/api/entities/CustomPermissionGroup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,yCAA2E;AAC3E,mCAMiB;AACjB,mDAM4B;AAC5B,+CAA0E;AAY1E;;GAEG;AACH,MAAa,qBAAsB,SAAQ,0BAAe;IACxD;;;OAGG;IACI,MAAM,CAAU,mBAAmB,CAAC,UAAmB;QAC5D,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,UAA+B,CAAC;QAExD,OAAO,EAAE,YAAY,sBAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;IAChE,CAAC;IAID;;OAEG;IACH,YAAmB,WAA8B,EAAE,OAAgB;QACjE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE5B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;QAE3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,IAAI,CAAC,cAAc,GAAG,IAAA,gCAAqB,EACzC,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,8BAAmB,kBAAI,KAAK,EAAE,IAAI,IAAK,IAAI,EAAG,EAAE,EAChF,OAAO,CACR,CAAC;IACJ,CAAC;IAOD;;OAEG;IACU,cAAc;;YACzB,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EACX,KAAK,EAAE,EAAE,cAAc,EAAE,GAC1B,GACF,EACD,OAAO,EACP,KAAK,EACL,EAAE,GACH,GAAG,IAAI,CAAC;YAET,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,MAAM,OAAO,GAAG,IAAA,2BAAc,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAE5C,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEvF,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,yDAA4C,EAClE,mBAAmB,CAAC,MAAM,EAAE,CAC7B,CAAC;YAEF,MAAM,oBAAoB,GAAG,IAAA,6CAAgC,EAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5D,6BAAqB,CAAC,QAAQ,CAAC,KAAqB,CAAC,CACtD,CAAC;YAEF,OAAO;gBACL,YAAY,EAAE,WAAW;gBACzB,iBAAiB;aAClB,CAAC;QACJ,CAAC;KAAA;IAED;;OAEG;IACU,MAAM;;YACjB,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAEpC,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEtD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAE1F,uBAAuB;YACvB,OAAO,IAAA,2BAAc,EAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;KAAA;IAED;;OAEG;IACI,OAAO;QACZ,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAE3B,OAAO,IAAA,0BAAe,EAAC;YACrB,EAAE;YACF,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAhGD,sDAgGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPortfolio.d.ts","sourceRoot":"","sources":["../../../src/api/entities/DefaultPortfolio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DefaultPortfolio.d.ts","sourceRoot":"","sources":["../../../src/api/entities/DefaultPortfolio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C;;OAEG;gBACS,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAI5D;;OAEG;IACI,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.DefaultPortfolio = void 0;
|
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
4
|
const internal_1 = require("../../internal");
|
|
9
5
|
/**
|
|
10
6
|
* Represents the default Portfolio for an Identity
|
|
@@ -14,7 +10,7 @@ class DefaultPortfolio extends internal_1.Portfolio {
|
|
|
14
10
|
* @hidden
|
|
15
11
|
*/
|
|
16
12
|
constructor(identifiers, context) {
|
|
17
|
-
super(Object.assign(Object.assign({}, identifiers), { id:
|
|
13
|
+
super(Object.assign(Object.assign({}, identifiers), { id: undefined }), context);
|
|
18
14
|
}
|
|
19
15
|
/**
|
|
20
16
|
* Determine whether this Portfolio exists on chain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPortfolio.js","sourceRoot":"","sources":["../../../src/api/entities/DefaultPortfolio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DefaultPortfolio.js","sourceRoot":"","sources":["../../../src/api/entities/DefaultPortfolio.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAMhD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,oBAAS;IAC7C;;OAEG;IACH,YAAY,WAA8B,EAAE,OAAgB;QAC1D,KAAK,iCAAM,WAAW,KAAE,EAAE,EAAE,SAAS,KAAI,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,MAAM;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAdD,4CAcC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnownPermissionGroup.d.ts","sourceRoot":"","sources":["../../../src/api/entities/KnownPermissionGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"KnownPermissionGroup.d.ts","sourceRoot":"","sources":["../../../src/api/entities/KnownPermissionGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAGL,gBAAgB,EAEhB,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD;;;OAGG;WACoB,mBAAmB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,IAAI,iBAAiB;IAMzF,IAAI,EAAE,mBAAmB,CAAC;IAEjC;;OAEG;gBACgB,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAQnE;;OAEG;IACI,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA8ClD;;OAEG;IACI,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC;;OAEG;IACI,OAAO,IAAI,aAAa;CAQhC"}
|
|
@@ -61,9 +61,11 @@ class KnownPermissionGroup extends internal_1.PermissionGroup {
|
|
|
61
61
|
transactions = null;
|
|
62
62
|
break;
|
|
63
63
|
}
|
|
64
|
+
const allTransactionGroups = transactions ? (0, conversion_1.transactionPermissionsToTxGroups)(transactions) : [];
|
|
65
|
+
const transactionGroups = allTransactionGroups.filter(group => types_1.AGENT_TX_GROUP_VALUES.includes(group));
|
|
64
66
|
return Promise.resolve({
|
|
65
67
|
transactions,
|
|
66
|
-
transactionGroups
|
|
68
|
+
transactionGroups,
|
|
67
69
|
});
|
|
68
70
|
}
|
|
69
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnownPermissionGroup.js","sourceRoot":"","sources":["../../../src/api/entities/KnownPermissionGroup.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"KnownPermissionGroup.js","sourceRoot":"","sources":["../../../src/api/entities/KnownPermissionGroup.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AACtD,mCAQiB;AACjB,mDAAsE;AACtE,+CAAmD;AAYnD;;GAEG;AACH,MAAa,oBAAqB,SAAQ,0BAAe;IACvD;;;OAGG;IACI,MAAM,CAAU,mBAAmB,CAAC,UAAmB;QAC5D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAA+B,CAAC;QAE1D,OAAO,IAAI,IAAI,2BAAmB,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;IACpE,CAAC;IAID;;OAEG;IACH,YAAmB,WAA8B,EAAE,OAAgB;QACjE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QAE7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,cAAc;QACnB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,YAAY,CAAC;QAEjB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,2BAAmB,CAAC,UAAU;gBACjC,YAAY,GAAG,EAAE,MAAM,EAAE,CAAC,kBAAU,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,sBAAc,CAAC,OAAO,EAAE,CAAC;gBACrF,MAAM;YACR,KAAK,2BAAmB,CAAC,aAAa;gBACpC,YAAY,GAAG;oBACb,MAAM,EAAE;wBACN,kBAAU,CAAC,mBAAmB;wBAC9B,kBAAU,CAAC,eAAe;wBAC1B,kBAAU,CAAC,eAAe;qBAC3B;oBACD,IAAI,EAAE,sBAAc,CAAC,OAAO;iBAC7B,CAAC;gBACF,MAAM;YACR,KAAK,2BAAmB,CAAC,aAAa;gBACpC,YAAY,GAAG;oBACb,MAAM,EAAE;wBACN,cAAM,CAAC,KAAK,CAAC,kBAAkB;wBAC/B,cAAM,CAAC,KAAK,CAAC,KAAK;wBAClB,cAAM,CAAC,KAAK,CAAC,MAAM;wBACnB,kBAAU,CAAC,GAAG;qBACf;oBACD,UAAU,EAAE,CAAC,cAAM,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC/B,IAAI,EAAE,sBAAc,CAAC,OAAO;iBAC7B,CAAC;gBACF,MAAM;YACR;gBACE,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;QACV,CAAC;QAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,CAAC,CAAC,IAAA,6CAAgC,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5D,6BAAqB,CAAC,QAAQ,CAAC,KAAqB,CAAC,CACtD,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,YAAY;YACZ,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAE7B,OAAO,IAAA,0BAAe,EAAC;YACrB,IAAI;YACJ,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;CACF;AA3FD,oDA2FC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseAsset, Procedure } from '../../internal';
|
|
2
|
+
import { AddAssetDocumentsParams } from '../../types';
|
|
3
|
+
import { ExtrinsicParams, ProcedureAuthorization, TransactionSpec } from '../../types/internal';
|
|
4
|
+
/**
|
|
5
|
+
* @hidden
|
|
6
|
+
*/
|
|
7
|
+
export type Params = AddAssetDocumentsParams & {
|
|
8
|
+
asset: BaseAsset;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @hidden
|
|
12
|
+
*/
|
|
13
|
+
export declare function prepareAddAssetDocuments(this: Procedure<Params, void>, args: Params): Promise<TransactionSpec<void, ExtrinsicParams<'asset', 'addDocuments'>>>;
|
|
14
|
+
/**
|
|
15
|
+
* @hidden
|
|
16
|
+
*/
|
|
17
|
+
export declare function getAuthorization(this: Procedure<Params, void>, { asset }: Params): ProcedureAuthorization;
|
|
18
|
+
/**
|
|
19
|
+
* @hidden
|
|
20
|
+
*/
|
|
21
|
+
export declare const addAssetDocuments: () => Procedure<Params, void>;
|
|
22
|
+
//# sourceMappingURL=addAssetDocuments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addAssetDocuments.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/addAssetDocuments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAqB,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAG5F;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,uBAAuB,GAAG;IAC7C,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAyB1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAC7B,EAAE,KAAK,EAAE,EAAE,MAAM,GAChB,sBAAsB,CAQxB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CACA,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addAssetDocuments = void 0;
|
|
7
|
+
exports.prepareAddAssetDocuments = prepareAddAssetDocuments;
|
|
8
|
+
exports.getAuthorization = getAuthorization;
|
|
9
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
10
|
+
const internal_1 = require("../../internal");
|
|
11
|
+
const types_1 = require("../../types");
|
|
12
|
+
const conversion_1 = require("../../utils/conversion");
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
function prepareAddAssetDocuments(args) {
|
|
17
|
+
const { context: { polymeshApi: { tx }, }, context, } = this;
|
|
18
|
+
const { asset, documents } = args;
|
|
19
|
+
if (!documents.length) {
|
|
20
|
+
throw new internal_1.PolymeshError({
|
|
21
|
+
code: types_1.ErrorCode.ValidationError,
|
|
22
|
+
message: 'The documents list cannot be empty',
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const rawDocuments = documents.map(doc => (0, conversion_1.assetDocumentToDocument)(doc, context));
|
|
26
|
+
const rawAssetId = (0, conversion_1.assetToMeshAssetId)(asset, context);
|
|
27
|
+
return Promise.resolve({
|
|
28
|
+
transaction: tx.asset.addDocuments,
|
|
29
|
+
feeMultiplier: new bignumber_js_1.default(documents.length),
|
|
30
|
+
args: [rawDocuments, rawAssetId],
|
|
31
|
+
resolver: undefined,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
function getAuthorization({ asset }) {
|
|
38
|
+
return {
|
|
39
|
+
permissions: {
|
|
40
|
+
assets: [asset],
|
|
41
|
+
transactions: [types_1.TxTags.asset.AddDocuments],
|
|
42
|
+
portfolios: [],
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @hidden
|
|
48
|
+
*/
|
|
49
|
+
const addAssetDocuments = () => new internal_1.Procedure(prepareAddAssetDocuments, getAuthorization);
|
|
50
|
+
exports.addAssetDocuments = addAssetDocuments;
|
|
51
|
+
//# sourceMappingURL=addAssetDocuments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addAssetDocuments.js","sourceRoot":"","sources":["../../../src/api/procedures/addAssetDocuments.ts"],"names":[],"mappings":";;;;;;AAiBA,4DA4BC;AAKD,4CAWC;AA7DD,gEAAqC;AAErC,yCAAiE;AACjE,mCAAqE;AAErE,mDAAiF;AASjF;;GAEG;AACH,SAAgB,wBAAwB,CAEtC,IAAY;IAEZ,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,EAAE,EAAE,GACpB,EACD,OAAO,GACR,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,wBAAa,CAAC;YACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;YAC/B,OAAO,EAAE,oCAAoC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,oCAAuB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY;QAClC,aAAa,EAAE,IAAI,sBAAS,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9C,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;QAChC,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAE9B,EAAE,KAAK,EAAU;IAEjB,OAAO;QACL,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,YAAY,EAAE,CAAC,cAAM,CAAC,KAAK,CAAC,YAAY,CAAC;YACzC,UAAU,EAAE,EAAE;SACf;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,MAAM,iBAAiB,GAAG,GAA4B,EAAE,CAC7D,IAAI,oBAAS,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;AAD/C,QAAA,iBAAiB,qBAC8B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransactionBatch.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createTransactionBatch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiD,SAAS,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAU,MAAM,SAAS,CAAC;AACtE,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,gBAAgB,EAEhB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"createTransactionBatch.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createTransactionBatch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiD,SAAS,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAU,MAAM,SAAS,CAAC;AACtE,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EACtB,gBAAgB,EAEhB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;CACvF;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,YAAY,SAAS,OAAO,EAAE,EAChF,IAAI,EAAE,SAAS,CAAC,4BAA4B,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,GACjF,OAAO,CAAC,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAuB1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,SAAS,OAAO,EAAE,EAC7D,IAAI,EAAE,SAAS,CAAC,4BAA4B,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,GACjF,sBAAsB,CAUxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,YAAY,SAAS,OAAO,EAAE,EAC3D,IAAI,EAAE,SAAS,CAAC,4BAA4B,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAClF,IAAI,EAAE,4BAA4B,CAAC,YAAY,CAAC,GAC/C,OAAO,CAuHT;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,YAAY,SAAS,OAAO,EAAE,OAAK,SAAS,CACjF,4BAA4B,CAAC,YAAY,CAAC,EAC1C,YAAY,EACZ,OAAO,CAMN,CAAC"}
|
|
@@ -25,10 +25,22 @@ const internal_3 = require("../../utils/internal");
|
|
|
25
25
|
*/
|
|
26
26
|
function prepareCreateTransactionBatch() {
|
|
27
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
const { processedTransactions: transactions, resolvers } = this.storage;
|
|
28
|
+
const { processedTransactions: transactions, resolvers, preRunValidations } = this.storage;
|
|
29
|
+
// Combine all preRunValidation functions into one
|
|
30
|
+
const combinedPreRunValidation = preRunValidations.some(v => v !== undefined)
|
|
31
|
+
? (args) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
yield Promise.all(preRunValidations.map(validation => {
|
|
33
|
+
if (validation) {
|
|
34
|
+
return validation(args);
|
|
35
|
+
}
|
|
36
|
+
return Promise.resolve();
|
|
37
|
+
}));
|
|
38
|
+
})
|
|
39
|
+
: undefined;
|
|
29
40
|
return {
|
|
30
41
|
transactions,
|
|
31
42
|
resolver: receipt => Promise.all(resolvers.map(resolver => resolver(receipt))),
|
|
43
|
+
preRunValidation: combinedPreRunValidation,
|
|
32
44
|
};
|
|
33
45
|
});
|
|
34
46
|
}
|
|
@@ -51,6 +63,7 @@ function prepareStorage(args) {
|
|
|
51
63
|
const resolvers = [];
|
|
52
64
|
const transactions = [];
|
|
53
65
|
const tags = [];
|
|
66
|
+
const preRunValidations = [];
|
|
54
67
|
/*
|
|
55
68
|
* We extract each transaction spec and build an array of all transactions (with args and fees), resolvers and transformers,
|
|
56
69
|
* to create a new batch spec that contains everything. We use the resolvers and transformers to
|
|
@@ -63,7 +76,7 @@ function prepareStorage(args) {
|
|
|
63
76
|
const [firstTx] = inputTransactions;
|
|
64
77
|
if (inputTransactions.length === 1 && (0, utils_1.isPolymeshTransaction)(firstTx)) {
|
|
65
78
|
const spec = internal_1.PolymeshTransaction.toTransactionSpec(firstTx);
|
|
66
|
-
const { transaction: tx, args: txArgs, fee, feeMultiplier } = spec;
|
|
79
|
+
const { transaction: tx, args: txArgs, fee, feeMultiplier, preRunValidation } = spec;
|
|
67
80
|
transactions.push({
|
|
68
81
|
transaction: tx,
|
|
69
82
|
args: txArgs,
|
|
@@ -71,6 +84,7 @@ function prepareStorage(args) {
|
|
|
71
84
|
feeMultiplier,
|
|
72
85
|
});
|
|
73
86
|
tags.push((0, conversion_1.transactionToTxTag)(tx));
|
|
87
|
+
preRunValidations.push(preRunValidation);
|
|
74
88
|
const { transformer = lodash_1.identity, resolver } = spec;
|
|
75
89
|
resolvers.push((receipt) => __awaiter(this, void 0, void 0, function* () {
|
|
76
90
|
let value;
|
|
@@ -86,14 +100,15 @@ function prepareStorage(args) {
|
|
|
86
100
|
processedTransactions: transactions,
|
|
87
101
|
resolvers,
|
|
88
102
|
tags,
|
|
103
|
+
preRunValidations,
|
|
89
104
|
};
|
|
90
105
|
}
|
|
91
|
-
|
|
106
|
+
for (const transaction of inputTransactions) {
|
|
92
107
|
let spec;
|
|
93
108
|
const startIndex = transactions.length;
|
|
94
109
|
if ((0, utils_1.isPolymeshTransaction)(transaction)) {
|
|
95
110
|
spec = internal_1.PolymeshTransaction.toTransactionSpec(transaction);
|
|
96
|
-
const { transaction: tx, args: txArgs, fee, feeMultiplier } = spec;
|
|
111
|
+
const { transaction: tx, args: txArgs, fee, feeMultiplier, preRunValidation } = spec;
|
|
97
112
|
transactions.push({
|
|
98
113
|
transaction: tx,
|
|
99
114
|
args: txArgs,
|
|
@@ -101,11 +116,12 @@ function prepareStorage(args) {
|
|
|
101
116
|
feeMultiplier,
|
|
102
117
|
});
|
|
103
118
|
tags.push((0, conversion_1.transactionToTxTag)(tx));
|
|
119
|
+
preRunValidations.push(preRunValidation);
|
|
104
120
|
}
|
|
105
121
|
else {
|
|
106
122
|
spec = internal_1.PolymeshTransactionBatch.toTransactionSpec(transaction);
|
|
107
|
-
const { transactions: batchTransactions } = spec;
|
|
108
|
-
|
|
123
|
+
const { transactions: batchTransactions, preRunValidation } = spec;
|
|
124
|
+
for (const { transaction: tx, args: txArgs, fee, feeMultiplier } of batchTransactions) {
|
|
109
125
|
transactions.push({
|
|
110
126
|
transaction: tx,
|
|
111
127
|
args: txArgs,
|
|
@@ -113,7 +129,8 @@ function prepareStorage(args) {
|
|
|
113
129
|
feeMultiplier,
|
|
114
130
|
});
|
|
115
131
|
tags.push((0, conversion_1.transactionToTxTag)(tx));
|
|
116
|
-
}
|
|
132
|
+
}
|
|
133
|
+
preRunValidations.push(preRunValidation);
|
|
117
134
|
}
|
|
118
135
|
const { transformer = lodash_1.identity, resolver } = spec;
|
|
119
136
|
const endIndex = transactions.length;
|
|
@@ -131,11 +148,12 @@ function prepareStorage(args) {
|
|
|
131
148
|
}
|
|
132
149
|
return transformer(value);
|
|
133
150
|
}));
|
|
134
|
-
}
|
|
151
|
+
}
|
|
135
152
|
return {
|
|
136
153
|
processedTransactions: transactions,
|
|
137
154
|
resolvers,
|
|
138
155
|
tags,
|
|
156
|
+
preRunValidations,
|
|
139
157
|
};
|
|
140
158
|
}
|
|
141
159
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransactionBatch.js","sourceRoot":"","sources":["../../../src/api/procedures/createTransactionBatch.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createTransactionBatch.js","sourceRoot":"","sources":["../../../src/api/procedures/createTransactionBatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import { ISubmittableResult } from '@polkadot/types/types';
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
2
3
|
import { Nft } from '../../api/entities/Asset/NonFungible/Nft';
|
|
3
4
|
import { Context, NftCollection, Procedure } from '../../internal';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export type Params =
|
|
5
|
+
import { NftMetadataInput } from '../../types';
|
|
6
|
+
import { BatchTransactionSpec, ProcedureAuthorization } from '../../types/internal';
|
|
7
|
+
export type Params = {
|
|
8
|
+
metadataList: NftMetadataInput[][];
|
|
9
|
+
portfolioId?: BigNumber | undefined;
|
|
7
10
|
collection: NftCollection;
|
|
8
11
|
};
|
|
9
12
|
/**
|
|
10
13
|
* @hidden
|
|
11
14
|
*/
|
|
12
|
-
export declare const
|
|
15
|
+
export declare const issuedNftsResolver: (context: Context) => (receipt: ISubmittableResult) => Nft[];
|
|
13
16
|
/**
|
|
14
17
|
* @hidden
|
|
15
18
|
*/
|
|
16
|
-
export declare function prepareIssueNft(this: Procedure<Params, Nft>, args: Params): Promise<
|
|
19
|
+
export declare function prepareIssueNft(this: Procedure<Params, Nft[]>, args: Params): Promise<BatchTransactionSpec<Nft[], unknown[][]>>;
|
|
17
20
|
/**
|
|
18
21
|
* @hidden
|
|
19
22
|
*/
|
|
20
|
-
export declare function getAuthorization(this: Procedure<Params, Nft>, { collection }: Params): ProcedureAuthorization;
|
|
23
|
+
export declare function getAuthorization(this: Procedure<Params, Nft[]>, { collection }: Params): ProcedureAuthorization;
|
|
21
24
|
/**
|
|
22
25
|
* @hidden
|
|
23
26
|
*/
|
|
24
|
-
export declare const issueNft: () => Procedure<Params, Nft>;
|
|
27
|
+
export declare const issueNft: () => Procedure<Params, Nft[]>;
|
|
25
28
|
//# sourceMappingURL=issueNft.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueNft.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/issueNft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"issueNft.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/issueNft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,GAAG,EAAE,MAAM,sCAAsC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAA4B,gBAAgB,EAAU,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAShF,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,gBAAgB,EAAE,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC5B,SAAS,OAAO,MAChB,SAAS,kBAAkB,KAAG,GAAG,EASjC,CAAC;AAsCJ;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAmCnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAC9B,EAAE,UAAU,EAAE,EAAE,MAAM,GACrB,sBAAsB,CAQxB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAO,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CACD,CAAC"}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.issueNft = exports.
|
|
12
|
+
exports.issueNft = exports.issuedNftsResolver = void 0;
|
|
13
13
|
exports.prepareIssueNft = prepareIssueNft;
|
|
14
14
|
exports.getAuthorization = getAuthorization;
|
|
15
15
|
const Nft_1 = require("../../api/entities/Asset/NonFungible/Nft");
|
|
@@ -20,52 +20,64 @@ const internal_2 = require("../../utils/internal");
|
|
|
20
20
|
/**
|
|
21
21
|
* @hidden
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
const issuedNftsResolver = (context) => (receipt) => {
|
|
24
|
+
const records = (0, internal_2.filterEventRecords)(receipt, 'nft', 'NFTPortfolioUpdated');
|
|
25
|
+
return records.map(({ data }) => {
|
|
26
|
+
const { assetId, ids } = (0, conversion_1.meshNftToNftId)(data[1]);
|
|
27
|
+
const id = ids[0];
|
|
28
|
+
return new Nft_1.Nft({ id, assetId }, context);
|
|
29
|
+
});
|
|
29
30
|
};
|
|
30
|
-
exports.
|
|
31
|
+
exports.issuedNftsResolver = issuedNftsResolver;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @param nftParams
|
|
35
|
+
* @param neededMetadata
|
|
36
|
+
*/
|
|
37
|
+
function validateNftParams(metadata, neededMetadata, assetId) {
|
|
38
|
+
// for each input, find and remove a value from needed
|
|
39
|
+
metadata.forEach(value => {
|
|
40
|
+
const matchedIndex = neededMetadata.findIndex(requiredValue => value.type === requiredValue.type && value.id.eq(requiredValue.id));
|
|
41
|
+
if (matchedIndex < 0) {
|
|
42
|
+
throw new internal_1.PolymeshError({
|
|
43
|
+
code: types_1.ErrorCode.ValidationError,
|
|
44
|
+
message: 'A metadata value was given that is not required for this collection',
|
|
45
|
+
data: { assetId, type: value.type, id: value.id },
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
neededMetadata.splice(matchedIndex, 1);
|
|
49
|
+
});
|
|
50
|
+
if (neededMetadata.length > 0) {
|
|
51
|
+
throw new internal_1.PolymeshError({
|
|
52
|
+
code: types_1.ErrorCode.ValidationError,
|
|
53
|
+
message: 'The collection requires metadata that was not provided',
|
|
54
|
+
data: { missingMetadata: JSON.stringify(neededMetadata) },
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
31
58
|
/**
|
|
32
59
|
* @hidden
|
|
33
60
|
*/
|
|
34
61
|
function prepareIssueNft(args) {
|
|
35
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
36
63
|
const { context: { polymeshApi: { tx }, }, context, } = this;
|
|
37
|
-
const { portfolioId,
|
|
38
|
-
const rawMetadataValues = (0, conversion_1.nftInputToNftMetadataVec)(metadata, context);
|
|
64
|
+
const { portfolioId, metadataList: nftParams, collection } = args;
|
|
65
|
+
const rawMetadataValues = nftParams.map(metadata => (0, conversion_1.nftInputToNftMetadataVec)(metadata, context));
|
|
39
66
|
const neededMetadata = yield collection.collectionKeys();
|
|
40
|
-
|
|
41
|
-
args.metadata.forEach(value => {
|
|
42
|
-
const matchedIndex = neededMetadata.findIndex(requiredValue => value.type === requiredValue.type && value.id.eq(requiredValue.id));
|
|
43
|
-
if (matchedIndex < 0) {
|
|
44
|
-
throw new internal_1.PolymeshError({
|
|
45
|
-
code: types_1.ErrorCode.ValidationError,
|
|
46
|
-
message: 'A metadata value was given that is not required for this collection',
|
|
47
|
-
data: { assetId: collection.id, type: value.type, id: value.id },
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
neededMetadata.splice(matchedIndex, 1);
|
|
51
|
-
});
|
|
52
|
-
if (neededMetadata.length > 0) {
|
|
53
|
-
throw new internal_1.PolymeshError({
|
|
54
|
-
code: types_1.ErrorCode.ValidationError,
|
|
55
|
-
message: 'The collection requires metadata that was not provided',
|
|
56
|
-
data: { missingMetadata: JSON.stringify(neededMetadata) },
|
|
57
|
-
});
|
|
58
|
-
}
|
|
67
|
+
nftParams.forEach(metadata => validateNftParams(metadata, [...neededMetadata], collection.id));
|
|
59
68
|
const signingIdentity = yield context.getSigningIdentity();
|
|
60
69
|
const portfolio = portfolioId
|
|
61
70
|
? yield signingIdentity.portfolios.getPortfolio({ portfolioId })
|
|
62
71
|
: yield signingIdentity.portfolios.getPortfolio();
|
|
63
72
|
const rawAssetId = (0, conversion_1.assetToMeshAssetId)(collection, context);
|
|
64
73
|
const rawPortfolio = (0, conversion_1.portfolioToPortfolioKind)(portfolio, context);
|
|
65
|
-
|
|
74
|
+
const transactions = rawMetadataValues.map(metadata => (0, internal_2.checkTxType)({
|
|
66
75
|
transaction: tx.nft.issueNft,
|
|
67
|
-
args: [rawAssetId,
|
|
68
|
-
|
|
76
|
+
args: [rawAssetId, metadata, rawPortfolio],
|
|
77
|
+
}));
|
|
78
|
+
return {
|
|
79
|
+
transactions,
|
|
80
|
+
resolver: (0, exports.issuedNftsResolver)(context),
|
|
69
81
|
};
|
|
70
82
|
});
|
|
71
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueNft.js","sourceRoot":"","sources":["../../../src/api/procedures/issueNft.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"issueNft.js","sourceRoot":"","sources":["../../../src/api/procedures/issueNft.ts"],"names":[],"mappings":";;;;;;;;;;;;AA4EA,0CAsCC;AAKD,4CAWC;AA/HD,8DAA2D;AAC3D,yCAA8E;AAC9E,mCAA6E;AAE7E,mDAK4B;AAC5B,+CAAmE;AAQnE;;GAEG;AACI,MAAM,kBAAkB,GAC7B,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAC,OAA2B,EAAS,EAAE;IACrC,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,OAAO,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAE1E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAA,2BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QAEnB,OAAO,IAAI,SAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAXS,QAAA,kBAAkB,sBAW3B;AAEJ;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,QAA4B,EAC5B,cAA+B,EAC/B,OAAe;IAEf,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvB,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAC3C,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CACpF,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,qEAAqE;gBAC9E,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;QAED,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,wBAAa,CAAC;YACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;YAC/B,OAAO,EAAE,wDAAwD;YACjE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;SAC1D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAsB,eAAe,CAEnC,IAAY;;QAEZ,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,EAAE,EAAE,GACpB,EACD,OAAO,GACR,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAElE,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,qCAAwB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjG,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;QAEzD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/F,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE3D,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;YAChE,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,qCAAwB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CACpD,IAAA,sBAAW,EAAC;YACV,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ;YAC5B,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC;SAC3C,CAAC,CACH,CAAC;QAEF,OAAO;YACL,YAAY;YACZ,QAAQ,EAAE,IAAA,0BAAkB,EAAC,OAAO,CAAC;SACtC,CAAC;IACJ,CAAC;CAAA;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAE9B,EAAE,UAAU,EAAU;IAEtB,OAAO;QACL,WAAW,EAAE;YACX,YAAY,EAAE,CAAC,cAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnC,MAAM,EAAE,CAAC,UAAU,CAAC;YACpB,UAAU,EAAE,EAAE;SACf;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,MAAM,QAAQ,GAAG,GAA6B,EAAE,CACrD,IAAI,oBAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AADtC,QAAA,QAAQ,YAC8B"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { Procedure } from '../../internal';
|
|
3
|
-
import { Account, ModifyMultiSigParams, Signer } from '../../types';
|
|
3
|
+
import { Account, Identity, ModifyMultiSigParams, Signer } from '../../types';
|
|
4
4
|
import { BatchTransactionSpec, ProcedureAuthorization } from '../../types/internal';
|
|
5
5
|
export interface Storage {
|
|
6
6
|
signersToAdd: Account[];
|
|
7
7
|
signersToRemove: Account[];
|
|
8
8
|
currentSignerCount: number;
|
|
9
9
|
requiredSignatures: BigNumber;
|
|
10
|
+
admin: Identity | null;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* @hidden
|
|
@@ -27,7 +28,7 @@ export declare function prepareModifyMultiSig(this: Procedure<ModifyMultiSigPara
|
|
|
27
28
|
/**
|
|
28
29
|
* @hidden
|
|
29
30
|
*/
|
|
30
|
-
export declare function getAuthorization(this: Procedure<ModifyMultiSigParams, void, Storage>, { requiredSignatures: newRequiredSignatures }: Pick<ModifyMultiSigParams, 'requiredSignatures'>): ProcedureAuthorization
|
|
31
|
+
export declare function getAuthorization(this: Procedure<ModifyMultiSigParams, void, Storage>, { requiredSignatures: newRequiredSignatures }: Pick<ModifyMultiSigParams, 'requiredSignatures'>): Promise<ProcedureAuthorization>;
|
|
31
32
|
/**
|
|
32
33
|
* @hidden
|
|
33
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifyMultiSig.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/modifyMultiSig.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,EAAa,oBAAoB,EAAE,MAAM,EAAU,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"modifyMultiSig.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/modifyMultiSig.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,EAAa,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAU,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAIhF,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxB;AAsBD;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,SAAS,EAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,qBAAqB,CAAC,EAAE,SAAS,GAChC,IAAI,CAeN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,SAAS,EAC7B,YAAY,EAAE,MAAM,EAAE,EACtB,eAAe,EAAE,MAAM,EAAE,EACzB,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,qBAAqB,CAAC,EAAE,SAAS,GAChC,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,qBAAqB,CAAC,EAAE,SAAS,GAAG,IAAI,CAOrF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,OAAO,CAAC,EACpD,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CA+FlD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,OAAO,CAAC,EACpD,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,GAC9F,OAAO,CAAC,sBAAsB,CAAC,CAyCjC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,OAAO,CAAC,EACpD,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,oBAAoB,GAC1C,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,QAAO,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,OAAO,CACP,CAAC"}
|