@bitgo-beta/sdk-coin-stx 1.1.1-beta.222 → 1.1.1-beta.2221
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 +4 -4
- package/dist/src/lib/btcAddressUtils.d.ts +30 -0
- package/dist/src/lib/btcAddressUtils.d.ts.map +1 -0
- package/dist/src/lib/btcAddressUtils.js +134 -0
- package/dist/src/lib/constants.d.ts +4 -1
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +8 -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 +61 -0
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +3 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +26 -9
- package/dist/src/lib/keyPair.js +18 -19
- package/dist/src/lib/sbtcWithdrawBuilder.d.ts +38 -0
- package/dist/src/lib/sbtcWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/lib/sbtcWithdrawBuilder.js +150 -0
- package/dist/src/lib/sendmanyBuilder.js +12 -12
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +31 -15
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +14 -14
- package/dist/src/lib/transactionBuilderFactory.d.ts +4 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +16 -2
- package/dist/src/lib/transferBuilder.js +7 -7
- package/dist/src/lib/utils.d.ts +40 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +171 -63
- 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 +154 -2
- package/dist/src/stx.d.ts.map +1 -1
- package/dist/src/stx.js +489 -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/btcAddressUtils.d.ts +2 -0
- package/dist/test/unit/btcAddressUtils.d.ts.map +1 -0
- package/dist/test/unit/btcAddressUtils.js +82 -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 +624 -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/sbtcWithdrawBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/sbtcWithdrawBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/sbtcWithdrawBuilder.js +306 -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 +340 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +16 -12
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -127
|
@@ -0,0 +1,131 @@
|
|
|
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.FungibleTokenTransferBuilder = void 0;
|
|
7
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
8
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const transactions_1 = require("@stacks/transactions");
|
|
10
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
11
|
+
const abstractContractBuilder_1 = require("./abstractContractBuilder");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
const constants_1 = require("./constants");
|
|
14
|
+
class FungibleTokenTransferBuilder extends abstractContractBuilder_1.AbstractContractBuilder {
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
}
|
|
18
|
+
initBuilder(tx) {
|
|
19
|
+
super.initBuilder(tx);
|
|
20
|
+
this._fungibleTokenTransferParams = (0, utils_1.functionArgsToTokenTransferParams)(tx.stxTransaction.payload.functionArgs);
|
|
21
|
+
this.contractAddress(this._contractAddress);
|
|
22
|
+
this.contractName(this._contractName);
|
|
23
|
+
this.functionName(this._functionName);
|
|
24
|
+
this.functionArgs(this._functionArgs);
|
|
25
|
+
}
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
async buildImplementation() {
|
|
28
|
+
this._postConditionMode = transactions_1.PostConditionMode.Deny;
|
|
29
|
+
this._postConditions = this.tokenTransferParamsToPostCondition(this._fungibleTokenTransferParams);
|
|
30
|
+
await super.buildImplementation();
|
|
31
|
+
this.transaction.setTransactionType(sdk_core_1.TransactionType.Send);
|
|
32
|
+
return this.transaction;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Function to check if a transaction is a fungible token contract call
|
|
36
|
+
*
|
|
37
|
+
* @param {ContractCallPayload} payload
|
|
38
|
+
* @returns {Boolean}
|
|
39
|
+
*/
|
|
40
|
+
static isFungibleTokenTransferContractCall(payload) {
|
|
41
|
+
return constants_1.FUNCTION_NAME_TRANSFER === payload.functionName.content;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set the token name
|
|
45
|
+
*
|
|
46
|
+
* @param {String} tokenName name of the token (@define-fungible-token value)
|
|
47
|
+
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
48
|
+
*/
|
|
49
|
+
tokenName(tokenName) {
|
|
50
|
+
this._tokenName = tokenName;
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Validate contract address
|
|
55
|
+
*
|
|
56
|
+
* @param {String} address contract address
|
|
57
|
+
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
58
|
+
*/
|
|
59
|
+
contractAddress(address) {
|
|
60
|
+
if (!(0, utils_1.isValidAddress)(address)) {
|
|
61
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
62
|
+
}
|
|
63
|
+
this._contractAddress = address;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Validate contract name
|
|
68
|
+
*
|
|
69
|
+
* @param {String} name contract name
|
|
70
|
+
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
71
|
+
*/
|
|
72
|
+
contractName(name) {
|
|
73
|
+
if (name.length === 0) {
|
|
74
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid name');
|
|
75
|
+
}
|
|
76
|
+
this._contractName = name;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Validate function name
|
|
81
|
+
*
|
|
82
|
+
* @param {String} name function name
|
|
83
|
+
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
84
|
+
*/
|
|
85
|
+
functionName(name) {
|
|
86
|
+
if (name.length === 0) {
|
|
87
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid name');
|
|
88
|
+
}
|
|
89
|
+
if (!(0, utils_1.isValidContractFunctionName)(name)) {
|
|
90
|
+
throw new sdk_core_1.InvalidParameterValueError(`${name} is not supported contract function name`);
|
|
91
|
+
}
|
|
92
|
+
this._functionName = name;
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Validate function arguments
|
|
97
|
+
*
|
|
98
|
+
* @param {ClarityValue[]} args array of clarity value as arguments
|
|
99
|
+
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
100
|
+
*/
|
|
101
|
+
functionArgs(args) {
|
|
102
|
+
if (args.length < 3) {
|
|
103
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid number of arguments');
|
|
104
|
+
}
|
|
105
|
+
this._functionArgs = args;
|
|
106
|
+
this._fungibleTokenTransferParams = (0, utils_1.functionArgsToTokenTransferParams)(this._functionArgs);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Function to convert token transfer params to post condition
|
|
111
|
+
*
|
|
112
|
+
* @param {TokenTransferParams} tokenTransferParams
|
|
113
|
+
* @returns {PostCondition[]} returns stx fungible post condition
|
|
114
|
+
*/
|
|
115
|
+
tokenTransferParamsToPostCondition(tokenTransferParams) {
|
|
116
|
+
if (!this._tokenName) {
|
|
117
|
+
const contractTokenName = (0, utils_1.findContractTokenNameUsingContract)(this._contractAddress, this._contractName);
|
|
118
|
+
if (contractTokenName) {
|
|
119
|
+
this.tokenName(contractTokenName);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const amount = new bn_js_1.default(tokenTransferParams.amount);
|
|
123
|
+
return [
|
|
124
|
+
(0, transactions_1.makeStandardFungiblePostCondition)((0, utils_1.getSTXAddressFromPubKeys)(this._fromPubKeys, this._coinConfig.network.type === statics_1.NetworkType.MAINNET
|
|
125
|
+
? transactions_1.AddressVersion.MainnetMultiSig
|
|
126
|
+
: transactions_1.AddressVersion.TestnetMultiSig, this._fromPubKeys.length > 1 ? transactions_1.AddressHashMode.SerializeP2SH : transactions_1.AddressHashMode.SerializeP2PKH, this._numberSignatures).address, transactions_1.FungibleConditionCode.Equal, amount.toString(), `${this._contractAddress}.${this._contractName}::${this._tokenName}`),
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.FungibleTokenTransferBuilder = FungibleTokenTransferBuilder;
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpREFBMEU7QUFDMUUsbURBQW1GO0FBQ25GLHVEQVM4QjtBQUM5QixrREFBMkI7QUFFM0IsdUVBQW9FO0FBRXBFLG1DQU1pQjtBQUVqQiwyQ0FBcUQ7QUFFckQsTUFBYSw0QkFBNkIsU0FBUSxpREFBdUI7SUFHdkUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUEseUNBQWlDLEVBQ2xFLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBK0IsQ0FBQyxZQUFZLENBQ2hFLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQ0FBaUIsQ0FBQyxJQUFJLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDbEcsTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVB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LENBQUMsZUFBZTtnQkFDaEMsQ0FBQyxDQUFDLDZCQUFjLENBQUMsZUFBZSxFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyw4QkFBZSxDQUFDLGNBQWMsRUFDN0YsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDLE9BQU8sRUFDVCxvQ0FBcUIsQ0FBQyxLQUFLLEVBQzNCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFDakIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQ3JFO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTFJRCxvRUEwSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnLCBOZXR3b3JrVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEFkZHJlc3NIYXNoTW9kZSxcbiAgQWRkcmVzc1ZlcnNpb24sXG4gIENsYXJpdHlWYWx1ZSxcbiAgQ29udHJhY3RDYWxsUGF5bG9hZCxcbiAgRnVuZ2libGVDb25kaXRpb25Db2RlLFxuICBtYWtlU3RhbmRhcmRGdW5naWJsZVBvc3RDb25kaXRpb24sXG4gIFBvc3RDb25kaXRpb24sXG4gIFBvc3RDb25kaXRpb25Nb2RlLFxufSBmcm9tICdAc3RhY2tzL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgQmlnTnVtIGZyb20gJ2JuLmpzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIgfSBmcm9tICcuL2Fic3RyYWN0Q29udHJhY3RCdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBmaW5kQ29udHJhY3RUb2tlbk5hbWVVc2luZ0NvbnRyYWN0LFxuICBmdW5jdGlvbkFyZ3NUb1Rva2VuVHJhbnNmZXJQYXJhbXMsXG4gIGdldFNUWEFkZHJlc3NGcm9tUHViS2V5cyxcbiAgaXNWYWxpZEFkZHJlc3MsXG4gIGlzVmFsaWRDb250cmFjdEZ1bmN0aW9uTmFtZSxcbn0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUb2tlblRyYW5zZmVyUGFyYW1zIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBGVU5DVElPTl9OQU1FX1RSQU5TRkVSIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgRnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlciBleHRlbmRzIEFic3RyYWN0Q29udHJhY3RCdWlsZGVyIHtcbiAgcHJpdmF0ZSBfZnVuZ2libGVUb2tlblRyYW5zZmVyUGFyYW1zOiBUb2tlblRyYW5zZmVyUGFyYW1zO1xuICBwcml2YXRlIF90b2tlbk5hbWU6IHN0cmluZztcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHRoaXMuX2Z1bmdpYmxlVG9rZW5UcmFuc2ZlclBhcmFtcyA9IGZ1bmN0aW9uQXJnc1RvVG9rZW5UcmFuc2ZlclBhcmFtcyhcbiAgICAgICh0eC5zdHhUcmFuc2FjdGlvbi5wYXlsb2FkIGFzIENvbnRyYWN0Q2FsbFBheWxvYWQpLmZ1bmN0aW9uQXJnc1xuICAgICk7XG4gICAgdGhpcy5jb250cmFjdEFkZHJlc3ModGhpcy5fY29udHJhY3RBZGRyZXNzKTtcbiAgICB0aGlzLmNvbnRyYWN0TmFtZSh0aGlzLl9jb250cmFjdE5hbWUpO1xuICAgIHRoaXMuZnVuY3Rpb25OYW1lKHRoaXMuX2Z1bmN0aW9uTmFtZSk7XG4gICAgdGhpcy5mdW5jdGlvbkFyZ3ModGhpcy5fZnVuY3Rpb25BcmdzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy5fcG9zdENvbmRpdGlvbk1vZGUgPSBQb3N0Q29uZGl0aW9uTW9kZS5EZW55O1xuICAgIHRoaXMuX3Bvc3RDb25kaXRpb25zID0gdGhpcy50b2tlblRyYW5zZmVyUGFyYW1zVG9Qb3N0Q29uZGl0aW9uKHRoaXMuX2Z1bmdpYmxlVG9rZW5UcmFuc2ZlclBhcmFtcyk7XG4gICAgYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TZW5kKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjaGVjayBpZiBhIHRyYW5zYWN0aW9uIGlzIGEgZnVuZ2libGUgdG9rZW4gY29udHJhY3QgY2FsbFxuICAgKlxuICAgKiBAcGFyYW0ge0NvbnRyYWN0Q2FsbFBheWxvYWR9IHBheWxvYWRcbiAgICogQHJldHVybnMge0Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzRnVuZ2libGVUb2tlblRyYW5zZmVyQ29udHJhY3RDYWxsKHBheWxvYWQ6IENvbnRyYWN0Q2FsbFBheWxvYWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRlVOQ1RJT05fTkFNRV9UUkFOU0ZFUiA9PT0gcGF5bG9hZC5mdW5jdGlvbk5hbWUuY29udGVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRva2VuIG5hbWVcbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IHRva2VuTmFtZSBuYW1lIG9mIHRoZSB0b2tlbiAoQGRlZmluZS1mdW5naWJsZS10b2tlbiB2YWx1ZSlcbiAgICogQHJldHVybnMge0Z1bmdpYmxlVG9rZW5UcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdG9rZW4gdHJhbnNmZXIgYnVpbGRlclxuICAgKi9cbiAgdG9rZW5OYW1lKHRva2VuTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fdG9rZW5OYW1lID0gdG9rZW5OYW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGNvbnRyYWN0IGFkZHJlc3NcbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IGFkZHJlc3MgY29udHJhY3QgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7RnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlcn0gVGhpcyB0b2tlbiB0cmFuc2ZlciBidWlsZGVyXG4gICAqL1xuICBjb250cmFjdEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgdGhpcy5fY29udHJhY3RBZGRyZXNzID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBjb250cmFjdCBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIGNvbnRyYWN0IG5hbWVcbiAgICogQHJldHVybnMge0Z1bmdpYmxlVG9rZW5UcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdG9rZW4gdHJhbnNmZXIgYnVpbGRlclxuICAgKi9cbiAgY29udHJhY3ROYW1lKG5hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmIChuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIG5hbWUnKTtcbiAgICB9XG4gICAgdGhpcy5fY29udHJhY3ROYW1lID0gbmFtZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBmdW5jdGlvbiBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIGZ1bmN0aW9uIG5hbWVcbiAgICogQHJldHVybnMge0Z1bmdpYmxlVG9rZW5UcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdG9rZW4gdHJhbnNmZXIgYnVpbGRlclxuICAgKi9cbiAgZnVuY3Rpb25OYW1lKG5hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmIChuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIG5hbWUnKTtcbiAgICB9XG4gICAgaWYgKCFpc1ZhbGlkQ29udHJhY3RGdW5jdGlvbk5hbWUobmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcihgJHtuYW1lfSBpcyBub3Qgc3VwcG9ydGVkIGNvbnRyYWN0IGZ1bmN0aW9uIG5hbWVgKTtcbiAgICB9XG4gICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gbmFtZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBmdW5jdGlvbiBhcmd1bWVudHNcbiAgICpcbiAgICogQHBhcmFtIHtDbGFyaXR5VmFsdWVbXX0gYXJncyBhcnJheSBvZiBjbGFyaXR5IHZhbHVlIGFzIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJucyB7RnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlcn0gVGhpcyB0b2tlbiB0cmFuc2ZlciBidWlsZGVyXG4gICAqL1xuICBmdW5jdGlvbkFyZ3MoYXJnczogQ2xhcml0eVZhbHVlW10pOiB0aGlzIHtcbiAgICBpZiAoYXJncy5sZW5ndGggPCAzKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cycpO1xuICAgIH1cbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3MgPSBhcmdzO1xuICAgIHRoaXMuX2Z1bmdpYmxlVG9rZW5UcmFuc2ZlclBhcmFtcyA9IGZ1bmN0aW9uQXJnc1RvVG9rZW5UcmFuc2ZlclBhcmFtcyh0aGlzLl9mdW5jdGlvbkFyZ3MpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGNvbnZlcnQgdG9rZW4gdHJhbnNmZXIgcGFyYW1zIHRvIHBvc3QgY29uZGl0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VG9rZW5UcmFuc2ZlclBhcmFtc30gdG9rZW5UcmFuc2ZlclBhcmFtc1xuICAgKiBAcmV0dXJucyB7UG9zdENvbmRpdGlvbltdfSByZXR1cm5zIHN0eCBmdW5naWJsZSBwb3N0IGNvbmRpdGlvblxuICAgKi9cbiAgcHJpdmF0ZSB0b2tlblRyYW5zZmVyUGFyYW1zVG9Qb3N0Q29uZGl0aW9uKHRva2VuVHJhbnNmZXJQYXJhbXM6IFRva2VuVHJhbnNmZXJQYXJhbXMpOiBQb3N0Q29uZGl0aW9uW10ge1xuICAgIGlmICghdGhpcy5fdG9rZW5OYW1lKSB7XG4gICAgICBjb25zdCBjb250cmFjdFRva2VuTmFtZSA9IGZpbmRDb250cmFjdFRva2VuTmFtZVVzaW5nQ29udHJhY3QodGhpcy5fY29udHJhY3RBZGRyZXNzLCB0aGlzLl9jb250cmFjdE5hbWUpO1xuICAgICAgaWYgKGNvbnRyYWN0VG9rZW5OYW1lKSB7XG4gICAgICAgIHRoaXMudG9rZW5OYW1lKGNvbnRyYWN0VG9rZW5OYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgYW1vdW50OiBCaWdOdW0gPSBuZXcgQmlnTnVtKHRva2VuVHJhbnNmZXJQYXJhbXMuYW1vdW50KTtcbiAgICByZXR1cm4gW1xuICAgICAgbWFrZVN0YW5kYXJkRnVuZ2libGVQb3N0Q29uZGl0aW9uKFxuICAgICAgICBnZXRTVFhBZGRyZXNzRnJvbVB1YktleXMoXG4gICAgICAgICAgdGhpcy5fZnJvbVB1YktleXMsXG4gICAgICAgICAgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUgPT09IE5ldHdvcmtUeXBlLk1BSU5ORVRcbiAgICAgICAgICAgID8gQWRkcmVzc1ZlcnNpb24uTWFpbm5ldE11bHRpU2lnXG4gICAgICAgICAgICA6IEFkZHJlc3NWZXJzaW9uLlRlc3RuZXRNdWx0aVNpZyxcbiAgICAgICAgICB0aGlzLl9mcm9tUHViS2V5cy5sZW5ndGggPiAxID8gQWRkcmVzc0hhc2hNb2RlLlNlcmlhbGl6ZVAyU0ggOiBBZGRyZXNzSGFzaE1vZGUuU2VyaWFsaXplUDJQS0gsXG4gICAgICAgICAgdGhpcy5fbnVtYmVyU2lnbmF0dXJlc1xuICAgICAgICApLmFkZHJlc3MsXG4gICAgICAgIEZ1bmdpYmxlQ29uZGl0aW9uQ29kZS5FcXVhbCxcbiAgICAgICAgYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgIGAke3RoaXMuX2NvbnRyYWN0QWRkcmVzc30uJHt0aGlzLl9jb250cmFjdE5hbWV9Ojoke3RoaXMuX3Rva2VuTmFtZX1gXG4gICAgICApLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|
package/dist/src/lib/iface.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ClarityValue, PayloadType } from '@stacks/transactions';
|
|
2
|
+
import { TransactionExplanation as BaseTransactionExplanation } from '@bitgo-beta/sdk-core';
|
|
2
3
|
export interface TxData {
|
|
3
4
|
id: string;
|
|
4
5
|
from: string;
|
|
@@ -45,4 +46,64 @@ export interface SendParams {
|
|
|
45
46
|
amount: string;
|
|
46
47
|
memo?: string;
|
|
47
48
|
}
|
|
49
|
+
export interface TokenTransferParams {
|
|
50
|
+
sender: string;
|
|
51
|
+
recipient: string;
|
|
52
|
+
amount: string;
|
|
53
|
+
memo?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface TokenBalanceData {
|
|
56
|
+
balance: string;
|
|
57
|
+
total_sent: string;
|
|
58
|
+
total_received: string;
|
|
59
|
+
}
|
|
60
|
+
export interface NativeStxBalance {
|
|
61
|
+
balance: string;
|
|
62
|
+
total_miner_rewards_received: string;
|
|
63
|
+
lock_tx_id: string;
|
|
64
|
+
locked: string;
|
|
65
|
+
lock_height: number;
|
|
66
|
+
burnchain_lock_height: number;
|
|
67
|
+
burnchain_unlock_height: number;
|
|
68
|
+
}
|
|
69
|
+
export interface SingleFungibleTokenBalance {
|
|
70
|
+
balance: string;
|
|
71
|
+
}
|
|
72
|
+
export interface StxNonceResponse {
|
|
73
|
+
last_mempool_tx_nonce?: number;
|
|
74
|
+
last_executed_tx_nonce?: number;
|
|
75
|
+
possible_next_nonce: number;
|
|
76
|
+
detected_missing_nonces?: number[];
|
|
77
|
+
detected_mempool_nonces?: number[];
|
|
78
|
+
}
|
|
79
|
+
export interface StxTxnFeeEstimationResponse {
|
|
80
|
+
estimations: {
|
|
81
|
+
feeRate: number;
|
|
82
|
+
fee: number;
|
|
83
|
+
}[];
|
|
84
|
+
}
|
|
85
|
+
export interface RecoveryOptions {
|
|
86
|
+
backupKey: string;
|
|
87
|
+
userKey: string;
|
|
88
|
+
rootAddress: string;
|
|
89
|
+
recoveryDestination: string;
|
|
90
|
+
bitgoKey?: string;
|
|
91
|
+
walletPassphrase?: string;
|
|
92
|
+
contractId?: string;
|
|
93
|
+
}
|
|
94
|
+
export interface RecoveryInfo extends BaseTransactionExplanation {
|
|
95
|
+
txHex: string;
|
|
96
|
+
feeInfo?: {
|
|
97
|
+
fee: string;
|
|
98
|
+
};
|
|
99
|
+
coin?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface RecoveryTransaction {
|
|
102
|
+
txHex: string;
|
|
103
|
+
}
|
|
104
|
+
export interface SbtcWithdrawParams {
|
|
105
|
+
amount: string;
|
|
106
|
+
btcAddress: string;
|
|
107
|
+
maxFee: string;
|
|
108
|
+
}
|
|
48
109
|
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/iface.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBDbGFyaXR5VmFsdWUsIFBheWxvYWRUeXBlIH0gZnJvbSAnQHN0YWNrcy90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBhcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xuICBmcm9tOiBzdHJpbmc7XG4gIGZlZTogc3RyaW5nO1xuICBub25jZTogbnVtYmVyO1xuICBwYXlsb2FkOiBTdGFja3NUcmFuc2FjdGlvblBheWxvYWQgfCBTdGFja3NDb250cmFjdFBheWxvYWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZURhdGEge1xuICB0eXBlOiBudW1iZXI7XG4gIGRhdGE6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgc2lnSGFzaDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrc1RyYW5zYWN0aW9uUGF5bG9hZCB7XG4gIHJlYWRvbmx5IHBheWxvYWRUeXBlOiBQYXlsb2FkVHlwZS5Ub2tlblRyYW5zZmVyO1xuICBtZW1vPzogc3RyaW5nO1xuICB0bzogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja3NDb250cmFjdFBheWxvYWQge1xuICByZWFkb25seSBwYXlsb2FkVHlwZTogUGF5bG9hZFR5cGUuQ29udHJhY3RDYWxsO1xuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgY29udHJhY3ROYW1lOiBzdHJpbmc7XG4gIGZ1bmN0aW9uTmFtZTogc3RyaW5nO1xuICBmdW5jdGlvbkFyZ3M6IENsYXJpdHlWYWx1ZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsYXJpdHlWYWx1ZUpzb24ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHZhbD86IGFueSB8IFR1cGxlRGF0YVtdIHwgQ2xhcml0eVZhbHVlSnNvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUdXBsZURhdGEgZXh0ZW5kcyBDbGFyaXR5VmFsdWVKc29uIHtcbiAga2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnblJlc3BvbnNlIHtcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gIHJlY2lkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc0RldGFpbHMge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIG1lbW9JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kUGFyYW1zIHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblRyYW5zZmVyUGFyYW1zIHtcbiAgc2VuZGVyOiBzdHJpbmc7XG4gIHJlY2lwaWVudDogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkJhbGFuY2VEYXRhIHtcbiAgYmFsYW5jZTogc3RyaW5nO1xuICB0b3RhbF9zZW50OiBzdHJpbmc7XG4gIHRvdGFsX3JlY2VpdmVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0aXZlU3R4QmFsYW5jZSB7XG4gIGJhbGFuY2U6IHN0cmluZztcbiAgdG90YWxfbWluZXJfcmV3YXJkc19yZWNlaXZlZDogc3RyaW5nO1xuICBsb2NrX3R4X2lkOiBzdHJpbmc7XG4gIGxvY2tlZDogc3RyaW5nO1xuICBsb2NrX2hlaWdodDogbnVtYmVyO1xuICBidXJuY2hhaW5fbG9ja19oZWlnaHQ6IG51bWJlcjtcbiAgYnVybmNoYWluX3VubG9ja19oZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVGdW5naWJsZVRva2VuQmFsYW5jZSB7XG4gIGJhbGFuY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHhOb25jZVJlc3BvbnNlIHtcbiAgbGFzdF9tZW1wb29sX3R4X25vbmNlPzogbnVtYmVyO1xuICBsYXN0X2V4ZWN1dGVkX3R4X25vbmNlPzogbnVtYmVyO1xuICBwb3NzaWJsZV9uZXh0X25vbmNlOiBudW1iZXI7XG4gIGRldGVjdGVkX21pc3Npbmdfbm9uY2VzPzogbnVtYmVyW107XG4gIGRldGVjdGVkX21lbXBvb2xfbm9uY2VzPzogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R4VHhuRmVlRXN0aW1hdGlvblJlc3BvbnNlIHtcbiAgZXN0aW1hdGlvbnM6IHtcbiAgICBmZWVSYXRlOiBudW1iZXI7XG4gICAgZmVlOiBudW1iZXI7XG4gIH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyeU9wdGlvbnMge1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgdXNlcktleTogc3RyaW5nO1xuICByb290QWRkcmVzczogc3RyaW5nO1xuICByZWNvdmVyeURlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIGJpdGdvS2V5Pzogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBjb250cmFjdElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5SW5mbyBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHhIZXg6IHN0cmluZztcbiAgZmVlSW5mbz86IHtcbiAgICBmZWU6IHN0cmluZztcbiAgfTtcbiAgY29pbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvdmVyeVRyYW5zYWN0aW9uIHtcbiAgdHhIZXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYnRjV2l0aGRyYXdQYXJhbXMge1xuICBhbW91bnQ6IHN0cmluZztcbiAgYnRjQWRkcmVzczogc3RyaW5nO1xuICBtYXhGZWU6IHN0cmluZztcbn1cbiJdfQ==
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -2,5 +2,8 @@ export { AddressVersion, AddressHashMode } from '@stacks/transactions';
|
|
|
2
2
|
export * from './keyPair';
|
|
3
3
|
export * from './transaction';
|
|
4
4
|
export * from './transactionBuilderFactory';
|
|
5
|
+
export * from './sbtcWithdrawBuilder';
|
|
6
|
+
export * from './btcAddressUtils';
|
|
7
|
+
export * from './iface';
|
|
5
8
|
export * as Utils from './utils';
|
|
6
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,13 +18,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
18
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
19
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
20
|
};
|
|
17
|
-
var __importStar = (this && this.__importStar) || function (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
24
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
39
|
exports.Utils = exports.AddressHashMode = exports.AddressVersion = void 0;
|
|
26
40
|
var transactions_1 = require("@stacks/transactions");
|
|
@@ -29,5 +43,8 @@ Object.defineProperty(exports, "AddressHashMode", { enumerable: true, get: funct
|
|
|
29
43
|
__exportStar(require("./keyPair"), exports);
|
|
30
44
|
__exportStar(require("./transaction"), exports);
|
|
31
45
|
__exportStar(require("./transactionBuilderFactory"), exports);
|
|
46
|
+
__exportStar(require("./sbtcWithdrawBuilder"), exports);
|
|
47
|
+
__exportStar(require("./btcAddressUtils"), exports);
|
|
48
|
+
__exportStar(require("./iface"), exports);
|
|
32
49
|
exports.Utils = __importStar(require("./utils"));
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF1RTtBQUE5RCw4R0FBQSxjQUFjLE9BQUE7QUFBRSwrR0FBQSxlQUFlLE9BQUE7QUFDeEMsNENBQTBCO0FBQzFCLGdEQUE4QjtBQUM5Qiw4REFBNEM7QUFDNUMsd0RBQXNDO0FBQ3RDLG9EQUFrQztBQUNsQywwQ0FBd0I7QUFDeEIsaURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQWRkcmVzc1ZlcnNpb24sIEFkZHJlc3NIYXNoTW9kZSB9IGZyb20gJ0BzdGFja3MvdHJhbnNhY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3NidGNXaXRoZHJhd0J1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9idGNBZGRyZXNzVXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pZmFjZSc7XG5leHBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbiJdfQ==
|
package/dist/src/lib/keyPair.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.KeyPair = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
|
-
const
|
|
5
|
+
const secp256k1_1 = require("@bitgo-beta/secp256k1");
|
|
6
6
|
const transactions_1 = require("@stacks/transactions");
|
|
7
7
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
8
|
const utils_1 = require("./utils");
|
|
@@ -16,16 +16,16 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
|
16
16
|
constructor(source) {
|
|
17
17
|
super(source);
|
|
18
18
|
if (!source) {
|
|
19
|
-
const seed = crypto_1.randomBytes(constants_1.DEFAULT_SEED_SIZE_BYTES);
|
|
20
|
-
this.hdNode =
|
|
19
|
+
const seed = (0, crypto_1.randomBytes)(constants_1.DEFAULT_SEED_SIZE_BYTES);
|
|
20
|
+
this.hdNode = secp256k1_1.bip32.fromSeed(seed);
|
|
21
21
|
}
|
|
22
|
-
else if (sdk_core_1.isSeed(source)) {
|
|
23
|
-
this.hdNode =
|
|
22
|
+
else if ((0, sdk_core_1.isSeed)(source)) {
|
|
23
|
+
this.hdNode = secp256k1_1.bip32.fromSeed(source.seed);
|
|
24
24
|
}
|
|
25
|
-
else if (sdk_core_1.isPrivateKey(source)) {
|
|
25
|
+
else if ((0, sdk_core_1.isPrivateKey)(source)) {
|
|
26
26
|
this.recordKeysFromPrivateKey(source.prv);
|
|
27
27
|
}
|
|
28
|
-
else if (sdk_core_1.isPublicKey(source)) {
|
|
28
|
+
else if ((0, sdk_core_1.isPublicKey)(source)) {
|
|
29
29
|
this.recordKeysFromPublicKey(source.pub);
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
@@ -46,14 +46,14 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
|
46
46
|
* @param {string} prv A raw private key
|
|
47
47
|
*/
|
|
48
48
|
recordKeysFromPrivateKey(prv) {
|
|
49
|
-
if (!utils_1.isValidPrivateKey(prv)) {
|
|
49
|
+
if (!(0, utils_1.isValidPrivateKey)(prv)) {
|
|
50
50
|
throw new Error('Unsupported private key');
|
|
51
51
|
}
|
|
52
|
-
if (sdk_core_1.isValidXprv(prv)) {
|
|
53
|
-
this.hdNode =
|
|
52
|
+
if ((0, sdk_core_1.isValidXprv)(prv)) {
|
|
53
|
+
this.hdNode = secp256k1_1.bip32.fromBase58(prv);
|
|
54
54
|
}
|
|
55
55
|
else {
|
|
56
|
-
this.keyPair =
|
|
56
|
+
this.keyPair = secp256k1_1.ECPair.fromPrivateKey(Buffer.from(prv.slice(0, 64), 'hex'));
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
@@ -67,14 +67,14 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
|
67
67
|
* @param {string} pub A raw public key
|
|
68
68
|
*/
|
|
69
69
|
recordKeysFromPublicKey(pub) {
|
|
70
|
-
if (!utils_1.isValidPublicKey(pub)) {
|
|
70
|
+
if (!(0, utils_1.isValidPublicKey)(pub)) {
|
|
71
71
|
throw new Error('Unsupported public key');
|
|
72
72
|
}
|
|
73
|
-
if (sdk_core_1.isValidXpub(pub)) {
|
|
74
|
-
this.hdNode =
|
|
73
|
+
if ((0, sdk_core_1.isValidXpub)(pub)) {
|
|
74
|
+
this.hdNode = secp256k1_1.bip32.fromBase58(pub);
|
|
75
75
|
}
|
|
76
76
|
else {
|
|
77
|
-
this.keyPair =
|
|
77
|
+
this.keyPair = secp256k1_1.ECPair.fromPublicKey(Buffer.from(pub, 'hex'));
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
@@ -84,8 +84,7 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
|
84
84
|
* @returns {DefaultKeys} The keys in the protocol default key format
|
|
85
85
|
*/
|
|
86
86
|
getKeys(compressed = false) {
|
|
87
|
-
|
|
88
|
-
let prv = (_a = this.getPrivateKey()) === null || _a === void 0 ? void 0 : _a.toString('hex');
|
|
87
|
+
let prv = this.getPrivateKey()?.toString('hex');
|
|
89
88
|
if (prv && compressed) {
|
|
90
89
|
prv += '01';
|
|
91
90
|
}
|
|
@@ -113,8 +112,8 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
|
113
112
|
* @returns {string} The public address
|
|
114
113
|
*/
|
|
115
114
|
getSTXAddress(compressed = false, network = transactions_1.TransactionVersion.Mainnet) {
|
|
116
|
-
return transactions_1.getAddressFromPublicKey(this.getKeys(compressed).pub, network);
|
|
115
|
+
return (0, transactions_1.getAddressFromPublicKey)(this.getKeys(compressed).pub, network);
|
|
117
116
|
}
|
|
118
117
|
}
|
|
119
118
|
exports.KeyPair = KeyPair;
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBcUM7QUFDckMscURBQXNEO0FBQ3RELHVEQUFtRjtBQUNuRixtREFTOEI7QUFDOUIsbUNBQThEO0FBQzlELDJDQUFzRDtBQUV0RCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7T0FJRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEdBQUcsSUFBQSxvQkFBVyxFQUFDLG1DQUF1QixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxJQUFBLGlCQUFNLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHVCQUFZLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLElBQUEsc0JBQVcsRUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsbUNBQXdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILHdCQUF3QixDQUFDLEdBQVc7UUFDbEMsSUFBSSxDQUFDLElBQUEseUJBQWlCLEVBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELElBQUksSUFBQSxzQkFBVyxFQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsa0JBQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsdUJBQXVCLENBQUMsR0FBVztRQUNqQyxJQUFJLENBQUMsSUFBQSx3QkFBZ0IsRUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxJQUFBLHNCQUFXLEVBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsVUFBVSxHQUFHLEtBQUs7UUFDeEIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUN0QixHQUFHLElBQUksSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUN0RCxHQUFHO1NBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLGlDQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxVQUE4QixpQ0FBa0IsQ0FBQyxPQUFPO1FBQ3hGLE9BQU8sSUFBQSxzQ0FBdUIsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0Y7QUEvR0QsMEJBK0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgYmlwMzIsIEVDUGFpciB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSwgVHJhbnNhY3Rpb25WZXJzaW9uIH0gZnJvbSAnQHN0YWNrcy90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHtcbiAgRGVmYXVsdEtleXMsXG4gIGlzUHJpdmF0ZUtleSxcbiAgaXNQdWJsaWNLZXksXG4gIGlzU2VlZCxcbiAgaXNWYWxpZFhwcnYsXG4gIGlzVmFsaWRYcHViLFxuICBLZXlQYWlyT3B0aW9ucyxcbiAgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBpc1ZhbGlkUHJpdmF0ZUtleSwgaXNWYWxpZFB1YmxpY0tleSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyIHtcbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci4gQnkgZGVmYXVsdCwgY3JlYXRlcyBhIGtleSBwYWlyIHdpdGggYSByYW5kb20gbWFzdGVyIHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7IEtleVBhaXJPcHRpb25zIH0gc291cmNlIEVpdGhlciBhIG1hc3RlciBzZWVkLCBhIHByaXZhdGUga2V5LCBvciBhIHB1YmxpYyBrZXlcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VlZCA9IHJhbmRvbUJ5dGVzKERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTKTtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1NlZWQoc291cmNlKSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzb3VyY2Uuc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5yZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkoc291cmNlLnBydik7XG4gICAgfSBlbHNlIGlmIChpc1B1YmxpY0tleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHVibGljS2V5KHNvdXJjZS5wdWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhkTm9kZSkge1xuICAgICAgdGhpcy5rZXlQYWlyID0gU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLnRvS2V5UGFpcih0aGlzLmhkTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEga2V5cGFpciBmcm9tIGEgcHJvdG9jb2wgcHJpdmF0ZSBrZXkgb3IgZXh0ZW5kZWQgcHJpdmF0ZSBrZXkuXG4gICAqXG4gICAqIFRoZSBwcm90b2NvbCBwcml2YXRlIGtleSBpcyBlaXRoZXIgMzIgb3IgMzMgYnl0ZXMgbG9uZyAoNjQgb3IgNjZcbiAgICogY2hhcmFjdGVycyBoZXgpLiAgSWYgaXQgaXMgMzIgYnl0ZXMgbG9uZywgc2V0IHRoZSBrZXlwYWlyJ3MgXCJjb21wcmVzc2VkXCJcbiAgICogZmllbGQgdG8gZmFsc2UgdG8gbGF0ZXIgZ2VuZXJhdGUgdW5jb21wcmVzc2VkIHB1YmxpYyBrZXlzICh0aGUgZGVmYXVsdCkuXG4gICAqIEEgMzMgYnl0ZSBrZXkgaGFzIDB4MDEgYXMgdGhlIGxhc3QgYnl0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBydiBBIHJhdyBwcml2YXRlIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHBydjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFpc1ZhbGlkUHJpdmF0ZUtleShwcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuXG4gICAgaWYgKGlzVmFsaWRYcHJ2KHBydikpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwcnYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20ocHJ2LnNsaWNlKDAsIDY0KSwgJ2hleCcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYW4gRUNQYWlyIGZyb20gYSBwcm90b2NvbCBwdWJsaWMga2V5IG9yIGV4dGVuZGVkIHB1YmxpYyBrZXkuXG4gICAqXG4gICAqIFRoZSBwcm90b2NvbCBwdWJsaWMga2V5IGlzIGVpdGhlciAzMiBieXRlcyBvciA2NCBieXRlcyBsb25nLCB3aXRoIGFcbiAgICogb25lLWJ5dGUgcHJlZml4IChhIHRvdGFsIG9mIDY2IG9yIDEzMCBjaGFyYWN0ZXJzIGluIGhleCkuICBJZiB0aGVcbiAgICogcHJlZml4IGlzIDB4MDIgb3IgMHgwMywgaXQgaXMgYSBjb21wcmVzc2VkIHB1YmxpYyBrZXkuICBBIHByZWZpeCBvZiAweDA0XG4gICAqIGRlbm90ZXMgYW4gdW5jb21wcmVzc2VkIHB1YmxpYyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwdWIgQSByYXcgcHVibGljIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkocHViOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIWlzVmFsaWRQdWJsaWNLZXkocHViKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBwdWJsaWMga2V5Jyk7XG4gICAgfVxuXG4gICAgaWYgKGlzVmFsaWRYcHViKHB1YikpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwdWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBFQ1BhaXIuZnJvbVB1YmxpY0tleShCdWZmZXIuZnJvbShwdWIsICdoZXgnKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0YWNrcyBkZWZhdWx0IGtleXMgZm9ybWF0IGlzIHJhdyBwcml2YXRlIGFuZCB1bmNvbXByZXNzZWQgcHVibGljIGtleVxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNvbXByZXNzZWQgLSBDb21wcmVzcyBwdWJsaWMga2V5IChkZWZhdWx0cyB0byBmYWxzZSlcbiAgICogQHJldHVybnMge0RlZmF1bHRLZXlzfSBUaGUga2V5cyBpbiB0aGUgcHJvdG9jb2wgZGVmYXVsdCBrZXkgZm9ybWF0XG4gICAqL1xuICBnZXRLZXlzKGNvbXByZXNzZWQgPSBmYWxzZSk6IERlZmF1bHRLZXlzIHtcbiAgICBsZXQgcHJ2ID0gdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKTtcbiAgICBpZiAocHJ2ICYmIGNvbXByZXNzZWQpIHtcbiAgICAgIHBydiArPSAnMDEnO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBwdWI6IHRoaXMuZ2V0UHVibGljS2V5KHsgY29tcHJlc3NlZCB9KS50b1N0cmluZygnaGV4JyksXG4gICAgICBwcnYsXG4gICAgfTtcbiAgfVxuXG4gIGdldENvbXByZXNzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMua2V5UGFpci5jb21wcmVzc2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHB1YmxpYyBhZGRyZXNzIG9mIGFuIHVuY29tcHJlc3NlZCBwdWJsaWMga2V5LlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcHVibGljIGFkZHJlc3NcbiAgICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTVFhBZGRyZXNzKGZhbHNlLCBUcmFuc2FjdGlvblZlcnNpb24uTWFpbm5ldCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgcHVibGljIGFkZHJlc3Mgb2YgYW4gdW5jb21wcmVzc2VkIHB1YmxpYyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gY29tcHJlc3NlZCAtIENvbXByZXNzIHB1YmxpYyBrZXkgKGRlZmF1bHRzIHRvIGZhbHNlKVxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uVmVyc2lvbn0gbmV0d29yayAtIHNlbGVjdCBNYWlubmV0IG9yIFRlc3RuZXQgZm9yIHRoZSBhZGRyZXNzXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBwdWJsaWMgYWRkcmVzc1xuICAgKi9cbiAgZ2V0U1RYQWRkcmVzcyhjb21wcmVzc2VkID0gZmFsc2UsIG5ldHdvcms6IFRyYW5zYWN0aW9uVmVyc2lvbiA9IFRyYW5zYWN0aW9uVmVyc2lvbi5NYWlubmV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkodGhpcy5nZXRLZXlzKGNvbXByZXNzZWQpLnB1YiwgbmV0d29yayk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { Transaction } from './transaction';
|
|
3
|
+
import { SbtcWithdrawParams } from './iface';
|
|
4
|
+
import { ContractCallPayload } from '@stacks/transactions/dist/payload';
|
|
5
|
+
import { AbstractContractBuilder } from './abstractContractBuilder';
|
|
6
|
+
export declare class SbtcWithdrawBuilder extends AbstractContractBuilder {
|
|
7
|
+
private _withdrawParams;
|
|
8
|
+
private _isDeserialized;
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
/**
|
|
11
|
+
* Check whether a deserialized contract-call payload matches the sBTC withdrawal contract.
|
|
12
|
+
*/
|
|
13
|
+
static isValidContractCall(coinConfig: Readonly<CoinConfig>, payload: ContractCallPayload): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Set withdrawal parameters.
|
|
16
|
+
*
|
|
17
|
+
* @param {SbtcWithdrawParams} params - amount (satoshis), btcAddress, maxFee
|
|
18
|
+
* @returns {this}
|
|
19
|
+
*/
|
|
20
|
+
withdraw(params: SbtcWithdrawParams): this;
|
|
21
|
+
initBuilder(tx: Transaction): void;
|
|
22
|
+
/**
|
|
23
|
+
* Get the withdrawal params decoded from the deserialized/built transaction, including the
|
|
24
|
+
* raw sBTC recipient version and hash bytes (as opposed to a btcAddress string, which cannot
|
|
25
|
+
* be recovered from the on-chain args alone).
|
|
26
|
+
*/
|
|
27
|
+
getWithdrawParams(): {
|
|
28
|
+
amount: string;
|
|
29
|
+
maxFee: string;
|
|
30
|
+
recipientVersion: number;
|
|
31
|
+
recipientHashBytes: Buffer;
|
|
32
|
+
} | undefined;
|
|
33
|
+
/** @inheritdoc */
|
|
34
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
35
|
+
private withdrawParamsToFunctionArgs;
|
|
36
|
+
private withdrawParamsToPostCondition;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=sbtcWithdrawBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sbtcWithdrawBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/sbtcWithdrawBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAoD,MAAM,qBAAqB,CAAC;AAiB/G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAMpE,qBAAa,mBAAoB,SAAQ,uBAAuB;IAC9D,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,eAAe,CAAS;gBAEpB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;OAEG;WACW,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAS1G;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAc1C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAuClC;;;;OAIG;IACH,iBAAiB,IACb;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,GACxF,SAAS;IAsBb,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAqB3D,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,6BAA6B;CAqBtC"}
|