@polymeshassociation/polymesh-sdk 23.0.0-alpha.8 → 23.0.0-beta.1

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.
Files changed (186) hide show
  1. package/CHANGELOG.md +74 -1
  2. package/README.md +49 -7
  3. package/api/client/Assets.d.ts +10 -2
  4. package/api/client/Assets.d.ts.map +1 -1
  5. package/api/client/Assets.js +27 -9
  6. package/api/client/Assets.js.map +1 -1
  7. package/api/client/Claims.d.ts +13 -1
  8. package/api/client/Claims.d.ts.map +1 -1
  9. package/api/client/Claims.js +32 -2
  10. package/api/client/Claims.js.map +1 -1
  11. package/api/client/Network.d.ts +1 -1
  12. package/api/client/Network.d.ts.map +1 -1
  13. package/api/client/Network.js.map +1 -1
  14. package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
  15. package/api/entities/Account/MultiSig/index.js +2 -5
  16. package/api/entities/Account/MultiSig/index.js.map +1 -1
  17. package/api/entities/Account/index.d.ts.map +1 -1
  18. package/api/entities/Account/index.js +1 -1
  19. package/api/entities/Account/index.js.map +1 -1
  20. package/api/entities/Account/types.d.ts +1 -1
  21. package/api/entities/Asset/Base/BaseAsset.d.ts +0 -1
  22. package/api/entities/Asset/Base/BaseAsset.d.ts.map +1 -1
  23. package/api/entities/Asset/Base/BaseAsset.js +0 -1
  24. package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
  25. package/api/entities/Asset/Base/Settlements/index.d.ts +85 -0
  26. package/api/entities/Asset/Base/Settlements/index.d.ts.map +1 -0
  27. package/api/entities/Asset/Base/Settlements/index.js +141 -0
  28. package/api/entities/Asset/Base/Settlements/index.js.map +1 -0
  29. package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts +2 -2
  30. package/api/entities/Asset/Fungible/index.d.ts +2 -2
  31. package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
  32. package/api/entities/Asset/Fungible/index.js +2 -2
  33. package/api/entities/Asset/Fungible/index.js.map +1 -1
  34. package/api/entities/Asset/NonFungible/Nft.d.ts +110 -0
  35. package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -0
  36. package/api/entities/Asset/NonFungible/Nft.js +243 -0
  37. package/api/entities/Asset/NonFungible/Nft.js.map +1 -0
  38. package/api/entities/Asset/NonFungible/NftCollection.d.ts +44 -6
  39. package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
  40. package/api/entities/Asset/NonFungible/NftCollection.js +99 -14
  41. package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
  42. package/api/entities/Asset/NonFungible/index.d.ts +1 -0
  43. package/api/entities/Asset/NonFungible/index.d.ts.map +1 -1
  44. package/api/entities/Asset/NonFungible/index.js +1 -0
  45. package/api/entities/Asset/NonFungible/index.js.map +1 -1
  46. package/api/entities/Asset/types.d.ts +35 -3
  47. package/api/entities/Asset/types.d.ts.map +1 -1
  48. package/api/entities/Asset/types.js.map +1 -1
  49. package/api/entities/Identity/AssetPermissions.d.ts +3 -3
  50. package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
  51. package/api/entities/Identity/AssetPermissions.js.map +1 -1
  52. package/api/entities/Identity/index.d.ts +17 -2
  53. package/api/entities/Identity/index.d.ts.map +1 -1
  54. package/api/entities/Identity/index.js +37 -0
  55. package/api/entities/Identity/index.js.map +1 -1
  56. package/api/entities/Instruction/index.d.ts.map +1 -1
  57. package/api/entities/Instruction/index.js +29 -20
  58. package/api/entities/Instruction/index.js.map +1 -1
  59. package/api/entities/Instruction/types.d.ts +10 -3
  60. package/api/entities/Instruction/types.d.ts.map +1 -1
  61. package/api/entities/Instruction/types.js.map +1 -1
  62. package/api/entities/MetadataEntry/index.d.ts +2 -2
  63. package/api/entities/MetadataEntry/index.d.ts.map +1 -1
  64. package/api/entities/MetadataEntry/index.js +1 -1
  65. package/api/entities/MetadataEntry/index.js.map +1 -1
  66. package/api/entities/MultiSigProposal/index.d.ts +36 -2
  67. package/api/entities/MultiSigProposal/index.d.ts.map +1 -1
  68. package/api/entities/MultiSigProposal/index.js +91 -10
  69. package/api/entities/MultiSigProposal/index.js.map +1 -1
  70. package/api/entities/MultiSigProposal/types.d.ts +15 -2
  71. package/api/entities/MultiSigProposal/types.d.ts.map +1 -1
  72. package/api/entities/MultiSigProposal/types.js +6 -1
  73. package/api/entities/MultiSigProposal/types.js.map +1 -1
  74. package/api/entities/Portfolio/index.d.ts +12 -4
  75. package/api/entities/Portfolio/index.d.ts.map +1 -1
  76. package/api/entities/Portfolio/index.js +66 -6
  77. package/api/entities/Portfolio/index.js.map +1 -1
  78. package/api/entities/Portfolio/types.d.ts +20 -5
  79. package/api/entities/Portfolio/types.d.ts.map +1 -1
  80. package/api/entities/Venue/types.d.ts +1 -1
  81. package/api/entities/common/namespaces/Authorizations.d.ts +2 -1
  82. package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
  83. package/api/entities/common/namespaces/Authorizations.js.map +1 -1
  84. package/api/entities/types.d.ts +3 -1
  85. package/api/entities/types.d.ts.map +1 -1
  86. package/api/entities/types.js.map +1 -1
  87. package/api/procedures/addInstruction.d.ts.map +1 -1
  88. package/api/procedures/addInstruction.js +76 -17
  89. package/api/procedures/addInstruction.js.map +1 -1
  90. package/api/procedures/createNftCollection.d.ts.map +1 -1
  91. package/api/procedures/createNftCollection.js +1 -1
  92. package/api/procedures/createNftCollection.js.map +1 -1
  93. package/api/procedures/evaluateMultiSigProposal.d.ts +19 -0
  94. package/api/procedures/evaluateMultiSigProposal.d.ts.map +1 -0
  95. package/api/procedures/evaluateMultiSigProposal.js +92 -0
  96. package/api/procedures/evaluateMultiSigProposal.js.map +1 -0
  97. package/api/procedures/issueNft.d.ts +35 -0
  98. package/api/procedures/issueNft.d.ts.map +1 -0
  99. package/api/procedures/issueNft.js +98 -0
  100. package/api/procedures/issueNft.js.map +1 -0
  101. package/api/procedures/modifyClaims.d.ts.map +1 -1
  102. package/api/procedures/modifyClaims.js +7 -21
  103. package/api/procedures/modifyClaims.js.map +1 -1
  104. package/api/procedures/moveFunds.d.ts.map +1 -1
  105. package/api/procedures/moveFunds.js +82 -16
  106. package/api/procedures/moveFunds.js.map +1 -1
  107. package/api/procedures/redeemNft.d.ts +31 -0
  108. package/api/procedures/redeemNft.d.ts.map +1 -0
  109. package/api/procedures/redeemNft.js +87 -0
  110. package/api/procedures/redeemNft.js.map +1 -0
  111. package/api/procedures/setPermissionGroup.js +1 -1
  112. package/api/procedures/setPermissionGroup.js.map +1 -1
  113. package/api/procedures/types.d.ts +36 -10
  114. package/api/procedures/types.d.ts.map +1 -1
  115. package/api/procedures/types.js.map +1 -1
  116. package/api/procedures/waivePermissions.js +1 -1
  117. package/api/procedures/waivePermissions.js.map +1 -1
  118. package/base/Context.d.ts.map +1 -1
  119. package/base/Context.js +24 -24
  120. package/base/Context.js.map +1 -1
  121. package/generated/types.d.ts +5 -1
  122. package/generated/types.d.ts.map +1 -1
  123. package/generated/types.js +4 -0
  124. package/generated/types.js.map +1 -1
  125. package/internal.d.ts +3 -1
  126. package/internal.d.ts.map +1 -1
  127. package/internal.js +8 -3
  128. package/internal.js.map +1 -1
  129. package/middleware/queries.d.ts +19 -2
  130. package/middleware/queries.d.ts.map +1 -1
  131. package/middleware/queries.js +103 -6
  132. package/middleware/queries.js.map +1 -1
  133. package/middleware/types.d.ts +68950 -15292
  134. package/middleware/types.d.ts.map +1 -1
  135. package/middleware/types.js +36222 -999
  136. package/middleware/types.js.map +1 -1
  137. package/middleware/typesV1.d.ts +1 -1
  138. package/middleware/typesV1.d.ts.map +1 -1
  139. package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-beta.1.tgz +0 -0
  140. package/package.json +2 -2
  141. package/polkadot/augment-api-errors.d.ts +4 -18
  142. package/polkadot/augment-api-errors.d.ts.map +1 -1
  143. package/polkadot/augment-api-events.d.ts +0 -6
  144. package/polkadot/augment-api-events.d.ts.map +1 -1
  145. package/polkadot/augment-api-query.d.ts +33 -26
  146. package/polkadot/augment-api-query.d.ts.map +1 -1
  147. package/polkadot/augment-api-tx.d.ts +123 -51
  148. package/polkadot/augment-api-tx.d.ts.map +1 -1
  149. package/polkadot/lookup.d.ts +246 -248
  150. package/polkadot/lookup.d.ts.map +1 -1
  151. package/polkadot/lookup.js +248 -253
  152. package/polkadot/lookup.js.map +1 -1
  153. package/polkadot/registry.d.ts +3 -5
  154. package/polkadot/registry.d.ts.map +1 -1
  155. package/polkadot/types-lookup.d.ts +251 -248
  156. package/polkadot/types-lookup.d.ts.map +1 -1
  157. package/types/index.d.ts +44 -7
  158. package/types/index.d.ts.map +1 -1
  159. package/types/index.js +18 -2
  160. package/types/index.js.map +1 -1
  161. package/types/internal.d.ts +1 -1
  162. package/utils/constants.d.ts +17 -1
  163. package/utils/constants.d.ts.map +1 -1
  164. package/utils/constants.js +18 -2
  165. package/utils/constants.js.map +1 -1
  166. package/utils/conversion.d.ts +54 -14
  167. package/utils/conversion.d.ts.map +1 -1
  168. package/utils/conversion.js +480 -363
  169. package/utils/conversion.js.map +1 -1
  170. package/utils/internal.d.ts +20 -3
  171. package/utils/internal.d.ts.map +1 -1
  172. package/utils/internal.js +119 -42
  173. package/utils/internal.js.map +1 -1
  174. package/utils/typeguards.d.ts +26 -2
  175. package/utils/typeguards.d.ts.map +1 -1
  176. package/utils/typeguards.js +39 -2
  177. package/utils/typeguards.js.map +1 -1
  178. package/api/entities/Asset/Fungible/Settlements/index.d.ts +0 -29
  179. package/api/entities/Asset/Fungible/Settlements/index.d.ts.map +0 -1
  180. package/api/entities/Asset/Fungible/Settlements/index.js +0 -70
  181. package/api/entities/Asset/Fungible/Settlements/index.js.map +0 -1
  182. package/middleware/enums.d.ts +0 -3
  183. package/middleware/enums.d.ts.map +0 -1
  184. package/middleware/enums.js +0 -38
  185. package/middleware/enums.js.map +0 -1
  186. package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-alpha.8.tgz +0 -0
