@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.
- package/CHANGELOG.md +11 -2
- package/README.md +49 -7
- package/api/client/Assets.d.ts +10 -2
- package/api/client/Assets.d.ts.map +1 -1
- package/api/client/Assets.js +27 -9
- package/api/client/Assets.js.map +1 -1
- package/api/client/Claims.d.ts +26 -1
- package/api/client/Claims.d.ts.map +1 -1
- package/api/client/Claims.js +61 -2
- package/api/client/Claims.js.map +1 -1
- package/api/client/Network.d.ts +1 -1
- package/api/client/Network.d.ts.map +1 -1
- package/api/client/Network.js.map +1 -1
- package/api/client/Polymesh.d.ts.map +1 -1
- package/api/client/Polymesh.js +2 -1
- package/api/client/Polymesh.js.map +1 -1
- package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
- package/api/entities/Account/MultiSig/index.js +2 -5
- package/api/entities/Account/MultiSig/index.js.map +1 -1
- package/api/entities/Account/index.d.ts.map +1 -1
- package/api/entities/Account/index.js +1 -1
- package/api/entities/Account/index.js.map +1 -1
- package/api/entities/Account/types.d.ts +1 -1
- package/api/entities/Asset/Base/Settlements/index.d.ts +85 -0
- package/api/entities/Asset/Base/Settlements/index.d.ts.map +1 -0
- package/api/entities/Asset/Base/Settlements/index.js +141 -0
- package/api/entities/Asset/Base/Settlements/index.js.map +1 -0
- package/api/entities/Asset/Fungible/index.d.ts +2 -2
- package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/index.js +2 -2
- package/api/entities/Asset/Fungible/index.js.map +1 -1
- package/api/entities/Asset/NonFungible/Nft.d.ts +76 -5
- package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/Nft.js +162 -6
- package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.d.ts +30 -16
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.js +72 -27
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
- package/api/entities/Asset/types.d.ts +23 -3
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/entities/Identity/AssetPermissions.d.ts +3 -3
- package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
- package/api/entities/Identity/AssetPermissions.js.map +1 -1
- package/api/entities/Identity/index.d.ts +17 -2
- package/api/entities/Identity/index.d.ts.map +1 -1
- package/api/entities/Identity/index.js +37 -0
- package/api/entities/Identity/index.js.map +1 -1
- package/api/entities/Instruction/index.d.ts.map +1 -1
- package/api/entities/Instruction/index.js +29 -20
- package/api/entities/Instruction/index.js.map +1 -1
- package/api/entities/Instruction/types.d.ts +10 -3
- package/api/entities/Instruction/types.d.ts.map +1 -1
- package/api/entities/Instruction/types.js.map +1 -1
- package/api/entities/MetadataEntry/index.d.ts +2 -2
- package/api/entities/MetadataEntry/index.d.ts.map +1 -1
- package/api/entities/MetadataEntry/index.js +1 -1
- package/api/entities/MetadataEntry/index.js.map +1 -1
- package/api/entities/MultiSigProposal/index.d.ts +36 -2
- package/api/entities/MultiSigProposal/index.d.ts.map +1 -1
- package/api/entities/MultiSigProposal/index.js +91 -10
- package/api/entities/MultiSigProposal/index.js.map +1 -1
- package/api/entities/MultiSigProposal/types.d.ts +15 -2
- package/api/entities/MultiSigProposal/types.d.ts.map +1 -1
- package/api/entities/MultiSigProposal/types.js +6 -1
- package/api/entities/MultiSigProposal/types.js.map +1 -1
- package/api/entities/Portfolio/index.d.ts +12 -4
- package/api/entities/Portfolio/index.d.ts.map +1 -1
- package/api/entities/Portfolio/index.js +69 -6
- package/api/entities/Portfolio/index.js.map +1 -1
- package/api/entities/Portfolio/types.d.ts +20 -5
- package/api/entities/Portfolio/types.d.ts.map +1 -1
- package/api/entities/Venue/types.d.ts +1 -1
- package/api/entities/common/namespaces/Authorizations.d.ts +2 -1
- package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
- package/api/entities/common/namespaces/Authorizations.js.map +1 -1
- package/api/entities/types.d.ts +3 -1
- package/api/entities/types.d.ts.map +1 -1
- package/api/entities/types.js.map +1 -1
- package/api/procedures/addInstruction.d.ts.map +1 -1
- package/api/procedures/addInstruction.js +76 -17
- package/api/procedures/addInstruction.js.map +1 -1
- package/api/procedures/createNftCollection.d.ts.map +1 -1
- package/api/procedures/createNftCollection.js +1 -1
- package/api/procedures/createNftCollection.js.map +1 -1
- package/api/procedures/evaluateMultiSigProposal.d.ts +19 -0
- package/api/procedures/evaluateMultiSigProposal.d.ts.map +1 -0
- package/api/procedures/evaluateMultiSigProposal.js +92 -0
- package/api/procedures/evaluateMultiSigProposal.js.map +1 -0
- package/api/procedures/issueNft.js +1 -1
- package/api/procedures/issueNft.js.map +1 -1
- package/api/procedures/modifyClaims.d.ts.map +1 -1
- package/api/procedures/modifyClaims.js +7 -21
- package/api/procedures/modifyClaims.js.map +1 -1
- package/api/procedures/moveFunds.d.ts.map +1 -1
- package/api/procedures/moveFunds.js +82 -16
- package/api/procedures/moveFunds.js.map +1 -1
- package/api/procedures/redeemNft.d.ts +31 -0
- package/api/procedures/redeemNft.d.ts.map +1 -0
- package/api/procedures/redeemNft.js +87 -0
- package/api/procedures/redeemNft.js.map +1 -0
- package/api/procedures/setPermissionGroup.js +1 -1
- package/api/procedures/setPermissionGroup.js.map +1 -1
- package/api/procedures/types.d.ts +26 -9
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js.map +1 -1
- package/api/procedures/waivePermissions.js +1 -1
- package/api/procedures/waivePermissions.js.map +1 -1
- package/base/Context.d.ts.map +1 -1
- package/base/Context.js +24 -24
- package/base/Context.js.map +1 -1
- package/generated/types.d.ts +15 -4
- package/generated/types.d.ts.map +1 -1
- package/generated/types.js +11 -0
- package/generated/types.js.map +1 -1
- package/internal.d.ts +2 -0
- package/internal.d.ts.map +1 -1
- package/internal.js +7 -3
- package/internal.js.map +1 -1
- package/middleware/queries.d.ts +35 -2
- package/middleware/queries.d.ts.map +1 -1
- package/middleware/queries.js +153 -6
- package/middleware/queries.js.map +1 -1
- package/middleware/types.d.ts +73191 -17741
- package/middleware/types.d.ts.map +1 -1
- package/middleware/types.js +36984 -999
- package/middleware/types.js.map +1 -1
- package/middleware/typesV1.d.ts +1 -1
- package/middleware/typesV1.d.ts.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-beta.2.tgz +0 -0
- package/package.json +2 -2
- package/polkadot/augment-api-errors.d.ts +32 -18
- package/polkadot/augment-api-errors.d.ts.map +1 -1
- package/polkadot/augment-api-events.d.ts +81 -8
- package/polkadot/augment-api-events.d.ts.map +1 -1
- package/polkadot/augment-api-query.d.ts +75 -26
- package/polkadot/augment-api-query.d.ts.map +1 -1
- package/polkadot/augment-api-rpc.d.ts +9 -2
- package/polkadot/augment-api-rpc.d.ts.map +1 -1
- package/polkadot/augment-api-tx.d.ts +250 -53
- package/polkadot/augment-api-tx.d.ts.map +1 -1
- package/polkadot/augment-types.d.ts +3 -1
- package/polkadot/augment-types.d.ts.map +1 -1
- package/polkadot/lookup.d.ts +336 -259
- package/polkadot/lookup.d.ts.map +1 -1
- package/polkadot/lookup.js +345 -264
- package/polkadot/lookup.js.map +1 -1
- package/polkadot/polymesh/definitions.d.ts +11 -1
- package/polkadot/polymesh/definitions.d.ts.map +1 -1
- package/polkadot/polymesh/definitions.js +14 -1
- package/polkadot/polymesh/definitions.js.map +1 -1
- package/polkadot/polymesh/types.d.ts +17 -2
- package/polkadot/polymesh/types.d.ts.map +1 -1
- package/polkadot/registry.d.ts +8 -6
- package/polkadot/registry.d.ts.map +1 -1
- package/polkadot/schema.d.ts +29 -2
- package/polkadot/schema.d.ts.map +1 -1
- package/polkadot/schema.js +51 -3
- package/polkadot/schema.js.map +1 -1
- package/polkadot/settlement/definitions.d.ts +9 -0
- package/polkadot/settlement/definitions.d.ts.map +1 -1
- package/polkadot/settlement/definitions.js +21 -0
- package/polkadot/settlement/definitions.js.map +1 -1
- package/polkadot/types-lookup.d.ts +377 -269
- package/polkadot/types-lookup.d.ts.map +1 -1
- package/types/index.d.ts +53 -7
- package/types/index.d.ts.map +1 -1
- package/types/index.js +18 -2
- package/types/index.js.map +1 -1
- package/types/internal.d.ts +1 -1
- package/utils/constants.d.ts +17 -1
- package/utils/constants.d.ts.map +1 -1
- package/utils/constants.js +18 -2
- package/utils/constants.js.map +1 -1
- package/utils/conversion.d.ts +38 -13
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +451 -367
- package/utils/conversion.js.map +1 -1
- package/utils/internal.d.ts +20 -3
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +119 -42
- package/utils/internal.js.map +1 -1
- package/utils/typeguards.d.ts +26 -2
- package/utils/typeguards.d.ts.map +1 -1
- package/utils/typeguards.js +39 -2
- package/utils/typeguards.js.map +1 -1
- package/api/entities/Asset/Fungible/Settlements/index.d.ts +0 -29
- package/api/entities/Asset/Fungible/Settlements/index.d.ts.map +0 -1
- package/api/entities/Asset/Fungible/Settlements/index.js +0 -70
- package/api/entities/Asset/Fungible/Settlements/index.js.map +0 -1
- package/middleware/enums.d.ts +0 -3
- package/middleware/enums.d.ts.map +0 -1
- package/middleware/enums.js +0 -38
- package/middleware/enums.js.map +0 -1
- 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
|
|
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,
|
|
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 {
|
|
4
|
-
import { Context } from "../../../../internal";
|
|
5
|
-
import { AssetDetails, EventIdentifier, IssueNftParams,
|
|
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
|
|
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
|
-
*
|
|
18
|
+
* Local cache for `getCollectionId`
|
|
16
19
|
*
|
|
17
20
|
* @hidden
|
|
18
21
|
*/
|
|
19
|
-
private
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
*
|
|
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
|
-
|
|
83
|
+
collectionKeys() {
|
|
93
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
85
|
const { context, ticker, context: { polymeshApi: { query }, }, } = this;
|
|
95
|
-
const
|
|
96
|
-
const
|
|
97
|
-
const rawKeys = yield query.nft.collectionKeys(
|
|
98
|
-
|
|
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
|
|
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.
|
|
130
|
-
return this.
|
|
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.
|
|
135
|
-
return this.
|
|
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":";;;;;;;;;;;;;;;AAEA,gEAAqC;AAErC,kCAAsD;
|
|
1
|
+
{"version":3,"file":"NftCollection.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,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/
|
|
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":";;;;;;;;;;;;;;;;
|
|
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/
|
|
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;
|
|
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":";;;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,wDAAyB;AAEzB,gDAWoB;
|
|
1
|
+
{"version":3,"file":"AssetPermissions.js","sourceRoot":"","sources":["../../../../src/api/entities/Identity/AssetPermissions.ts"],"names":[],"mappings":"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"}
|