@bitgo-beta/sdk-coin-stx 1.4.3-alpha.41 → 1.4.3-alpha.410
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/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +24 -9
- package/dist/src/lib/abstractContractBuilder.js +2 -2
- package/dist/src/lib/constants.d.ts +2 -1
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +5 -3
- package/dist/src/lib/contractBuilder.js +10 -10
- package/dist/src/lib/fungibleTokenTransferBuilder.d.ts +62 -0
- package/dist/src/lib/fungibleTokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/fungibleTokenTransferBuilder.js +131 -0
- package/dist/src/lib/iface.d.ts +56 -0
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.js +23 -9
- package/dist/src/lib/keyPair.js +18 -19
- package/dist/src/lib/sendmanyBuilder.js +11 -11
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +31 -15
- package/dist/src/lib/transactionBuilder.js +12 -12
- package/dist/src/lib/transactionBuilderFactory.d.ts +2 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +9 -2
- package/dist/src/lib/transferBuilder.js +4 -4
- package/dist/src/lib/utils.d.ts +25 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +141 -62
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/src/sip10Token.d.ts +22 -0
- package/dist/src/sip10Token.d.ts.map +1 -0
- package/dist/src/sip10Token.js +128 -0
- package/dist/src/stx.d.ts +146 -2
- package/dist/src/stx.d.ts.map +1 -1
- package/dist/src/stx.js +420 -11
- package/dist/src/tstx.js +1 -1
- package/dist/test/fixtures.d.ts +119 -0
- package/dist/test/fixtures.d.ts.map +1 -0
- package/dist/test/fixtures.js +147 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +144 -0
- package/dist/test/unit/resources.d.ts +97 -0
- package/dist/test/unit/resources.d.ts.map +1 -0
- package/dist/test/unit/resources.js +144 -0
- package/dist/test/unit/sip10Token.d.ts +2 -0
- package/dist/test/unit/sip10Token.d.ts.map +1 -0
- package/dist/test/unit/sip10Token.js +374 -0
- package/dist/test/unit/stx.d.ts +2 -0
- package/dist/test/unit/stx.d.ts.map +1 -0
- package/dist/test/unit/stx.js +470 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +83 -0
- package/dist/test/unit/transactionBuilder/contractBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/contractBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/contractBuilder.js +421 -0
- package/dist/test/unit/transactionBuilder/fungibleTokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/fungibleTokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/fungibleTokenTransferBuilder.js +187 -0
- package/dist/test/unit/transactionBuilder/sendmanyBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/sendmanyBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/sendmanyBuilder.js +140 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +347 -0
- package/dist/test/unit/util.d.ts +2 -0
- package/dist/test/unit/util.d.ts.map +1 -0
- package/dist/test/unit/util.js +326 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +13 -11
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -107
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BitGoBase, CoinConstructor, NamedCoinConstructor, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as StaticsBaseCoin, Sip10TokenConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { Stx } from './stx';
|
|
4
|
+
import { TransactionBuilder } from './lib/transactionBuilder';
|
|
5
|
+
export declare class Sip10Token extends Stx {
|
|
6
|
+
readonly tokenConfig: Sip10TokenConfig;
|
|
7
|
+
constructor(bitgo: BitGoBase, tokenConfig: Sip10TokenConfig);
|
|
8
|
+
static createTokenConstructor(config: Sip10TokenConfig): CoinConstructor;
|
|
9
|
+
static createTokenConstructors(tokenConfigs?: Sip10TokenConfig[]): NamedCoinConstructor[];
|
|
10
|
+
get name(): string;
|
|
11
|
+
get coin(): string;
|
|
12
|
+
get network(): string;
|
|
13
|
+
get assetId(): string;
|
|
14
|
+
get decimalPlaces(): number;
|
|
15
|
+
getChain(): string;
|
|
16
|
+
getBaseChain(): string;
|
|
17
|
+
getFullName(): string;
|
|
18
|
+
getBaseFactor(): number;
|
|
19
|
+
getTransaction(coinConfig: Readonly<StaticsBaseCoin>): TransactionBuilder;
|
|
20
|
+
verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=sip10Token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sip10Token.d.ts","sourceRoot":"","sources":["../../src/sip10Token.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAsB,gBAAgB,EAAU,MAAM,qBAAqB,CAAC;AAEhH,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,qBAAa,UAAW,SAAQ,GAAG;IACjC,SAAgB,WAAW,EAAE,gBAAgB,CAAC;gBAElC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB;IAM3D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe;IAIxE,MAAM,CAAC,uBAAuB,CAC5B,YAAY,GAAE,gBAAgB,EAAiE,GAC9F,oBAAoB,EAAE;IASzB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAIrB,aAAa,IAAI,MAAM;IAIvB,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,kBAAkB;IAInE,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;CAmE5E"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Sip10Token = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
10
|
+
const stx_1 = require("./stx");
|
|
11
|
+
const lib_1 = require("./lib");
|
|
12
|
+
const utils_1 = require("./lib/utils");
|
|
13
|
+
class Sip10Token extends stx_1.Stx {
|
|
14
|
+
constructor(bitgo, tokenConfig) {
|
|
15
|
+
const staticsCoin = tokenConfig.network === statics_1.NetworkType.MAINNET ? statics_1.coins.get('stx') : statics_1.coins.get('tstx');
|
|
16
|
+
super(bitgo, staticsCoin);
|
|
17
|
+
this.tokenConfig = tokenConfig;
|
|
18
|
+
}
|
|
19
|
+
static createTokenConstructor(config) {
|
|
20
|
+
return (bitgo) => new Sip10Token(bitgo, config);
|
|
21
|
+
}
|
|
22
|
+
static createTokenConstructors(tokenConfigs = [...statics_1.tokens.bitcoin.stx.tokens, ...statics_1.tokens.testnet.stx.tokens]) {
|
|
23
|
+
const tokensCtors = [];
|
|
24
|
+
for (const token of tokenConfigs) {
|
|
25
|
+
const tokenConstructor = Sip10Token.createTokenConstructor(token);
|
|
26
|
+
tokensCtors.push({ name: token.type, coinConstructor: tokenConstructor });
|
|
27
|
+
}
|
|
28
|
+
return tokensCtors;
|
|
29
|
+
}
|
|
30
|
+
get name() {
|
|
31
|
+
return this.tokenConfig.name;
|
|
32
|
+
}
|
|
33
|
+
get coin() {
|
|
34
|
+
return this.tokenConfig.coin;
|
|
35
|
+
}
|
|
36
|
+
get network() {
|
|
37
|
+
return this.tokenConfig.network;
|
|
38
|
+
}
|
|
39
|
+
get assetId() {
|
|
40
|
+
return this.tokenConfig.assetId;
|
|
41
|
+
}
|
|
42
|
+
get decimalPlaces() {
|
|
43
|
+
return this.tokenConfig.decimalPlaces;
|
|
44
|
+
}
|
|
45
|
+
getChain() {
|
|
46
|
+
return this.tokenConfig.type;
|
|
47
|
+
}
|
|
48
|
+
getBaseChain() {
|
|
49
|
+
return this.coin;
|
|
50
|
+
}
|
|
51
|
+
getFullName() {
|
|
52
|
+
return 'Sip10 Token';
|
|
53
|
+
}
|
|
54
|
+
getBaseFactor() {
|
|
55
|
+
return Math.pow(10, this.tokenConfig.decimalPlaces);
|
|
56
|
+
}
|
|
57
|
+
getTransaction(coinConfig) {
|
|
58
|
+
return new lib_1.TransactionBuilderFactory(coinConfig).getFungibleTokenTransferBuilder();
|
|
59
|
+
}
|
|
60
|
+
async verifyTransaction(params) {
|
|
61
|
+
const { txPrebuild: txPrebuild, txParams: txParams } = params;
|
|
62
|
+
const { memo } = txParams;
|
|
63
|
+
if (Array.isArray(txParams.recipients) && txParams.recipients.length > 1) {
|
|
64
|
+
throw new Error(`${this.getChain()} doesn't support sending to more than 1 destination address within a single transaction. Try again, using only a single recipient.`);
|
|
65
|
+
}
|
|
66
|
+
const rawTx = txPrebuild.txHex;
|
|
67
|
+
if (!rawTx) {
|
|
68
|
+
throw new Error('missing required tx prebuild property txHex');
|
|
69
|
+
}
|
|
70
|
+
const coinConfig = statics_1.coins.get(this.getChain());
|
|
71
|
+
const transaction = this.getTransaction(coinConfig);
|
|
72
|
+
transaction.from(rawTx);
|
|
73
|
+
const explainedTx = await this.explainTransaction({ txHex: rawTx, feeInfo: { fee: '' } });
|
|
74
|
+
if (txParams.recipients !== undefined && explainedTx) {
|
|
75
|
+
const filteredRecipients = txParams.recipients?.map((recipient) => {
|
|
76
|
+
const addressDetails = (0, utils_1.getMemoIdAndBaseAddressFromAddress)(recipient.address);
|
|
77
|
+
const recipientData = {
|
|
78
|
+
address: addressDetails.address,
|
|
79
|
+
amount: BigInt(recipient.amount),
|
|
80
|
+
};
|
|
81
|
+
if (recipient.tokenName) {
|
|
82
|
+
recipientData['tokenName'] = recipient.tokenName;
|
|
83
|
+
}
|
|
84
|
+
return recipientData;
|
|
85
|
+
});
|
|
86
|
+
const filteredOutputs = explainedTx.outputs.map((output) => {
|
|
87
|
+
const recipientData = {
|
|
88
|
+
address: output.address,
|
|
89
|
+
amount: BigInt(output.amount),
|
|
90
|
+
};
|
|
91
|
+
if (output.tokenName) {
|
|
92
|
+
recipientData['tokenName'] = output.tokenName;
|
|
93
|
+
}
|
|
94
|
+
return recipientData;
|
|
95
|
+
});
|
|
96
|
+
if (!lodash_1.default.isEqual(filteredOutputs, filteredRecipients)) {
|
|
97
|
+
throw new Error('Tx outputs does not match with expected txParams recipients');
|
|
98
|
+
}
|
|
99
|
+
// compare memo
|
|
100
|
+
let memoInput = '';
|
|
101
|
+
let memoOutput = '';
|
|
102
|
+
if (memo && memo.value) {
|
|
103
|
+
memoInput = memo.value;
|
|
104
|
+
}
|
|
105
|
+
else if (txParams.recipients.length) {
|
|
106
|
+
const addressDetails = (0, utils_1.getMemoIdAndBaseAddressFromAddress)(txParams.recipients[0].address);
|
|
107
|
+
memoInput = addressDetails.memoId ? addressDetails.memoId : '';
|
|
108
|
+
}
|
|
109
|
+
if (explainedTx.memo) {
|
|
110
|
+
memoOutput = explainedTx.memo;
|
|
111
|
+
}
|
|
112
|
+
if (!lodash_1.default.isEqual(memoInput, memoOutput)) {
|
|
113
|
+
throw new Error('Tx memo does not match with expected txParams recipient memo');
|
|
114
|
+
}
|
|
115
|
+
// compare send amount
|
|
116
|
+
let totalAmount = new bignumber_js_1.default(0);
|
|
117
|
+
for (const recipients of txParams.recipients) {
|
|
118
|
+
totalAmount = totalAmount.plus(recipients.amount);
|
|
119
|
+
}
|
|
120
|
+
if (!totalAmount.isEqualTo(explainedTx.outputAmount)) {
|
|
121
|
+
throw new Error('Tx total amount does not match with expected total amount field');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.Sip10Token = Sip10Token;
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lwMTBUb2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaXAxMFRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUF1QjtBQUN2QixnRUFBcUM7QUFHckMsaURBQWdIO0FBRWhILCtCQUE0QjtBQUM1QiwrQkFBa0Q7QUFFbEQsdUNBQWlFO0FBRWpFLE1BQWEsVUFBVyxTQUFRLFNBQUc7SUFHakMsWUFBWSxLQUFnQixFQUFFLFdBQTZCO1FBQ3pELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkcsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQXdCO1FBQ3BELE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsZUFBbUMsQ0FBQyxHQUFHLGdCQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBRS9GLE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7UUFDL0MsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQyxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRSxXQUFXLENBQUMsSUFBSSxDQUFD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LE9BQU8sQ0FBQyxDQUFDO2dCQUMxRixTQUFTLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pFLENBQUM7WUFDRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDaEMsQ0FBQztZQUNELElBQUksQ0FBQyxnQkFBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1lBQ2xGLENBQUM7WUFDRCxzQkFBc0I7WUFDdEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxzQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLEtBQUssTUFBTSxVQUFVLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM3QyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7WUFDckYsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQW5JRCxnQ0FtSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQgeyBCaXRHb0Jhc2UsIENvaW5Db25zdHJ1Y3RvciwgTmFtZWRDb2luQ29uc3RydWN0b3IsIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgY29pbnMsIE5ldHdvcmtUeXBlLCBTaXAxMFRva2VuQ29uZmlnLCB0b2tlbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuaW1wb3J0IHsgU3R4IH0gZnJvbSAnLi9zdHgnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vbGliJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vbGliL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBnZXRNZW1vSWRBbmRCYXNlQWRkcmVzc0Zyb21BZGRyZXNzIH0gZnJvbSAnLi9saWIvdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgU2lwMTBUb2tlbiBleHRlbmRzIFN0eCB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogU2lwMTBUb2tlbkNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB0b2tlbkNvbmZpZzogU2lwMTBUb2tlbkNvbmZpZykge1xuICAgIGNvbnN0IHN0YXRpY3NDb2luID0gdG9rZW5Db25maWcubmV0d29yayA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVCA/IGNvaW5zLmdldCgnc3R4JykgOiBjb2lucy5nZXQoJ3RzdHgnKTtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICAgIHRoaXMudG9rZW5Db25maWcgPSB0b2tlbkNvbmZpZztcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogU2lwMTBUb2tlbkNvbmZpZyk6IENvaW5Db25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIChiaXRnbzogQml0R29CYXNlKSA9PiBuZXcgU2lwMTBUb2tlbihiaXRnbywgY29uZmlnKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhcbiAgICB0b2tlbkNvbmZpZ3M6IFNpcDEwVG9rZW5Db25maWdbXSA9IFsuLi50b2tlbnMuYml0Y29pbi5zdHgudG9rZW5zLCAuLi50b2tlbnMudGVzdG5ldC5zdHgudG9rZW5zXVxuICApOiBOYW1lZENvaW5Db25zdHJ1Y3RvcltdIHtcbiAgICBjb25zdCB0b2tlbnNDdG9yczogTmFtZWRDb2luQ29uc3RydWN0b3JbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdG9rZW5Db25maWdzKSB7XG4gICAgICBjb25zdCB0b2tlbkNvbnN0cnVjdG9yID0gU2lwMTBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKHRva2VuKTtcbiAgICAgIHRva2Vuc0N0b3JzLnB1c2goeyBuYW1lOiB0b2tlbi50eXBlLCBjb2luQ29uc3RydWN0b3I6IHRva2VuQ29uc3RydWN0b3IgfSk7XG4gICAgfVxuICAgIHJldHVybiB0b2tlbnNDdG9ycztcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcubmFtZTtcbiAgfVxuXG4gIGdldCBjb2luKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuY29pbjtcbiAgfVxuXG4gIGdldCBuZXR3b3JrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcubmV0d29yaztcbiAgfVxuXG4gIGdldCBhc3NldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuYXNzZXRJZDtcbiAgfVxuXG4gIGdldCBkZWNpbWFsUGxhY2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcztcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxuXG4gIGdldEJhc2VDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvaW47XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnU2lwMTAgVG9rZW4nO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnBvdygxMCwgdGhpcy50b2tlbkNvbmZpZy5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uKGNvaW5Db25maWc6IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKS5nZXRGdW5naWJsZVRva2VuVHJhbnNmZXJCdWlsZGVyKCk7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdHhQcmVidWlsZDogdHhQcmVidWlsZCwgdHhQYXJhbXM6IHR4UGFyYW1zIH0gPSBwYXJhbXM7XG4gICAgY29uc3QgeyBtZW1vIH0gPSB0eFBhcmFtcztcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eFBhcmFtcy5yZWNpcGllbnRzKSAmJiB0eFBhcmFtcy5yZWNpcGllbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7dGhpcy5nZXRDaGFpbigpfSBkb2Vzbid0IHN1cHBvcnQgc2VuZGluZyB0byBtb3JlIHRoYW4gMSBkZXN0aW5hdGlvbiBhZGRyZXNzIHdpdGhpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbi4gVHJ5IGFnYWluLCB1c2luZyBvbmx5IGEgc2luZ2xlIHJlY2lwaWVudC5gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCByYXdUeCA9IHR4UHJlYnVpbGQudHhIZXg7XG4gICAgaWYgKCFyYXdUeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHR4IHByZWJ1aWxkIHByb3BlcnR5IHR4SGV4Jyk7XG4gICAgfVxuICAgIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZ2V0VHJhbnNhY3Rpb24oY29pbkNvbmZpZyk7XG4gICAgdHJhbnNhY3Rpb24uZnJvbShyYXdUeCk7XG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSBhd2FpdCB0aGlzLmV4cGxhaW5UcmFuc2FjdGlvbih7IHR4SGV4OiByYXdUeCwgZmVlSW5mbzogeyBmZWU6ICcnIH0gfSk7XG4gICAgaWYgKHR4UGFyYW1zLnJlY2lwaWVudHMgIT09IHVuZGVmaW5lZCAmJiBleHBsYWluZWRUeCkge1xuICAgICAgY29uc3QgZmlsdGVyZWRSZWNpcGllbnRzID0gdHhQYXJhbXMucmVjaXBpZW50cz8ubWFwKChyZWNpcGllbnQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkcmVzc0RldGFpbHMgPSBnZXRNZW1vSWRBbmRCYXNlQWRkcmVzc0Zyb21BZGRyZXNzKHJlY2lwaWVudC5hZGRyZXNzKTtcbiAgICAgICAgY29uc3QgcmVjaXBpZW50RGF0YSA9IHtcbiAgICAgICAgICBhZGRyZXNzOiBhZGRyZXNzRGV0YWlscy5hZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogQmlnSW50KHJlY2lwaWVudC5hbW91bnQpLFxuICAgICAgICB9O1xuICAgICAgICBpZiAocmVjaXBpZW50LnRva2VuTmFtZSkge1xuICAgICAgICAgIHJlY2lwaWVudERhdGFbJ3Rva2VuTmFtZSddID0gcmVjaXBpZW50LnRva2VuTmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVjaXBpZW50RGF0YTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmlsdGVyZWRPdXRwdXRzID0gZXhwbGFpbmVkVHgub3V0cHV0cy5tYXAoKG91dHB1dCkgPT4ge1xuICAgICAgICBjb25zdCByZWNpcGllbnREYXRhID0ge1xuICAgICAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogQmlnSW50KG91dHB1dC5hbW91bnQpLFxuICAgICAgICB9O1xuICAgICAgICBpZiAob3V0cHV0LnRva2VuTmFtZSkge1xuICAgICAgICAgIHJlY2lwaWVudERhdGFbJ3Rva2VuTmFtZSddID0gb3V0cHV0LnRva2VuTmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVjaXBpZW50RGF0YTtcbiAgICAgIH0pO1xuICAgICAgaWYgKCFfLmlzRXF1YWwoZmlsdGVyZWRPdXRwdXRzLCBmaWx0ZXJlZFJlY2lwaWVudHMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHggb3V0cHV0cyBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHR4UGFyYW1zIHJlY2lwaWVudHMnKTtcbiAgICAgIH1cbiAgICAgIC8vIGNvbXBhcmUgbWVtb1xuICAgICAgbGV0IG1lbW9JbnB1dCA9ICcnO1xuICAgICAgbGV0IG1lbW9PdXRwdXQgPSAnJztcbiAgICAgIGlmIChtZW1vICYmIG1lbW8udmFsdWUpIHtcbiAgICAgICAgbWVtb0lucHV0ID0gbWVtby52YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAodHhQYXJhbXMucmVjaXBpZW50cy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgYWRkcmVzc0RldGFpbHMgPSBnZXRNZW1vSWRBbmRCYXNlQWRkcmVzc0Zyb21BZGRyZXNzKHR4UGFyYW1zLnJlY2lwaWVudHNbMF0uYWRkcmVzcyk7XG4gICAgICAgIG1lbW9JbnB1dCA9IGFkZHJlc3NEZXRhaWxzLm1lbW9JZCA/IGFkZHJlc3NEZXRhaWxzLm1lbW9JZCA6ICcnO1xuICAgICAgfVxuICAgICAgaWYgKGV4cGxhaW5lZFR4Lm1lbW8pIHtcbiAgICAgICAgbWVtb091dHB1dCA9IGV4cGxhaW5lZFR4Lm1lbW87XG4gICAgICB9XG4gICAgICBpZiAoIV8uaXNFcXVhbChtZW1vSW5wdXQsIG1lbW9PdXRwdXQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHggbWVtbyBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHR4UGFyYW1zIHJlY2lwaWVudCBtZW1vJyk7XG4gICAgICB9XG4gICAgICAvLyBjb21wYXJlIHNlbmQgYW1vdW50XG4gICAgICBsZXQgdG90YWxBbW91bnQgPSBuZXcgQmlnTnVtYmVyKDApO1xuICAgICAgZm9yIChjb25zdCByZWNpcGllbnRzIG9mIHR4UGFyYW1zLnJlY2lwaWVudHMpIHtcbiAgICAgICAgdG90YWxBbW91bnQgPSB0b3RhbEFtb3VudC5wbHVzKHJlY2lwaWVudHMuYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIGlmICghdG90YWxBbW91bnQuaXNFcXVhbFRvKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCB0b3RhbCBhbW91bnQgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0b3RhbCBhbW91bnQgZmllbGQnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
package/dist/src/stx.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseCoin, BitGoBase, KeyPair, SignedTransaction, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
|
|
1
|
+
import { AuditDecryptedKeyParams, BaseCoin, BaseTransaction, BitGoBase, KeyPair, MultisigType, SignedTransaction, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
|
|
3
2
|
import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
|
|
4
3
|
import { ExplainTransactionOptions, StxSignTransactionOptions, StxTransactionExplanation } from './types';
|
|
4
|
+
import { TransactionBuilder } from './lib/transactionBuilder';
|
|
5
|
+
import { AddressDetails, NativeStxBalance, RecoveryInfo, RecoveryOptions, RecoveryTransaction, SingleFungibleTokenBalance, StxNonceResponse } from './lib/iface';
|
|
6
|
+
import { TransferBuilder } from './lib/transferBuilder';
|
|
7
|
+
import { FungibleTokenTransferBuilder } from './lib/fungibleTokenTransferBuilder';
|
|
5
8
|
export declare class Stx extends BaseCoin {
|
|
6
9
|
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
|
|
7
10
|
constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
@@ -10,6 +13,9 @@ export declare class Stx extends BaseCoin {
|
|
|
10
13
|
getFamily(): CoinFamily;
|
|
11
14
|
getFullName(): string;
|
|
12
15
|
getBaseFactor(): string | number;
|
|
16
|
+
getTransaction(coinConfig: Readonly<StaticsBaseCoin>): TransactionBuilder;
|
|
17
|
+
/** inherited doc */
|
|
18
|
+
getDefaultMultisigType(): MultisigType;
|
|
13
19
|
verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
|
|
14
20
|
/**
|
|
15
21
|
* Check if address is valid, then make sure it matches the base address.
|
|
@@ -52,5 +58,143 @@ export declare class Stx extends BaseCoin {
|
|
|
52
58
|
* @param params
|
|
53
59
|
*/
|
|
54
60
|
explainTransaction(params: ExplainTransactionOptions): Promise<StxTransactionExplanation | undefined>;
|
|
61
|
+
/**
|
|
62
|
+
* Get URLs of some active public nodes
|
|
63
|
+
* @returns {String} node url
|
|
64
|
+
*/
|
|
65
|
+
getPublicNodeUrl(): string;
|
|
66
|
+
/**
|
|
67
|
+
* Get native stacks balance for an account
|
|
68
|
+
* @param {String} address - stacks address
|
|
69
|
+
* @returns {Promise<NativeStxBalance>}
|
|
70
|
+
*/
|
|
71
|
+
protected getNativeStxBalanceFromNode({ address }: {
|
|
72
|
+
address: string;
|
|
73
|
+
}): Promise<NativeStxBalance>;
|
|
74
|
+
/**
|
|
75
|
+
* Get single fungible token balance for an account
|
|
76
|
+
* @param {String} address - stacks address
|
|
77
|
+
* @param {String} assetId - fungible token asset id
|
|
78
|
+
* @returns {Promise<SingleFungibleTokenBalance>}
|
|
79
|
+
*/
|
|
80
|
+
protected getSingleFungibleTokenBalanceFromNode({ address, assetId, }: {
|
|
81
|
+
address: string;
|
|
82
|
+
assetId: string;
|
|
83
|
+
}): Promise<SingleFungibleTokenBalance>;
|
|
84
|
+
/**
|
|
85
|
+
* Get nonce data specific to an account from a public node
|
|
86
|
+
* @param {String} address - stacks address
|
|
87
|
+
* @returns {Promise<StxNonceResponse>}
|
|
88
|
+
*/
|
|
89
|
+
protected getAccountNonceFromNode({ address }: {
|
|
90
|
+
address: string;
|
|
91
|
+
}): Promise<StxNonceResponse>;
|
|
92
|
+
/**
|
|
93
|
+
* Get stacks transaction estimated fee
|
|
94
|
+
* @param {String} txHex - hex of stacks transaction payload
|
|
95
|
+
* @param {Number} txHexLength - length of built serialized transaction
|
|
96
|
+
* @returns {Promise<Number>} - fee estimate (taking the lowest)
|
|
97
|
+
*/
|
|
98
|
+
protected getTransactionFeeEstimation({ txHex, txHexLength, }: {
|
|
99
|
+
txHex: string;
|
|
100
|
+
txHexLength: number;
|
|
101
|
+
}): Promise<number>;
|
|
102
|
+
/**
|
|
103
|
+
* Format for offline vault signing
|
|
104
|
+
* @param {BaseTransaction} tx - base transaction
|
|
105
|
+
* @returns {Promise<RecoveryInfo>}
|
|
106
|
+
*/
|
|
107
|
+
protected formatForOfflineVault(tx: BaseTransaction): Promise<RecoveryInfo>;
|
|
108
|
+
/**
|
|
109
|
+
* Get the recoverable amount & fee after subtracting the txn fee
|
|
110
|
+
* @param {String} serializedHex - serialized txn hex
|
|
111
|
+
* @param {Number} txHexLength - deserialized txn length
|
|
112
|
+
* @param {String} balance - total account balance
|
|
113
|
+
* @param {String} tokenBalance - total token balance
|
|
114
|
+
* @returns {Promise<Record<string, string>>}
|
|
115
|
+
*/
|
|
116
|
+
protected getRecoverableAmountAndFee(serializedHex: string, txHexLength: number, balance: string, tokenBalance?: string): Promise<Record<string, string>>;
|
|
117
|
+
/**
|
|
118
|
+
* Method to find the right builder for token or native coin transfer
|
|
119
|
+
* @param {String} contractAddress - token contract address
|
|
120
|
+
* @param {String} contractName - token contract name
|
|
121
|
+
* @returns {TransferBuilder|FungibleTokenTransferBuilder}
|
|
122
|
+
*/
|
|
123
|
+
protected getTokenOrNativeTransferBuilder(contractAddress?: string, contractName?: string): TransferBuilder | FungibleTokenTransferBuilder;
|
|
124
|
+
/**
|
|
125
|
+
* Method to build fungible token transfer transaction
|
|
126
|
+
* @param {FungibleTokenTransferBuilder} builder - fungible token transfer builder
|
|
127
|
+
* @param {String} contractAddress - token contract address
|
|
128
|
+
* @param {String} contractName - token contract name
|
|
129
|
+
* @param {String[]} pubs - account public keys
|
|
130
|
+
* @param {Number} nonce - account nonce
|
|
131
|
+
* @param {AddressDetails} rootAddressDetails - root address details
|
|
132
|
+
* @param {AddressDetails} destinationAddressDetails - receive address details
|
|
133
|
+
* @param {String} stxBalance - native stx balance
|
|
134
|
+
* @returns {Promise<BaseTransaction>} - built transaction
|
|
135
|
+
*/
|
|
136
|
+
protected buildTokenTransferTransaction({ builder, contractAddress, contractName, pubs, nonce, rootAddressDetails, destinationAddressDetails, stxBalance, }: {
|
|
137
|
+
builder: FungibleTokenTransferBuilder;
|
|
138
|
+
contractAddress: string;
|
|
139
|
+
contractName: string;
|
|
140
|
+
pubs: string[];
|
|
141
|
+
nonce: number;
|
|
142
|
+
rootAddressDetails: AddressDetails;
|
|
143
|
+
destinationAddressDetails: AddressDetails;
|
|
144
|
+
stxBalance: string;
|
|
145
|
+
}): Promise<BaseTransaction>;
|
|
146
|
+
/**
|
|
147
|
+
* Method to build native transfer transaction
|
|
148
|
+
* @param {TransferBuilder} builder - transfer builder
|
|
149
|
+
* @param {String[]} pubs - account public keys
|
|
150
|
+
* @param {Number} nonce - account nonce
|
|
151
|
+
* @param {AddressDetails} destinationAddressDetails - receive address details
|
|
152
|
+
* @param {String} stxBalance - native stx balance
|
|
153
|
+
* @returns {Promise<BaseTransaction>} - built transaction
|
|
154
|
+
*/
|
|
155
|
+
protected buildNativeTransferTransaction({ builder, pubs, nonce, destinationAddressDetails, stxBalance, }: {
|
|
156
|
+
builder: TransferBuilder;
|
|
157
|
+
pubs: string[];
|
|
158
|
+
nonce: number;
|
|
159
|
+
destinationAddressDetails: AddressDetails;
|
|
160
|
+
stxBalance: string;
|
|
161
|
+
}): Promise<BaseTransaction>;
|
|
162
|
+
/**
|
|
163
|
+
* Method that uses appropriate builder and builds transaction depending on token or native coin
|
|
164
|
+
* @param {String[]} pubs - public keys
|
|
165
|
+
* @param {AddressDetails} rootAddressDetails - sender address detail
|
|
166
|
+
* @param {AddressDetails} destinationAddressDetails - receiver address detail
|
|
167
|
+
* @param {Number} nonce - wallet nonce
|
|
168
|
+
* @param {String} balance - wallet balance
|
|
169
|
+
* @param {String | undefined} contractAddress - token contract address
|
|
170
|
+
* @param {String | undefined} contractName - token contract name
|
|
171
|
+
* @returns {Promise<BaseTransaction>} built transaction
|
|
172
|
+
*/
|
|
173
|
+
protected getNativeOrTokenTransaction({ pubs, rootAddressDetails, destinationAddressDetails, nonce, stxBalance, contractAddressInput, contractName, }: {
|
|
174
|
+
pubs: string[];
|
|
175
|
+
rootAddressDetails: AddressDetails;
|
|
176
|
+
destinationAddressDetails: AddressDetails;
|
|
177
|
+
nonce: number;
|
|
178
|
+
stxBalance: string;
|
|
179
|
+
contractAddressInput?: string;
|
|
180
|
+
contractName?: string;
|
|
181
|
+
}): Promise<{
|
|
182
|
+
tx: BaseTransaction;
|
|
183
|
+
builder: TransferBuilder | FungibleTokenTransferBuilder;
|
|
184
|
+
}>;
|
|
185
|
+
/**
|
|
186
|
+
* Method to recover native stx or sip10 tokens from bitgo hot & cold wallets
|
|
187
|
+
* @param {String} params.backupKey - encrypted wallet backup key (public or private)
|
|
188
|
+
* @param {String} params.userKey - encrypted wallet user key (public or private)
|
|
189
|
+
* @param {String} params.rootAddress - wallet root address
|
|
190
|
+
* @param {String} params.recoveryDestination - receive address
|
|
191
|
+
* @param {String} params.bitgoKey - encrypted bitgo public key
|
|
192
|
+
* @param {String} params.walletPassphrase - wallet password
|
|
193
|
+
* @param {String} params.contractId - contract id of the token (mandatory for token recovery)
|
|
194
|
+
* @returns {Promise<RecoveryInfo|RecoveryTransaction>} RecoveryTransaction.txHex - hex of serialized transaction (signed or unsigned)
|
|
195
|
+
*/
|
|
196
|
+
recover(params: RecoveryOptions): Promise<RecoveryInfo | RecoveryTransaction>;
|
|
197
|
+
/** @inheritDoc */
|
|
198
|
+
auditDecryptedKey(params: AuditDecryptedKeyParams): void;
|
|
55
199
|
}
|
|
56
200
|
//# sourceMappingURL=stx.d.ts.map
|
package/dist/src/stx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stx.d.ts","sourceRoot":"","sources":["../../src/stx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stx.d.ts","sourceRoot":"","sources":["../../src/stx.ts"],"names":[],"mappings":"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"}
|