@@ -0,0 +1,243 @@
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 constants_1 = require("../../../../utils/constants");
19
+ const conversion_1 = require("../../../../utils/conversion");
20
+ const internal_2 = require("../../../../utils/internal");
21
+ /**
22
+ * Class used to manage Nft functionality. Each NFT belongs to an NftCollection, which specifies the expected metadata values for each NFT
23
+ */
24
+ class Nft extends internal_1.Entity {
25
+ /**
26
+ * @hidden
27
+ */
28
+ constructor(identifiers, context) {
29
+ super(identifiers, context);
30
+ const { ticker, id } = identifiers;
31
+ this.id = id;
32
+ this.collection = new internal_1.NftCollection({ ticker }, context);
33
+ this.redeem = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.redeemNft, Object.assign({ ticker, id }, args)], optionalArgs: true }, context);
34
+ }
35
+ /**
36
+ * @hidden
37
+ * Check if a value is of type {@link UniqueIdentifiers}
38
+ */
39
+ static isUniqueIdentifiers(identifier) {
40
+ const { ticker, id } = identifier;
41
+ return typeof ticker === 'string' && id instanceof bignumber_js_1.default;
42
+ }
43
+ /**
44
+ * Get metadata associated with this token
45
+ */
46
+ getMetadata() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const { id, context, collection, context: { polymeshApi: { query }, }, } = this;
49
+ const collectionId = yield collection.getCollectionId();
50
+ const rawCollectionId = (0, conversion_1.bigNumberToU64)(collectionId, context);
51
+ const rawId = (0, conversion_1.bigNumberToU64)(id, context);
52
+ const entries = yield query.nft.metadataValue.entries([rawCollectionId, rawId]);
53
+ return entries.map(([storageKey, rawValue]) => {
54
+ const rawMetadataKey = storageKey.args[1];
55
+ const key = (0, conversion_1.meshMetadataKeyToMetadataKey)(rawMetadataKey, collection.ticker);
56
+ const value = (0, conversion_1.bytesToString)(rawValue);
57
+ return { key, value };
58
+ });
59
+ });
60
+ }
61
+ /**
62
+ * Determine if the NFT exists on chain
63
+ *
64
+ * @note This method returns true, even if the token has been redeemed/burned
65
+ */
66
+ exists() {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const { context, context: { polymeshApi: { query }, }, collection, id, } = this;
69
+ const collectionId = yield collection.getCollectionId();
70
+ const rawCollectionId = (0, conversion_1.bigNumberToU64)(collectionId, context);
71
+ // note: "nextId" is actually the last used id
72
+ const rawNextId = yield query.nft.nextNFTId(rawCollectionId);
73
+ const nextId = (0, conversion_1.u64ToBigNumber)(rawNextId);
74
+ return id.lte(nextId);
75
+ });
76
+ }
77
+ /**
78
+ * Get the conventional image URI for the NFT
79
+ *
80
+ * This function will check for a token level value and a collection level value. Token level values take precedence over base values in case of a conflict.
81
+ *
82
+ * When creating a collection an issuer can either require per token images by specifying global metadata key `imageUri` as a collection key or by
83
+ * setting a collection base image URL by setting a value on the collection corresponding to the global metadata key `baseImageUri`.
84
+ *
85
+ * This method will return `null` if the NFT issuer did not configure the collection according to the convention.
86
+ *
87
+ * Per token URIs provide the most flexibility, but require more chain space to store, increasing the POLYX fee to issue each token.
88
+ *
89
+ * The URI values can include `{tokenId}` that will be replaced with the NFTs ID. If a base URI does not specify this the ID will be appended onto the URL. Examples:
90
+ * - `https://example.com/nfts/{tokenId}/image.png` becomes `https://example.com/nfts/1/image.png`
91
+ * - `https://example.com/nfts` becomes `https://example.com/nfts/1` if used a base value, but remain unchanged as a local value
92
+ */
93
+ getImageUri() {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ const [localId, collectionId] = yield Promise.all([
96
+ this.getGlobalMetadataId(constants_1.GLOBAL_IMAGE_URI_NAME),
97
+ this.getGlobalMetadataId(constants_1.GLOBAL_BASE_IMAGE_URI_NAME),
98
+ ]);
99
+ const [localImageUrl, collectionBaseImageUrl] = yield Promise.all([
100
+ this.getLocalUri(localId),
101
+ this.getBaseUri(collectionId),
102
+ ]);
103
+ if (localImageUrl) {
104
+ return localImageUrl;
105
+ }
106
+ else if (collectionBaseImageUrl) {
107
+ return collectionBaseImageUrl;
108
+ }
109
+ return null;
110
+ });
111
+ }
112
+ /**
113
+ * Get the conventional token URI for the NFT
114
+ *
115
+ * This function will check for a token level value and a collection level value. Token level values take precedence over base values in case of a conflict.
116
+ *
117
+ * When creating a collection an issuer can either require per token URL by specifying global metadata key `tokenURI` as a collection key or by
118
+ * setting a collection base URL by setting a value on the collection corresponding to the global metadata key `baseTokenUri` on the collection.
119
+ *
120
+ * This method will return `null` if the NFT issuer did not configure the collection according to the convention.
121
+ *
122
+ * Per token URIs provide the most flexibility, but require more chain space to store, increasing the POLYX fee to issue each token.
123
+ *
124
+ * The URI values can include `{tokenId}` that will be replaced with the NFTs ID. If a base URI does not specify this the ID will be appended onto the URL. Examples:
125
+ * - `https://example.com/nfts/{tokenId}/info.json` becomes `https://example.com/nfts/1/info.json`
126
+ * - `https://example.com/nfts` becomes `https://example.com/nfts/1` if used a base value, but remain unchanged as a local value
127
+ */
128
+ getTokenUri() {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ const [localId, baseId] = yield Promise.all([
131
+ this.getGlobalMetadataId(constants_1.GLOBAL_TOKEN_URI_NAME),
132
+ this.getGlobalMetadataId(constants_1.GLOBAL_BASE_TOKEN_URI_NAME),
133
+ ]);
134
+ const [localTokenUri, baseUri] = yield Promise.all([
135
+ this.getLocalUri(localId),
136
+ this.getBaseUri(baseId),
137
+ ]);
138
+ if (localTokenUri) {
139
+ return localTokenUri;
140
+ }
141
+ else if (baseUri) {
142
+ return baseUri;
143
+ }
144
+ return null;
145
+ });
146
+ }
147
+ /**
148
+ * @hidden
149
+ */
150
+ toHuman() {
151
+ const { collection: { ticker }, id, } = this;
152
+ return {
153
+ collection: ticker,
154
+ id: id.toString(),
155
+ };
156
+ }
157
+ /**
158
+ * given a global metadata ID fetches a local URI value
159
+ *
160
+ * @hidden
161
+ */
162
+ getLocalUri(metadataId) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ const { id, context, collection, context: { polymeshApi: { query }, }, } = this;
165
+ if (!metadataId) {
166
+ return null;
167
+ }
168
+ const collectionId = yield collection.getCollectionId();
169
+ const rawCollectionId = (0, conversion_1.bigNumberToU64)(collectionId, context);
170
+ const rawNftId = (0, conversion_1.bigNumberToU64)(id, context);
171
+ const rawNftValue = yield query.nft.metadataValue([rawCollectionId, rawNftId], {
172
+ Global: (0, conversion_1.bigNumberToU64)(metadataId, context),
173
+ });
174
+ const nftValue = (0, conversion_1.bytesToString)(rawNftValue);
175
+ if (nftValue === '') {
176
+ return null;
177
+ }
178
+ return this.templateId(nftValue);
179
+ });
180
+ }
181
+ /**
182
+ *
183
+ * given a global metadata ID fetches a base URI value
184
+ *
185
+ * @hidden
186
+ */
187
+ getBaseUri(metadataId) {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ const { collection: { ticker }, context, context: { polymeshApi: { query }, }, } = this;
190
+ if (!metadataId) {
191
+ return null;
192
+ }
193
+ const rawId = (0, conversion_1.bigNumberToU64)(metadataId, context);
194
+ const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
195
+ const rawValue = yield query.asset.assetMetadataValues(rawTicker, { Global: rawId });
196
+ if (rawValue.isNone) {
197
+ return null;
198
+ }
199
+ const baseUrl = (0, conversion_1.bytesToString)(rawValue.unwrap());
200
+ return this.templateBaseUri(baseUrl);
201
+ });
202
+ }
203
+ /**
204
+ * @hidden
205
+ */
206
+ templateId(input) {
207
+ const { id } = this;
208
+ return input.replace('{tokenId}', id.toString());
209
+ }
210
+ /**
211
+ * @hidden
212
+ */
213
+ templateBaseUri(input) {
214
+ const { id } = this;
215
+ const templatedPath = this.templateId(input);
216
+ if (input !== templatedPath) {
217
+ return templatedPath;
218
+ }
219
+ else if (input.endsWith('/')) {
220
+ return `${input}${id.toString()}`;
221
+ }
222
+ else {
223
+ return `${input}/${id.toString()}`;
224
+ }
225
+ }
226
+ /**
227
+ * helper to lookup global metadata ID by name
228
+ *
229
+ * @hidden
230
+ */
231
+ getGlobalMetadataId(keyName) {
232
+ return __awaiter(this, void 0, void 0, function* () {
233
+ const { context: { polymeshApi: { query }, }, } = this;
234
+ const metadataId = yield query.asset.assetMetadataGlobalNameToKey(keyName);
235
+ if (metadataId.isSome) {
236
+ return (0, conversion_1.u64ToBigNumber)(metadataId.unwrap());
237
+ }
238
+ return null;
239
+ });
240
+ }
241
+ }
242
+ exports.Nft = Nft;
243
+ //# sourceMappingURL=Nft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Nft.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,29 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { BaseAsset } from "../Base";
3
- import { AssetDetails, EventIdentifier, SubCallback, UnsubCallback } from "../../../../types";
3
+ import { NonFungibleSettlements } from "../Base/Settlements";
4
+ import { Context, Nft } from "../../../../internal";
5
+ import { AssetDetails, CollectionKey, EventIdentifier, IssueNftParams, ProcedureMethod, SubCallback, UniqueIdentifiers, UnsubCallback } from "../../../../types";
4
6
  /**
5
- * Class used to manage Nft functionality
7
+ * Class used to manage NFT functionality
6
8
  */
