@polymeshassociation/polymesh-sdk 23.0.0-alpha.9 → 23.0.0-beta.2

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 (196) hide show
  1. package/CHANGELOG.md +11 -2
  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 +26 -1
  8. package/api/client/Claims.d.ts.map +1 -1
  9. package/api/client/Claims.js +61 -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/client/Polymesh.d.ts.map +1 -1
  15. package/api/client/Polymesh.js +2 -1
  16. package/api/client/Polymesh.js.map +1 -1
  17. package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
  18. package/api/entities/Account/MultiSig/index.js +2 -5
  19. package/api/entities/Account/MultiSig/index.js.map +1 -1
  20. package/api/entities/Account/index.d.ts.map +1 -1
  21. package/api/entities/Account/index.js +1 -1
  22. package/api/entities/Account/index.js.map +1 -1
  23. package/api/entities/Account/types.d.ts +1 -1
  24. package/api/entities/Asset/Base/Settlements/index.d.ts +85 -0
  25. package/api/entities/Asset/Base/Settlements/index.d.ts.map +1 -0
  26. package/api/entities/Asset/Base/Settlements/index.js +141 -0
  27. package/api/entities/Asset/Base/Settlements/index.js.map +1 -0
  28. package/api/entities/Asset/Fungible/index.d.ts +2 -2
  29. package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
  30. package/api/entities/Asset/Fungible/index.js +2 -2
  31. package/api/entities/Asset/Fungible/index.js.map +1 -1
  32. package/api/entities/Asset/NonFungible/Nft.d.ts +76 -5
  33. package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -1
  34. package/api/entities/Asset/NonFungible/Nft.js +162 -6
  35. package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
  36. package/api/entities/Asset/NonFungible/NftCollection.d.ts +30 -16
  37. package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
  38. package/api/entities/Asset/NonFungible/NftCollection.js +72 -27
  39. package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
  40. package/api/entities/Asset/types.d.ts +23 -3
  41. package/api/entities/Asset/types.d.ts.map +1 -1
  42. package/api/entities/Asset/types.js.map +1 -1
  43. package/api/entities/Identity/AssetPermissions.d.ts +3 -3
  44. package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
  45. package/api/entities/Identity/AssetPermissions.js.map +1 -1
  46. package/api/entities/Identity/index.d.ts +17 -2
  47. package/api/entities/Identity/index.d.ts.map +1 -1
  48. package/api/entities/Identity/index.js +37 -0
  49. package/api/entities/Identity/index.js.map +1 -1
  50. package/api/entities/Instruction/index.d.ts.map +1 -1
  51. package/api/entities/Instruction/index.js +29 -20
  52. package/api/entities/Instruction/index.js.map +1 -1
  53. package/api/entities/Instruction/types.d.ts +10 -3
  54. package/api/entities/Instruction/types.d.ts.map +1 -1
  55. package/api/entities/Instruction/types.js.map +1 -1
  56. package/api/entities/MetadataEntry/index.d.ts +2 -2
  57. package/api/entities/MetadataEntry/index.d.ts.map +1 -1
  58. package/api/entities/MetadataEntry/index.js +1 -1
  59. package/api/entities/MetadataEntry/index.js.map +1 -1
  60. package/api/entities/MultiSigProposal/index.d.ts +36 -2
  61. package/api/entities/MultiSigProposal/index.d.ts.map +1 -1
  62. package/api/entities/MultiSigProposal/index.js +91 -10
  63. package/api/entities/MultiSigProposal/index.js.map +1 -1
  64. package/api/entities/MultiSigProposal/types.d.ts +15 -2
  65. package/api/entities/MultiSigProposal/types.d.ts.map +1 -1
  66. package/api/entities/MultiSigProposal/types.js +6 -1
  67. package/api/entities/MultiSigProposal/types.js.map +1 -1
  68. package/api/entities/Portfolio/index.d.ts +12 -4
  69. package/api/entities/Portfolio/index.d.ts.map +1 -1
  70. package/api/entities/Portfolio/index.js +69 -6
  71. package/api/entities/Portfolio/index.js.map +1 -1
  72. package/api/entities/Portfolio/types.d.ts +20 -5
  73. package/api/entities/Portfolio/types.d.ts.map +1 -1
  74. package/api/entities/Venue/types.d.ts +1 -1
  75. package/api/entities/common/namespaces/Authorizations.d.ts +2 -1
  76. package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
  77. package/api/entities/common/namespaces/Authorizations.js.map +1 -1
  78. package/api/entities/types.d.ts +3 -1
  79. package/api/entities/types.d.ts.map +1 -1
  80. package/api/entities/types.js.map +1 -1
  81. package/api/procedures/addInstruction.d.ts.map +1 -1
  82. package/api/procedures/addInstruction.js +76 -17
  83. package/api/procedures/addInstruction.js.map +1 -1
  84. package/api/procedures/createNftCollection.d.ts.map +1 -1
  85. package/api/procedures/createNftCollection.js +1 -1
  86. package/api/procedures/createNftCollection.js.map +1 -1
  87. package/api/procedures/evaluateMultiSigProposal.d.ts +19 -0
  88. package/api/procedures/evaluateMultiSigProposal.d.ts.map +1 -0
  89. package/api/procedures/evaluateMultiSigProposal.js +92 -0
  90. package/api/procedures/evaluateMultiSigProposal.js.map +1 -0
  91. package/api/procedures/issueNft.js +1 -1
  92. package/api/procedures/issueNft.js.map +1 -1
  93. package/api/procedures/modifyClaims.d.ts.map +1 -1
  94. package/api/procedures/modifyClaims.js +7 -21
  95. package/api/procedures/modifyClaims.js.map +1 -1
  96. package/api/procedures/moveFunds.d.ts.map +1 -1
  97. package/api/procedures/moveFunds.js +82 -16
  98. package/api/procedures/moveFunds.js.map +1 -1
  99. package/api/procedures/redeemNft.d.ts +31 -0
  100. package/api/procedures/redeemNft.d.ts.map +1 -0
  101. package/api/procedures/redeemNft.js +87 -0
  102. package/api/procedures/redeemNft.js.map +1 -0
  103. package/api/procedures/setPermissionGroup.js +1 -1
  104. package/api/procedures/setPermissionGroup.js.map +1 -1
  105. package/api/procedures/types.d.ts +26 -9
  106. package/api/procedures/types.d.ts.map +1 -1
  107. package/api/procedures/types.js.map +1 -1
  108. package/api/procedures/waivePermissions.js +1 -1
  109. package/api/procedures/waivePermissions.js.map +1 -1
  110. package/base/Context.d.ts.map +1 -1
  111. package/base/Context.js +24 -24
  112. package/base/Context.js.map +1 -1
  113. package/generated/types.d.ts +15 -4
  114. package/generated/types.d.ts.map +1 -1
  115. package/generated/types.js +11 -0
  116. package/generated/types.js.map +1 -1
  117. package/internal.d.ts +2 -0
  118. package/internal.d.ts.map +1 -1
  119. package/internal.js +7 -3
  120. package/internal.js.map +1 -1
  121. package/middleware/queries.d.ts +35 -2
  122. package/middleware/queries.d.ts.map +1 -1
  123. package/middleware/queries.js +153 -6
  124. package/middleware/queries.js.map +1 -1
  125. package/middleware/types.d.ts +73191 -17741
  126. package/middleware/types.d.ts.map +1 -1
  127. package/middleware/types.js +36984 -999
  128. package/middleware/types.js.map +1 -1
  129. package/middleware/typesV1.d.ts +1 -1
  130. package/middleware/typesV1.d.ts.map +1 -1
  131. package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-beta.2.tgz +0 -0
  132. package/package.json +2 -2
  133. package/polkadot/augment-api-errors.d.ts +32 -18
  134. package/polkadot/augment-api-errors.d.ts.map +1 -1
  135. package/polkadot/augment-api-events.d.ts +81 -8
  136. package/polkadot/augment-api-events.d.ts.map +1 -1
  137. package/polkadot/augment-api-query.d.ts +75 -26
  138. package/polkadot/augment-api-query.d.ts.map +1 -1
  139. package/polkadot/augment-api-rpc.d.ts +9 -2
  140. package/polkadot/augment-api-rpc.d.ts.map +1 -1
  141. package/polkadot/augment-api-tx.d.ts +250 -53
  142. package/polkadot/augment-api-tx.d.ts.map +1 -1
  143. package/polkadot/augment-types.d.ts +3 -1
  144. package/polkadot/augment-types.d.ts.map +1 -1
  145. package/polkadot/lookup.d.ts +336 -259
  146. package/polkadot/lookup.d.ts.map +1 -1
  147. package/polkadot/lookup.js +345 -264
  148. package/polkadot/lookup.js.map +1 -1
  149. package/polkadot/polymesh/definitions.d.ts +11 -1
  150. package/polkadot/polymesh/definitions.d.ts.map +1 -1
  151. package/polkadot/polymesh/definitions.js +14 -1
  152. package/polkadot/polymesh/definitions.js.map +1 -1
  153. package/polkadot/polymesh/types.d.ts +17 -2
  154. package/polkadot/polymesh/types.d.ts.map +1 -1
  155. package/polkadot/registry.d.ts +8 -6
  156. package/polkadot/registry.d.ts.map +1 -1
  157. package/polkadot/schema.d.ts +29 -2
  158. package/polkadot/schema.d.ts.map +1 -1
  159. package/polkadot/schema.js +51 -3
  160. package/polkadot/schema.js.map +1 -1
  161. package/polkadot/settlement/definitions.d.ts +9 -0
  162. package/polkadot/settlement/definitions.d.ts.map +1 -1
  163. package/polkadot/settlement/definitions.js +21 -0
  164. package/polkadot/settlement/definitions.js.map +1 -1
  165. package/polkadot/types-lookup.d.ts +377 -269
  166. package/polkadot/types-lookup.d.ts.map +1 -1
  167. package/types/index.d.ts +53 -7
  168. package/types/index.d.ts.map +1 -1
  169. package/types/index.js +18 -2
  170. package/types/index.js.map +1 -1
  171. package/types/internal.d.ts +1 -1
  172. package/utils/constants.d.ts +17 -1
  173. package/utils/constants.d.ts.map +1 -1
  174. package/utils/constants.js +18 -2
  175. package/utils/constants.js.map +1 -1
  176. package/utils/conversion.d.ts +38 -13
  177. package/utils/conversion.d.ts.map +1 -1
  178. package/utils/conversion.js +451 -367
  179. package/utils/conversion.js.map +1 -1
  180. package/utils/internal.d.ts +20 -3
  181. package/utils/internal.d.ts.map +1 -1
  182. package/utils/internal.js +119 -42
  183. package/utils/internal.js.map +1 -1
  184. package/utils/typeguards.d.ts +26 -2
  185. package/utils/typeguards.d.ts.map +1 -1
  186. package/utils/typeguards.js +39 -2
  187. package/utils/typeguards.js.map +1 -1
  188. package/api/entities/Asset/Fungible/Settlements/index.d.ts +0 -29
  189. package/api/entities/Asset/Fungible/Settlements/index.d.ts.map +0 -1
  190. package/api/entities/Asset/Fungible/Settlements/index.js +0 -70
  191. package/api/entities/Asset/Fungible/Settlements/index.js.map +0 -1
  192. package/middleware/enums.d.ts +0 -3
  193. package/middleware/enums.d.ts.map +0 -1
  194. package/middleware/enums.js +0 -38
  195. package/middleware/enums.js.map +0 -1
  196. package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-alpha.9.tgz +0 -0
