@bitgo-beta/sdk-coin-avaxp 3.2.3-alpha.49 → 3.2.3-alpha.490

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.
Files changed (88) hide show
  1. package/dist/src/avaxp.d.ts +7 -6
  2. package/dist/src/avaxp.d.ts.map +1 -1
  3. package/dist/src/avaxp.js +50 -43
  4. package/dist/src/iface.d.ts +0 -4
  5. package/dist/src/iface.d.ts.map +1 -1
  6. package/dist/src/iface.js +1 -1
  7. package/dist/src/index.js +23 -9
  8. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +2 -3
  9. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
  10. package/dist/src/lib/atomicInCTransactionBuilder.js +1 -1
  11. package/dist/src/lib/atomicTransactionBuilder.d.ts +2 -4
  12. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  13. package/dist/src/lib/atomicTransactionBuilder.js +9 -10
  14. package/dist/src/lib/delegatorTxBuilder.d.ts +6 -7
  15. package/dist/src/lib/delegatorTxBuilder.d.ts.map +1 -1
  16. package/dist/src/lib/delegatorTxBuilder.js +11 -12
  17. package/dist/src/lib/deprecatedTransaction.d.ts +98 -0
  18. package/dist/src/lib/deprecatedTransaction.d.ts.map +1 -0
  19. package/dist/src/lib/deprecatedTransaction.js +344 -0
  20. package/dist/src/lib/deprecatedTransactionBuilder.d.ts +114 -0
  21. package/dist/src/lib/deprecatedTransactionBuilder.d.ts.map +1 -0
  22. package/dist/src/lib/deprecatedTransactionBuilder.js +210 -0
  23. package/dist/src/lib/exportInCTxBuilder.d.ts +8 -9
  24. package/dist/src/lib/exportInCTxBuilder.d.ts.map +1 -1
  25. package/dist/src/lib/exportInCTxBuilder.js +4 -4
  26. package/dist/src/lib/exportTxBuilder.d.ts +4 -5
  27. package/dist/src/lib/exportTxBuilder.d.ts.map +1 -1
  28. package/dist/src/lib/exportTxBuilder.js +3 -3
  29. package/dist/src/lib/iface.d.ts +19 -10
  30. package/dist/src/lib/iface.d.ts.map +1 -1
  31. package/dist/src/lib/iface.js +9 -4
  32. package/dist/src/lib/importInCTxBuilder.d.ts +4 -5
  33. package/dist/src/lib/importInCTxBuilder.d.ts.map +1 -1
  34. package/dist/src/lib/importInCTxBuilder.js +6 -6
  35. package/dist/src/lib/importTxBuilder.d.ts +4 -4
  36. package/dist/src/lib/importTxBuilder.d.ts.map +1 -1
  37. package/dist/src/lib/importTxBuilder.js +3 -3
  38. package/dist/src/lib/index.d.ts +2 -0
  39. package/dist/src/lib/index.d.ts.map +1 -1
  40. package/dist/src/lib/index.js +11 -3
  41. package/dist/src/lib/keyPair.d.ts +0 -1
  42. package/dist/src/lib/keyPair.d.ts.map +1 -1
  43. package/dist/src/lib/keyPair.js +20 -21
  44. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +154 -0
  45. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
  46. package/dist/src/lib/permissionlessValidatorTxBuilder.js +431 -0
  47. package/dist/src/lib/transaction.d.ts +19 -41
  48. package/dist/src/lib/transaction.d.ts.map +1 -1
  49. package/dist/src/lib/transaction.js +68 -168
  50. package/dist/src/lib/transactionBuilder.d.ts +31 -82
  51. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  52. package/dist/src/lib/transactionBuilder.js +57 -151
  53. package/dist/src/lib/transactionBuilderFactory.d.ts +16 -8
  54. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  55. package/dist/src/lib/transactionBuilderFactory.js +77 -19
  56. package/dist/src/lib/utils.d.ts +23 -9
  57. package/dist/src/lib/utils.d.ts.map +1 -1
  58. package/dist/src/lib/utils.js +72 -22
  59. package/dist/src/lib/utxoEngine.d.ts +10 -2
  60. package/dist/src/lib/utxoEngine.d.ts.map +1 -1
  61. package/dist/src/lib/utxoEngine.js +32 -7
  62. package/dist/src/lib/validatorTxBuilder.d.ts +4 -4
  63. package/dist/src/lib/validatorTxBuilder.d.ts.map +1 -1
  64. package/dist/src/lib/validatorTxBuilder.js +2 -2
  65. package/dist/test/resources/avaxp.d.ts +80 -6
  66. package/dist/test/resources/avaxp.d.ts.map +1 -1
  67. package/dist/test/resources/avaxp.js +166 -33
  68. package/dist/test/resources/tx/importP.js +8 -8
  69. package/dist/test/unit/avaxp.js +109 -117
  70. package/dist/test/unit/lib/exportC2PTxBuilder.js +23 -9
  71. package/dist/test/unit/lib/exportP2CTxBuilder.js +27 -17
  72. package/dist/test/unit/lib/importC2PTxBuilder.js +25 -11
  73. package/dist/test/unit/lib/importP2CTxBuilder.js +25 -13
  74. package/dist/test/unit/lib/keyPair.js +23 -9
  75. package/dist/test/unit/lib/permissionlessValidatorTxBuilder.d.ts +2 -0
  76. package/dist/test/unit/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
  77. package/dist/test/unit/lib/permissionlessValidatorTxBuilder.js +341 -0
  78. package/dist/test/unit/lib/signFlowTestSuit.js +2 -2
  79. package/dist/test/unit/lib/transactionBuilderFactory.js +25 -11
  80. package/dist/test/unit/lib/utils.js +23 -9
  81. package/dist/test/unit/lib/utxoEngine.js +6 -6
  82. package/dist/test/unit/lib/validateTxBuilder.js +29 -20
  83. package/dist/tsconfig.tsbuildinfo +1 -12687
  84. package/package.json +15 -12
  85. package/.eslintignore +0 -5
  86. package/.eslintrc.json +0 -7
  87. package/.mocharc.yml +0 -8
  88. package/CHANGELOG.md +0 -318
