@polymeshassociation/polymesh-sdk 15.0.0-beta.4 → 15.0.0-beta.5
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 +2 -9
- package/api/entities/Asset/TransferRestrictions/ClaimCount.d.ts +61 -0
- package/api/entities/Asset/TransferRestrictions/ClaimCount.d.ts.map +1 -0
- package/api/entities/Asset/TransferRestrictions/ClaimCount.js +16 -0
- package/api/entities/Asset/TransferRestrictions/ClaimCount.js.map +1 -0
- package/api/entities/Asset/TransferRestrictions/ClaimPercentage.d.ts +52 -0
- package/api/entities/Asset/TransferRestrictions/ClaimPercentage.d.ts.map +1 -0
- package/api/entities/Asset/TransferRestrictions/ClaimPercentage.js +16 -0
- package/api/entities/Asset/TransferRestrictions/ClaimPercentage.js.map +1 -0
- package/api/entities/Asset/TransferRestrictions/Count.d.ts +41 -4
- package/api/entities/Asset/TransferRestrictions/Count.d.ts.map +1 -1
- package/api/entities/Asset/TransferRestrictions/Count.js +6 -2
- package/api/entities/Asset/TransferRestrictions/Count.js.map +1 -1
- package/api/entities/Asset/TransferRestrictions/Percentage.d.ts +17 -2
- package/api/entities/Asset/TransferRestrictions/Percentage.d.ts.map +1 -1
- package/api/entities/Asset/TransferRestrictions/Percentage.js.map +1 -1
- package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.d.ts +15 -1
- package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.d.ts.map +1 -1
- package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.js +39 -4
- package/api/entities/Asset/TransferRestrictions/TransferRestrictionBase.js.map +1 -1
- package/api/entities/Asset/TransferRestrictions/index.d.ts +4 -0
- package/api/entities/Asset/TransferRestrictions/index.d.ts.map +1 -1
- package/api/entities/Asset/TransferRestrictions/index.js +4 -0
- package/api/entities/Asset/TransferRestrictions/index.js.map +1 -1
- package/api/procedures/addAssetStat.d.ts +16 -0
- package/api/procedures/addAssetStat.d.ts.map +1 -0
- package/api/procedures/addAssetStat.js +91 -0
- package/api/procedures/addAssetStat.js.map +1 -0
- package/api/procedures/addTransferRestriction.d.ts +5 -16
- package/api/procedures/addTransferRestriction.d.ts.map +1 -1
- package/api/procedures/addTransferRestriction.js +42 -69
- package/api/procedures/addTransferRestriction.js.map +1 -1
- package/api/procedures/createAsset.d.ts +1 -1
- package/api/procedures/createAsset.d.ts.map +1 -1
- package/api/procedures/createAsset.js +56 -31
- package/api/procedures/createAsset.js.map +1 -1
- package/api/procedures/removeAssetStat.d.ts +16 -0
- package/api/procedures/removeAssetStat.d.ts.map +1 -0
- package/api/procedures/removeAssetStat.js +88 -0
- package/api/procedures/removeAssetStat.js.map +1 -0
- package/api/procedures/setTransferRestrictions.d.ts +1 -8
- package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
- package/api/procedures/setTransferRestrictions.js +52 -62
- package/api/procedures/setTransferRestrictions.js.map +1 -1
- package/api/procedures/types.d.ts +98 -5
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js +25 -1
- package/api/procedures/types.js.map +1 -1
- package/base/Context.js +1 -1
- package/base/Procedure.js +1 -1
- package/generated/utils.js +1 -1
- package/generated/utils.js.map +1 -1
- package/internal.d.ts +5 -2
- package/internal.d.ts.map +1 -1
- package/internal.js +5 -1
- package/internal.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-15.0.0-beta.5.tgz +0 -0
- package/package.json +1 -1
- package/types/index.d.ts +114 -3
- package/types/index.d.ts.map +1 -1
- package/types/index.js +10 -3
- package/types/index.js.map +1 -1
- package/types/internal.d.ts +9 -2
- package/types/internal.d.ts.map +1 -1
- package/types/internal.js +2 -0
- package/types/internal.js.map +1 -1
- package/utils/conversion.d.ts +66 -10
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +323 -19
- package/utils/conversion.js.map +1 -1
- package/utils/internal.d.ts +35 -5
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +189 -6
- package/utils/internal.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-15.0.0-beta.4.tgz +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
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.addAssetStat = exports.getAuthorization = exports.prepareAddAssetStat = void 0;
|
|
13
|
+
const internal_1 = require("../../internal");
|
|
14
|
+
const types_1 = require("../../types");
|
|
15
|
+
const internal_2 = require("../../types/internal");
|
|
16
|
+
const conversion_1 = require("../../utils/conversion");
|
|
17
|
+
const internal_3 = require("../../utils/internal");
|
|
18
|
+
/**
|
|
19
|
+
* @hidden
|
|
20
|
+
*/
|
|
21
|
+
function prepareAddAssetStat(args) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const { context: { polymeshApi: { query: { statistics: statisticsQuery }, tx: { statistics }, }, }, context, } = this;
|
|
24
|
+
const { ticker, type } = args;
|
|
25
|
+
const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
|
|
26
|
+
const currentStats = yield statisticsQuery.activeAssetStats(tickerKey);
|
|
27
|
+
const needStat = ![...currentStats].find(s => (0, internal_3.compareStatsToInput)(s, args));
|
|
28
|
+
if (!needStat) {
|
|
29
|
+
throw new internal_1.PolymeshError({
|
|
30
|
+
code: types_1.ErrorCode.NoDataChange,
|
|
31
|
+
message: 'Stat is already enabled',
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const op = type === types_1.StatType.Count || type === types_1.StatType.ScopedCount
|
|
35
|
+
? (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Count, context)
|
|
36
|
+
: (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Balance, context);
|
|
37
|
+
const transactions = [];
|
|
38
|
+
let rawClaimIssuer;
|
|
39
|
+
if (type === types_1.StatType.ScopedCount || type === types_1.StatType.ScopedPercentage) {
|
|
40
|
+
rawClaimIssuer = (0, conversion_1.claimIssuerToMeshClaimIssuer)(args, context);
|
|
41
|
+
}
|
|
42
|
+
const newStat = (0, conversion_1.statisticsOpTypeToStatType)({ op, claimIssuer: rawClaimIssuer }, context);
|
|
43
|
+
const newStats = (0, conversion_1.statisticStatTypesToBtreeStatType)([...currentStats, newStat], context);
|
|
44
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
45
|
+
transaction: statistics.setActiveAssetStats,
|
|
46
|
+
args: [tickerKey, newStats],
|
|
47
|
+
}));
|
|
48
|
+
// Count stats need the user to provide the initial value for the counter as computing may cause prohibitive gas charges on the chain
|
|
49
|
+
// We require users to provide initial stats in this method so they won't miss setting initial values. It could be its own step
|
|
50
|
+
if (args.type === types_1.StatType.Count) {
|
|
51
|
+
const statValue = (0, conversion_1.countStatInputToStatUpdates)(args, context);
|
|
52
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
53
|
+
transaction: statistics.batchUpdateAssetStats,
|
|
54
|
+
args: [tickerKey, newStat, statValue],
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
else if (args.type === types_1.StatType.ScopedCount) {
|
|
58
|
+
const statValue = (0, conversion_1.claimCountStatInputToStatUpdates)(args, context);
|
|
59
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
60
|
+
transaction: statistics.batchUpdateAssetStats,
|
|
61
|
+
args: [tickerKey, newStat, statValue],
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
this.addBatchTransaction({ transactions });
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
exports.prepareAddAssetStat = prepareAddAssetStat;
|
|
68
|
+
/**
|
|
69
|
+
* @hidden
|
|
70
|
+
*/
|
|
71
|
+
function getAuthorization({ type, ticker }) {
|
|
72
|
+
const transactions = [types_1.TxTags.statistics.SetActiveAssetStats];
|
|
73
|
+
if (type === types_1.StatType.Count || type === types_1.StatType.ScopedCount) {
|
|
74
|
+
transactions.push(types_1.TxTags.statistics.BatchUpdateAssetStats);
|
|
75
|
+
}
|
|
76
|
+
const asset = new internal_1.Asset({ ticker }, this.context);
|
|
77
|
+
return {
|
|
78
|
+
permissions: {
|
|
79
|
+
transactions,
|
|
80
|
+
assets: [asset],
|
|
81
|
+
portfolios: [],
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
exports.getAuthorization = getAuthorization;
|
|
86
|
+
/**
|
|
87
|
+
* @hidden
|
|
88
|
+
*/
|
|
89
|
+
const addAssetStat = () => new internal_1.Procedure(prepareAddAssetStat, getAuthorization);
|
|
90
|
+
exports.addAssetStat = addAssetStat;
|
|
91
|
+
//# sourceMappingURL=addAssetStat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addAssetStat.js","sourceRoot":"","sources":["../../../src/api/procedures/addAssetStat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,23 @@
|
|
|
1
|
-
import { PolymeshPrimitivesStatisticsStatType, PolymeshPrimitivesTransferComplianceTransferCondition } from "../../polkadot/types-lookup.ts";
|
|
2
|
-
import { BTreeSet } from '@polkadot/types-codec';
|
|
3
1
|
import BigNumber from 'bignumber.js';
|
|
4
2
|
import { Procedure } from "../../internal";
|
|
5
|
-
import { AddCountTransferRestrictionParams, AddPercentageTransferRestrictionParams } from "../../types";
|
|
3
|
+
import { AddClaimCountTransferRestrictionParams, AddClaimPercentageTransferRestrictionParams, AddCountTransferRestrictionParams, AddPercentageTransferRestrictionParams } from "../../types";
|
|
6
4
|
import { ProcedureAuthorization } from "../../types/internal";
|
|
7
5
|
/**
|
|
8
6
|
* @hidden
|
|
9
7
|
*/
|
|
10
8
|
export declare type AddTransferRestrictionParams = {
|
|
11
9
|
ticker: string;
|
|
12
|
-
} & (AddCountTransferRestrictionParams | AddPercentageTransferRestrictionParams);
|
|
13
|
-
export interface Storage {
|
|
14
|
-
currentRestrictions: BTreeSet<PolymeshPrimitivesTransferComplianceTransferCondition>;
|
|
15
|
-
currentStats: BTreeSet<PolymeshPrimitivesStatisticsStatType>;
|
|
16
|
-
needStat: boolean;
|
|
17
|
-
}
|
|
10
|
+
} & (AddCountTransferRestrictionParams | AddPercentageTransferRestrictionParams | AddClaimCountTransferRestrictionParams | AddClaimPercentageTransferRestrictionParams);
|
|
18
11
|
/**
|
|
19
12
|
* @hidden
|
|
20
13
|
*/
|
|
21
|
-
export declare function prepareAddTransferRestriction(this: Procedure<AddTransferRestrictionParams, BigNumber
|
|
14
|
+
export declare function prepareAddTransferRestriction(this: Procedure<AddTransferRestrictionParams, BigNumber>, args: AddTransferRestrictionParams): Promise<BigNumber>;
|
|
22
15
|
/**
|
|
23
16
|
* @hidden
|
|
24
17
|
*/
|
|
25
|
-
export declare function getAuthorization(this: Procedure<AddTransferRestrictionParams, BigNumber
|
|
18
|
+
export declare function getAuthorization(this: Procedure<AddTransferRestrictionParams, BigNumber>, { ticker, exemptedIdentities }: AddTransferRestrictionParams): ProcedureAuthorization;
|
|
26
19
|
/**
|
|
27
20
|
* @hidden
|
|
28
21
|
*/
|
|
29
|
-
export declare
|
|
30
|
-
/**
|
|
31
|
-
* @hidden
|
|
32
|
-
*/
|
|
33
|
-
export declare const addTransferRestriction: () => Procedure<AddTransferRestrictionParams, BigNumber, Storage>;
|
|
22
|
+
export declare const addTransferRestriction: () => Procedure<AddTransferRestrictionParams, BigNumber>;
|
|
34
23
|
//# sourceMappingURL=addTransferRestriction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addTransferRestriction.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/addTransferRestriction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addTransferRestriction.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/addTransferRestriction.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAwB,SAAS,EAAE,uBAAmB;AAC7D,OAAO,EACL,sCAAsC,EACtC,2CAA2C,EAC3C,iCAAiC,EACjC,sCAAsC,EAKvC,oBAAgB;AACjB,OAAO,EAAE,sBAAsB,EAAoB,6BAAyB;AAmB5E;;GAEG;AACH,oBAAY,4BAA4B,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,CAC5D,iCAAiC,GACjC,sCAAsC,GACtC,sCAAsC,GACtC,2CAA2C,CAC9C,CAAC;AAEF;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,SAAS,CAAC,4BAA4B,EAAE,SAAS,CAAC,EACxD,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,SAAS,CAAC,CA6GpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,4BAA4B,EAAE,SAAS,CAAC,EACxD,EAAE,MAAM,EAAE,kBAAuB,EAAE,EAAE,4BAA4B,GAChE,sBAAsB,CAcxB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,QAAO,UAAU,4BAA4B,EAAE,SAAS,CAC3B,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.addTransferRestriction = exports.
|
|
15
|
+
exports.addTransferRestriction = 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");
|
|
@@ -24,9 +24,24 @@ const internal_3 = require("../../utils/internal");
|
|
|
24
24
|
*/
|
|
25
25
|
function prepareAddTransferRestriction(args) {
|
|
26
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
const { context: { polymeshApi: { tx: { statistics }, query
|
|
27
|
+
const { context: { polymeshApi: { tx: { statistics }, query: { statistics: statisticsQuery }, queryMulti, consts, }, }, context, } = this;
|
|
28
28
|
const { ticker, exemptedIdentities = [], type } = args;
|
|
29
29
|
const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
|
|
30
|
+
let claimIssuer;
|
|
31
|
+
if (type === types_1.TransferRestrictionType.ClaimCount ||
|
|
32
|
+
type === types_1.TransferRestrictionType.ClaimPercentage) {
|
|
33
|
+
const { claim: { type: claimType }, issuer, } = args;
|
|
34
|
+
claimIssuer = { claimType, issuer };
|
|
35
|
+
}
|
|
36
|
+
const [currentStats, { requirements: currentRestrictions }] = yield queryMulti([
|
|
37
|
+
[statisticsQuery.activeAssetStats, tickerKey],
|
|
38
|
+
[
|
|
39
|
+
statisticsQuery.assetTransferCompliances,
|
|
40
|
+
tickerKey,
|
|
41
|
+
],
|
|
42
|
+
]);
|
|
43
|
+
const neededStat = (0, internal_3.neededStatTypeForRestrictionInput)({ type, claimIssuer }, context);
|
|
44
|
+
(0, internal_3.assertStatIsSet)(currentStats, neededStat);
|
|
30
45
|
const maxConditions = (0, conversion_1.u32ToBigNumber)(consts.statistics.maxTransferConditionsPerAsset);
|
|
31
46
|
const restrictionAmount = new bignumber_js_1.default(currentRestrictions.size);
|
|
32
47
|
if (restrictionAmount.gte(maxConditions)) {
|
|
@@ -36,51 +51,41 @@ function prepareAddTransferRestriction(args) {
|
|
|
36
51
|
data: { limit: maxConditions },
|
|
37
52
|
});
|
|
38
53
|
}
|
|
39
|
-
let
|
|
40
|
-
let chainType;
|
|
54
|
+
let restriction;
|
|
41
55
|
if (type === types_1.TransferRestrictionType.Count) {
|
|
42
|
-
value = args.count;
|
|
43
|
-
|
|
56
|
+
const value = args.count;
|
|
57
|
+
restriction = { type, value };
|
|
58
|
+
}
|
|
59
|
+
else if (type === types_1.TransferRestrictionType.Percentage) {
|
|
60
|
+
const value = args.percentage;
|
|
61
|
+
restriction = { type, value };
|
|
62
|
+
}
|
|
63
|
+
else if (type === types_1.TransferRestrictionType.ClaimCount) {
|
|
64
|
+
const { min, max: maybeMax, issuer, claim } = args;
|
|
65
|
+
restriction = { type, value: { min, max: maybeMax, issuer, claim } };
|
|
44
66
|
}
|
|
45
67
|
else {
|
|
46
|
-
|
|
47
|
-
|
|
68
|
+
const { min, max, issuer, claim } = args;
|
|
69
|
+
restriction = { type, value: { min, max, issuer, claim } };
|
|
48
70
|
}
|
|
49
|
-
const rawTransferCondition = (0, conversion_1.transferRestrictionToPolymeshTransferCondition)(
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
71
|
+
const rawTransferCondition = (0, conversion_1.transferRestrictionToPolymeshTransferCondition)(restriction, context);
|
|
72
|
+
const hasRestriction = !![...currentRestrictions].find(r => r.eq(rawTransferCondition));
|
|
73
|
+
if (hasRestriction) {
|
|
52
74
|
throw new internal_1.PolymeshError({
|
|
53
75
|
code: types_1.ErrorCode.NoDataChange,
|
|
54
76
|
message: 'Cannot add the same restriction more than once',
|
|
55
77
|
});
|
|
56
78
|
}
|
|
57
|
-
const
|
|
58
|
-
? (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Count, context)
|
|
59
|
-
: (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Balance, context);
|
|
79
|
+
const conditions = (0, conversion_1.complianceConditionsToBtreeSet)([...currentRestrictions, rawTransferCondition], context);
|
|
60
80
|
const transactions = [];
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
transaction: statistics.setActiveAssetStats,
|
|
66
|
-
args: [tickerKey, rawNewStats],
|
|
67
|
-
}));
|
|
68
|
-
// 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
|
|
69
|
-
if (type === types_1.TransferRestrictionType.Count) {
|
|
70
|
-
const holders = yield query.asset.balanceOf.entries(tickerKey.Ticker);
|
|
71
|
-
const holderCount = new bignumber_js_1.default(holders.length);
|
|
72
|
-
// if an asset has many investors this could be slow and instead should be fetched from SubQuery
|
|
73
|
-
// These should happen near the assets inception, so for now query the chain directly
|
|
74
|
-
const secondKey = (0, conversion_1.createStat2ndKey)(context);
|
|
75
|
-
const stat = (0, conversion_1.statUpdate)(secondKey, (0, conversion_1.bigNumberToU128)(holderCount, context), context);
|
|
76
|
-
const statValue = (0, conversion_1.statUpdatesToBtreeStatUpdate)([stat], context);
|
|
77
|
-
transactions.push((0, internal_3.checkTxType)({
|
|
78
|
-
transaction: statistics.batchUpdateAssetStats,
|
|
79
|
-
args: [tickerKey, newStat, statValue],
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
81
|
+
transactions.push((0, internal_3.checkTxType)({
|
|
82
|
+
transaction: statistics.setAssetTransferCompliance,
|
|
83
|
+
args: [tickerKey, conditions],
|
|
84
|
+
}));
|
|
83
85
|
if (exemptedIdentities.length) {
|
|
86
|
+
const op = type === types_1.TransferRestrictionType.Count
|
|
87
|
+
? (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Count, context)
|
|
88
|
+
: (0, conversion_1.statisticsOpTypeToStatOpType)(internal_2.StatisticsOpType.Balance, context);
|
|
84
89
|
const exemptedIds = yield (0, internal_3.getExemptedIds)(exemptedIdentities, context, ticker);
|
|
85
90
|
const exemptedScopeIds = exemptedIds.map(entityId => (0, conversion_1.stringToIdentityId)(entityId, context));
|
|
86
91
|
const btreeIds = (0, conversion_1.scopeIdsToBtreeSetIdentityId)(exemptedScopeIds, context);
|
|
@@ -91,12 +96,6 @@ function prepareAddTransferRestriction(args) {
|
|
|
91
96
|
args: [true, exemptKey, btreeIds],
|
|
92
97
|
}));
|
|
93
98
|
}
|
|
94
|
-
const newConditions = [...currentRestrictions, rawTransferCondition];
|
|
95
|
-
const rawNewConditions = (0, conversion_1.transferConditionsToBtreeTransferConditions)(newConditions, context);
|
|
96
|
-
transactions.push((0, internal_3.checkTxType)({
|
|
97
|
-
transaction: statistics.setAssetTransferCompliance,
|
|
98
|
-
args: [tickerKey, rawNewConditions],
|
|
99
|
-
}));
|
|
100
99
|
this.addBatchTransaction({ transactions });
|
|
101
100
|
return restrictionAmount.plus(1);
|
|
102
101
|
});
|
|
@@ -106,14 +105,10 @@ exports.prepareAddTransferRestriction = prepareAddTransferRestriction;
|
|
|
106
105
|
* @hidden
|
|
107
106
|
*/
|
|
108
107
|
function getAuthorization({ ticker, exemptedIdentities = [] }) {
|
|
109
|
-
const { storage: { needStat }, } = this;
|
|
110
108
|
const transactions = [types_1.TxTags.statistics.SetAssetTransferCompliance];
|
|
111
109
|
if (exemptedIdentities.length) {
|
|
112
110
|
transactions.push(types_1.TxTags.statistics.SetEntitiesExempt);
|
|
113
111
|
}
|
|
114
|
-
if (needStat) {
|
|
115
|
-
transactions.push(types_1.TxTags.statistics.SetActiveAssetStats);
|
|
116
|
-
}
|
|
117
112
|
return {
|
|
118
113
|
permissions: {
|
|
119
114
|
assets: [new internal_1.Asset({ ticker }, this.context)],
|
|
@@ -126,28 +121,6 @@ exports.getAuthorization = getAuthorization;
|
|
|
126
121
|
/**
|
|
127
122
|
* @hidden
|
|
128
123
|
*/
|
|
129
|
-
|
|
130
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
-
const { context, context: { polymeshApi: { query: { statistics }, }, }, } = this;
|
|
132
|
-
const { ticker, type } = args;
|
|
133
|
-
const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
|
|
134
|
-
const [{ requirements: currentRestrictions }, currentStats] = yield Promise.all([
|
|
135
|
-
statistics.assetTransferCompliances(tickerKey),
|
|
136
|
-
statistics.activeAssetStats(tickerKey),
|
|
137
|
-
]);
|
|
138
|
-
const neededStat = (0, internal_3.neededStatTypeForRestrictionInput)(type, context);
|
|
139
|
-
const needStat = !currentStats.has(neededStat);
|
|
140
|
-
return {
|
|
141
|
-
currentRestrictions,
|
|
142
|
-
needStat,
|
|
143
|
-
currentStats,
|
|
144
|
-
};
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
exports.prepareStorage = prepareStorage;
|
|
148
|
-
/**
|
|
149
|
-
* @hidden
|
|
150
|
-
*/
|
|
151
|
-
const addTransferRestriction = () => new internal_1.Procedure(prepareAddTransferRestriction, getAuthorization, prepareStorage);
|
|
124
|
+
const addTransferRestriction = () => new internal_1.Procedure(prepareAddTransferRestriction, getAuthorization);
|
|
152
125
|
exports.addTransferRestriction = addTransferRestriction;
|
|
153
126
|
//# 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":";;;;;;;;;;;;;;;AACA,gEAAqC;AAErC,6CAA6D;AAC7D,uCASiB;AACjB,mDAA4E;AAE5E,uDAS4B;AAC5B,mDAK0B;AAY1B;;GAEG;AACH,SAAsB,6BAA6B,CAEjD,IAAkC;;QAElC,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EACX,EAAE,EAAE,EAAE,UAAU,EAAE,EAClB,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,EACtC,UAAU,EACV,MAAM,GACP,GACF,EACD,OAAO,GACR,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACvD,MAAM,SAAS,GAAG,IAAA,8BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,WAAW,CAAC;QAChB,IACE,IAAI,KAAK,+BAAuB,CAAC,UAAU;YAC3C,IAAI,KAAK,+BAAuB,CAAC,eAAe,EAChD;YACA,MAAM,EACJ,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC1B,MAAM,GACP,GAAG,IAAI,CAAC;YACT,WAAW,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SACrC;QAED,MAAM,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,GAAG,MAAM,UAAU,CAK5E;YACA,CAAC,eAAe,CAAC,gBAA+D,EAAE,SAAS,CAAC;YAC5F;gBACE,eAAe,CAAC,wBAAuE;gBACvF,SAAS;aACV;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,4CAAiC,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;QACrF,IAAA,0BAAe,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;QAEtF,MAAM,iBAAiB,GAAG,IAAI,sBAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YACxC,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,aAAa;gBAC7B,OAAO,EAAE,oCAAoC;gBAC7C,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/B,CAAC,CAAC;SACJ;QAED,IAAI,WAAgC,CAAC;QACrC,IAAI,IAAI,KAAK,+BAAuB,CAAC,KAAK,EAAE;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,WAAW,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAC/B;aAAM,IAAI,IAAI,KAAK,+BAAuB,CAAC,UAAU,EAAE;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,WAAW,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAC/B;aAAM,IAAI,IAAI,KAAK,+BAAuB,CAAC,UAAU,EAAE;YACtD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACnD,WAAW,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;SACtE;aAAM;YACL,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YACzC,WAAW,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;SAC5D;QAED,MAAM,oBAAoB,GAAG,IAAA,2DAA8C,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAExF,IAAI,cAAc,EAAE;YAClB,MAAM,IAAI,wBAAa,CAAC;gBACtB,IAAI,EAAE,iBAAS,CAAC,YAAY;gBAC5B,OAAO,EAAE,gDAAgD;aAC1D,CAAC,CAAC;SACJ;QACD,MAAM,UAAU,GAAG,IAAA,2CAA8B,EAC/C,CAAC,GAAG,mBAAmB,EAAE,oBAAoB,CAAC,EAC9C,OAAO,CACR,CAAC;QAEF,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,YAAY,CAAC,IAAI,CACf,IAAA,sBAAW,EAAC;YACV,WAAW,EAAE,UAAU,CAAC,0BAA0B;YAClD,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;SAC9B,CAAC,CACH,CAAC;QAEF,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,MAAM,EAAE,GACN,IAAI,KAAK,+BAAuB,CAAC,KAAK;gBACpC,CAAC,CAAC,IAAA,yCAA4B,EAAC,2BAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC/D,CAAC,CAAC,IAAA,yCAA4B,EAAC,2BAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAc,EAAC,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9E,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,+BAAkB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5F,MAAM,QAAQ,GAAG,IAAA,yCAA4B,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,IAAA,wBAAW,EAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC7C,YAAY,CAAC,IAAI,CACf,IAAA,sBAAW,EAAC;gBACV,WAAW,EAAE,UAAU,CAAC,iBAAiB;gBACzC,aAAa,EAAE,IAAI,sBAAS,CAAC,WAAW,CAAC,MAAM,CAAC;gBAChD,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;aAClC,CAAC,CACH,CAAC;SACH;QACD,IAAI,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;CAAA;AAhHD,sEAgHC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAE9B,EAAE,MAAM,EAAE,kBAAkB,GAAG,EAAE,EAAgC;IAEjE,MAAM,YAAY,GAAG,CAAC,cAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;IAEpE,IAAI,kBAAkB,CAAC,MAAM,EAAE;QAC7B,YAAY,CAAC,IAAI,CAAC,cAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;KACxD;IAED,OAAO;QACL,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,IAAI,gBAAK,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,YAAY;YACZ,UAAU,EAAE,EAAE;SACf;KACF,CAAC;AACJ,CAAC;AAjBD,4CAiBC;AAED;;GAEG;AACI,MAAM,sBAAsB,GAAG,GAAuD,EAAE,CAC7F,IAAI,oBAAS,CAAC,6BAA6B,EAAE,gBAAgB,CAAC,CAAC;AADpD,QAAA,sBAAsB,0BAC8B"}
|
|
@@ -30,7 +30,7 @@ export declare function prepareCreateAsset(this: Procedure<Params, Asset, Storag
|
|
|
30
30
|
/**
|
|
31
31
|
* @hidden
|
|
32
32
|
*/
|
|
33
|
-
export declare function getAuthorization(this: Procedure<Params, Asset, Storage>, { ticker, documents }: Params): Promise<ProcedureAuthorization>;
|
|
33
|
+
export declare function getAuthorization(this: Procedure<Params, Asset, Storage>, { ticker, documents, initialStatistics }: Params): Promise<ProcedureAuthorization>;
|
|
34
34
|
/**
|
|
35
35
|
* @hidden
|
|
36
36
|
*/
|
|
@@ -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;AAIxC,OAAO,EAAE,KAAK,EAA0B,SAAS,EAAqB,uBAAmB;AACzF,OAAO,EAAE,iBAAiB,EAAE,gCAA4B;AACxD,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;AAIxC,OAAO,EAAE,KAAK,EAA0B,SAAS,EAAqB,uBAAmB;AACzF,OAAO,EAAE,iBAAiB,EAAE,gCAA4B;AACxD,OAAO,EAEL,2BAA2B,EAK3B,uBAAuB,EAGxB,oBAAgB;AACjB,OAAO,EAAE,sBAAsB,EAAE,6BAAyB;AAgB1D;;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;AAqDD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC,CA2LhB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,MAAM,GAC/C,OAAO,CAAC,sBAAsB,CAAC,CAkCjC;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"}
|
|
@@ -24,10 +24,10 @@ const internal_2 = require("../../utils/internal");
|
|
|
24
24
|
*
|
|
25
25
|
* @returns undefined if fees aren't being calculated manually
|
|
26
26
|
*/
|
|
27
|
-
function
|
|
27
|
+
function calculateManualFees(tags, context) {
|
|
28
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
if (
|
|
30
|
-
return
|
|
29
|
+
if (tags.length === 0) {
|
|
30
|
+
return new bignumber_js_1.default(0);
|
|
31
31
|
}
|
|
32
32
|
const fees = yield context.getProtocolFees({
|
|
33
33
|
tags: tags.map(tagData => (typeof tagData !== 'string' ? tagData.tag : tagData)),
|
|
@@ -39,28 +39,34 @@ function addManualFees(currentFee, tags, context) {
|
|
|
39
39
|
({ feeMultiplier } = tagData);
|
|
40
40
|
}
|
|
41
41
|
return prev.plus(nextFees.times(feeMultiplier));
|
|
42
|
-
},
|
|
42
|
+
}, new bignumber_js_1.default(0));
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* @throws if the Ticker is not available
|
|
47
|
+
*/
|
|
48
|
+
function assertTickerAvailable(ticker, status, reservationRequired) {
|
|
49
|
+
if (status === types_1.TickerReservationStatus.AssetCreated) {
|
|
50
|
+
throw new internal_1.PolymeshError({
|
|
51
|
+
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
52
|
+
message: `An Asset with ticker "${ticker}" already exists`,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
if (status === types_1.TickerReservationStatus.Free && reservationRequired) {
|
|
56
|
+
throw new internal_1.PolymeshError({
|
|
57
|
+
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
58
|
+
message: `You must first reserve ticker "${ticker}" in order to create an Asset with it`,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
45
62
|
/**
|
|
46
63
|
* @hidden
|
|
47
64
|
*/
|
|
48
65
|
function prepareCreateAsset(args) {
|
|
49
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
67
|
const { context: { polymeshApi: { tx, query: { asset }, }, }, context, storage: { customTypeData, status }, } = this;
|
|
51
|
-
const { ticker, name, initialSupply, isDivisible, assetType, securityIdentifiers = [], fundingRound, documents, requireInvestorUniqueness, reservationRequired, } = args;
|
|
52
|
-
|
|
53
|
-
throw new internal_1.PolymeshError({
|
|
54
|
-
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
55
|
-
message: `An Asset with ticker "${ticker}" already exists`,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
if (status === types_1.TickerReservationStatus.Free && reservationRequired) {
|
|
59
|
-
throw new internal_1.PolymeshError({
|
|
60
|
-
code: types_1.ErrorCode.UnmetPrerequisite,
|
|
61
|
-
message: `You must first reserve ticker "${ticker}" in order to create an Asset with it`,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
68
|
+
const { ticker, name, initialSupply, isDivisible, assetType, securityIdentifiers = [], fundingRound, documents, requireInvestorUniqueness, reservationRequired, initialStatistics, } = args;
|
|
69
|
+
assertTickerAvailable(ticker, status, reservationRequired);
|
|
64
70
|
const rawTicker = (0, conversion_1.stringToTicker)(ticker, context);
|
|
65
71
|
const rawName = (0, conversion_1.stringToBytes)(name, context);
|
|
66
72
|
const rawIsDivisible = (0, conversion_1.booleanToBool)(isDivisible, context);
|
|
@@ -68,20 +74,25 @@ function prepareCreateAsset(args) {
|
|
|
68
74
|
const rawFundingRound = (0, internal_2.optionize)(conversion_1.stringToBytes)(fundingRound, context);
|
|
69
75
|
const rawDisableIu = (0, conversion_1.booleanToBool)(!requireInvestorUniqueness, context);
|
|
70
76
|
const newAsset = new internal_1.Asset({ ticker }, context);
|
|
71
|
-
|
|
77
|
+
const transactions = [];
|
|
78
|
+
const txTags = [];
|
|
72
79
|
/*
|
|
73
80
|
* we waive any protocol fees if the Asset is created in Ethereum. If not created and ticker is not yet reserved,
|
|
74
81
|
* we set the fee to the sum of protocol fees for ticker registration and Asset creation.
|
|
82
|
+
*
|
|
83
|
+
* To do this, we keep track of transaction tags, and if manual fee calculations are needed, perform the fee calculation
|
|
84
|
+
* before adding the batch transaction.
|
|
75
85
|
*/
|
|
76
86
|
const classicTicker = yield asset.classicTickers(rawTicker);
|
|
77
87
|
const assetCreatedInEthereum = classicTicker.isSome && (0, conversion_1.boolToBoolean)(classicTicker.unwrap().isCreated);
|
|
88
|
+
let manualFees = false;
|
|
78
89
|
if (assetCreatedInEthereum) {
|
|
79
|
-
|
|
90
|
+
manualFees = true;
|
|
80
91
|
}
|
|
81
92
|
else if (status === types_1.TickerReservationStatus.Free) {
|
|
82
|
-
|
|
93
|
+
manualFees = true;
|
|
94
|
+
txTags.push(types_1.TxTags.asset.RegisterTicker, types_1.TxTags.asset.CreateAsset);
|
|
83
95
|
}
|
|
84
|
-
const transactions = [];
|
|
85
96
|
/*
|
|
86
97
|
* - if the passed Asset type isn't one of the fixed ones (custom), we check if there is already
|
|
87
98
|
* an on-chain custom Asset type with that name:
|
|
@@ -93,10 +104,9 @@ function prepareCreateAsset(args) {
|
|
|
93
104
|
const { rawValue, id } = customTypeData;
|
|
94
105
|
if (id.isEmpty) {
|
|
95
106
|
/*
|
|
96
|
-
*
|
|
97
|
-
* the fees for registering a custom Asset type
|
|
107
|
+
* store RegisterCustomAssetType fees txTag in case manual fees are being used
|
|
98
108
|
*/
|
|
99
|
-
|
|
109
|
+
txTags.push(types_1.TxTags.asset.RegisterCustomAssetType);
|
|
100
110
|
transactions.push((0, internal_2.checkTxType)({
|
|
101
111
|
transaction: tx.asset.createAssetWithCustomType,
|
|
102
112
|
args: [
|
|
@@ -141,13 +151,25 @@ function prepareCreateAsset(args) {
|
|
|
141
151
|
],
|
|
142
152
|
}));
|
|
143
153
|
}
|
|
154
|
+
if (initialStatistics === null || initialStatistics === void 0 ? void 0 : initialStatistics.length) {
|
|
155
|
+
const tickerKey = (0, conversion_1.stringToTickerKey)(ticker, context);
|
|
156
|
+
const rawStats = initialStatistics.map(i => (0, conversion_1.inputStatTypeToMeshStatType)(i, context));
|
|
157
|
+
const bTreeStats = (0, conversion_1.statisticStatTypesToBtreeStatType)(rawStats, context);
|
|
158
|
+
/*
|
|
159
|
+
* store set asset stat fees in case manual fees are being used
|
|
160
|
+
*/
|
|
161
|
+
txTags.push(types_1.TxTags.statistics.SetActiveAssetStats);
|
|
162
|
+
transactions.push((0, internal_2.checkTxType)({
|
|
163
|
+
transaction: tx.statistics.setActiveAssetStats,
|
|
164
|
+
args: [tickerKey, bTreeStats],
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
144
167
|
if (initialSupply && initialSupply.gt(0)) {
|
|
145
168
|
const rawInitialSupply = (0, conversion_1.bigNumberToBalance)(initialSupply, context, isDivisible);
|
|
146
169
|
/*
|
|
147
|
-
*
|
|
148
|
-
* the fees for issuing
|
|
170
|
+
* store issuing fees txTags in case manual fees are being used
|
|
149
171
|
*/
|
|
150
|
-
|
|
172
|
+
txTags.push(types_1.TxTags.asset.Issue);
|
|
151
173
|
transactions.push((0, internal_2.checkTxType)({
|
|
152
174
|
transaction: tx.asset.issue,
|
|
153
175
|
args: [rawTicker, rawInitialSupply],
|
|
@@ -157,10 +179,9 @@ function prepareCreateAsset(args) {
|
|
|
157
179
|
const rawDocuments = documents.map(doc => (0, conversion_1.assetDocumentToDocument)(doc, context));
|
|
158
180
|
const feeMultiplier = new bignumber_js_1.default(rawDocuments.length);
|
|
159
181
|
/*
|
|
160
|
-
*
|
|
161
|
-
* the fees for adding documents
|
|
182
|
+
* store addDocuments txTag in case manual fees are being used
|
|
162
183
|
*/
|
|
163
|
-
|
|
184
|
+
txTags.push({ tag: types_1.TxTags.asset.AddDocuments, feeMultiplier });
|
|
164
185
|
transactions.push((0, internal_2.checkTxType)({
|
|
165
186
|
transaction: tx.asset.addDocuments,
|
|
166
187
|
// this will be ignored if manual fees are passed
|
|
@@ -168,6 +189,7 @@ function prepareCreateAsset(args) {
|
|
|
168
189
|
args: [rawDocuments, rawTicker],
|
|
169
190
|
}));
|
|
170
191
|
}
|
|
192
|
+
const fee = manualFees ? yield calculateManualFees(txTags, context) : undefined;
|
|
171
193
|
this.addBatchTransaction({
|
|
172
194
|
transactions,
|
|
173
195
|
fee,
|
|
@@ -179,7 +201,7 @@ exports.prepareCreateAsset = prepareCreateAsset;
|
|
|
179
201
|
/**
|
|
180
202
|
* @hidden
|
|
181
203
|
*/
|
|
182
|
-
function getAuthorization({ ticker, documents }) {
|
|
204
|
+
function getAuthorization({ ticker, documents, initialStatistics }) {
|
|
183
205
|
return __awaiter(this, void 0, void 0, function* () {
|
|
184
206
|
const { storage: { customTypeData, status }, } = this;
|
|
185
207
|
const transactions = [types_1.TxTags.asset.CreateAsset];
|
|
@@ -189,6 +211,9 @@ function getAuthorization({ ticker, documents }) {
|
|
|
189
211
|
if (customTypeData === null || customTypeData === void 0 ? void 0 : customTypeData.id.isEmpty) {
|
|
190
212
|
transactions.push(types_1.TxTags.asset.RegisterCustomAssetType);
|
|
191
213
|
}
|
|
214
|
+
if (initialStatistics === null || initialStatistics === void 0 ? void 0 : initialStatistics.length) {
|
|
215
|
+
transactions.push(types_1.TxTags.statistics.SetActiveAssetStats);
|
|
216
|
+
}
|
|
192
217
|
const auth = {
|
|
193
218
|
permissions: {
|
|
194
219
|
transactions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gEAAqC;AACrC,mCAAgC;AAEhC,6CAAyF;AAEzF,
|
|
1
|
+
{"version":3,"file":"createAsset.js","sourceRoot":"","sources":["../../../src/api/procedures/createAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Procedure } from "../../internal";
|
|
2
|
+
import { RemoveAssetStatParams } from "../../types";
|
|
3
|
+
import { ProcedureAuthorization } from "../../types/internal";
|
|
4
|
+
/**
|
|
5
|
+
* @hidden
|
|
6
|
+
*/
|
|
7
|
+
export declare function prepareRemoveAssetStat(this: Procedure<RemoveAssetStatParams, void>, args: RemoveAssetStatParams): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
export declare function getAuthorization(this: Procedure<RemoveAssetStatParams, void>, { ticker }: RemoveAssetStatParams): ProcedureAuthorization;
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
export declare const removeAssetStat: () => Procedure<RemoveAssetStatParams, void>;
|
|
16
|
+
//# sourceMappingURL=removeAssetStat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeAssetStat.d.ts","sourceRoot":"","sources":["../../../src/api/procedures/removeAssetStat.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwB,SAAS,EAAE,uBAAmB;AAC7D,OAAO,EAAa,qBAAqB,EAAqC,oBAAgB;AAC9F,OAAO,EAAE,sBAAsB,EAAE,6BAAyB;AAW1D;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAC5C,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAC5C,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAChC,sBAAsB,CAUxB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,UAAU,qBAAqB,EAAE,IAAI,CACf,CAAC"}
|