@@ -15,9 +15,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Nft = void 0;
16
16
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
17
  const internal_1 = require("../../../../internal");
18
+ const constants_1 = require("../../../../utils/constants");
18
19
  const conversion_1 = require("../../../../utils/conversion");
20
+ const internal_2 = require("../../../../utils/internal");
19
21
  /**
20
- * Class used to manage Nft functionality
22
+ * Class used to manage Nft functionality. Each NFT belongs to an NftCollection, which specifies the expected metadata values for each NFT
21
23
  */
22
24
  class Nft extends internal_1.Entity {
23
25
  /**
@@ -26,9 +28,9 @@ class Nft extends internal_1.Entity {
26
28
  constructor(identifiers, context) {
27
29
  super(identifiers, context);
28
30
  const { ticker, id } = identifiers;
29
- this.ticker = ticker;
30
31
  this.id = id;
31
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);
32
34
  }
33
35
  /**
34
36
  * @hidden
@@ -72,14 +74,168 @@ class Nft extends internal_1.Entity {
72
74
  return id.lte(nextId);
73
75
  });
74
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
+ }
75
147
  /**
76
148
  * @hidden
77
149
  */
78
150
  toHuman() {
79
- const { ticker, id } = this;
80
- return JSON.stringify({
81
- ticker,
82
- id,
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;
83
239
  });
84
240
  }
85
241
  }
