@polymeshassociation/polymesh-sdk 23.0.0-alpha.9 → 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/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 +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.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 +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 +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 +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 +34 -13
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +437 -364
- 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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.evaluateMultiSigProposal = exports.prepareMultiSigProposalEvaluation = void 0;
|
|
13
|
+
const internal_1 = require("../../internal");
|
|
14
|
+
const types_1 = require("../../types");
|
|
15
|
+
const conversion_1 = require("../../utils/conversion");
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
function prepareMultiSigProposalEvaluation(args) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const { context: { polymeshApi: { tx: { multiSig }, query: { multiSig: { votes }, }, }, }, context, } = this;
|
|
22
|
+
const { proposal: { id, multiSig: { address: multiSigAddress }, }, proposal, action, } = args;
|
|
23
|
+
const rawMultiSigAddress = (0, conversion_1.stringToAccountId)(multiSigAddress, context);
|
|
24
|
+
const rawProposalId = (0, conversion_1.bigNumberToU64)(id, context);
|
|
25
|
+
const signingAccount = context.getSigningAccount();
|
|
26
|
+
const rawSigner = (0, conversion_1.signerToSignatory)(signingAccount, context);
|
|
27
|
+
const [creator, { signers: multiSigSigners }, { status }, hasVoted] = yield Promise.all([
|
|
28
|
+
proposal.multiSig.getCreator(),
|
|
29
|
+
proposal.multiSig.details(),
|
|
30
|
+
proposal.details(),
|
|
31
|
+
votes([rawMultiSigAddress, rawProposalId], rawSigner),
|
|
32
|
+
]);
|
|
33
|
+
if (!multiSigSigners.some(multiSigSigner => (0, conversion_1.signerToSignerValue)(multiSigSigner).value === signingAccount.address)) {
|
|
34
|
+
throw new internal_1.PolymeshError({
|
|
35
|
+
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
36
|
+
message: 'The signing Account is not a signer of the MultiSig',
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if ((0, conversion_1.boolToBoolean)(hasVoted)) {
|
|
40
|
+
throw new internal_1.PolymeshError({
|
|
41
|
+
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
42
|
+
message: 'The signing Account has already voted for this MultiSig Proposal',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
let errorCode = types_1.ErrorCode.UnmetPrerequisite;
|
|
46
|
+
let message;
|
|
47
|
+
switch (status) {
|
|
48
|
+
case types_1.ProposalStatus.Invalid:
|
|
49
|
+
errorCode = types_1.ErrorCode.DataUnavailable;
|
|
50
|
+
message = 'The MultiSig Proposal does not exist';
|
|
51
|
+
break;
|
|
52
|
+
case types_1.ProposalStatus.Rejected:
|
|
53
|
+
message = 'The MultiSig Proposal has already been rejected';
|
|
54
|
+
break;
|
|
55
|
+
case types_1.ProposalStatus.Successful:
|
|
56
|
+
case types_1.ProposalStatus.Failed:
|
|
57
|
+
message = 'The MultiSig Proposal has already been executed';
|
|
58
|
+
break;
|
|
59
|
+
case types_1.ProposalStatus.Expired:
|
|
60
|
+
message = 'The MultiSig Proposal has expired';
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if (message) {
|
|
64
|
+
throw new internal_1.PolymeshError({
|
|
65
|
+
code: errorCode,
|
|
66
|
+
message,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
let transaction;
|
|
70
|
+
if (action === types_1.MultiSigProposalAction.Approve) {
|
|
71
|
+
transaction = multiSig.approveAsKey;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
transaction = multiSig.rejectAsKey;
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
transaction,
|
|
78
|
+
paidForBy: creator,
|
|
79
|
+
args: [rawMultiSigAddress, rawProposalId],
|
|
80
|
+
resolver: undefined,
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
exports.prepareMultiSigProposalEvaluation = prepareMultiSigProposalEvaluation;
|
|
85
|
+
/**
|
|
86
|
+
* @hidden
|
|
87
|
+
*/
|
|
88
|
+
const evaluateMultiSigProposal = () => new internal_1.Procedure(prepareMultiSigProposalEvaluation, {
|
|
89
|
+
signerPermissions: true,
|
|
90
|
+
});
|
|
91
|
+
exports.evaluateMultiSigProposal = evaluateMultiSigProposal;
|
|
92
|
+
//# sourceMappingURL=evaluateMultiSigProposal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluateMultiSigProposal.js","sourceRoot":"","sources":["../../../src/api/procedures/evaluateMultiSigProposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ function prepareIssueNft(args) {
|
|
|
32
32
|
const { context: { polymeshApi: { tx }, }, context, storage: { collection }, } = this;
|
|
33
33
|
const { ticker, portfolioId, metadata } = args;
|
|
34
34
|
const rawMetadataValues = (0, conversion_1.nftInputToNftMetadataVec)(metadata, context);
|
|
35
|
-
const neededMetadata = yield collection.
|
|
35
|
+
const neededMetadata = yield collection.collectionKeys();
|
|
36
36
|
// for each input, find and remove a value from needed
|
|
37
37
|
args.metadata.forEach(value => {
|
|
38
38
|
const matchedIndex = neededMetadata.findIndex(requiredValue => value.type === requiredValue.type && value.id.eq(requiredValue.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueNft.js","sourceRoot":"","sources":["../../../src/api/procedures/issueNft.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,2DAA2D;AAC3D,6CAA8E;AAC9E,uCAA8D;AAE9D,uDAK4B;AAC5B,mDAAsD;AAYtD;;GAEG;AACI,MAAM,gBAAgB,GAC3B,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAC,OAA2B,EAAO,EAAE;IACnC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAA,6BAAkB,EAAC,OAAO,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAE7E,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,2BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,OAAO,IAAI,SAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AARS,QAAA,gBAAgB,oBAQzB;AAEJ;;GAEG;AACH,SAAsB,eAAe,CAEnC,IAAoB;;QAEpB,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,EAAE,EAAE,GACpB,EACD,OAAO,EACP,OAAO,EAAE,EAAE,UAAU,EAAE,GACxB,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC/C,MAAM,iBAAiB,GAAG,IAAA,qCAAwB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtE,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"issueNft.js","sourceRoot":"","sources":["../../../src/api/procedures/issueNft.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifyClaims.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/modifyClaims.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoC,SAAS,EAAE,uBAAmB;AAGzE,OAAO,
|
|
1
|
+
{"version":3,"file":"modifyClaims.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/modifyClaims.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoC,SAAS,EAAE,uBAAmB;AAGzE,OAAO,EAOL,kBAAkB,EAGnB,oBAAgB;AACjB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,6BAAyB;AA6EhF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,EACzC,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAwHlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,GACV,EAAE,kBAAkB,GAAG,sBAAsB,CAiB7C;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,UAAU,kBAAkB,EAAE,IAAI,CACZ,CAAC"}
|
|
@@ -18,29 +18,14 @@ const utils_1 = require("../../types/utils");
|
|
|
18
18
|
const constants_1 = require("../../utils/constants");
|
|
19
19
|
const conversion_1 = require("../../utils/conversion");
|
|
20
20
|
const internal_2 = require("../../utils/internal");
|
|
21
|
-
const
|
|
22
|
-
const areSameClaims = (claim, { scope, type }) => {
|
|
23
|
-
let isSameScope = true;
|
|
24
|
-
if ((0, typeguards_1.isScopedClaim)(claim)) {
|
|
25
|
-
isSameScope = scope ? (0, lodash_1.isEqual)((0, conversion_1.middlewareScopeToScope)(scope), claim.scope) : false;
|
|
26
|
-
}
|
|
27
|
-
// filter out deprecated claim types
|
|
28
|
-
if (type === types_1.ClaimTypeEnum.NoData ||
|
|
29
|
-
type === types_1.ClaimTypeEnum.NoType ||
|
|
30
|
-
type === types_1.ClaimTypeEnum.InvestorUniqueness ||
|
|
31
|
-
type === types_1.ClaimTypeEnum.InvestorUniquenessV2) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
return isSameScope && types_1.ClaimType[type] === claim.type;
|
|
35
|
-
};
|
|
36
|
-
const findClaimsByOtherIssuers = (claims, claimsByDid) => claims.reduce((prev, { target, claim }) => {
|
|
21
|
+
const findClaimsByOtherIssuers = (claims, claimsByDid, signerDid) => claims.reduce((prev, { target, claim }) => {
|
|
37
22
|
var _a;
|
|
38
23
|
const targetClaims = (_a = claimsByDid[(0, conversion_1.signerToString)(target)]) !== null && _a !== void 0 ? _a : [];
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
24
|
+
const claimIssuedByOtherDids = targetClaims.some(targetClaim => (0, internal_2.areSameClaims)(claim, targetClaim) && targetClaim.issuerId !== signerDid);
|
|
25
|
+
if (claimIssuedByOtherDids) {
|
|
41
26
|
return [...prev, claim];
|
|
42
27
|
}
|
|
43
|
-
return
|
|
28
|
+
return prev;
|
|
44
29
|
}, []);
|
|
45
30
|
/**
|
|
46
31
|
* @hidden
|
|
@@ -107,13 +92,14 @@ function prepareModifyClaims(args) {
|
|
|
107
92
|
// skip validation if the middleware is unavailable
|
|
108
93
|
if (shouldValidateWithMiddleware) {
|
|
109
94
|
const { did: currentDid } = yield context.getSigningIdentity();
|
|
110
|
-
const
|
|
95
|
+
const result = yield context.queryMiddleware((0, queries_1.claimsQuery)({
|
|
111
96
|
dids: allTargets,
|
|
112
97
|
trustedClaimIssuers: [currentDid],
|
|
113
98
|
includeExpired: true,
|
|
114
99
|
}));
|
|
100
|
+
const { data: { claims: { nodes: claimsData }, }, } = result;
|
|
115
101
|
const claimsByDid = (0, lodash_1.groupBy)(claimsData, 'targetId');
|
|
116
|
-
const claimsByOtherIssuers = findClaimsByOtherIssuers(claims, claimsByDid);
|
|
102
|
+
const claimsByOtherIssuers = findClaimsByOtherIssuers(claims, claimsByDid, currentDid);
|
|
117
103
|
if (claimsByOtherIssuers.length) {
|
|
118
104
|
throw new internal_1.PolymeshError({
|
|
119
105
|
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifyClaims.js","sourceRoot":"","sources":["../../../src/api/procedures/modifyClaims.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,
|
|
1
|
+
{"version":3,"file":"modifyClaims.js","sourceRoot":"","sources":["../../../src/api/procedures/modifyClaims.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moveFunds.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/moveFunds.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"moveFunds.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/moveFunds.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,gBAAgB,EAAE,iBAAiB,EAAiB,SAAS,EAAE,uBAAmB;AACpG,OAAO,EAGL,eAAe,EAMhB,oBAAgB;AACjB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,6BAAyB;AAU5F;;GAEG;AACH,oBAAY,MAAM,GAAG,eAAe,GAAG;IACrC,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CAC5C,CAAC;AA2DF;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAwHpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EACvB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,GACnB,sBAAsB,CA4BxB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,UAAU,MAAM,EAAE,IAAI,CACA,CAAC"}
|
|
@@ -18,8 +18,57 @@ const lodash_1 = require("lodash");
|
|
|
18
18
|
const utils_1 = require("./utils");
|
|
19
19
|
const internal_1 = require("../../internal");
|
|
20
20
|
const types_1 = require("../../types");
|
|
21
|
+
const utils_2 = require("../../utils");
|
|
21
22
|
const conversion_1 = require("../../utils/conversion");
|
|
22
23
|
const internal_2 = require("../../utils/internal");
|
|
24
|
+
/**
|
|
25
|
+
* @hidden
|
|
26
|
+
* separates user input into fungible and nft movements
|
|
27
|
+
*/
|
|
28
|
+
function segregateItems(items, context) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const fungibleMovements = [];
|
|
31
|
+
const nftMovements = [];
|
|
32
|
+
const tickers = [];
|
|
33
|
+
for (const item of items) {
|
|
34
|
+
const { asset } = item;
|
|
35
|
+
const ticker = (0, internal_2.asTicker)(asset);
|
|
36
|
+
tickers.push(ticker);
|
|
37
|
+
const typedAsset = yield (0, internal_2.asAsset)(asset, context);
|
|
38
|
+
if ((0, utils_2.isFungibleAsset)(typedAsset)) {
|
|
39
|
+
if (!('amount' in item)) {
|
|
40
|
+
throw new internal_1.PolymeshError({
|
|
41
|
+
code: types_1.ErrorCode.ValidationError,
|
|
42
|
+
message: 'The key "amount" should be present in a fungible portfolio movement',
|
|
43
|
+
data: { ticker },
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
fungibleMovements.push(item);
|
|
47
|
+
}
|
|
48
|
+
else if ((0, utils_2.isNftCollection)(typedAsset)) {
|
|
49
|
+
if (!('nfts' in item)) {
|
|
50
|
+
throw new internal_1.PolymeshError({
|
|
51
|
+
code: types_1.ErrorCode.ValidationError,
|
|
52
|
+
message: 'The key "nfts" should be present in an NFT portfolio movement',
|
|
53
|
+
data: { ticker },
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
nftMovements.push(item);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const hasDuplicates = (0, lodash_1.uniq)(tickers).length !== tickers.length;
|
|
60
|
+
if (hasDuplicates) {
|
|
61
|
+
throw new internal_1.PolymeshError({
|
|
62
|
+
code: types_1.ErrorCode.ValidationError,
|
|
63
|
+
message: 'Portfolio movements cannot contain any Asset more than once',
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
fungibleMovements,
|
|
68
|
+
nftMovements,
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
}
|
|
23
72
|
/**
|
|
24
73
|
* @hidden
|
|
25
74
|
*/
|
|
@@ -27,6 +76,7 @@ function prepareMoveFunds(args) {
|
|
|
27
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
77
|
const { context: { polymeshApi: { tx: { portfolio }, }, }, context, } = this;
|
|
29
78
|
const { from: fromPortfolio, to, items } = args;
|
|
79
|
+
const { fungibleMovements, nftMovements } = yield segregateItems(items, context);
|
|
30
80
|
const { owner: { did: fromDid }, } = fromPortfolio;
|
|
31
81
|
let toPortfolio;
|
|
32
82
|
if (!to) {
|
|
@@ -57,21 +107,15 @@ function prepareMoveFunds(args) {
|
|
|
57
107
|
message: 'Origin and destination should be different Portfolios',
|
|
58
108
|
});
|
|
59
109
|
}
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
const portfolioBalances = yield fromPortfolio.getAssetBalances({
|
|
69
|
-
assets: items.map(({ asset }) => asset),
|
|
70
|
-
});
|
|
110
|
+
const [fungibleBalances, heldCollections] = yield Promise.all([
|
|
111
|
+
fromPortfolio.getAssetBalances({
|
|
112
|
+
assets: fungibleMovements.map(({ asset }) => (0, internal_2.asTicker)(asset)),
|
|
113
|
+
}),
|
|
114
|
+
fromPortfolio.getCollections({ collections: nftMovements.map(({ asset }) => (0, internal_2.asTicker)(asset)) }),
|
|
115
|
+
]);
|
|
71
116
|
const balanceExceeded = [];
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const transferItem = items.find(({ asset: itemAsset }) => (0, internal_2.asTicker)(itemAsset) === ticker);
|
|
117
|
+
fungibleBalances.forEach(({ asset: { ticker }, free }) => {
|
|
118
|
+
const transferItem = fungibleMovements.find(({ asset: itemAsset }) => (0, internal_2.asTicker)(itemAsset) === ticker);
|
|
75
119
|
if (transferItem.amount.gt(free)) {
|
|
76
120
|
balanceExceeded.push(Object.assign(Object.assign({}, transferItem), { free }));
|
|
77
121
|
}
|
|
@@ -85,12 +129,34 @@ function prepareMoveFunds(args) {
|
|
|
85
129
|
},
|
|
86
130
|
});
|
|
87
131
|
}
|
|
132
|
+
const unavailableNfts = {};
|
|
133
|
+
nftMovements.forEach(movement => {
|
|
134
|
+
const ticker = (0, internal_2.asTicker)(movement.asset);
|
|
135
|
+
const heldNfts = heldCollections.find(({ collection }) => collection.ticker === ticker);
|
|
136
|
+
movement.nfts.forEach(nftId => {
|
|
137
|
+
const id = (0, internal_2.asNftId)(nftId);
|
|
138
|
+
const hasNft = heldNfts === null || heldNfts === void 0 ? void 0 : heldNfts.free.find(held => held.id.eq(id));
|
|
139
|
+
if (!hasNft) {
|
|
140
|
+
const entry = unavailableNfts[ticker] || [];
|
|
141
|
+
entry.push(id);
|
|
142
|
+
unavailableNfts[ticker] = entry;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
if (Object.keys(unavailableNfts).length > 0) {
|
|
147
|
+
throw new internal_1.PolymeshError({
|
|
148
|
+
code: types_1.ErrorCode.InsufficientBalance,
|
|
149
|
+
message: 'Some of the NFTs are not available in the sending portfolio',
|
|
150
|
+
data: { unavailableNfts },
|
|
151
|
+
});
|
|
152
|
+
}
|
|
88
153
|
const rawFrom = (0, conversion_1.portfolioIdToMeshPortfolioId)(fromPortfolioId, context);
|
|
89
154
|
const rawTo = (0, conversion_1.portfolioIdToMeshPortfolioId)(toPortfolioId, context);
|
|
90
|
-
const
|
|
155
|
+
const rawFungibleMovements = fungibleMovements.map(item => (0, conversion_1.fungibleMovementToPortfolioFund)(item, context));
|
|
156
|
+
const rawNftMovements = nftMovements.map(item => (0, conversion_1.nftMovementToPortfolioFund)(item, context));
|
|
91
157
|
return {
|
|
92
158
|
transaction: portfolio.movePortfolioFunds,
|
|
93
|
-
args: [rawFrom, rawTo,
|
|
159
|
+
args: [rawFrom, rawTo, [...rawFungibleMovements, ...rawNftMovements]],
|
|
94
160
|
resolver: undefined,
|
|
95
161
|
};
|
|
96
162
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moveFunds.js","sourceRoot":"","sources":["../../../src/api/procedures/moveFunds.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,mCAA8B;AAE9B,mCAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"moveFunds.js","sourceRoot":"","sources":["../../../src/api/procedures/moveFunds.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { DefaultPortfolio, NumberedPortfolio, Procedure } from "../../internal";
|
|
3
|
+
import { RedeemNftParams } from "../../types";
|
|
4
|
+
import { ExtrinsicParams, ProcedureAuthorization, TransactionSpec } from "../../types/internal";
|
|
5
|
+
export interface Storage {
|
|
6
|
+
fromPortfolio: DefaultPortfolio | NumberedPortfolio;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
export declare type Params = {
|
|
12
|
+
ticker: string;
|
|
13
|
+
id: BigNumber;
|
|
14
|
+
} & RedeemNftParams;
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
18
|
+
export declare function prepareRedeemNft(this: Procedure<Params, void, Storage>, args: Params): Promise<TransactionSpec<void, ExtrinsicParams<'nft', 'redeemNft'>>>;
|
|
19
|
+
/**
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAuthorization(this: Procedure<Params, void, Storage>, { ticker }: Params): Promise<ProcedureAuthorization>;
|
|
23
|
+
/**
|
|
24
|
+
* @hidden
|
|
25
|
+
*/
|
|
26
|
+
export declare function prepareStorage(this: Procedure<Params, void, Storage>, { from }: Params): Promise<Storage>;
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
export declare const redeemNft: () => Procedure<Params, void, Storage>;
|
|
31
|
+
//# sourceMappingURL=redeemNft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redeemNft.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/redeemNft.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EAEjB,SAAS,EACV,uBAAmB;AACpB,OAAO,EAAa,eAAe,EAAU,oBAAgB;AAC7D,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,6BAAyB;AAG5F,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CACrD;AAED;;GAEG;AACH,oBAAY,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GAAG,eAAe,CAAC;AAEzE;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EACtC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAgCrE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EACtC,EAAE,MAAM,EAAE,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAajC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EACtC,EAAE,IAAI,EAAE,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,UAAU,MAAM,EAAE,IAAI,EAAE,OAAO,CACO,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.redeemNft = exports.prepareStorage = exports.getAuthorization = exports.prepareRedeemNft = void 0;
|
|
16
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
|
+
const internal_1 = require("../../internal");
|
|
18
|
+
const types_1 = require("../../types");
|
|
19
|
+
const conversion_1 = require("../../utils/conversion");
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
function prepareRedeemNft(args) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const { context, context: { polymeshApi: { tx }, }, storage: { fromPortfolio }, } = this;
|
|
26
|
+
const { ticker, id } = args;
|
|
27
|
+
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
28
|
+
const [{ free }] = yield fromPortfolio.getCollections({ collections: [ticker] });
|
|
29
|
+
if (!free.find(heldNft => heldNft.id.eq(id))) {
|
|
30
|
+
throw new internal_1.PolymeshError({
|
|
31
|
+
code: types_1.ErrorCode.InsufficientBalance,
|
|
32
|
+
message: 'Portfolio does not hold NFT to redeem',
|
|
33
|
+
data: {
|
|
34
|
+
nftId: id.toString(),
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const rawId = (0, conversion_1.bigNumberToU64)(id, context);
|
|
39
|
+
return {
|
|
40
|
+
transaction: tx.nft.redeemNft,
|
|
41
|
+
args: [rawTicker, rawId, (0, conversion_1.portfolioToPortfolioKind)(fromPortfolio, context)],
|
|
42
|
+
resolver: undefined,
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
exports.prepareRedeemNft = prepareRedeemNft;
|
|
47
|
+
/**
|
|
48
|
+
* @hidden
|
|
49
|
+
*/
|
|
50
|
+
function getAuthorization({ ticker }) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
const { context, storage: { fromPortfolio }, } = this;
|
|
53
|
+
return {
|
|
54
|
+
permissions: {
|
|
55
|
+
transactions: [types_1.TxTags.nft.RedeemNft],
|
|
56
|
+
assets: [new internal_1.NftCollection({ ticker }, context)],
|
|
57
|
+
portfolios: [fromPortfolio],
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
exports.getAuthorization = getAuthorization;
|
|
63
|
+
/**
|
|
64
|
+
* @hidden
|
|
65
|
+
*/
|
|
66
|
+
function prepareStorage({ from }) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
const { context } = this;
|
|
69
|
+
const { did } = yield context.getSigningIdentity();
|
|
70
|
+
if (!from) {
|
|
71
|
+
return { fromPortfolio: new internal_1.DefaultPortfolio({ did }, context) };
|
|
72
|
+
}
|
|
73
|
+
else if (from instanceof bignumber_js_1.default) {
|
|
74
|
+
return { fromPortfolio: new internal_1.NumberedPortfolio({ did, id: from }, context) };
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
fromPortfolio: from,
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
exports.prepareStorage = prepareStorage;
|
|
82
|
+
/**
|
|
83
|
+
* @hidden
|
|
84
|
+
*/
|
|
85
|
+
const redeemNft = () => new internal_1.Procedure(prepareRedeemNft, getAuthorization, prepareStorage);
|
|
86
|
+
exports.redeemNft = redeemNft;
|
|
87
|
+
//# sourceMappingURL=redeemNft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redeemNft.js","sourceRoot":"","sources":["../../../src/api/procedures/redeemNft.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,6CAMoB;AACpB,uCAA6D;AAE7D,uDAA8F;AAW9F;;GAEG;AACH,SAAsB,gBAAgB,CAEpC,IAAY;;QAEZ,MAAM,EACJ,OAAO,EACP,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,EAAE,EAAE,GACpB,EACD,OAAO,EAAE,EAAE,aAAa,EAAE,GAC3B,GAAG,IAAI,CAAC;QAET,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAE5B,MAAM,SAAS,GAAG,IAAA,2BAAc,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAElD,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YAC5C,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,mBAAmB;gBACnC,OAAO,EAAE,uCAAuC;gBAChD,IAAI,EAAE;oBACJ,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE;iBACrB;aACF,CAAC,CAAC;SACJ;QAED,MAAM,KAAK,GAAG,IAAA,2BAAc,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE1C,OAAO;YACL,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS;YAC7B,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAA,qCAAwB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC1E,QAAQ,EAAE,SAAS;SACpB,CAAC;IACJ,CAAC;CAAA;AAnCD,4CAmCC;AAED;;GAEG;AACH,SAAsB,gBAAgB,CAEpC,EAAE,MAAM,EAAU;;QAElB,MAAM,EACJ,OAAO,EACP,OAAO,EAAE,EAAE,aAAa,EAAE,GAC3B,GAAG,IAAI,CAAC;QAET,OAAO;YACL,WAAW,EAAE;gBACX,YAAY,EAAE,CAAC,cAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gBACpC,MAAM,EAAE,CAAC,IAAI,wBAAa,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;gBAChD,UAAU,EAAE,CAAC,aAAa,CAAC;aAC5B;SACF,CAAC;IACJ,CAAC;CAAA;AAhBD,4CAgBC;AAED;;GAEG;AACH,SAAsB,cAAc,CAElC,EAAE,IAAI,EAAU;;QAEhB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEzB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAEnD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,EAAE,aAAa,EAAE,IAAI,2BAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;SAClE;aAAM,IAAI,IAAI,YAAY,sBAAS,EAAE;YACpC,OAAO,EAAE,aAAa,EAAE,IAAI,4BAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;SAC7E;QAED,OAAO;YACL,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;CAAA;AAjBD,wCAiBC;AAED;;GAEG;AACI,MAAM,SAAS,GAAG,GAAqC,EAAE,CAC9D,IAAI,oBAAS,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;AADvD,QAAA,SAAS,aAC8C"}
|
|
@@ -114,7 +114,7 @@ exports.getAuthorization = getAuthorization;
|
|
|
114
114
|
function prepareStorage({ group: { asset } }) {
|
|
115
115
|
const { context } = this;
|
|
116
116
|
return {
|
|
117
|
-
asset: (0, internal_2.
|
|
117
|
+
asset: (0, internal_2.asBaseAsset)(asset, context),
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
120
|
exports.prepareStorage = prepareStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setPermissionGroup.js","sourceRoot":"","sources":["../../../src/api/procedures/setPermissionGroup.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAIgC;AAChC,6CAMoB;AACpB,uCAMiB;AAEjB,uCAAmC;AACnC,uDAM4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"setPermissionGroup.js","sourceRoot":"","sources":["../../../src/api/procedures/setPermissionGroup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { Account, AuthorizationRequest, CheckpointSchedule, ChildIdentity, CorporateActionBase, CustomPermissionGroup, DefaultPortfolio, FungibleAsset, Identity, KnownPermissionGroup, MultiSig, NumberedPortfolio, Venue } from "../../internal";
|
|
3
|
-
import { ActiveTransferRestrictions, AddCountStatInput, AssetDocument, ClaimCountStatInput, ClaimCountTransferRestriction, ClaimPercentageTransferRestriction, ClaimTarget, CountTransferRestriction, InputCaCheckpoint, InputCondition, InputCorporateActionTargets, InputCorporateActionTaxWithholdings, InputStatClaim, InputStatType, InputTargets, InputTaxWithholding, InputTrustedClaimIssuer, KnownAssetType, KnownNftType, MetadataSpec, MetadataType, MetadataValueDetails, OfferingTier, PercentageTransferRestriction, PermissionedAccount, PermissionsLike, PortfolioLike, PortfolioMovement, Requirement, Scope, SecurityIdentifier, Signer, StatClaimIssuer, StatType, TransactionArray, TransactionPermissions, TxGroup, VenueType } from "../../types";
|
|
2
|
+
import { Account, AuthorizationRequest, CheckpointSchedule, ChildIdentity, CorporateActionBase, CustomPermissionGroup, DefaultPortfolio, FungibleAsset, Identity, KnownPermissionGroup, MultiSig, Nft, NumberedPortfolio, Venue } from "../../internal";
|
|
3
|
+
import { ActiveTransferRestrictions, AddCountStatInput, AssetDocument, ClaimCountStatInput, ClaimCountTransferRestriction, ClaimPercentageTransferRestriction, ClaimTarget, CountTransferRestriction, InputCaCheckpoint, InputCondition, InputCorporateActionTargets, InputCorporateActionTaxWithholdings, InputStatClaim, InputStatType, InputTargets, InputTaxWithholding, InputTrustedClaimIssuer, KnownAssetType, KnownNftType, MetadataSpec, MetadataType, MetadataValueDetails, NftCollection, OfferingTier, PercentageTransferRestriction, PermissionedAccount, PermissionsLike, PortfolioLike, PortfolioMovement, Requirement, Scope, SecurityIdentifier, Signer, StatClaimIssuer, StatType, TransactionArray, TransactionPermissions, TxGroup, VenueType } from "../../types";
|
|
4
4
|
import { Modify } from "../../types/utils";
|
|
5
5
|
export declare type AddRestrictionParams<T> = Omit<T extends TransferRestrictionType.Count ? AddCountTransferRestrictionParams : T extends TransferRestrictionType.Percentage ? AddPercentageTransferRestrictionParams : T extends TransferRestrictionType.ClaimCount ? AddClaimCountTransferRestrictionParams : AddClaimPercentageTransferRestrictionParams, 'type'>;
|
|
6
6
|
export declare type SetRestrictionsParams<T> = Omit<T extends TransferRestrictionType.Count ? SetCountTransferRestrictionsParams : T extends TransferRestrictionType.Percentage ? SetPercentageTransferRestrictionsParams : T extends TransferRestrictionType.ClaimCount ? SetClaimCountTransferRestrictionsParams : SetClaimPercentageTransferRestrictionsParams, 'type'>;
|
|
@@ -226,6 +226,9 @@ export interface CreateNftCollectionParams {
|
|
|
226
226
|
securityIdentifiers?: SecurityIdentifier[];
|
|
227
227
|
/**
|
|
228
228
|
* The required metadata values each NFT in the collection will have
|
|
229
|
+
*
|
|
230
|
+
* @note Images — Most Polymesh networks (mainnet, testnet, etc.) have global metadata keys registered to help standardize displaying images
|
|
231
|
+
* If `imageUri` is specified as a collection key, then each token will need to be issued with an image URI.
|
|
229
232
|
*/
|
|
230
233
|
collectionKeys: CollectionKeyInput[];
|
|
231
234
|
/**
|
|
@@ -341,16 +344,24 @@ export interface TransferPolyxParams {
|
|
|
341
344
|
*/
|
|
342
345
|
memo?: string;
|
|
343
346
|
}
|
|
347
|
+
export interface InstructionFungibleLeg {
|
|
348
|
+
amount: BigNumber;
|
|
349
|
+
from: PortfolioLike;
|
|
350
|
+
to: PortfolioLike;
|
|
351
|
+
asset: string | FungibleAsset;
|
|
352
|
+
}
|
|
353
|
+
export interface InstructionNftLeg {
|
|
354
|
+
nfts: (BigNumber | Nft)[];
|
|
355
|
+
from: PortfolioLike;
|
|
356
|
+
to: PortfolioLike;
|
|
357
|
+
asset: string | NftCollection;
|
|
358
|
+
}
|
|
359
|
+
export declare type InstructionLeg = InstructionFungibleLeg | InstructionNftLeg;
|
|
344
360
|
export declare type AddInstructionParams = {
|
|
345
361
|
/**
|
|
346
|
-
* array of Asset movements
|
|
362
|
+
* array of Asset movements
|
|
347
363
|
*/
|
|
348
|
-
legs:
|
|
349
|
-
amount: BigNumber;
|
|
350
|
-
from: PortfolioLike;
|
|
351
|
-
to: PortfolioLike;
|
|
352
|
-
asset: string | FungibleAsset;
|
|
353
|
-
}[];
|
|
364
|
+
legs: InstructionLeg[];
|
|
354
365
|
/**
|
|
355
366
|
* date at which the trade was agreed upon (optional, for off chain trades)
|
|
356
367
|
*/
|
|
@@ -480,6 +491,12 @@ export interface RedeemTokensParams {
|
|
|
480
491
|
*/
|
|
481
492
|
from?: BigNumber | DefaultPortfolio | NumberedPortfolio;
|
|
482
493
|
}
|
|
494
|
+
export interface RedeemNftParams {
|
|
495
|
+
/**
|
|
496
|
+
* portfolio (or portfolio ID) from which Assets will be redeemed (optional, defaults to the default Portfolio)
|
|
497
|
+
*/
|
|
498
|
+
from?: BigNumber | DefaultPortfolio | NumberedPortfolio;
|
|
499
|
+
}
|
|
483
500
|
export interface TransferAssetOwnershipParams {
|
|
484
501
|
target: string | Identity;
|
|
485
502
|
/**
|