@bitgo/sdk-coin-avaxp 2.1.0 → 2.2.0-hotfix.0

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 (56) hide show
  1. package/CHANGELOG.md +78 -132
  2. package/dist/src/avaxp.d.ts +6 -5
  3. package/dist/src/avaxp.d.ts.map +1 -1
  4. package/dist/src/avaxp.js +53 -29
  5. package/dist/src/constants.d.ts +10 -0
  6. package/dist/src/constants.d.ts.map +1 -0
  7. package/dist/src/constants.js +12 -0
  8. package/dist/src/delegatorTxBuilder.d.ts +100 -0
  9. package/dist/src/delegatorTxBuilder.d.ts.map +1 -0
  10. package/dist/src/delegatorTxBuilder.js +217 -0
  11. package/dist/src/errors.d.ts +8 -0
  12. package/dist/src/errors.d.ts.map +1 -0
  13. package/dist/src/errors.js +19 -0
  14. package/dist/src/iface.d.ts +19 -1
  15. package/dist/src/iface.d.ts.map +1 -1
  16. package/dist/src/iface.js +1 -1
  17. package/dist/src/keyPair.d.ts +39 -0
  18. package/dist/src/keyPair.d.ts.map +1 -0
  19. package/dist/src/keyPair.js +127 -0
  20. package/dist/src/lib/delegatorTxBuilder.d.ts +1 -9
  21. package/dist/src/lib/delegatorTxBuilder.d.ts.map +1 -1
  22. package/dist/src/lib/delegatorTxBuilder.js +11 -18
  23. package/dist/src/lib/iface.d.ts +6 -1
  24. package/dist/src/lib/iface.d.ts.map +1 -1
  25. package/dist/src/lib/iface.js +1 -1
  26. package/dist/src/lib/transaction.d.ts +5 -2
  27. package/dist/src/lib/transaction.d.ts.map +1 -1
  28. package/dist/src/lib/transaction.js +57 -19
  29. package/dist/src/lib/transactionBuilder.d.ts +1 -5
  30. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  31. package/dist/src/lib/transactionBuilder.js +10 -7
  32. package/dist/src/lib/utils.d.ts.map +1 -1
  33. package/dist/src/lib/utils.js +3 -6
  34. package/dist/src/transaction.d.ts +66 -0
  35. package/dist/src/transaction.d.ts.map +1 -0
  36. package/dist/src/transaction.js +160 -0
  37. package/dist/src/transactionBuilder.d.ts +83 -0
  38. package/dist/src/transactionBuilder.d.ts.map +1 -0
  39. package/dist/src/transactionBuilder.js +192 -0
  40. package/dist/src/transactionBuilderFactory.d.ts +22 -0
  41. package/dist/src/transactionBuilderFactory.d.ts.map +1 -0
  42. package/dist/src/transactionBuilderFactory.js +49 -0
  43. package/dist/src/transferBuilder.d.ts +18 -0
  44. package/dist/src/transferBuilder.d.ts.map +1 -0
  45. package/dist/src/transferBuilder.js +31 -0
  46. package/dist/src/utils.d.ts +56 -0
  47. package/dist/src/utils.d.ts.map +1 -0
  48. package/dist/src/utils.js +118 -0
  49. package/dist/src/validatorTxBuilder.d.ts +38 -0
  50. package/dist/src/validatorTxBuilder.d.ts.map +1 -0
  51. package/dist/src/validatorTxBuilder.js +64 -0
  52. package/dist/src/walletInitializationBuilder.d.ts +17 -0
  53. package/dist/src/walletInitializationBuilder.d.ts.map +1 -0
  54. package/dist/src/walletInitializationBuilder.js +31 -0
  55. package/dist/tsconfig.tsbuildinfo +2108 -808
  56. package/package.json +8 -9