7
9
  export declare class NftCollection extends BaseAsset {
10
+ settlements: NonFungibleSettlements;
8
11
  /**
9
- * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
12
+ * Issues a new NFT for the collection
10
13
  *
11
- * @note uses the middlewareV2
12
- * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned
14
+ * @note Each NFT requires metadata for each value returned by `collectionKeys`. The SDK and chain only validate the presence of these fields. Additional validation may be needed to ensure each value complies with the specification.
13
15
  */
14
- createdAt(): Promise<EventIdentifier | null>;
16
+ issue: ProcedureMethod<IssueNftParams, Nft>;
17
+ /**
18
+ * Local cache for `getCollectionId`
19
+ *
20
+ * @hidden
21
+ */
22
+ private _id?;
23
+ /**
24
+ * @hidden
25
+ */
26
+ constructor(identifiers: UniqueIdentifiers, context: Context);
15
27
  /**
16
28
  * Retrieve the NftCollection's data
17
29
  *
@@ -19,13 +31,39 @@ export declare class NftCollection extends BaseAsset {
19
31
  */
20
32
  details(): Promise<AssetDetails>;
21
33
  details(callback: SubCallback<AssetDetails>): Promise<UnsubCallback>;
34
+ /**
35
+ * Retrieve the metadata that defines the NFT collection. Every `issue` call for this collection must provide a value for each element returned
36
+ *
37
+ * @note Each NFT **must** have an entry for each value, it **should** comply with the spec.
38
+ * In other words, the SDK only validates the presence of metadata keys, additional validation should be used when issuing
39
+ */
40
+ collectionKeys(): Promise<CollectionKey[]>;
22
41
  /**
23
42
  * Retrieve the amount of unique investors that hold this Nft
24
43
  */
25
44
  investorCount(): Promise<BigNumber>;
45
+ /**
46
+ * Get an NFT belonging to this collection
47
+ *
48
+ * @throws if the given NFT does not exist
49
+ */
50
+ getNft(args: {
51
+ id: BigNumber;
52
+ }): Promise<Nft>;
53
+ /**
54
+ * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
55
+ *
56
+ * @note uses the middlewareV2
57
+ * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned
58
+ */
59
+ createdAt(): Promise<EventIdentifier | null>;
26
60
  /**
27
61
  * Determine whether this NftCollection exists on chain
28
62
  */
29
63
  exists(): Promise<boolean>;
64
+ /**
65
+ * Returns the collection's on chain numeric ID. Used primarily to access NFT specific storage values
66
+ */
67
+ getCollectionId(): Promise<BigNumber>;
30
68
  }
