@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.
- package/CHANGELOG.md +74 -1
- 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 +13 -1
- package/api/client/Claims.d.ts.map +1 -1
- package/api/client/Claims.js +32 -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/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/BaseAsset.d.ts +0 -1
- package/api/entities/Asset/Base/BaseAsset.d.ts.map +1 -1
- package/api/entities/Asset/Base/BaseAsset.js +0 -1
- package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
- package/api/entities/Asset/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/TransferRestrictions/Count.d.ts +2 -2
- 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 +110 -0
- package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -0
- package/api/entities/Asset/NonFungible/Nft.js +243 -0
- package/api/entities/Asset/NonFungible/Nft.js.map +1 -0
- package/api/entities/Asset/NonFungible/NftCollection.d.ts +44 -6
- package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/NftCollection.js +99 -14
- package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
- package/api/entities/Asset/NonFungible/index.d.ts +1 -0
- package/api/entities/Asset/NonFungible/index.d.ts.map +1 -1
- package/api/entities/Asset/NonFungible/index.js +1 -0
- package/api/entities/Asset/NonFungible/index.js.map +1 -1
- package/api/entities/Asset/types.d.ts +35 -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 +66 -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.d.ts +35 -0
- package/api/procedures/issueNft.d.ts.map +1 -0
- package/api/procedures/issueNft.js +98 -0
- package/api/procedures/issueNft.js.map +1 -0
- package/api/procedures/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 +36 -10
- 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 +5 -1
- package/generated/types.d.ts.map +1 -1
- package/generated/types.js +4 -0
- package/generated/types.js.map +1 -1
- package/internal.d.ts +3 -1
- package/internal.d.ts.map +1 -1
- package/internal.js +8 -3
- package/internal.js.map +1 -1
- package/middleware/queries.d.ts +19 -2
- package/middleware/queries.d.ts.map +1 -1
- package/middleware/queries.js +103 -6
- package/middleware/queries.js.map +1 -1
- package/middleware/types.d.ts +68950 -15292
- package/middleware/types.d.ts.map +1 -1
- package/middleware/types.js +36222 -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.1.tgz +0 -0
- package/package.json +2 -2
- package/polkadot/augment-api-errors.d.ts +4 -18
- package/polkadot/augment-api-errors.d.ts.map +1 -1
- package/polkadot/augment-api-events.d.ts +0 -6
- package/polkadot/augment-api-events.d.ts.map +1 -1
- package/polkadot/augment-api-query.d.ts +33 -26
- package/polkadot/augment-api-query.d.ts.map +1 -1
- package/polkadot/augment-api-tx.d.ts +123 -51
- package/polkadot/augment-api-tx.d.ts.map +1 -1
- package/polkadot/lookup.d.ts +246 -248
- package/polkadot/lookup.d.ts.map +1 -1
- package/polkadot/lookup.js +248 -253
- package/polkadot/lookup.js.map +1 -1
- package/polkadot/registry.d.ts +3 -5
- package/polkadot/registry.d.ts.map +1 -1
- package/polkadot/types-lookup.d.ts +251 -248
- package/polkadot/types-lookup.d.ts.map +1 -1
- package/types/index.d.ts +44 -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 +54 -14
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +480 -363
- 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.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 {
|
|
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
|
|
7
|
+
* Class used to manage NFT functionality
|
|
6
8
|
*/
|
|
7
9
|
export declare class NftCollection extends BaseAsset {
|
|
10
|
+
settlements: NonFungibleSettlements;
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
12
|
+
* Issues a new NFT for the collection
|
|
10
13
|
*
|
|
11
|
-
* @note
|
|
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
|
-
|
|
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;
|
|
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
|
|
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
|
|
34
|
+
* Class used to manage NFT functionality
|
|
31
35
|
*/
|
|
32
36
|
class NftCollection extends Base_1.BaseAsset {
|
|
33
37
|
/**
|
|
34
|
-
*
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"NftCollection.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/NftCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./NftCollection"), exports);
|
|
18
|
+
__exportStar(require("./Nft"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,wCAAsB"}
|
|
@@ -1,7 +1,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, 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,
|
|
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"}
|