@@ -1 +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
+ {"version":3,"file":"Nft.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,29 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { BaseAsset } from "../Base";
3
- import { Nft } from "./Nft";
4
- import { Context } from "../../../../internal";
5
- import { AssetDetails, EventIdentifier, IssueNftParams, MetadataKeyId, ProcedureMethod, SubCallback, UniqueIdentifiers, 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";
6
6
  /**
7
- * Class used to manage Nft functionality
7
+ * Class used to manage NFT functionality
8
8
  */
9
9
  export declare class NftCollection extends BaseAsset {
10
+ settlements: NonFungibleSettlements;
10
11
  /**
11
12
  * Issues a new NFT for the collection
13
+ *
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.
12
15
  */
13
16
  issue: ProcedureMethod<IssueNftParams, Nft>;
14
17
  /**
15
- * Caches value for `getCollectionId`
18
+ * Local cache for `getCollectionId`
16
19
  *
17
20
  * @hidden
18
21
  */
19
- private id?;
22
+ private _id?;
20
23
  /**
21
24
  * @hidden
22
25
  */
23
26
  constructor(identifiers: UniqueIdentifiers, context: Context);
24
- /**
25
- * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
26
- *
27
- * @note uses the middlewareV2
28
- * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned
29
- */
30
- createdAt(): Promise<EventIdentifier | null>;
31
27
  /**
32
28
  * Retrieve the NftCollection's data
33
29
  *
@@ -36,19 +32,37 @@ export declare class NftCollection extends BaseAsset {
36
32
  details(): Promise<AssetDetails>;
37
33
  details(callback: SubCallback<AssetDetails>): Promise<UnsubCallback>;
38
34
  /**
39
- * Get metadata keys that each NFT in the collection must have
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
40
39
  */
41
- collectionMetadataKeys(): Promise<MetadataKeyId[]>;
40
+ collectionKeys(): Promise<CollectionKey[]>;
42
41
  /**
43
42
  * Retrieve the amount of unique investors that hold this Nft
44
43
  */
45
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>;
46
60
  /**
47
61
  * Determine whether this NftCollection exists on chain
48
62
  */
49
63
  exists(): Promise<boolean>;
50
64
  /**
51
- * Returns the collection id
65
+ * Returns the collection's on chain numeric ID. Used primarily to access NFT specific storage values
52
66
  */
53
67
  getCollectionId(): Promise<BigNumber>;
54
68
  }
@@ -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;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"}
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,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 Settlements_1 = require("../Base/Settlements");
18
19
  const issueNft_1 = require("../../../procedures/issueNft");
19
20
  const internal_1 = require("../../../../internal");
20
21
  const queries_1 = require("../../../../middleware/queries");
22
+ const types_1 = require("../../../../types");
21
23
  const conversion_1 = require("../../../../utils/conversion");
22
24
  const internal_2 = require("../../../../utils/internal");
23
25
  const sumNftIssuance = (numberOfNfts) => {
@@ -29,7 +31,7 @@ const sumNftIssuance = (numberOfNfts) => {
29
31
  return numberIssued;
30
32
  };
31
33
  /**
32
- * Class used to manage Nft functionality
34
+ * Class used to manage NFT functionality
33
35
  */
34
36
  class NftCollection extends Base_1.BaseAsset {
35
37
  /**
@@ -38,26 +40,12 @@ class NftCollection extends Base_1.BaseAsset {
38
40
  constructor(identifiers, context) {
39
41
  super(identifiers, context);
40
42
  const { ticker } = identifiers;
43
+ this.settlements = new Settlements_1.NonFungibleSettlements(this, context);
41
44
  this.transferOwnership = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.transferAssetOwnership, Object.assign({ ticker }, args)] }, context);
42
45
  this.issue = (0, internal_2.createProcedureMethod)({
43
46
  getProcedureAndArgs: args => [issueNft_1.issueNft, Object.assign({ ticker }, args)],
44
47
  }, context);
45
48
  }
46
- /**
47
- * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
48
- *
49
- * @note uses the middlewareV2
50
- * @note there is a possibility that the data is not ready by the time it is requested. In that case, `null` is returned
51
- */
52
- createdAt() {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const { ticker, context } = this;
55
- const { data: { assets: { nodes: [asset], }, }, } = yield context.queryMiddleware((0, queries_1.assetQuery)({
56
- ticker,
57
- }));
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);
59
- });
60
- }
61
49
  // eslint-disable-next-line require-jsdoc
62
50
  details(callback) {
63
51
  const _super = Object.create(null, {
@@ -87,15 +75,36 @@ class NftCollection extends Base_1.BaseAsset {
87
75
  });
88
76
  }
89
77
  /**
90
- * Get metadata keys that each NFT in the collection must have
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
91
82
  */
92
- collectionMetadataKeys() {
83
+ collectionKeys() {
93
84
  return __awaiter(this, void 0, void 0, function* () {
94
85
  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));
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
+ })));
99
108
  });