31
69
  //# 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;AAGtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,0BAAgB;AAqBpF;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C;;;;;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,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC;IAkBhD;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CASjD"}
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,sBAAsB,EAAE,4BAA8C;AAE/E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAyC,6BAAmB;AAGjF,OAAO,EACL,YAAY,EACZ,aAAa,EAEb,eAAe,EACf,cAAc,EAEd,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,EACd,0BAAgB;AAuBjB;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IACnC,WAAW,EAAE,sBAAsB,CAAC;IAC3C;;;;OAIG;IACI,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAEnD;;;;OAIG;IACH,OAAO,CAAC,GAAG,CAAC,CAAY;IAExB;;OAEG;gBACS,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAmB5D;;;;OAIG;IACa,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAChC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CpF;;;;;OAKG;IACU,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAsCvD;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC;IAkBhD;;;;OAIG;IACU,MAAM,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAkB1D;;;;;OAKG;IACU,SAAS,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAkBzD;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAUhD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;CAoBnD"}
@@ -15,9 +15,13 @@ 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 Settlements_1 = require("../Base/Settlements");
19
+ const issueNft_1 = require("../../../procedures/issueNft");
20
+ const internal_1 = require("../../../../internal");
18
21
  const queries_1 = require("../../../../middleware/queries");
22
+ const types_1 = require("../../../../types");
19
23
  const conversion_1 = require("../../../../utils/conversion");
