@bitgo-beta/sdk-coin-stx 1.4.3-alpha.397 → 1.4.3-alpha.399
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 +6 -0
- package/package.json +7 -7
- package/dist/src/index.d.ts +0 -7
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -46
- package/dist/src/lib/abstractContractBuilder.d.ts +0 -19
- package/dist/src/lib/abstractContractBuilder.d.ts.map +0 -1
- package/dist/src/lib/abstractContractBuilder.js +0 -70
- package/dist/src/lib/constants.d.ts +0 -9
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -21
- package/dist/src/lib/contractBuilder.d.ts +0 -33
- package/dist/src/lib/contractBuilder.d.ts.map +0 -1
- package/dist/src/lib/contractBuilder.js +0 -116
- package/dist/src/lib/fungibleTokenTransferBuilder.d.ts +0 -62
- package/dist/src/lib/fungibleTokenTransferBuilder.d.ts.map +0 -1
- package/dist/src/lib/fungibleTokenTransferBuilder.js +0 -131
- package/dist/src/lib/iface.d.ts +0 -104
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -3
- package/dist/src/lib/index.d.ts +0 -6
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -47
- package/dist/src/lib/keyPair.d.ts +0 -55
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -119
- package/dist/src/lib/sendmanyBuilder.d.ts +0 -23
- package/dist/src/lib/sendmanyBuilder.d.ts.map +0 -1
- package/dist/src/lib/sendmanyBuilder.js +0 -75
- package/dist/src/lib/transaction.d.ts +0 -49
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -241
- package/dist/src/lib/transactionBuilder.d.ts +0 -86
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -263
- package/dist/src/lib/transactionBuilderFactory.d.ts +0 -32
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilderFactory.js +0 -88
- package/dist/src/lib/transferBuilder.d.ts +0 -30
- package/dist/src/lib/transferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilder.js +0 -99
- package/dist/src/lib/utils.d.ts +0 -230
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -582
- package/dist/src/register.d.ts +0 -3
- package/dist/src/register.d.ts.map +0 -1
- package/dist/src/register.js +0 -15
- package/dist/src/sip10Token.d.ts +0 -22
- package/dist/src/sip10Token.d.ts.map +0 -1
- package/dist/src/sip10Token.js +0 -128
- package/dist/src/stx.d.ts +0 -200
- package/dist/src/stx.d.ts.map +0 -1
- package/dist/src/stx.js +0 -605
- package/dist/src/tstx.d.ts +0 -16
- package/dist/src/tstx.d.ts.map +0 -1
- package/dist/src/tstx.js +0 -24
- package/dist/src/types.d.ts +0 -34
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.10.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-stx@3.9.4...@bitgo/sdk-coin-stx@3.10.0) (2025-09-25)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- configure learn to skip git operations ([ee3a622](https://github.com/BitGo/BitGoJS/commit/ee3a6220496476aa7f4545b5f4a9a3bf97d9bdb9))
|
|
11
|
+
|
|
6
12
|
## [3.9.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-stx@3.9.3...@bitgo/sdk-coin-stx@3.9.4) (2025-09-03)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @bitgo/sdk-coin-stx
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-stx",
|
|
3
|
-
"version": "1.4.3-alpha.
|
|
3
|
+
"version": "1.4.3-alpha.399",
|
|
4
4
|
"description": "BitGo SDK coin library for Stacks",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo-beta/sdk-core": "2.4.1-alpha.
|
|
44
|
-
"@bitgo-beta/secp256k1": "1.0.1-alpha.
|
|
45
|
-
"@bitgo-beta/statics": "10.0.1-alpha.
|
|
43
|
+
"@bitgo-beta/sdk-core": "2.4.1-alpha.402",
|
|
44
|
+
"@bitgo-beta/secp256k1": "1.0.1-alpha.360",
|
|
45
|
+
"@bitgo-beta/statics": "10.0.1-alpha.402",
|
|
46
46
|
"@noble/curves": "1.8.1",
|
|
47
47
|
"@stacks/network": "^4.3.0",
|
|
48
48
|
"@stacks/transactions": "2.0.1",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"lodash": "^4.17.15"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@bitgo-beta/sdk-api": "1.6.1-alpha.
|
|
56
|
-
"@bitgo-beta/sdk-test": "
|
|
55
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.402",
|
|
56
|
+
"@bitgo-beta/sdk-test": "^9.1.0"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "c7380a4d991afeab7fb19c4e4c654e73d6fb466b"
|
|
59
59
|
}
|
package/dist/src/index.d.ts
DELETED
package/dist/src/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,OAAO,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
package/dist/src/index.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
36
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.StxLib = void 0;
|
|
40
|
-
exports.StxLib = __importStar(require("./lib"));
|
|
41
|
-
__exportStar(require("./stx"), exports);
|
|
42
|
-
__exportStar(require("./tstx"), exports);
|
|
43
|
-
__exportStar(require("./types"), exports);
|
|
44
|
-
__exportStar(require("./register"), exports);
|
|
45
|
-
__exportStar(require("./sip10Token"), exports);
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWdDO0FBQ2hDLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQiwrQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBTdHhMaWIgZnJvbSAnLi9saWInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHgnO1xuZXhwb3J0ICogZnJvbSAnLi90c3R4JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL3NpcDEwVG9rZW4nO1xuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
-
import { ClarityValue, PostCondition, PostConditionMode } from '@stacks/transactions';
|
|
3
|
-
import { Transaction } from './transaction';
|
|
4
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
-
export declare abstract class AbstractContractBuilder extends TransactionBuilder {
|
|
6
|
-
private _options;
|
|
7
|
-
protected _contractAddress: string;
|
|
8
|
-
protected _contractName: string;
|
|
9
|
-
protected _functionName: string;
|
|
10
|
-
protected _postConditionMode?: PostConditionMode;
|
|
11
|
-
protected _postConditions?: PostCondition[];
|
|
12
|
-
protected _functionArgs: ClarityValue[];
|
|
13
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
14
|
-
initBuilder(tx: Transaction): void;
|
|
15
|
-
/** @inheritdoc */
|
|
16
|
-
protected buildImplementation(): Promise<Transaction>;
|
|
17
|
-
private buildContractCallOptions;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=abstractContractBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstractContractBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/abstractContractBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EACL,YAAY,EAIZ,aAAa,EACb,iBAAiB,EAGlB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,8BAAsB,uBAAwB,SAAQ,kBAAkB;IACtE,OAAO,CAAC,QAAQ,CAAoE;IACpF,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACjD,SAAS,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5C,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;gBAE5B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAgBlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAO3D,OAAO,CAAC,wBAAwB;CA4BjC"}
|
|
@@ -1,70 +0,0 @@
|
|
|
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.AbstractContractBuilder = void 0;
|
|
7
|
-
const bn_js_1 = __importDefault(require("bn.js"));
|
|
8
|
-
const transactions_1 = require("@stacks/transactions");
|
|
9
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
10
|
-
const transactionBuilder_1 = require("./transactionBuilder");
|
|
11
|
-
class AbstractContractBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
12
|
-
constructor(_coinConfig) {
|
|
13
|
-
super(_coinConfig);
|
|
14
|
-
}
|
|
15
|
-
initBuilder(tx) {
|
|
16
|
-
const txData = tx.toJson();
|
|
17
|
-
if (txData.payload === undefined) {
|
|
18
|
-
throw new sdk_core_1.InvalidTransactionError('payload must not be undefined');
|
|
19
|
-
}
|
|
20
|
-
if (txData.payload.payloadType === transactions_1.PayloadType.ContractCall) {
|
|
21
|
-
this._contractAddress = txData.payload.contractAddress;
|
|
22
|
-
this._contractName = txData.payload.contractName;
|
|
23
|
-
this._functionName = txData.payload.functionName;
|
|
24
|
-
this._functionArgs = txData.payload.functionArgs;
|
|
25
|
-
super.initBuilder(tx);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
throw new sdk_core_1.BuildTransactionError('Transaction should be contract call');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/** @inheritdoc */
|
|
32
|
-
async buildImplementation() {
|
|
33
|
-
this._options = this.buildContractCallOptions();
|
|
34
|
-
this.transaction.setTransactionType(sdk_core_1.TransactionType.ContractCall);
|
|
35
|
-
this.transaction.stxTransaction = await (0, transactions_1.makeUnsignedContractCall)(this._options);
|
|
36
|
-
return await super.buildImplementation();
|
|
37
|
-
}
|
|
38
|
-
buildContractCallOptions() {
|
|
39
|
-
const defaultOpts = {
|
|
40
|
-
contractAddress: this._contractAddress,
|
|
41
|
-
contractName: this._contractName,
|
|
42
|
-
functionName: this._functionName,
|
|
43
|
-
functionArgs: this._functionArgs,
|
|
44
|
-
postConditionMode: this._postConditionMode,
|
|
45
|
-
postConditions: this._postConditions,
|
|
46
|
-
anchorMode: this._anchorMode,
|
|
47
|
-
network: this._network,
|
|
48
|
-
fee: new bn_js_1.default(this._fee.fee),
|
|
49
|
-
nonce: new bn_js_1.default(this._nonce),
|
|
50
|
-
};
|
|
51
|
-
if (this._fromPubKeys.length === 1) {
|
|
52
|
-
return {
|
|
53
|
-
...defaultOpts,
|
|
54
|
-
publicKey: this._fromPubKeys[0],
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
else if (this._fromPubKeys.length > 1) {
|
|
58
|
-
return {
|
|
59
|
-
...defaultOpts,
|
|
60
|
-
publicKeys: this._fromPubKeys,
|
|
61
|
-
numSignatures: this._numberSignatures,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
throw new sdk_core_1.InvalidParameterValueError('supply at least 1 public key');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.AbstractContractBuilder = AbstractContractBuilder;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RDb250cmFjdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2Fic3RyYWN0Q29udHJhY3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGtEQUEyQjtBQUMzQix1REFTOEI7QUFDOUIsbURBSzhCO0FBRTlCLDZEQUEwRDtBQUUxRCxNQUFzQix1QkFBd0IsU0FBUSx1Q0FBa0I7SUFTdEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLGtDQUF1QixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssMEJBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDakQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxNQUFNLElBQUEsdUNBQXdCLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE1BQU0sV0FBVyxHQUF3QjtZQUN2QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN0QyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDaEMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2hDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNoQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzFDLGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3RCLEdBQUcsRUFBRSxJQUFJLGVBQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUM5QixLQUFLLEVBQUUsSUFBSSxlQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUMvQixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO2dCQUNMLEdBQUcsV0FBVztnQkFDZCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7YUFDaEMsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE9BQU87Z0JBQ0wsR0FBRyxXQUFXO2dCQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDdEMsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLHFDQUEwQixDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWpFRCwwREFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgQmlnTnVtIGZyb20gJ2JuLmpzJztcbmltcG9ydCB7XG4gIENsYXJpdHlWYWx1ZSxcbiAgQ29udHJhY3RDYWxsT3B0aW9ucyxcbiAgbWFrZVVuc2lnbmVkQ29udHJhY3RDYWxsLFxuICBQYXlsb2FkVHlwZSxcbiAgUG9zdENvbmRpdGlvbixcbiAgUG9zdENvbmRpdGlvbk1vZGUsXG4gIFVuc2lnbmVkQ29udHJhY3RDYWxsT3B0aW9ucyxcbiAgVW5zaWduZWRNdWx0aVNpZ0NvbnRyYWN0Q2FsbE9wdGlvbnMsXG59IGZyb20gJ0BzdGFja3MvdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7XG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENvbnRyYWN0QnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX29wdGlvbnM6IFVuc2lnbmVkQ29udHJhY3RDYWxsT3B0aW9ucyB8IFVuc2lnbmVkTXVsdGlTaWdDb250cmFjdENhbGxPcHRpb25zO1xuICBwcm90ZWN0ZWQgX2NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2NvbnRyYWN0TmFtZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2Z1bmN0aW9uTmFtZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3Bvc3RDb25kaXRpb25Nb2RlPzogUG9zdENvbmRpdGlvbk1vZGU7XG4gIHByb3RlY3RlZCBfcG9zdENvbmRpdGlvbnM/OiBQb3N0Q29uZGl0aW9uW107XG4gIHByb3RlY3RlZCBfZnVuY3Rpb25BcmdzOiBDbGFyaXR5VmFsdWVbXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICBpZiAodHhEYXRhLnBheWxvYWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdwYXlsb2FkIG11c3Qgbm90IGJlIHVuZGVmaW5lZCcpO1xuICAgIH1cbiAgICBpZiAodHhEYXRhLnBheWxvYWQucGF5bG9hZFR5cGUgPT09IFBheWxvYWRUeXBlLkNvbnRyYWN0Q2FsbCkge1xuICAgICAgdGhpcy5fY29udHJhY3RBZGRyZXNzID0gdHhEYXRhLnBheWxvYWQuY29udHJhY3RBZGRyZXNzO1xuICAgICAgdGhpcy5fY29udHJhY3ROYW1lID0gdHhEYXRhLnBheWxvYWQuY29udHJhY3ROYW1lO1xuICAgICAgdGhpcy5fZnVuY3Rpb25OYW1lID0gdHhEYXRhLnBheWxvYWQuZnVuY3Rpb25OYW1lO1xuICAgICAgdGhpcy5fZnVuY3Rpb25BcmdzID0gdHhEYXRhLnBheWxvYWQuZnVuY3Rpb25BcmdzO1xuICAgICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiBzaG91bGQgYmUgY29udHJhY3QgY2FsbCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHRoaXMuYnVpbGRDb250cmFjdENhbGxPcHRpb25zKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zdHhUcmFuc2FjdGlvbiA9IGF3YWl0IG1ha2VVbnNpZ25lZENvbnRyYWN0Q2FsbCh0aGlzLl9vcHRpb25zKTtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENvbnRyYWN0Q2FsbE9wdGlvbnMoKTogVW5zaWduZWRDb250cmFjdENhbGxPcHRpb25zIHwgVW5zaWduZWRNdWx0aVNpZ0NvbnRyYWN0Q2FsbE9wdGlvbnMge1xuICAgIGNvbnN0IGRlZmF1bHRPcHRzOiBDb250cmFjdENhbGxPcHRpb25zID0ge1xuICAgICAgY29udHJhY3RBZGRyZXNzOiB0aGlzLl9jb250cmFjdEFkZHJlc3MsXG4gICAgICBjb250cmFjdE5hbWU6IHRoaXMuX2NvbnRyYWN0TmFtZSxcbiAgICAgIGZ1bmN0aW9uTmFtZTogdGhpcy5fZnVuY3Rpb25OYW1lLFxuICAgICAgZnVuY3Rpb25BcmdzOiB0aGlzLl9mdW5jdGlvbkFyZ3MsXG4gICAgICBwb3N0Q29uZGl0aW9uTW9kZTogdGhpcy5fcG9zdENvbmRpdGlvbk1vZGUsXG4gICAgICBwb3N0Q29uZGl0aW9uczogdGhpcy5fcG9zdENvbmRpdGlvbnMsXG4gICAgICBhbmNob3JNb2RlOiB0aGlzLl9hbmNob3JNb2RlLFxuICAgICAgbmV0d29yazogdGhpcy5fbmV0d29yayxcbiAgICAgIGZlZTogbmV3IEJpZ051bSh0aGlzLl9mZWUuZmVlKSxcbiAgICAgIG5vbmNlOiBuZXcgQmlnTnVtKHRoaXMuX25vbmNlKSxcbiAgICB9O1xuICAgIGlmICh0aGlzLl9mcm9tUHViS2V5cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRzLFxuICAgICAgICBwdWJsaWNLZXk6IHRoaXMuX2Zyb21QdWJLZXlzWzBdLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2Zyb21QdWJLZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRzLFxuICAgICAgICBwdWJsaWNLZXlzOiB0aGlzLl9mcm9tUHViS2V5cyxcbiAgICAgICAgbnVtU2lnbmF0dXJlczogdGhpcy5fbnVtYmVyU2lnbmF0dXJlcyxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignc3VwcGx5IGF0IGxlYXN0IDEgcHVibGljIGtleScpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare const FUNCTION_NAME_SENDMANY = "send-many";
|
|
2
|
-
export declare const CONTRACT_NAME_SENDMANY = "send-many-memo";
|
|
3
|
-
export declare const CONTRACT_NAME_STAKING = "pox-4";
|
|
4
|
-
export declare const FUNCTION_NAME_TRANSFER = "transfer";
|
|
5
|
-
export declare const VALID_CONTRACT_FUNCTION_NAMES: string[];
|
|
6
|
-
export declare const DEFAULT_SEED_SIZE_BYTES = 64;
|
|
7
|
-
export declare const ANCHOR_MODE = 3;
|
|
8
|
-
export declare const DEFAULT_MULTISIG_SIG_NUMBER = 2;
|
|
9
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,eAAO,MAAM,6BAA6B,UAQzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,2BAA2B,IAAI,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_MULTISIG_SIG_NUMBER = exports.ANCHOR_MODE = exports.DEFAULT_SEED_SIZE_BYTES = exports.VALID_CONTRACT_FUNCTION_NAMES = exports.FUNCTION_NAME_TRANSFER = exports.CONTRACT_NAME_STAKING = exports.CONTRACT_NAME_SENDMANY = exports.FUNCTION_NAME_SENDMANY = void 0;
|
|
4
|
-
exports.FUNCTION_NAME_SENDMANY = 'send-many';
|
|
5
|
-
exports.CONTRACT_NAME_SENDMANY = 'send-many-memo';
|
|
6
|
-
exports.CONTRACT_NAME_STAKING = 'pox-4';
|
|
7
|
-
exports.FUNCTION_NAME_TRANSFER = 'transfer';
|
|
8
|
-
exports.VALID_CONTRACT_FUNCTION_NAMES = [
|
|
9
|
-
'stack-stx',
|
|
10
|
-
'delegate-stx',
|
|
11
|
-
'delegate-stack-stx',
|
|
12
|
-
'stack-aggregation-commit',
|
|
13
|
-
'revoke-delegate-stx',
|
|
14
|
-
'send-many',
|
|
15
|
-
'transfer',
|
|
16
|
-
];
|
|
17
|
-
exports.DEFAULT_SEED_SIZE_BYTES = 64;
|
|
18
|
-
// https://github.com/stacksgov/sips/blob/main/sips/sip-005/sip-005-blocks-and-transactions.md#transaction-encoding
|
|
19
|
-
exports.ANCHOR_MODE = 3;
|
|
20
|
-
exports.DEFAULT_MULTISIG_SIG_NUMBER = 2;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQUM7QUFDckMsUUFBQSxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyxRQUFBLHFCQUFxQixHQUFHLE9BQU8sQ0FBQztBQUNoQyxRQUFBLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztBQUVwQyxRQUFBLDZCQUE2QixHQUFHO0lBQzNDLFdBQVc7SUFDWCxjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLFVBQVU7Q0FDWCxDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFMUMsbUhBQW1IO0FBQ3RHLFFBQUEsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUNoQixRQUFBLDJCQUEyQixHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX1NFTkRNQU5ZID0gJ3NlbmQtbWFueSc7XG5leHBvcnQgY29uc3QgQ09OVFJBQ1RfTkFNRV9TRU5ETUFOWSA9ICdzZW5kLW1hbnktbWVtbyc7XG5leHBvcnQgY29uc3QgQ09OVFJBQ1RfTkFNRV9TVEFLSU5HID0gJ3BveC00JztcbmV4cG9ydCBjb25zdCBGVU5DVElPTl9OQU1FX1RSQU5TRkVSID0gJ3RyYW5zZmVyJztcblxuZXhwb3J0IGNvbnN0IFZBTElEX0NPTlRSQUNUX0ZVTkNUSU9OX05BTUVTID0gW1xuICAnc3RhY2stc3R4JyxcbiAgJ2RlbGVnYXRlLXN0eCcsXG4gICdkZWxlZ2F0ZS1zdGFjay1zdHgnLFxuICAnc3RhY2stYWdncmVnYXRpb24tY29tbWl0JyxcbiAgJ3Jldm9rZS1kZWxlZ2F0ZS1zdHgnLFxuICAnc2VuZC1tYW55JyxcbiAgJ3RyYW5zZmVyJyxcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NFRURfU0laRV9CWVRFUyA9IDY0O1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc3RhY2tzZ292L3NpcHMvYmxvYi9tYWluL3NpcHMvc2lwLTAwNS9zaXAtMDA1LWJsb2Nrcy1hbmQtdHJhbnNhY3Rpb25zLm1kI3RyYW5zYWN0aW9uLWVuY29kaW5nXG5leHBvcnQgY29uc3QgQU5DSE9SX01PREUgPSAzO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTVVMVElTSUdfU0lHX05VTUJFUiA9IDI7XG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
-
import { ClarityValue } from '@stacks/transactions';
|
|
3
|
-
import { Transaction } from './transaction';
|
|
4
|
-
import { ClarityValueJson } from './iface';
|
|
5
|
-
import { AbstractContractBuilder } from './abstractContractBuilder';
|
|
6
|
-
export declare class ContractBuilder extends AbstractContractBuilder {
|
|
7
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
|
-
initBuilder(tx: Transaction): void;
|
|
9
|
-
/**
|
|
10
|
-
* Set the contract address
|
|
11
|
-
*
|
|
12
|
-
* @param {string} address the address deployed the contract
|
|
13
|
-
* @returns {ContractBuilder} the builder with the new parameter set
|
|
14
|
-
*/
|
|
15
|
-
contractAddress(address: string): this;
|
|
16
|
-
/**
|
|
17
|
-
* Set the contract name
|
|
18
|
-
*
|
|
19
|
-
* @param {string} name name of contract
|
|
20
|
-
* @returns {ContractBuilder} the builder with the new parameter set
|
|
21
|
-
*/
|
|
22
|
-
contractName(name: string): this;
|
|
23
|
-
/**
|
|
24
|
-
* Set the function name in contract
|
|
25
|
-
*
|
|
26
|
-
* @param {string} name name of function
|
|
27
|
-
* @returns {ContractBuilder} the builder with the new parameter set
|
|
28
|
-
*/
|
|
29
|
-
functionName(name: string): this;
|
|
30
|
-
functionArgs(args: ClarityValueJson[] | ClarityValue[]): this;
|
|
31
|
-
private parseCv;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=contractBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contractBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/contractBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAuC,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAKL,YAAY,EAKb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,uBAAuB;gBAC9C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAUlC;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWtC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI;IAY7D,OAAO,CAAC,OAAO;CA8BhB"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContractBuilder = void 0;
|
|
4
|
-
const transactions_1 = require("@stacks/transactions");
|
|
5
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
const _1 = require(".");
|
|
8
|
-
const constants_1 = require("./constants");
|
|
9
|
-
const abstractContractBuilder_1 = require("./abstractContractBuilder");
|
|
10
|
-
class ContractBuilder extends abstractContractBuilder_1.AbstractContractBuilder {
|
|
11
|
-
constructor(_coinConfig) {
|
|
12
|
-
super(_coinConfig);
|
|
13
|
-
}
|
|
14
|
-
initBuilder(tx) {
|
|
15
|
-
super.initBuilder(tx);
|
|
16
|
-
// Retro compatibility, checks parameters.
|
|
17
|
-
this.contractAddress(this._contractAddress);
|
|
18
|
-
this.contractName(this._contractName);
|
|
19
|
-
this.functionName(this._functionName);
|
|
20
|
-
this.functionArgs(this._functionArgs);
|
|
21
|
-
}
|
|
22
|
-
// region Contract fields
|
|
23
|
-
/**
|
|
24
|
-
* Set the contract address
|
|
25
|
-
*
|
|
26
|
-
* @param {string} address the address deployed the contract
|
|
27
|
-
* @returns {ContractBuilder} the builder with the new parameter set
|
|
28
|
-
*/
|
|
29
|
-
contractAddress(address) {
|
|
30
|
-
if (!(0, utils_1.isValidAddress)(address)) {
|
|
31
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
32
|
-
}
|
|
33
|
-
if (!_1.Utils.isValidContractAddress(address, this._coinConfig.network)) {
|
|
34
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid contract address');
|
|
35
|
-
}
|
|
36
|
-
this._contractAddress = address;
|
|
37
|
-
return this;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Set the contract name
|
|
41
|
-
*
|
|
42
|
-
* @param {string} name name of contract
|
|
43
|
-
* @returns {ContractBuilder} the builder with the new parameter set
|
|
44
|
-
*/
|
|
45
|
-
contractName(name) {
|
|
46
|
-
if (name.length === 0) {
|
|
47
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid name');
|
|
48
|
-
}
|
|
49
|
-
if (name !== constants_1.CONTRACT_NAME_STAKING && name !== constants_1.CONTRACT_NAME_SENDMANY) {
|
|
50
|
-
throw new sdk_core_1.InvalidParameterValueError('Only pox-4 and send-many-memo contracts supported');
|
|
51
|
-
}
|
|
52
|
-
this._contractName = name;
|
|
53
|
-
return this;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Set the function name in contract
|
|
57
|
-
*
|
|
58
|
-
* @param {string} name name of function
|
|
59
|
-
* @returns {ContractBuilder} the builder with the new parameter set
|
|
60
|
-
*/
|
|
61
|
-
functionName(name) {
|
|
62
|
-
if (name.length === 0) {
|
|
63
|
-
throw new sdk_core_1.InvalidParameterValueError('Invalid name');
|
|
64
|
-
}
|
|
65
|
-
if (!_1.Utils.isValidContractFunctionName(name)) {
|
|
66
|
-
throw new sdk_core_1.InvalidParameterValueError(`${name} is not supported contract function name`);
|
|
67
|
-
}
|
|
68
|
-
this._functionName = name;
|
|
69
|
-
return this;
|
|
70
|
-
}
|
|
71
|
-
functionArgs(args) {
|
|
72
|
-
this._functionArgs = args.map((arg) => {
|
|
73
|
-
if (!transactions_1.ClarityType[arg.type]) {
|
|
74
|
-
return this.parseCv(arg);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
// got direct clarity value after deserialization in fromImplementation
|
|
78
|
-
return arg;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
return this;
|
|
82
|
-
}
|
|
83
|
-
parseCv(arg) {
|
|
84
|
-
switch (arg.type) {
|
|
85
|
-
case 'optional':
|
|
86
|
-
if (arg.val === undefined) {
|
|
87
|
-
return (0, transactions_1.noneCV)();
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return (0, transactions_1.someCV)(this.parseCv(arg.val));
|
|
91
|
-
}
|
|
92
|
-
case 'tuple':
|
|
93
|
-
if (arg.val instanceof Array) {
|
|
94
|
-
const data = {};
|
|
95
|
-
arg.val.forEach((a) => {
|
|
96
|
-
data[a.key] = this.parseCv({ type: a.type, val: a.val });
|
|
97
|
-
});
|
|
98
|
-
return (0, transactions_1.tupleCV)(data);
|
|
99
|
-
}
|
|
100
|
-
throw new sdk_core_1.InvalidParameterValueError('tuple require Array val');
|
|
101
|
-
case 'buffer':
|
|
102
|
-
if (arg.val instanceof Buffer) {
|
|
103
|
-
return (0, transactions_1.bufferCV)(arg.val);
|
|
104
|
-
}
|
|
105
|
-
const nval = Number(arg.val);
|
|
106
|
-
if (nval) {
|
|
107
|
-
return (0, transactions_1.bufferCV)(Buffer.of(nval));
|
|
108
|
-
}
|
|
109
|
-
return (0, transactions_1.bufferCVFromString)(arg.val);
|
|
110
|
-
default:
|
|
111
|
-
return (0, transactions_1.encodeClarityValue)(arg.type, arg.val);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
exports.ContractBuilder = ContractBuilder;
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb250cmFjdEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBVThCO0FBQzlCLG1EQUFrRTtBQUVsRSxtQ0FBeUM7QUFFekMsd0JBQTBCO0FBQzFCLDJDQUE0RTtBQUM1RSx1RUFBb0U7QUFFcEUsTUFBYSxlQUFnQixTQUFRLGlEQUF1QjtJQUMxRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLElBQUEsc0JBQWMsRUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLENBQUMsUUFBSyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQTZCLENBQUMsRUFBRSxDQUFDO1lBQzNGLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxJQUFJLENB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O2dCQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ1QsT0FBTyxJQUFBLHVCQUFRLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO2dCQUNELE9BQU8sSUFBQSxpQ0FBa0IsRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckM7Z0JBQ0UsT0FBTyxJQUFBLGlDQUFrQixFQUFDLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBNUdELDBDQTRHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIFN0YWNrc05ldHdvcmsgYXMgQml0Z29TdGFja3NOZXR3b3JrIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBidWZmZXJDVixcbiAgYnVmZmVyQ1ZGcm9tU3RyaW5nLFxuICBDbGFyaXR5QWJpVHlwZSxcbiAgQ2xhcml0eVR5cGUsXG4gIENsYXJpdHlWYWx1ZSxcbiAgZW5jb2RlQ2xhcml0eVZhbHVlLFxuICBub25lQ1YsXG4gIHNvbWVDVixcbiAgdHVwbGVDVixcbn0gZnJvbSAnQHN0YWNrcy90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEFkZHJlc3MgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENsYXJpdHlWYWx1ZUpzb24gfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLic7XG5pbXBvcnQgeyBDT05UUkFDVF9OQU1FX1NFTkRNQU5ZLCBDT05UUkFDVF9OQU1FX1NUQUtJTkcgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyYWN0QnVpbGRlciB9IGZyb20gJy4vYWJzdHJhY3RDb250cmFjdEJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgQ29udHJhY3RCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgLy8gUmV0cm8gY29tcGF0aWJpbGl0eSwgY2hlY2tzIHBhcmFtZXRlcnMuXG4gICAgdGhpcy5jb250cmFjdEFkZHJlc3ModGhpcy5fY29udHJhY3RBZGRyZXNzKTtcbiAgICB0aGlzLmNvbnRyYWN0TmFtZSh0aGlzLl9jb250cmFjdE5hbWUpO1xuICAgIHRoaXMuZnVuY3Rpb25OYW1lKHRoaXMuX2Z1bmN0aW9uTmFtZSk7XG4gICAgdGhpcy5mdW5jdGlvbkFyZ3ModGhpcy5fZnVuY3Rpb25BcmdzKTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBDb250cmFjdCBmaWVsZHNcbiAgLyoqXG4gICAqIFNldCB0aGUgY29udHJhY3QgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyB0aGUgYWRkcmVzcyBkZXBsb3llZCB0aGUgY29udHJhY3RcbiAgICogQHJldHVybnMge0NvbnRyYWN0QnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGNvbnRyYWN0QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcycpO1xuICAgIH1cbiAgICBpZiAoIVV0aWxzLmlzVmFsaWRDb250cmFjdEFkZHJlc3MoYWRkcmVzcywgdGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrIGFzIEJpdGdvU3RhY2tzTmV0d29yaykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBjb250cmFjdCBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbnRyYWN0QWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb250cmFjdCBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIG5hbWUgb2YgY29udHJhY3RcbiAgICogQHJldHVybnMge0NvbnRyYWN0QnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGNvbnRyYWN0TmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAobmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBuYW1lJyk7XG4gICAgfVxuICAgIGlmIChuYW1lICE9PSBDT05UUkFDVF9OQU1FX1NUQUtJTkcgJiYgbmFtZSAhPT0gQ09OVFJBQ1RfTkFNRV9TRU5ETUFOWSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdPbmx5IHBveC00IGFuZCBzZW5kLW1hbnktbWVtbyBjb250cmFjdHMgc3VwcG9ydGVkJyk7XG4gICAgfVxuICAgIHRoaXMuX2NvbnRyYWN0TmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBmdW5jdGlvbiBuYW1lIGluIGNvbnRyYWN0XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIG5hbWUgb2YgZnVuY3Rpb25cbiAgICogQHJldHVybnMge0NvbnRyYWN0QnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGZ1bmN0aW9uTmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAobmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBuYW1lJyk7XG4gICAgfVxuICAgIGlmICghVXRpbHMuaXNWYWxpZENvbnRyYWN0RnVuY3Rpb25OYW1lKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoYCR7bmFtZX0gaXMgbm90IHN1cHBvcnRlZCBjb250cmFjdCBmdW5jdGlvbiBuYW1lYCk7XG4gICAgfVxuICAgIHRoaXMuX2Z1bmN0aW9uTmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmdW5jdGlvbkFyZ3MoYXJnczogQ2xhcml0eVZhbHVlSnNvbltdIHwgQ2xhcml0eVZhbHVlW10pOiB0aGlzIHtcbiAgICB0aGlzLl9mdW5jdGlvbkFyZ3MgPSBhcmdzLm1hcCgoYXJnKSA9PiB7XG4gICAgICBpZiAoIUNsYXJpdHlUeXBlW2FyZy50eXBlXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUN2KGFyZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBnb3QgZGlyZWN0IGNsYXJpdHkgdmFsdWUgYWZ0ZXIgZGVzZXJpYWxpemF0aW9uIGluIGZyb21JbXBsZW1lbnRhdGlvblxuICAgICAgICByZXR1cm4gYXJnO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUN2KGFyZzogQ2xhcml0eVZhbHVlSnNvbik6IENsYXJpdHlWYWx1ZSB7XG4gICAgc3dpdGNoIChhcmcudHlwZSkge1xuICAgICAgY2FzZSAnb3B0aW9uYWwnOlxuICAgICAgICBpZiAoYXJnLnZhbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIG5vbmVDVigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBzb21lQ1YodGhpcy5wYXJzZUN2KGFyZy52YWwpKTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAndHVwbGUnOlxuICAgICAgICBpZiAoYXJnLnZhbCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IHt9O1xuICAgICAgICAgIGFyZy52YWwuZm9yRWFjaCgoYSkgPT4ge1xuICAgICAgICAgICAgZGF0YVthLmtleV0gPSB0aGlzLnBhcnNlQ3YoeyB0eXBlOiBhLnR5cGUsIHZhbDogYS52YWwgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHR1cGxlQ1YoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCd0dXBsZSByZXF1aXJlIEFycmF5IHZhbCcpO1xuICAgICAgY2FzZSAnYnVmZmVyJzpcbiAgICAgICAgaWYgKGFyZy52YWwgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgICByZXR1cm4gYnVmZmVyQ1YoYXJnLnZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbnZhbCA9IE51bWJlcihhcmcudmFsKTtcbiAgICAgICAgaWYgKG52YWwpIHtcbiAgICAgICAgICByZXR1cm4gYnVmZmVyQ1YoQnVmZmVyLm9mKG52YWwpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYnVmZmVyQ1ZGcm9tU3RyaW5nKGFyZy52YWwpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGVuY29kZUNsYXJpdHlWYWx1ZShhcmcudHlwZSBhcyBDbGFyaXR5QWJpVHlwZSwgYXJnLnZhbCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
-
import { ClarityValue, ContractCallPayload } from '@stacks/transactions';
|
|
3
|
-
import { AbstractContractBuilder } from './abstractContractBuilder';
|
|
4
|
-
import { Transaction } from './transaction';
|
|
5
|
-
export declare class FungibleTokenTransferBuilder extends AbstractContractBuilder {
|
|
6
|
-
private _fungibleTokenTransferParams;
|
|
7
|
-
private _tokenName;
|
|
8
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
|
-
initBuilder(tx: Transaction): void;
|
|
10
|
-
/** @inheritdoc */
|
|
11
|
-
protected buildImplementation(): Promise<Transaction>;
|
|
12
|
-
/**
|
|
13
|
-
* Function to check if a transaction is a fungible token contract call
|
|
14
|
-
*
|
|
15
|
-
* @param {ContractCallPayload} payload
|
|
16
|
-
* @returns {Boolean}
|
|
17
|
-
*/
|
|
18
|
-
static isFungibleTokenTransferContractCall(payload: ContractCallPayload): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Set the token name
|
|
21
|
-
*
|
|
22
|
-
* @param {String} tokenName name of the token (@define-fungible-token value)
|
|
23
|
-
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
24
|
-
*/
|
|
25
|
-
tokenName(tokenName: string): this;
|
|
26
|
-
/**
|
|
27
|
-
* Validate contract address
|
|
28
|
-
*
|
|
29
|
-
* @param {String} address contract address
|
|
30
|
-
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
31
|
-
*/
|
|
32
|
-
contractAddress(address: string): this;
|
|
33
|
-
/**
|
|
34
|
-
* Validate contract name
|
|
35
|
-
*
|
|
36
|
-
* @param {String} name contract name
|
|
37
|
-
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
38
|
-
*/
|
|
39
|
-
contractName(name: string): this;
|
|
40
|
-
/**
|
|
41
|
-
* Validate function name
|
|
42
|
-
*
|
|
43
|
-
* @param {String} name function name
|
|
44
|
-
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
45
|
-
*/
|
|
46
|
-
functionName(name: string): this;
|
|
47
|
-
/**
|
|
48
|
-
* Validate function arguments
|
|
49
|
-
*
|
|
50
|
-
* @param {ClarityValue[]} args array of clarity value as arguments
|
|
51
|
-
* @returns {FungibleTokenTransferBuilder} This token transfer builder
|
|
52
|
-
*/
|
|
53
|
-
functionArgs(args: ClarityValue[]): this;
|
|
54
|
-
/**
|
|
55
|
-
* Function to convert token transfer params to post condition
|
|
56
|
-
*
|
|
57
|
-
* @param {TokenTransferParams} tokenTransferParams
|
|
58
|
-
* @returns {PostCondition[]} returns stx fungible post condition
|
|
59
|
-
*/
|
|
60
|
-
private tokenTransferParamsToPostCondition;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=fungibleTokenTransferBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fungibleTokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/fungibleTokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAGL,YAAY,EACZ,mBAAmB,EAKpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW5C,qBAAa,4BAA6B,SAAQ,uBAAuB;IACvE,OAAO,CAAC,4BAA4B,CAAsB;IAC1D,OAAO,CAAC,UAAU,CAAS;gBACf,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAWlC,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQ3D;;;;;OAKG;WACW,mCAAmC,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIxF;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQhC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI;IASxC;;;;;OAKG;IACH,OAAO,CAAC,kCAAkC;CAwB3C"}
|
|
@@ -1,131 +0,0 @@
|
|
|
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, `${this._contractAddress}.${this._contractName}::${this._tokenName}`),
|
|
127
|
-
];
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
exports.FungibleTokenTransferBuilder = FungibleTokenTransferBuilder;
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpREFBMEU7QUFDMUUsbURBQW1GO0FBQ25GLHVEQVM4QjtBQUM5QixrREFBMkI7QUFFM0IsdUVBQW9FO0FBRXBFLG1DQU1pQjtBQUVqQiwyQ0FBcUQ7QUFFckQsTUFBYSw0QkFBNkIsU0FBUSxpREFBdUI7SUFHdkUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUEseUNBQWlDLEVBQ2xFLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBK0IsQ0FBQyxZQUFZLENBQ2hFLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQ0FBaUIsQ0FBQyxJQUFJLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDbEcsTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVB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LENBQUMsZUFBZTtnQkFDaEMsQ0FBQyxDQUFDLDZCQUFjLENBQUMsZUFBZSxFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyw4QkFBZSxDQUFDLGNBQWMsRUFDN0YsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDLE9BQU8sRUFDVCxvQ0FBcUIsQ0FBQyxLQUFLLEVBQzNCLE1BQU0sRUFDTixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FDckU7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBMUlELG9FQTBJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgQWRkcmVzc0hhc2hNb2RlLFxuICBBZGRyZXNzVmVyc2lvbixcbiAgQ2xhcml0eVZhbHVlLFxuICBDb250cmFjdENhbGxQYXlsb2FkLFxuICBGdW5naWJsZUNvbmRpdGlvbkNvZGUsXG4gIG1ha2VTdGFuZGFyZEZ1bmdpYmxlUG9zdENvbmRpdGlvbixcbiAgUG9zdENvbmRpdGlvbixcbiAgUG9zdENvbmRpdGlvbk1vZGUsXG59IGZyb20gJ0BzdGFja3MvdHJhbnNhY3Rpb25zJztcbmltcG9ydCBCaWdOdW0gZnJvbSAnYm4uanMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyYWN0QnVpbGRlciB9IGZyb20gJy4vYWJzdHJhY3RDb250cmFjdEJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7XG4gIGZpbmRDb250cmFjdFRva2VuTmFtZVVzaW5nQ29udHJhY3QsXG4gIGZ1bmN0aW9uQXJnc1RvVG9rZW5UcmFuc2ZlclBhcmFtcyxcbiAgZ2V0U1RYQWRkcmVzc0Zyb21QdWJLZXlzLFxuICBpc1ZhbGlkQWRkcmVzcyxcbiAgaXNWYWxpZENvbnRyYWN0RnVuY3Rpb25OYW1lLFxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXJQYXJhbXMgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEZVTkNUSU9OX05BTUVfVFJBTlNGRVIgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBGdW5naWJsZVRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RDb250cmFjdEJ1aWxkZXIge1xuICBwcml2YXRlIF9mdW5naWJsZVRva2VuVHJhbnNmZXJQYXJhbXM6IFRva2VuVHJhbnNmZXJQYXJhbXM7XG4gIHByaXZhdGUgX3Rva2VuTmFtZTogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy5fZnVuZ2libGVUb2tlblRyYW5zZmVyUGFyYW1zID0gZnVuY3Rpb25BcmdzVG9Ub2tlblRyYW5zZmVyUGFyYW1zKFxuICAgICAgKHR4LnN0eFRyYW5zYWN0aW9uLnBheWxvYWQgYXMgQ29udHJhY3RDYWxsUGF5bG9hZCkuZnVuY3Rpb25BcmdzXG4gICAgKTtcbiAgICB0aGlzLmNvbnRyYWN0QWRkcmVzcyh0aGlzLl9jb250cmFjdEFkZHJlc3MpO1xuICAgIHRoaXMuY29udHJhY3ROYW1lKHRoaXMuX2NvbnRyYWN0TmFtZSk7XG4gICAgdGhpcy5mdW5jdGlvbk5hbWUodGhpcy5fZnVuY3Rpb25OYW1lKTtcbiAgICB0aGlzLmZ1bmN0aW9uQXJncyh0aGlzLl9mdW5jdGlvbkFyZ3MpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLl9wb3N0Q29uZGl0aW9uTW9kZSA9IFBvc3RDb25kaXRpb25Nb2RlLkRlbnk7XG4gICAgdGhpcy5fcG9zdENvbmRpdGlvbnMgPSB0aGlzLnRva2VuVHJhbnNmZXJQYXJhbXNUb1Bvc3RDb25kaXRpb24odGhpcy5fZnVuZ2libGVUb2tlblRyYW5zZmVyUGFyYW1zKTtcbiAgICBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGNoZWNrIGlmIGEgdHJhbnNhY3Rpb24gaXMgYSBmdW5naWJsZSB0b2tlbiBjb250cmFjdCBjYWxsXG4gICAqXG4gICAqIEBwYXJhbSB7Q29udHJhY3RDYWxsUGF5bG9hZH0gcGF5bG9hZFxuICAgKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNGdW5naWJsZVRva2VuVHJhbnNmZXJDb250cmFjdENhbGwocGF5bG9hZDogQ29udHJhY3RDYWxsUGF5bG9hZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBGVU5DVElPTl9OQU1FX1RSQU5TRkVSID09PSBwYXlsb2FkLmZ1bmN0aW9uTmFtZS5jb250ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdG9rZW4gbmFtZVxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gdG9rZW5OYW1lIG5hbWUgb2YgdGhlIHRva2VuIChAZGVmaW5lLWZ1bmdpYmxlLXRva2VuIHZhbHVlKVxuICAgKiBAcmV0dXJucyB7RnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlcn0gVGhpcyB0b2tlbiB0cmFuc2ZlciBidWlsZGVyXG4gICAqL1xuICB0b2tlbk5hbWUodG9rZW5OYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl90b2tlbk5hbWUgPSB0b2tlbk5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgY29udHJhY3QgYWRkcmVzc1xuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gYWRkcmVzcyBjb250cmFjdCBhZGRyZXNzXG4gICAqIEByZXR1cm5zIHtGdW5naWJsZVRva2VuVHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRva2VuIHRyYW5zZmVyIGJ1aWxkZXJcbiAgICovXG4gIGNvbnRyYWN0QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgYWRkcmVzcycpO1xuICAgIH1cbiAgICB0aGlzLl9jb250cmFjdEFkZHJlc3MgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGNvbnRyYWN0IG5hbWVcbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgY29udHJhY3QgbmFtZVxuICAgKiBAcmV0dXJucyB7RnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlcn0gVGhpcyB0b2tlbiB0cmFuc2ZlciBidWlsZGVyXG4gICAqL1xuICBjb250cmFjdE5hbWUobmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgbmFtZScpO1xuICAgIH1cbiAgICB0aGlzLl9jb250cmFjdE5hbWUgPSBuYW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGZ1bmN0aW9uIG5hbWVcbiAgICpcbiAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgZnVuY3Rpb24gbmFtZVxuICAgKiBAcmV0dXJucyB7RnVuZ2libGVUb2tlblRyYW5zZmVyQnVpbGRlcn0gVGhpcyB0b2tlbiB0cmFuc2ZlciBidWlsZGVyXG4gICAqL1xuICBmdW5jdGlvbk5hbWUobmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoJ0ludmFsaWQgbmFtZScpO1xuICAgIH1cbiAgICBpZiAoIWlzVmFsaWRDb250cmFjdEZ1bmN0aW9uTmFtZShuYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKGAke25hbWV9IGlzIG5vdCBzdXBwb3J0ZWQgY29udHJhY3QgZnVuY3Rpb24gbmFtZWApO1xuICAgIH1cbiAgICB0aGlzLl9mdW5jdGlvbk5hbWUgPSBuYW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGZ1bmN0aW9uIGFyZ3VtZW50c1xuICAgKlxuICAgKiBAcGFyYW0ge0NsYXJpdHlWYWx1ZVtdfSBhcmdzIGFycmF5IG9mIGNsYXJpdHkgdmFsdWUgYXMgYXJndW1lbnRzXG4gICAqIEByZXR1cm5zIHtGdW5naWJsZVRva2VuVHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRva2VuIHRyYW5zZmVyIGJ1aWxkZXJcbiAgICovXG4gIGZ1bmN0aW9uQXJncyhhcmdzOiBDbGFyaXR5VmFsdWVbXSk6IHRoaXMge1xuICAgIGlmIChhcmdzLmxlbmd0aCA8IDMpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzJyk7XG4gICAgfVxuICAgIHRoaXMuX2Z1bmN0aW9uQXJncyA9IGFyZ3M7XG4gICAgdGhpcy5fZnVuZ2libGVUb2tlblRyYW5zZmVyUGFyYW1zID0gZnVuY3Rpb25BcmdzVG9Ub2tlblRyYW5zZmVyUGFyYW1zKHRoaXMuX2Z1bmN0aW9uQXJncyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY29udmVydCB0b2tlbiB0cmFuc2ZlciBwYXJhbXMgdG8gcG9zdCBjb25kaXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtUb2tlblRyYW5zZmVyUGFyYW1zfSB0b2tlblRyYW5zZmVyUGFyYW1zXG4gICAqIEByZXR1cm5zIHtQb3N0Q29uZGl0aW9uW119IHJldHVybnMgc3R4IGZ1bmdpYmxlIHBvc3QgY29uZGl0aW9uXG4gICAqL1xuICBwcml2YXRlIHRva2VuVHJhbnNmZXJQYXJhbXNUb1Bvc3RDb25kaXRpb24odG9rZW5UcmFuc2ZlclBhcmFtczogVG9rZW5UcmFuc2ZlclBhcmFtcyk6IFBvc3RDb25kaXRpb25bXSB7XG4gICAgaWYgKCF0aGlzLl90b2tlbk5hbWUpIHtcbiAgICAgIGNvbnN0IGNvbnRyYWN0VG9rZW5OYW1lID0gZmluZENvbnRyYWN0VG9rZW5OYW1lVXNpbmdDb250cmFjdCh0aGlzLl9jb250cmFjdEFkZHJlc3MsIHRoaXMuX2NvbnRyYWN0TmFtZSk7XG4gICAgICBpZiAoY29udHJhY3RUb2tlbk5hbWUpIHtcbiAgICAgICAgdGhpcy50b2tlbk5hbWUoY29udHJhY3RUb2tlbk5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBhbW91bnQ6IEJpZ051bSA9IG5ldyBCaWdOdW0odG9rZW5UcmFuc2ZlclBhcmFtcy5hbW91bnQpO1xuICAgIHJldHVybiBbXG4gICAgICBtYWtlU3RhbmRhcmRGdW5naWJsZVBvc3RDb25kaXRpb24oXG4gICAgICAgIGdldFNUWEFkZHJlc3NGcm9tUHViS2V5cyhcbiAgICAgICAgICB0aGlzLl9mcm9tUHViS2V5cyxcbiAgICAgICAgICB0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSA9PT0gTmV0d29ya1R5cGUuTUFJTk5FVFxuICAgICAgICAgICAgPyBBZGRyZXNzVmVyc2lvbi5NYWlubmV0TXVsdGlTaWdcbiAgICAgICAgICAgIDogQWRkcmVzc1ZlcnNpb24uVGVzdG5ldE11bHRpU2lnLFxuICAgICAgICAgIHRoaXMuX2Zyb21QdWJLZXlzLmxlbmd0aCA+IDEgPyBBZGRyZXNzSGFzaE1vZGUuU2VyaWFsaXplUDJTSCA6IEFkZHJlc3NIYXNoTW9kZS5TZXJpYWxpemVQMlBLSCxcbiAgICAgICAgICB0aGlzLl9udW1iZXJTaWduYXR1cmVzXG4gICAgICAgICkuYWRkcmVzcyxcbiAgICAgICAgRnVuZ2libGVDb25kaXRpb25Db2RlLkVxdWFsLFxuICAgICAgICBhbW91bnQsXG4gICAgICAgIGAke3RoaXMuX2NvbnRyYWN0QWRkcmVzc30uJHt0aGlzLl9jb250cmFjdE5hbWV9Ojoke3RoaXMuX3Rva2VuTmFtZX1gXG4gICAgICApLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|