@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.
Files changed (175) hide show
  1. package/CHANGELOG.md +74 -1
  2. package/README.md +49 -7
  3. package/api/client/Assets.d.ts +10 -2
  4. package/api/client/Assets.d.ts.map +1 -1
  5. package/api/client/Assets.js +27 -9
  6. package/api/client/Assets.js.map +1 -1
  7. package/api/client/Claims.d.ts +13 -1
  8. package/api/client/Claims.d.ts.map +1 -1
  9. package/api/client/Claims.js +32 -2
  10. package/api/client/Claims.js.map +1 -1
  11. package/api/client/Network.d.ts +1 -1
  12. package/api/client/Network.d.ts.map +1 -1
  13. package/api/client/Network.js.map +1 -1
  14. package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
  15. package/api/entities/Account/MultiSig/index.js +2 -5
  16. package/api/entities/Account/MultiSig/index.js.map +1 -1
  17. package/api/entities/Account/index.d.ts.map +1 -1
  18. package/api/entities/Account/index.js +1 -1
  19. package/api/entities/Account/index.js.map +1 -1
  20. package/api/entities/Account/types.d.ts +1 -1
  21. package/api/entities/Asset/Base/Settlements/index.d.ts +85 -0
  22. package/api/entities/Asset/Base/Settlements/index.d.ts.map +1 -0
  23. package/api/entities/Asset/Base/Settlements/index.js +141 -0
  24. package/api/entities/Asset/Base/Settlements/index.js.map +1 -0
  25. package/api/entities/Asset/Fungible/index.d.ts +2 -2
  26. package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
  27. package/api/entities/Asset/Fungible/index.js +2 -2
  28. package/api/entities/Asset/Fungible/index.js.map +1 -1
  29. package/api/entities/Asset/NonFungible/Nft.d.ts +76 -5
  30. package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -1
  31. package/api/entities/Asset/NonFungible/Nft.js +162 -6
  32. package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
  33. package/api/entities/Asset/NonFungible/NftCollection.d.ts +30 -16
  34. package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
  35. package/api/entities/Asset/NonFungible/NftCollection.js +72 -27
  36. package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
  37. package/api/entities/Asset/types.d.ts +23 -3
  38. package/api/entities/Asset/types.d.ts.map +1 -1
  39. package/api/entities/Asset/types.js.map +1 -1
  40. package/api/entities/Identity/AssetPermissions.d.ts +3 -3
  41. package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
  42. package/api/entities/Identity/AssetPermissions.js.map +1 -1
  43. package/api/entities/Identity/index.d.ts +17 -2
  44. package/api/entities/Identity/index.d.ts.map +1 -1
  45. package/api/entities/Identity/index.js +37 -0
  46. package/api/entities/Identity/index.js.map +1 -1
  47. package/api/entities/Instruction/index.d.ts.map +1 -1
  48. package/api/entities/Instruction/index.js +29 -20
  49. package/api/entities/Instruction/index.js.map +1 -1
  50. package/api/entities/Instruction/types.d.ts +10 -3
  51. package/api/entities/Instruction/types.d.ts.map +1 -1
  52. package/api/entities/Instruction/types.js.map +1 -1
  53. package/api/entities/MetadataEntry/index.d.ts +2 -2
  54. package/api/entities/MetadataEntry/index.d.ts.map +1 -1
  55. package/api/entities/MetadataEntry/index.js +1 -1
  56. package/api/entities/MetadataEntry/index.js.map +1 -1
  57. package/api/entities/MultiSigProposal/index.d.ts +36 -2
  58. package/api/entities/MultiSigProposal/index.d.ts.map +1 -1
  59. package/api/entities/MultiSigProposal/index.js +91 -10
  60. package/api/entities/MultiSigProposal/index.js.map +1 -1
  61. package/api/entities/MultiSigProposal/types.d.ts +15 -2
  62. package/api/entities/MultiSigProposal/types.d.ts.map +1 -1
  63. package/api/entities/MultiSigProposal/types.js +6 -1
  64. package/api/entities/MultiSigProposal/types.js.map +1 -1
  65. package/api/entities/Portfolio/index.d.ts +12 -4
  66. package/api/entities/Portfolio/index.d.ts.map +1 -1
  67. package/api/entities/Portfolio/index.js +66 -6
  68. package/api/entities/Portfolio/index.js.map +1 -1
  69. package/api/entities/Portfolio/types.d.ts +20 -5
  70. package/api/entities/Portfolio/types.d.ts.map +1 -1
  71. package/api/entities/Venue/types.d.ts +1 -1
  72. package/api/entities/common/namespaces/Authorizations.d.ts +2 -1
  73. package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
  74. package/api/entities/common/namespaces/Authorizations.js.map +1 -1
  75. package/api/entities/types.d.ts +3 -1
  76. package/api/entities/types.d.ts.map +1 -1
  77. package/api/entities/types.js.map +1 -1
  78. package/api/procedures/addInstruction.d.ts.map +1 -1
  79. package/api/procedures/addInstruction.js +76 -17
  80. package/api/procedures/addInstruction.js.map +1 -1
  81. package/api/procedures/createNftCollection.d.ts.map +1 -1
  82. package/api/procedures/createNftCollection.js +1 -1
  83. package/api/procedures/createNftCollection.js.map +1 -1
  84. package/api/procedures/evaluateMultiSigProposal.d.ts +19 -0
  85. package/api/procedures/evaluateMultiSigProposal.d.ts.map +1 -0
  86. package/api/procedures/evaluateMultiSigProposal.js +92 -0
  87. package/api/procedures/evaluateMultiSigProposal.js.map +1 -0
  88. package/api/procedures/issueNft.js +1 -1
  89. package/api/procedures/issueNft.js.map +1 -1
  90. package/api/procedures/modifyClaims.d.ts.map +1 -1
  91. package/api/procedures/modifyClaims.js +7 -21
  92. package/api/procedures/modifyClaims.js.map +1 -1
  93. package/api/procedures/moveFunds.d.ts.map +1 -1
  94. package/api/procedures/moveFunds.js +82 -16
  95. package/api/procedures/moveFunds.js.map +1 -1
  96. package/api/procedures/redeemNft.d.ts +31 -0
  97. package/api/procedures/redeemNft.d.ts.map +1 -0
  98. package/api/procedures/redeemNft.js +87 -0
  99. package/api/procedures/redeemNft.js.map +1 -0
  100. package/api/procedures/setPermissionGroup.js +1 -1
  101. package/api/procedures/setPermissionGroup.js.map +1 -1
  102. package/api/procedures/types.d.ts +26 -9
  103. package/api/procedures/types.d.ts.map +1 -1
  104. package/api/procedures/types.js.map +1 -1
  105. package/api/procedures/waivePermissions.js +1 -1
  106. package/api/procedures/waivePermissions.js.map +1 -1
  107. package/base/Context.d.ts.map +1 -1
  108. package/base/Context.js +24 -24
  109. package/base/Context.js.map +1 -1
  110. package/generated/types.d.ts +5 -1
  111. package/generated/types.d.ts.map +1 -1
  112. package/generated/types.js +4 -0
  113. package/generated/types.js.map +1 -1
  114. package/internal.d.ts +2 -0
  115. package/internal.d.ts.map +1 -1
  116. package/internal.js +7 -3
  117. package/internal.js.map +1 -1
  118. package/middleware/queries.d.ts +19 -2
  119. package/middleware/queries.d.ts.map +1 -1
  120. package/middleware/queries.js +103 -6
  121. package/middleware/queries.js.map +1 -1
  122. package/middleware/types.d.ts +68950 -15292
  123. package/middleware/types.d.ts.map +1 -1
  124. package/middleware/types.js +36222 -999
  125. package/middleware/types.js.map +1 -1
  126. package/middleware/typesV1.d.ts +1 -1
  127. package/middleware/typesV1.d.ts.map +1 -1
  128. package/npm-package/polymeshassociation-polymesh-sdk-23.0.0-beta.1.tgz +0 -0
  129. package/package.json +2 -2
  130. package/polkadot/augment-api-errors.d.ts +4 -18
  131. package/polkadot/augment-api-errors.d.ts.map +1 -1
  132. package/polkadot/augment-api-events.d.ts +0 -6
  133. package/polkadot/augment-api-events.d.ts.map +1 -1
  134. package/polkadot/augment-api-query.d.ts +33 -26
  135. package/polkadot/augment-api-query.d.ts.map +1 -1
  136. package/polkadot/augment-api-tx.d.ts +123 -51
  137. package/polkadot/augment-api-tx.d.ts.map +1 -1
  138. package/polkadot/lookup.d.ts +246 -248
  139. package/polkadot/lookup.d.ts.map +1 -1
  140. package/polkadot/lookup.js +248 -253
  141. package/polkadot/lookup.js.map +1 -1
  142. package/polkadot/registry.d.ts +3 -5
  143. package/polkadot/registry.d.ts.map +1 -1
  144. package/polkadot/types-lookup.d.ts +251 -248
  145. package/polkadot/types-lookup.d.ts.map +1 -1
  146. package/types/index.d.ts +44 -7
  147. package/types/index.d.ts.map +1 -1
  148. package/types/index.js +18 -2
  149. package/types/index.js.map +1 -1
  150. package/types/internal.d.ts +1 -1
  151. package/utils/constants.d.ts +17 -1
  152. package/utils/constants.d.ts.map +1 -1
  153. package/utils/constants.js +18 -2
  154. package/utils/constants.js.map +1 -1
  155. package/utils/conversion.d.ts +34 -13
  156. package/utils/conversion.d.ts.map +1 -1
  157. package/utils/conversion.js +437 -364
  158. package/utils/conversion.js.map +1 -1
  159. package/utils/internal.d.ts +20 -3
  160. package/utils/internal.d.ts.map +1 -1
  161. package/utils/internal.js +119 -42
  162. package/utils/internal.js.map +1 -1
  163. package/utils/typeguards.d.ts +26 -2
  164. package/utils/typeguards.d.ts.map +1 -1
  165. package/utils/typeguards.js +39 -2
  166. package/utils/typeguards.js.map +1 -1
  167. package/api/entities/Asset/Fungible/Settlements/index.d.ts +0 -29
  168. package/api/entities/Asset/Fungible/Settlements/index.d.ts.map +0 -1
  169. package/api/entities/Asset/Fungible/Settlements/index.js +0 -70
  170. package/api/entities/Asset/Fungible/Settlements/index.js.map +0 -1
  171. package/middleware/enums.d.ts +0 -3
  172. package/middleware/enums.d.ts.map +0 -1
  173. package/middleware/enums.js +0 -38
  174. package/middleware/enums.js.map +0 -1
  175. 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.collectionMetadataKeys();
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":"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"}
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,EAQL,kBAAkB,EAGnB,oBAAgB;AACjB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,6BAAyB;AAgGhF;;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,CAqHlD;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"}
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 typeguards_1 = require("../../utils/typeguards");
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 claimExists = !!targetClaims.find(targetClaim => areSameClaims(claim, targetClaim));
40
- if (!claimExists) {
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 [...prev];
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 { data: { claims: { nodes: claimsData }, }, } = yield context.queryMiddleware((0, queries_1.claimsQuery)({
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":"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"}
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,EAAE,gBAAgB,EAAE,iBAAiB,EAAiB,SAAS,EAAE,uBAAmB;AAC3F,OAAO,EAEL,eAAe,EAKhB,oBAAgB;AACjB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,6BAAyB;AAQ5F;;GAEG;AACH,oBAAY,MAAM,GAAG,eAAe,GAAG;IACrC,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CAC5C,CAAC;AAEF;;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,CAgGpF;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"}
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 tickers = items.map(({ asset }) => (0, internal_2.asTicker)(asset));
61
- const hasDuplicates = (0, lodash_1.uniq)(tickers).length !== tickers.length;
62
- if (hasDuplicates) {
63
- throw new internal_1.PolymeshError({
64
- code: types_1.ErrorCode.ValidationError,
65
- message: 'Portfolio movements cannot contain any Asset more than once',
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
- portfolioBalances.forEach(({ asset: { ticker }, free }) => {
73
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
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 rawMovePortfolioItems = items.map(item => (0, conversion_1.portfolioMovementToPortfolioFund)(item, context));
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, rawMovePortfolioItems],
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":"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"}
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.asAsset)(asset, context),
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":"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"}
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 (amount, from, to, asset)
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
  /**