@@ -0,0 +1,56 @@
1
+ import { BaseUtils } from '@bitgo/sdk-core';
2
+ import { Buffer } from 'avalanche';
3
+ import { NodeIDStringToBuffer } from 'avalanche/dist/utils';
4
+ import { BaseTx, Tx } from 'avalanche/dist/apis/platformvm';
5
+ import { Credential } from 'avalanche/dist/common/credentials';
6
+ export declare class Utils implements BaseUtils {
7
+ private binTools;
8
+ cb58Decode: (bytes: string | Buffer) => Buffer;
9
+ cb58Encode: (bytes: Buffer) => string;
10
+ stringToBuffer: (str: string) => Buffer;
11
+ bufferToString: (buff: Buffer) => string;
12
+ NodeIDStringToBuffer: typeof NodeIDStringToBuffer;
13
+ addressToString: (hrp: string, chainid: string, bytes: Buffer) => string;
14
+ includeIn(walletAddresses: string[], otxoOutputAddresses: string[]): boolean;
15
+ /** @inheritdoc */
16
+ isValidAddress(address: string): boolean;
17
+ /** @inheritdoc */
18
+ isValidBlockId(hash: string): boolean;
19
+ /**
20
+ * Checks if the string is a valid protocol public key or
21
+ * extended public key.
22
+ *
23
+ * @param {string} pub - the public key to be validated
24
+ * @returns {boolean} - the validation result
25
+ */
26
+ isValidPublicKey(pub: string): boolean;
27
+ parseAddress: (pub: string) => Buffer;
28
+ /**
29
+ * Returns whether or not the string is a valid protocol private key, or extended
30
+ * private key.
31
+ *
32
+ * The protocol key format is described in the @stacks/transactions npm package, in the
33
+ * createStacksPrivateKey function:
34
+ * https://github.com/blockstack/stacks.js/blob/master/packages/transactions/src/keys.ts#L125
35
+ *
36
+ * @param {string} prv - the private key (or extended private key) to be validated
37
+ * @returns {boolean} - the validation result
38
+ */
39
+ isValidPrivateKey(prv: string): boolean;
40
+ /**
41
+ * Returns whether or not the string is a composed of hex chars only
42
+ *
43
+ * @param {string} maybe - the string to be validated
44
+ * @returns {boolean} - the validation result
45
+ */
46
+ allHexChars(maybe: string): boolean;
47
+ /** @inheritdoc */
48
+ isValidSignature(signature: string): boolean;
49
+ /** @inheritdoc */
50
+ isValidTransactionId(txId: string): boolean;
51
+ getCredentials(tx: BaseTx): Credential[];
52
+ from(raw: string): Tx;
53
+ }
54
+ declare const utils: Utils;
55
+ export default utils;
56
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAY,MAAM,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAyB,EAAE,EAAc,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,qBAAa,KAAM,YAAW,SAAS;IACrC,OAAO,CAAC,QAAQ,CAA0B;IACnC,UAAU,qCAA4B;IACtC,UAAU,4BAA4B;IACtC,cAAc,0BAAgC;IAC9C,cAAc,2BAAgC;IAC9C,oBAAoB,8BAAwB;IAC5C,eAAe,0DAAiC;IAEhD,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO;IAGnF,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAyB/B,YAAY,QAAS,MAAM,KAAG,MAAM,CAAyC;IAEpF;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUvC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAInC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,EAAE;IAIxC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;CAWtB;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Utils = void 0;
4
+ const sdk_core_1 = require("@bitgo/sdk-core");
5
+ const avalanche_1 = require("avalanche");
6
+ const utils_1 = require("avalanche/dist/utils");
7
+ const elliptic_1 = require("elliptic");
8
+ const platformvm_1 = require("avalanche/dist/apis/platformvm");
9
+ class Utils {
10
+ constructor() {
11
+ this.binTools = avalanche_1.BinTools.getInstance();
12
+ this.cb58Decode = this.binTools.cb58Decode;
13
+ this.cb58Encode = this.binTools.cb58Encode;
14
+ this.stringToBuffer = this.binTools.stringToBuffer;
15
+ this.bufferToString = this.binTools.bufferToString;
16
+ this.NodeIDStringToBuffer = utils_1.NodeIDStringToBuffer;
17
+ this.addressToString = this.binTools.addressToString;
18
+ this.parseAddress = (pub) => this.binTools.parseAddress(pub, 'P');
19
+ }
20
+ includeIn(walletAddresses, otxoOutputAddresses) {
21
+ return walletAddresses.map((a) => otxoOutputAddresses.includes(a)).reduce((a, b) => a && b, true);
22
+ }
23
+ /** @inheritdoc */
24
+ isValidAddress(address) {
25
+ throw new sdk_core_1.NotImplementedError('isValidAddress not implemented');
26
+ }
27
+ /** @inheritdoc */
28
+ isValidBlockId(hash) {
29
+ throw new sdk_core_1.NotImplementedError('isValidBlockId not implemented');
30
+ }
31
+ /**
32
+ * Checks if the string is a valid protocol public key or
33
+ * extended public key.
34
+ *
35
+ * @param {string} pub - the public key to be validated
36
+ * @returns {boolean} - the validation result
37
+ */
38
+ isValidPublicKey(pub) {
39
+ if (sdk_core_1.isValidXpub(pub))
40
+ return true;
41
+ if (pub.length !== 66 && pub.length !== 130)
42
+ return false;
43
+ const firstByte = pub.slice(0, 2);
44
+ // uncompressed public key
45
+ if (pub.length === 130 && firstByte !== '04')
46
+ return false;
47
+ // compressed public key
48
+ if (pub.length === 66 && firstByte !== '02' && firstByte !== '03')
49
+ return false;
50
+ if (!this.allHexChars(pub))
51
+ return false;
52
+ // validate the public key
53
+ const secp256k1 = new elliptic_1.ec('secp256k1');
54
+ try {
55
+ const keyPair = secp256k1.keyFromPublic(avalanche_1.Buffer.from(pub, 'hex'));
56
+ const { result } = keyPair.validate();
57
+ return result;
58
+ }
59
+ catch (e) {
60
+ return false;
61
+ }
62
+ }
63
+ /**
64
+ * Returns whether or not the string is a valid protocol private key, or extended
65
+ * private key.
66
+ *
67
+ * The protocol key format is described in the @stacks/transactions npm package, in the
68
+ * createStacksPrivateKey function:
69
+ * https://github.com/blockstack/stacks.js/blob/master/packages/transactions/src/keys.ts#L125
70
+ *
71
+ * @param {string} prv - the private key (or extended private key) to be validated
72
+ * @returns {boolean} - the validation result
73
+ */
74
+ isValidPrivateKey(prv) {
75
+ // if (isValidXprv(prv)) return true;
76
+ if (prv.length !== 64 && prv.length !== 66)
77
+ return false;
78
+ if (prv.length === 66 && prv.slice(64) !== '01')
79
+ return false;
80
+ return this.allHexChars(prv);
81
+ }
82
+ /**
83
+ * Returns whether or not the string is a composed of hex chars only
84
+ *
85
+ * @param {string} maybe - the string to be validated
86
+ * @returns {boolean} - the validation result
87
+ */
88
+ allHexChars(maybe) {
89
+ return /^([0-9a-f])+$/i.test(maybe);
90
+ }
91
+ /** @inheritdoc */
92
+ isValidSignature(signature) {
93
+ throw new sdk_core_1.NotImplementedError('isValidSignature not implemented');
94
+ }
95
+ /** @inheritdoc */
96
+ isValidTransactionId(txId) {
97
+ throw new sdk_core_1.NotImplementedError('isValidTransactionId not implemented');
98
+ }
99
+ getCredentials(tx) {
100
+ return tx.getIns().map((ins) => platformvm_1.SelectCredentialClass(ins.getInput().getCredentialID()));
101
+ }
102
+ from(raw) {
103
+ const tx = new platformvm_1.Tx();
104
+ try {
105
+ tx.fromString(raw);
106
+ return tx;
107
+ }
108
+ catch (err) {
109
+ const utx = new platformvm_1.UnsignedTx();
110
+ utx.fromBuffer(utils.cb58Decode(raw));
111
+ return new platformvm_1.Tx(utx, []);
112
+ }
113
+ }
114
+ }
115
+ exports.Utils = Utils;
116
+ const utils = new Utils();
117
+ exports.default = utils;
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQThFO0FBQzlFLHlDQUE2QztBQUM3QyxnREFBNEQ7QUFDNUQsdUNBQThCO0FBQzlCLCtEQUErRjtBQUcvRixNQUFhLEtBQUs7SUFBbEI7UUFDVSxhQUFRLEdBQUcsb0JBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxlQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDdEMsZUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ3RDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUMsbUJBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUM5Qyx5QkFBb0IsR0FBRyw0QkFBb0IsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBK0NoRCxpQkFBWSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUEwRHRGLENBQUM7SUF2R1EsU0FBUyxDQUFDLGVBQXlCLEVBQUUsbUJBQTZCO1FBQ3ZFLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBQ0Qsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyxnQ0FBZ0MsQ0FB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R0FBRyxFQUFFO1lBQ1osTUFBTSxHQUFHLEdBQUcsSUFBSSx1QkFBVSxFQUFFLENBQUM7WUFDN0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTyxJQUFJLGVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0NBQ0Y7QUFoSEQsc0JBZ0hDO0FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUUxQixrQkFBZSxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1ZhbGlkWHB1YiwgTm90SW1wbGVtZW50ZWRFcnJvciwgQmFzZVV0aWxzIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJpblRvb2xzLCBCdWZmZXIgfSBmcm9tICdhdmFsYW5jaGUnO1xuaW1wb3J0IHsgTm9kZUlEU3RyaW5nVG9CdWZmZXIgfSBmcm9tICdhdmFsYW5jaGUvZGlzdC91dGlscyc7XG5pbXBvcnQgeyBlYyB9IGZyb20gJ2VsbGlwdGljJztcbmltcG9ydCB7IEJhc2VUeCwgU2VsZWN0Q3JlZGVudGlhbENsYXNzLCBUeCwgVW5zaWduZWRUeCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvcGxhdGZvcm12bSc7XG5pbXBvcnQgeyBDcmVkZW50aWFsIH0gZnJvbSAnYXZhbGFuY2hlL2Rpc3QvY29tbW9uL2NyZWRlbnRpYWxzJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgcHJpdmF0ZSBiaW5Ub29scyA9IEJpblRvb2xzLmdldEluc3RhbmNlKCk7XG4gIHB1YmxpYyBjYjU4RGVjb2RlID0gdGhpcy5iaW5Ub29scy5jYjU4RGVjb2RlO1xuICBwdWJsaWMgY2I1OEVuY29kZSA9IHRoaXMuYmluVG9vbHMuY2I1OEVuY29kZTtcbiAgcHVibGljIHN0cmluZ1RvQnVmZmVyID0gdGhpcy5iaW5Ub29scy5zdHJpbmdUb0J1ZmZlcjtcbiAgcHVibGljIGJ1ZmZlclRvU3RyaW5nID0gdGhpcy5iaW5Ub29scy5idWZmZXJUb1N0cmluZztcbiAgcHVibGljIE5vZGVJRFN0cmluZ1RvQnVmZmVyID0gTm9kZUlEU3RyaW5nVG9CdWZmZXI7XG4gIHB1YmxpYyBhZGRyZXNzVG9TdHJpbmcgPSB0aGlzLmJpblRvb2xzLmFkZHJlc3NUb1N0cmluZztcblxuICBwdWJsaWMgaW5jbHVkZUluKHdhbGxldEFkZHJlc3Nlczogc3RyaW5nW10sIG90eG9PdXRwdXRBZGRyZXNzZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHdhbGxldEFkZHJlc3Nlcy5tYXAoKGEpID0+IG90eG9PdXRwdXRBZGRyZXNzZXMuaW5jbHVkZXMoYSkpLnJlZHVjZSgoYSwgYikgPT4gYSAmJiBiLCB0cnVlKTtcbiAgfVxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2lzVmFsaWRBZGRyZXNzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRCbG9ja0lkKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdpc1ZhbGlkQmxvY2tJZCBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIHByb3RvY29sIHB1YmxpYyBrZXkgb3JcbiAgICogZXh0ZW5kZWQgcHVibGljIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHB1YiAtIHRoZSAgcHVibGljIGtleSB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBpc1ZhbGlkUHVibGljS2V5KHB1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzVmFsaWRYcHViKHB1YikpIHJldHVybiB0cnVlO1xuXG4gICAgaWYgKHB1Yi5sZW5ndGggIT09IDY2ICYmIHB1Yi5sZW5ndGggIT09IDEzMCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgZmlyc3RCeXRlID0gcHViLnNsaWNlKDAsIDIpO1xuXG4gICAgLy8gdW5jb21wcmVzc2VkIHB1YmxpYyBrZXlcbiAgICBpZiAocHViLmxlbmd0aCA9PT0gMTMwICYmIGZpcnN0Qnl0ZSAhPT0gJzA0JykgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gY29tcHJlc3NlZCBwdWJsaWMga2V5XG4gICAgaWYgKHB1Yi5sZW5ndGggPT09IDY2ICYmIGZpcnN0Qnl0ZSAhPT0gJzAyJyAmJiBmaXJzdEJ5dGUgIT09ICcwMycpIHJldHVybiBmYWxzZTtcblxuICAgIGlmICghdGhpcy5hbGxIZXhDaGFycyhwdWIpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyB2YWxpZGF0ZSB0aGUgcHVibGljIGtleVxuICAgIGNvbnN0IHNlY3AyNTZrMSA9IG5ldyBlYygnc2VjcDI1NmsxJyk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBzZWNwMjU2azEua2V5RnJvbVB1YmxpYyhCdWZmZXIuZnJvbShwdWIsICdoZXgnKSk7XG4gICAgICBjb25zdCB7IHJlc3VsdCB9ID0ga2V5UGFpci52YWxpZGF0ZSgpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBwYXJzZUFkZHJlc3MgPSAocHViOiBzdHJpbmcpOiBCdWZmZXIgPT4gdGhpcy5iaW5Ub29scy5wYXJzZUFkZHJlc3MocHViLCAnUCcpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBwcm90b2NvbCBwcml2YXRlIGtleSwgb3IgZXh0ZW5kZWRcbiAgICogcHJpdmF0ZSBrZXkuXG4gICAqXG4gICAqIFRoZSBwcm90b2NvbCBrZXkgZm9ybWF0IGlzIGRlc2NyaWJlZCBpbiB0aGUgQHN0YWNrcy90cmFuc2FjdGlvbnMgbnBtIHBhY2thZ2UsIGluIHRoZVxuICAgKiBjcmVhdGVTdGFja3NQcml2YXRlS2V5IGZ1bmN0aW9uOlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vYmxvY2tzdGFjay9zdGFja3MuanMvYmxvYi9tYXN0ZXIvcGFja2FnZXMvdHJhbnNhY3Rpb25zL3NyYy9rZXlzLnRzI0wxMjVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBydiAtIHRoZSBwcml2YXRlIGtleSAob3IgZXh0ZW5kZWQgcHJpdmF0ZSBrZXkpIHRvIGJlIHZhbGlkYXRlZFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB0aGUgdmFsaWRhdGlvbiByZXN1bHRcbiAgICovXG4gIGlzVmFsaWRQcml2YXRlS2V5KHBydjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gaWYgKGlzVmFsaWRYcHJ2KHBydikpIHJldHVybiB0cnVlO1xuXG4gICAgaWYgKHBydi5sZW5ndGggIT09IDY0ICYmIHBydi5sZW5ndGggIT09IDY2KSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAocHJ2Lmxlbmd0aCA9PT0gNjYgJiYgcHJ2LnNsaWNlKDY0KSAhPT0gJzAxJykgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIHRoaXMuYWxsSGV4Q2hhcnMocHJ2KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgYSBjb21wb3NlZCBvZiBoZXggY2hhcnMgb25seVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWF5YmUgLSB0aGUgIHN0cmluZyB0byBiZSB2YWxpZGF0ZWRcbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gdGhlIHZhbGlkYXRpb24gcmVzdWx0XG4gICAqL1xuICBhbGxIZXhDaGFycyhtYXliZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9eKFswLTlhLWZdKSskL2kudGVzdChtYXliZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdpc1ZhbGlkU2lnbmF0dXJlIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdpc1ZhbGlkVHJhbnNhY3Rpb25JZCBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGdldENyZWRlbnRpYWxzKHR4OiBCYXNlVHgpOiBDcmVkZW50aWFsW10ge1xuICAgIHJldHVybiB0eC5nZXRJbnMoKS5tYXAoKGlucykgPT4gU2VsZWN0Q3JlZGVudGlhbENsYXNzKGlucy5nZXRJbnB1dCgpLmdldENyZWRlbnRpYWxJRCgpKSk7XG4gIH1cblxuICBmcm9tKHJhdzogc3RyaW5nKTogVHgge1xuICAgIGNvbnN0IHR4ID0gbmV3IFR4KCk7XG4gICAgdHJ5IHtcbiAgICAgIHR4LmZyb21TdHJpbmcocmF3KTtcbiAgICAgIHJldHVybiB0eDtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IHV0eCA9IG5ldyBVbnNpZ25lZFR4KCk7XG4gICAgICB1dHguZnJvbUJ1ZmZlcih1dGlscy5jYjU4RGVjb2RlKHJhdykpO1xuICAgICAgcmV0dXJuIG5ldyBUeCh1dHgsIFtdKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { DelegatorTxBuilder } from './delegatorTxBuilder';
2
+ import { BaseCoin } from '@bitgo/statics';
3
+ import { AddValidatorTx, BaseTx } from 'avalanche/dist/apis/platformvm';
4
+ import { TransactionType } from '@bitgo/sdk-core';
5
+ export declare class ValidatorTxBuilder extends DelegatorTxBuilder {
6
+ protected _delegationFeeRate: number;
7
+ /**
8
+ * @param coinConfig
9
+ */
10
+ constructor(coinConfig: Readonly<BaseCoin>);
11
+ /**
12
+ * get transaction type
13
+ * @protected
14
+ */
15
+ protected get transactionType(): TransactionType;
16
+ /**
17
+ * set the delegationFeeRate
18
+ * @param value BigInt
19
+ */
20
+ delegationFeeRate(value: number): this;
21
+ /**
22
+ * Validate that the delegation fee is at least the minDelegationFee
23
+ * @param delegationFeeRate BigInt
24
+ */
25
+ validateDelegationFeeRate(delegationFeeRate: number): void;
26
+ /**
27
+ * Initialize the builder
28
+ * @param tx BaseTx
29
+ * @returns ValidatorTxBuilder
30
+ */
31
+ initBuilder(tx?: AddValidatorTx): this;
32
+ /**
33
+ * Build the validator transaction
34
+ * @protected
35
+ */
36
+ protected buildAvaxpTransaction(): BaseTx;
37
+ }
38
+ //# sourceMappingURL=validatorTxBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatorTxBuilder.d.ts","sourceRoot":"","sources":["../../src/validatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAyB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGzE,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAErC;;OAEG;gBACS,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAI1C;;;OAGG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMtC;;;OAGG;IACH,yBAAyB,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAQ1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,cAAc,GAAG,IAAI;IAMtC;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,MAAM;CAkB1C"}
@@ -0,0 +1,64 @@
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.ValidatorTxBuilder = void 0;
7
+ const delegatorTxBuilder_1 = require("./delegatorTxBuilder");
8
+ const platformvm_1 = require("avalanche/dist/apis/platformvm");
9
+ const sdk_core_1 = require("@bitgo/sdk-core");
10
+ const utils_1 = __importDefault(require("./utils"));
11
+ class ValidatorTxBuilder extends delegatorTxBuilder_1.DelegatorTxBuilder {
12
+ /**
13
+ * @param coinConfig
14
+ */
15
+ constructor(coinConfig) {
16
+ super(coinConfig);
17
+ }
18
+ /**
19
+ * get transaction type
20
+ * @protected
21
+ */
22
+ get transactionType() {
23
+ return sdk_core_1.TransactionType.addValidator;
24
+ }
25
+ /**
26
+ * set the delegationFeeRate
27
+ * @param value BigInt
28
+ */
29
+ delegationFeeRate(value) {
30
+ this.validateDelegationFeeRate(value);
31
+ this._delegationFeeRate = value;
32
+ return this;
33
+ }
34
+ /**
35
+ * Validate that the delegation fee is at least the minDelegationFee
36
+ * @param delegationFeeRate BigInt
37
+ */
38
+ validateDelegationFeeRate(delegationFeeRate) {
39
+ if (delegationFeeRate < this.transaction._network.minDelegationFee) {
40
+ throw new sdk_core_1.BuildTransactionError(`Delegation fee cannot be less than ${this.transaction._network.minDelegationFee}`);
41
+ }
42
+ }
43
+ /**
44
+ * Initialize the builder
45
+ * @param tx BaseTx
46
+ * @returns ValidatorTxBuilder
47
+ */
48
+ initBuilder(tx) {
49
+ if (!tx)
50
+ return this;
51
+ this._delegationFeeRate = tx.getDelegationFee();
52
+ return super.initBuilder(tx);
53
+ }
54
+ /**
55
+ * Build the validator transaction
56
+ * @protected
57
+ */
58
+ buildAvaxpTransaction() {
59
+ const { inputs, outputs } = this.createInputOutput();
60
+ return new platformvm_1.AddValidatorTx(this.transaction._networkID, this.transaction._blockchainID, outputs, inputs, this.transaction._memo, utils_1.default.NodeIDStringToBuffer(this._nodeID), this._startTime, this._endTime, this._stakeAmount, [this.stakeTransferOut()], this.rewardOwnersOutput(), this._delegationFeeRate);
61
+ }
62
+ }
63
+ exports.ValidatorTxBuilder = ValidatorTxBuilder;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvclR4QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2REFBMEQ7QUFFMUQsK0RBQXdFO0FBQ3hFLDhDQUF5RTtBQUN6RSxvREFBNEI7QUFFNUIsTUFBYSxrQkFBbUIsU0FBUSx1Q0FBa0I7SUFHeEQ7O09BRUc7SUFDSCxZQUFZLFVBQThCO1FBQ3hDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxZQUFZLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gseUJBQXlCLENBQUMsaUJBQXlCO1FBQ2pELElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7WUFDbEUsTUFBTSxJQUFJLGdDQUFxQixDQUM3QixzQ0FBc0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FDbkYsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsRUFBbUI7UUFDN0IsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDTyxxQkFBcUI7UUFDN0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUVyRCxPQUFPLElBQUksMkJBQWMsQ0FDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixPQUFPLEVBQ1AsTUFBTSxFQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUN0QixlQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUN4QyxJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFlBQVksRUFDakIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUN6QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBekVELGdEQXlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGVnYXRvclR4QnVpbGRlciB9IGZyb20gJy4vZGVsZWdhdG9yVHhCdWlsZGVyJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQWRkVmFsaWRhdG9yVHgsIEJhc2VUeCB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2FwaXMvcGxhdGZvcm12bSc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JUeEJ1aWxkZXIgZXh0ZW5kcyBEZWxlZ2F0b3JUeEJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2RlbGVnYXRpb25GZWVSYXRlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBjb2luQ29uZmlnXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgdHJhbnNhY3Rpb24gdHlwZVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuYWRkVmFsaWRhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIHNldCB0aGUgZGVsZWdhdGlvbkZlZVJhdGVcbiAgICogQHBhcmFtIHZhbHVlIEJpZ0ludFxuICAgKi9cbiAgZGVsZWdhdGlvbkZlZVJhdGUodmFsdWU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVEZWxlZ2F0aW9uRmVlUmF0ZSh2YWx1ZSk7XG4gICAgdGhpcy5fZGVsZWdhdGlvbkZlZVJhdGUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IHRoZSBkZWxlZ2F0aW9uIGZlZSBpcyBhdCBsZWFzdCB0aGUgbWluRGVsZWdhdGlvbkZlZVxuICAgKiBAcGFyYW0gZGVsZWdhdGlvbkZlZVJhdGUgQmlnSW50XG4gICAqL1xuICB2YWxpZGF0ZURlbGVnYXRpb25GZWVSYXRlKGRlbGVnYXRpb25GZWVSYXRlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoZGVsZWdhdGlvbkZlZVJhdGUgPCB0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrLm1pbkRlbGVnYXRpb25GZWUpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBEZWxlZ2F0aW9uIGZlZSBjYW5ub3QgYmUgbGVzcyB0aGFuICR7dGhpcy50cmFuc2FjdGlvbi5fbmV0d29yay5taW5EZWxlZ2F0aW9uRmVlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXJcbiAgICogQHBhcmFtIHR4IEJhc2VUeFxuICAgKiBAcmV0dXJucyBWYWxpZGF0b3JUeEJ1aWxkZXJcbiAgICovXG4gIGluaXRCdWlsZGVyKHR4PzogQWRkVmFsaWRhdG9yVHgpOiB0aGlzIHtcbiAgICBpZiAoIXR4KSByZXR1cm4gdGhpcztcbiAgICB0aGlzLl9kZWxlZ2F0aW9uRmVlUmF0ZSA9IHR4LmdldERlbGVnYXRpb25GZWUoKTtcbiAgICByZXR1cm4gc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSB2YWxpZGF0b3IgdHJhbnNhY3Rpb25cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQXZheHBUcmFuc2FjdGlvbigpOiBCYXNlVHgge1xuICAgIGNvbnN0IHsgaW5wdXRzLCBvdXRwdXRzIH0gPSB0aGlzLmNyZWF0ZUlucHV0T3V0cHV0KCk7XG5cbiAgICByZXR1cm4gbmV3IEFkZFZhbGlkYXRvclR4KFxuICAgICAgdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lELFxuICAgICAgdGhpcy50cmFuc2FjdGlvbi5fYmxvY2tjaGFpbklELFxuICAgICAgb3V0cHV0cyxcbiAgICAgIGlucHV0cyxcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24uX21lbW8sXG4gICAgICB1dGlscy5Ob2RlSURTdHJpbmdUb0J1ZmZlcih0aGlzLl9ub2RlSUQpLFxuICAgICAgdGhpcy5fc3RhcnRUaW1lLFxuICAgICAgdGhpcy5fZW5kVGltZSxcbiAgICAgIHRoaXMuX3N0YWtlQW1vdW50LFxuICAgICAgW3RoaXMuc3Rha2VUcmFuc2Zlck91dCgpXSxcbiAgICAgIHRoaXMucmV3YXJkT3duZXJzT3V0cHV0KCksXG4gICAgICB0aGlzLl9kZWxlZ2F0aW9uRmVlUmF0ZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { BaseKey, TransactionType } from '@bitgo/sdk-core';
3
+ import { Transaction } from './transaction';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ export declare class WalletInitializationBuilder extends TransactionBuilder {
6
+ constructor(_coinConfig: Readonly<CoinConfig>);
7
+ protected get transactionType(): TransactionType;
8
+ /** @inheritdoc */
9
+ protected buildAvaxpTransaction(): Transaction;
10
+ /** @inheritdoc */
11
+ protected buildImplementation(): Promise<Transaction>;
12
+ /** @inheritdoc */
13
+ protected fromImplementation(rawTransaction: string): Transaction;
14
+ /** @inheritdoc */
15
+ protected signImplementation(key: BaseKey): Transaction;
16
+ }
17
+ //# sourceMappingURL=walletInitializationBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../src/walletInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAuB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,SAAS,CAAC,qBAAqB,IAAI,WAAW;IAI9C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAI3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAIjE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;CAGxD"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletInitializationBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo/sdk-core");
5
+ const transactionBuilder_1 = require("./transactionBuilder");
6
+ class WalletInitializationBuilder extends transactionBuilder_1.TransactionBuilder {
7
+ constructor(_coinConfig) {
8
+ super(_coinConfig);
9
+ }
10
+ get transactionType() {
11
+ return sdk_core_1.TransactionType.WalletInitialization;
12
+ }
13
+ /** @inheritdoc */
14
+ buildAvaxpTransaction() {
15
+ throw new sdk_core_1.NotImplementedError('buildImplementation not implemented');
16
+ }
17
+ /** @inheritdoc */
18
+ async buildImplementation() {
19
+ throw new sdk_core_1.NotImplementedError('buildImplementation not implemented');
20
+ }
21
+ /** @inheritdoc */
22
+ fromImplementation(rawTransaction) {
23
+ throw new sdk_core_1.NotImplementedError('fromImplementation not implemented');
24
+ }
25
+ /** @inheritdoc */
26
+ signImplementation(key) {
27
+ throw new sdk_core_1.NotImplementedError('signImplementation not implemented');
28
+ }
29
+ }
30
+ exports.WalletInitializationBuilder = WalletInitializationBuilder;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4Q0FBZ0Y7QUFFaEYsNkRBQTBEO0FBRTFELE1BQWEsMkJBQTRCLFNBQVEsdUNBQWtCO0lBQ2pFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLG9CQUFvQixDQUFDO0lBQzlDLENBQUM7SUFFRCxrQkFBa0I7SUFDUixxQkFBcUI7UUFDN0IsTUFBTSxJQUFJLDhCQUFtQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxJQUFJLDhCQUFtQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLE1BQU0sSUFBSSw4QkFBbUIsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQTVCRCxrRUE0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZUtleSwgTm90SW1wbGVtZW50ZWRFcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQXZheHBUcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoJ2J1aWxkSW1wbGVtZW50YXRpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdidWlsZEltcGxlbWVudGF0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcignZnJvbUltcGxlbWVudGF0aW9uIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKCdzaWduSW1wbGVtZW50YXRpb24gbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==