@polymeshassociation/polymesh-sdk 23.0.0-alpha.2 → 23.0.0-alpha.4
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/CHANGELOG.md +2 -2
- package/api/client/Assets.d.ts +9 -2
- package/api/client/Assets.d.ts.map +1 -1
- package/api/client/Assets.js +3 -0
- package/api/client/Assets.js.map +1 -1
- package/api/client/Claims.d.ts.map +1 -1
- package/api/client/Claims.js +18 -5
- package/api/client/Claims.js.map +1 -1
- package/api/entities/Asset/BaseAsset/index.d.ts +48 -0
- package/api/entities/Asset/BaseAsset/index.d.ts.map +1 -0
- package/api/entities/Asset/BaseAsset/index.js +69 -0
- package/api/entities/Asset/BaseAsset/index.js.map +1 -0
- package/api/entities/Asset/Metadata.d.ts +6 -0
- package/api/entities/Asset/Metadata.d.ts.map +1 -1
- package/api/entities/Asset/Metadata.js +12 -0
- package/api/entities/Asset/Metadata.js.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.d.ts +46 -0
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -0
- package/api/entities/Asset/NonFungible/NftCollection.js +80 -0
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -0
- package/api/entities/Asset/NonFungible/index.d.ts +2 -0
- package/api/entities/Asset/NonFungible/index.d.ts.map +1 -0
- package/api/entities/Asset/NonFungible/index.js +18 -0
- package/api/entities/Asset/NonFungible/index.js.map +1 -0
- package/api/entities/Asset/index.d.ts +4 -30
- package/api/entities/Asset/index.d.ts.map +1 -1
- package/api/entities/Asset/index.js +8 -44
- package/api/entities/Asset/index.js.map +1 -1
- package/api/entities/Asset/types.d.ts +1 -0
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/procedures/createAsset.d.ts.map +1 -1
- package/api/procedures/createAsset.js +3 -19
- package/api/procedures/createAsset.js.map +1 -1
- package/api/procedures/createNftCollection.d.ts +41 -0
- package/api/procedures/createNftCollection.d.ts.map +1 -0
- package/api/procedures/createNftCollection.js +244 -0
- package/api/procedures/createNftCollection.js.map +1 -0
- package/api/procedures/types.d.ts +41 -1
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js.map +1 -1
- package/api/procedures/utils.d.ts +7 -1
- package/api/procedures/utils.d.ts.map +1 -1
- package/api/procedures/utils.js +18 -1
- package/api/procedures/utils.js.map +1 -1
- package/internal.d.ts +2 -0
- package/internal.d.ts.map +1 -1
- package/internal.js +7 -3
- package/internal.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-alpha.4.tgz +0 -0
- package/package.json +1 -1
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -1
- package/types/index.js +7 -1
- package/types/index.js.map +1 -1
- package/types/internal.d.ts +6 -1
- package/types/internal.d.ts.map +1 -1
- package/types/internal.js.map +1 -1
- package/utils/conversion.d.ts +22 -5
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +46 -14
- package/utils/conversion.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-alpha.2.tgz +0 -0
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.Asset = void 0;
|
|
16
16
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
17
|
const lodash_1 = require("lodash");
|
|
18
|
+
const BaseAsset_1 = require("./BaseAsset");
|
|
18
19
|
const Metadata_1 = require("./Metadata");
|
|
19
20
|
const internal_1 = require("../../../internal");
|
|
20
21
|
const queries_1 = require("../../../middleware/queries");
|
|
@@ -34,7 +35,7 @@ const TransferRestrictions_1 = require("./TransferRestrictions");
|
|
|
34
35
|
/**
|
|
35
36
|
* Class used to manage all Asset functionality
|
|
36
37
|
*/
|
|
37
|
-
class Asset extends
|
|
38
|
+
class Asset extends BaseAsset_1.BaseAsset {
|
|
38
39
|
/**
|
|
39
40
|
* @hidden
|
|
40
41
|
*/
|
|
@@ -68,14 +69,6 @@ class Asset extends internal_1.Entity {
|
|
|
68
69
|
this.controllerTransfer = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.controllerTransfer, Object.assign({ ticker }, args)] }, context);
|
|
69
70
|
this.setVenueFiltering = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.setVenueFiltering, Object.assign({ ticker }, args)] }, context);
|
|
70
71
|
}
|
|
71
|
-
/**
|
|
72
|
-
* @hidden
|
|
73
|
-
* Check if a value is of type {@link UniqueIdentifiers}
|
|
74
|
-
*/
|
|
75
|
-
static isUniqueIdentifiers(identifier) {
|
|
76
|
-
const { ticker } = identifier;
|
|
77
|
-
return typeof ticker === 'string';
|
|
78
|
-
}
|
|
79
72
|
// eslint-disable-next-line require-jsdoc
|
|
80
73
|
details(callback) {
|
|
81
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -96,17 +89,18 @@ class Asset extends internal_1.Entity {
|
|
|
96
89
|
}
|
|
97
90
|
});
|
|
98
91
|
const owner = new internal_1.Identity({ did: (0, conversion_1.identityIdToString)(ownerDid) }, context);
|
|
99
|
-
const type = (0, conversion_1.assetTypeToKnownOrId)(rawAssetType);
|
|
92
|
+
const { value, type } = (0, conversion_1.assetTypeToKnownOrId)(rawAssetType);
|
|
100
93
|
let assetType;
|
|
101
|
-
if (
|
|
102
|
-
|
|
94
|
+
if (value instanceof bignumber_js_1.default) {
|
|
95
|
+
const customType = yield asset.customTypes((0, conversion_1.bigNumberToU32)(value, context));
|
|
96
|
+
assetType = (0, conversion_1.bytesToString)(customType);
|
|
103
97
|
}
|
|
104
98
|
else {
|
|
105
|
-
|
|
106
|
-
assetType = (0, conversion_1.bytesToString)(customType);
|
|
99
|
+
assetType = value;
|
|
107
100
|
}
|
|
108
101
|
return {
|
|
109
102
|
assetType,
|
|
103
|
+
nonFungible: type === 'NonFungible',
|
|
110
104
|
isDivisible: (0, conversion_1.boolToBoolean)(divisible),
|
|
111
105
|
name: (0, conversion_1.bytesToString)(assetName.unwrap()),
|
|
112
106
|
owner,
|
|
@@ -150,21 +144,6 @@ class Asset extends internal_1.Entity {
|
|
|
150
144
|
return assembleResult(fundingRound);
|
|
151
145
|
});
|
|
152
146
|
}
|
|
153
|
-
// eslint-disable-next-line require-jsdoc
|
|
154
|
-
getIdentifiers(callback) {
|
|
155
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
-
const { context: { polymeshApi: { query: { asset }, }, }, ticker, context, } = this;
|
|
157
|
-
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
158
|
-
if (callback) {
|
|
159
|
-
return asset.identifiers(rawTicker, identifiers => {
|
|
160
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- callback errors should be handled by the caller
|
|
161
|
-
callback(identifiers.map(conversion_1.assetIdentifierToSecurityIdentifier));
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
const assetIdentifiers = yield asset.identifiers(rawTicker);
|
|
165
|
-
return assetIdentifiers.map(conversion_1.assetIdentifierToSecurityIdentifier);
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
147
|
/**
|
|
169
148
|
* Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
|
|
170
149
|
*
|
|
@@ -180,21 +159,6 @@ class Asset extends internal_1.Entity {
|
|
|
180
159
|
return (0, internal_2.optionize)(conversion_1.middlewareEventDetailsToEventIdentifier)(asset === null || asset === void 0 ? void 0 : asset.createdBlock, asset === null || asset === void 0 ? void 0 : asset.eventIdx);
|
|
181
160
|
});
|
|
182
161
|
}
|
|
183
|
-
// eslint-disable-next-line require-jsdoc
|
|
184
|
-
isFrozen(callback) {
|
|
185
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
-
const { ticker, context: { polymeshApi: { query: { asset }, }, }, context, } = this;
|
|
187
|
-
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
188
|
-
if (callback) {
|
|
189
|
-
return asset.frozen(rawTicker, frozen => {
|
|
190
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises -- callback errors should be handled by the caller
|
|
191
|
-
callback((0, conversion_1.boolToBoolean)(frozen));
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
const result = yield asset.frozen(rawTicker);
|
|
195
|
-
return (0, conversion_1.boolToBoolean)(result);
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
162
|
/**
|
|
199
163
|
* Retrieve the amount of unique investors that hold this Asset
|
|
200
164
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/entities/Asset/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,gEAAqC;AACrC,mCAAsC;AAEtC,yCAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/entities/Asset/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { EventIdEnum } from "../../../middleware/enums";
|
|
|
4
4
|
import { Compliance, EventIdentifier, TransferError, TransferRestriction } from "../../../types";
|
|
5
5
|
export interface AssetDetails {
|
|
6
6
|
assetType: string;
|
|
7
|
+
nonFungible: boolean;
|
|
7
8
|
isDivisible: boolean;
|
|
8
9
|
name: string;
|
|
9
10
|
owner: Identity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/api/entities/Asset/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EAClB,0BAAmB;AACpB,OAAO,EAAE,WAAW,EAAE,kCAA2B;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,uBAAgB;AAE1F,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAC1C;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAAC;CACrD;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAClD,EAAE,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAChD,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;CAC3B;AAED,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/api/entities/Asset/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EAClB,0BAAmB;AACpB,OAAO,EAAE,WAAW,EAAE,kCAA2B;AACjD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,uBAAgB;AAE1F,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAC1C;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAAC;CACrD;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAClD,EAAE,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAChD,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;CAC3B;AAED,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/entities/Asset/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/entities/Asset/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAwEA,sDAAoC;AACpC,2DAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAsset.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"createAsset.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAK7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAiB,SAAS,EAAqB,uBAAmB;AAC1F,OAAO,EAEL,2BAA2B,EAK3B,uBAAuB,EAExB,oBAAgB;AACjB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,6BAAyB;AAkBhF;;GAEG;AACH,oBAAY,MAAM,GAAG,2BAA2B,GAAG;IACjD,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,cAAc,EAAE;QACd,EAAE,EAAE,GAAG,CAAC;QACR,QAAQ,EAAE,KAAK,CAAC;KACjB,GAAG,IAAI,CAAC;IAET,MAAM,EAAE,uBAAuB,CAAC;IAEhC,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAgCD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CA4InD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,MAAM,GAC/C,OAAO,CAAC,sBAAsB,CAAC,CAkCjC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,GAC5B,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,QAAO,UAAU,MAAM,EAAE,KAAK,EAAE,OAAO,CACM,CAAC"}
|
|
@@ -15,26 +15,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.createAsset = exports.prepareStorage = exports.getAuthorization = exports.prepareCreateAsset = 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");
|
|
18
19
|
const internal_1 = require("../../internal");
|
|
19
20
|
const types_1 = require("../../types");
|
|
20
21
|
const conversion_1 = require("../../utils/conversion");
|
|
21
22
|
const internal_2 = require("../../utils/internal");
|
|
22
|
-
/**
|
|
23
|
-
* Add protocol fees for specific tags to the current accumulated total
|
|
24
|
-
*
|
|
25
|
-
* @returns undefined if fees aren't being calculated manually
|
|
26
|
-
*/
|
|
27
|
-
function addManualFees(currentFee, tags, context) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
if (!currentFee) {
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
32
|
-
const fees = yield context.getProtocolFees({
|
|
33
|
-
tags,
|
|
34
|
-
});
|
|
35
|
-
return fees.reduce((prev, { fees: nextFees }) => prev.plus(nextFees), currentFee);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
23
|
/**
|
|
39
24
|
* @throws if the Ticker is not available
|
|
40
25
|
*/
|
|
@@ -75,7 +60,7 @@ function prepareCreateAsset(args) {
|
|
|
75
60
|
const transactions = [];
|
|
76
61
|
let fee;
|
|
77
62
|
if (status === types_1.TickerReservationStatus.Free) {
|
|
78
|
-
fee = yield addManualFees(new bignumber_js_1.default(0), [types_1.TxTags.asset.RegisterTicker, types_1.TxTags.asset.CreateAsset], context);
|
|
63
|
+
fee = yield (0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.asset.RegisterTicker, types_1.TxTags.asset.CreateAsset], context);
|
|
79
64
|
}
|
|
80
65
|
/*
|
|
81
66
|
* - if the passed Asset type isn't one of the fixed ones (custom), we check if there is already
|
|
@@ -90,7 +75,7 @@ function prepareCreateAsset(args) {
|
|
|
90
75
|
* We add the fee for registering a custom asset type in case we're calculating
|
|
91
76
|
* the Asset creation fees manually
|
|
92
77
|
*/
|
|
93
|
-
fee = yield addManualFees(fee, [types_1.TxTags.asset.RegisterCustomAssetType], context);
|
|
78
|
+
fee = yield (0, utils_1.addManualFees)(fee, [types_1.TxTags.asset.RegisterCustomAssetType], context);
|
|
94
79
|
if (id.isEmpty) {
|
|
95
80
|
transactions.push((0, internal_2.checkTxType)({
|
|
96
81
|
transaction: tx.asset.createAssetWithCustomType,
|
|
@@ -112,7 +97,6 @@ function prepareCreateAsset(args) {
|
|
|
112
97
|
transactions.push((0, internal_2.checkTxType)({
|
|
113
98
|
transaction: tx.asset.createAsset,
|
|
114
99
|
fee,
|
|
115
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
116
100
|
args: [rawName, rawTicker, rawIsDivisible, rawType, rawIdentifiers, rawFundingRound],
|
|
117
101
|
}));
|
|
118
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gEAAqC;AACrC,mCAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Bytes, u32 } from '@polkadot/types';
|
|
2
|
+
import { Identity, NftCollection, Procedure } from "../../internal";
|
|
3
|
+
import { CreateNftCollectionParams, TickerReservationStatus } from "../../types";
|
|
4
|
+
import { BatchTransactionSpec, ProcedureAuthorization } from "../../types/internal";
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export declare type Params = CreateNftCollectionParams;
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export interface Storage {
|
|
13
|
+
/**
|
|
14
|
+
* fetched custom asset type ID and raw value in bytes.
|
|
15
|
+
* A null value means the type is not custom
|
|
16
|
+
*/
|
|
17
|
+
customTypeData: {
|
|
18
|
+
rawId: u32;
|
|
19
|
+
rawValue: Bytes;
|
|
20
|
+
} | null;
|
|
21
|
+
status: TickerReservationStatus;
|
|
22
|
+
signingIdentity: Identity;
|
|
23
|
+
needsLocalMetadata: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @hidden
|
|
27
|
+
*/
|
|
28
|
+
export declare function prepareCreateNftCollection(this: Procedure<Params, NftCollection, Storage>, args: Params): Promise<BatchTransactionSpec<NftCollection, unknown[][]>>;
|
|
29
|
+
/**
|
|
30
|
+
* @hidden
|
|
31
|
+
*/
|
|
32
|
+
export declare function getAuthorization(this: Procedure<Params, NftCollection, Storage>, { ticker, documents }: Params): Promise<ProcedureAuthorization>;
|
|
33
|
+
/**
|
|
34
|
+
* @hidden
|
|
35
|
+
*/
|
|
36
|
+
export declare function prepareStorage(this: Procedure<Params, NftCollection, Storage>, { ticker, nftType, collectionKeys }: Params): Promise<Storage>;
|
|
37
|
+
/**
|
|
38
|
+
* @hidden
|
|
39
|
+
*/
|
|
40
|
+
export declare const createNftCollection: () => Procedure<Params, NftCollection, Storage>;
|
|
41
|
+
//# sourceMappingURL=createNftCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createNftCollection.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createNftCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAK7C,OAAO,EAEL,QAAQ,EACR,aAAa,EAEb,SAAS,EAEV,uBAAmB;AACpB,OAAO,EAEL,yBAAyB,EAOzB,uBAAuB,EAGxB,oBAAgB;AACjB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,6BAAyB;AA4BhF;;GAEG;AACH,oBAAY,MAAM,GAAG,yBAAyB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,cAAc,EAAE;QACd,KAAK,EAAE,GAAG,CAAC;QACX,QAAQ,EAAE,KAAK,CAAC;KACjB,GAAG,IAAI,CAAC;IAET,MAAM,EAAE,uBAAuB,CAAC;IAEhC,eAAe,EAAE,QAAQ,CAAC;IAE1B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAgBD;;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,CA6H3D;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,CAyCjC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAC/C,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,MAAM,GAC1C,OAAO,CAAC,OAAO,CAAC,CAmElB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAO,UAAU,MAAM,EAAE,aAAa,EAAE,OAAO,CACF,CAAC"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createNftCollection = exports.prepareStorage = exports.getAuthorization = exports.prepareCreateNftCollection = void 0;
|
|
16
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
|
+
const lodash_1 = require("lodash");
|
|
18
|
+
const utils_1 = require("./utils");
|
|
19
|
+
const internal_1 = require("../../internal");
|
|
20
|
+
const types_1 = require("../../types");
|
|
21
|
+
const conversion_1 = require("../../utils/conversion");
|
|
22
|
+
const internal_2 = require("../../utils/internal");
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
26
|
+
function assertTickerOk(ticker) {
|
|
27
|
+
if (!(0, internal_2.isAlphanumeric)(ticker)) {
|
|
28
|
+
throw new internal_1.PolymeshError({
|
|
29
|
+
code: types_1.ErrorCode.ValidationError,
|
|
30
|
+
message: 'New Tickers can only contain alphanumeric values',
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
function isLocalMetadata(value) {
|
|
38
|
+
return value.type === types_1.MetadataType.Local;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @hidden
|
|
42
|
+
*/
|
|
43
|
+
function isGlobalMetadata(value) {
|
|
44
|
+
return value.type === types_1.MetadataType.Global;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @hidden
|
|
48
|
+
*/
|
|
49
|
+
function prepareCreateNftCollection(args) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const { context: { polymeshApi: { tx }, }, context, storage: { customTypeData, status }, } = this;
|
|
52
|
+
const { ticker, nftType, name, securityIdentifiers = [], collectionKeys, documents } = args;
|
|
53
|
+
const internalNftType = customTypeData
|
|
54
|
+
? { Custom: customTypeData.rawId }
|
|
55
|
+
: nftType;
|
|
56
|
+
const transactions = [];
|
|
57
|
+
assertTickerOk(ticker);
|
|
58
|
+
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
59
|
+
const rawName = (0, conversion_1.nameToAssetName)(name !== null && name !== void 0 ? name : ticker, context);
|
|
60
|
+
const rawType = (0, conversion_1.internalNftTypeToNftType)(internalNftType, context);
|
|
61
|
+
const rawDivisibility = (0, conversion_1.booleanToBool)(false, context);
|
|
62
|
+
const rawIdentifiers = securityIdentifiers.map(identifier => (0, conversion_1.securityIdentifierToAssetIdentifier)(identifier, context));
|
|
63
|
+
const rawFundingRound = null;
|
|
64
|
+
let nextLocalId = new bignumber_js_1.default(1);
|
|
65
|
+
let fee;
|
|
66
|
+
if (status === types_1.TickerReservationStatus.Free) {
|
|
67
|
+
const rawAssetType = (0, conversion_1.internalAssetTypeToAssetType)({ NonFungible: internalNftType }, context);
|
|
68
|
+
fee = yield (0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.asset.RegisterTicker, types_1.TxTags.asset.CreateAsset, types_1.TxTags.nft.CreateNftCollection], context);
|
|
69
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
70
|
+
transaction: tx.asset.createAsset,
|
|
71
|
+
args: [rawName, rawTicker, rawDivisibility, rawAssetType, rawIdentifiers, rawFundingRound],
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
else if (status === types_1.TickerReservationStatus.Reserved) {
|
|
75
|
+
const rawAssetType = (0, conversion_1.internalAssetTypeToAssetType)({ NonFungible: internalNftType }, context);
|
|
76
|
+
fee = yield (0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.asset.CreateAsset, types_1.TxTags.nft.CreateNftCollection], context);
|
|
77
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
78
|
+
transaction: tx.asset.createAsset,
|
|
79
|
+
args: [rawName, rawTicker, rawDivisibility, rawAssetType, rawIdentifiers, rawFundingRound],
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
else if (status === types_1.TickerReservationStatus.AssetCreated) {
|
|
83
|
+
const asset = new internal_1.Asset({ ticker }, context);
|
|
84
|
+
let nonFungible;
|
|
85
|
+
[fee, { nonFungible }, nextLocalId] = yield Promise.all([
|
|
86
|
+
(0, utils_1.addManualFees)(new bignumber_js_1.default(0), [types_1.TxTags.nft.CreateNftCollection], context),
|
|
87
|
+
asset.details(),
|
|
88
|
+
asset.metadata.getNextLocalId(),
|
|
89
|
+
]);
|
|
90
|
+
if (!nonFungible) {
|
|
91
|
+
throw new internal_1.PolymeshError({
|
|
92
|
+
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
93
|
+
message: 'Only assets with type NFT can be turned into NFT collections',
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const globalMetadataKeys = collectionKeys.filter(isGlobalMetadata);
|
|
98
|
+
const localMetadataKeys = collectionKeys.filter(isLocalMetadata);
|
|
99
|
+
localMetadataKeys.forEach(localKey => {
|
|
100
|
+
const { name: metaName, spec } = localKey;
|
|
101
|
+
const rawMetadataName = (0, conversion_1.stringToBytes)(metaName, context);
|
|
102
|
+
const rawSpec = (0, conversion_1.metadataSpecToMeshMetadataSpec)(spec, context);
|
|
103
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
104
|
+
transaction: tx.asset.registerAssetMetadataLocalType,
|
|
105
|
+
args: [rawTicker, rawMetadataName, rawSpec],
|
|
106
|
+
}));
|
|
107
|
+
});
|
|
108
|
+
const keyValues = [
|
|
109
|
+
...globalMetadataKeys,
|
|
110
|
+
...localMetadataKeys.map((key, index) => {
|
|
111
|
+
return {
|
|
112
|
+
type: types_1.MetadataType.Local,
|
|
113
|
+
id: nextLocalId.plus(index),
|
|
114
|
+
};
|
|
115
|
+
}),
|
|
116
|
+
];
|
|
117
|
+
const rawCollectionKeys = (0, conversion_1.collectionKeysToMetadataKeys)(keyValues, context);
|
|
118
|
+
if (documents === null || documents === void 0 ? void 0 : documents.length) {
|
|
119
|
+
const rawDocuments = documents.map(doc => (0, conversion_1.assetDocumentToDocument)(doc, context));
|
|
120
|
+
const feeMultiplier = new bignumber_js_1.default(rawDocuments.length);
|
|
121
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
122
|
+
transaction: tx.asset.addDocuments,
|
|
123
|
+
feeMultiplier,
|
|
124
|
+
args: [rawDocuments, rawTicker],
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
128
|
+
transaction: tx.nft.createNftCollection,
|
|
129
|
+
fee,
|
|
130
|
+
args: [rawTicker, rawType, rawCollectionKeys],
|
|
131
|
+
}));
|
|
132
|
+
return {
|
|
133
|
+
transactions,
|
|
134
|
+
resolver: new internal_1.NftCollection({ ticker }, context),
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
exports.prepareCreateNftCollection = prepareCreateNftCollection;
|
|
139
|
+
/**
|
|
140
|
+
* @hidden
|
|
141
|
+
*/
|
|
142
|
+
function getAuthorization({ ticker, documents }) {
|
|
143
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
const { storage: { status, needsLocalMetadata }, context, } = this;
|
|
145
|
+
const transactions = [types_1.TxTags.nft.CreateNftCollection];
|
|
146
|
+
if (status !== types_1.TickerReservationStatus.AssetCreated) {
|
|
147
|
+
transactions.push(types_1.TxTags.asset.CreateAsset);
|
|
148
|
+
}
|
|
149
|
+
if (needsLocalMetadata) {
|
|
150
|
+
transactions.push(types_1.TxTags.asset.RegisterAssetMetadataLocalType);
|
|
151
|
+
}
|
|
152
|
+
if (documents === null || documents === void 0 ? void 0 : documents.length) {
|
|
153
|
+
transactions.push(types_1.TxTags.asset.AddDocuments);
|
|
154
|
+
}
|
|
155
|
+
const permissions = {
|
|
156
|
+
transactions,
|
|
157
|
+
assets: [],
|
|
158
|
+
portfolios: [],
|
|
159
|
+
};
|
|
160
|
+
if (status === types_1.TickerReservationStatus.Reserved) {
|
|
161
|
+
return {
|
|
162
|
+
permissions,
|
|
163
|
+
roles: [{ type: types_1.RoleType.TickerOwner, ticker }],
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
else if (status === types_1.TickerReservationStatus.AssetCreated) {
|
|
167
|
+
return {
|
|
168
|
+
permissions: Object.assign(Object.assign({}, permissions), { assets: [new internal_1.Asset({ ticker }, context)] }),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
return { permissions };
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
exports.getAuthorization = getAuthorization;
|
|
175
|
+
/**
|
|
176
|
+
* @hidden
|
|
177
|
+
*/
|
|
178
|
+
function prepareStorage({ ticker, nftType, collectionKeys }) {
|
|
179
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
180
|
+
const { context } = this;
|
|
181
|
+
const needsLocalMetadata = collectionKeys.some(isLocalMetadata);
|
|
182
|
+
const reservation = new internal_1.TickerReservation({ ticker }, context);
|
|
183
|
+
const nft = new internal_1.NftCollection({ ticker }, context);
|
|
184
|
+
const [{ status }, signingIdentity, collectionExists] = yield Promise.all([
|
|
185
|
+
reservation.details(),
|
|
186
|
+
context.getSigningIdentity(),
|
|
187
|
+
nft.exists(),
|
|
188
|
+
]);
|
|
189
|
+
if (collectionExists) {
|
|
190
|
+
throw new internal_1.PolymeshError({
|
|
191
|
+
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
192
|
+
message: 'An NFT collection already exists with the ticker',
|
|
193
|
+
data: { ticker },
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
let customTypeData;
|
|
197
|
+
if (nftType instanceof bignumber_js_1.default) {
|
|
198
|
+
const rawId = (0, conversion_1.bigNumberToU32)(nftType, context);
|
|
199
|
+
const rawValue = yield context.polymeshApi.query.asset.customTypes(rawId);
|
|
200
|
+
if (rawValue.isEmpty) {
|
|
201
|
+
throw new internal_1.PolymeshError({
|
|
202
|
+
code: types_1.ErrorCode.DataUnavailable,
|
|
203
|
+
message: 'createNftCollection was given a custom type ID that does not have an corresponding value',
|
|
204
|
+
data: { nftType },
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
customTypeData = {
|
|
208
|
+
rawId,
|
|
209
|
+
rawValue,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
else if (!(0, lodash_1.values)(types_1.KnownNftType).includes(nftType)) {
|
|
213
|
+
const rawValue = (0, conversion_1.stringToBytes)(nftType, context);
|
|
214
|
+
const rawId = yield context.polymeshApi.query.asset.customTypesInverse(rawValue);
|
|
215
|
+
if (rawId.isNone) {
|
|
216
|
+
throw new internal_1.PolymeshError({
|
|
217
|
+
code: types_1.ErrorCode.DataUnavailable,
|
|
218
|
+
message: 'createNftCollection procedure was given a custom type string that does not have a corresponding ID. Register the type and try again',
|
|
219
|
+
data: { nftType },
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
customTypeData = {
|
|
223
|
+
rawId: rawId.unwrap(),
|
|
224
|
+
rawValue,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
customTypeData = null;
|
|
229
|
+
}
|
|
230
|
+
return {
|
|
231
|
+
customTypeData,
|
|
232
|
+
status,
|
|
233
|
+
signingIdentity,
|
|
234
|
+
needsLocalMetadata,
|
|
235
|
+
};
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
exports.prepareStorage = prepareStorage;
|
|
239
|
+
/**
|
|
240
|
+
* @hidden
|
|
241
|
+
*/
|
|
242
|
+
const createNftCollection = () => new internal_1.Procedure(prepareCreateNftCollection, getAuthorization, prepareStorage);
|
|
243
|
+
exports.createNftCollection = createNftCollection;
|
|
244
|
+
//# sourceMappingURL=createNftCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createNftCollection.js","sourceRoot":"","sources":["../../../src/api/procedures/createNftCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { Account, Asset, AuthorizationRequest, CheckpointSchedule, ChildIdentity, CorporateActionBase, CustomPermissionGroup, DefaultPortfolio, Identity, KnownPermissionGroup, MultiSig, NumberedPortfolio, Venue } from "../../internal";
|
|
3
|
-
import { ActiveTransferRestrictions, AddCountStatInput, AssetDocument, ClaimCountStatInput, ClaimCountTransferRestriction, ClaimPercentageTransferRestriction, ClaimTarget, CountTransferRestriction, InputCaCheckpoint, InputCondition, InputCorporateActionTargets, InputCorporateActionTaxWithholdings, InputStatClaim, InputStatType, InputTargets, InputTaxWithholding, InputTrustedClaimIssuer, MetadataSpec, MetadataValueDetails, OfferingTier, PercentageTransferRestriction, PermissionedAccount, PermissionsLike, PortfolioLike, PortfolioMovement, Requirement, Scope, SecurityIdentifier, Signer, StatClaimIssuer, StatType, TransactionArray, TransactionPermissions, TxGroup, VenueType } from "../../types";
|
|
3
|
+
import { ActiveTransferRestrictions, AddCountStatInput, AssetDocument, ClaimCountStatInput, ClaimCountTransferRestriction, ClaimPercentageTransferRestriction, ClaimTarget, CountTransferRestriction, InputCaCheckpoint, InputCondition, InputCorporateActionTargets, InputCorporateActionTaxWithholdings, InputStatClaim, InputStatType, InputTargets, InputTaxWithholding, InputTrustedClaimIssuer, KnownNftType, MetadataSpec, MetadataType, MetadataValueDetails, OfferingTier, PercentageTransferRestriction, PermissionedAccount, PermissionsLike, PortfolioLike, PortfolioMovement, Requirement, Scope, SecurityIdentifier, Signer, StatClaimIssuer, StatType, TransactionArray, TransactionPermissions, TxGroup, VenueType } from "../../types";
|
|
4
4
|
import { Modify } from "../../types/utils";
|
|
5
5
|
export declare type AddRestrictionParams<T> = Omit<T extends TransferRestrictionType.Count ? AddCountTransferRestrictionParams : T extends TransferRestrictionType.Percentage ? AddPercentageTransferRestrictionParams : T extends TransferRestrictionType.ClaimCount ? AddClaimCountTransferRestrictionParams : AddClaimPercentageTransferRestrictionParams, 'type'>;
|
|
6
6
|
export declare type SetRestrictionsParams<T> = Omit<T extends TransferRestrictionType.Count ? SetCountTransferRestrictionsParams : T extends TransferRestrictionType.Percentage ? SetPercentageTransferRestrictionsParams : T extends TransferRestrictionType.ClaimCount ? SetClaimCountTransferRestrictionsParams : SetClaimPercentageTransferRestrictionsParams, 'type'>;
|
|
@@ -193,6 +193,46 @@ export interface CreateAssetParams {
|
|
|
193
193
|
export interface CreateAssetWithTickerParams extends CreateAssetParams {
|
|
194
194
|
ticker: string;
|
|
195
195
|
}
|
|
196
|
+
export interface GlobalCollectionKeyInput {
|
|
197
|
+
type: MetadataType.Global;
|
|
198
|
+
id: BigNumber;
|
|
199
|
+
}
|
|
200
|
+
export interface LocalCollectionKeyInput {
|
|
201
|
+
type: MetadataType.Local;
|
|
202
|
+
name: string;
|
|
203
|
+
spec: MetadataSpec;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Global key must be registered. local keys must provide a specification as they are created with the NftCollection
|
|
207
|
+
*/
|
|
208
|
+
export declare type CollectionKeyInput = GlobalCollectionKeyInput | LocalCollectionKeyInput;
|
|
209
|
+
export interface CreateNftCollectionParams {
|
|
210
|
+
/**
|
|
211
|
+
* The primary identifier for the collection. The ticker must either be free, or the signer has appropriate permissions if reserved
|
|
212
|
+
*/
|
|
213
|
+
ticker: string;
|
|
214
|
+
/**
|
|
215
|
+
* The collection name. defaults to `ticker`
|
|
216
|
+
*/
|
|
217
|
+
name?: string;
|
|
218
|
+
/**
|
|
219
|
+
* @throws if provided string that does not have a custom type
|
|
220
|
+
* @throws if provided a BigNumber that does not correspond to a custom type
|
|
221
|
+
*/
|
|
222
|
+
nftType: KnownNftType | string | BigNumber;
|
|
223
|
+
/**
|
|
224
|
+
* array of domestic or international alphanumeric security identifiers for the Asset (e.g. ISIN, CUSIP, FIGI)
|
|
225
|
+
*/
|
|
226
|
+
securityIdentifiers?: SecurityIdentifier[];
|
|
227
|
+
/**
|
|
228
|
+
* The required metadata values each NFT in the collection will have
|
|
229
|
+
*/
|
|
230
|
+
collectionKeys: CollectionKeyInput[];
|
|
231
|
+
/**
|
|
232
|
+
* Links to off chain documents related to the NftCollection
|
|
233
|
+
*/
|
|
234
|
+
documents?: AssetDocument[];
|
|
235
|
+
}
|
|
196
236
|
export interface ReserveTickerParams {
|
|
197
237
|
/**
|
|
198
238
|
* ticker symbol to reserve
|