@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.
- package/CHANGELOG.md +14 -1
- package/{AccountManagement.d.ts → api/client/AccountManagement.d.ts} +2 -2
- package/api/client/AccountManagement.d.ts.map +1 -0
- package/{AccountManagement.js → api/client/AccountManagement.js} +3 -3
- package/api/client/AccountManagement.js.map +1 -0
- package/{Assets.d.ts → api/client/Assets.d.ts} +13 -2
- package/api/client/Assets.d.ts.map +1 -0
- package/{Assets.js → api/client/Assets.js} +18 -4
- package/api/client/Assets.js.map +1 -0
- package/{Claims.d.ts → api/client/Claims.d.ts} +2 -2
- package/api/client/Claims.d.ts.map +1 -0
- package/{Claims.js → api/client/Claims.js} +7 -7
- package/api/client/Claims.js.map +1 -0
- package/{Identities.d.ts → api/client/Identities.d.ts} +2 -2
- package/api/client/Identities.d.ts.map +1 -0
- package/{Identities.js → api/client/Identities.js} +2 -2
- package/api/client/Identities.js.map +1 -0
- package/{Network.d.ts → api/client/Network.d.ts} +3 -3
- package/api/client/Network.d.ts.map +1 -0
- package/{Network.js → api/client/Network.js} +5 -5
- package/api/client/Network.js.map +1 -0
- package/{Polymesh.d.ts → api/client/Polymesh.d.ts} +6 -6
- package/api/client/Polymesh.d.ts.map +1 -0
- package/{Polymesh.js → api/client/Polymesh.js} +9 -17
- package/api/client/Polymesh.js.map +1 -0
- package/{Settlements.d.ts → api/client/Settlements.d.ts} +6 -6
- package/api/client/Settlements.d.ts.map +1 -0
- package/{Settlements.js → api/client/Settlements.js} +7 -7
- package/api/client/Settlements.js.map +1 -0
- package/api/entities/Account.d.ts +3 -1
- package/api/entities/Account.d.ts.map +1 -1
- package/api/entities/Account.js +19 -5
- package/api/entities/Account.js.map +1 -1
- package/api/entities/Asset/Checkpoints/index.d.ts.map +1 -1
- package/api/entities/Asset/Checkpoints/index.js.map +1 -1
- package/api/entities/Asset/Checkpoints/types.d.ts +1 -1
- package/api/entities/Asset/Checkpoints/types.d.ts.map +1 -1
- package/api/entities/Asset/Compliance/Requirements.d.ts.map +1 -1
- package/api/entities/Asset/Compliance/Requirements.js.map +1 -1
- package/api/entities/Asset/Compliance/TrustedClaimIssuers.d.ts.map +1 -1
- package/api/entities/Asset/Compliance/TrustedClaimIssuers.js.map +1 -1
- package/api/entities/Asset/CorporateActions/index.js +1 -1
- package/api/entities/Asset/Settlements.d.ts.map +1 -1
- package/api/entities/Asset/Settlements.js.map +1 -1
- package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.d.ts.map +1 -1
- package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.js +10 -10
- package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.js.map +1 -1
- package/api/entities/Asset/index.d.ts.map +1 -1
- package/api/entities/Asset/index.js +7 -9
- package/api/entities/Asset/index.js.map +1 -1
- package/api/entities/Checkpoint.d.ts.map +1 -1
- package/api/entities/Checkpoint.js.map +1 -1
- package/api/entities/CorporateActionBase/index.d.ts.map +1 -1
- package/api/entities/CorporateActionBase/index.js +1 -1
- package/api/entities/CorporateActionBase/index.js.map +1 -1
- package/api/entities/DividendDistribution/index.d.ts.map +1 -1
- package/api/entities/DividendDistribution/index.js.map +1 -1
- package/api/entities/Identity/AssetPermissions.js +2 -2
- package/api/entities/Identity/index.d.ts +3 -0
- package/api/entities/Identity/index.d.ts.map +1 -1
- package/api/entities/Identity/index.js +39 -14
- package/api/entities/Identity/index.js.map +1 -1
- package/api/entities/Instruction/index.js +1 -1
- package/api/entities/Instruction/index.js.map +1 -1
- package/api/entities/NumberedPortfolio.d.ts.map +1 -1
- package/api/entities/NumberedPortfolio.js +1 -1
- package/api/entities/NumberedPortfolio.js.map +1 -1
- package/api/entities/Offering/index.d.ts.map +1 -1
- package/api/entities/Offering/index.js.map +1 -1
- package/api/entities/TickerReservation/index.js +1 -1
- package/api/entities/TickerReservation/index.js.map +1 -1
- package/api/entities/Venue/index.js +2 -2
- package/api/entities/Venue/index.js.map +1 -1
- package/api/entities/common/namespaces/Authorizations.d.ts +2 -2
- package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
- package/api/entities/common/namespaces/Authorizations.js +1 -1
- package/api/entities/common/namespaces/Authorizations.js.map +1 -1
- package/api/procedures/addAssetRequirement.d.ts.map +1 -1
- package/api/procedures/addAssetRequirement.js +1 -1
- package/api/procedures/addAssetRequirement.js.map +1 -1
- package/api/procedures/addInstruction.d.ts.map +1 -1
- package/api/procedures/addInstruction.js +9 -10
- package/api/procedures/addInstruction.js.map +1 -1
- package/api/procedures/addInvestorUniquenessClaim.js +1 -1
- package/api/procedures/addInvestorUniquenessClaim.js.map +1 -1
- package/api/procedures/addTransferRestriction.d.ts +13 -3
- package/api/procedures/addTransferRestriction.d.ts.map +1 -1
- package/api/procedures/addTransferRestriction.js +98 -30
- package/api/procedures/addTransferRestriction.js.map +1 -1
- package/api/procedures/claimClassicTicker.js +1 -1
- package/api/procedures/claimClassicTicker.js.map +1 -1
- package/api/procedures/configureDividendDistribution.js +1 -1
- package/api/procedures/configureDividendDistribution.js.map +1 -1
- package/api/procedures/createAsset.d.ts +3 -8
- package/api/procedures/createAsset.d.ts.map +1 -1
- package/api/procedures/createAsset.js +114 -54
- package/api/procedures/createAsset.js.map +1 -1
- package/api/procedures/createGroup.d.ts +1 -6
- package/api/procedures/createGroup.d.ts.map +1 -1
- package/api/procedures/createGroup.js +4 -28
- package/api/procedures/createGroup.js.map +1 -1
- package/api/procedures/createPortfolio.js +1 -1
- package/api/procedures/createPortfolio.js.map +1 -1
- package/api/procedures/createVenue.js +1 -1
- package/api/procedures/createVenue.js.map +1 -1
- package/api/procedures/initiateCorporateAction.d.ts +5 -5
- package/api/procedures/initiateCorporateAction.d.ts.map +1 -1
- package/api/procedures/initiateCorporateAction.js +1 -1
- package/api/procedures/initiateCorporateAction.js.map +1 -1
- package/api/procedures/inviteExternalAgent.d.ts +4 -1
- package/api/procedures/inviteExternalAgent.d.ts.map +1 -1
- package/api/procedures/inviteExternalAgent.js +33 -13
- package/api/procedures/inviteExternalAgent.js.map +1 -1
- package/api/procedures/launchOffering.js +1 -1
- package/api/procedures/launchOffering.js.map +1 -1
- package/api/procedures/leaveIdentity.d.ts.map +1 -1
- package/api/procedures/leaveIdentity.js +3 -4
- package/api/procedures/leaveIdentity.js.map +1 -1
- package/api/procedures/linkCaDocs.d.ts.map +1 -1
- package/api/procedures/linkCaDocs.js.map +1 -1
- package/api/procedures/modifyAsset.d.ts.map +1 -1
- package/api/procedures/modifyAsset.js +4 -2
- package/api/procedures/modifyAsset.js.map +1 -1
- package/api/procedures/modifyAssetTrustedClaimIssuers.d.ts.map +1 -1
- package/api/procedures/modifyAssetTrustedClaimIssuers.js.map +1 -1
- package/api/procedures/modifyCaDefaultConfig.d.ts.map +1 -1
- package/api/procedures/modifyCaDefaultConfig.js +8 -7
- package/api/procedures/modifyCaDefaultConfig.js.map +1 -1
- package/api/procedures/modifyClaims.d.ts.map +1 -1
- package/api/procedures/modifyClaims.js.map +1 -1
- package/api/procedures/modifyInstructionAffirmation.d.ts.map +1 -1
- package/api/procedures/modifyInstructionAffirmation.js.map +1 -1
- package/api/procedures/modifyOfferingTimes.d.ts.map +1 -1
- package/api/procedures/modifyOfferingTimes.js.map +1 -1
- package/api/procedures/modifyVenue.js +1 -1
- package/api/procedures/modifyVenue.js.map +1 -1
- package/api/procedures/removeCorporateAction.d.ts.map +1 -1
- package/api/procedures/removeCorporateAction.js +1 -1
- package/api/procedures/removeCorporateAction.js.map +1 -1
- package/api/procedures/removeSecondaryAccounts.js +1 -1
- package/api/procedures/removeSecondaryAccounts.js.map +1 -1
- package/api/procedures/renamePortfolio.d.ts.map +1 -1
- package/api/procedures/renamePortfolio.js +1 -1
- package/api/procedures/renamePortfolio.js.map +1 -1
- package/api/procedures/setPermissionGroup.d.ts +8 -5
- package/api/procedures/setPermissionGroup.d.ts.map +1 -1
- package/api/procedures/setPermissionGroup.js +42 -23
- package/api/procedures/setPermissionGroup.js.map +1 -1
- package/api/procedures/setTransferRestrictions.d.ts +6 -7
- package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
- package/api/procedures/setTransferRestrictions.js +133 -122
- package/api/procedures/setTransferRestrictions.js.map +1 -1
- package/api/procedures/utils.d.ts +20 -2
- package/api/procedures/utils.d.ts.map +1 -1
- package/api/procedures/utils.js +59 -12
- package/api/procedures/utils.js.map +1 -1
- package/base/Context.d.ts +3 -8
- package/base/Context.d.ts.map +1 -1
- package/base/Context.js +40 -58
- package/base/Context.js.map +1 -1
- package/base/PolymeshTransactionBase.d.ts +4 -0
- package/base/PolymeshTransactionBase.d.ts.map +1 -1
- package/base/PolymeshTransactionBase.js +7 -0
- package/base/PolymeshTransactionBase.js.map +1 -1
- package/generated/types.d.ts +512 -0
- package/generated/types.d.ts.map +1 -1
- package/generated/types.js +557 -1
- package/generated/types.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/internal.d.ts +1 -1
- package/internal.d.ts.map +1 -1
- package/internal.js.map +1 -1
- package/middleware/types.d.ts +1 -0
- package/middleware/types.d.ts.map +1 -1
- package/middleware/types.js +1 -0
- package/middleware/types.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-15.0.0-alpha.11.tgz +0 -0
- package/package.json +71 -13
- package/polkadot/asset/definitions.js +12 -12
- package/polkadot/asset/definitions.js.map +1 -1
- package/polkadot/augment-api-consts.d.ts +127 -43
- package/polkadot/augment-api-consts.d.ts.map +1 -1
- package/polkadot/augment-api-errors.d.ts +286 -16
- package/polkadot/augment-api-errors.d.ts.map +1 -1
- package/polkadot/augment-api-events.d.ts +1102 -465
- package/polkadot/augment-api-events.d.ts.map +1 -1
- package/polkadot/augment-api-query.d.ts +746 -545
- package/polkadot/augment-api-query.d.ts.map +1 -1
- package/polkadot/augment-api-rpc.d.ts +50 -17
- package/polkadot/augment-api-rpc.d.ts.map +1 -1
- package/polkadot/augment-api-tx.d.ts +1445 -1003
- package/polkadot/augment-api-tx.d.ts.map +1 -1
- package/polkadot/augment-api.d.ts +0 -1
- package/polkadot/augment-api.d.ts.map +1 -1
- package/polkadot/augment-api.js +0 -1
- package/polkadot/augment-api.js.map +1 -1
- package/polkadot/augment-types.d.ts +213 -2220
- package/polkadot/augment-types.d.ts.map +1 -1
- package/polkadot/compliance/definitions.js +2 -2
- package/polkadot/compliance/definitions.js.map +1 -1
- package/polkadot/identity/definitions.js +4 -4
- package/polkadot/identity/definitions.js.map +1 -1
- package/polkadot/lookup.d.ts +4439 -0
- package/polkadot/lookup.d.ts.map +1 -0
- package/polkadot/lookup.js +5125 -0
- package/polkadot/lookup.js.map +1 -0
- package/polkadot/polymesh/definitions.d.ts +106 -36
- package/polkadot/polymesh/definitions.d.ts.map +1 -1
- package/polkadot/polymesh/definitions.js +111 -41
- package/polkadot/polymesh/definitions.js.map +1 -1
- package/polkadot/polymesh/types.d.ts +216 -61
- package/polkadot/polymesh/types.d.ts.map +1 -1
- package/polkadot/registry.d.ts +385 -0
- package/polkadot/registry.d.ts.map +1 -0
- package/polkadot/registry.js +5 -0
- package/polkadot/registry.js.map +1 -0
- package/polkadot/schema.d.ts +106 -36
- package/polkadot/schema.d.ts.map +1 -1
- package/polkadot/schema.js +129 -59
- package/polkadot/schema.js.map +1 -1
- package/polkadot/types-lookup.d.ts +5578 -0
- package/polkadot/types-lookup.d.ts.map +1 -0
- package/polkadot/types-lookup.js +4 -0
- package/polkadot/types-lookup.js.map +1 -0
- package/polkadot/types.d.ts +0 -464
- package/polkadot/types.d.ts.map +1 -1
- package/polkadot/types.js +0 -505
- package/polkadot/types.js.map +1 -1
- package/types/index.d.ts +14 -5
- package/types/index.d.ts.map +1 -1
- package/types/index.js +3 -1
- package/types/index.js.map +1 -1
- package/types/internal.d.ts +10 -2
- package/types/internal.d.ts.map +1 -1
- package/types/internal.js +6 -1
- package/types/internal.js.map +1 -1
- package/types/utils/index.d.ts +11 -0
- package/types/utils/index.d.ts.map +1 -1
- package/types/utils/index.js +2 -0
- package/types/utils/index.js.map +1 -1
- package/utils/constants.d.ts +13 -2
- package/utils/constants.d.ts.map +1 -1
- package/utils/constants.js +14 -3
- package/utils/constants.js.map +1 -1
- package/utils/conversion.d.ts +96 -78
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +521 -464
- package/utils/conversion.js.map +1 -1
- package/utils/index.d.ts +1 -1
- package/utils/index.d.ts.map +1 -1
- package/utils/index.js +2 -1
- package/utils/index.js.map +1 -1
- package/utils/internal.d.ts +4 -4
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +90 -15
- package/utils/internal.js.map +1 -1
- package/utils/typeguards.d.ts.map +1 -1
- package/utils/typeguards.js +1 -0
- package/utils/typeguards.js.map +1 -1
- package/AccountManagement.d.ts.map +0 -1
- package/AccountManagement.js.map +0 -1
- package/Assets.d.ts.map +0 -1
- package/Assets.js.map +0 -1
- package/Claims.d.ts.map +0 -1
- package/Claims.js.map +0 -1
- package/Identities.d.ts.map +0 -1
- package/Identities.js.map +0 -1
- package/Network.d.ts.map +0 -1
- package/Network.js.map +0 -1
- package/Polymesh.d.ts.map +0 -1
- package/Polymesh.js.map +0 -1
- package/Settlements.d.ts.map +0 -1
- package/Settlements.js.map +0 -1
- package/npm-package/polymeshassociation-polymesh-sdk-14.0.0-beta.11.tgz +0 -0
|
@@ -12,40 +12,51 @@ 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.addTransferRestriction = exports.getAuthorization = exports.prepareAddTransferRestriction = void 0;
|
|
15
|
+
exports.addTransferRestriction = exports.prepareStorage = exports.getAuthorization = exports.prepareAddTransferRestriction = void 0;
|
|
16
16
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
17
|
const internal_1 = require("../../internal");
|
|
18
18
|
const types_1 = require("../../types");
|
|
19
|
+
const internal_2 = require("../../types/internal");
|
|
19
20
|
const conversion_1 = require("../../utils/conversion");
|
|
20
|
-
const
|
|
21
|
+
const internal_3 = require("../../utils/internal");
|
|
21
22
|
/**
|
|
22
23
|
* @hidden
|
|
23
24
|
*/
|
|
24
25
|
function prepareAddTransferRestriction(args) {
|
|
25
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
const { context: { polymeshApi: { tx: { statistics }, query, consts, }, }, context, } = this;
|
|
27
|
+
const { context: { polymeshApi: { tx: { statistics }, query, consts, }, }, storage: { needStat, currentStats, currentRestrictions }, context, } = this;
|
|
27
28
|
const { ticker, exemptedIdentities = [], type } = args;
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
if (restrictionAmount.gte(maxTransferManagers)) {
|
|
29
|
+
const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
|
|
30
|
+
const maxConditions = (0, conversion_1.u32ToBigNumber)(consts.statistics.maxTransferConditionsPerAsset);
|
|
31
|
+
const restrictionAmount = new bignumber_js_1.default(currentRestrictions.length);
|
|
32
|
+
if (restrictionAmount.gte(maxConditions)) {
|
|
33
33
|
throw new internal_1.PolymeshError({
|
|
34
34
|
code: types_1.ErrorCode.LimitExceeded,
|
|
35
35
|
message: 'Transfer Restriction limit reached',
|
|
36
|
-
data: { limit:
|
|
36
|
+
data: { limit: maxConditions },
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
let value;
|
|
40
|
+
let chainType;
|
|
40
41
|
if (type === types_1.TransferRestrictionType.Count) {
|
|
41
42
|
value = args.count;
|
|
43
|
+
chainType = types_1.TransferRestrictionType.Count;
|
|
42
44
|
}
|
|
43
45
|
else {
|
|
44
46
|
value = args.percentage;
|
|
47
|
+
chainType = types_1.TransferRestrictionType.Percentage;
|
|
45
48
|
}
|
|
46
|
-
const exists = !!
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
const exists = !!currentRestrictions.find(transferRestriction => {
|
|
50
|
+
if (transferRestriction.isMaxInvestorCount && type === types_1.TransferRestrictionType.Count) {
|
|
51
|
+
const currentCount = (0, conversion_1.u64ToBigNumber)(transferRestriction.asMaxInvestorCount);
|
|
52
|
+
return currentCount.eq(value);
|
|
53
|
+
}
|
|
54
|
+
else if (transferRestriction.isMaxInvestorOwnership &&
|
|
55
|
+
type === types_1.TransferRestrictionType.Percentage) {
|
|
56
|
+
const currentOwnership = (0, conversion_1.permillToBigNumber)(transferRestriction.asMaxInvestorOwnership);
|
|
57
|
+
return currentOwnership.eq(value);
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
49
60
|
});
|
|
50
61
|
if (exists) {
|
|
51
62
|
throw new internal_1.PolymeshError({
|
|
@@ -53,25 +64,51 @@ function prepareAddTransferRestriction(args) {
|
|
|
53
64
|
message: 'Cannot add the same restriction more than once',
|
|
54
65
|
});
|
|
55
66
|
}
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
67
|
+
const rawTransferCondition = (0, conversion_1.transferRestrictionToPolymeshTransferCondition)({ type: chainType, value }, context);
|
|
68
|
+
// The chain requires BTreeSets to be sorted or else it will reject the transaction
|
|
69
|
+
const conditions = [...currentRestrictions, rawTransferCondition].sort();
|
|
70
|
+
const transactions = [];
|
|
71
|
+
const op = type === types_1.TransferRestrictionType.Count
|
|
72
|
+
? (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Count, context)
|
|
73
|
+
: (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Balance, context);
|
|
74
|
+
if (needStat) {
|
|
75
|
+
const newStat = (0, conversion_1.statisticsOpTypeToStatType)(op, context);
|
|
76
|
+
currentStats.push(newStat);
|
|
77
|
+
currentStats.sort().reverse(); // sort needed as it is a BTreeSet
|
|
78
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
79
|
+
transaction: statistics.setActiveAssetStats,
|
|
80
|
+
args: [tickerKey, currentStats],
|
|
81
|
+
}));
|
|
82
|
+
// If the stat restriction is a Count the actual value needs to be set. This is due to the potentially slow operation of counting all holders for the chain
|
|
83
|
+
if (type === types_1.TransferRestrictionType.Count) {
|
|
84
|
+
const holders = yield query.asset.balanceOf.entries(tickerKey.Ticker);
|
|
85
|
+
const holderCount = new bignumber_js_1.default(holders.length);
|
|
86
|
+
// if an asset has many investors this could be slow and instead should be fetched from SubQuery
|
|
87
|
+
// These should happen near the assets inception, so for now query the chain directly
|
|
88
|
+
const secondKey = (0, conversion_1.createStat2ndKey)(context);
|
|
89
|
+
const stat = (0, conversion_1.statUpdate)(secondKey, (0, conversion_1.bigNumberToU128)(holderCount, context), context);
|
|
90
|
+
const statValue = (0, conversion_1.statUpdatesToBtreeStatUpdate)([stat], context);
|
|
91
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
92
|
+
transaction: statistics.batchUpdateAssetStats,
|
|
93
|
+
args: [tickerKey, newStat, statValue],
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
63
97
|
if (exemptedIdentities.length) {
|
|
64
|
-
const exemptedIds = yield (0,
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
const exemptedIds = yield (0, internal_3.getExemptedIds)(exemptedIdentities, context, ticker);
|
|
99
|
+
const exemptedScopeIds = exemptedIds.map(entityId => (0, conversion_1.stringToIdentityId)(entityId, context));
|
|
100
|
+
const btreeIds = (0, conversion_1.scopeIdsToBtreeSetIdentityId)(exemptedScopeIds, context);
|
|
101
|
+
const exemptKey = (0, conversion_1.toExemptKey)(tickerKey, op);
|
|
102
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
103
|
+
transaction: statistics.setEntitiesExempt,
|
|
67
104
|
feeMultiplier: new bignumber_js_1.default(exemptedIds.length),
|
|
68
|
-
args: [
|
|
69
|
-
rawTicker,
|
|
70
|
-
rawTransferManager,
|
|
71
|
-
exemptedIds.map(entityId => (0, conversion_1.stringToScopeId)(entityId, context)),
|
|
72
|
-
],
|
|
105
|
+
args: [true, exemptKey, btreeIds],
|
|
73
106
|
}));
|
|
74
107
|
}
|
|
108
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
109
|
+
transaction: statistics.setAssetTransferCompliance,
|
|
110
|
+
args: [tickerKey, conditions],
|
|
111
|
+
}));
|
|
75
112
|
this.addBatchTransaction({ transactions });
|
|
76
113
|
return restrictionAmount.plus(1);
|
|
77
114
|
});
|
|
@@ -81,9 +118,13 @@ exports.prepareAddTransferRestriction = prepareAddTransferRestriction;
|
|
|
81
118
|
* @hidden
|
|
82
119
|
*/
|
|
83
120
|
function getAuthorization({ ticker, exemptedIdentities = [] }) {
|
|
84
|
-
const
|
|
121
|
+
const { storage: { needStat }, } = this;
|
|
122
|
+
const transactions = [types_1.TxTags.statistics.SetAssetTransferCompliance];
|
|
85
123
|
if (exemptedIdentities.length) {
|
|
86
|
-
transactions.push(types_1.TxTags.statistics.
|
|
124
|
+
transactions.push(types_1.TxTags.statistics.SetEntitiesExempt);
|
|
125
|
+
}
|
|
126
|
+
if (needStat) {
|
|
127
|
+
transactions.push(types_1.TxTags.statistics.SetActiveAssetStats);
|
|
87
128
|
}
|
|
88
129
|
return {
|
|
89
130
|
permissions: {
|
|
@@ -97,6 +138,33 @@ exports.getAuthorization = getAuthorization;
|
|
|
97
138
|
/**
|
|
98
139
|
* @hidden
|
|
99
140
|
*/
|
|
100
|
-
|
|
141
|
+
function prepareStorage(args) {
|
|
142
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
const { context, context: { polymeshApi: { query: { statistics }, }, }, } = this;
|
|
144
|
+
const { ticker, type } = args;
|
|
145
|
+
const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
|
|
146
|
+
const [{ requirements: currentRestrictions }, currentStats] = yield Promise.all([
|
|
147
|
+
statistics.assetTransferCompliances(tickerKey),
|
|
148
|
+
statistics.activeAssetStats(tickerKey),
|
|
149
|
+
]);
|
|
150
|
+
const needStat = !currentStats.find(s => {
|
|
151
|
+
const stat = (0, conversion_1.meshStatToStatisticsOpType)(s);
|
|
152
|
+
const cmpStat = stat === internal_2.StatisticsOpType.Balance
|
|
153
|
+
? types_1.TransferRestrictionType.Percentage
|
|
154
|
+
: types_1.TransferRestrictionType.Count;
|
|
155
|
+
return cmpStat === type;
|
|
156
|
+
});
|
|
157
|
+
return {
|
|
158
|
+
currentRestrictions,
|
|
159
|
+
needStat,
|
|
160
|
+
currentStats,
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
exports.prepareStorage = prepareStorage;
|
|
165
|
+
/**
|
|
166
|
+
* @hidden
|
|
167
|
+
*/
|
|
168
|
+
const addTransferRestriction = () => new internal_1.Procedure(prepareAddTransferRestriction, getAuthorization, prepareStorage);
|
|
101
169
|
exports.addTransferRestriction = addTransferRestriction;
|
|
102
170
|
//# sourceMappingURL=addTransferRestriction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addTransferRestriction.js","sourceRoot":"","sources":["../../../src/api/procedures/addTransferRestriction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"addTransferRestriction.js","sourceRoot":"","sources":["../../../src/api/procedures/addTransferRestriction.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ function prepareClaimClassicTicker(args) {
|
|
|
64
64
|
},
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
-
const {
|
|
67
|
+
const { ethOwner } = classicReservation.unwrap();
|
|
68
68
|
let signerAddress;
|
|
69
69
|
try {
|
|
70
70
|
signerAddress = (0, eth_sig_util_1.recoverPersonalSignature)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimClassicTicker.js","sourceRoot":"","sources":["../../../src/api/procedures/claimClassicTicker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA0D;AAC1D,+CAAwD;AAExD,6CAAyE;AACzE,uCAA4C;AAC5C,qDAA6F;AAC7F,uDAK4B;AAe5B;;;;;;;GAOG;AACH,SAAS,8BAA8B,CAAC,GAAW;IACjD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE1C,OAAO,IAAA,kBAAW,EAAC,GAAG,0CAA8B,GAAG,WAAW,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAsB,yBAAyB,CAE7C,IAA8B;;QAE9B,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EACX,EAAE,EACF,KAAK,EAAE,EAAE,KAAK,EAAE,GACjB,GACF,EACD,OAAO,GACR,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAA,2BAAc,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAElD,MAAM,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3F,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACxB,OAAO,CAAC,kBAAkB,EAAE;SAC7B,CAAC,CAAC;QAEH,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,iBAAiB;gBACjC,OAAO,EAAE,gEAAgE;aAC1E,CAAC,CAAC;SACJ;QAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,IAAA,yBAAY,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvF,IAAI,kBAAkB,EAAE;YACtB,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,iBAAiB;gBACjC,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAC;SACJ;QAED,MAAM,QAAQ,GAAG,IAAA,+BAAkB,EAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,QAAQ,KAAK,oCAAwB,EAAE;YACzC,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,iBAAiB;gBACjC,OAAO,EAAE,wBAAwB;gBACjC,IAAI,EAAE;oBACJ,QAAQ;iBACT;aACF,CAAC,CAAC;SACJ;QAED,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"claimClassicTicker.js","sourceRoot":"","sources":["../../../src/api/procedures/claimClassicTicker.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ const internal_2 = require("../../utils/internal");
|
|
|
36
36
|
const createDividendDistributionResolver = (context) => (receipt) => __awaiter(void 0, void 0, void 0, function* () {
|
|
37
37
|
const [{ data }] = (0, internal_2.filterEventRecords)(receipt, 'capitalDistribution', 'Created');
|
|
38
38
|
const [, caId, distribution] = data;
|
|
39
|
-
const { ticker,
|
|
39
|
+
const { ticker, localId } = caId;
|
|
40
40
|
const { corporateAction } = context.polymeshApi.query;
|
|
41
41
|
const [corpAction, details] = yield Promise.all([
|
|
42
42
|
corporateAction.corporateActions(ticker, localId),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureDividendDistribution.js","sourceRoot":"","sources":["../../../src/api/procedures/configureDividendDistribution.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gEAAqC;AAErC,mCAAsE;AACtE,6CAYoB;AACpB,uCAA8F;AAE9F,uDAU4B;AAC5B,mDAAqF;AAErF;;GAEG;AACI,MAAM,kCAAkC,GAC7C,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAO,OAA2B,EAAiC,EAAE;IACnE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAA,6BAAkB,EAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"configureDividendDistribution.js","sourceRoot":"","sources":["../../../src/api/procedures/configureDividendDistribution.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gEAAqC;AAErC,mCAAsE;AACtE,6CAYoB;AACpB,uCAA8F;AAE9F,uDAU4B;AAC5B,mDAAqF;AAErF;;GAEG;AACI,MAAM,kCAAkC,GAC7C,CAAC,OAAgB,EAAE,EAAE,CACrB,CAAO,OAA2B,EAAiC,EAAE;IACnE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAA,6BAAkB,EAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEjC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;IAEtD,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,eAAe,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;QACjD,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;KAC9B,CAAC,CAAC;IAEH,OAAO,IAAI,+BAAoB,+BAE3B,MAAM,EAAE,IAAA,2BAAc,EAAC,MAAM,CAAC,EAC9B,EAAE,EAAE,IAAA,2BAAc,EAAC,OAAO,CAAC,IACxB,IAAA,uDAA0C,EAAC,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GACjF,IAAA,qDAAwC,EAAC,YAAY,EAAE,OAAO,CAAC,GAEpE,OAAO,CACR,CAAC;AACJ,CAAC,CAAA,CAAC;AAvBS,QAAA,kCAAkC,sCAuB3C;AAmDJ;;GAEG;AACH,SAAsB,oCAAoC,CAExD,IAAY;;QAEZ,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,EAAE,EAAE,GACpB,EACD,OAAO,EACP,OAAO,EAAE,EAAE,SAAS,EAAE,GACvB,GAAG,IAAI,CAAC;QACT,MAAM,EACJ,MAAM,EACN,eAAe,GAAG,IAAI,EACtB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,GAAG,IAAI,EACjB,UAAU,KAER,IAAI,EADH,mBAAmB,UACpB,IAAI,EAVF,6GAUL,CAAO,CAAC;QAET,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvB,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,yDAAyD;aACnE,CAAC,CAAC;SACJ;QAED,IAAI,WAAW,IAAI,IAAI,IAAI,EAAE,EAAE;YAC7B,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,oCAAoC;aAC9C,CAAC,CAAC;SACJ;QAED,IAAI,UAAU,IAAI,UAAU,GAAG,WAAW,EAAE;YAC1C,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,wCAAwC;aAClD,CAAC,CAAC;SACJ;QAED,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAkB,EAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9E,IAAI,CAAC,CAAC,eAAe,YAAY,qBAAU,CAAC,EAAE;YAC5C,MAAM,IAAA,oCAA4B,EAAC,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;SAC9E;QAED,IAAI,SAAS,YAAY,4BAAiB,EAAE;YAC1C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;YAExC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,wBAAa,CAAC;oBACtB,IAAI,EAAE,iBAAS,CAAC,eAAe;oBAC/B,OAAO,EAAE,oCAAoC;iBAC9C,CAAC,CAAC;aACJ;SACF;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;YACtB,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,mBAAmB;gBACnC,OAAO,EAAE,oFAAoF;gBAC7F,IAAI,EAAE;oBACJ,IAAI;iBACL;aACF,CAAC,CAAC;SACJ;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAA,kCAAuB,GAAE,kBAC5D,MAAM,EACN,IAAI,EAAE,2BAAmB,CAAC,oBAAoB,EAC9C,UAAU,EAAE,eAAe,IACxB,mBAAmB,EACtB,CAAC;QAEH,MAAM,kBAAkB,GACtB,eAAe;YACf,IAAA,oBAAS,EAAC,2BAAc,CAAC,CACvB,eAAe,YAAY,sBAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,EAC3E,OAAO,CACR,CAAC;QACJ,MAAM,WAAW,GAAG,IAAA,2BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,IAAA,+BAAkB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAA,+BAAkB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,IAAA,yBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAA,oBAAS,EAAC,yBAAY,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YACjD,WAAW,EAAE,EAAE,CAAC,mBAAmB,CAAC,UAAU;YAC9C,SAAS,EAAE,CAAC,IAAA,0CAAkC,EAAC,OAAO,CAAC,CAAC;YACxD,IAAI,EAAE;gBACJ,IAAI;gBACJ,kBAAkB;gBAClB,WAAW;gBACX,WAAW;gBACX,SAAS;gBACT,YAAY;gBACZ,YAAY;aACb;SACF,CAAC,CAAC;QAEH,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CAAA;AA3GD,oFA2GC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAE9B,EAAE,MAAM,EAAU;IAElB,MAAM,EACJ,OAAO,EAAE,EAAE,SAAS,EAAE,EACtB,OAAO,GACR,GAAG,IAAI,CAAC;IAET,OAAO;QACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAQ,CAAC,kBAAkB,EAAE,WAAW,EAAE,IAAA,mCAAsB,EAAC,SAAS,CAAC,EAAE,CAAC;QAC9F,WAAW,EAAE;YACX,YAAY,EAAE,CAAC,cAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC;YACrD,MAAM,EAAE,CAAC,IAAI,gBAAK,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;YACxC,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB;KACF,CAAC;AACJ,CAAC;AAjBD,4CAiBC;AAED;;GAEG;AACH,SAAsB,cAAc,CAElC,EAAE,eAAe,EAAU;;QAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEzB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAEnD,IAAI,SAAS,GAAG,eAAe,IAAI,IAAI,2BAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAE1E,IAAI,SAAS,YAAY,sBAAS,EAAE;YAClC,SAAS,GAAG,IAAI,4BAAiB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;SACpE;QAED,OAAO;YACL,SAAS;SACV,CAAC;IACJ,CAAC;CAAA;AAjBD,wCAiBC;AAED;;GAEG;AACI,MAAM,6BAA6B,GAAG,GAAqD,EAAE,CAClG,IAAI,oBAAS,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAD3E,QAAA,6BAA6B,iCAC8C"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { Bytes } from '@polkadot/types';
|
|
2
|
-
import { ISubmittableResult } from '@polkadot/types/types';
|
|
3
2
|
import BigNumber from 'bignumber.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { Asset, Procedure } from "../../internal";
|
|
4
|
+
import { CustomAssetTypeId } from "../../polkadot/polymesh";
|
|
6
5
|
import { AssetDocument, SecurityIdentifier, TickerReservationStatus } from "../../types";
|
|
7
6
|
import { ProcedureAuthorization } from "../../types/internal";
|
|
8
|
-
/**
|
|
9
|
-
* @hidden
|
|
10
|
-
*/
|
|
11
|
-
export declare const createRegisterCustomAssetTypeResolver: (context: Context) => (receipt: ISubmittableResult) => AssetType;
|
|
12
7
|
export interface CreateAssetParams {
|
|
13
8
|
name: string;
|
|
14
9
|
/**
|
|
@@ -26,7 +21,7 @@ export interface CreateAssetParams {
|
|
|
26
21
|
*/
|
|
27
22
|
assetType: string;
|
|
28
23
|
/**
|
|
29
|
-
* array of domestic or international alphanumeric security identifiers for the Asset (ISIN, CUSIP, etc)
|
|
24
|
+
* array of domestic or international alphanumeric security identifiers for the Asset (ISIN, CUSIP, FIGI, etc)
|
|
30
25
|
*/
|
|
31
26
|
securityIdentifiers?: SecurityIdentifier[];
|
|
32
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAsset.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"createAsset.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,KAAK,EAA0B,SAAS,EAAqB,uBAAmB;AACzF,OAAO,EAAE,iBAAiB,EAAE,gCAA4B;AACxD,OAAO,EACL,aAAa,EAIb,kBAAkB,EAClB,uBAAuB,EAGxB,oBAAgB;AACjB,OAAO,EAAE,sBAAsB,EAAE,6BAAyB;AAa1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B;;;OAGG;IACH,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,MAAM,GAAG,2BAA2B,GAAG;IACjD,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,cAAc,EAAE;QACd,EAAE,EAAE,iBAAiB,CAAC;QACtB,QAAQ,EAAE,KAAK,CAAC;KACjB,GAAG,IAAI,CAAC;IAET,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAgCD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC,CAuLhB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CA8BjC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,GAC5B,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,QAAO,UAAU,MAAM,EAAE,KAAK,EAAE,OAAO,CACM,CAAC"}
|
|
@@ -12,7 +12,7 @@ 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.createAsset = exports.prepareStorage = exports.getAuthorization = exports.prepareCreateAsset =
|
|
15
|
+
exports.createAsset = exports.prepareStorage = exports.getAuthorization = exports.prepareCreateAsset = void 0;
|
|
16
16
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
17
17
|
const lodash_1 = require("lodash");
|
|
18
18
|
const internal_1 = require("../../internal");
|
|
@@ -20,13 +20,28 @@ const types_1 = require("../../types");
|
|
|
20
20
|
const conversion_1 = require("../../utils/conversion");
|
|
21
21
|
const internal_2 = require("../../utils/internal");
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Add protocol fees for specific tags to the current accumulated total
|
|
24
|
+
*
|
|
25
|
+
* @returns undefined if fees aren't being calculated manually
|
|
24
26
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
function addManualFees(currentFee, tags, context) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
if (!currentFee) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const fees = yield context.getProtocolFees({
|
|
33
|
+
tags: tags.map(tagData => (typeof tagData !== 'string' ? tagData.tag : tagData)),
|
|
34
|
+
});
|
|
35
|
+
return fees.reduce((prev, { fees: nextFees }, index) => {
|
|
36
|
+
const tagData = tags[index];
|
|
37
|
+
let feeMultiplier = new bignumber_js_1.default(1);
|
|
38
|
+
if (typeof tagData !== 'string') {
|
|
39
|
+
({ feeMultiplier } = tagData);
|
|
40
|
+
}
|
|
41
|
+
return prev.plus(nextFees.times(feeMultiplier));
|
|
42
|
+
}, currentFee);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
30
45
|
/**
|
|
31
46
|
* @hidden
|
|
32
47
|
*/
|
|
@@ -46,73 +61,118 @@ function prepareCreateAsset(args) {
|
|
|
46
61
|
message: `You must first reserve ticker "${ticker}" in order to create an Asset with it`,
|
|
47
62
|
});
|
|
48
63
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const { rawValue, id } = customTypeData;
|
|
52
|
-
if (id.isEmpty) {
|
|
53
|
-
// if the custom asset type doesn't exist, we create it
|
|
54
|
-
[rawType] = this.addTransaction({
|
|
55
|
-
transaction: tx.asset.registerCustomAssetType,
|
|
56
|
-
resolvers: [(0, exports.createRegisterCustomAssetTypeResolver)(context)],
|
|
57
|
-
args: [rawValue],
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
rawType = (0, conversion_1.internalAssetTypeToAssetType)({ Custom: id }, context);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
rawType = (0, conversion_1.internalAssetTypeToAssetType)(assetType, context);
|
|
66
|
-
}
|
|
67
|
-
const rawName = (0, conversion_1.stringToAssetName)(name, context);
|
|
64
|
+
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
65
|
+
const rawName = (0, conversion_1.stringToBytes)(name, context);
|
|
68
66
|
const rawIsDivisible = (0, conversion_1.booleanToBool)(isDivisible, context);
|
|
69
67
|
const rawIdentifiers = securityIdentifiers.map(identifier => (0, conversion_1.securityIdentifierToAssetIdentifier)(identifier, context));
|
|
70
|
-
const rawFundingRound =
|
|
68
|
+
const rawFundingRound = (0, internal_2.optionize)(conversion_1.stringToBytes)(fundingRound, context);
|
|
71
69
|
const rawDisableIu = (0, conversion_1.booleanToBool)(!requireInvestorUniqueness, context);
|
|
70
|
+
const newAsset = new internal_1.Asset({ ticker }, context);
|
|
72
71
|
let fee;
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
/*
|
|
73
|
+
* we waive any protocol fees if the Asset is created in Ethereum. If not created and ticker is not yet reserved,
|
|
74
|
+
* we set the fee to the sum of protocol fees for ticker registration and Asset creation.
|
|
75
|
+
*/
|
|
75
76
|
const classicTicker = yield asset.classicTickers(rawTicker);
|
|
76
|
-
const assetCreatedInEthereum = classicTicker.isSome && (0, conversion_1.boolToBoolean)(classicTicker.unwrap().
|
|
77
|
+
const assetCreatedInEthereum = classicTicker.isSome && (0, conversion_1.boolToBoolean)(classicTicker.unwrap().isCreated);
|
|
77
78
|
if (assetCreatedInEthereum) {
|
|
78
79
|
fee = new bignumber_js_1.default(0);
|
|
79
80
|
}
|
|
80
81
|
else if (status === types_1.TickerReservationStatus.Free) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
fee = yield addManualFees(new bignumber_js_1.default(0), [types_1.TxTags.asset.RegisterTicker, types_1.TxTags.asset.CreateAsset], context);
|
|
83
|
+
}
|
|
84
|
+
const transactions = [];
|
|
85
|
+
/*
|
|
86
|
+
* - if the passed Asset type isn't one of the fixed ones (custom), we check if there is already
|
|
87
|
+
* an on-chain custom Asset type with that name:
|
|
88
|
+
* - if not, we create it together with the Asset
|
|
89
|
+
* - otherwise, we create the asset with the id of the existing custom asset type
|
|
90
|
+
* - if the passed Asset type is a fixed one, we create the asset using that Asset type
|
|
91
|
+
*/
|
|
92
|
+
if (customTypeData) {
|
|
93
|
+
const { rawValue, id } = customTypeData;
|
|
94
|
+
if (id.isEmpty) {
|
|
95
|
+
/*
|
|
96
|
+
* if we're using custom fees because we're creating the Asset without registering first, we have to manually add
|
|
97
|
+
* the fees for registering a custom Asset type
|
|
98
|
+
*/
|
|
99
|
+
fee = yield addManualFees(fee, [types_1.TxTags.asset.RegisterCustomAssetType], context);
|
|
100
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
101
|
+
transaction: tx.asset.createAssetWithCustomType,
|
|
102
|
+
args: [
|
|
103
|
+
rawName,
|
|
104
|
+
rawTicker,
|
|
105
|
+
rawIsDivisible,
|
|
106
|
+
rawValue,
|
|
107
|
+
rawIdentifiers,
|
|
108
|
+
rawFundingRound,
|
|
109
|
+
rawDisableIu,
|
|
110
|
+
],
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
const rawType = (0, conversion_1.internalAssetTypeToAssetType)({ Custom: id }, context);
|
|
115
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
116
|
+
transaction: tx.asset.createAsset,
|
|
117
|
+
args: [
|
|
118
|
+
rawName,
|
|
119
|
+
rawTicker,
|
|
120
|
+
rawIsDivisible,
|
|
121
|
+
rawType,
|
|
122
|
+
rawIdentifiers,
|
|
123
|
+
rawFundingRound,
|
|
124
|
+
rawDisableIu,
|
|
125
|
+
],
|
|
126
|
+
}));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const rawType = (0, conversion_1.internalAssetTypeToAssetType)(assetType, context);
|
|
131
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
132
|
+
transaction: tx.asset.createAsset,
|
|
133
|
+
args: [
|
|
134
|
+
rawName,
|
|
135
|
+
rawTicker,
|
|
136
|
+
rawIsDivisible,
|
|
137
|
+
rawType,
|
|
138
|
+
rawIdentifiers,
|
|
139
|
+
rawFundingRound,
|
|
140
|
+
rawDisableIu,
|
|
141
|
+
],
|
|
142
|
+
}));
|
|
85
143
|
}
|
|
86
|
-
this.addTransaction({
|
|
87
|
-
transaction: tx.asset.createAsset,
|
|
88
|
-
fee,
|
|
89
|
-
args: [
|
|
90
|
-
rawName,
|
|
91
|
-
rawTicker,
|
|
92
|
-
rawIsDivisible,
|
|
93
|
-
rawType,
|
|
94
|
-
rawIdentifiers,
|
|
95
|
-
rawFundingRound,
|
|
96
|
-
rawDisableIu,
|
|
97
|
-
],
|
|
98
|
-
});
|
|
99
144
|
if (initialSupply && initialSupply.gt(0)) {
|
|
100
145
|
const rawInitialSupply = (0, conversion_1.bigNumberToBalance)(initialSupply, context, isDivisible);
|
|
101
|
-
|
|
146
|
+
/*
|
|
147
|
+
* if we're using custom fees because we're creating the Asset without registering first, we have to manually add
|
|
148
|
+
* the fees for issuing
|
|
149
|
+
*/
|
|
150
|
+
fee = yield addManualFees(fee, [types_1.TxTags.asset.Issue], context);
|
|
151
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
102
152
|
transaction: tx.asset.issue,
|
|
103
153
|
args: [rawTicker, rawInitialSupply],
|
|
104
|
-
});
|
|
154
|
+
}));
|
|
105
155
|
}
|
|
106
156
|
if (documents === null || documents === void 0 ? void 0 : documents.length) {
|
|
107
157
|
const rawDocuments = documents.map(doc => (0, conversion_1.assetDocumentToDocument)(doc, context));
|
|
108
|
-
|
|
158
|
+
const feeMultiplier = new bignumber_js_1.default(rawDocuments.length);
|
|
159
|
+
/*
|
|
160
|
+
* if we're using custom fees because we're creating the Asset without registering first, we have to manually add
|
|
161
|
+
* the fees for adding documents
|
|
162
|
+
*/
|
|
163
|
+
fee = yield addManualFees(fee, [{ tag: types_1.TxTags.asset.AddDocuments, feeMultiplier }], context);
|
|
164
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
109
165
|
transaction: tx.asset.addDocuments,
|
|
110
|
-
|
|
111
|
-
feeMultiplier
|
|
166
|
+
// this will be ignored if manual fees are passed
|
|
167
|
+
feeMultiplier,
|
|
112
168
|
args: [rawDocuments, rawTicker],
|
|
113
|
-
});
|
|
169
|
+
}));
|
|
114
170
|
}
|
|
115
|
-
|
|
171
|
+
this.addBatchTransaction({
|
|
172
|
+
transactions,
|
|
173
|
+
fee,
|
|
174
|
+
});
|
|
175
|
+
return newAsset;
|
|
116
176
|
});
|
|
117
177
|
}
|
|
118
178
|
exports.prepareCreateAsset = prepareCreateAsset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Asset, Context, CustomPermissionGroup, PostTransactionValue, Procedure } from "../../internal";
|
|
1
|
+
import { Asset, CustomPermissionGroup, PostTransactionValue, Procedure } from "../../internal";
|
|
3
2
|
import { TransactionPermissions, TxGroup } from "../../types";
|
|
4
3
|
import { ProcedureAuthorization } from "../../types/internal";
|
|
5
4
|
export interface CreateGroupParams {
|
|
@@ -21,10 +20,6 @@ export declare type Params = CreateGroupParams & {
|
|
|
21
20
|
export interface Storage {
|
|
22
21
|
asset: Asset;
|
|
23
22
|
}
|
|
24
|
-
/**
|
|
25
|
-
* @hidden
|
|
26
|
-
*/
|
|
27
|
-
export declare const createCreateGroupResolver: (context: Context) => (receipt: ISubmittableResult) => CustomPermissionGroup;
|
|
28
23
|
/**
|
|
29
24
|
* @hidden
|
|
30
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGroup.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createGroup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createGroup.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/createGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,SAAS,EAAE,uBAAmB;AAC3F,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAU,oBAAgB;AAClE,OAAO,EAAE,sBAAsB,EAAE,6BAAyB;AAO1D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EACP;QACE,YAAY,EAAE,sBAAsB,CAAC;KACtC,GACD;QACE,iBAAiB,EAAE,OAAO,EAAE,CAAC;KAC9B,CAAC;CACP;AAED;;GAEG;AACH,oBAAY,MAAM,GAAG,iBAAiB,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EACvD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CA6BtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,GACtD,sBAAsB,CAWxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EACvD,EAAE,MAAM,EAAE,EAAE,MAAM,GACjB,OAAO,CAMT;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,QAAO,UAAU,MAAM,EAAE,qBAAqB,EAAE,OAAO,CACV,CAAC"}
|