20
- const internal_1 = require("../../../../utils/internal");
24
+ const internal_2 = require("../../../../utils/internal");
21
25
  const sumNftIssuance = (numberOfNfts) => {
22
26
  let numberIssued = new bignumber_js_1.default(0);
23
27
  numberOfNfts.forEach(([, holderEntry]) => {
@@ -27,23 +31,20 @@ const sumNftIssuance = (numberOfNfts) => {
27
31
  return numberIssued;
28
32
  };
29
33
  /**
30
- * Class used to manage Nft functionality
34
+ * Class used to manage NFT functionality
31
35
  */
32
36
  class NftCollection extends Base_1.BaseAsset {
33
37
  /**
34
- * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
35
- *
36
- * @note uses the middlewareV2
37
- * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned
38
+ * @hidden
38
39
  */
39
- createdAt() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const { ticker, context } = this;
42
- const { data: { assets: { nodes: [asset], }, }, } = yield context.queryMiddleware((0, queries_1.assetQuery)({
43
- ticker,
44
- }));
45
- return (0, internal_1.optionize)(conversion_1.middlewareEventDetailsToEventIdentifier)(asset === null || asset === void 0 ? void 0 : asset.createdBlock, asset === null || asset === void 0 ? void 0 : asset.eventIdx);
46
- });
40
+ constructor(identifiers, context) {
41
+ super(identifiers, context);
42
+ const { ticker } = identifiers;
43
+ this.settlements = new Settlements_1.NonFungibleSettlements(this, context);
44
+ this.transferOwnership = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.transferAssetOwnership, Object.assign({ ticker }, args)] }, context);
45
+ this.issue = (0, internal_2.createProcedureMethod)({
46
+ getProcedureAndArgs: args => [issueNft_1.issueNft, Object.assign({ ticker }, args)],
47
+ }, context);
47
48
  }
