@polymeshassociation/polymesh-sdk 27.8.0-beta.2 → 28.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts +47 -11
  3. package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts.map +1 -1
  4. package/api/entities/Asset/Fungible/TransferRestrictions/index.js +214 -21
  5. package/api/entities/Asset/Fungible/TransferRestrictions/index.js.map +1 -1
  6. package/api/entities/Asset/types.d.ts +86 -5
  7. package/api/entities/Asset/types.d.ts.map +1 -1
  8. package/api/entities/Asset/types.js.map +1 -1
  9. package/api/entities/DefaultTrustedClaimIssuer.d.ts +2 -2
  10. package/api/entities/DefaultTrustedClaimIssuer.d.ts.map +1 -1
  11. package/api/entities/DefaultTrustedClaimIssuer.js.map +1 -1
  12. package/api/entities/types.d.ts +11 -9
  13. package/api/entities/types.d.ts.map +1 -1
  14. package/api/entities/types.js +6 -1
  15. package/api/entities/types.js.map +1 -1
  16. package/api/procedures/setAssetStats.d.ts +22 -0
  17. package/api/procedures/setAssetStats.d.ts.map +1 -0
  18. package/api/procedures/setAssetStats.js +87 -0
  19. package/api/procedures/setAssetStats.js.map +1 -0
  20. package/api/procedures/setTransferRestrictionExemptions.d.ts +20 -0
  21. package/api/procedures/setTransferRestrictionExemptions.d.ts.map +1 -0
  22. package/api/procedures/setTransferRestrictionExemptions.js +102 -0
  23. package/api/procedures/setTransferRestrictionExemptions.js.map +1 -0
  24. package/api/procedures/setTransferRestrictions.d.ts +9 -34
  25. package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
  26. package/api/procedures/setTransferRestrictions.js +61 -257
  27. package/api/procedures/setTransferRestrictions.js.map +1 -1
  28. package/api/procedures/types.d.ts +40 -48
  29. package/api/procedures/types.d.ts.map +1 -1
  30. package/api/procedures/types.js.map +1 -1
  31. package/internal.d.ts +3 -6
  32. package/internal.d.ts.map +1 -1
  33. package/internal.js +7 -11
  34. package/internal.js.map +1 -1
  35. package/npm-package/polymeshassociation-polymesh-sdk-28.0.0-beta.2.tgz +0 -0
  36. package/package.json +1 -1
  37. package/utils/conversion.d.ts +31 -22
  38. package/utils/conversion.d.ts.map +1 -1
  39. package/utils/conversion.js +181 -164
  40. package/utils/conversion.js.map +1 -1
  41. package/utils/internal.d.ts +1 -14
  42. package/utils/internal.d.ts.map +1 -1
  43. package/utils/internal.js +3 -110
  44. package/utils/internal.js.map +1 -1
  45. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.d.ts +0 -69
  46. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.d.ts.map +0 -1
  47. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.js +0 -16
  48. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.js.map +0 -1
  49. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.d.ts +0 -60
  50. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.d.ts.map +0 -1
  51. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.js +0 -16
  52. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.js.map +0 -1
  53. package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts +0 -81
  54. package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts.map +0 -1
  55. package/api/entities/Asset/Fungible/TransferRestrictions/Count.js +0 -20
  56. package/api/entities/Asset/Fungible/TransferRestrictions/Count.js.map +0 -1
  57. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.d.ts +0 -59
  58. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.d.ts.map +0 -1
  59. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.js +0 -16
  60. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.js.map +0 -1
  61. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.d.ts +0 -62
  62. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.d.ts.map +0 -1
  63. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js +0 -189
  64. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js.map +0 -1
  65. package/api/procedures/addAssetStat.d.ts +0 -16
  66. package/api/procedures/addAssetStat.d.ts.map +0 -1
  67. package/api/procedures/addAssetStat.js +0 -87
  68. package/api/procedures/addAssetStat.js.map +0 -1
  69. package/api/procedures/addTransferRestriction.d.ts +0 -23
  70. package/api/procedures/addTransferRestriction.d.ts.map +0 -1
  71. package/api/procedures/addTransferRestriction.js +0 -122
  72. package/api/procedures/addTransferRestriction.js.map +0 -1
  73. package/api/procedures/removeAssetStat.d.ts +0 -16
  74. package/api/procedures/removeAssetStat.d.ts.map +0 -1
  75. package/api/procedures/removeAssetStat.js +0 -85
  76. package/api/procedures/removeAssetStat.js.map +0 -1
  77. package/npm-package/polymeshassociation-polymesh-sdk-27.8.0-beta.2.tgz +0 -0