100
109
  }
101
110
  /**
@@ -110,6 +119,42 @@ class NftCollection extends Base_1.BaseAsset {
110
119
  return new bignumber_js_1.default(assetBalances.length);
111
120
  });
112
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
+ }
113
158
  /**
114
159
  * Determine whether this NftCollection exists on chain
115
160
  */
@@ -121,18 +166,18 @@ class NftCollection extends Base_1.BaseAsset {
121
166
  });
122
167
  }
123
168
  /**
124
- * Returns the collection id
169
+ * Returns the collection's on chain numeric ID. Used primarily to access NFT specific storage values
125
170
  */
126
171
  getCollectionId() {
127
172
  return __awaiter(this, void 0, void 0, function* () {
128
173
  const { ticker, context, context: { polymeshApi: { query }, }, } = this;
129
- if (this.id) {
130
- return this.id;
174
+ if (this._id) {
175
+ return this._id;
131
176
  }
132
177
  const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
133
178
  const rawId = yield query.nft.collectionTicker(rawTicker);
134
- this.id = (0, conversion_1.u64ToBigNumber)(rawId);
135
- return this.id;
179
+ this._id = (0, conversion_1.u64ToBigNumber)(rawId);
180
+ return this._id;
136
181
  });
137
182
  }
138
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NftCollection.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NftCollection.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"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"}
@@ -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, MetadataType, 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,9 @@ 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
+ */
67
75
  export declare type MetadataKeyId = {
68
76
  type: MetadataType.Global;
69
77
  id: BigNumber;
@@ -73,9 +81,21 @@ export declare type MetadataKeyId = {
73
81
  ticker: string;
74
82
  };
75
83
  export interface NftMetadata {
84
+ /**
85
+ * The metadata key this value is intended for
86
+ */
76
87
  key: MetadataKeyId;
88
+ /**
89
+ * The value the particular NFT has for the metadata
90
+ */
77
91
  value: string;
78
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;
79
99
  export * from './Fungible/Checkpoints/types';
80
100
  export * from './Fungible/CorporateActions/types';
81
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,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
+ {"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":";;;;;;;;;;;;;;;;AAwGA,+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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetPermissions.js","sourceRoot":"","sources":["../../../../src/api/entities/Identity/AssetPermissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssetPermissions.js","sourceRoot":"","sources":["../../../../src/api/entities/Identity/AssetPermissions.ts"],"names":[],"mappings":"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"}