48
49
  // eslint-disable-next-line require-jsdoc
49
50
  details(callback) {
@@ -73,6 +74,39 @@ class NftCollection extends Base_1.BaseAsset {
73
74
  return Object.assign(Object.assign({}, commonDetails), { totalSupply: numberIssued });
74
75
  });
75
76
  }
77
+ /**
78
+ * Retrieve the metadata that defines the NFT collection. Every `issue` call for this collection must provide a value for each element returned
79
+ *
80
+ * @note Each NFT **must** have an entry for each value, it **should** comply with the spec.
81
+ * In other words, the SDK only validates the presence of metadata keys, additional validation should be used when issuing
82
+ */
83
+ collectionKeys() {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ const { context, ticker, context: { polymeshApi: { query }, }, } = this;
86
+ const collectionId = yield this.getCollectionId();
87
+ const rawCollectionId = (0, conversion_1.bigNumberToU64)(collectionId, context);
88
+ const rawKeys = yield query.nft.collectionKeys(rawCollectionId);
89
+ const neededKeys = [...rawKeys].map(value => (0, conversion_1.meshMetadataKeyToMetadataKey)(value, ticker));
90
+ const allMetadata = yield this.metadata.get();
91
+ return Promise.all(neededKeys.map(({ type, id }) => __awaiter(this, void 0, void 0, function* () {
92
+ const neededMetadata = allMetadata.find(entry => entry.type === type && entry.id.eq(id));
93
+ if (!neededMetadata) {
94
+ throw new internal_1.PolymeshError({
95
+ code: types_1.ErrorCode.DataUnavailable,
96
+ message: 'Failed to find metadata details',
97
+ data: { type, id },
98
+ });
99
+ }
100
+ const details = yield neededMetadata.details();
101
+ if (type === types_1.MetadataType.Local) {
102
+ return Object.assign(Object.assign({}, details), { id, type, ticker });
103
+ }
104
+ else {
105
+ return Object.assign(Object.assign({}, details), { id, type });
106
+ }
107
+ })));
108
+ });
109
+ }
76
110
  /**
77
111
  * Retrieve the amount of unique investors that hold this Nft
78
112
  */
@@ -85,6 +119,42 @@ class NftCollection extends Base_1.BaseAsset {
85
119
  return new bignumber_js_1.default(assetBalances.length);
86
120
  });
87
121
  }
122
+ /**
123
+ * Get an NFT belonging to this collection
124
+ *
125
+ * @throws if the given NFT does not exist
126
+ */
127
+ getNft(args) {
128
+ return __awaiter(this, void 0, void 0, function* () {
129
+ const { context, ticker } = this;
130
+ const { id } = args;
131
+ const nft = new internal_1.Nft({ ticker, id }, context);
132
+ const exists = yield nft.exists();
133
+ if (!exists) {
134
+ throw new internal_1.PolymeshError({
135
+ code: types_1.ErrorCode.DataUnavailable,
136
+ message: 'The NFT does not exist',
137
+ data: { id },
138
+ });
139
+ }
140
+ return nft;
141
+ });
142
+ }
143
+ /**
144
+ * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
145
+ *
146
+ * @note uses the middlewareV2
147
+ * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned
148
+ */
149
+ createdAt() {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ const { ticker, context } = this;
152
+ const { data: { assets: { nodes: [asset], }, }, } = yield context.queryMiddleware((0, queries_1.assetQuery)({
153
+ ticker,
154
+ }));
155
+ 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);
156
+ });
157
+ }
88
158
  /**
89
159
  * Determine whether this NftCollection exists on chain
90
160
  */
@@ -95,6 +165,21 @@ class NftCollection extends Base_1.BaseAsset {
95
165
  return !rawTokenId.isZero();
96
166
  });
97
167
  }
168
+ /**
169
+ * Returns the collection's on chain numeric ID. Used primarily to access NFT specific storage values
170
+ */
171
+ getCollectionId() {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const { ticker, context, context: { polymeshApi: { query }, }, } = this;
174
+ if (this._id) {
175
+ return this._id;
176
+ }
177
+ const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
178
+ const rawId = yield query.nft.collectionTicker(rawTicker);
179
+ this._id = (0, conversion_1.u64ToBigNumber)(rawId);
180
+ return this._id;
181
+ });
182
+ }
98
183
  }