@@ -1,122 +0,0 @@
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.addTransferRestriction = exports.getAuthorization = exports.prepareAddTransferRestriction = 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
- const internal_2 = require("../../utils/internal");
21
- /**
22
- * @hidden
23
- */
24
- function prepareAddTransferRestriction(args) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const { context: { polymeshApi: { tx: { statistics }, query: { statistics: statisticsQuery }, consts, }, }, context, } = this;
27
- const { asset, exemptedIdentities = [], type } = args;
28
- const rawAssetId = (0, conversion_1.assetToMeshAssetId)(asset, context);
29
- let claimIssuer;
30
- if (type === types_1.TransferRestrictionType.ClaimCount ||
31
- type === types_1.TransferRestrictionType.ClaimPercentage) {
32
- const { claim: { type: cType }, issuer, } = args;
33
- claimIssuer = { claimType: cType, issuer };
34
- }
35
- const [currentStats, { requirements: currentRestrictions }] = yield (0, internal_2.requestMulti)(context, [
36
- [statisticsQuery.activeAssetStats, rawAssetId],
37
- [statisticsQuery.assetTransferCompliances, rawAssetId],
38
- ]);
39
- if (!args.skipStatIsEnabledCheck) {
40
- const neededStat = (0, internal_2.neededStatTypeForRestrictionInput)({ type, claimIssuer }, context);
41
- (0, internal_2.assertStatIsSet)(currentStats, neededStat);
42
- }
43
- const maxConditions = (0, conversion_1.u32ToBigNumber)(consts.statistics.maxTransferConditionsPerAsset);
44
- const restrictionAmount = new bignumber_js_1.default(currentRestrictions.size);
45
- if (restrictionAmount.gte(maxConditions)) {
46
- throw new internal_1.PolymeshError({
47
- code: types_1.ErrorCode.LimitExceeded,
48
- message: 'Transfer Restriction limit reached',
49
- data: { limit: maxConditions },
50
- });
51
- }
52
- let restriction;
53
- let claimType;
54
- if (type === types_1.TransferRestrictionType.Count) {
55
- const value = args.count;
56
- restriction = { type, value };
57
- }
58
- else if (type === types_1.TransferRestrictionType.Percentage) {
59
- const value = args.percentage;
60
- restriction = { type, value };
61
- }
62
- else if (type === types_1.TransferRestrictionType.ClaimCount) {
63
- const { min, max: maybeMax, issuer, claim } = args;
64
- restriction = { type, value: { min, max: maybeMax, issuer, claim } };
65
- claimType = claim.type;
66
- }
67
- else {
68
- const { min, max, issuer, claim } = args;
69
- restriction = { type, value: { min, max, issuer, claim } };
70
- claimType = claim.type;
71
- }
72
- const rawTransferCondition = (0, conversion_1.transferRestrictionToPolymeshTransferCondition)(restriction, context);
73
- const hasRestriction = !![...currentRestrictions].find(r => r.eq(rawTransferCondition));
74
- if (hasRestriction) {
75
- throw new internal_1.PolymeshError({
76
- code: types_1.ErrorCode.NoDataChange,
77
- message: 'Cannot add the same restriction more than once',
78
- });
79
- }
80
- const conditions = (0, conversion_1.complianceConditionsToBtreeSet)([...currentRestrictions, rawTransferCondition], context);
81
- const transactions = [];
82
- transactions.push((0, internal_2.checkTxType)({
83
- transaction: statistics.setAssetTransferCompliance,
84
- args: [rawAssetId, conditions],
85
- }));
86
- if (exemptedIdentities.length) {
87
- const op = (0, conversion_1.transferRestrictionTypeToStatOpType)(type, context);
88
- const exemptedIdBtreeSet = yield (0, internal_2.getExemptedBtreeSet)(exemptedIdentities, context);
89
- const exemptKey = (0, conversion_1.toExemptKey)(rawAssetId, op, claimType);
90
- transactions.push((0, internal_2.checkTxType)({
91
- transaction: statistics.setEntitiesExempt,
92
- feeMultiplier: new bignumber_js_1.default(exemptedIdBtreeSet.size),
93
- args: [true, exemptKey, exemptedIdBtreeSet],
94
- }));
95
- }
96
- return { transactions, resolver: restrictionAmount.plus(1) };
97
- });
98
- }
99
- exports.prepareAddTransferRestriction = prepareAddTransferRestriction;
100
- /**
101
- * @hidden
102
- */
103
- function getAuthorization({ asset, exemptedIdentities = [] }) {
104
- const transactions = [types_1.TxTags.statistics.SetAssetTransferCompliance];
105
- if (exemptedIdentities.length) {
106
- transactions.push(types_1.TxTags.statistics.SetEntitiesExempt);
107
- }
108
- return {
109
- permissions: {
110
- assets: [asset],
111
- transactions,
112
- portfolios: [],
113
- },
114
- };
115
- }
116
- exports.getAuthorization = getAuthorization;
117
- /**
118
- * @hidden
119
- */
120
- const addTransferRestriction = () => new internal_1.Procedure(prepareAddTransferRestriction, getAuthorization);
121
- exports.addTransferRestriction = addTransferRestriction;
122
- //# sourceMappingURL=addTransferRestriction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addTransferRestriction.js","sourceRoot":"","sources":["../../../src/api/procedures/addTransferRestriction.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { Procedure } from "../../internal";
2
- import { RemoveAssetStatParams } from "../../types";
3
- import { ExtrinsicParams, ProcedureAuthorization, TransactionSpec } from "../../types/internal";
4
- /**
5
- * @hidden
6
- */
7
- export declare function prepareRemoveAssetStat(this: Procedure<RemoveAssetStatParams, void>, args: RemoveAssetStatParams): Promise<TransactionSpec<void, ExtrinsicParams<'statistics', 'setActiveAssetStats'>>>;
8
- /**
9
- * @hidden
10
- */
11
- export declare function getAuthorization(this: Procedure<RemoveAssetStatParams, void>, { asset }: RemoveAssetStatParams): ProcedureAuthorization;
12
- /**
13
- * @hidden
14
- */
15
- export declare const removeAssetStat: () => Procedure<RemoveAssetStatParams, void>;
16
- //# sourceMappingURL=removeAssetStat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeAssetStat.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/removeAssetStat.ts"],"names":[],"mappings":"AAKA,OAAO,EAAiB,SAAS,EAAE,uBAAmB;AACtD,OAAO,EAAa,qBAAqB,EAAqC,oBAAgB;AAC9F,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,6BAAyB;AAU5F;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAC5C,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAgEtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAC5C,EAAE,KAAK,EAAE,EAAE,qBAAqB,GAC/B,sBAAsB,CASxB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,UAAU,qBAAqB,EAAE,IAAI,CACf,CAAC"}
@@ -1,85 +0,0 @@
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.removeAssetStat = exports.getAuthorization = exports.prepareRemoveAssetStat = void 0;
13
- const internal_1 = require("../../internal");
14
- const types_1 = require("../../types");
15
- const conversion_1 = require("../../utils/conversion");
16
- const internal_2 = require("../../utils/internal");
17
- /**
18
- * @hidden
19
- */
20
- function prepareRemoveAssetStat(args) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- const { context: { polymeshApi: { tx: { statistics }, query: { statistics: statisticsQuery }, }, }, context, } = this;
23
- const { asset, type } = args;
24
- const rawAssetId = (0, conversion_1.assetToMeshAssetId)(asset, context);
25
- const [currentStats, { requirements }] = yield (0, internal_2.requestMulti)(context, [
26
- [statisticsQuery.activeAssetStats, rawAssetId],
27
- [statisticsQuery.assetTransferCompliances, rawAssetId],
28
- ]);
29
- let claimIssuer;
30
- let rawClaimIssuer;
31
- if (type === types_1.StatType.ScopedCount || type === types_1.StatType.ScopedBalance) {
32
- claimIssuer = { issuer: args.issuer, claimType: args.claimType };
33
- rawClaimIssuer = (0, conversion_1.claimIssuerToMeshClaimIssuer)(claimIssuer, context);
34
- }
35
- requirements.forEach(r => {
36
- const used = (0, internal_2.compareTransferRestrictionToStat)(r, type, claimIssuer);
37
- if (used) {
38
- throw new internal_1.PolymeshError({
39
- code: types_1.ErrorCode.UnmetPrerequisite,
40
- message: 'The statistic cannot be removed because a Transfer Restriction is currently using it',
41
- });
42
- }
43
- });
44
- const op = (0, conversion_1.statTypeToStatOpType)(type, context);
45
- const removeTarget = (0, conversion_1.statisticsOpTypeToStatType)({ operationType: op, claimIssuer: rawClaimIssuer }, context);
46
- const statsArr = [...currentStats];
47
- const removeIndex = statsArr.findIndex(s => removeTarget.eq(s));
48
- if (removeIndex >= 0) {
49
- statsArr.splice(removeIndex, 1);
50
- }
51
- else {
52
- throw new internal_1.PolymeshError({
53
- code: types_1.ErrorCode.UnmetPrerequisite,
54
- message: 'Cannot remove a stat that is not enabled for this Asset',
55
- });
56
- }
57
- const newStats = (0, conversion_1.statisticStatTypesToBtreeStatType)(statsArr, context);
58
- return {
59
- transaction: statistics.setActiveAssetStats,
60
- args: [rawAssetId, newStats],
61
- resolver: undefined,
62
- };
63
- });
64
- }
65
- exports.prepareRemoveAssetStat = prepareRemoveAssetStat;
66
- /**
67
- * @hidden
68
- */
69
- function getAuthorization({ asset }) {
70
- const transactions = [types_1.TxTags.statistics.SetActiveAssetStats];
71
- return {
72
- permissions: {
73
- transactions,
74
- assets: [asset],
75
- portfolios: [],
76
- },
77
- };
78
- }
79
- exports.getAuthorization = getAuthorization;
80
- /**
81
- * @hidden
82
- */
83
- const removeAssetStat = () => new internal_1.Procedure(prepareRemoveAssetStat, getAuthorization);
84
- exports.removeAssetStat = removeAssetStat;
85
- //# sourceMappingURL=removeAssetStat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeAssetStat.js","sourceRoot":"","sources":["../../../src/api/procedures/removeAssetStat.ts"],"names":[],"mappings":"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"}