@polymeshassociation/polymesh-sdk 14.0.0-beta.11 → 15.0.0-alpha.11

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 (277) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/{AccountManagement.d.ts → api/client/AccountManagement.d.ts} +2 -2
  3. package/api/client/AccountManagement.d.ts.map +1 -0
  4. package/{AccountManagement.js → api/client/AccountManagement.js} +3 -3
  5. package/api/client/AccountManagement.js.map +1 -0
  6. package/{Assets.d.ts → api/client/Assets.d.ts} +13 -2
  7. package/api/client/Assets.d.ts.map +1 -0
  8. package/{Assets.js → api/client/Assets.js} +18 -4
  9. package/api/client/Assets.js.map +1 -0
  10. package/{Claims.d.ts → api/client/Claims.d.ts} +2 -2
  11. package/api/client/Claims.d.ts.map +1 -0
  12. package/{Claims.js → api/client/Claims.js} +7 -7
  13. package/api/client/Claims.js.map +1 -0
  14. package/{Identities.d.ts → api/client/Identities.d.ts} +2 -2
  15. package/api/client/Identities.d.ts.map +1 -0
  16. package/{Identities.js → api/client/Identities.js} +2 -2
  17. package/api/client/Identities.js.map +1 -0
  18. package/{Network.d.ts → api/client/Network.d.ts} +3 -3
  19. package/api/client/Network.d.ts.map +1 -0
  20. package/{Network.js → api/client/Network.js} +5 -5
  21. package/api/client/Network.js.map +1 -0
  22. package/{Polymesh.d.ts → api/client/Polymesh.d.ts} +6 -6
  23. package/api/client/Polymesh.d.ts.map +1 -0
  24. package/{Polymesh.js → api/client/Polymesh.js} +9 -17
  25. package/api/client/Polymesh.js.map +1 -0
  26. package/{Settlements.d.ts → api/client/Settlements.d.ts} +6 -6
  27. package/api/client/Settlements.d.ts.map +1 -0
  28. package/{Settlements.js → api/client/Settlements.js} +7 -7
  29. package/api/client/Settlements.js.map +1 -0
  30. package/api/entities/Account.d.ts +3 -1
  31. package/api/entities/Account.d.ts.map +1 -1
  32. package/api/entities/Account.js +19 -5
  33. package/api/entities/Account.js.map +1 -1
  34. package/api/entities/Asset/Checkpoints/index.d.ts.map +1 -1
  35. package/api/entities/Asset/Checkpoints/index.js.map +1 -1
  36. package/api/entities/Asset/Checkpoints/types.d.ts +1 -1
  37. package/api/entities/Asset/Checkpoints/types.d.ts.map +1 -1
  38. package/api/entities/Asset/Compliance/Requirements.d.ts.map +1 -1
  39. package/api/entities/Asset/Compliance/Requirements.js.map +1 -1
  40. package/api/entities/Asset/Compliance/TrustedClaimIssuers.d.ts.map +1 -1
  41. package/api/entities/Asset/Compliance/TrustedClaimIssuers.js.map +1 -1
  42. package/api/entities/Asset/CorporateActions/index.js +1 -1
  43. package/api/entities/Asset/Settlements.d.ts.map +1 -1
  44. package/api/entities/Asset/Settlements.js.map +1 -1
  45. package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.d.ts.map +1 -1
  46. package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.js +10 -10
  47. package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.js.map +1 -1
  48. package/api/entities/Asset/index.d.ts.map +1 -1
  49. package/api/entities/Asset/index.js +7 -9
  50. package/api/entities/Asset/index.js.map +1 -1
  51. package/api/entities/Checkpoint.d.ts.map +1 -1
  52. package/api/entities/Checkpoint.js.map +1 -1
  53. package/api/entities/CorporateActionBase/index.d.ts.map +1 -1
  54. package/api/entities/CorporateActionBase/index.js +1 -1
  55. package/api/entities/CorporateActionBase/index.js.map +1 -1
  56. package/api/entities/DividendDistribution/index.d.ts.map +1 -1
  57. package/api/entities/DividendDistribution/index.js.map +1 -1
  58. package/api/entities/Identity/AssetPermissions.js +2 -2
  59. package/api/entities/Identity/index.d.ts +3 -0
  60. package/api/entities/Identity/index.d.ts.map +1 -1
  61. package/api/entities/Identity/index.js +39 -14
  62. package/api/entities/Identity/index.js.map +1 -1
  63. package/api/entities/Instruction/index.js +1 -1
  64. package/api/entities/Instruction/index.js.map +1 -1
  65. package/api/entities/NumberedPortfolio.d.ts.map +1 -1
  66. package/api/entities/NumberedPortfolio.js +1 -1
  67. package/api/entities/NumberedPortfolio.js.map +1 -1
  68. package/api/entities/Offering/index.d.ts.map +1 -1
  69. package/api/entities/Offering/index.js.map +1 -1
  70. package/api/entities/TickerReservation/index.js +1 -1
  71. package/api/entities/TickerReservation/index.js.map +1 -1
  72. package/api/entities/Venue/index.js +2 -2
  73. package/api/entities/Venue/index.js.map +1 -1
  74. package/api/entities/common/namespaces/Authorizations.d.ts +2 -2
  75. package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
  76. package/api/entities/common/namespaces/Authorizations.js +1 -1
  77. package/api/entities/common/namespaces/Authorizations.js.map +1 -1
  78. package/api/procedures/addAssetRequirement.d.ts.map +1 -1
  79. package/api/procedures/addAssetRequirement.js +1 -1
  80. package/api/procedures/addAssetRequirement.js.map +1 -1
  81. package/api/procedures/addInstruction.d.ts.map +1 -1
  82. package/api/procedures/addInstruction.js +9 -10
  83. package/api/procedures/addInstruction.js.map +1 -1
  84. package/api/procedures/addInvestorUniquenessClaim.js +1 -1
  85. package/api/procedures/addInvestorUniquenessClaim.js.map +1 -1
  86. package/api/procedures/addTransferRestriction.d.ts +13 -3
  87. package/api/procedures/addTransferRestriction.d.ts.map +1 -1
  88. package/api/procedures/addTransferRestriction.js +98 -30
  89. package/api/procedures/addTransferRestriction.js.map +1 -1
  90. package/api/procedures/claimClassicTicker.js +1 -1
  91. package/api/procedures/claimClassicTicker.js.map +1 -1
  92. package/api/procedures/configureDividendDistribution.js +1 -1
  93. package/api/procedures/configureDividendDistribution.js.map +1 -1
  94. package/api/procedures/createAsset.d.ts +3 -8
  95. package/api/procedures/createAsset.d.ts.map +1 -1
  96. package/api/procedures/createAsset.js +114 -54
  97. package/api/procedures/createAsset.js.map +1 -1
  98. package/api/procedures/createGroup.d.ts +1 -6
  99. package/api/procedures/createGroup.d.ts.map +1 -1
  100. package/api/procedures/createGroup.js +4 -28
  101. package/api/procedures/createGroup.js.map +1 -1
  102. package/api/procedures/createPortfolio.js +1 -1
  103. package/api/procedures/createPortfolio.js.map +1 -1
  104. package/api/procedures/createVenue.js +1 -1
  105. package/api/procedures/createVenue.js.map +1 -1
  106. package/api/procedures/initiateCorporateAction.d.ts +5 -5
  107. package/api/procedures/initiateCorporateAction.d.ts.map +1 -1
  108. package/api/procedures/initiateCorporateAction.js +1 -1
  109. package/api/procedures/initiateCorporateAction.js.map +1 -1
  110. package/api/procedures/inviteExternalAgent.d.ts +4 -1
  111. package/api/procedures/inviteExternalAgent.d.ts.map +1 -1
  112. package/api/procedures/inviteExternalAgent.js +33 -13
  113. package/api/procedures/inviteExternalAgent.js.map +1 -1
  114. package/api/procedures/launchOffering.js +1 -1
  115. package/api/procedures/launchOffering.js.map +1 -1
  116. package/api/procedures/leaveIdentity.d.ts.map +1 -1
  117. package/api/procedures/leaveIdentity.js +3 -4
  118. package/api/procedures/leaveIdentity.js.map +1 -1
  119. package/api/procedures/linkCaDocs.d.ts.map +1 -1
  120. package/api/procedures/linkCaDocs.js.map +1 -1
  121. package/api/procedures/modifyAsset.d.ts.map +1 -1
  122. package/api/procedures/modifyAsset.js +4 -2
  123. package/api/procedures/modifyAsset.js.map +1 -1
  124. package/api/procedures/modifyAssetTrustedClaimIssuers.d.ts.map +1 -1
  125. package/api/procedures/modifyAssetTrustedClaimIssuers.js.map +1 -1
  126. package/api/procedures/modifyCaDefaultConfig.d.ts.map +1 -1
  127. package/api/procedures/modifyCaDefaultConfig.js +8 -7
  128. package/api/procedures/modifyCaDefaultConfig.js.map +1 -1
  129. package/api/procedures/modifyClaims.d.ts.map +1 -1
  130. package/api/procedures/modifyClaims.js.map +1 -1
  131. package/api/procedures/modifyInstructionAffirmation.d.ts.map +1 -1
  132. package/api/procedures/modifyInstructionAffirmation.js.map +1 -1
  133. package/api/procedures/modifyOfferingTimes.d.ts.map +1 -1
  134. package/api/procedures/modifyOfferingTimes.js.map +1 -1
  135. package/api/procedures/modifyVenue.js +1 -1
  136. package/api/procedures/modifyVenue.js.map +1 -1
  137. package/api/procedures/removeCorporateAction.d.ts.map +1 -1
  138. package/api/procedures/removeCorporateAction.js +1 -1
  139. package/api/procedures/removeCorporateAction.js.map +1 -1
  140. package/api/procedures/removeSecondaryAccounts.js +1 -1
  141. package/api/procedures/removeSecondaryAccounts.js.map +1 -1
  142. package/api/procedures/renamePortfolio.d.ts.map +1 -1
  143. package/api/procedures/renamePortfolio.js +1 -1
  144. package/api/procedures/renamePortfolio.js.map +1 -1
  145. package/api/procedures/setPermissionGroup.d.ts +8 -5
  146. package/api/procedures/setPermissionGroup.d.ts.map +1 -1
  147. package/api/procedures/setPermissionGroup.js +42 -23
  148. package/api/procedures/setPermissionGroup.js.map +1 -1
  149. package/api/procedures/setTransferRestrictions.d.ts +6 -7
  150. package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
  151. package/api/procedures/setTransferRestrictions.js +133 -122
  152. package/api/procedures/setTransferRestrictions.js.map +1 -1
  153. package/api/procedures/utils.d.ts +20 -2
  154. package/api/procedures/utils.d.ts.map +1 -1
  155. package/api/procedures/utils.js +59 -12
  156. package/api/procedures/utils.js.map +1 -1
  157. package/base/Context.d.ts +3 -8
  158. package/base/Context.d.ts.map +1 -1
  159. package/base/Context.js +40 -58
  160. package/base/Context.js.map +1 -1
  161. package/base/PolymeshTransactionBase.d.ts +4 -0
  162. package/base/PolymeshTransactionBase.d.ts.map +1 -1
  163. package/base/PolymeshTransactionBase.js +7 -0
  164. package/base/PolymeshTransactionBase.js.map +1 -1
  165. package/generated/types.d.ts +512 -0
  166. package/generated/types.d.ts.map +1 -1
  167. package/generated/types.js +557 -1
  168. package/generated/types.js.map +1 -1
  169. package/index.d.ts +1 -1
  170. package/index.d.ts.map +1 -1
  171. package/index.js +1 -1
  172. package/index.js.map +1 -1
  173. package/internal.d.ts +1 -1
  174. package/internal.d.ts.map +1 -1
  175. package/internal.js.map +1 -1
  176. package/middleware/types.d.ts +1 -0
  177. package/middleware/types.d.ts.map +1 -1
  178. package/middleware/types.js +1 -0
  179. package/middleware/types.js.map +1 -1
  180. package/npm-package/polymeshassociation-polymesh-sdk-15.0.0-alpha.11.tgz +0 -0
  181. package/package.json +71 -13
  182. package/polkadot/asset/definitions.js +12 -12
  183. package/polkadot/asset/definitions.js.map +1 -1
  184. package/polkadot/augment-api-consts.d.ts +127 -43
  185. package/polkadot/augment-api-consts.d.ts.map +1 -1
  186. package/polkadot/augment-api-errors.d.ts +286 -16
  187. package/polkadot/augment-api-errors.d.ts.map +1 -1
  188. package/polkadot/augment-api-events.d.ts +1102 -465
  189. package/polkadot/augment-api-events.d.ts.map +1 -1
  190. package/polkadot/augment-api-query.d.ts +746 -545
  191. package/polkadot/augment-api-query.d.ts.map +1 -1
  192. package/polkadot/augment-api-rpc.d.ts +50 -17
  193. package/polkadot/augment-api-rpc.d.ts.map +1 -1
  194. package/polkadot/augment-api-tx.d.ts +1445 -1003
  195. package/polkadot/augment-api-tx.d.ts.map +1 -1
  196. package/polkadot/augment-api.d.ts +0 -1
  197. package/polkadot/augment-api.d.ts.map +1 -1
  198. package/polkadot/augment-api.js +0 -1
  199. package/polkadot/augment-api.js.map +1 -1
  200. package/polkadot/augment-types.d.ts +213 -2220
  201. package/polkadot/augment-types.d.ts.map +1 -1
  202. package/polkadot/compliance/definitions.js +2 -2
  203. package/polkadot/compliance/definitions.js.map +1 -1
  204. package/polkadot/identity/definitions.js +4 -4
  205. package/polkadot/identity/definitions.js.map +1 -1
  206. package/polkadot/lookup.d.ts +4439 -0
  207. package/polkadot/lookup.d.ts.map +1 -0
  208. package/polkadot/lookup.js +5125 -0
  209. package/polkadot/lookup.js.map +1 -0
  210. package/polkadot/polymesh/definitions.d.ts +106 -36
  211. package/polkadot/polymesh/definitions.d.ts.map +1 -1
  212. package/polkadot/polymesh/definitions.js +111 -41
  213. package/polkadot/polymesh/definitions.js.map +1 -1
  214. package/polkadot/polymesh/types.d.ts +216 -61
  215. package/polkadot/polymesh/types.d.ts.map +1 -1
  216. package/polkadot/registry.d.ts +385 -0
  217. package/polkadot/registry.d.ts.map +1 -0
  218. package/polkadot/registry.js +5 -0
  219. package/polkadot/registry.js.map +1 -0
  220. package/polkadot/schema.d.ts +106 -36
  221. package/polkadot/schema.d.ts.map +1 -1
  222. package/polkadot/schema.js +129 -59
  223. package/polkadot/schema.js.map +1 -1
  224. package/polkadot/types-lookup.d.ts +5578 -0
  225. package/polkadot/types-lookup.d.ts.map +1 -0
  226. package/polkadot/types-lookup.js +4 -0
  227. package/polkadot/types-lookup.js.map +1 -0
  228. package/polkadot/types.d.ts +0 -464
  229. package/polkadot/types.d.ts.map +1 -1
  230. package/polkadot/types.js +0 -505
  231. package/polkadot/types.js.map +1 -1
  232. package/types/index.d.ts +14 -5
  233. package/types/index.d.ts.map +1 -1
  234. package/types/index.js +3 -1
  235. package/types/index.js.map +1 -1
  236. package/types/internal.d.ts +10 -2
  237. package/types/internal.d.ts.map +1 -1
  238. package/types/internal.js +6 -1
  239. package/types/internal.js.map +1 -1
  240. package/types/utils/index.d.ts +11 -0
  241. package/types/utils/index.d.ts.map +1 -1
  242. package/types/utils/index.js +2 -0
  243. package/types/utils/index.js.map +1 -1
  244. package/utils/constants.d.ts +13 -2
  245. package/utils/constants.d.ts.map +1 -1
  246. package/utils/constants.js +14 -3
  247. package/utils/constants.js.map +1 -1
  248. package/utils/conversion.d.ts +96 -78
  249. package/utils/conversion.d.ts.map +1 -1
  250. package/utils/conversion.js +521 -464
  251. package/utils/conversion.js.map +1 -1
  252. package/utils/index.d.ts +1 -1
  253. package/utils/index.d.ts.map +1 -1
  254. package/utils/index.js +2 -1
  255. package/utils/index.js.map +1 -1
  256. package/utils/internal.d.ts +4 -4
  257. package/utils/internal.d.ts.map +1 -1
  258. package/utils/internal.js +90 -15
  259. package/utils/internal.js.map +1 -1
  260. package/utils/typeguards.d.ts.map +1 -1
  261. package/utils/typeguards.js +1 -0
  262. package/utils/typeguards.js.map +1 -1
  263. package/AccountManagement.d.ts.map +0 -1
  264. package/AccountManagement.js.map +0 -1
  265. package/Assets.d.ts.map +0 -1
  266. package/Assets.js.map +0 -1
  267. package/Claims.d.ts.map +0 -1
  268. package/Claims.js.map +0 -1
  269. package/Identities.d.ts.map +0 -1
  270. package/Identities.js.map +0 -1
  271. package/Network.d.ts.map +0 -1
  272. package/Network.js.map +0 -1
  273. package/Polymesh.d.ts.map +0 -1
  274. package/Polymesh.js.map +0 -1
  275. package/Settlements.d.ts.map +0 -1
  276. package/Settlements.js.map +0 -1
  277. package/npm-package/polymeshassociation-polymesh-sdk-14.0.0-beta.11.tgz +0 -0