@@ -0,0 +1,210 @@
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.DeprecatedTransactionBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const deprecatedTransaction_1 = require("./deprecatedTransaction");
9
+ const keyPair_1 = require("./keyPair");
10
+ const avalanche_1 = require("avalanche");
11
+ const utils_1 = __importDefault(require("./utils"));
12
+ const platformvm_1 = require("avalanche/dist/apis/platformvm");
13
+ class DeprecatedTransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig);
16
+ this._signer = [];
17
+ this.recoverSigner = false;
18
+ this._transaction = new deprecatedTransaction_1.DeprecatedTransaction(_coinConfig);
19
+ }
20
+ /**
21
+ * Initialize the transaction builder fields using the decoded transaction data
22
+ *
23
+ * @param {DeprecatedTx} tx the transaction data
24
+ * @returns itself
25
+ */
26
+ initBuilder(tx) {
27
+ const baseTx = tx.getUnsignedTx().getTransaction();
28
+ if (baseTx.getNetworkID() !== this._transaction._networkID ||
29
+ !baseTx.getBlockchainID().equals(this._transaction._blockchainID)) {
30
+ throw new Error('Network or blockchain is not equals');
31
+ }
32
+ this._transaction.setTransaction(tx);
33
+ return this;
34
+ }
35
+ /** @inheritdoc */
36
+ fromImplementation(rawTransaction) {
37
+ const tx = new platformvm_1.Tx();
38
+ tx.fromBuffer(avalanche_1.Buffer.from(rawTransaction, 'hex'));
39
+ this.initBuilder(tx);
40
+ return this.transaction;
41
+ }
42
+ /** @inheritdoc */
43
+ async buildImplementation() {
44
+ this.buildAvaxTransaction();
45
+ this.transaction.setTransactionType(this.transactionType);
46
+ if (this.hasSigner) {
47
+ this._signer.forEach((keyPair) => this.transaction.sign(keyPair));
48
+ }
49
+ return this.transaction;
50
+ }
51
+ // region Getters and Setters
52
+ /**
53
+ * When using recovery key must be set here
54
+ * TODO: STLX-17317 recovery key signing
55
+ * @param {boolean} true if it's recovery signer, default true.
56
+ */
57
+ recoverMode(recoverSigner = true) {
58
+ this.recoverSigner = recoverSigner;
59
+ return this;
60
+ }
61
+ /**
62
+ * Threshold is an int that names the number of unique signatures required to spend the output.
63
+ * Must be less than or equal to the length of Addresses.
64
+ * @param {number}
65
+ */
66
+ threshold(value) {
67
+ this.validateThreshold(value);
68
+ this._transaction._threshold = value;
69
+ return this;
70
+ }
71
+ /**
72
+ * Locktime is a long that contains the unix timestamp that this output can be spent after.
73
+ * The unix timestamp is specific to the second.
74
+ * @param value
75
+ */
76
+ locktime(value) {
77
+ this.validateLocktime(new avalanche_1.BN(value));
78
+ this._transaction._locktime = new avalanche_1.BN(value);
79
+ return this;
80
+ }
81
+ /**
82
+ * fromPubKey is a list of unique addresses that correspond to the private keys that can be used to spend this output.
83
+ * @param {string | stirng[]} senderPubKey
84
+ */
85
+ fromPubKey(senderPubKey) {
86
+ const pubKeys = senderPubKey instanceof Array ? senderPubKey : [senderPubKey];
87
+ this._transaction._fromAddresses = pubKeys.map(utils_1.default.parseAddress);
88
+ return this;
89
+ }
90
+ /**
91
+ * List of UTXO required as inputs.
92
+ * A UTXO is a standalone representation of a transaction output.
93
+ *
94
+ * @param {DecodedUtxoObj[]} list of UTXOS
95
+ */
96
+ utxos(value) {
97
+ this.validateUtxos(value);
98
+ this._transaction._utxos = value;
99
+ return this;
100
+ }
101
+ /**
102
+ * Getter for know if build should sign
103
+ */
104
+ get hasSigner() {
105
+ return this._signer !== undefined && this._signer.length > 0;
106
+ }
107
+ /** @inheritdoc */
108
+ get transaction() {
109
+ return this._transaction;
110
+ }
111
+ set transaction(transaction) {
112
+ this._transaction = transaction;
113
+ }
114
+ /** @inheritdoc */
115
+ signImplementation({ key }) {
116
+ this._signer.push(new keyPair_1.KeyPair({ prv: key }));
117
+ return this.transaction;
118
+ }
119
+ // endregion
120
+ // region Validators
121
+ /**
122
+ * Validates the threshold
123
+ * @param threshold
124
+ */
125
+ validateThreshold(threshold) {
126
+ if (!threshold || threshold !== 2) {
127
+ throw new sdk_core_1.BuildTransactionError('Invalid transaction: threshold must be set to 2');
128
+ }
129
+ }
130
+ /**
131
+ * Validates locktime
132
+ * @param locktime
133
+ */
134
+ validateLocktime(locktime) {
135
+ if (!locktime || locktime.lt(new avalanche_1.BN(0))) {
136
+ throw new sdk_core_1.BuildTransactionError('Invalid transaction: locktime must be 0 or higher');
137
+ }
138
+ }
139
+ /** @inheritdoc */
140
+ validateAddress(address, addressFormat) {
141
+ if (!utils_1.default.isValidAddress(address.address)) {
142
+ throw new sdk_core_1.BuildTransactionError('Invalid address');
143
+ }
144
+ }
145
+ /** @inheritdoc */
146
+ validateKey({ key }) {
147
+ if (!new keyPair_1.KeyPair({ prv: key })) {
148
+ throw new sdk_core_1.BuildTransactionError('Invalid key');
149
+ }
150
+ }
151
+ /**
152
+ * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
153
+ * It overrides abstract method from BaseTransactionBuilder
154
+ *
155
+ * @param rawTransaction Transaction in any format
156
+ */
157
+ validateRawTransaction(rawTransaction) {
158
+ utils_1.default.validateRawTransaction(rawTransaction);
159
+ }
160
+ /** @inheritdoc */
161
+ validateTransaction(transaction) {
162
+ // throw new NotImplementedError('validateTransaction not implemented');
163
+ }
164
+ /** @inheritdoc */
165
+ validateValue(value) {
166
+ if (value.isLessThan(0)) {
167
+ throw new sdk_core_1.BuildTransactionError('Value cannot be less than zero');
168
+ }
169
+ }
170
+ /**
171
+ * Check the list of UTXOS is empty and check each UTXO.
172
+ * @param values
173
+ */
174
+ validateUtxos(values) {
175
+ if (values.length === 0) {
176
+ throw new sdk_core_1.BuildTransactionError("Utxos can't be empty array");
177
+ }
178
+ values.forEach(this.validateUtxo);
179
+ }
180
+ /**
181
+ * Check the UTXO has expected fields.
182
+ * @param UTXO
183
+ */
184
+ validateUtxo(value) {
185
+ ['outputID', 'amount', 'txid', 'outputidx'].forEach((field) => {
186
+ if (!value.hasOwnProperty(field))
187
+ throw new sdk_core_1.BuildTransactionError(`Utxos required ${field}`);
188
+ });
189
+ }
190
+ /**
191
+ * Check the amount is positive.
192
+ * @param amount
193
+ */
194
+ validateAmount(amount) {
195
+ if (amount.lten(0)) {
196
+ throw new sdk_core_1.BuildTransactionError('Amount must be greater than 0');
197
+ }
198
+ }
199
+ /**
200
+ * Check the buffer has 32 byte long.
201
+ * @param chainID
202
+ */
203
+ validateChainId(chainID) {
204
+ if (chainID.length !== 32) {
205
+ throw new sdk_core_1.BuildTransactionError('Chain id are 32 byte size');
206
+ }
207
+ }
208
+ }
209
+ exports.DeprecatedTransactionBuilder = DeprecatedTransactionBuilder;
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZFRyYW5zYWN0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZGVwcmVjYXRlZFRyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxtREFPOEI7QUFDOUIsbUVBQWdFO0FBQ2hFLHVDQUFvQztBQUNwQyx5Q0FBcUQ7QUFDckQsb0RBQTRCO0FBRTVCLCtEQUE2RDtBQUU3RCxNQUFzQiw0QkFBNkIsU0FBUSxpQ0FBc0I7SUFLL0UsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKZCxZQUFPLEdBQWMsRUFBRSxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBSTlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsRUFBZ0I7UUFDMUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25ELElBQ0UsTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtZQUN0RCxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFDakUsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxFQUFFLEdBQUcsSUFBSSxlQUFLLEVBQUUsQ0FBQztRQUN2QixF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aW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgQmFzZVRyYW5zYWN0aW9uLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBEZXByZWNhdGVkVHJhbnNhY3Rpb24gfSBmcm9tICcuL2RlcHJlY2F0ZWRUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IEJOLCBCdWZmZXIgYXMgQnVmZmVyQXZheCB9IGZyb20gJ2F2YWxhbmNoZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEZWNvZGVkVXR4b09iaiwgRGVwcmVjYXRlZFR4IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUeCBhcyBQVk1UeCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvcGxhdGZvcm12bSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEZXByZWNhdGVkVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBEZXByZWNhdGVkVHJhbnNhY3Rpb247XG4gIHB1YmxpYyBfc2lnbmVyOiBLZXlQYWlyW10gPSBbXTtcbiAgcHJvdGVjdGVkIHJlY292ZXJTaWduZXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgRGVwcmVjYXRlZFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0cmFuc2FjdGlvbiBidWlsZGVyIGZpZWxkcyB1c2luZyB0aGUgZGVjb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSB7RGVwcmVjYXRlZFR4fSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKiBAcmV0dXJucyBpdHNlbGZcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4OiBEZXByZWNhdGVkVHgpOiB0aGlzIHtcbiAgICBjb25zdCBiYXNlVHggPSB0eC5nZXRVbnNpZ25lZFR4KCkuZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICBpZiAoXG4gICAgICBiYXNlVHguZ2V0TmV0d29ya0lEKCkgIT09IHRoaXMuX3RyYW5zYWN0aW9uLl9uZXR3b3JrSUQgfHxcbiAgICAgICFiYXNlVHguZ2V0QmxvY2tjaGFpbklEKCkuZXF1YWxzKHRoaXMuX3RyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgb3IgYmxvY2tjaGFpbiBpcyBub3QgZXF1YWxzJyk7XG4gICAgfVxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uKHR4KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBEZXByZWNhdGVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gbmV3IFBWTVR4KCk7XG4gICAgdHguZnJvbUJ1ZmZlcihCdWZmZXJBdmF4LmZyb20ocmF3VHJhbnNhY3Rpb24sICdoZXgnKSk7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxEZXByZWNhdGVkVHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLmJ1aWxkQXZheFRyYW5zYWN0aW9uKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUodGhpcy50cmFuc2FjdGlvblR5cGUpO1xuICAgIGlmICh0aGlzLmhhc1NpZ25lcikge1xuICAgICAgdGhpcy5fc2lnbmVyLmZvckVhY2goKGtleVBhaXIpID0+IHRoaXMudHJhbnNhY3Rpb24uc2lnbihrZXlQYWlyKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgYXZheCB0cmFuc2FjdGlvbi4gdHJhbnNhY3Rpb24gZmllbGQgaXMgY2hhbmdlZC5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZEF2YXhUcmFuc2FjdGlvbigpOiB2b2lkO1xuXG4gIC8vIHJlZ2lvbiBHZXR0ZXJzIGFuZCBTZXR0ZXJzXG4gIC8qKlxuICAgKiBXaGVuIHVzaW5nIHJlY292ZXJ5IGtleSBtdXN0IGJlIHNldCBoZXJlXG4gICAqIFRPRE86IFNUTFgtMTczMTcgcmVjb3Zlcnkga2V5IHNpZ25pbmdcbiAgICogQHBhcmFtIHtib29sZWFufSB0cnVlIGlmIGl0J3MgcmVjb3Zlcnkgc2lnbmVyLCBkZWZhdWx0IHRydWUuXG4gICAqL1xuICBwdWJsaWMgcmVjb3Zlck1vZGUocmVjb3ZlclNpZ25lciA9IHRydWUpOiB0aGlzIHtcbiAgICB0aGlzLnJlY292ZXJTaWduZXIgPSByZWNvdmVyU2lnbmVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRocmVzaG9sZCBpcyBhbiBpbnQgdGhhdCBuYW1lcyB0aGUgbnVtYmVyIG9mIHVuaXF1ZSBzaWduYXR1cmVzIHJlcXVpcmVkIHRvIHNwZW5kIHRoZSBvdXRwdXQuXG4gICAqIE11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBsZW5ndGggb2YgQWRkcmVzc2VzLlxuICAgKiBAcGFyYW0ge251bWJlcn1cbiAgICovXG4gIHRocmVzaG9sZCh2YWx1ZTogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVRocmVzaG9sZCh2YWx1ZSk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uX3RocmVzaG9sZCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIExvY2t0aW1lIGlzIGEgbG9uZyB0aGF0IGNvbnRhaW5zIHRoZSB1bml4IHRpbWVzdGFtcCB0aGF0IHRoaXMgb3V0cHV0IGNhbiBiZSBzcGVudCBhZnRlci5cbiAgICogVGhlIHVuaXggdGltZXN0YW1wIGlzIHNwZWNpZmljIHRvIHRoZSBzZWNvbmQuXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgbG9ja3RpbWUodmFsdWU6IHN0cmluZyB8IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVMb2NrdGltZShuZXcgQk4odmFsdWUpKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5fbG9ja3RpbWUgPSBuZXcgQk4odmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIGZyb21QdWJLZXkgaXMgYSBsaXN0IG9mIHVuaXF1ZSBhZGRyZXNzZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBwcml2YXRlIGtleXMgdGhhdCBjYW4gYmUgdXNlZCB0byBzcGVuZCB0aGlzIG91dHB1dC5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBzdGlybmdbXX0gc2VuZGVyUHViS2V5XG4gICAqL1xuICBmcm9tUHViS2V5KHNlbmRlclB1YktleTogc3RyaW5nIHwgc3RyaW5nW10pOiB0aGlzIHtcbiAgICBjb25zdCBwdWJLZXlzID0gc2VuZGVyUHViS2V5IGluc3RhbmNlb2YgQXJyYXkgPyBzZW5kZXJQdWJLZXkgOiBbc2VuZGVyUHViS2V5XTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3NlcyA9IHB1YktleXMubWFwKHV0aWxzLnBhcnNlQWRkcmVzcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBVVFhPIHJlcXVpcmVkIGFzIGlucHV0cy5cbiAgICogQSBVVFhPIGlzIGEgc3RhbmRhbG9uZSByZXByZXNlbnRhdGlvbiBvZiBhIHRyYW5zYWN0aW9uIG91dHB1dC5cbiAgICpcbiAgICogQHBhcmFtIHtEZWNvZGVkVXR4b09ialtdfSBsaXN0IG9mIFVUWE9TXG4gICAqL1xuICB1dHhvcyh2YWx1ZTogRGVjb2RlZFV0eG9PYmpbXSk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVVdHhvcyh2YWx1ZSk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uX3V0eG9zID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGZvciBrbm93IGlmIGJ1aWxkIHNob3VsZCBzaWduXG4gICAqL1xuICBnZXQgaGFzU2lnbmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaWduZXIgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zaWduZXIubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IERlcHJlY2F0ZWRUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogRGVwcmVjYXRlZFRyYW5zYWN0aW9uKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgc2lnbkltcGxlbWVudGF0aW9uKHsga2V5IH06IEJhc2VLZXkpOiBCYXNlVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMuX3NpZ25lci5wdXNoKG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkgfSkpO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIC8vIGVuZHJlZ2lvblxuICAvLyByZWdpb24gVmFsaWRhdG9yc1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHRocmVzaG9sZFxuICAgKiBAcGFyYW0gdGhyZXNob2xkXG4gICAqL1xuICB2YWxpZGF0ZVRocmVzaG9sZCh0aHJlc2hvbGQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhyZXNob2xkIHx8IHRocmVzaG9sZCAhPT0gMikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogdGhyZXNob2xkIG11c3QgYmUgc2V0IHRvIDInKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGxvY2t0aW1lXG4gICAqIEBwYXJhbSBsb2NrdGltZVxuICAgKi9cbiAgdmFsaWRhdGVMb2NrdGltZShsb2NrdGltZTogQk4pOiB2b2lkIHtcbiAgICBpZiAoIWxvY2t0aW1lIHx8IGxvY2t0aW1lLmx0KG5ldyBCTigwKSkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IGxvY2t0aW1lIG11c3QgYmUgMCBvciBoaWdoZXInKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEJhc2VBZGRyZXNzLCBhZGRyZXNzRm9ybWF0Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVLZXkoeyBrZXkgfTogQmFzZUtleSk6IHZvaWQge1xuICAgIGlmICghbmV3IEtleVBhaXIoeyBwcnY6IGtleSB9KSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIHJhdyB0cmFuc2FjdGlvbiBoYXMgYSB2YWxpZCBmb3JtYXQgaW4gdGhlIGJsb2NrY2hhaW4gY29udGV4dCwgdGhyb3cgb3RoZXJ3aXNlLlxuICAgKiBJdCBvdmVycmlkZXMgYWJzdHJhY3QgbWV0aG9kIGZyb20gQmFzZVRyYW5zYWN0aW9uQnVpbGRlclxuICAgKlxuICAgKiBAcGFyYW0gcmF3VHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW4gYW55IGZvcm1hdFxuICAgKi9cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdXRpbHMudmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbj86IERlcHJlY2F0ZWRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIC8vIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCd2YWxpZGF0ZVRyYW5zYWN0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZS5pc0xlc3NUaGFuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdWYWx1ZSBjYW5ub3QgYmUgbGVzcyB0aGFuIHplcm8nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIGxpc3Qgb2YgVVRYT1MgaXMgZW1wdHkgYW5kIGNoZWNrIGVhY2ggVVRYTy5cbiAgICogQHBhcmFtIHZhbHVlc1xuICAgKi9cbiAgdmFsaWRhdGVVdHhvcyh2YWx1ZXM6IERlY29kZWRVdHhvT2JqW10pOiB2b2lkIHtcbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihcIlV0eG9zIGNhbid0IGJlIGVtcHR5IGFycmF5XCIpO1xuICAgIH1cbiAgICB2YWx1ZXMuZm9yRWFjaCh0aGlzLnZhbGlkYXRlVXR4byk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIFVUWE8gaGFzIGV4cGVjdGVkIGZpZWxkcy5cbiAgICogQHBhcmFtIFVUWE9cbiAgICovXG4gIHZhbGlkYXRlVXR4byh2YWx1ZTogRGVjb2RlZFV0eG9PYmopOiB2b2lkIHtcbiAgICBbJ291dHB1dElEJywgJ2Ftb3VudCcsICd0eGlkJywgJ291dHB1dGlkeCddLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoIXZhbHVlLmhhc093blByb3BlcnR5KGZpZWxkKSkgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgVXR4b3MgcmVxdWlyZWQgJHtmaWVsZH1gKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgYW1vdW50IGlzIHBvc2l0aXZlLlxuICAgKiBAcGFyYW0gYW1vdW50XG4gICAqL1xuICB2YWxpZGF0ZUFtb3VudChhbW91bnQ6IEJOKTogdm9pZCB7XG4gICAgaWYgKGFtb3VudC5sdGVuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdBbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgYnVmZmVyIGhhcyAzMiBieXRlIGxvbmcuXG4gICAqIEBwYXJhbSBjaGFpbklEXG4gICAqL1xuICB2YWxpZGF0ZUNoYWluSWQoY2hhaW5JRDogQnVmZmVyQXZheCk6IHZvaWQge1xuICAgIGlmIChjaGFpbklELmxlbmd0aCAhPT0gMzIpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0NoYWluIGlkIGFyZSAzMiBieXRlIHNpemUnKTtcbiAgICB9XG4gIH1cblxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
@@ -1,11 +1,10 @@
1
- /// <reference types="bn.js" />
2
- import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
1
  import { TransactionType } from '@bitgo-beta/sdk-core';
