@bitgo/account-lib 2.19.0-rc.1 → 2.19.0-rc.12
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/DEVELOPER.md +1 -1
- package/dist/browser/bitgo-account-lib.js +1 -1
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +4 -4
- package/dist/package.json +10 -10
- package/dist/src/coin/algo/ifaces.d.ts +1 -0
- package/dist/src/coin/algo/ifaces.d.ts.map +1 -1
- package/dist/src/coin/algo/ifaces.js +1 -1
- package/dist/src/coin/algo/index.d.ts +2 -0
- package/dist/src/coin/algo/index.d.ts.map +1 -1
- package/dist/src/coin/algo/index.js +23 -2
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts +24 -5
- package/dist/src/coin/algo/keyRegistrationBuilder.d.ts.map +1 -1
- package/dist/src/coin/algo/keyRegistrationBuilder.js +100 -21
- package/dist/src/coin/algo/transaction.d.ts.map +1 -1
- package/dist/src/coin/algo/transaction.js +15 -6
- package/dist/src/coin/algo/txnSchema.d.ts.map +1 -1
- package/dist/src/coin/algo/txnSchema.js +2 -1
- package/dist/src/coin/algo/utils.d.ts +5 -0
- package/dist/src/coin/algo/utils.d.ts.map +1 -1
- package/dist/src/coin/algo/utils.js +19 -2
- package/dist/src/coin/avaxc/resources.js +3 -3
- package/dist/src/coin/avaxc/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/avaxc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/avaxc/transactionBuilder.js +1 -1
- package/dist/src/coin/baseCoin/blsKeyPair.js +7 -7
- package/dist/src/coin/baseCoin/errors.d.ts +6 -0
- package/dist/src/coin/baseCoin/errors.d.ts.map +1 -1
- package/dist/src/coin/baseCoin/errors.js +13 -2
- package/dist/src/coin/baseCoin/index.d.ts +1 -0
- package/dist/src/coin/baseCoin/index.d.ts.map +1 -1
- package/dist/src/coin/baseCoin/index.js +4 -2
- package/dist/src/coin/celo/stakingBuilder.d.ts +1 -1
- package/dist/src/coin/celo/stakingBuilder.d.ts.map +1 -1
- package/dist/src/coin/celo/stakingBuilder.js +1 -1
- package/dist/src/coin/celo/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/celo/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/celo/transactionBuilder.js +1 -1
- package/dist/src/coin/cspr/delegateBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/delegateBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/delegateBuilder.js +1 -1
- package/dist/src/coin/cspr/transaction.d.ts +1 -1
- package/dist/src/coin/cspr/transaction.d.ts.map +1 -1
- package/dist/src/coin/cspr/transaction.js +1 -1
- package/dist/src/coin/cspr/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/transactionBuilder.js +1 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/cspr/transactionBuilderFactory.js +1 -1
- package/dist/src/coin/cspr/transferBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/transferBuilder.js +1 -1
- package/dist/src/coin/cspr/undelegateBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/undelegateBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/undelegateBuilder.js +1 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/cspr/walletInitializationBuilder.js +1 -1
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/batchTransactionBuilder.js +1 -1
- package/dist/src/coin/dot/iface.d.ts +8 -2
- package/dist/src/coin/dot/iface.d.ts.map +1 -1
- package/dist/src/coin/dot/iface.js +2 -1
- package/dist/src/coin/dot/index.d.ts +2 -0
- package/dist/src/coin/dot/index.d.ts.map +1 -1
- package/dist/src/coin/dot/index.js +6 -2
- package/dist/src/coin/dot/keyPair.d.ts.map +1 -1
- package/dist/src/coin/dot/keyPair.js +4 -2
- package/dist/src/coin/dot/singletonRegistry.d.ts +7 -0
- package/dist/src/coin/dot/singletonRegistry.d.ts.map +1 -0
- package/dist/src/coin/dot/singletonRegistry.js +23 -0
- package/dist/src/coin/dot/transaction.d.ts +24 -3
- package/dist/src/coin/dot/transaction.d.ts.map +1 -1
- package/dist/src/coin/dot/transaction.js +73 -66
- package/dist/src/coin/dot/transactionBuilder.d.ts +7 -2
- package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilder.js +21 -9
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts +2 -1
- package/dist/src/coin/dot/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/dot/transactionBuilderFactory.js +6 -7
- package/dist/src/coin/dot/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/dot/transferBuilder.js +4 -3
- package/dist/src/coin/dot/txnSchema.d.ts +1 -0
- package/dist/src/coin/dot/txnSchema.d.ts.map +1 -1
- package/dist/src/coin/dot/txnSchema.js +5 -2
- package/dist/src/coin/dot/utils.d.ts +37 -4
- package/dist/src/coin/dot/utils.d.ts.map +1 -1
- package/dist/src/coin/dot/utils.js +61 -11
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts +38 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/withdrawUnstakedBuilder.js +112 -0
- package/dist/src/coin/etc/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/etc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/etc/transactionBuilder.js +1 -1
- package/dist/src/coin/eth2/keyPair.js +2 -2
- package/dist/src/coin/hbar/transaction.d.ts +1 -1
- package/dist/src/coin/hbar/transaction.d.ts.map +1 -1
- package/dist/src/coin/hbar/transaction.js +1 -1
- package/dist/src/coin/hbar/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/hbar/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/transactionBuilder.js +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/hbar/transactionBuilderFactory.js +1 -1
- package/dist/src/coin/hbar/transferBuilder.d.ts +1 -1
- package/dist/src/coin/hbar/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/transferBuilder.js +1 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts +1 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/hbar/walletInitializationBuilder.js +1 -1
- package/dist/src/coin/near/iface.d.ts +29 -0
- package/dist/src/coin/near/iface.d.ts.map +1 -0
- package/dist/src/coin/near/iface.js +8 -0
- package/dist/src/coin/near/transaction.d.ts +26 -2
- package/dist/src/coin/near/transaction.d.ts.map +1 -1
- package/dist/src/coin/near/transaction.js +110 -10
- package/dist/src/coin/near/transactionBuilder.d.ts +41 -7
- package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/transactionBuilder.js +70 -14
- package/dist/src/coin/near/transferBuilder.d.ts +14 -0
- package/dist/src/coin/near/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/near/transferBuilder.js +52 -2
- package/dist/src/coin/near/utils.d.ts +18 -2
- package/dist/src/coin/near/utils.d.ts.map +1 -1
- package/dist/src/coin/near/utils.js +36 -9
- package/dist/src/coin/rbtc/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/rbtc/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/rbtc/transactionBuilder.js +1 -1
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts +2 -0
- package/dist/src/coin/sol/ataInitializationBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/ataInitializationBuilder.js +7 -5
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts +14 -0
- package/dist/src/coin/sol/ataInitializationTransaction.d.ts.map +1 -0
- package/dist/src/coin/sol/ataInitializationTransaction.js +104 -0
- package/dist/src/coin/sol/constants.d.ts +3 -1
- package/dist/src/coin/sol/constants.d.ts.map +1 -1
- package/dist/src/coin/sol/constants.js +4 -1
- package/dist/src/coin/sol/iface.d.ts +12 -3
- package/dist/src/coin/sol/iface.d.ts.map +1 -1
- package/dist/src/coin/sol/iface.js +1 -1
- package/dist/src/coin/sol/index.d.ts +2 -1
- package/dist/src/coin/sol/index.d.ts.map +1 -1
- package/dist/src/coin/sol/index.js +4 -2
- package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -1
- package/dist/src/coin/sol/instructionParamsFactory.js +17 -1
- package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -1
- package/dist/src/coin/sol/solInstructionFactory.js +33 -1
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts +85 -0
- package/dist/src/coin/sol/tokenEncodeDecode.d.ts.map +1 -0
- package/dist/src/coin/sol/tokenEncodeDecode.js +162 -0
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts +27 -0
- package/dist/src/coin/sol/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/tokenTransferBuilder.js +146 -0
- package/dist/src/coin/sol/transaction.d.ts +5 -2
- package/dist/src/coin/sol/transaction.d.ts.map +1 -1
- package/dist/src/coin/sol/transaction.js +25 -22
- package/dist/src/coin/sol/transactionBuilder.d.ts +1 -1
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/transactionBuilder.js +1 -1
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +6 -1
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/coin/sol/transactionBuilderFactory.js +19 -4
- package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -1
- package/dist/src/coin/sol/transferBuilder.js +1 -1
- package/dist/src/coin/sol/utils.d.ts.map +1 -1
- package/dist/src/coin/sol/utils.js +4 -3
- package/dist/src/coin/stx/utils.d.ts +29 -0
- package/dist/src/coin/stx/utils.d.ts.map +1 -1
- package/dist/src/coin/stx/utils.js +50 -2
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -2
- package/dist/src/mpc/tss.d.ts +6 -6
- package/dist/src/mpc/tss.d.ts.map +1 -1
- package/dist/src/mpc/tss.js +3 -2
- package/dist/src/utils/crypto.d.ts +15 -0
- package/dist/src/utils/crypto.d.ts.map +1 -1
- package/dist/src/utils/crypto.js +33 -2
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -10
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.decodeTransferCheckedInstruction = exports.TokenInvalidInstructionTypeError = exports.TokenInvalidInstructionKeysError = exports.TokenInvalidInstructionProgramError = exports.TokenError = exports.TokenInstruction = void 0;
|
|
19
|
+
var spl_token_1 = require("@solana/spl-token");
|
|
20
|
+
var BigNumber = require('bignumber.js');
|
|
21
|
+
/*
|
|
22
|
+
IMPORTANT:
|
|
23
|
+
|
|
24
|
+
Since token transfer encoding and decoding is in alpha (v 0.2.0-alpha.2), a version that is currently not functional due to typing bugs,
|
|
25
|
+
this file is the cherry-picked methods that are required to complete the token transfer feature. When the Solana foundation releases a stable
|
|
26
|
+
version, this file should be deleted and the spl-token methods should be used.
|
|
27
|
+
*/
|
|
28
|
+
var TokenInstruction;
|
|
29
|
+
(function (TokenInstruction) {
|
|
30
|
+
TokenInstruction[TokenInstruction["InitializeMint"] = 0] = "InitializeMint";
|
|
31
|
+
TokenInstruction[TokenInstruction["InitializeAccount"] = 1] = "InitializeAccount";
|
|
32
|
+
TokenInstruction[TokenInstruction["InitializeMultisig"] = 2] = "InitializeMultisig";
|
|
33
|
+
TokenInstruction[TokenInstruction["Transfer"] = 3] = "Transfer";
|
|
34
|
+
TokenInstruction[TokenInstruction["Approve"] = 4] = "Approve";
|
|
35
|
+
TokenInstruction[TokenInstruction["Revoke"] = 5] = "Revoke";
|
|
36
|
+
TokenInstruction[TokenInstruction["SetAuthority"] = 6] = "SetAuthority";
|
|
37
|
+
TokenInstruction[TokenInstruction["MintTo"] = 7] = "MintTo";
|
|
38
|
+
TokenInstruction[TokenInstruction["Burn"] = 8] = "Burn";
|
|
39
|
+
TokenInstruction[TokenInstruction["CloseAccount"] = 9] = "CloseAccount";
|
|
40
|
+
TokenInstruction[TokenInstruction["FreezeAccount"] = 10] = "FreezeAccount";
|
|
41
|
+
TokenInstruction[TokenInstruction["ThawAccount"] = 11] = "ThawAccount";
|
|
42
|
+
TokenInstruction[TokenInstruction["TransferChecked"] = 12] = "TransferChecked";
|
|
43
|
+
TokenInstruction[TokenInstruction["ApproveChecked"] = 13] = "ApproveChecked";
|
|
44
|
+
TokenInstruction[TokenInstruction["MintToChecked"] = 14] = "MintToChecked";
|
|
45
|
+
TokenInstruction[TokenInstruction["BurnChecked"] = 15] = "BurnChecked";
|
|
46
|
+
TokenInstruction[TokenInstruction["InitializeAccount2"] = 16] = "InitializeAccount2";
|
|
47
|
+
TokenInstruction[TokenInstruction["SyncNative"] = 17] = "SyncNative";
|
|
48
|
+
TokenInstruction[TokenInstruction["InitializeAccount3"] = 18] = "InitializeAccount3";
|
|
49
|
+
TokenInstruction[TokenInstruction["InitializeMultisig2"] = 19] = "InitializeMultisig2";
|
|
50
|
+
TokenInstruction[TokenInstruction["InitializeMint2"] = 20] = "InitializeMint2";
|
|
51
|
+
})(TokenInstruction = exports.TokenInstruction || (exports.TokenInstruction = {}));
|
|
52
|
+
var TokenError = /** @class */ (function (_super) {
|
|
53
|
+
__extends(TokenError, _super);
|
|
54
|
+
function TokenError(message) {
|
|
55
|
+
return _super.call(this, message) || this;
|
|
56
|
+
}
|
|
57
|
+
return TokenError;
|
|
58
|
+
}(Error));
|
|
59
|
+
exports.TokenError = TokenError;
|
|
60
|
+
/** Thrown if an instruction's program is invalid */
|
|
61
|
+
var TokenInvalidInstructionProgramError = /** @class */ (function (_super) {
|
|
62
|
+
__extends(TokenInvalidInstructionProgramError, _super);
|
|
63
|
+
function TokenInvalidInstructionProgramError() {
|
|
64
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
65
|
+
_this.name = 'TokenInvalidInstructionProgramError';
|
|
66
|
+
return _this;
|
|
67
|
+
}
|
|
68
|
+
return TokenInvalidInstructionProgramError;
|
|
69
|
+
}(TokenError));
|
|
70
|
+
exports.TokenInvalidInstructionProgramError = TokenInvalidInstructionProgramError;
|
|
71
|
+
/** Thrown if an instruction's keys are invalid */
|
|
72
|
+
var TokenInvalidInstructionKeysError = /** @class */ (function (_super) {
|
|
73
|
+
__extends(TokenInvalidInstructionKeysError, _super);
|
|
74
|
+
function TokenInvalidInstructionKeysError() {
|
|
75
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
76
|
+
_this.name = 'TokenInvalidInstructionKeysError';
|
|
77
|
+
return _this;
|
|
78
|
+
}
|
|
79
|
+
return TokenInvalidInstructionKeysError;
|
|
80
|
+
}(TokenError));
|
|
81
|
+
exports.TokenInvalidInstructionKeysError = TokenInvalidInstructionKeysError;
|
|
82
|
+
/** Thrown if an instruction's type is invalid */
|
|
83
|
+
var TokenInvalidInstructionTypeError = /** @class */ (function (_super) {
|
|
84
|
+
__extends(TokenInvalidInstructionTypeError, _super);
|
|
85
|
+
function TokenInvalidInstructionTypeError() {
|
|
86
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
87
|
+
_this.name = 'TokenInvalidInstructionTypeError';
|
|
88
|
+
return _this;
|
|
89
|
+
}
|
|
90
|
+
return TokenInvalidInstructionTypeError;
|
|
91
|
+
}(TokenError));
|
|
92
|
+
exports.TokenInvalidInstructionTypeError = TokenInvalidInstructionTypeError;
|
|
93
|
+
/**
|
|
94
|
+
* Decode a TransferChecked instruction and validate it
|
|
95
|
+
*
|
|
96
|
+
* @param instruction Transaction instruction to decode
|
|
97
|
+
* @param programId SPL Token program account
|
|
98
|
+
*
|
|
99
|
+
* @return Decoded, valid instruction
|
|
100
|
+
*/
|
|
101
|
+
function decodeTransferCheckedInstruction(instruction, programId) {
|
|
102
|
+
if (programId === void 0) { programId = spl_token_1.TOKEN_PROGRAM_ID; }
|
|
103
|
+
if (!instruction.programId.equals(programId))
|
|
104
|
+
throw new TokenInvalidInstructionProgramError();
|
|
105
|
+
var _a = decodeTransferCheckedInstructionUnchecked(instruction), _b = _a.keys, source = _b.source, mint = _b.mint, destination = _b.destination, owner = _b.owner, multiSigners = _b.multiSigners, data = _a.data;
|
|
106
|
+
if (data.instruction !== TokenInstruction.TransferChecked)
|
|
107
|
+
throw new TokenInvalidInstructionTypeError();
|
|
108
|
+
if (!source || !mint || !destination || !owner)
|
|
109
|
+
throw new TokenInvalidInstructionKeysError();
|
|
110
|
+
return {
|
|
111
|
+
programId: programId,
|
|
112
|
+
keys: {
|
|
113
|
+
source: source,
|
|
114
|
+
mint: mint,
|
|
115
|
+
destination: destination,
|
|
116
|
+
owner: owner,
|
|
117
|
+
multiSigners: multiSigners,
|
|
118
|
+
},
|
|
119
|
+
data: data,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
exports.decodeTransferCheckedInstruction = decodeTransferCheckedInstruction;
|
|
123
|
+
function readBigUInt64LE(buffer, offset) {
|
|
124
|
+
if (offset === void 0) { offset = 0; }
|
|
125
|
+
var first = buffer[offset];
|
|
126
|
+
var last = buffer[offset + 7];
|
|
127
|
+
if (first === undefined || last === undefined) {
|
|
128
|
+
throw new Error('Out of bounds');
|
|
129
|
+
}
|
|
130
|
+
var lo = first + buffer[++offset] * Math.pow(2, 8) + buffer[++offset] * Math.pow(2, 16) + buffer[++offset] * Math.pow(2, 24);
|
|
131
|
+
var hi = buffer[++offset] + buffer[++offset] * Math.pow(2, 8) + buffer[++offset] * Math.pow(2, 16) + last * Math.pow(2, 24);
|
|
132
|
+
return (BigNumber(lo) + (BigNumber(hi) << BigNumber(32))) / 10;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Decode a TransferChecked instruction without validating it
|
|
136
|
+
*
|
|
137
|
+
* @param instruction Transaction instruction to decode
|
|
138
|
+
*
|
|
139
|
+
* @return Decoded, non-validated instruction
|
|
140
|
+
*/
|
|
141
|
+
function decodeTransferCheckedInstructionUnchecked(_a) {
|
|
142
|
+
var programId = _a.programId, _b = _a.keys, source = _b[0], mint = _b[1], destination = _b[2], owner = _b[3], multiSigners = _b.slice(4), data = _a.data;
|
|
143
|
+
var type = data.slice(0, 1).readUInt8(0);
|
|
144
|
+
var amount = readBigUInt64LE(data.slice(1, 9), 0);
|
|
145
|
+
var decimals = data.slice(9).readUInt8(0);
|
|
146
|
+
return {
|
|
147
|
+
programId: programId,
|
|
148
|
+
keys: {
|
|
149
|
+
source: source,
|
|
150
|
+
mint: mint,
|
|
151
|
+
destination: destination,
|
|
152
|
+
owner: owner,
|
|
153
|
+
multiSigners: multiSigners,
|
|
154
|
+
},
|
|
155
|
+
data: {
|
|
156
|
+
instruction: type,
|
|
157
|
+
amount: amount,
|
|
158
|
+
decimals: decimals,
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5FbmNvZGVEZWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zb2wvdG9rZW5FbmNvZGVEZWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUEsK0NBQXFEO0FBQ3JELElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUUxQzs7Ozs7O0dBTUc7QUFFSCxJQUFZLGdCQXNCWDtBQXRCRCxXQUFZLGdCQUFnQjtJQUMxQiwyRUFBa0IsQ0FBQTtJQUNsQixpRkFBcUIsQ0FBQTtJQUNyQixtRkFBc0IsQ0FBQTtJQUN0QiwrREFBWSxDQUFBO0lBQ1osNkRBQVcsQ0FBQTtJQUNYLDJEQUFVLENBQUE7SUFDVix1RUFBZ0IsQ0FBQTtJQUNoQiwyREFBVSxDQUFBO0lBQ1YsdURBQVEsQ0FBQTtJQUNSLHVFQUFnQixDQUFBO0lBQ2hCLDBFQUFrQixDQUFBO0lBQ2xCLHNFQUFnQixDQUFBO0lBQ2hCLDhFQUFvQixDQUFBO0lBQ3BCLDRFQUFtQixDQUFBO0lBQ25CLDBFQUFrQixDQUFBO0lBQ2xCLHNFQUFnQixDQUFBO0lBQ2hCLG9GQUF1QixDQUFBO0lBQ3ZCLG9FQUFlLENBQUE7SUFDZixvRkFBdUIsQ0FBQTtJQUN2QixzRkFBd0IsQ0FBQTtJQUN4Qiw4RUFBb0IsQ0FBQTtBQUN0QixDQUFDLEVBdEJXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBc0IzQjtBQUVEO0lBQXlDLDhCQUFLO0lBRTVDLG9CQUFZLE9BQWdCO2VBQzFCLGtCQUFNLE9BQU8sQ0FBQztJQUNoQixDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBTEQsQ0FBeUMsS0FBSyxHQUs3QztBQUxxQixnQ0FBVTtBQU9oQyxvREFBb0Q7QUFDcEQ7SUFBeUQsdURBQVU7SUFBbkU7UUFBQSxxRUFFQztRQURDLFVBQUksR0FBRyxxQ0FBcUMsQ0FBQzs7SUFDL0MsQ0FB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QUFFLENBQUM7QUFDakUsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQVMseUNBQXlDLENBQUMsRUFJMUI7UUFIdkIsU0FBUyxlQUFBLEVBQ1QsWUFBeUQsRUFBbEQsTUFBTSxRQUFBLEVBQUUsSUFBSSxRQUFBLEVBQUUsV0FBVyxRQUFBLEVBQUUsS0FBSyxRQUFBLEVBQUssWUFBWSxjQUFBLEVBQ3hELElBQUksVUFBQTtJQUVKLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsT0FBTztRQUNMLFNBQVMsV0FBQTtRQUNULElBQUksRUFBRTtZQUNKLE1BQU0sUUFBQTtZQUNOLElBQUksTUFBQTtZQUNKLFdBQVcsYUFBQTtZQUNYLEtBQUssT0FBQTtZQUNMLFlBQVksY0FBQTtTQUNiO1FBQ0QsSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsUUFBUTtTQUNuQjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQWNjb3VudE1ldGEsIFB1YmxpY0tleSwgVHJhbnNhY3Rpb25JbnN0cnVjdGlvbiB9IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5pbXBvcnQgeyBUT0tFTl9QUk9HUkFNX0lEIH0gZnJvbSAnQHNvbGFuYS9zcGwtdG9rZW4nO1xuY29uc3QgQmlnTnVtYmVyID0gcmVxdWlyZSgnYmlnbnVtYmVyLmpzJyk7XG5cbi8qXG4gIElNUE9SVEFOVDpcblxuICBTaW5jZSB0b2tlbiB0cmFuc2ZlciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgaXMgaW4gYWxwaGEgKHYgMC4yLjAtYWxwaGEuMiksIGEgdmVyc2lvbiB0aGF0IGlzIGN1cnJlbnRseSBub3QgZnVuY3Rpb25hbCBkdWUgdG8gdHlwaW5nIGJ1Z3MsXG4gIHRoaXMgZmlsZSBpcyB0aGUgY2hlcnJ5LXBpY2tlZCBtZXRob2RzIHRoYXQgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoZSB0b2tlbiB0cmFuc2ZlciBmZWF0dXJlLiBXaGVuIHRoZSBTb2xhbmEgZm91bmRhdGlvbiByZWxlYXNlcyBhIHN0YWJsZVxuICB2ZXJzaW9uLCB0aGlzIGZpbGUgc2hvdWxkIGJlIGRlbGV0ZWQgYW5kIHRoZSBzcGwtdG9rZW4gbWV0aG9kcyBzaG91bGQgYmUgdXNlZC5cbiAqL1xuXG5leHBvcnQgZW51bSBUb2tlbkluc3RydWN0aW9uIHtcbiAgSW5pdGlhbGl6ZU1pbnQgPSAwLFxuICBJbml0aWFsaXplQWNjb3VudCA9IDEsXG4gIEluaXRpYWxpemVNdWx0aXNpZyA9IDIsXG4gIFRyYW5zZmVyID0gMyxcbiAgQXBwcm92ZSA9IDQsXG4gIFJldm9rZSA9IDUsXG4gIFNldEF1dGhvcml0eSA9IDYsXG4gIE1pbnRUbyA9IDcsXG4gIEJ1cm4gPSA4LFxuICBDbG9zZUFjY291bnQgPSA5LFxuICBGcmVlemVBY2NvdW50ID0gMTAsXG4gIFRoYXdBY2NvdW50ID0gMTEsXG4gIFRyYW5zZmVyQ2hlY2tlZCA9IDEyLFxuICBBcHByb3ZlQ2hlY2tlZCA9IDEzLFxuICBNaW50VG9DaGVja2VkID0gMTQsXG4gIEJ1cm5DaGVja2VkID0gMTUsXG4gIEluaXRpYWxpemVBY2NvdW50MiA9IDE2LFxuICBTeW5jTmF0aXZlID0gMTcsXG4gIEluaXRpYWxpemVBY2NvdW50MyA9IDE4LFxuICBJbml0aWFsaXplTXVsdGlzaWcyID0gMTksXG4gIEluaXRpYWxpemVNaW50MiA9IDIwLFxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVG9rZW5FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cbn1cblxuLyoqIFRocm93biBpZiBhbiBpbnN0cnVjdGlvbidzIHByb2dyYW0gaXMgaW52YWxpZCAqL1xuZXhwb3J0IGNsYXNzIFRva2VuSW52YWxpZEluc3RydWN0aW9uUHJvZ3JhbUVycm9yIGV4dGVuZHMgVG9rZW5FcnJvciB7XG4gIG5hbWUgPSAnVG9rZW5JbnZhbGlkSW5zdHJ1Y3Rpb25Qcm9ncmFtRXJyb3InO1xufVxuXG4vKiogVGhyb3duIGlmIGFuIGluc3RydWN0aW9uJ3Mga2V5cyBhcmUgaW52YWxpZCAqL1xuZXhwb3J0IGNsYXNzIFRva2VuSW52YWxpZEluc3RydWN0aW9uS2V5c0Vycm9yIGV4dGVuZHMgVG9rZW5FcnJvciB7XG4gIG5hbWUgPSAnVG9rZW5JbnZhbGlkSW5zdHJ1Y3Rpb25LZXlzRXJyb3InO1xufVxuXG4vKiogVGhyb3duIGlmIGFuIGluc3RydWN0aW9uJ3MgdHlwZSBpcyBpbnZhbGlkICovXG5leHBvcnQgY2xhc3MgVG9rZW5JbnZhbGlkSW5zdHJ1Y3Rpb25UeXBlRXJyb3IgZXh0ZW5kcyBUb2tlbkVycm9yIHtcbiAgbmFtZSA9ICdUb2tlbkludmFsaWRJbnN0cnVjdGlvblR5cGVFcnJvcic7XG59XG5cbi8qKiBBIGRlY29kZWQsIHZhbGlkIFRyYW5zZmVyQ2hlY2tlZCBpbnN0cnVjdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWNvZGVkVHJhbnNmZXJDaGVja2VkSW5zdHJ1Y3Rpb24ge1xuICBwcm9ncmFtSWQ6IFB1YmxpY0tleTtcbiAga2V5czoge1xuICAgIHNvdXJjZTogQWNjb3VudE1ldGE7XG4gICAgbWludDogQWNjb3VudE1ldGE7XG4gICAgZGVzdGluYXRpb246IEFjY291bnRNZXRhO1xuICAgIG93bmVyOiBBY2NvdW50TWV0YTtcbiAgICBtdWx0aVNpZ25lcnM6IEFjY291bnRNZXRhW107XG4gIH07XG4gIGRhdGE6IHtcbiAgICBpbnN0cnVjdGlvbjogVG9rZW5JbnN0cnVjdGlvbi5UcmFuc2ZlckNoZWNrZWQ7XG4gICAgYW1vdW50OiBudW1iZXI7XG4gICAgZGVjaW1hbHM6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBEZWNvZGUgYSBUcmFuc2ZlckNoZWNrZWQgaW5zdHJ1Y3Rpb24gYW5kIHZhbGlkYXRlIGl0XG4gKlxuICogQHBhcmFtIGluc3RydWN0aW9uIFRyYW5zYWN0aW9uIGluc3RydWN0aW9uIHRvIGRlY29kZVxuICogQHBhcmFtIHByb2dyYW1JZCAgIFNQTCBUb2tlbiBwcm9ncmFtIGFjY291bnRcbiAqXG4gKiBAcmV0dXJuIERlY29kZWQsIHZhbGlkIGluc3RydWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvbihcbiAgaW5zdHJ1Y3Rpb246IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb24sXG4gIHByb2dyYW1JZCA9IFRPS0VOX1BST0dSQU1fSUQsXG4pOiBEZWNvZGVkVHJhbnNmZXJDaGVja2VkSW5zdHJ1Y3Rpb24ge1xuICBpZiAoIWluc3RydWN0aW9uLnByb2dyYW1JZC5lcXVhbHMocHJvZ3JhbUlkKSkgdGhyb3cgbmV3IFRva2VuSW52YWxpZEluc3RydWN0aW9uUHJvZ3JhbUVycm9yKCk7XG5cbiAgY29uc3Qge1xuICAgIGtleXM6IHsgc291cmNlLCBtaW50LCBkZXN0aW5hdGlvbiwgb3duZXIsIG11bHRpU2lnbmVycyB9LFxuICAgIGRhdGEsXG4gIH0gPSBkZWNvZGVUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvblVuY2hlY2tlZChpbnN0cnVjdGlvbik7XG4gIGlmIChkYXRhLmluc3RydWN0aW9uICE9PSBUb2tlbkluc3RydWN0aW9uLlRyYW5zZmVyQ2hlY2tlZCkgdGhyb3cgbmV3IFRva2VuSW52YWxpZEluc3RydWN0aW9uVHlwZUVycm9yKCk7XG4gIGlmICghc291cmNlIHx8ICFtaW50IHx8ICFkZXN0aW5hdGlvbiB8fCAhb3duZXIpIHRocm93IG5ldyBUb2tlbkludmFsaWRJbnN0cnVjdGlvbktleXNFcnJvcigpO1xuXG4gIHJldHVybiB7XG4gICAgcHJvZ3JhbUlkLFxuICAgIGtleXM6IHtcbiAgICAgIHNvdXJjZSxcbiAgICAgIG1pbnQsXG4gICAgICBkZXN0aW5hdGlvbixcbiAgICAgIG93bmVyLFxuICAgICAgbXVsdGlTaWduZXJzLFxuICAgIH0sXG4gICAgZGF0YSxcbiAgfTtcbn1cblxuLyoqIEEgZGVjb2RlZCwgbm9uLXZhbGlkYXRlZCBUcmFuc2ZlckNoZWNrZWQgaW5zdHJ1Y3Rpb24gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb2RlZFRyYW5zZmVyQ2hlY2tlZEluc3RydWN0aW9uVW5jaGVja2VkIHtcbiAgcHJvZ3JhbUlkOiBQdWJsaWNLZXk7XG4gIGtleXM6IHtcbiAgICBzb3VyY2U6IEFjY291bnRNZXRhIHwgdW5kZWZpbmVkO1xuICAgIG1pbnQ6IEFjY291bnRNZXRhIHwgdW5kZWZpbmVkO1xuICAgIGRlc3RpbmF0aW9uOiBBY2NvdW50TWV0YSB8IHVuZGVmaW5lZDtcbiAgICBvd25lcjogQWNjb3VudE1ldGEgfCB1bmRlZmluZWQ7XG4gICAgbXVsdGlTaWduZXJzOiBBY2NvdW50TWV0YVtdO1xuICB9O1xuICBkYXRhOiB7XG4gICAgaW5zdHJ1Y3Rpb246IG51bWJlcjtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBkZWNpbWFsczogbnVtYmVyO1xuICB9O1xufVxuXG5mdW5jdGlvbiByZWFkQmlnVUludDY0TEUoYnVmZmVyLCBvZmZzZXQgPSAwKSB7XG4gIGNvbnN0IGZpcnN0ID0gYnVmZmVyW29mZnNldF07XG4gIGNvbnN0IGxhc3QgPSBidWZmZXJbb2Zmc2V0ICsgN107XG4gIGlmIChmaXJzdCA9PT0gdW5kZWZpbmVkIHx8IGxhc3QgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignT3V0IG9mIGJvdW5kcycpO1xuICB9XG5cbiAgY29uc3QgbG8gPSBmaXJzdCArIGJ1ZmZlclsrK29mZnNldF0gKiAyICoqIDggKyBidWZmZXJbKytvZmZzZXRdICogMiAqKiAxNiArIGJ1ZmZlclsrK29mZnNldF0gKiAyICoqIDI0O1xuICBjb25zdCBoaSA9IGJ1ZmZlclsrK29mZnNldF0gKyBidWZmZXJbKytvZmZzZXRdICogMiAqKiA4ICsgYnVmZmVyWysrb2Zmc2V0XSAqIDIgKiogMTYgKyBsYXN0ICogMiAqKiAyNDtcblxuICByZXR1cm4gKEJpZ051bWJlcihsbykgKyAoQmlnTnVtYmVyKGhpKSA8PCBCaWdOdW1iZXIoMzIpKSkgLyAxMDtcbn1cblxuLyoqXG4gKiBEZWNvZGUgYSBUcmFuc2ZlckNoZWNrZWQgaW5zdHJ1Y3Rpb24gd2l0aG91dCB2YWxpZGF0aW5nIGl0XG4gKlxuICogQHBhcmFtIGluc3RydWN0aW9uIFRyYW5zYWN0aW9uIGluc3RydWN0aW9uIHRvIGRlY29kZVxuICpcbiAqIEByZXR1cm4gRGVjb2RlZCwgbm9uLXZhbGlkYXRlZCBpbnN0cnVjdGlvblxuICovXG5mdW5jdGlvbiBkZWNvZGVUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvblVuY2hlY2tlZCh7XG4gIHByb2dyYW1JZCxcbiAga2V5czogW3NvdXJjZSwgbWludCwgZGVzdGluYXRpb24sIG93bmVyLCAuLi5tdWx0aVNpZ25lcnNdLFxuICBkYXRhLFxufTogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbik6IERlY29kZWRUcmFuc2ZlckNoZWNrZWRJbnN0cnVjdGlvblVuY2hlY2tlZCB7XG4gIGNvbnN0IHR5cGUgPSBkYXRhLnNsaWNlKDAsIDEpLnJlYWRVSW50OCgwKTtcbiAgY29uc3QgYW1vdW50ID0gcmVhZEJpZ1VJbnQ2NExFKGRhdGEuc2xpY2UoMSwgOSksIDApO1xuICBjb25zdCBkZWNpbWFscyA9IGRhdGEuc2xpY2UoOSkucmVhZFVJbnQ4KDApO1xuICByZXR1cm4ge1xuICAgIHByb2dyYW1JZCxcbiAgICBrZXlzOiB7XG4gICAgICBzb3VyY2UsXG4gICAgICBtaW50LFxuICAgICAgZGVzdGluYXRpb24sXG4gICAgICBvd25lcixcbiAgICAgIG11bHRpU2lnbmVycyxcbiAgICB9LFxuICAgIGRhdGE6IHtcbiAgICAgIGluc3RydWN0aW9uOiB0eXBlLFxuICAgICAgYW1vdW50OiBhbW91bnQsXG4gICAgICBkZWNpbWFsczogZGVjaW1hbHMsXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { Transaction } from './transaction';
|
|
3
|
+
import { TransactionType } from '../baseCoin';
|
|
4
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
+
export interface SendParams {
|
|
6
|
+
address: string;
|
|
7
|
+
amount: string;
|
|
8
|
+
mintAddress: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class TokenTransferBuilder extends TransactionBuilder {
|
|
11
|
+
private _sendParams;
|
|
12
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
13
|
+
protected get transactionType(): TransactionType;
|
|
14
|
+
initBuilder(tx: Transaction): void;
|
|
15
|
+
/**
|
|
16
|
+
* Set a transfer
|
|
17
|
+
*
|
|
18
|
+
* @param {string} fromAddress - the sender address
|
|
19
|
+
* @param {string} amount - the amount sent
|
|
20
|
+
* @param {string} mintAddress - the token's mint address
|
|
21
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
22
|
+
*/
|
|
23
|
+
send({ address, amount, mintAddress }: SendParams): this;
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=tokenTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,OAAO,CAAC,WAAW,CAAoB;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAgBlC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,UAAU,GAAG,IAAI;IAWxD,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAwB5D"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (_) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
+
};
|
|
56
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
+
exports.TokenTransferBuilder = void 0;
|
|
58
|
+
var errors_1 = require("../baseCoin/errors");
|
|
59
|
+
var utils_1 = require("./utils");
|
|
60
|
+
var baseCoin_1 = require("../baseCoin");
|
|
61
|
+
var constants_1 = require("./constants");
|
|
62
|
+
var assert_1 = __importDefault(require("assert"));
|
|
63
|
+
var transactionBuilder_1 = require("./transactionBuilder");
|
|
64
|
+
var web3_js_1 = require("@solana/web3.js");
|
|
65
|
+
var spl_token_1 = require("@solana/spl-token");
|
|
66
|
+
var TokenTransferBuilder = /** @class */ (function (_super) {
|
|
67
|
+
__extends(TokenTransferBuilder, _super);
|
|
68
|
+
function TokenTransferBuilder(_coinConfig) {
|
|
69
|
+
var _this = _super.call(this, _coinConfig) || this;
|
|
70
|
+
_this._sendParams = [];
|
|
71
|
+
return _this;
|
|
72
|
+
}
|
|
73
|
+
Object.defineProperty(TokenTransferBuilder.prototype, "transactionType", {
|
|
74
|
+
get: function () {
|
|
75
|
+
return baseCoin_1.TransactionType.Send;
|
|
76
|
+
},
|
|
77
|
+
enumerable: false,
|
|
78
|
+
configurable: true
|
|
79
|
+
});
|
|
80
|
+
TokenTransferBuilder.prototype.initBuilder = function (tx) {
|
|
81
|
+
_super.prototype.initBuilder.call(this, tx);
|
|
82
|
+
for (var _i = 0, _a = this._instructionsData; _i < _a.length; _i++) {
|
|
83
|
+
var instruction = _a[_i];
|
|
84
|
+
if (instruction.type === constants_1.InstructionBuilderTypes.TokenTransfer) {
|
|
85
|
+
var transferInstruction = instruction;
|
|
86
|
+
this.sender(transferInstruction.params.fromAddress);
|
|
87
|
+
this.send({
|
|
88
|
+
address: transferInstruction.params.toAddress,
|
|
89
|
+
amount: transferInstruction.params.amount,
|
|
90
|
+
mintAddress: transferInstruction.params.mintAddress,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Set a transfer
|
|
97
|
+
*
|
|
98
|
+
* @param {string} fromAddress - the sender address
|
|
99
|
+
* @param {string} amount - the amount sent
|
|
100
|
+
* @param {string} mintAddress - the token's mint address
|
|
101
|
+
* @returns {TransactionBuilder} This transaction builder
|
|
102
|
+
*/
|
|
103
|
+
TokenTransferBuilder.prototype.send = function (_a) {
|
|
104
|
+
var address = _a.address, amount = _a.amount, mintAddress = _a.mintAddress;
|
|
105
|
+
utils_1.validateAddress(address, 'address');
|
|
106
|
+
if (!amount || !utils_1.isValidAmount(amount)) {
|
|
107
|
+
throw new errors_1.BuildTransactionError('Invalid or missing amount, got: ' + amount);
|
|
108
|
+
}
|
|
109
|
+
this._sendParams.push({ address: address, amount: amount, mintAddress: mintAddress });
|
|
110
|
+
return this;
|
|
111
|
+
};
|
|
112
|
+
/** @inheritdoc */
|
|
113
|
+
TokenTransferBuilder.prototype.buildImplementation = function () {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
115
|
+
var sourceAddress, transferData;
|
|
116
|
+
var _this = this;
|
|
117
|
+
return __generator(this, function (_a) {
|
|
118
|
+
switch (_a.label) {
|
|
119
|
+
case 0:
|
|
120
|
+
assert_1.default(this._sender, 'Sender must be set before building the transaction');
|
|
121
|
+
return [4 /*yield*/, spl_token_1.Token.getAssociatedTokenAddress(spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID, spl_token_1.TOKEN_PROGRAM_ID, new web3_js_1.PublicKey(this._sendParams[0].mintAddress), new web3_js_1.PublicKey(this._sender))];
|
|
122
|
+
case 1:
|
|
123
|
+
sourceAddress = _a.sent();
|
|
124
|
+
transferData = this._sendParams.map(function (sendParams) {
|
|
125
|
+
return {
|
|
126
|
+
type: constants_1.InstructionBuilderTypes.TokenTransfer,
|
|
127
|
+
params: {
|
|
128
|
+
fromAddress: _this._sender,
|
|
129
|
+
toAddress: sendParams.address,
|
|
130
|
+
amount: sendParams.amount,
|
|
131
|
+
mintAddress: sendParams.mintAddress,
|
|
132
|
+
sourceAddress: sourceAddress.toString(),
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
});
|
|
136
|
+
this._instructionsData = transferData;
|
|
137
|
+
return [4 /*yield*/, _super.prototype.buildImplementation.call(this)];
|
|
138
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
return TokenTransferBuilder;
|
|
144
|
+
}(transactionBuilder_1.TransactionBuilder));
|
|
145
|
+
exports.TokenTransferBuilder = TokenTransferBuilder;
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9zb2wvdG9rZW5UcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTJEO0FBRTNELGlDQUF5RDtBQUN6RCx3Q0FBOEM7QUFDOUMseUNBQXNEO0FBR3RELGtEQUE0QjtBQUM1QiwyREFBMEQ7QUFDMUQsMkNBQTRDO0FBQzVDLCtDQUF5RjtBQVF6RjtJQUEwQyx3Q0FBa0I7SUFHMUQsOEJBQVksV0FBaUM7UUFBN0MsWUFDRSxrQkFBTSxXQUFXLENBQUMsU0FDbkI7UUFKTyxpQkFBVyxHQUFpQixFQUFFLENBQUM7O0lBSXZDLENBQUM7SUFFRCxzQkFBYyxpREFBZTthQUE3QjtZQUNFLE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7UUFDOUIsQ0FBQzs7O09BQUE7SUFFRCwwQ0FBVyxHQUFYLFVBQVksRUFBZTtRQUN6QixpQkFBTSxXQUFXLFlBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsS0FBMEIsVUFBc0IsRUFBdEIsS0FBQSxJQUFJLENBQUMsaUJBQWlCLEVBQXRCLGNBQXNCLEVBQXRCLElBQXNCLEVBQUU7WUFBN0MsSUFBTSxXQUFXLFNBQUE7WUFDcEIsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLG1DQUF1QixDQUFDLGFBQWEsRUFBRTtnQkFDOUQsSUFBTSxtQkFBbUIsR0FBa0IsV0FBVyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDUixPQUFPLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVM7b0JBQzdDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDekMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxXQUFXO2lCQUNwRCxDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxtQ0FBSSxHQUFKLFVBQUssRUFBNEM7WUFBMUMsT0FBTyxhQUFBLEVBQUUsTUFBTSxZQUFBLEVBQUUsV0FBVyxpQkFBQTtRQUNqQyx1QkFBZSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxNQUFNLElBQUksOEJBQXFCLENBQUMsa0NBQWtDLEdBQUcsTUFBTSxDQUFDLENBQUM7U0FDOUU7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sU0FBQSxFQUFFLE1BQU0sUUFBQSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNGLGtEQUFtQixHQUFuQzs7Ozs7Ozt3QkFDRSxnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELENBQUMsQ0FBQzt3QkFDckQscUJBQU0saUJBQUssQ0FBQyx5QkFBeUIsQ0FDekQsdUNBQTJCLEVBQzNCLDRCQUFnQixFQUNoQixJQUFJLG1CQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFDOUMsSUFBSSxtQkFBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDNUIsRUFBQTs7d0JBTEssYUFBYSxHQUFHLFNBS3JCO3dCQUNLLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFDLFVBQXNCOzRCQUMvRCxPQUFPO2dDQUNMLElBQUksRUFBRSxtQ0FBdUIsQ0FBQyxhQUFhO2dDQUMzQyxNQUFNLEVBQUU7b0NBQ04sV0FBVyxFQUFFLEtBQUksQ0FBQyxPQUFPO29DQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU87b0NBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQ0FDekIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO29DQUNuQyxhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtpQ0FDeEM7NkJBQ0YsQ0FBQzt3QkFDSixDQUFDLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDO3dCQUUvQixxQkFBTSxpQkFBTSxtQkFBbUIsV0FBRSxFQUFBOzRCQUF4QyxzQkFBTyxTQUFpQyxFQUFDOzs7O0tBQzFDO0lBQ0gsMkJBQUM7QUFBRCxDQUFDLEFBdkVELENBQTBDLHVDQUFrQixHQXVFM0Q7QUF2RVksb0RBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJy4uL2Jhc2VDb2luL2Vycm9ycyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEFtb3VudCwgdmFsaWRhdGVBZGRyZXNzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRva2VuVHJhbnNmZXIgfSBmcm9tICcuL2lmYWNlJztcblxuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgUHVibGljS2V5IH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCB7IEFTU09DSUFURURfVE9LRU5fUFJPR1JBTV9JRCwgVG9rZW4sIFRPS0VOX1BST0dSQU1fSUQgfSBmcm9tICdAc29sYW5hL3NwbC10b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFBhcmFtcyB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIG1pbnRBZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUb2tlblRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3NlbmRQYXJhbXM6IFNlbmRQYXJhbXNbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuXG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBpZiAoaW5zdHJ1Y3Rpb24udHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVG9rZW5UcmFuc2Zlcikge1xuICAgICAgICBjb25zdCB0cmFuc2Zlckluc3RydWN0aW9uOiBUb2tlblRyYW5zZmVyID0gaW5zdHJ1Y3Rpb247XG4gICAgICAgIHRoaXMuc2VuZGVyKHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLmZyb21BZGRyZXNzKTtcbiAgICAgICAgdGhpcy5zZW5kKHtcbiAgICAgICAgICBhZGRyZXNzOiB0cmFuc2Zlckluc3RydWN0aW9uLnBhcmFtcy50b0FkZHJlc3MsXG4gICAgICAgICAgYW1vdW50OiB0cmFuc2Zlckluc3RydWN0aW9uLnBhcmFtcy5hbW91bnQsXG4gICAgICAgICAgbWludEFkZHJlc3M6IHRyYW5zZmVySW5zdHJ1Y3Rpb24ucGFyYW1zLm1pbnRBZGRyZXNzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIFNldCBhIHRyYW5zZmVyXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmcm9tQWRkcmVzcyAtIHRoZSBzZW5kZXIgYWRkcmVzc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IC0gdGhlIGFtb3VudCBzZW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtaW50QWRkcmVzcyAtIHRoZSB0b2tlbidzIG1pbnQgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHNlbmQoeyBhZGRyZXNzLCBhbW91bnQsIG1pbnRBZGRyZXNzIH06IFNlbmRQYXJhbXMpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzcywgJ2FkZHJlc3MnKTtcbiAgICBpZiAoIWFtb3VudCB8fCAhaXNWYWxpZEFtb3VudChhbW91bnQpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIG9yIG1pc3NpbmcgYW1vdW50LCBnb3Q6ICcgKyBhbW91bnQpO1xuICAgIH1cblxuICAgIHRoaXMuX3NlbmRQYXJhbXMucHVzaCh7IGFkZHJlc3MsIGFtb3VudCwgbWludEFkZHJlc3M6IG1pbnRBZGRyZXNzIH0pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsICdTZW5kZXIgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIGNvbnN0IHNvdXJjZUFkZHJlc3MgPSBhd2FpdCBUb2tlbi5nZXRBc3NvY2lhdGVkVG9rZW5BZGRyZXNzKFxuICAgICAgQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lELFxuICAgICAgVE9LRU5fUFJPR1JBTV9JRCxcbiAgICAgIG5ldyBQdWJsaWNLZXkodGhpcy5fc2VuZFBhcmFtc1swXS5taW50QWRkcmVzcyksXG4gICAgICBuZXcgUHVibGljS2V5KHRoaXMuX3NlbmRlciksXG4gICAgKTtcbiAgICBjb25zdCB0cmFuc2ZlckRhdGEgPSB0aGlzLl9zZW5kUGFyYW1zLm1hcCgoc2VuZFBhcmFtczogU2VuZFBhcmFtcyk6IFRva2VuVHJhbnNmZXIgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVG9rZW5UcmFuc2ZlcixcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgZnJvbUFkZHJlc3M6IHRoaXMuX3NlbmRlcixcbiAgICAgICAgICB0b0FkZHJlc3M6IHNlbmRQYXJhbXMuYWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHNlbmRQYXJhbXMuYW1vdW50LFxuICAgICAgICAgIG1pbnRBZGRyZXNzOiBzZW5kUGFyYW1zLm1pbnRBZGRyZXNzLFxuICAgICAgICAgIHNvdXJjZUFkZHJlc3M6IHNvdXJjZUFkZHJlc3MudG9TdHJpbmcoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSA9IHRyYW5zZmVyRGF0YTtcblxuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
2
3
|
import { BaseTransaction, TransactionType } from '../baseCoin';
|
|
3
4
|
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
4
5
|
import { Transaction as SolTransaction } from '@solana/web3.js';
|
|
5
|
-
import { TransactionExplanation, TxData } from './iface';
|
|
6
|
+
import { DurableNonceParams, TransactionExplanation, TxData } from './iface';
|
|
6
7
|
import { KeyPair } from '.';
|
|
8
|
+
import { TransactionRecipient } from '../baseCoin/iface';
|
|
7
9
|
export declare class Transaction extends BaseTransaction {
|
|
8
|
-
|
|
10
|
+
protected _solTransaction: SolTransaction;
|
|
9
11
|
private _lamportsPerSignature;
|
|
10
12
|
protected _type: TransactionType;
|
|
11
13
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
@@ -55,5 +57,6 @@ export declare class Transaction extends BaseTransaction {
|
|
|
55
57
|
loadInputsAndOutputs(): void;
|
|
56
58
|
/** @inheritDoc */
|
|
57
59
|
explainTransaction(): TransactionExplanation;
|
|
60
|
+
protected getExplainedTransaction(outputAmount: BigNumber, outputs: TransactionRecipient[], memo?: undefined | string, durableNonce?: undefined | DurableNonceParams): TransactionExplanation;
|
|
58
61
|
}
|
|
59
62
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/transaction.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/coin/sol/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAmD,WAAW,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EACL,kBAAkB,EAKlB,sBAAsB,EAEtB,MAAM,EAEP,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAG5B,OAAO,EAAS,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,OAAO,CAAC,qBAAqB,CAAqB;IAClD,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,EAAE,EAAE,cAAc,EAEpC;IAED,OAAO,KAAK,0BAA0B,GAErC;IAED,kBAAkB;IAClB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAOf;IAED,IAAI,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAE7C;IAED,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,EAEhE;IAED,kBAAkB;IAClB,IAAI,SAAS,IAAI,MAAM,EAAE,CAUxB;IAED;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D,kBAAkB;IAClB,OAAO,IAAI,OAAO;IAIlB;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAiB3B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAkChD,kBAAkB;IAClB,MAAM,IAAI,MAAM;IA0BhB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IA4E5B,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IA4D5C,SAAS,CAAC,uBAAuB,CAC/B,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,oBAAoB,EAAE,EAC/B,IAAI,GAAE,SAAS,GAAG,MAAkB,EACpC,YAAY,GAAE,SAAS,GAAG,kBAA8B,GACvD,sBAAsB;CAgC1B"}
|