@@ -14,59 +14,127 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.setTransferRestrictions = exports.prepareStorage = exports.getAuthorization = exports.prepareSetTransferRestrictions = void 0;
16
16
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
- const bluebird_1 = __importDefault(require("bluebird"));
18
- const lodash_1 = require("lodash");
19
17
  const internal_1 = require("../../internal");
20
18
  const types_1 = require("../../types");
21
- const utils_1 = require("../../types/utils");
19
+ const internal_2 = require("../../types/internal");
22
20
  const conversion_1 = require("../../utils/conversion");
23
- const internal_2 = require("../../utils/internal");
21
+ const internal_3 = require("../../utils/internal");
24
22
  /**
25
23
  * @hidden
26
24
  */
27
- function prepareSetTransferRestrictions(args) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- const { context: { polymeshApi: { tx: { statistics }, consts, }, }, storage: { restrictionsToAdd, restrictionsToRemove, exemptionsToAdd, exemptionsToRemove, occupiedSlots, }, } = this;
30
- const { restrictions: { length: newRestrictionAmount }, } = args;
31
- const restrictionsToAddAmount = restrictionsToAdd.length;
32
- const restrictionsToRemoveAmount = restrictionsToRemove.length;
33
- const exemptionsToAddAmount = exemptionsToAdd.length;
34
- const exemptionsToRemoveAmount = exemptionsToRemove.length;
35
- if (!restrictionsToAddAmount &&
36
- !restrictionsToRemoveAmount &&
37
- !exemptionsToAddAmount &&
38
- !exemptionsToRemoveAmount) {
39
- throw new internal_1.PolymeshError({
40
- code: types_1.ErrorCode.NoDataChange,
41
- message: newRestrictionAmount
42
- ? 'The supplied restrictions are already in place'
43
- : 'There are no restrictions to remove',
25
+ function isSameCondition(transferCondition, inputValue, type) {
26
+ if (transferCondition.isMaxInvestorCount && type === types_1.TransferRestrictionType.Count) {
27
+ const currentCount = (0, conversion_1.u64ToBigNumber)(transferCondition.asMaxInvestorCount);
28
+ return currentCount.eq(inputValue);
29
+ }
30
+ else if (transferCondition.isMaxInvestorOwnership &&
31
+ type === types_1.TransferRestrictionType.Percentage) {
32
+ const currentOwnership = (0, conversion_1.permillToBigNumber)(transferCondition.asMaxInvestorOwnership);
33
+ return currentOwnership.eq(inputValue);
34
+ }
35
+ else {
36
+ return false;
37
+ }
38
+ }
39
+ /**
40
+ * @hidden
41
+ */
42
+ function transformRestrictions(restrictions, currentRestrictions, type, context) {
43
+ const exemptions = [];
44
+ let someDifference = restrictions.length !== currentRestrictions.length;
45
+ const conditions = [];
46
+ restrictions.forEach(r => {
47
+ let value;
48
+ if ('count' in r) {
49
+ value = r.count;
50
+ }
51
+ else {
52
+ value = r.percentage;
53
+ }
54
+ const compareConditions = (transferCondition) => isSameCondition(transferCondition, value, type);
55
+ if (!someDifference) {
56
+ someDifference = !currentRestrictions.find(compareConditions);
57
+ }
58
+ const condition = { type, value };
59
+ const rawCondition = (0, conversion_1.transferRestrictionToPolymeshTransferCondition)(condition, context);
60
+ if (r.exemptedIdentities) {
61
+ r.exemptedIdentities.forEach(e => {
62
+ exemptions.push(e);
44
63
  });
45
64
  }
46
- const maxTransferManagers = (0, conversion_1.u32ToBigNumber)(consts.statistics.maxTransferManagersPerAsset);
65
+ conditions.push(rawCondition);
66
+ });
67
+ if (!someDifference) {
68
+ throw new internal_1.PolymeshError({
69
+ code: types_1.ErrorCode.NoDataChange,
70
+ message: restrictions.length
71
+ ? 'The supplied restrictions are already in place'
72
+ : 'There are no restrictions to remove',
73
+ });
74
+ }
75
+ return [conditions, exemptions];
76
+ }
77
+ /**
78
+ * @hidden
79
+ */
80
+ function prepareSetTransferRestrictions(args) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const { context: { polymeshApi: { tx: { statistics }, query, consts, }, }, storage: { currentRestrictions, occupiedSlots, needStat, currentStats }, context, } = this;
83
+ const { restrictions: { length: newRestrictionAmount }, restrictions, type, ticker, } = args;
84
+ const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
85
+ const [conditions, exemptions] = transformRestrictions(restrictions, currentRestrictions, type, context);
86
+ const maxTransferConditions = (0, conversion_1.u32ToBigNumber)(consts.statistics.maxTransferConditionsPerAsset);
47
87
  const finalCount = occupiedSlots.plus(newRestrictionAmount);
48
- if (finalCount.gte(maxTransferManagers)) {
88
+ if (finalCount.gte(maxTransferConditions)) {
49
89
  throw new internal_1.PolymeshError({
50
90
  code: types_1.ErrorCode.LimitExceeded,
51
91
  message: 'Cannot set more Transfer Restrictions than there are slots available',
52
92
  data: {
53
- availableSlots: maxTransferManagers.minus(occupiedSlots),
93
+ availableSlots: maxTransferConditions.minus(occupiedSlots),
54
94
  },
55
95
  });
56
96
  }
57
- const transactions = (0, internal_2.assembleBatchTransactions)((0, utils_1.tuple)({
58
- transaction: statistics.removeTransferManager,
59
- argsArray: restrictionsToRemove,
60
- }, {
61
- transaction: statistics.addTransferManager,
62
- argsArray: restrictionsToAdd,
63
- }, {
64
- transaction: statistics.removeExemptedEntities,
65
- argsArray: exemptionsToRemove,
66
- }, {
67
- transaction: statistics.addExemptedEntities,
68
- argsArray: exemptionsToAdd,
97
+ const transactions = [];
98
+ const op = type === types_1.TransferRestrictionType.Count
99
+ ? (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Count, context)
100
+ : (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Balance, context);
101
+ if (needStat) {
102
+ const newStat = (0, conversion_1.statisticsOpTypeToStatType)(op, context);
103
+ currentStats.push(newStat);
104
+ currentStats.sort().reverse();
105
+ transactions.push((0, internal_3.checkTxType)({
106
+ transaction: statistics.setActiveAssetStats,
107
+ args: [tickerKey, currentStats],
108
+ }));
109
+ // Count stats need to be initialized manually
110
+ if (type === types_1.TransferRestrictionType.Count) {
111
+ const { Ticker: rawTicker } = tickerKey;
112
+ const holders = yield query.asset.balanceOf.entries(rawTicker);
113
+ const holderCount = new bignumber_js_1.default(holders.length);
114
+ const secondKey = (0, conversion_1.createStat2ndKey)(context);
115
+ const stat = (0, conversion_1.statUpdate)(secondKey, (0, conversion_1.bigNumberToU128)(holderCount, context), context);
116
+ const statValue = (0, conversion_1.statUpdatesToBtreeStatUpdate)([stat], context);
117
+ transactions.push((0, internal_3.checkTxType)({
118
+ transaction: statistics.batchUpdateAssetStats,
119
+ args: [tickerKey, newStat, statValue],
120
+ }));
121
+ }
122
+ }
123
+ transactions.push((0, internal_3.checkTxType)({
124
+ transaction: statistics.setAssetTransferCompliance,
125
+ args: [tickerKey, (0, conversion_1.complianceConditionsToBtreeSet)(conditions, context)],
69
126
  }));
127
+ if (exemptions.length) {
128
+ const exemptedIds = yield (0, internal_3.getExemptedIds)(exemptions, context, ticker);
129
+ const exemptedScopeIds = exemptedIds.map(entityId => (0, conversion_1.stringToIdentityId)(entityId, context));
130
+ const btreeIds = (0, conversion_1.scopeIdsToBtreeSetIdentityId)(exemptedScopeIds, context);
131
+ const exemptKey = (0, conversion_1.toExemptKey)(tickerKey, op);
132
+ transactions.push((0, internal_3.checkTxType)({
133
+ transaction: statistics.setEntitiesExempt,
134
+ feeMultiplier: new bignumber_js_1.default(exemptions.length),
135
+ args: [true, exemptKey, btreeIds],
136
+ }));
137
+ }
70
138
  this.addBatchTransaction({ transactions });
71
139
  return finalCount;
72
140
  });
@@ -75,20 +143,15 @@ exports.prepareSetTransferRestrictions = prepareSetTransferRestrictions;
75
143
  /**
76
144
  * @hidden
77
145
  */
78
- function getAuthorization({ ticker }) {
79
- const { restrictionsToRemove, restrictionsToAdd, exemptionsToAdd, exemptionsToRemove } = this.storage;
80
- const transactions = [];
81
- if (restrictionsToAdd.length) {
82
- transactions.push(types_1.TxTags.statistics.AddTransferManager);
83
- }
84
- if (restrictionsToRemove.length) {
85
- transactions.push(types_1.TxTags.statistics.RemoveTransferManager);
86
- }
87
- if (exemptionsToAdd.length) {
88
- transactions.push(types_1.TxTags.statistics.AddExemptedEntities);
146
+ function getAuthorization({ ticker, restrictions }) {
147
+ const { needStat } = this.storage;
148
+ const transactions = [types_1.TxTags.statistics.SetAssetTransferCompliance];
149
+ const needExemptionsPermission = restrictions.some(r => { var _a; return (_a = r.exemptedIdentities) === null || _a === void 0 ? void 0 : _a.length; });
150
+ if (needExemptionsPermission) {
151
+ transactions.push(types_1.TxTags.statistics.SetEntitiesExempt);
89
152
  }
90
- if (exemptionsToRemove.length) {
91
- transactions.push(types_1.TxTags.statistics.RemoveExemptedEntities);
153
+ if (needStat) {
154
+ transactions.push(types_1.TxTags.statistics.SetActiveAssetStats);
92
155
  }
93
156
  return {
94
157
  permissions: {
@@ -104,94 +167,42 @@ exports.getAuthorization = getAuthorization;
104
167
  */
105
168
  function prepareStorage(args) {
106
169
  return __awaiter(this, void 0, void 0, function* () {
107
- const { context } = this;
108
- const { ticker, type, restrictions } = args;
109
- const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
170
+ const { context, context: { polymeshApi: { query: { statistics }, }, }, } = this;
171
+ const { ticker, type } = args;
172
+ const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
173
+ const currentStats = yield statistics.activeAssetStats(tickerKey);
174
+ const needStat = !currentStats.find(s => {
175
+ const stat = (0, conversion_1.meshStatToStatisticsOpType)(s);
176
+ const cmpStat = stat === internal_2.StatisticsOpType.Balance
177
+ ? types_1.TransferRestrictionType.Percentage
178
+ : types_1.TransferRestrictionType.Count;
179
+ return cmpStat === type;
180
+ });
110
181
  const { transferRestrictions: { count, percentage }, } = new internal_1.Asset({ ticker }, context);
111
182
  const [{ restrictions: currentCountRestrictions }, { restrictions: currentPercentageRestrictions },] = yield Promise.all([count.get(), percentage.get()]);
112
183
  const currentRestrictions = [];
113
- const currentExemptions = [];
114
- const toAddRestrictions = [];
115
- const toAddExemptionPromises = [];
116
- let occupiedSlots = currentCountRestrictions.length + currentPercentageRestrictions.length;
117
- /*
118
- * we're using `defusePromise` here because we KNOW the exempted ID promises are being
119
- * awaited later and errors WILL be caught
120
- */
184
+ // take the count of the type of restrictions not being changed
185
+ const occupiedSlots = type === types_1.TransferRestrictionType.Percentage
186
+ ? currentCountRestrictions.length
187
+ : currentPercentageRestrictions.length;
121
188
  if (type === types_1.TransferRestrictionType.Count) {
122
- restrictions.forEach(({ exemptedIdentities = [], count: value }) => {
123
- const restriction = { type: types_1.TransferRestrictionType.Count, value };
124
- toAddRestrictions.push(restriction);
125
- toAddExemptionPromises.push((0, utils_1.tuple)(restriction, (0, internal_2.defusePromise)((0, internal_2.getExemptedIds)(exemptedIdentities, context, ticker))));
126
- });
127
- currentCountRestrictions.forEach(({ exemptedIds = [], count: value }) => {
189
+ currentCountRestrictions.forEach(({ count: value }) => {
128
190
  const restriction = { type: types_1.TransferRestrictionType.Count, value };
129
191
  currentRestrictions.push(restriction);
130
- currentExemptions.push((0, utils_1.tuple)(restriction, exemptedIds));
131
192
  });
132
193
  }
133
194
  else {
134
- restrictions.forEach(({ exemptedIdentities = [], percentage: value }) => {
135
- const restriction = { type: types_1.TransferRestrictionType.Percentage, value };
136
- toAddRestrictions.push(restriction);
137
- toAddExemptionPromises.push((0, utils_1.tuple)(restriction, (0, internal_2.defusePromise)((0, internal_2.getExemptedIds)(exemptedIdentities, context, ticker))));
138
- });
139
- currentPercentageRestrictions.forEach(({ exemptedIds = [], percentage: value }) => {
195
+ currentPercentageRestrictions.forEach(({ percentage: value }) => {
140
196
  const restriction = { type: types_1.TransferRestrictionType.Percentage, value };
141
197
  currentRestrictions.push(restriction);
142
- currentExemptions.push((0, utils_1.tuple)(restriction, exemptedIds));
143
198
  });
144
199
  }
145
- const toAddExemptions = yield bluebird_1.default.map(toAddExemptionPromises, ([restriction, exemptedPromise]) => __awaiter(this, void 0, void 0, function* () {
146
- const exempted = yield exemptedPromise;
147
- return (0, utils_1.tuple)(restriction, exempted);
148
- }));
149
- const newRestrictions = (0, lodash_1.differenceWith)(toAddRestrictions, currentRestrictions, lodash_1.isEqual);
150
- const toRemoveRestrictions = (0, lodash_1.differenceWith)(currentRestrictions, toAddRestrictions, lodash_1.isEqual);
151
- const transformRestriction = (restriction) => (0, utils_1.tuple)(rawTicker, (0, conversion_1.transferRestrictionToTransferManager)(restriction, context));
152
- const restrictionsToRemove = toRemoveRestrictions.map(transformRestriction);
153
- const restrictionsToAdd = newRestrictions.map(transformRestriction);
154
- occupiedSlots -= currentRestrictions.length;
155
- const newExemptions = [];
156
- const toRemoveExemptions = [];
157
- toAddExemptions.forEach(exemption => {
158
- const [restriction, exempted] = exemption;
159
- if (newRestrictions.find(res => (0, lodash_1.isEqual)(restriction, res)) && exempted.length) {
160
- newExemptions.push(exemption);
161
- return;
162
- }
163
- const currentExemption = currentExemptions.find(([res]) => (0, lodash_1.isEqual)(res, restriction));
164
- const currentExempted = (currentExemption === null || currentExemption === void 0 ? void 0 : currentExemption[1]) || [];
165
- // Scope/Identity IDs that weren't exempted before for that restriction
166
- const newExempted = (0, lodash_1.difference)(exempted, currentExempted);
167
- if (newExempted.length) {
168
- newExemptions.push((0, utils_1.tuple)(restriction, newExempted));
169
- }
170
- // Scope/Identity IDs that will no longer be exempted for that restriction
171
- const toRemoveExempted = (0, lodash_1.difference)(currentExempted, exempted);
172
- if (toRemoveExempted.length) {
173
- toRemoveExemptions.push((0, utils_1.tuple)(restriction, toRemoveExempted));
174
- }
175
- });
176
- // also remove all exemptions of the restrictions that will be removed
177
- toRemoveRestrictions.forEach(restriction => {
178
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
179
- const [, currentExempted] = currentExemptions.find(([res]) => (0, lodash_1.isEqual)(res, restriction));
180
- if (currentExempted.length) {
181
- toRemoveExemptions.push((0, utils_1.tuple)(restriction, currentExempted));
182
- }
183
- });
184
- const transformExemptions = ([restriction, entityIds]) => (0, utils_1.tuple)(rawTicker, (0, conversion_1.transferRestrictionToTransferManager)(restriction, context),
185
- // we use `stringToScopeId` because both `ScopeId` and `IdentityId` are aliases for `U8aFixed`
186
- entityIds.map(entityId => (0, conversion_1.stringToScopeId)(entityId, context)));
187
- const exemptionsToAdd = newExemptions.map(transformExemptions);
188
- const exemptionsToRemove = toRemoveExemptions.map(transformExemptions);
200
+ const transformRestriction = (restriction) => (0, conversion_1.transferRestrictionToPolymeshTransferCondition)(restriction, context);
189
201
  return {
190
- restrictionsToRemove,
191
- restrictionsToAdd,
192
- exemptionsToAdd,
193
- exemptionsToRemove,
194
202
  occupiedSlots: new bignumber_js_1.default(occupiedSlots),
203
+ currentRestrictions: currentRestrictions.map(transformRestriction),
204
+ needStat,
205
+ currentStats,
195
206
  };
196
207
  });
197
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setTransferRestrictions.js","sourceRoot":"","sources":["../../../src/api/procedures/setTransferRestrictions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setTransferRestrictions.js","sourceRoot":"","sources":["../../../src/api/procedures/setTransferRestrictions.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ISubmittableResult } from '@polkadot/types/types';
2
2
  import BigNumber from 'bignumber.js';
3
- import { Account, AuthorizationRequest, Checkpoint, CheckpointSchedule, Context, CustomPermissionGroup, Identity, Instruction, KnownPermissionGroup } from "../../internal";
4
- import { AddRelayerPayingKeyAuthorizationData, Authorization, Condition, GenericAuthorizationData, InputCondition, InputTargets, InputTaxWithholding, PermissionedAccount, Signer } from "../../types";
3
+ import { Account, Asset, AuthorizationRequest, Checkpoint, CheckpointSchedule, Context, CustomPermissionGroup, Identity, Instruction, KnownPermissionGroup } from "../../internal";
4
+ import { AddRelayerPayingKeyAuthorizationData, Authorization, Condition, GenericAuthorizationData, InputCondition, InputTargets, InputTaxWithholding, PermissionedAccount, Signer, TransactionPermissions } from "../../types";
5
5
  import { MaybePostTransactionValue, PortfolioId } from "../../types/internal";
6
6
  /**
7
7
  * @hidden
@@ -99,5 +99,23 @@ export declare class UnreachableCaseError extends Error {
99
99
  * @hidden
100
100
  */
101
101
  export declare function assertAuthorizationRequestValid(authRequest: AuthorizationRequest, context: Context): Promise<void>;
102
+ /**
103
+ * @hidden
104
+ *
105
+ * Retrieve the Permission Group that has the same permissions as the ones passed as input, or undefined if
106
+ * there is no matching group
107
+ */
108
+ export declare function getGroupFromPermissions(asset: Asset, permissions: TransactionPermissions | null): Promise<(CustomPermissionGroup | KnownPermissionGroup) | undefined>;
109
+ /**
110
+ * @hidden
111
+ */
112
+ export declare function assertGroupDoesNotExist(asset: Asset, permissions: TransactionPermissions | null): Promise<void>;
113
+ /**
114
+ * @hidden
115
+ */
102
116
  export declare const createAuthorizationResolver: (auth: MaybePostTransactionValue<Authorization>, issuer: Identity, target: Identity | Account, expiry: Date | null, context: Context) => (receipt: ISubmittableResult) => AuthorizationRequest;
117
+ /**
118
+ * @hidden
119
+ */
120
+ export declare const createCreateGroupResolver: (context: Context) => (receipt: ISubmittableResult) => CustomPermissionGroup;
103
121
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/utils.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.createAuthorizationResolver = exports.assertAuthorizationRequestValid = exports.UnreachableCaseError = exports.assertAddRelayerPayingKeyAuthorizationValid = exports.assertMultiSigSignerAuthorizationValid = exports.assertTransferAssetOwnershipAuthorizationValid = exports.assertTransferTickerAuthorizationValid = exports.assertAttestPrimaryKeyAuthorizationValid = exports.assertPrimaryKeyRotationAuthorizationValid = exports.assertRequirementsNotTooComplex = exports.isFullGroupType = exports.assertDistributionDatesValid = exports.assertCaCheckpointValid = exports.assertCaTaxWithholdingsValid = exports.assertCaTargetsValid = exports.assertDistributionOpen = exports.assertSecondaryAccounts = exports.assertVenueExists = exports.assertPortfolioExists = exports.assertInstructionValid = void 0;
15
+ exports.createCreateGroupResolver = exports.createAuthorizationResolver = exports.assertGroupDoesNotExist = exports.getGroupFromPermissions = exports.assertAuthorizationRequestValid = exports.UnreachableCaseError = exports.assertAddRelayerPayingKeyAuthorizationValid = exports.assertMultiSigSignerAuthorizationValid = exports.assertTransferAssetOwnershipAuthorizationValid = exports.assertTransferTickerAuthorizationValid = exports.assertAttestPrimaryKeyAuthorizationValid = exports.assertPrimaryKeyRotationAuthorizationValid = exports.assertRequirementsNotTooComplex = exports.isFullGroupType = exports.assertDistributionDatesValid = exports.assertCaCheckpointValid = exports.assertCaTaxWithholdingsValid = exports.assertCaTargetsValid = exports.assertDistributionOpen = exports.assertSecondaryAccounts = exports.assertVenueExists = exports.assertPortfolioExists = exports.assertInstructionValid = void 0;
16
16
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
17
+ const bluebird_1 = __importDefault(require("bluebird"));
18
+ const lodash_1 = require("lodash");
17
19
  const internal_1 = require("../../internal");
18
20
  const types_1 = require("../../types");
19
21
  const conversion_1 = require("../../utils/conversion");
@@ -140,7 +142,7 @@ exports.assertDistributionOpen = assertDistributionOpen;
140
142
  */
141
143
  function assertCaTargetsValid(targets, context) {
142
144
  const { maxTargetIds } = context.polymeshApi.consts.corporateAction;
143
- const maxTargets = (0, conversion_1.u64ToBigNumber)(maxTargetIds);
145
+ const maxTargets = (0, conversion_1.u32ToBigNumber)(maxTargetIds);
144
146
  if (maxTargets.lt(targets.identities.length)) {
145
147
  throw new internal_1.PolymeshError({
146
148
  code: types_1.ErrorCode.ValidationError,
@@ -157,7 +159,7 @@ exports.assertCaTargetsValid = assertCaTargetsValid;
157
159
  */
158
160
  function assertCaTaxWithholdingsValid(taxWithholdings, context) {
159
161
  const { maxDidWhts } = context.polymeshApi.consts.corporateAction;
160
- const maxWithholdingEntries = (0, conversion_1.u64ToBigNumber)(maxDidWhts);
162
+ const maxWithholdingEntries = (0, conversion_1.u32ToBigNumber)(maxDidWhts);
161
163
  if (maxWithholdingEntries.lt(taxWithholdings.length)) {
162
164
  throw new internal_1.PolymeshError({
163
165
  code: types_1.ErrorCode.ValidationError,
@@ -359,15 +361,15 @@ function assertMultiSigSignerAuthorizationValid(data, target, context) {
359
361
  message: 'A multisig cannot be its own signer',
360
362
  });
361
363
  }
362
- const exitingIdentity = yield target.getIdentity();
363
- if (exitingIdentity) {
364
- throw new internal_1.PolymeshError({
365
- code: types_1.ErrorCode.ValidationError,
366
- message: 'The target Account is already part of an Identity',
367
- });
368
- }
369
- const multiSig = yield context.polymeshApi.query.multiSig.keyToMultiSig(address);
370
- if (!multiSig.isEmpty) {
364
+ const identityRecord = yield context.polymeshApi.query.identity.keyRecords(address);
365
+ if (identityRecord.isSome) {
366
+ const record = identityRecord.unwrap();
367
+ if (record.isPrimaryKey || record.isSecondaryKey) {
368
+ throw new internal_1.PolymeshError({
369
+ code: types_1.ErrorCode.ValidationError,
370
+ message: 'The target Account is already part of an Identity',
371
+ });
372
+ }
371
373
  throw new internal_1.PolymeshError({
372
374
  code: types_1.ErrorCode.ValidationError,
373
375
  message: 'The target Account is already associated to a multisig address',
@@ -521,6 +523,43 @@ function assertAuthorizationRequestValid(authRequest, context) {
521
523
  });
522
524
  }
523
525
  exports.assertAuthorizationRequestValid = assertAuthorizationRequestValid;
526
+ /**
527
+ * @hidden
528
+ *
529
+ * Retrieve the Permission Group that has the same permissions as the ones passed as input, or undefined if
530
+ * there is no matching group
531
+ */
532
+ function getGroupFromPermissions(asset, permissions) {
533
+ return __awaiter(this, void 0, void 0, function* () {
534
+ const { custom, known } = yield asset.permissions.getGroups();
535
+ const allGroups = [...custom, ...known];
536
+ const currentGroupPermissions = yield bluebird_1.default.map(allGroups, group => group.getPermissions());
537
+ const duplicatedGroupIndex = currentGroupPermissions.findIndex(({ transactions: transactionPermissions }) => (0, lodash_1.isEqual)(transactionPermissions, permissions));
538
+ return allGroups[duplicatedGroupIndex];
539
+ });
540
+ }
541
+ exports.getGroupFromPermissions = getGroupFromPermissions;
542
+ /**
543
+ * @hidden
544
+ */
545
+ function assertGroupDoesNotExist(asset, permissions) {
546
+ return __awaiter(this, void 0, void 0, function* () {
547
+ const matchingGroup = yield getGroupFromPermissions(asset, permissions);
548
+ if (matchingGroup) {
549
+ throw new internal_1.PolymeshError({
550
+ code: types_1.ErrorCode.NoDataChange,
551
+ message: 'There already exists a group with the exact same permissions',
552
+ data: {
553
+ groupId: matchingGroup instanceof internal_1.CustomPermissionGroup ? matchingGroup.id : matchingGroup.type,
554
+ },
555
+ });
556
+ }
557
+ });
558
+ }
559
+ exports.assertGroupDoesNotExist = assertGroupDoesNotExist;
560
+ /**
561
+ * @hidden
562
+ */
524
563
  const createAuthorizationResolver = (auth, issuer, target, expiry, context) => (receipt) => {
525
564
  const [{ data }] = (0, internal_2.filterEventRecords)(receipt, 'identity', 'AuthorizationAdded');
526
565
  let rawAuth;
@@ -534,4 +573,12 @@ const createAuthorizationResolver = (auth, issuer, target, expiry, context) => (
534
573
  return new internal_1.AuthorizationRequest({ authId, expiry, issuer, target, data: rawAuth }, context);
535
574
  };
536
575
  exports.createAuthorizationResolver = createAuthorizationResolver;
576
+ /**
577
+ * @hidden
578
+ */
579
+ const createCreateGroupResolver = (context) => (receipt) => {
580
+ const [{ data }] = (0, internal_2.filterEventRecords)(receipt, 'externalAgents', 'GroupCreated');
581
+ return new internal_1.CustomPermissionGroup({ id: (0, conversion_1.u32ToBigNumber)(data[2]), ticker: (0, conversion_1.tickerToString)(data[1]) }, context);
582
+ };
583
+ exports.createCreateGroupResolver = createCreateGroupResolver;
537
584
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/api/procedures/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/api/procedures/utils.ts"],"names":[],"mappings":"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"}