4
- import { ExportTx } from 'avalanche/dist/apis/evm';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
5
3
  import { BN } from 'avalanche';
6
- import { Transaction } from './transaction';
7
- import { Tx, BaseTx, DecodedUtxoObj } from './iface';
4
+ import { ExportTx } from 'avalanche/dist/apis/evm';
8
5
  import { AtomicInCTransactionBuilder } from './atomicInCTransactionBuilder';
6
+ import { DeprecatedTransaction } from './deprecatedTransaction';
7
+ import { DecodedUtxoObj, DeprecatedBaseTx, DeprecatedTx } from './iface';
9
8
  export declare class ExportInCTxBuilder extends AtomicInCTransactionBuilder {
10
9
  private _amount;
11
10
  private _nonce;
@@ -37,16 +36,16 @@ export declare class ExportInCTxBuilder extends AtomicInCTransactionBuilder {
37
36
  */
38
37
  to(pAddresses: string | string[]): this;
39
38
  protected get transactionType(): TransactionType;
40
- initBuilder(tx: Tx): this;
41
- static verifyTxType(baseTx: BaseTx): baseTx is ExportTx;
42
- verifyTxType(baseTx: BaseTx): baseTx is ExportTx;
39
+ initBuilder(tx: DeprecatedTx): this;
40
+ static verifyTxType(baseTx: DeprecatedBaseTx): baseTx is ExportTx;
41
+ verifyTxType(baseTx: DeprecatedBaseTx): baseTx is ExportTx;
43
42
  /**
44
43
  * Build the export in C-chain transaction
45
44
  * @protected
46
45
  */
47
46
  protected buildAvaxTransaction(): void;
48
47
  /** @inheritdoc */
49
- protected fromImplementation(rawTransaction: string): Transaction;
48
+ protected fromImplementation(rawTransaction: string): DeprecatedTransaction;
50
49
  /**
51
50
  * Check the amount is positive.
52
51
  * @param amount
@@ -1 +1 @@
1
- {"version":3,"file":"exportInCTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/exportInCTxBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAuC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAKL,QAAQ,EAKT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,EAAE,EAAwB,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;gBAEP,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAIpC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAOjC;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOnC;;;;OAIG;IACH,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAMvC,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;IAgDzB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,QAAQ;IAIvD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,QAAQ;IAIhD;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IA2DtC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAOjE;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI;CAK/B"}
1
+ {"version":3,"file":"exportInCTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/exportInCTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAwB,MAAM,WAAW,CAAC;AACrD,OAAO,EAKL,QAAQ,EAKT,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGzE,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;gBAEP,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAIpC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAOjC;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOnC;;;;OAIG;IACH,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAMvC,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAgDnC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,QAAQ;IAIjE,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,QAAQ;IAI1D;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IA2DtC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,qBAAqB;IAO3E;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI;CAK/B"}
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ExportInCTxBuilder = void 0;
7
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
- const evm_1 = require("avalanche/dist/apis/evm");
9
- const utils_1 = __importDefault(require("./utils"));
10
8
  const avalanche_1 = require("avalanche");
9
+ const evm_1 = require("avalanche/dist/apis/evm");
11
10
  const atomicInCTransactionBuilder_1 = require("./atomicInCTransactionBuilder");
11
+ const utils_1 = __importDefault(require("./utils"));
12
12
  class ExportInCTxBuilder extends atomicInCTransactionBuilder_1.AtomicInCTransactionBuilder {
13
13
  constructor(_coinConfig) {
14
14
  super(_coinConfig);
@@ -136,7 +136,7 @@ class ExportInCTxBuilder extends atomicInCTransactionBuilder_1.AtomicInCTransact
136
136
  new evm_1.TransferableOutput(this.transaction._assetId, new evm_1.SECPTransferOutput(this._amount, this.transaction._to, this.transaction._locktime, this.transaction._threshold)),
137
137
  ])),
138
138
  // TODO(BG-56700): Improve canSign by check in addresses in empty credentials match signer
139
- [evm_1.SelectCredentialClass(input.getCredentialID(), [''].map(utils_1.default.createSig))]));
139
+ [(0, evm_1.SelectCredentialClass)(input.getCredentialID(), [''].map(utils_1.default.createSig))]));
140
140
  }
141
141
  /** @inheritdoc */
142
142
  fromImplementation(rawTransaction) {
@@ -156,4 +156,4 @@ class ExportInCTxBuilder extends atomicInCTransactionBuilder_1.AtomicInCTransact
156
156
  }
157
157
  }
158
158
  exports.ExportInCTxBuilder = ExportInCTxBuilder;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0SW5DVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRJbkNUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsbURBQTRGO0FBQzVGLGlEQVVpQztBQUNqQyxvREFBNEI7QUFDNUIseUNBQXFEO0FBR3JELCtFQUE0RTtBQUU1RSxNQUFhLGtCQUFtQixTQUFRLHlEQUEyQjtJQUlqRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsS0FBdUI7UUFDM0IsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQW1CO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLGNBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQXNCO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBQyxVQUE2QjtRQUM5QixNQUFNLE9BQU8sR0FBRyxVQUFVLFlB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Q0QsMkZBQTJGO1FBQzNGLENBQUMsMkJBQXFCLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQzVFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxJQUFJLFFBQUssRUFBRSxDQUFDO1FBQ3ZCLEVBQUUsQ0FBQyxVQUFVLENBQUMsa0JBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxLQUFTO1FBQ3JCLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUNBQXVDLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7Q0FDRjtBQWxNRCxnREFrTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIE5vdFN1cHBvcnRlZCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgRVZNQ29uc3RhbnRzLFxuICBUeCBhcyBFTVZUeCxcbiAgVW5zaWduZWRUeCxcbiAgU2VsZWN0Q3JlZGVudGlhbENsYXNzLFxuICBFeHBvcnRUeCxcbiAgRVZNSW5wdXQsXG4gIFRyYW5zZmVyYWJsZU91dHB1dCxcbiAgU0VDUFRyYW5zZmVyT3V0cHV0LFxuICBBbW91bnRPdXRwdXQsXG59IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvZXZtJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJOLCBCdWZmZXIgYXMgQnVmZmVyQXZheCB9IGZyb20gJ2F2YWxhbmNoZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHgsIEJhc2VUeCwgRGVjb2RlZFV0eG9PYmogfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIEV4cG9ydEluQ1R4QnVpbGRlciBleHRlbmRzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2Ftb3VudDogQk47XG4gIHByaXZhdGUgX25vbmNlOiBCTjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogVXR4b3MgYXJlIG5vdCByZXF1aXJlZCBpbiBFeHBvcnQgVHggaW4gQy1DaGFpbi5cbiAgICogT3ZlcnJpZGUgdXR4b3MgdG8gcHJldmVudCB1c2VkIGJ5IHRocm93aW5nIGEgZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSB7RGVjb2RlZFV0eG9PYmpbXX0gdmFsdWUgaWdub3JlZFxuICAgKi9cbiAgdXR4b3ModmFsdWU6IERlY29kZWRVdHhvT2JqW10pOiB0aGlzIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCd1dHhvcyBhcmUgbm90IHJlcXVpcmVkIGluIEV4cG9ydCBUeCBpbiBDLUNoYWluJyk7XG4gIH1cblxuICAvKipcbiAgICogQW1vdW50IGlzIGEgbG9uZyB0aGF0IHNwZWNpZmllcyB0aGUgcXVhbnRpdHkgb2YgdGhlIGFzc2V0IHRoYXQgdGhpcyBvdXRwdXQgb3ducy4gTXVzdCBiZSBwb3NpdGl2ZS5cbiAgICogVGhlIHRyYW5zYWN0aW9uIG91dHB1dCBhbW91bnQgYWRkIGEgZml4ZWQgZmVlIHRoYXQgd2lsbCBiZSBwYWlkIHVwb24gaW1wb3J0LlxuICAgKlxuICAgKiBAcGFyYW0ge0JOIHwgc3RyaW5nfSBhbW91bnQgVGhlIHdpdGhkcmF3YWwgYW1vdW50XG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBCTiB8IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IGFtb3VudEJOID0gQk4uaXNCTihhbW91bnQpID8gYW1vdW50IDogbmV3IEJOKGFtb3VudCk7XG4gICAgdGhpcy52YWxpZGF0ZUFtb3VudChhbW91bnRCTik7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50Qk47XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBub25jZSBvZiBDLUNoYWluIHNlbmRlciBhZGRyZXNzXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgc3RyaW5nfSBub25jZSAtIG51bWJlciB0aGF0IGNhbiBiZSBvbmx5IHVzZWQgb25jZVxuICAgKi9cbiAgbm9uY2Uobm9uY2U6IG51bWJlciB8IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IG5vbmNlQk4gPSBuZXcgQk4obm9uY2UpO1xuICAgIHRoaXMudmFsaWRhdGVOb25jZShub25jZUJOKTtcbiAgICB0aGlzLl9ub25jZSA9IG5vbmNlQk47XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHR4IHRhcmdldCBQIHdhbGxldC5cbiAgICpcbiAgICogQHBhcmFtIHBBZGRyZXNzZXNcbiAgICovXG4gIHRvKHBBZGRyZXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgY29uc3QgcHViS2V5cyA9IHBBZGRyZXNzZXMgaW5zdGFuY2VvZiBBcnJheSA/IHBBZGRyZXNzZXMgOiBwQWRkcmVzc2VzLnNwbGl0KCd+Jyk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdG8gPSBwdWJLZXlzLm1hcCh1dGlscy5wYXJzZUFkZHJlc3MpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkV4cG9ydDtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUeCk6IHRoaXMge1xuICAgIGNvbnN0IGJhc2VUeDogQmFzZVR4ID0gdHguZ2V0VW5zaWduZWRUeCgpLmdldFRyYW5zYWN0aW9uKCk7XG4gICAgaWYgKFxuICAgICAgYmFzZVR4LmdldE5ldHdvcmtJRCgpICE9PSB0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrSUQgfHxcbiAgICAgICFiYXNlVHguZ2V0QmxvY2tjaGFpbklEKCkuZXF1YWxzKHRoaXMudHJhbnNhY3Rpb24uX2Jsb2NrY2hhaW5JRClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTmV0d29yayBvciBibG9ja2NoYWluIGlzIG5vdCBlcXVhbHMnKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudmVyaWZ5VHhUeXBlKGJhc2VUeCkpIHtcbiAgICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoJ1RyYW5zYWN0aW9uIGNhbm5vdCBiZSBwYXJzZWQgb3IgaGFzIGFuIHVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgICB9XG5cbiAgICAvLyBUaGUgb3V0cHV0cyBpcyBhIG11bHRpc2lnbiBQLUNoYWluIGFkZHJlc3MgcmVzdWx0LlxuICAgIC8vIEl0J3MgZXhwZWN0ZWQgdG8gaGF2ZSBvbmx5IG9uZSBvdXRwdXRzIHRvIHRoZSBkZXN0aW5hdGlvbiBQLUNoYWluIGFkZHJlc3MuXG4gICAgY29uc3Qgb3V0cHV0cyA9IGJhc2VUeC5nZXRFeHBvcnRlZE91dHB1dHMoKTtcbiAgICBpZiAob3V0cHV0cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbiBoYXZlIG9uZSBvdXRwdXQnKTtcbiAgICB9XG4gICAgY29uc3Qgb3V0cHV0ID0gb3V0cHV0c1swXTtcblxuICAgIGlmICghb3V0cHV0LmdldEFzc2V0SUQoKS5lcXVhbHModGhpcy50cmFuc2FjdGlvbi5fYXNzZXRJZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXNzZXRJRCBhcmUgbm90IGVxdWFscycpO1xuICAgIH1cblxuICAgIC8vIFRoZSBpbnB1dHMgaXMgbm90IGFuIHV0eG8uXG4gICAgLy8gSXQncyBleHBlY3RlZCB0byBoYXZlIG9ubHkgb25lIGlucHV0IGZvcm0gQy1DaGFpbiBhZGRyZXNzLlxuICAgIGNvbnN0IGlucHV0cyA9IGJhc2VUeC5nZXRJbnB1dHMoKTtcbiAgICBpZiAoaW5wdXRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gY2FuIGhhdmUgb25lIGlucHV0cycpO1xuICAgIH1cbiAgICBjb25zdCBpbnB1dCA9IGlucHV0c1swXTtcblxuICAgIHRoaXMudHJhbnNhY3Rpb24uX3RvID0gb3V0cHV0LmdldE91dHB1dCgpLmdldEFkZHJlc3NlcygpO1xuICAgIGNvbnN0IGlucHV0QW1vdW50ID0gbmV3IEJOKChpbnB1dCBhcyBhbnkpLmFtb3VudCk7XG4gICAgY29uc3Qgb3V0cHV0QW1vdW50ID0gKG91dHB1dC5nZXRPdXRwdXQoKSBhcyBBbW91bnRPdXRwdXQpLmdldEFtb3VudCgpO1xuICAgIGNvbnN0IGZlZSA9IGlucHV0QW1vdW50LnN1YihvdXRwdXRBbW91bnQpO1xuICAgIHRoaXMuX2Ftb3VudCA9IG91dHB1dEFtb3VudDtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSA9IGZlZS50b051bWJlcigpIC0gTnVtYmVyKHRoaXMuZml4ZWRGZWUpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2ZlZS5mZWUgPSBmZWUudG9TdHJpbmcoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuc2l6ZSA9IDE7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3NlcyA9IFtpbnB1dC5nZXRBZGRyZXNzKCldO1xuXG4gICAgdGhpcy5fbm9uY2UgPSBuZXcgQk4oKGlucHV0IGFzIGFueSkubm9uY2UpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb24odHgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc3RhdGljIHZlcmlmeVR4VHlwZShiYXNlVHg6IEJhc2VUeCk6IGJhc2VUeCBpcyBFeHBvcnRUeCB7XG4gICAgcmV0dXJuIGJhc2VUeC5nZXRUeXBlSUQoKSA9PT0gRVZNQ29uc3RhbnRzLkVYUE9SVFRYO1xuICB9XG5cbiAgdmVyaWZ5VHhUeXBlKGJhc2VUeDogQmFzZVR4KTogYmFzZVR4IGlzIEV4cG9ydFR4IHtcbiAgICByZXR1cm4gRXhwb3J0SW5DVHhCdWlsZGVyLnZlcmlmeVR4VHlwZShiYXNlVHgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBleHBvcnQgaW4gQy1jaGFpbiB0cmFuc2FjdGlvblxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRBdmF4VHJhbnNhY3Rpb24oKTogdm9pZCB7XG4gICAgLy8gaWYgdHggaGFzIGNyZWRlbnRpYWxzLCB0eCBzaG91bGRuJ3QgY2hhbmdlXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24uaGFzQ3JlZGVudGlhbHMpIHJldHVybjtcbiAgICBpZiAodGhpcy5fYW1vdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYW1vdW50IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzZW5kZXIgaXMgb25lIGFuZCByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5fdG8ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZVJhdGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmVlIHJhdGUgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9ub25jZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vbmNlIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGNvbnN0IHR4RmVlID0gTnVtYmVyKHRoaXMuZml4ZWRGZWUpO1xuXG4gICAgY29uc3QgZmVlOiBudW1iZXIgPSB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlUmF0ZSArIHR4RmVlO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2ZlZS5mZWUgPSBmZWUudG9TdHJpbmcoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuc2l6ZSA9IDE7XG5cbiAgICBjb25zdCBpbnB1dCA9IG5ldyBFVk1JbnB1dChcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXNbMF0sXG4gICAgICB0aGlzLl9hbW91bnQuYWRkbihmZWUpLFxuICAgICAgdGhpcy50cmFuc2FjdGlvbi5fYXNzZXRJZCxcbiAgICAgIHRoaXMuX25vbmNlXG4gICAgKTtcbiAgICBpbnB1dC5hZGRTaWduYXR1cmVJZHgoMCwgdGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3Nlc1swXSk7XG5cbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uKFxuICAgICAgbmV3IEVNVlR4KFxuICAgICAgICBuZXcgVW5zaWduZWRUeChcbiAgICAgICAgICBuZXcgRXhwb3J0VHgoXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrSUQsXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQsXG4gICAgICAgICAgICB0aGlzLl9leHRlcm5hbENoYWluSWQsXG4gICAgICAgICAgICBbaW5wdXRdLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBuZXcgVHJhbnNmZXJhYmxlT3V0cHV0KFxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQsXG4gICAgICAgICAgICAgICAgbmV3IFNFQ1BUcmFuc2Zlck91dHB1dChcbiAgICAgICAgICAgICAgICAgIHRoaXMuX2Ftb3VudCxcbiAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX3RvLFxuICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fbG9ja3RpbWUsXG4gICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl90aHJlc2hvbGRcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICAvLyBUT0RPKEJHLTU2NzAwKTogIEltcHJvdmUgY2FuU2lnbiBieSBjaGVjayBpbiBhZGRyZXNzZXMgaW4gZW1wdHkgY3JlZGVudGlhbHMgbWF0Y2ggc2lnbmVyXG4gICAgICAgIFtTZWxlY3RDcmVkZW50aWFsQ2xhc3MoaW5wdXQuZ2V0Q3JlZGVudGlhbElEKCksIFsnJ10ubWFwKHV0aWxzLmNyZWF0ZVNpZykpXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gbmV3IEVNVlR4KCk7XG4gICAgdHguZnJvbUJ1ZmZlcihCdWZmZXJBdmF4LmZyb20ocmF3VHJhbnNhY3Rpb24sICdoZXgnKSk7XG4gICAgdGhpcy5pbml0QnVpbGRlcih0eCk7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIGFtb3VudCBpcyBwb3NpdGl2ZS5cbiAgICogQHBhcmFtIGFtb3VudFxuICAgKi9cbiAgdmFsaWRhdGVOb25jZShub25jZTogQk4pOiB2b2lkIHtcbiAgICBpZiAobm9uY2UubHRuKDApKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdOb25jZSBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiAwJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0SW5DVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRJbkNUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQTRGO0FBRTVGLHlDQUFxRDtBQUNyRCxpREFVaUM7QUFDakMsK0VBQTRFO0FBRzVFLG9EQUE0QjtBQUU1QixNQUFhLGtCQUFtQixTQUFRLHlEQUEyQjtJQUlqRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsS0FBdUI7UUFDM0IsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQW1CO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLGNBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQXNCO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEVBQUUsQ0FBQyxVQUE2QjtRQUM5QixNQUFNLE9BQU8sR0FBRyxVQUFVLFlB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QUFXLENBQUMsR0FBRyxFQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQzVCLENBQ0Y7U0FDRixDQUNGLENBQ0Y7UUFDRCwyRkFBMkY7UUFDM0YsQ0FBQyxJQUFBLDJCQUFxQixFQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUM1RSxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxFQUFFLEdBQUcsSUFBSSxRQUFLLEVBQUUsQ0FBQztRQUN2QixFQUFFLENBQUMsVUFBVSxDQUFDLGtCQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsS0FBUztRQUNyQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBbE1ELGdEQWtNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgTm90U3VwcG9ydGVkLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCTiwgQnVmZmVyIGFzIEJ1ZmZlckF2YXggfSBmcm9tICdhdmFsYW5jaGUnO1xuaW1wb3J0IHtcbiAgQW1vdW50T3V0cHV0LFxuICBFVk1Db25zdGFudHMsXG4gIEVWTUlucHV0LFxuICBUeCBhcyBFVk1UeCxcbiAgRXhwb3J0VHgsXG4gIFNFQ1BUcmFuc2Zlck91dHB1dCxcbiAgU2VsZWN0Q3JlZGVudGlhbENsYXNzLFxuICBUcmFuc2ZlcmFibGVPdXRwdXQsXG4gIFVuc2lnbmVkVHgsXG59IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvZXZtJztcbmltcG9ydCB7IEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vYXRvbWljSW5DVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IERlcHJlY2F0ZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4vZGVwcmVjYXRlZFRyYW5zYWN0aW9uJztcbmltcG9ydCB7IERlY29kZWRVdHhvT2JqLCBEZXByZWNhdGVkQmFzZVR4LCBEZXByZWNhdGVkVHggfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEV4cG9ydEluQ1R4QnVpbGRlciBleHRlbmRzIEF0b21pY0luQ1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2Ftb3VudDogQk47XG4gIHByaXZhdGUgX25vbmNlOiBCTjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogVXR4b3MgYXJlIG5vdCByZXF1aXJlZCBpbiBFeHBvcnQgVHggaW4gQy1DaGFpbi5cbiAgICogT3ZlcnJpZGUgdXR4b3MgdG8gcHJldmVudCB1c2VkIGJ5IHRocm93aW5nIGEgZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSB7RGVjb2RlZFV0eG9PYmpbXX0gdmFsdWUgaWdub3JlZFxuICAgKi9cbiAgdXR4b3ModmFsdWU6IERlY29kZWRVdHhvT2JqW10pOiB0aGlzIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCd1dHhvcyBhcmUgbm90IHJlcXVpcmVkIGluIEV4cG9ydCBUeCBpbiBDLUNoYWluJyk7XG4gIH1cblxuICAvKipcbiAgICogQW1vdW50IGlzIGEgbG9uZyB0aGF0IHNwZWNpZmllcyB0aGUgcXVhbnRpdHkgb2YgdGhlIGFzc2V0IHRoYXQgdGhpcyBvdXRwdXQgb3ducy4gTXVzdCBiZSBwb3NpdGl2ZS5cbiAgICogVGhlIHRyYW5zYWN0aW9uIG91dHB1dCBhbW91bnQgYWRkIGEgZml4ZWQgZmVlIHRoYXQgd2lsbCBiZSBwYWlkIHVwb24gaW1wb3J0LlxuICAgKlxuICAgKiBAcGFyYW0ge0JOIHwgc3RyaW5nfSBhbW91bnQgVGhlIHdpdGhkcmF3YWwgYW1vdW50XG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBCTiB8IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IGFtb3VudEJOID0gQk4uaXNCTihhbW91bnQpID8gYW1vdW50IDogbmV3IEJOKGFtb3VudCk7XG4gICAgdGhpcy52YWxpZGF0ZUFtb3VudChhbW91bnRCTik7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50Qk47XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBub25jZSBvZiBDLUNoYWluIHNlbmRlciBhZGRyZXNzXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyIHwgc3RyaW5nfSBub25jZSAtIG51bWJlciB0aGF0IGNhbiBiZSBvbmx5IHVzZWQgb25jZVxuICAgKi9cbiAgbm9uY2Uobm9uY2U6IG51bWJlciB8IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IG5vbmNlQk4gPSBuZXcgQk4obm9uY2UpO1xuICAgIHRoaXMudmFsaWRhdGVOb25jZShub25jZUJOKTtcbiAgICB0aGlzLl9ub25jZSA9IG5vbmNlQk47XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IHR4IHRhcmdldCBQIHdhbGxldC5cbiAgICpcbiAgICogQHBhcmFtIHBBZGRyZXNzZXNcbiAgICovXG4gIHRvKHBBZGRyZXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgY29uc3QgcHViS2V5cyA9IHBBZGRyZXNzZXMgaW5zdGFuY2VvZiBBcnJheSA/IHBBZGRyZXNzZXMgOiBwQWRkcmVzc2VzLnNwbGl0KCd+Jyk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdG8gPSBwdWJLZXlzLm1hcCh1dGlscy5wYXJzZUFkZHJlc3MpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkV4cG9ydDtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBEZXByZWNhdGVkVHgpOiB0aGlzIHtcbiAgICBjb25zdCBiYXNlVHg6IERlcHJlY2F0ZWRCYXNlVHggPSB0eC5nZXRVbnNpZ25lZFR4KCkuZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICBpZiAoXG4gICAgICBiYXNlVHguZ2V0TmV0d29ya0lEKCkgIT09IHRoaXMudHJhbnNhY3Rpb24uX25ldHdvcmtJRCB8fFxuICAgICAgIWJhc2VUeC5nZXRCbG9ja2NoYWluSUQoKS5lcXVhbHModGhpcy50cmFuc2FjdGlvbi5fYmxvY2tjaGFpbklEKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIG9yIGJsb2NrY2hhaW4gaXMgbm90IGVxdWFscycpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy52ZXJpZnlUeFR5cGUoYmFzZVR4KSkge1xuICAgICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnVHJhbnNhY3Rpb24gY2Fubm90IGJlIHBhcnNlZCBvciBoYXMgYW4gdW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgIH1cblxuICAgIC8vIFRoZSBvdXRwdXRzIGlzIGEgbXVsdGlzaWduIFAtQ2hhaW4gYWRkcmVzcyByZXN1bHQuXG4gICAgLy8gSXQncyBleHBlY3RlZCB0byBoYXZlIG9ubHkgb25lIG91dHB1dHMgdG8gdGhlIGRlc3RpbmF0aW9uIFAtQ2hhaW4gYWRkcmVzcy5cbiAgICBjb25zdCBvdXRwdXRzID0gYmFzZVR4LmdldEV4cG9ydGVkT3V0cHV0cygpO1xuICAgIGlmIChvdXRwdXRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gY2FuIGhhdmUgb25lIG91dHB1dCcpO1xuICAgIH1cbiAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzWzBdO1xuXG4gICAgaWYgKCFvdXRwdXQuZ2V0QXNzZXRJRCgpLmVxdWFscyh0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBc3NldElEIGFyZSBub3QgZXF1YWxzJyk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGlucHV0cyBpcyBub3QgYW4gdXR4by5cbiAgICAvLyBJdCdzIGV4cGVjdGVkIHRvIGhhdmUgb25seSBvbmUgaW5wdXQgZm9ybSBDLUNoYWluIGFkZHJlc3MuXG4gICAgY29uc3QgaW5wdXRzID0gYmFzZVR4LmdldElucHV0cygpO1xuICAgIGlmIChpbnB1dHMubGVuZ3RoICE9PSAxKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiBjYW4gaGF2ZSBvbmUgaW5wdXRzJyk7XG4gICAgfVxuICAgIGNvbnN0IGlucHV0ID0gaW5wdXRzWzBdO1xuXG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdG8gPSBvdXRwdXQuZ2V0T3V0cHV0KCkuZ2V0QWRkcmVzc2VzKCk7XG4gICAgY29uc3QgaW5wdXRBbW91bnQgPSBuZXcgQk4oKGlucHV0IGFzIGFueSkuYW1vdW50KTtcbiAgICBjb25zdCBvdXRwdXRBbW91bnQgPSAob3V0cHV0LmdldE91dHB1dCgpIGFzIEFtb3VudE91dHB1dCkuZ2V0QW1vdW50KCk7XG4gICAgY29uc3QgZmVlID0gaW5wdXRBbW91bnQuc3ViKG91dHB1dEFtb3VudCk7XG4gICAgdGhpcy5fYW1vdW50ID0gb3V0cHV0QW1vdW50O1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2ZlZS5mZWVSYXRlID0gZmVlLnRvTnVtYmVyKCkgLSBOdW1iZXIodGhpcy5maXhlZEZlZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZSA9IGZlZS50b1N0cmluZygpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2ZlZS5zaXplID0gMTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzID0gW2lucHV0LmdldEFkZHJlc3MoKV07XG5cbiAgICB0aGlzLl9ub25jZSA9IG5ldyBCTigoaW5wdXQgYXMgYW55KS5ub25jZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbih0eCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzdGF0aWMgdmVyaWZ5VHhUeXBlKGJhc2VUeDogRGVwcmVjYXRlZEJhc2VUeCk6IGJhc2VUeCBpcyBFeHBvcnRUeCB7XG4gICAgcmV0dXJuIGJhc2VUeC5nZXRUeXBlSUQoKSA9PT0gRVZNQ29uc3RhbnRzLkVYUE9SVFRYO1xuICB9XG5cbiAgdmVyaWZ5VHhUeXBlKGJhc2VUeDogRGVwcmVjYXRlZEJhc2VUeCk6IGJhc2VUeCBpcyBFeHBvcnRUeCB7XG4gICAgcmV0dXJuIEV4cG9ydEluQ1R4QnVpbGRlci52ZXJpZnlUeFR5cGUoYmFzZVR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgZXhwb3J0IGluIEMtY2hhaW4gdHJhbnNhY3Rpb25cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQXZheFRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIC8vIGlmIHR4IGhhcyBjcmVkZW50aWFscywgdHggc2hvdWxkbid0IGNoYW5nZVxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLmhhc0NyZWRlbnRpYWxzKSByZXR1cm47XG4gICAgaWYgKHRoaXMuX2Ftb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Ftb3VudCBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbi5fZnJvbUFkZHJlc3Nlcy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2VuZGVyIGlzIG9uZSBhbmQgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb24uX3RvLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd0byBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb24uX2ZlZS5mZWVSYXRlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZlZSByYXRlIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fbm9uY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdub25jZSBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBjb25zdCB0eEZlZSA9IE51bWJlcih0aGlzLmZpeGVkRmVlKTtcblxuICAgIGNvbnN0IGZlZTogbnVtYmVyID0gdGhpcy50cmFuc2FjdGlvbi5fZmVlLmZlZVJhdGUgKyB0eEZlZTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl9mZWUuZmVlID0gZmVlLnRvU3RyaW5nKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fZmVlLnNpemUgPSAxO1xuXG4gICAgY29uc3QgaW5wdXQgPSBuZXcgRVZNSW5wdXQoXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzWzBdLFxuICAgICAgdGhpcy5fYW1vdW50LmFkZG4oZmVlKSxcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQsXG4gICAgICB0aGlzLl9ub25jZVxuICAgICk7XG4gICAgaW5wdXQuYWRkU2lnbmF0dXJlSWR4KDAsIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXNbMF0pO1xuXG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbihcbiAgICAgIG5ldyBFVk1UeChcbiAgICAgICAgbmV3IFVuc2lnbmVkVHgoXG4gICAgICAgICAgbmV3IEV4cG9ydFR4KFxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lELFxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fYmxvY2tjaGFpbklELFxuICAgICAgICAgICAgdGhpcy5fZXh0ZXJuYWxDaGFpbklkLFxuICAgICAgICAgICAgW2lucHV0XSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgbmV3IFRyYW5zZmVyYWJsZU91dHB1dChcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkLFxuICAgICAgICAgICAgICAgIG5ldyBTRUNQVHJhbnNmZXJPdXRwdXQoXG4gICAgICAgICAgICAgICAgICB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl90byxcbiAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX2xvY2t0aW1lLFxuICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fdGhyZXNob2xkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgLy8gVE9ETyhCRy01NjcwMCk6ICBJbXByb3ZlIGNhblNpZ24gYnkgY2hlY2sgaW4gYWRkcmVzc2VzIGluIGVtcHR5IGNyZWRlbnRpYWxzIG1hdGNoIHNpZ25lclxuICAgICAgICBbU2VsZWN0Q3JlZGVudGlhbENsYXNzKGlucHV0LmdldENyZWRlbnRpYWxJRCgpLCBbJyddLm1hcCh1dGlscy5jcmVhdGVTaWcpKV1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IERlcHJlY2F0ZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBuZXcgRVZNVHgoKTtcbiAgICB0eC5mcm9tQnVmZmVyKEJ1ZmZlckF2YXguZnJvbShyYXdUcmFuc2FjdGlvbiwgJ2hleCcpKTtcbiAgICB0aGlzLmluaXRCdWlsZGVyKHR4KTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgYW1vdW50IGlzIHBvc2l0aXZlLlxuICAgKiBAcGFyYW0gYW1vdW50XG4gICAqL1xuICB2YWxpZGF0ZU5vbmNlKG5vbmNlOiBCTik6IHZvaWQge1xuICAgIGlmIChub25jZS5sdG4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ05vbmNlIG11c3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0aGFuIDAnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,9 @@
1
- /// <reference types="bn.js" />
2
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
2
  import { TransactionType } from '@bitgo-beta/sdk-core';
4
3
  import { AtomicTransactionBuilder } from './atomicTransactionBuilder';
5
4
  import { ExportTx, TransferableOutput } from 'avalanche/dist/apis/platformvm';
6
5
  import { BN } from 'avalanche';
7
- import { Tx, BaseTx } from './iface';
6
+ import { DeprecatedTx, DeprecatedBaseTx } from './iface';
8
7
  export declare class ExportTxBuilder extends AtomicTransactionBuilder {
9
8
  private _amount;
10
9
  constructor(_coinConfig: Readonly<CoinConfig>);
@@ -16,9 +15,9 @@ export declare class ExportTxBuilder extends AtomicTransactionBuilder {
16
15
  */
17
16
  amount(value: BN | string): this;
18
17
  /** @inheritdoc */
19
- initBuilder(tx: Tx): this;
20
- static verifyTxType(baseTx: BaseTx): baseTx is ExportTx;
21
- verifyTxType(baseTx: BaseTx): baseTx is ExportTx;
18
+ initBuilder(tx: DeprecatedTx): this;
19
+ static verifyTxType(baseTx: DeprecatedBaseTx): baseTx is ExportTx;
20
+ verifyTxType(baseTx: DeprecatedBaseTx): baseTx is ExportTx;
22
21
  /**
23
22
  * Create the internal avalanche transaction.
24
23
  * @protected
@@ -1 +1 @@
1
- {"version":3,"file":"exportTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/exportTxBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAuC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,QAAQ,EAGR,kBAAkB,EAGnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAI/B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,eAAgB,SAAQ,wBAAwB;IAC3D,OAAO,CAAC,OAAO,CAAK;gBAER,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAOhC,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;IA2BzB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,QAAQ;IAIvD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,QAAQ;IAIhD;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAsBtC;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,kBAAkB,EAAE;CAalD"}
1
+ {"version":3,"file":"exportTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/exportTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAuC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,QAAQ,EAGR,kBAAkB,EAGnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAI/B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEzD,qBAAa,eAAgB,SAAQ,wBAAwB;IAC3D,OAAO,CAAC,OAAO,CAAK;gBAER,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI;IAOhC,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IA2BnC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,QAAQ;IAIjE,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,QAAQ;IAI1D;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAsBtC;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,kBAAkB,EAAE;CAalD"}
@@ -53,7 +53,7 @@ class ExportTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilde
53
53
  this.transaction._fromAddresses = secpOut.getAddresses();
54
54
  this._externalChainId = baseTx.getDestinationChain();
55
55
  this._amount = secpOut.getAmount();
56
- this.transaction._utxos = utxoEngine_1.recoverUtxos(baseTx.getIns());
56
+ this.transaction._utxos = (0, utxoEngine_1.deprecatedRecoverUtxos)(baseTx.getIns());
57
57
  return this;
58
58
  }
59
59
  static verifyTxType(baseTx) {
@@ -71,7 +71,7 @@ class ExportTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilde
71
71
  if (this.transaction.hasCredentials)
72
72
  return;
73
73
  const { inputs, outputs, credentials } = this.createInputOutput(this._amount.add(new avalanche_1.BN(this.transaction.fee.fee)));
74
- this.transaction.setTransaction(new platformvm_1.Tx(new platformvm_1.UnsignedTx(new platformvm_1.ExportTx(this.transaction._networkID, this.transaction._blockchainID, outputs, inputs, this.transaction._memo, this._externalChainId, this.exportedOutputs())), credentials));
74
+ this.transaction.setTransaction(new platformvm_1.Tx(new platformvm_1.UnsignedTx(new platformvm_1.ExportTx(this.transaction._networkID, this.transaction._blockchainID, outputs, inputs, undefined, this._externalChainId, this.exportedOutputs())), credentials));
75
75
  }
76
76
  /**
77
77
  * Create the ExportedOut where the recipient address are the sender.
@@ -85,4 +85,4 @@ class ExportTxBuilder extends atomicTransactionBuilder_1.AtomicTransactionBuilde
85
85
  }
86
86
  }
87
87
  exports.ExportTxBuilder = ExportTxBuilder;
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0VHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsbURBQTRGO0FBQzVGLHlFQUFzRTtBQUN0RSwrREFPd0M7QUFDeEMseUNBQStCO0FBRS9CLG9EQUE0QjtBQUM1Qiw2Q0FBNEM7QUFHNUMsTUFBYSxlQUFnQixTQUFRLG1EQUF3QjtJQUczRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFrQjtRQUN2QixNQUFNLE9BQU8sR0FBRyxjQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxFQUFNO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsTUFBTSxNQUFNLEdBQVcsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lB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O0lBQ0osQ0FBQztDQUNGO0FBeEdELDBDQXdHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgTm90U3VwcG9ydGVkLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBBdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2F0b21pY1RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQge1xuICBFeHBvcnRUeCxcbiAgUGxhdGZvcm1WTUNvbnN0YW50cyxcbiAgU0VDUFRyYW5zZmVyT3V0cHV0LFxuICBUcmFuc2ZlcmFibGVPdXRwdXQsXG4gIFR4IGFzIFBWTVR4LFxuICBVbnNpZ25lZFR4LFxufSBmcm9tICdhdmFsYW5jaGUvZGlzdC9hcGlzL3BsYXRmb3Jtdm0nO1xuaW1wb3J0IHsgQk4gfSBmcm9tICdhdmFsYW5jaGUnO1xuaW1wb3J0IHsgQW1vdW50T3V0cHV0IH0gZnJvbSAnYXZhbGFuY2hlL2Rpc3QvYXBpcy9ldm0vb3V0cHV0cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyByZWNvdmVyVXR4b3MgfSBmcm9tICcuL3V0eG9FbmdpbmUnO1xuaW1wb3J0IHsgVHgsIEJhc2VUeCB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgY2xhc3MgRXhwb3J0VHhCdWlsZGVyIGV4dGVuZHMgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfYW1vdW50OiBCTjtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fZXh0ZXJuYWxDaGFpbklkID0gdXRpbHMuY2I1OERlY29kZSh0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrLmNDaGFpbkJsb2NrY2hhaW5JRCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuRXhwb3J0O1xuICB9XG5cbiAgLyoqXG4gICAqIEFtb3VudCBpcyBhIGxvbmcgdGhhdCBzcGVjaWZpZXMgdGhlIHF1YW50aXR5IG9mIHRoZSBhc3NldCB0aGF0IHRoaXMgb3V0cHV0IG93bnMuIE11c3QgYmUgcG9zaXRpdmUuXG4gICAqXG4gICAqIEBwYXJhbSB7Qk4gfCBzdHJpbmd9IGFtb3VudCBUaGUgd2l0aGRyYXdhbCBhbW91bnRcbiAgICovXG4gIGFtb3VudCh2YWx1ZTogQk4gfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCB2YWx1ZUJOID0gQk4uaXNCTih2YWx1ZSkgPyB2YWx1ZSA6IG5ldyBCTih2YWx1ZSk7XG4gICAgdGhpcy52YWxpZGF0ZUFtb3VudCh2YWx1ZUJOKTtcbiAgICB0aGlzLl9hbW91bnQgPSB2YWx1ZUJOO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUeCk6IHRoaXMge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBjb25zdCBiYXNlVHg6IEJhc2VUeCA9IHR4LmdldFVuc2lnbmVkVHgoKS5nZXRUcmFuc2FjdGlvbigpO1xuICAgIGlmICghdGhpcy52ZXJpZnlUeFR5cGUoYmFzZVR4KSkge1xuICAgICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnVHJhbnNhY3Rpb24gY2Fubm90IGJlIHBhcnNlZCBvciBoYXMgYW4gdW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgIH1cbiAgICAvLyBUaGUgRXhwb3J0T3V0cHV0cyBpcyBhIHtAbGluayBleHBvcnRlZE91dHB1dHN9IHJlc3VsdC5cbiAgICAvLyBJdCdzIGV4cGVjdGVkIHRvIGhhdmUgb25seSBvbmUgb3V0cHV0cyB3aXRoIHRoZSBhZGRyZXNzZXMgb2YgdGhlIHNlbmRlci5cbiAgICBjb25zdCBvdXRwdXRzID0gYmFzZVR4LmdldEV4cG9ydE91dHB1dHMoKTtcbiAgICBpZiAob3V0cHV0cy5sZW5ndGggIT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gY2FuIGhhdmUgb25lIGV4dGVybmFsIG91dHB1dCcpO1xuICAgIH1cbiAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzWzBdO1xuICAgIGlmICghb3V0cHV0LmdldEFzc2V0SUQoKS5lcXVhbHModGhpcy50cmFuc2FjdGlvbi5fYXNzZXRJZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIEFzc2V0IElEIG9mIHRoZSBvdXRwdXQgZG9lcyBub3QgbWF0Y2ggdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IHNlY3BPdXQgPSBvdXRwdXQuZ2V0T3V0cHV0KCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fbG9ja3RpbWUgPSBzZWNwT3V0LmdldExvY2t0aW1lKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdGhyZXNob2xkID0gc2VjcE91dC5nZXRUaHJlc2hvbGQoKTtcbiAgICAvLyBvdXRwdXQgYWRkcmVzc2VzIGFyZSB0aGUgc2VuZGVyIGFkZHJlc3Nlc1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXMgPSBzZWNwT3V0LmdldEFkZHJlc3NlcygpO1xuICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCA9IGJhc2VUeC5nZXREZXN0aW5hdGlvbkNoYWluKCk7XG4gICAgdGhpcy5fYW1vdW50ID0gKHNlY3BPdXQgYXMgQW1vdW50T3V0cHV0KS5nZXRBbW91bnQoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl91dHhvcyA9IHJlY292ZXJVdHhvcyhiYXNlVHguZ2V0SW5zKCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc3RhdGljIHZlcmlmeVR4VHlwZShiYXNlVHg6IEJhc2VUeCk6IGJhc2VUeCBpcyBFeHBvcnRUeCB7XG4gICAgcmV0dXJuIGJhc2VUeC5nZXRUeXBlSUQoKSA9PT0gUGxhdGZvcm1WTUNvbnN0YW50cy5FWFBPUlRUWDtcbiAgfVxuXG4gIHZlcmlmeVR4VHlwZShiYXNlVHg6IEJhc2VUeCk6IGJhc2VUeCBpcyBFeHBvcnRUeCB7XG4gICAgcmV0dXJuIEV4cG9ydFR4QnVpbGRlci52ZXJpZnlUeFR5cGUoYmFzZVR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGludGVybmFsIGF2YWxhbmNoZSB0cmFuc2FjdGlvbi5cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQXZheFRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIC8vIGlmIHR4IGhhcyBjcmVkZW50aWFscywgdHggc2hvdWxkbid0IGNoYW5nZVxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLmhhc0NyZWRlbnRpYWxzKSByZXR1cm47XG4gICAgY29uc3QgeyBpbnB1dHMsIG91dHB1dHMsIGNyZWRlbnRpYWxzIH0gPSB0aGlzLmNyZWF0ZUlucHV0T3V0cHV0KHRoaXMuX2Ftb3VudC5hZGQobmV3IEJOKHRoaXMudHJhbnNhY3Rpb24uZmVlLmZlZSkpKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uKFxuICAgICAgbmV3IFBWTVR4KFxuICAgICAgICBuZXcgVW5zaWduZWRUeChcbiAgICAgICAgICBuZXcgRXhwb3J0VHgoXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrSUQsXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQsXG4gICAgICAgICAgICBvdXRwdXRzLFxuICAgICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fbWVtbyxcbiAgICAgICAgICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCxcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0ZWRPdXRwdXRzKClcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGNyZWRlbnRpYWxzXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIEV4cG9ydGVkT3V0IHdoZXJlIHRoZSByZWNpcGllbnQgYWRkcmVzcyBhcmUgdGhlIHNlbmRlci5cbiAgICogTGF0ZXIgYSBpbXBvcnRUeCBzaG91bGQgY29tcGxldGUgdGhlIG9wZXJhdGlvbnMgc2lnbmluZyB3aXRoIHRoZSBzYW1lIGtleXMuXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBleHBvcnRlZE91dHB1dHMoKTogVHJhbnNmZXJhYmxlT3V0cHV0W10ge1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgVHJhbnNmZXJhYmxlT3V0cHV0KFxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9hc3NldElkLFxuICAgICAgICBuZXcgU0VDUFRyYW5zZmVyT3V0cHV0KFxuICAgICAgICAgIHRoaXMuX2Ftb3VudCxcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9mcm9tQWRkcmVzc2VzLFxuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX2xvY2t0aW1lLFxuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX3RocmVzaG9sZFxuICAgICAgICApXG4gICAgICApLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0VHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9leHBvcnRUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsbURBQTRGO0FBQzVGLHlFQUFzRTtBQUN0RSwrREFPd0M7QUFDeEMseUNBQStCO0FBRS9CLG9EQUE0QjtBQUM1Qiw2Q0FBc0Q7QUFHdEQsTUFBYSxlQUFnQixTQUFRLG1EQUF3QjtJQUczRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFrQjtRQUN2QixNQUFNLE9BQU8sR0FBRyxjQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxFQUFnQjtRQUMxQixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUs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QUM1QixDQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXhHRCwwQ0F3R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIE5vdFN1cHBvcnRlZCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9hdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHtcbiAgRXhwb3J0VHgsXG4gIFBsYXRmb3JtVk1Db25zdGFudHMsXG4gIFNFQ1BUcmFuc2Zlck91dHB1dCxcbiAgVHJhbnNmZXJhYmxlT3V0cHV0LFxuICBUeCBhcyBQVk1UeCxcbiAgVW5zaWduZWRUeCxcbn0gZnJvbSAnYXZhbGFuY2hlL2Rpc3QvYXBpcy9wbGF0Zm9ybXZtJztcbmltcG9ydCB7IEJOIH0gZnJvbSAnYXZhbGFuY2hlJztcbmltcG9ydCB7IEFtb3VudE91dHB1dCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvZXZtL291dHB1dHMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgZGVwcmVjYXRlZFJlY292ZXJVdHhvcyB9IGZyb20gJy4vdXR4b0VuZ2luZSc7XG5pbXBvcnQgeyBEZXByZWNhdGVkVHgsIERlcHJlY2F0ZWRCYXNlVHggfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNsYXNzIEV4cG9ydFR4QnVpbGRlciBleHRlbmRzIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2Ftb3VudDogQk47XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCA9IHV0aWxzLmNiNThEZWNvZGUodGhpcy50cmFuc2FjdGlvbi5fbmV0d29yay5jQ2hhaW5CbG9ja2NoYWluSUQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkV4cG9ydDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbW91bnQgaXMgYSBsb25nIHRoYXQgc3BlY2lmaWVzIHRoZSBxdWFudGl0eSBvZiB0aGUgYXNzZXQgdGhhdCB0aGlzIG91dHB1dCBvd25zLiBNdXN0IGJlIHBvc2l0aXZlLlxuICAgKlxuICAgKiBAcGFyYW0ge0JOIHwgc3RyaW5nfSBhbW91bnQgVGhlIHdpdGhkcmF3YWwgYW1vdW50XG4gICAqL1xuICBhbW91bnQodmFsdWU6IEJOIHwgc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgdmFsdWVCTiA9IEJOLmlzQk4odmFsdWUpID8gdmFsdWUgOiBuZXcgQk4odmFsdWUpO1xuICAgIHRoaXMudmFsaWRhdGVBbW91bnQodmFsdWVCTik7XG4gICAgdGhpcy5fYW1vdW50ID0gdmFsdWVCTjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogRGVwcmVjYXRlZFR4KTogdGhpcyB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGNvbnN0IGJhc2VUeDogRGVwcmVjYXRlZEJhc2VUeCA9IHR4LmdldFVuc2lnbmVkVHgoKS5nZXRUcmFuc2FjdGlvbigpO1xuICAgIGlmICghdGhpcy52ZXJpZnlUeFR5cGUoYmFzZVR4KSkge1xuICAgICAgdGhyb3cgbmV3IE5vdFN1cHBvcnRlZCgnVHJhbnNhY3Rpb24gY2Fubm90IGJlIHBhcnNlZCBvciBoYXMgYW4gdW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICAgIH1cbiAgICAvLyBUaGUgRXhwb3J0T3V0cHV0cyBpcyBhIHtAbGluayBleHBvcnRlZE91dHB1dHN9IHJlc3VsdC5cbiAgICAvLyBJdCdzIGV4cGVjdGVkIHRvIGhhdmUgb25seSBvbmUgb3V0cHV0cyB3aXRoIHRoZSBhZGRyZXNzZXMgb2YgdGhlIHNlbmRlci5cbiAgICBjb25zdCBvdXRwdXRzID0gYmFzZVR4LmdldEV4cG9ydE91dHB1dHMoKTtcbiAgICBpZiAob3V0cHV0cy5sZW5ndGggIT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gY2FuIGhhdmUgb25lIGV4dGVybmFsIG91dHB1dCcpO1xuICAgIH1cbiAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzWzBdO1xuICAgIGlmICghb3V0cHV0LmdldEFzc2V0SUQoKS5lcXVhbHModGhpcy50cmFuc2FjdGlvbi5fYXNzZXRJZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIEFzc2V0IElEIG9mIHRoZSBvdXRwdXQgZG9lcyBub3QgbWF0Y2ggdGhlIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIGNvbnN0IHNlY3BPdXQgPSBvdXRwdXQuZ2V0T3V0cHV0KCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fbG9ja3RpbWUgPSBzZWNwT3V0LmdldExvY2t0aW1lKCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5fdGhyZXNob2xkID0gc2VjcE91dC5nZXRUaHJlc2hvbGQoKTtcbiAgICAvLyBvdXRwdXQgYWRkcmVzc2VzIGFyZSB0aGUgc2VuZGVyIGFkZHJlc3Nlc1xuICAgIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXMgPSBzZWNwT3V0LmdldEFkZHJlc3NlcygpO1xuICAgIHRoaXMuX2V4dGVybmFsQ2hhaW5JZCA9IGJhc2VUeC5nZXREZXN0aW5hdGlvbkNoYWluKCk7XG4gICAgdGhpcy5fYW1vdW50ID0gKHNlY3BPdXQgYXMgQW1vdW50T3V0cHV0KS5nZXRBbW91bnQoKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLl91dHhvcyA9IGRlcHJlY2F0ZWRSZWNvdmVyVXR4b3MoYmFzZVR4LmdldElucygpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHN0YXRpYyB2ZXJpZnlUeFR5cGUoYmFzZVR4OiBEZXByZWNhdGVkQmFzZVR4KTogYmFzZVR4IGlzIEV4cG9ydFR4IHtcbiAgICByZXR1cm4gYmFzZVR4LmdldFR5cGVJRCgpID09PSBQbGF0Zm9ybVZNQ29uc3RhbnRzLkVYUE9SVFRYO1xuICB9XG5cbiAgdmVyaWZ5VHhUeXBlKGJhc2VUeDogRGVwcmVjYXRlZEJhc2VUeCk6IGJhc2VUeCBpcyBFeHBvcnRUeCB7XG4gICAgcmV0dXJuIEV4cG9ydFR4QnVpbGRlci52ZXJpZnlUeFR5cGUoYmFzZVR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGludGVybmFsIGF2YWxhbmNoZSB0cmFuc2FjdGlvbi5cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQXZheFRyYW5zYWN0aW9uKCk6IHZvaWQge1xuICAgIC8vIGlmIHR4IGhhcyBjcmVkZW50aWFscywgdHggc2hvdWxkbid0IGNoYW5nZVxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uLmhhc0NyZWRlbnRpYWxzKSByZXR1cm47XG4gICAgY29uc3QgeyBpbnB1dHMsIG91dHB1dHMsIGNyZWRlbnRpYWxzIH0gPSB0aGlzLmNyZWF0ZUlucHV0T3V0cHV0KHRoaXMuX2Ftb3VudC5hZGQobmV3IEJOKHRoaXMudHJhbnNhY3Rpb24uZmVlLmZlZSkpKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uKFxuICAgICAgbmV3IFBWTVR4KFxuICAgICAgICBuZXcgVW5zaWduZWRUeChcbiAgICAgICAgICBuZXcgRXhwb3J0VHgoXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrSUQsXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uLl9ibG9ja2NoYWluSUQsXG4gICAgICAgICAgICBvdXRwdXRzLFxuICAgICAgICAgICAgaW5wdXRzLFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdGhpcy5fZXh0ZXJuYWxDaGFpbklkLFxuICAgICAgICAgICAgdGhpcy5leHBvcnRlZE91dHB1dHMoKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgY3JlZGVudGlhbHNcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgRXhwb3J0ZWRPdXQgd2hlcmUgdGhlIHJlY2lwaWVudCBhZGRyZXNzIGFyZSB0aGUgc2VuZGVyLlxuICAgKiBMYXRlciBhIGltcG9ydFR4IHNob3VsZCBjb21wbGV0ZSB0aGUgb3BlcmF0aW9ucyBzaWduaW5nIHdpdGggdGhlIHNhbWUga2V5cy5cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGV4cG9ydGVkT3V0cHV0cygpOiBUcmFuc2ZlcmFibGVPdXRwdXRbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIG5ldyBUcmFuc2ZlcmFibGVPdXRwdXQoXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX2Fzc2V0SWQsXG4gICAgICAgIG5ldyBTRUNQVHJhbnNmZXJPdXRwdXQoXG4gICAgICAgICAgdGhpcy5fYW1vdW50LFxuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX2Zyb21BZGRyZXNzZXMsXG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fbG9ja3RpbWUsXG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fdGhyZXNob2xkXG4gICAgICAgIClcbiAgICAgICksXG4gICAgXTtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
- import { Entry, TransactionExplanation as BaseTransactionExplanation, TransactionType } from '@bitgo-beta/sdk-core';
2
- import { BaseTx as PMVBaseTx, TransferableOutput, Tx as PMVTx } from 'avalanche/dist/apis/platformvm';
3
- import { EVMBaseTx, EVMOutput, Tx as EMVTx } from 'avalanche/dist/apis/evm';
1
+ import { TransactionExplanation as BaseTransactionExplanation, Entry, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { EVMBaseTx as DeprecatedEVMBaseTx, EVMOutput, Tx as EVMTx } from 'avalanche/dist/apis/evm';
3
+ import { BaseTx as DeprecatedPMVBaseTx, Tx as PVMTx, TransferableOutput as DeprecatedTransferableOutput } from 'avalanche/dist/apis/platformvm';
4
+ import { avaxSerial, pvmSerial, UnsignedTx, TransferableOutput } from '@bitgo-forks/avalanchejs';
4
5
  export interface AvaxpEntry extends Entry {
5
6
  id: string;
6
7
  }
@@ -8,7 +9,6 @@ export interface TransactionExplanation extends BaseTransactionExplanation {
8
9
  type: TransactionType;
9
10
  rewardAddresses: string[];
10
11
  inputs: Entry[];
11
- memo?: string;
12
12
  }
13
13
  /**
14
14
  * Method names for the transaction method. Names change based on the type of transaction e.g 'bond' for the staking transaction
@@ -27,7 +27,6 @@ export interface TxData {
27
27
  fromAddresses: string[];
28
28
  threshold: number;
29
29
  locktime: string;
30
- memo?: string;
31
30
  signatures: string[];
32
31
  outputs: Entry[];
33
32
  changeOutputs: Entry[];
@@ -42,8 +41,9 @@ export interface TxData {
42
41
  * @param {string} txid Transaction ID encoded as cb58
43
42
  * @param {string} outputidx Output index as a string
44
43
  */
45
- export declare type DecodedUtxoObj = {
44
+ export type DecodedUtxoObj = {
46
45
  outputID: number;
46
+ locktime?: string;
47
47
  amount: string;
48
48
  txid: string;
49
49
  outputidx: string;
@@ -54,12 +54,21 @@ export declare type DecodedUtxoObj = {
54
54
  /**
55
55
  * TypeId value for SECP256K1 Transfer Output
56
56
  *
57
- * {@link https://docs.avax.network/specs/platform-transaction-serialization#secp256k1-transfer-output-example }
57
+ * {@link https://build.avax.network/docs/api-reference/p-chain/txn-format#secp256k1-transfer-output }
58
58
  */
59
59
  export declare const SECP256K1_Transfer_Output = 7;
60
+ /**
61
+ * TypeId value for Stakeable Lock Output
62
+ * {@link https://build.avax.network/docs/api-reference/p-chain/txn-format#stakeablelockout }
63
+ */
64
+ export declare const SECP256K1_STAKEABLE_LOCK_OUT = 22;
60
65
  export declare const ADDRESS_SEPARATOR = "~";
61
66
  export declare const INPUT_SEPARATOR = ":";
62
- export declare type Tx = PMVTx | EMVTx;
63
- export declare type BaseTx = PMVBaseTx | EVMBaseTx;
64
- export declare type Output = TransferableOutput | EVMOutput;
67
+ export type DeprecatedTx = PVMTx | EVMTx;
68
+ export type DeprecatedBaseTx = DeprecatedPMVBaseTx | DeprecatedEVMBaseTx;
69
+ export type Tx = DeprecatedTx | pvmSerial.BaseTx | UnsignedTx;
70
+ export type BaseTx = avaxSerial.BaseTx;
71
+ export type AvaxTx = avaxSerial.AvaxTx;
72
+ export type DeprecatedOutput = DeprecatedTransferableOutput | EVMOutput;
73
+ export type Output = TransferableOutput;
65
74
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,kBAAkB,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAE5E,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,YAAY,IAAA;IACZ,YAAY,IAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,oBAAY,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,oBAAY,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC;AAC/B,oBAAY,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAC3C,oBAAY,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,SAAS,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EACL,MAAM,IAAI,mBAAmB,EAC7B,EAAE,IAAI,KAAK,EACX,kBAAkB,IAAI,4BAA4B,EACnD,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACjG,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,YAAY,IAAA;IACZ,YAAY,IAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,aAAa,EAAE,KAAK,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;AACzC,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AACzE,MAAM,MAAM,EAAE,GAAG,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACvC,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACvC,MAAM,MAAM,gBAAgB,GAAG,4BAA4B,GAAG,SAAS,CAAC;AACxE,MAAM,MAAM,MAAM,GAAG,kBAAkB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INPUT_SEPARATOR = exports.ADDRESS_SEPARATOR = exports.SECP256K1_Transfer_Output = exports.MethodNames = void 0;
3
+ exports.INPUT_SEPARATOR = exports.ADDRESS_SEPARATOR = exports.SECP256K1_STAKEABLE_LOCK_OUT = exports.SECP256K1_Transfer_Output = exports.MethodNames = void 0;
4
4
  /**
5
5
  * Method names for the transaction method. Names change based on the type of transaction e.g 'bond' for the staking transaction
6
6
  */
@@ -8,13 +8,18 @@ var MethodNames;
8
8
  (function (MethodNames) {
9
9
  MethodNames[MethodNames["addDelegator"] = 0] = "addDelegator";
10
10
  MethodNames[MethodNames["addValidator"] = 1] = "addValidator";
11
- })(MethodNames = exports.MethodNames || (exports.MethodNames = {}));
11
+ })(MethodNames || (exports.MethodNames = MethodNames = {}));
12
12
  /**
13
13
  * TypeId value for SECP256K1 Transfer Output
14
14
  *
15
- * {@link https://docs.avax.network/specs/platform-transaction-serialization#secp256k1-transfer-output-example }
15
+ * {@link https://build.avax.network/docs/api-reference/p-chain/txn-format#secp256k1-transfer-output }
16
16
  */
17
17
  exports.SECP256K1_Transfer_Output = 7;
18
+ /**
19
+ * TypeId value for Stakeable Lock Output
20
+ * {@link https://build.avax.network/docs/api-reference/p-chain/txn-format#stakeablelockout }
21
+ */
22
+ exports.SECP256K1_STAKEABLE_LOCK_OUT = 22;
18
23
  exports.ADDRESS_SEPARATOR = '~';
19
24
  exports.INPUT_SEPARATOR = ':';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBOztHQUVHO0FBQ0gsSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLDZEQUFZLENBQUE7SUFDWiw2REFBWSxDQUFBO0FBQ2QsQ0FBQyxFQUhXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBR3RCO0FBc0NEOzs7O0dBSUc7QUFDVSxRQUFBLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUU5QixRQUFBLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUN4QixRQUFBLGVBQWUsR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRyeSwgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBhcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZVR4IGFzIFBNVkJhc2VUeCwgVHJhbnNmZXJhYmxlT3V0cHV0LCBUeCBhcyBQTVZUeCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvcGxhdGZvcm12bSc7XG5pbXBvcnQgeyBFVk1CYXNlVHgsIEVWTU91dHB1dCwgVHggYXMgRU1WVHggfSBmcm9tICdhdmFsYW5jaGUvZGlzdC9hcGlzL2V2bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZheHBFbnRyeSBleHRlbmRzIEVudHJ5IHtcbiAgaWQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICByZXdhcmRBZGRyZXNzZXM6IHN0cmluZ1tdO1xuICBpbnB1dHM6IEVudHJ5W107XG4gIG1lbW8/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWV0aG9kIG5hbWVzIGZvciB0aGUgdHJhbnNhY3Rpb24gbWV0aG9kLiBOYW1lcyBjaGFuZ2UgYmFzZWQgb24gdGhlIHR5cGUgb2YgdHJhbnNhY3Rpb24gZS5nICdib25kJyBmb3IgdGhlIHN0YWtpbmcgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGVudW0gTWV0aG9kTmFtZXMge1xuICBhZGREZWxlZ2F0b3IsXG4gIGFkZFZhbGlkYXRvcixcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgaW5wdXRzOiBFbnRyeVtdO1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG4gIGZyb21BZGRyZXNzZXM6IHN0cmluZ1tdO1xuICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgbG9ja3RpbWU6IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbiAgc2lnbmF0dXJlczogc3RyaW5nW107XG4gIG91dHB1dHM6IEVudHJ5W107XG4gIGNoYW5nZU91dHB1dHM6IEVudHJ5W107XG4gIHNvdXJjZUNoYWluPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvbkNoYWluPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlY29kZWQgVVRYTyBvYmplY3QuIFRoaXMgaXMgZm9yIGEgc2luZ2xlIHV0eG9cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gb3V0cHV0SURcbiAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgQW1vdW50IGFzIGEgQmlnIE51bWJlciBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eGlkIFRyYW5zYWN0aW9uIElEIGVuY29kZWQgYXMgY2I1OFxuICogQHBhcmFtIHtzdHJpbmd9IG91dHB1dGlkeCBPdXRwdXQgaW5kZXggYXMgYSBzdHJpbmdcbiAqL1xuZXhwb3J0IHR5cGUgRGVjb2RlZFV0eG9PYmogPSB7XG4gIG91dHB1dElEOiBudW1iZXI7XG4gIGFtb3VudDogc3RyaW5nO1xuICB0eGlkOiBzdHJpbmc7XG4gIG91dHB1dGlkeDogc3RyaW5nO1xuICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgYWRkcmVzc2VzOiBzdHJpbmdbXTtcbiAgYWRkcmVzc2VzSW5kZXg/OiBudW1iZXJbXTtcbn07XG5cbi8qKlxuICogVHlwZUlkIHZhbHVlIGZvciBTRUNQMjU2SzEgVHJhbnNmZXIgT3V0cHV0XG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvc3BlY3MvcGxhdGZvcm0tdHJhbnNhY3Rpb24tc2VyaWFsaXphdGlvbiNzZWNwMjU2azEtdHJhbnNmZXItb3V0cHV0LWV4YW1wbGUgfVxuICovXG5leHBvcnQgY29uc3QgU0VDUDI1NksxX1RyYW5zZmVyX091dHB1dCA9IDc7XG5cbmV4cG9ydCBjb25zdCBBRERSRVNTX1NFUEFSQVRPUiA9ICd+JztcbmV4cG9ydCBjb25zdCBJTlBVVF9TRVBBUkFUT1IgPSAnOic7XG5leHBvcnQgdHlwZSBUeCA9IFBNVlR4IHwgRU1WVHg7XG5leHBvcnQgdHlwZSBCYXNlVHggPSBQTVZCYXNlVHggfCBFVk1CYXNlVHg7XG5leHBvcnQgdHlwZSBPdXRwdXQgPSBUcmFuc2ZlcmFibGVPdXRwdXQgfCBFVk1PdXRwdXQ7XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlCQTs7R0FFRztBQUNILElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiw2REFBWSxDQUFBO0lBQ1osNkRBQVksQ0FBQTtBQUNkLENBQUMsRUFIVyxXQUFXLDJCQUFYLFdBQVcsUUFHdEI7QUFzQ0Q7Ozs7R0FJRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBQzNDOzs7R0FHRztBQUNVLFFBQUEsNEJBQTRCLEdBQUcsRUFBRSxDQUFDO0FBRWxDLFFBQUEsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gYXMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sIEVudHJ5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBFVk1CYXNlVHggYXMgRGVwcmVjYXRlZEVWTUJhc2VUeCwgRVZNT3V0cHV0LCBUeCBhcyBFVk1UeCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvZXZtJztcbmltcG9ydCB7XG4gIEJhc2VUeCBhcyBEZXByZWNhdGVkUE1WQmFzZVR4LFxuICBUeCBhcyBQVk1UeCxcbiAgVHJhbnNmZXJhYmxlT3V0cHV0IGFzIERlcHJlY2F0ZWRUcmFuc2ZlcmFibGVPdXRwdXQsXG59IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvcGxhdGZvcm12bSc7XG5pbXBvcnQgeyBhdmF4U2VyaWFsLCBwdm1TZXJpYWwsIFVuc2lnbmVkVHgsIFRyYW5zZmVyYWJsZU91dHB1dCB9IGZyb20gJ0BiaXRnby1mb3Jrcy9hdmFsYW5jaGVqcyc7XG5leHBvcnQgaW50ZXJmYWNlIEF2YXhwRW50cnkgZXh0ZW5kcyBFbnRyeSB7XG4gIGlkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcmV3YXJkQWRkcmVzc2VzOiBzdHJpbmdbXTtcbiAgaW5wdXRzOiBFbnRyeVtdO1xufVxuXG4vKipcbiAqIE1ldGhvZCBuYW1lcyBmb3IgdGhlIHRyYW5zYWN0aW9uIG1ldGhvZC4gTmFtZXMgY2hhbmdlIGJhc2VkIG9uIHRoZSB0eXBlIG9mIHRyYW5zYWN0aW9uIGUuZyAnYm9uZCcgZm9yIHRoZSBzdGFraW5nIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIE1ldGhvZE5hbWVzIHtcbiAgYWRkRGVsZWdhdG9yLFxuICBhZGRWYWxpZGF0b3IsXG59XG5cbi8qKlxuICogVGhlIHRyYW5zYWN0aW9uIGRhdGEgcmV0dXJuZWQgZnJvbSB0aGUgdG9Kc29uKCkgZnVuY3Rpb24gb2YgYSB0cmFuc2FjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR4RGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGlucHV0czogRW50cnlbXTtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBmcm9tQWRkcmVzc2VzOiBzdHJpbmdbXTtcbiAgdGhyZXNob2xkOiBudW1iZXI7XG4gIGxvY2t0aW1lOiBzdHJpbmc7XG4gIHNpZ25hdHVyZXM6IHN0cmluZ1tdO1xuICBvdXRwdXRzOiBFbnRyeVtdO1xuICBjaGFuZ2VPdXRwdXRzOiBFbnRyeVtdO1xuICBzb3VyY2VDaGFpbj86IHN0cmluZztcbiAgZGVzdGluYXRpb25DaGFpbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWNvZGVkIFVUWE8gb2JqZWN0LiBUaGlzIGlzIGZvciBhIHNpbmdsZSB1dHhvXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IG91dHB1dElEXG4gKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IEFtb3VudCBhcyBhIEJpZyBOdW1iZXIgc3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gdHhpZCBUcmFuc2FjdGlvbiBJRCBlbmNvZGVkIGFzIGNiNThcbiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRpZHggT3V0cHV0IGluZGV4IGFzIGEgc3RyaW5nXG4gKi9cbmV4cG9ydCB0eXBlIERlY29kZWRVdHhvT2JqID0ge1xuICBvdXRwdXRJRDogbnVtYmVyO1xuICBsb2NrdGltZT86IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmc7XG4gIHR4aWQ6IHN0cmluZztcbiAgb3V0cHV0aWR4OiBzdHJpbmc7XG4gIHRocmVzaG9sZDogbnVtYmVyO1xuICBhZGRyZXNzZXM6IHN0cmluZ1tdO1xuICBhZGRyZXNzZXNJbmRleD86IG51bWJlcltdO1xufTtcblxuLyoqXG4gKiBUeXBlSWQgdmFsdWUgZm9yIFNFQ1AyNTZLMSBUcmFuc2ZlciBPdXRwdXRcbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly9idWlsZC5hdmF4Lm5ldHdvcmsvZG9jcy9hcGktcmVmZXJlbmNlL3AtY2hhaW4vdHhuLWZvcm1hdCNzZWNwMjU2azEtdHJhbnNmZXItb3V0cHV0IH1cbiAqL1xuZXhwb3J0IGNvbnN0IFNFQ1AyNTZLMV9UcmFuc2Zlcl9PdXRwdXQgPSA3O1xuLyoqXG4gKiBUeXBlSWQgdmFsdWUgZm9yIFN0YWtlYWJsZSBMb2NrIE91dHB1dFxuICoge0BsaW5rIGh0dHBzOi8vYnVpbGQuYXZheC5uZXR3b3JrL2RvY3MvYXBpLXJlZmVyZW5jZS9wLWNoYWluL3R4bi1mb3JtYXQjc3Rha2VhYmxlbG9ja291dCB9XG4gKi9cbmV4cG9ydCBjb25zdCBTRUNQMjU2SzFfU1RBS0VBQkxFX0xPQ0tfT1VUID0gMjI7XG5cbmV4cG9ydCBjb25zdCBBRERSRVNTX1NFUEFSQVRPUiA9ICd+JztcbmV4cG9ydCBjb25zdCBJTlBVVF9TRVBBUkFUT1IgPSAnOic7XG5leHBvcnQgdHlwZSBEZXByZWNhdGVkVHggPSBQVk1UeCB8IEVWTVR4O1xuZXhwb3J0IHR5cGUgRGVwcmVjYXRlZEJhc2VUeCA9IERlcHJlY2F0ZWRQTVZCYXNlVHggfCBEZXByZWNhdGVkRVZNQmFzZVR4O1xuZXhwb3J0IHR5cGUgVHggPSBEZXByZWNhdGVkVHggfCBwdm1TZXJpYWwuQmFzZVR4IHwgVW5zaWduZWRUeDtcbmV4cG9ydCB0eXBlIEJhc2VUeCA9IGF2YXhTZXJpYWwuQmFzZVR4O1xuZXhwb3J0IHR5cGUgQXZheFR4ID0gYXZheFNlcmlhbC5BdmF4VHg7XG5leHBvcnQgdHlwZSBEZXByZWNhdGVkT3V0cHV0ID0gRGVwcmVjYXRlZFRyYW5zZmVyYWJsZU91dHB1dCB8IEVWTU91dHB1dDtcbmV4cG9ydCB0eXBlIE91dHB1dCA9IFRyYW5zZmVyYWJsZU91dHB1dDtcbiJdfQ==