@polymeshassociation/polymesh-sdk 23.0.0-alpha.8 → 23.0.0-alpha.9
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/entities/Asset/Base/BaseAsset.d.ts +0 -1
- package/api/entities/Asset/Base/BaseAsset.d.ts.map +1 -1
- package/api/entities/Asset/Base/BaseAsset.js +0 -1
- package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts +2 -2
- package/api/entities/Asset/NonFungible/Nft.d.ts +39 -0
- package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -0
- package/api/entities/Asset/NonFungible/Nft.js +87 -0
- package/api/entities/Asset/NonFungible/Nft.js.map +1 -0
- package/api/entities/Asset/NonFungible/NftCollection.d.ts +25 -1
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.js +42 -2
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
- package/api/entities/Asset/NonFungible/index.d.ts +1 -0
- package/api/entities/Asset/NonFungible/index.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/index.js +1 -0
- package/api/entities/Asset/NonFungible/index.js.map +1 -1
- package/api/entities/Asset/types.d.ts +13 -1
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/procedures/issueNft.d.ts +35 -0
- package/api/procedures/issueNft.d.ts.map +1 -0
- package/api/procedures/issueNft.js +98 -0
- package/api/procedures/issueNft.js.map +1 -0
- package/api/procedures/types.d.ts +10 -1
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js.map +1 -1
- package/internal.d.ts +1 -1
- package/internal.d.ts.map +1 -1
- package/internal.js +3 -2
- package/internal.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-alpha.9.tgz +0 -0
- package/package.json +1 -1
- package/utils/conversion.d.ts +21 -2
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +46 -2
- package/utils/conversion.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-alpha.8.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# [23.0.0-alpha.
|
|
1
|
+
# [23.0.0-alpha.9](https://github.com/PolymeshAssociation/polymesh-sdk/compare/v23.0.0-alpha.8...v23.0.0-alpha.9) (2023-10-04)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
* 🎸
|
|
6
|
+
* 🎸 add `issue` to NftCollection to create NFTs ([88d0d03](https://github.com/PolymeshAssociation/polymesh-sdk/commit/88d0d03550c0f2742b8d3f8f927922898c7db0b5))
|
|
@@ -7,7 +7,6 @@ import { AssetDetails, AuthorizationRequest, NoArgsProcedureMethod, ProcedureMet
|
|
|
7
7
|
/**
|
|
8
8
|
* Class used to manage functionality common to all assets.
|
|
9
9
|
*
|
|
10
|
-
* @hidden
|
|
11
10
|
*/
|
|
12
11
|
export declare class BaseAsset extends Entity<UniqueIdentifiers, string> {
|
|
13
12
|
compliance: Compliance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAsset.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Base/BaseAsset.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,qBAA6C;AAClE,OAAO,EAAE,SAAS,EAAE,oBAA4C;AAChE,OAAO,EAAE,QAAQ,EAAE,mBAA2C;AAC9D,OAAO,EAAE,WAAW,EAAE,sBAA8C;AACpE,OAAO,EACL,OAAO,EACP,MAAM,EAKP,6BAAmB;AACpB,OAAO,EACL,YAAY,EACZ,oBAAoB,EAEpB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACd,0BAAgB;AAcjB
|
|
1
|
+
{"version":3,"file":"BaseAsset.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Base/BaseAsset.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,qBAA6C;AAClE,OAAO,EAAE,SAAS,EAAE,oBAA4C;AAChE,OAAO,EAAE,QAAQ,EAAE,mBAA2C;AAC9D,OAAO,EAAE,WAAW,EAAE,sBAA8C;AACpE,OAAO,EACL,OAAO,EACP,MAAM,EAKP,6BAAmB;AACpB,OAAO,EACL,YAAY,EACZ,oBAAoB,EAEpB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACd,0BAAgB;AAcjB;;;GAGG;AACH,qBAAa,SAAU,SAAQ,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEvD,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IAEhC;;OAEG;IACI,GAAG,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACI,MAAM,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACI,iBAAiB,EAAE,eAAe,CAAC,4BAA4B,EAAE,oBAAoB,CAAC,CAAC;IAE9F;;;OAGG;WACoB,mBAAmB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,IAAI,iBAAiB;IAMhG;;;;OAIG;gBACS,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAkC5D;;OAEG;IACI,MAAM,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE3C;;OAEG;IACI,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;OAIG;IACI,cAAc,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC/C,cAAc,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA8B3F;;;;OAIG;IACI,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA4BvE;;;;OAIG;IACI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAChC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAyF3E;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBvC;;OAEG;IACI,OAAO,IAAI,MAAM;CAGzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAsset.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Base/BaseAsset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,gEAAqC;AAErC,6CAAkE;AAClE,2CAAgE;AAChE,yCAA8D;AAC9D,+CAAoE;AACpE,mDAOoB;AACpB,6CAWiB;AACjB,6CAAsC;AACtC,6DAS4B;AAC5B,yDAAyD;AAEzD
|
|
1
|
+
{"version":3,"file":"BaseAsset.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Base/BaseAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare class Count extends TransferRestrictionBase<TransferRestrictionTy
|
|
|
17
17
|
*
|
|
18
18
|
* @returns the total amount of restrictions after the procedure has run
|
|
19
19
|
*
|
|
20
|
-
* @throws if a count statistic is not enabled for the Asset. {@link api/entities/Asset/TransferRestrictions/Count!Count.enableStat | Count.enableStat } should be called before this method
|
|
20
|
+
* @throws if a count statistic is not enabled for the Asset. {@link api/entities/Asset/Fungible/TransferRestrictions/Count!Count.enableStat | Count.enableStat } should be called before this method
|
|
21
21
|
*/
|
|
22
22
|
addRestriction: ProcedureMethod<Omit<AddCountTransferRestrictionParams, 'type'>, BigNumber>;
|
|
23
23
|
/**
|
|
@@ -39,7 +39,7 @@ export declare class Count extends TransferRestrictionBase<TransferRestrictionTy
|
|
|
39
39
|
* Enables an investor count statistic for the Asset, which is required before creating restrictions
|
|
40
40
|
*
|
|
41
41
|
* The counter is only updated automatically with each transfer of tokens after the stat has been enabled.
|
|
42
|
-
* As such the initial value for the stat should be passed in, which can be fetched with {@link api/entities/Asset/TransferRestrictions/Count!Count.investorCount | Count.investorCount }
|
|
42
|
+
* As such the initial value for the stat should be passed in, which can be fetched with {@link api/entities/Asset/Fungible/TransferRestrictions/Count!Count.investorCount | Count.investorCount }
|
|
43
43
|
*
|
|
44
44
|
* @note Currently there is a potential race condition if passing in counts values when the Asset is being traded.
|
|
45
45
|
* It is recommended to call this method during the initial configuration of the Asset, before people are trading it.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { Context, Entity, NftCollection } from "../../../../internal";
|
|
3
|
+
import { NftMetadata } from "../../../../types";
|
|
4
|
+
export declare type NftUniqueIdentifiers = {
|
|
5
|
+
ticker: string;
|
|
6
|
+
id: BigNumber;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Class used to manage Nft functionality
|
|
10
|
+
*/
|
|
11
|
+
export declare class Nft extends Entity<NftUniqueIdentifiers, string> {
|
|
12
|
+
ticker: string;
|
|
13
|
+
id: BigNumber;
|
|
14
|
+
collection: NftCollection;
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
* Check if a value is of type {@link UniqueIdentifiers}
|
|
18
|
+
*/
|
|
19
|
+
static isUniqueIdentifiers(identifier: unknown): identifier is NftUniqueIdentifiers;
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
constructor(identifiers: NftUniqueIdentifiers, context: Context);
|
|
24
|
+
/**
|
|
25
|
+
* Get metadata associated with this token
|
|
26
|
+
*/
|
|
27
|
+
getMetadata(): Promise<NftMetadata[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Determine if the NFT exists on chain
|
|
30
|
+
*
|
|
31
|
+
* @note This method returns true, even if the token has been redeemed/burned
|
|
32
|
+
*/
|
|
33
|
+
exists(): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
toHuman(): string;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=Nft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nft.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,6BAAmB;AAC5D,OAAO,EAAE,WAAW,EAAE,0BAAgB;AAQtC,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,SAAS,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,GAAI,SAAQ,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,EAAE,EAAE,SAAS,CAAC;IAEd,UAAU,EAAE,aAAa,CAAC;IAEjC;;;OAGG;WACoB,mBAAmB,CACxC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,oBAAoB;IAMrC;;OAEG;gBACS,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;IAW/D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA0BlD;;;;OAIG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBvC;;OAEG;IACI,OAAO,IAAI,MAAM;CAQzB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
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.Nft = void 0;
|
|
16
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
|
+
const internal_1 = require("../../../../internal");
|
|
18
|
+
const conversion_1 = require("../../../../utils/conversion");
|
|
19
|
+
/**
|
|
20
|
+
* Class used to manage Nft functionality
|
|
21
|
+
*/
|
|
22
|
+
class Nft extends internal_1.Entity {
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
26
|
+
constructor(identifiers, context) {
|
|
27
|
+
super(identifiers, context);
|
|
28
|
+
const { ticker, id } = identifiers;
|
|
29
|
+
this.ticker = ticker;
|
|
30
|
+
this.id = id;
|
|
31
|
+
this.collection = new internal_1.NftCollection({ ticker }, context);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @hidden
|
|
35
|
+
* Check if a value is of type {@link UniqueIdentifiers}
|
|
36
|
+
*/
|
|
37
|
+
static isUniqueIdentifiers(identifier) {
|
|
38
|
+
const { ticker, id } = identifier;
|
|
39
|
+
return typeof ticker === 'string' && id instanceof bignumber_js_1.default;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get metadata associated with this token
|
|
43
|
+
*/
|
|
44
|
+
getMetadata() {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const { id, context, collection, context: { polymeshApi: { query }, }, } = this;
|
|
47
|
+
const collectionId = yield collection.getCollectionId();
|
|
48
|
+
const rawCollectionId = (0, conversion_1.bigNumberToU64)(collectionId, context);
|
|
49
|
+
const rawId = (0, conversion_1.bigNumberToU64)(id, context);
|
|
50
|
+
const entries = yield query.nft.metadataValue.entries([rawCollectionId, rawId]);
|
|
51
|
+
return entries.map(([storageKey, rawValue]) => {
|
|
52
|
+
const rawMetadataKey = storageKey.args[1];
|
|
53
|
+
const key = (0, conversion_1.meshMetadataKeyToMetadataKey)(rawMetadataKey, collection.ticker);
|
|
54
|
+
const value = (0, conversion_1.bytesToString)(rawValue);
|
|
55
|
+
return { key, value };
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Determine if the NFT exists on chain
|
|
61
|
+
*
|
|
62
|
+
* @note This method returns true, even if the token has been redeemed/burned
|
|
63
|
+
*/
|
|
64
|
+
exists() {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const { context, context: { polymeshApi: { query }, }, collection, id, } = this;
|
|
67
|
+
const collectionId = yield collection.getCollectionId();
|
|
68
|
+
const rawCollectionId = (0, conversion_1.bigNumberToU64)(collectionId, context);
|
|
69
|
+
// note: "nextId" is actually the last used id
|
|
70
|
+
const rawNextId = yield query.nft.nextNFTId(rawCollectionId);
|
|
71
|
+
const nextId = (0, conversion_1.u64ToBigNumber)(rawNextId);
|
|
72
|
+
return id.lte(nextId);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @hidden
|
|
77
|
+
*/
|
|
78
|
+
toHuman() {
|
|
79
|
+
const { ticker, id } = this;
|
|
80
|
+
return JSON.stringify({
|
|
81
|
+
ticker,
|
|
82
|
+
id,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.Nft = Nft;
|
|
87
|
+
//# sourceMappingURL=Nft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nft.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,mDAA4D;AAE5D,6DAK4B;AAO5B;;GAEG;AACH,MAAa,GAAI,SAAQ,iBAAoC;IAmB3D;;OAEG;IACH,YAAY,WAAiC,EAAE,OAAgB;QAC7D,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE5B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;QAEnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAa,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAxBD;;;OAGG;IACI,MAAM,CAAU,mBAAmB,CACxC,UAAmB;QAEnB,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,UAAkC,CAAC;QAE1D,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,EAAE,YAAY,sBAAS,CAAC;IAC/D,CAAC;IAgBD;;OAEG;IACU,WAAW;;YACtB,MAAM,EACJ,EAAE,EACF,OAAO,EACP,UAAU,EACV,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,KAAK,EAAE,GACvB,GACF,GAAG,IAAI,CAAC;YAET,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;YAExD,MAAM,eAAe,GAAG,IAAA,2BAAc,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,IAAA,2BAAc,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAE1C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;YAEhF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAA,yCAA4B,EAAC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5E,MAAM,KAAK,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,CAAC;gBAEtC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;OAIG;IACU,MAAM;;YACjB,MAAM,EACJ,OAAO,EACP,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,KAAK,EAAE,GACvB,EACD,UAAU,EACV,EAAE,GACH,GAAG,IAAI,CAAC;YACT,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;YACxD,MAAM,eAAe,GAAG,IAAA,2BAAc,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAE9D,8CAA8C;YAC9C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAA,2BAAc,EAAC,SAAS,CAAC,CAAC;YAEzC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;KAAA;IAED;;OAEG;IACI,OAAO;QACZ,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAE5B,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM;YACN,EAAE;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAjGD,kBAiGC"}
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { BaseAsset } from "../Base";
|
|
3
|
-
import {
|
|
3
|
+
import { Nft } from "./Nft";
|
|
4
|
+
import { Context } from "../../../../internal";
|
|
5
|
+
import { AssetDetails, EventIdentifier, IssueNftParams, MetadataKeyId, ProcedureMethod, SubCallback, UniqueIdentifiers, UnsubCallback } from "../../../../types";
|
|
4
6
|
/**
|
|
5
7
|
* Class used to manage Nft functionality
|
|
6
8
|
*/
|
|
7
9
|
export declare class NftCollection extends BaseAsset {
|
|
10
|
+
/**
|
|
11
|
+
* Issues a new NFT for the collection
|
|
12
|
+
*/
|
|
13
|
+
issue: ProcedureMethod<IssueNftParams, Nft>;
|
|
14
|
+
/**
|
|
15
|
+
* Caches value for `getCollectionId`
|
|
16
|
+
*
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
private id?;
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
constructor(identifiers: UniqueIdentifiers, context: Context);
|
|
8
24
|
/**
|
|
9
25
|
* Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
|
|
10
26
|
*
|
|
@@ -19,6 +35,10 @@ export declare class NftCollection extends BaseAsset {
|
|
|
19
35
|
*/
|
|
20
36
|
details(): Promise<AssetDetails>;
|
|
21
37
|
details(callback: SubCallback<AssetDetails>): Promise<UnsubCallback>;
|
|
38
|
+
/**
|
|
39
|
+
* Get metadata keys that each NFT in the collection must have
|
|
40
|
+
*/
|
|
41
|
+
collectionMetadataKeys(): Promise<MetadataKeyId[]>;
|
|
22
42
|
/**
|
|
23
43
|
* Retrieve the amount of unique investors that hold this Nft
|
|
24
44
|
*/
|
|
@@ -27,5 +47,9 @@ export declare class NftCollection extends BaseAsset {
|
|
|
27
47
|
* Determine whether this NftCollection exists on chain
|
|
28
48
|
*/
|
|
29
49
|
exists(): Promise<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* Returns the collection id
|
|
52
|
+
*/
|
|
53
|
+
getCollectionId(): Promise<BigNumber>;
|
|
30
54
|
}
|
|
31
55
|
//# sourceMappingURL=NftCollection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NftCollection.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,gBAAkC;
|
|
1
|
+
{"version":3,"file":"NftCollection.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,gBAAkC;AACtD,OAAO,EAAE,GAAG,EAAE,cAA6C;AAE3D,OAAO,EAAE,OAAO,EAA0B,6BAAmB;AAG7D,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,EACd,0BAAgB;AAuBjB;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C;;OAEG;IACI,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAEnD;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,CAAY;IAEvB;;OAEG;gBACS,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAkB5D;;;;;OAKG;IACU,SAAS,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAkBzD;;;;OAIG;IACa,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAChC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CpF;;OAEG;IACU,sBAAsB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAgB/D;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC;IAkBhD;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAUhD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;CAoBnD"}
|
|
@@ -15,9 +15,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.NftCollection = void 0;
|
|
16
16
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
17
|
const Base_1 = require("../Base");
|
|
18
|
+
const issueNft_1 = require("../../../procedures/issueNft");
|
|
19
|
+
const internal_1 = require("../../../../internal");
|
|
18
20
|
const queries_1 = require("../../../../middleware/queries");
|
|
19
21
|
const conversion_1 = require("../../../../utils/conversion");
|
|
20
|
-
const
|
|
22
|
+
const internal_2 = require("../../../../utils/internal");
|
|
21
23
|
const sumNftIssuance = (numberOfNfts) => {
|
|
22
24
|
let numberIssued = new bignumber_js_1.default(0);
|
|
23
25
|
numberOfNfts.forEach(([, holderEntry]) => {
|
|
@@ -30,6 +32,17 @@ const sumNftIssuance = (numberOfNfts) => {
|
|
|
30
32
|
* Class used to manage Nft functionality
|
|
31
33
|
*/
|
|
32
34
|
class NftCollection extends Base_1.BaseAsset {
|
|
35
|
+
/**
|
|
36
|
+
* @hidden
|
|
37
|
+
*/
|
|
38
|
+
constructor(identifiers, context) {
|
|
39
|
+
super(identifiers, context);
|
|
40
|
+
const { ticker } = identifiers;
|
|
41
|
+
this.transferOwnership = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.transferAssetOwnership, Object.assign({ ticker }, args)] }, context);
|
|
42
|
+
this.issue = (0, internal_2.createProcedureMethod)({
|
|
43
|
+
getProcedureAndArgs: args => [issueNft_1.issueNft, Object.assign({ ticker }, args)],
|
|
44
|
+
}, context);
|
|
45
|
+
}
|
|
33
46
|
/**
|
|
34
47
|
* Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
|
|
35
48
|
*
|
|
@@ -42,7 +55,7 @@ class NftCollection extends Base_1.BaseAsset {
|
|
|
42
55
|
const { data: { assets: { nodes: [asset], }, }, } = yield context.queryMiddleware((0, queries_1.assetQuery)({
|
|
43
56
|
ticker,
|
|
44
57
|
}));
|
|
45
|
-
return (0,
|
|
58
|
+
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);
|
|
46
59
|
});
|
|
47
60
|
}
|
|
48
61
|
// eslint-disable-next-line require-jsdoc
|
|
@@ -73,6 +86,18 @@ class NftCollection extends Base_1.BaseAsset {
|
|
|
73
86
|
return Object.assign(Object.assign({}, commonDetails), { totalSupply: numberIssued });
|
|
74
87
|
});
|
|
75
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Get metadata keys that each NFT in the collection must have
|
|
91
|
+
*/
|
|
92
|
+
collectionMetadataKeys() {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const { context, ticker, context: { polymeshApi: { query }, }, } = this;
|
|
95
|
+
const id = yield this.getCollectionId();
|
|
96
|
+
const rawId = (0, conversion_1.bigNumberToU64)(id, context);
|
|
97
|
+
const rawKeys = yield query.nft.collectionKeys(rawId);
|
|
98
|
+
return [...rawKeys].map(value => (0, conversion_1.meshMetadataKeyToMetadataKey)(value, ticker));
|
|
99
|
+
});
|
|
100
|
+
}
|
|
76
101
|
/**
|
|
77
102
|
* Retrieve the amount of unique investors that hold this Nft
|
|
78
103
|
*/
|
|
@@ -95,6 +120,21 @@ class NftCollection extends Base_1.BaseAsset {
|
|
|
95
120
|
return !rawTokenId.isZero();
|
|
96
121
|
});
|
|
97
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Returns the collection id
|
|
125
|
+
*/
|
|
126
|
+
getCollectionId() {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
const { ticker, context, context: { polymeshApi: { query }, }, } = this;
|
|
129
|
+
if (this.id) {
|
|
130
|
+
return this.id;
|
|
131
|
+
}
|
|
132
|
+
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
133
|
+
const rawId = yield query.nft.collectionTicker(rawTicker);
|
|
134
|
+
this.id = (0, conversion_1.u64ToBigNumber)(rawId);
|
|
135
|
+
return this.id;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
98
138
|
}
|
|
99
139
|
exports.NftCollection = NftCollection;
|
|
100
140
|
//# sourceMappingURL=NftCollection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NftCollection.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,gEAAqC;AAErC,kCAAsD;
|
|
1
|
+
{"version":3,"file":"NftCollection.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./NftCollection"), exports);
|
|
18
|
+
__exportStar(require("./Nft"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,wCAAsB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { CustomPermissionGroup, DefaultPortfolio, FungibleAsset, Identity, KnownPermissionGroup, NumberedPortfolio } from "../../../internal";
|
|
3
3
|
import { EventIdEnum } from "../../../middleware/enums";
|
|
4
|
-
import { Compliance, EventIdentifier, TransferError, TransferRestriction } from "../../../types";
|
|
4
|
+
import { Compliance, EventIdentifier, MetadataType, TransferError, TransferRestriction } from "../../../types";
|
|
5
5
|
/**
|
|
6
6
|
* Properties that uniquely identify an Asset
|
|
7
7
|
*/
|
|
@@ -64,6 +64,18 @@ export interface HistoricAssetTransaction extends EventIdentifier {
|
|
|
64
64
|
event: EventIdEnum;
|
|
65
65
|
extrinsicIndex: BigNumber;
|
|
66
66
|
}
|
|
67
|
+
export declare type MetadataKeyId = {
|
|
68
|
+
type: MetadataType.Global;
|
|
69
|
+
id: BigNumber;
|
|
70
|
+
} | {
|
|
71
|
+
type: MetadataType.Local;
|
|
72
|
+
id: BigNumber;
|
|
73
|
+
ticker: string;
|
|
74
|
+
};
|
|
75
|
+
export interface NftMetadata {
|
|
76
|
+
key: MetadataKeyId;
|
|
77
|
+
value: string;
|
|
78
|
+
}
|
|
67
79
|
export * from './Fungible/Checkpoints/types';
|
|
68
80
|
export * from './Fungible/CorporateActions/types';
|
|
69
81
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -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,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EAClB,0BAAmB;AACpB,OAAO,EAAE,WAAW,EAAE,kCAA2B;AACjD,OAAO,
|
|
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,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EAClB,0BAAmB;AACpB,OAAO,EAAE,WAAW,EAAE,kCAA2B;AACjD,OAAO,EACL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EACpB,uBAAgB;AAEjB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,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,aAAa,CAAC;IACrB,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,oBAAY,aAAa,GACrB;IACE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,EAAE,EAAE,SAAS,CAAC;CACf,GACD;IACE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;IACzB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,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":";;;;;;;;;;;;;;;;AAwGA,+DAA6C;AAC7C,oEAAkD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ISubmittableResult } from '@polkadot/types/types';
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { Nft } from "../entities/Asset/NonFungible/Nft";
|
|
4
|
+
import { Context, NftCollection, Procedure } from "../../internal";
|
|
5
|
+
import { NftMetadataInput } from "../../types";
|
|
6
|
+
import { ExtrinsicParams, ProcedureAuthorization, TransactionSpec } from "../../types/internal";
|
|
7
|
+
export interface IssueNftParams {
|
|
8
|
+
ticker: string;
|
|
9
|
+
portfolioId?: BigNumber;
|
|
10
|
+
metadata: NftMetadataInput[];
|
|
11
|
+
}
|
|
12
|
+
export interface Storage {
|
|
13
|
+
collection: NftCollection;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
18
|
+
export declare const issueNftResolver: (context: Context) => (receipt: ISubmittableResult) => Nft;
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
export declare function prepareIssueNft(this: Procedure<IssueNftParams, Nft, Storage>, args: IssueNftParams): Promise<TransactionSpec<Nft, ExtrinsicParams<'nft', 'issueNft'>>>;
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
26
|
+
export declare function getAuthorization(this: Procedure<IssueNftParams, Nft, Storage>): ProcedureAuthorization;
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
export declare function prepareStorage(this: Procedure<IssueNftParams, Nft, Storage>, { ticker }: IssueNftParams): Storage;
|
|
31
|
+
/**
|
|
32
|
+
* @hidden
|
|
33
|
+
*/
|
|
34
|
+
export declare const issueNft: () => Procedure<IssueNftParams, Nft, Storage>;
|
|
35
|
+
//# sourceMappingURL=issueNft.d.ts.map
|
|
@@ -0,0 +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;AAC3D,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,GAAG,EAAE,0CAA6C;AAC3D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAiB,SAAS,EAAE,uBAAmB;AAC9E,OAAO,EAAa,gBAAgB,EAAU,oBAAgB;AAC9D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,6BAAyB;AAS5F,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,YACjB,OAAO,eACP,kBAAkB,KAAG,GAM9B,CAAC;AAEJ;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,EAC7C,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAoDnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,GAC5C,sBAAsB,CAWxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,EAC7C,EAAE,MAAM,EAAE,EAAE,cAAc,GACzB,OAAO,CAMT;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAO,UAAU,cAAc,EAAE,GAAG,EAAE,OAAO,CACA,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.issueNft = exports.prepareStorage = exports.getAuthorization = exports.prepareIssueNft = exports.issueNftResolver = void 0;
|
|
13
|
+
const Nft_1 = require("../entities/Asset/NonFungible/Nft");
|
|
14
|
+
const internal_1 = require("../../internal");
|
|
15
|
+
const types_1 = require("../../types");
|
|
16
|
+
const conversion_1 = require("../../utils/conversion");
|
|
17
|
+
const internal_2 = require("../../utils/internal");
|
|
18
|
+
/**
|
|
19
|
+
* @hidden
|
|
20
|
+
*/
|
|
21
|
+
const issueNftResolver = (context) => (receipt) => {
|
|
22
|
+
const [{ data }] = (0, internal_2.filterEventRecords)(receipt, 'nft', 'NFTPortfolioUpdated');
|
|
23
|
+
const { ticker, ids } = (0, conversion_1.meshNftToNftId)(data[1]);
|
|
24
|
+
return new Nft_1.Nft({ ticker, id: ids[0] }, context);
|
|
25
|
+
};
|
|
26
|
+
exports.issueNftResolver = issueNftResolver;
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
function prepareIssueNft(args) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
const { context: { polymeshApi: { tx }, }, context, storage: { collection }, } = this;
|
|
33
|
+
const { ticker, portfolioId, metadata } = args;
|
|
34
|
+
const rawMetadataValues = (0, conversion_1.nftInputToNftMetadataVec)(metadata, context);
|
|
35
|
+
const neededMetadata = yield collection.collectionMetadataKeys();
|
|
36
|
+
// for each input, find and remove a value from needed
|
|
37
|
+
args.metadata.forEach(value => {
|
|
38
|
+
const matchedIndex = neededMetadata.findIndex(requiredValue => value.type === requiredValue.type && value.id.eq(requiredValue.id));
|
|
39
|
+
if (matchedIndex < 0) {
|
|
40
|
+
throw new internal_1.PolymeshError({
|
|
41
|
+
code: types_1.ErrorCode.ValidationError,
|
|
42
|
+
message: 'A metadata value was given that is not required for this collection',
|
|
43
|
+
data: { ticker, type: value.type, id: value.id },
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
neededMetadata.splice(matchedIndex, 1);
|
|
47
|
+
});
|
|
48
|
+
if (neededMetadata.length > 0) {
|
|
49
|
+
throw new internal_1.PolymeshError({
|
|
50
|
+
code: types_1.ErrorCode.ValidationError,
|
|
51
|
+
message: 'The collection requires metadata that was not provided',
|
|
52
|
+
data: { missingMetadata: JSON.stringify(neededMetadata) },
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const signingIdentity = yield context.getSigningIdentity();
|
|
56
|
+
const portfolio = portfolioId
|
|
57
|
+
? yield signingIdentity.portfolios.getPortfolio({ portfolioId })
|
|
58
|
+
: yield signingIdentity.portfolios.getPortfolio();
|
|
59
|
+
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
60
|
+
const rawPortfolio = (0, conversion_1.portfolioToPortfolioKind)(portfolio, context);
|
|
61
|
+
return {
|
|
62
|
+
transaction: tx.nft.issueNft,
|
|
63
|
+
args: [rawTicker, rawMetadataValues, rawPortfolio],
|
|
64
|
+
resolver: (0, exports.issueNftResolver)(context),
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
exports.prepareIssueNft = prepareIssueNft;
|
|
69
|
+
/**
|
|
70
|
+
* @hidden
|
|
71
|
+
*/
|
|
72
|
+
function getAuthorization() {
|
|
73
|
+
const { storage: { collection }, } = this;
|
|
74
|
+
return {
|
|
75
|
+
permissions: {
|
|
76
|
+
transactions: [types_1.TxTags.nft.IssueNft],
|
|
77
|
+
assets: [collection],
|
|
78
|
+
portfolios: [],
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
exports.getAuthorization = getAuthorization;
|
|
83
|
+
/**
|
|
84
|
+
* @hidden
|
|
85
|
+
*/
|
|
86
|
+
function prepareStorage({ ticker }) {
|
|
87
|
+
const { context } = this;
|
|
88
|
+
return {
|
|
89
|
+
collection: new internal_1.NftCollection({ ticker }, context),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
exports.prepareStorage = prepareStorage;
|
|
93
|
+
/**
|
|
94
|
+
* @hidden
|
|
95
|
+
*/
|
|
96
|
+
const issueNft = () => new internal_1.Procedure(prepareIssueNft, getAuthorization, prepareStorage);
|
|
97
|
+
exports.issueNft = issueNft;
|
|
98
|
+
//# sourceMappingURL=issueNft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issueNft.js","sourceRoot":"","sources":["../../../src/api/procedures/issueNft.ts"],"names":[],"mappings":"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"}
|
|
@@ -185,7 +185,7 @@ export interface CreateAssetParams {
|
|
|
185
185
|
*
|
|
186
186
|
* These restrictions require a `Count` and `ScopedCount` statistic to be created. Although they an be created after the Asset is made, it is recommended to create statistics
|
|
187
187
|
* before the Asset is circulated. Count statistics made after Asset creation need their initial value set, so it is simpler to create them before investors hold the Asset.
|
|
188
|
-
* If you do need to create a stat for an Asset after creation, you can use the { @link api/entities/Asset/TransferRestrictions/TransferRestrictionBase!TransferRestrictionBase.enableStat | enableStat } method in
|
|
188
|
+
* If you do need to create a stat for an Asset after creation, you can use the { @link api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase!TransferRestrictionBase.enableStat | enableStat } method in
|
|
189
189
|
* the appropriate namespace
|
|
190
190
|
*/
|
|
191
191
|
initialStatistics?: InputStatType[];
|
|
@@ -454,6 +454,15 @@ export declare type ModifyAssetParams = {
|
|
|
454
454
|
fundingRound?: string;
|
|
455
455
|
identifiers: SecurityIdentifier[];
|
|
456
456
|
};
|
|
457
|
+
export declare type NftMetadataInput = {
|
|
458
|
+
type: MetadataType;
|
|
459
|
+
id: BigNumber;
|
|
460
|
+
value: string;
|
|
461
|
+
};
|
|
462
|
+
export declare type IssueNftParams = {
|
|
463
|
+
metadata: NftMetadataInput[];
|
|
464
|
+
portfolio?: PortfolioLike;
|
|
465
|
+
};
|
|
457
466
|
export interface ModifyPrimaryIssuanceAgentParams {
|
|
458
467
|
/**
|
|
459
468
|
* Identity to be set as primary issuance agent
|