99
184
  exports.NftCollection = NftCollection;
100
185
  //# 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;AACtD,4DAAkD;AAIlD,6DAI4B;AAC5B,yDAA6C;AAE7C,MAAM,cAAc,GAAG,CACrB,YAA2F,EAChF,EAAE;IACb,IAAI,YAAY,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;IACpC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,IAAA,2BAAc,EAAC,WAAW,CAAC,CAAC;QACjD,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAa,aAAc,SAAQ,gBAAS;IAC1C;;;;;OAKG;IACU,SAAS;;YACpB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAEjC,MAAM,EACJ,IAAI,EAAE,EACJ,MAAM,EAAE,EACN,KAAK,EAAE,CAAC,KAAK,CAAC,GACf,GACF,GACF,GAAG,MAAM,OAAO,CAAC,eAAe,CAC/B,IAAA,oBAAU,EAAC;gBACT,MAAM;aACP,CAAC,CACH,CAAC;YAEF,OAAO,IAAA,oBAAS,EAAC,oDAAuC,CAAC,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC;QAClG,CAAC;KAAA;IAUD,yCAAyC;IACnB,OAAO,CAC3B,QAAoC;;;;;YAEpC,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,KAAK,EAAE,GACvB,EACD,MAAM,EACN,OAAO,GACR,GAAG,IAAI,CAAC;YAET,MAAM,SAAS,GAAG,IAAA,2BAAc,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEvE,IAAI,QAAQ,EAAE;gBACZ,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC;gBACjD,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;gBAEnD,gGAAgG;gBAChG,MAAM,eAAe,GAAG,CAAO,aAA2B,EAAiB,EAAE;oBAC3E,MAAM,UAAU,mCAAQ,aAAa,KAAE,WAAW,EAAE,YAAY,GAAE,CAAC;oBAEnE,mEAAmE;oBACnE,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACvB,CAAC,CAAA,CAAC;gBAEF,OAAO,OAAM,OAAO,YAAC,eAAe,EAAE;aACvC;YAED,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,oBAAoB;gBACpB,OAAM,OAAO;aACd,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAEnD,uCAAY,aAAa,KAAE,WAAW,EAAE,YAAY,IAAG;QACzD,CAAC;KAAA;IAED;;OAEG;IACU,aAAa;;YACxB,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,KAAK,EAAE,GACvB,EACD,OAAO,EACP,MAAM,GACP,GAAG,IAAI,CAAC;YAET,MAAM,SAAS,GAAG,IAAA,2BAAc,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEtE,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAE/E,OAAO,IAAI,sBAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;KAAA;IAED;;OAEG;IACmB,MAAM;;YAC1B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAEjC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CACrE,IAAA,2BAAc,EAAC,MAAM,EAAE,OAAO,CAAC,CAChC,CAAC;YAEF,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC;KAAA;CACF;AA1GD,sCA0GC"}
1
+ {"version":3,"file":"NftCollection.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './NftCollection';
2
+ export * from './Nft';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -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,12 @@
1
1
  import BigNumber from 'bignumber.js';
2
- import { CustomPermissionGroup, DefaultPortfolio, FungibleAsset, Identity, KnownPermissionGroup, NumberedPortfolio } from "../../../internal";
3
- import { EventIdEnum } from "../../../middleware/enums";
4
- import { Compliance, EventIdentifier, TransferError, TransferRestriction } from "../../../types";
2
+ import { CustomPermissionGroup, DefaultPortfolio, FungibleAsset, Identity, KnownPermissionGroup, NftCollection, NumberedPortfolio } from "../../../internal";
3
+ import { EventIdEnum } from "../../../middleware/types";
4
+ import { Compliance, EventIdentifier, MetadataDetails, MetadataType, TransferError, TransferRestriction } from "../../../types";
5
+ /**
6
+ * Represents a generic asset on chain. Common functionality (e.g. documents) can be interacted with directly. For type specific functionality (e.g. issue) the type can
7
+ * be narrowed via `instanceof` operator, or by using a more specific getter
8
+ */
9
+ export declare type Asset = FungibleAsset | NftCollection;
5
10
  /**
6
11
  * Properties that uniquely identify an Asset
7
12
  */
@@ -64,6 +69,33 @@ export interface HistoricAssetTransaction extends EventIdentifier {
64
69
  event: EventIdEnum;
65
70
  extrinsicIndex: BigNumber;
66
71
  }
72
+ /**
73
+ * The data needed to uniquely identify a metadata specification
74
+ */
75
+ export declare type MetadataKeyId = {
76
+ type: MetadataType.Global;
77
+ id: BigNumber;
78
+ } | {
79
+ type: MetadataType.Local;
80
+ id: BigNumber;
81
+ ticker: string;
82
+ };
83
+ export interface NftMetadata {
84
+ /**
85
+ * The metadata key this value is intended for
86
+ */
87
+ key: MetadataKeyId;
88
+ /**
89
+ * The value the particular NFT has for the metadata
90
+ */
91
+ value: string;
92
+ }
93
+ /**
94
+ * A metadata entry for which each NFT in the collection must have an entry for
95
+ *
96
+ * @note each NFT **must** have an entry for each metadata value, the entry **should** comply with the relevant spec
97
+ */
98
+ export declare type CollectionKey = MetadataKeyId & MetadataDetails;
67
99
  export * from './Fungible/Checkpoints/types';
68
100
  export * from './Fungible/CorporateActions/types';
69
101
  //# 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,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,uBAAgB;AAE1F;;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,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,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,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EAClB,0BAAmB;AACpB,OAAO,EAAE,WAAW,EAAE,kCAA2B;AACjD,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EACpB,uBAAgB;AAEjB;;;GAGG;AACH,oBAAY,KAAK,GAAG,aAAa,GAAG,aAAa,CAAC;AAElD;;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;;GAEG;AACH,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;;OAEG;IACH,GAAG,EAAE,aAAa,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,oBAAY,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAE5D,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":";;;;;;;;;;;;;;;;AAkFA,+DAA6C;AAC7C,oEAAkD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/entities/Asset/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgIA,+DAA6C;AAC7C,oEAAkD"}
@@ -1,7 +1,7 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { BaseAsset, Context, CustomPermissionGroup, FungibleAsset, Identity, KnownPermissionGroup, Namespace } from "../../../internal";
3
- import { EventIdEnum, ModuleIdEnum } from "../../../middleware/enums";
4
- import { AssetWithGroup, CheckPermissionsResult, EventIdentifier, ProcedureMethod, ResultSet, SetPermissionGroupParams, SignerType, TxTag, WaivePermissionsParams } from "../../../types";
3
+ import { EventIdEnum, ModuleIdEnum } from "../../../middleware/types";
4
+ import { AssetWithGroup, CheckPermissionsResult, EventIdentifier, NftCollection, ProcedureMethod, ResultSet, SetPermissionGroupParams, SignerType, TxTag, WaivePermissionsParams } from "../../../types";
5
5
  /**
6
6
  * Handles all Asset Permissions (External Agents) related functionality on the Identity side
7
7
  */
@@ -35,7 +35,7 @@ export declare class AssetPermissions extends Namespace<Identity> {
35
35
  * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned
36
36
  */
37
37
  enabledAt({ asset, }: {
38
- asset: string | FungibleAsset;
38
+ asset: string | FungibleAsset | NftCollection;
39
39
  }): Promise<EventIdentifier | null>;
40
40
  /**
41
41
  * Abdicate from the current Permissions Group for a given Asset. This means that this Identity will no longer have any permissions over said Asset
@@ -1 +1 @@
1
- {"version":3,"file":"AssetPermissions.d.ts","sourceRoot":"","sources":["../../../../src/api/entities/Identity/AssetPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EACL,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,SAAS,EAIV,0BAAmB;AACpB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kCAA2B;AAG/D,OAAO,EACL,cAAc,EACd,sBAAsB,EAEtB,eAAe,EAGf,eAAe,EACf,SAAS,EACT,wBAAwB,EACxB,UAAU,EACV,KAAK,EAEL,sBAAsB,EACvB,uBAAgB;AA0CjB;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS,CAAC,QAAQ,CAAC;IACvD;;OAEG;gBACS,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO;IAc9C;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA0B7C;;OAEG;IACU,gBAAgB,CAAC,IAAI,EAAE;QAClC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;QAC1B,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;KAC9B,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAgJxD;;OAEG;IACU,QAAQ,CAAC,EACpB,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,GAAG,OAAO,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IA6BzD;;;;;;OAMG;IACU,SAAS,CAAC,EACrB,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmBnC;;OAEG;IACI,KAAK,EAAE,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAE5D;;OAEG;IACI,QAAQ,EAAE,eAAe,CAC9B,wBAAwB,EACxB,qBAAqB,GAAG,oBAAoB,CAC7C,CAAC;IAEF;;;;;;;;;;OAUG;IACU,mBAAmB,CAAC,IAAI,EAAE;QACrC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;QAC9B,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;CAyCxC"}
1
+ {"version":3,"file":"AssetPermissions.d.ts","sourceRoot":"","sources":["../../../../src/api/entities/Identity/AssetPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EACL,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,SAAS,EAIV,0BAAmB;AAEpB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAS,kCAA2B;AACtE,OAAO,EACL,cAAc,EACd,sBAAsB,EAEtB,eAAe,EAEf,aAAa,EAEb,eAAe,EACf,SAAS,EACT,wBAAwB,EACxB,UAAU,EACV,KAAK,EAEL,sBAAsB,EACvB,uBAAgB;AA0CjB;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS,CAAC,QAAQ,CAAC;IACvD;;OAEG;gBACS,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO;IAc9C;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA0B7C;;OAEG;IACU,gBAAgB,CAAC,IAAI,EAAE;QAClC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;QAC1B,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;KAC9B,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAgJxD;;OAEG;IACU,QAAQ,CAAC,EACpB,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,GAAG,OAAO,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IA6BzD;;;;;;OAMG;IACU,SAAS,CAAC,EACrB,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;KAC/C,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmBnC;;OAEG;IACI,KAAK,EAAE,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAE5D;;OAEG;IACI,QAAQ,EAAE,eAAe,CAC9B,wBAAwB,EACxB,qBAAqB,GAAG,oBAAoB,CAC7C,CAAC;IAEF;;;;;;;;;;OAUG;IACU,mBAAmB,CAAC,IAAI,EAAE;QACrC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;QAC9B,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;CAyCxC"}