@bitgo/sdk-coin-avaxp 0.1.0-dev.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.
- package/.eslintignore +5 -0
- package/.eslintrc.json +7 -0
- package/LICENSE +191 -0
- package/dist/src/delegatorTxBuilder.d.ts +89 -0
- package/dist/src/delegatorTxBuilder.d.ts.map +1 -0
- package/dist/src/delegatorTxBuilder.js +183 -0
- package/dist/src/errors.d.ts +8 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +19 -0
- package/dist/src/iface.d.ts +46 -0
- package/dist/src/iface.d.ts.map +1 -0
- package/dist/src/iface.js +17 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +49 -0
- package/dist/src/keyPair.d.ts +43 -0
- package/dist/src/keyPair.d.ts.map +1 -0
- package/dist/src/keyPair.js +130 -0
- package/dist/src/transaction.d.ts +43 -0
- package/dist/src/transaction.d.ts.map +1 -0
- package/dist/src/transaction.js +98 -0
- package/dist/src/transactionBuilder.d.ts +82 -0
- package/dist/src/transactionBuilder.d.ts.map +1 -0
- package/dist/src/transactionBuilder.js +171 -0
- package/dist/src/transactionBuilderFactory.d.ts +22 -0
- package/dist/src/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/transactionBuilderFactory.js +53 -0
- package/dist/src/transferBuilder.d.ts +18 -0
- package/dist/src/transferBuilder.d.ts.map +1 -0
- package/dist/src/transferBuilder.js +31 -0
- package/dist/src/utils.d.ts +50 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +98 -0
- package/dist/src/validatorTxBuilder.d.ts +32 -0
- package/dist/src/validatorTxBuilder.d.ts.map +1 -0
- package/dist/src/validatorTxBuilder.js +58 -0
- package/dist/tsconfig.tsbuildinfo +10616 -0
- package/package.json +57 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.register = exports.Utils = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
|
|
23
|
+
const Utils = __importStar(require("./utils"));
|
|
24
|
+
exports.Utils = Utils;
|
|
25
|
+
const statics_1 = require("@bitgo/statics");
|
|
26
|
+
var keyPair_1 = require("./keyPair");
|
|
27
|
+
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
28
|
+
var transaction_1 = require("./transaction");
|
|
29
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
30
|
+
var transactionBuilder_1 = require("./transactionBuilder");
|
|
31
|
+
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
32
|
+
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
33
|
+
Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
|
|
34
|
+
/**
|
|
35
|
+
* Register a new coin instance with its builder factory
|
|
36
|
+
*
|
|
37
|
+
* @param {string} coinName coin name as it was registered in @bitgo/statics
|
|
38
|
+
* @param {any} builderFactory the builder factory class for that coin
|
|
39
|
+
* @returns {any} the factory instance for the registered coin
|
|
40
|
+
*/
|
|
41
|
+
function register(coinName, builderFactory) {
|
|
42
|
+
const coinConfig = statics_1.coins.get(coinName);
|
|
43
|
+
const factory = new builderFactory(coinConfig);
|
|
44
|
+
// coinBuilderMap[coinName] = factory;
|
|
45
|
+
// coinBuilderMap[coinName] = builderFactory; // For now register the constructor function until reimplement getBuilder method
|
|
46
|
+
return factory;
|
|
47
|
+
}
|
|
48
|
+
exports.register = register;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQU94QixzQkFBSztBQUxkLDRDQUErRDtBQUMvRCxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUdsQzs7Ozs7O0dBTUc7QUFDSCxTQUFnQixRQUFRLENBQ3RCLFFBQWdCLEVBQ2hCLGNBQThEO0lBRTlELE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0Msc0NBQXNDO0lBQ3RDLDhIQUE4SDtJQUM5SCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBVEQsNEJBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIGNvaW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBVdGlscyB9O1xuXG4vKipcbiAqIFJlZ2lzdGVyIGEgbmV3IGNvaW4gaW5zdGFuY2Ugd2l0aCBpdHMgYnVpbGRlciBmYWN0b3J5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIGNvaW4gbmFtZSBhcyBpdCB3YXMgcmVnaXN0ZXJlZCBpbiBAYml0Z28vc3RhdGljc1xuICogQHBhcmFtIHthbnl9IGJ1aWxkZXJGYWN0b3J5IHRoZSBidWlsZGVyIGZhY3RvcnkgY2xhc3MgZm9yIHRoYXQgY29pblxuICogQHJldHVybnMge2FueX0gdGhlIGZhY3RvcnkgaW5zdGFuY2UgZm9yIHRoZSByZWdpc3RlcmVkIGNvaW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyPFQgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeT4oXG4gIGNvaW5OYW1lOiBzdHJpbmcsXG4gIGJ1aWxkZXJGYWN0b3J5OiB7IG5ldyAoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KTogVCB9XG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgYnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gIC8vIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGZhY3Rvcnk7XG4gIC8vIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGJ1aWxkZXJGYWN0b3J5OyAvLyBGb3Igbm93IHJlZ2lzdGVyIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB1bnRpbCByZWltcGxlbWVudCBnZXRCdWlsZGVyIG1ldGhvZFxuICByZXR1cm4gZmFjdG9yeTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DefaultKeys, KeyPairOptions, Secp256k1ExtendedKeyPair } from '@bitgo/sdk-core';
|
|
2
|
+
export declare const testnet = "fuji";
|
|
3
|
+
export declare const mainnet = "avax";
|
|
4
|
+
export declare class KeyPair extends Secp256k1ExtendedKeyPair {
|
|
5
|
+
/**
|
|
6
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
7
|
+
*
|
|
8
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
9
|
+
*/
|
|
10
|
+
constructor(source?: KeyPairOptions);
|
|
11
|
+
/**
|
|
12
|
+
* Build a keypair from a protocol private key or extended private key.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} prv A raw private key
|
|
15
|
+
*/
|
|
16
|
+
recordKeysFromPrivateKey(prv: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Build an ECPair from a protocol public key or extended public key.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} pub A raw public key
|
|
21
|
+
*/
|
|
22
|
+
recordKeysFromPublicKey(pub: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Default keys format is a pair of Uint8Array keys
|
|
25
|
+
*
|
|
26
|
+
* @returns { DefaultKeys } The keys in the defined format
|
|
27
|
+
*/
|
|
28
|
+
getKeys(): DefaultKeys;
|
|
29
|
+
/**
|
|
30
|
+
* Get an Avalanche P-Chain public mainnet address
|
|
31
|
+
*
|
|
32
|
+
* @returns {string} The mainnet address derived from the public key
|
|
33
|
+
*/
|
|
34
|
+
getAddress(format?: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Get a public address of public key.
|
|
37
|
+
*
|
|
38
|
+
* @param {string} hrp - select Mainnet(avax) or Testnet(fuji) for the address
|
|
39
|
+
* @returns {string} The address derived from the public key and hrp
|
|
40
|
+
*/
|
|
41
|
+
getAvaxPAddress(hrp: string): string;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=keyPair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../src/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAMX,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAUzB,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,SAAS,CAAC;AAE9B,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW3C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW1C;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAOtB;;;;OAIG;IACH,UAAU,CAAC,MAAM,GAAE,MAAgB,GAAG,MAAM;IAI5C;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAKrC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.KeyPair = exports.mainnet = exports.testnet = void 0;
|
|
26
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
27
|
+
const avalanche_1 = require("avalanche");
|
|
28
|
+
const common_1 = require("avalanche/dist/common");
|
|
29
|
+
const bech32_1 = require("bech32");
|
|
30
|
+
const bip32 = __importStar(require("bip32"));
|
|
31
|
+
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
|
32
|
+
const crypto_1 = require("crypto");
|
|
33
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
34
|
+
const DEFAULT_SEED_SIZE_BYTES = 16;
|
|
35
|
+
exports.testnet = 'fuji';
|
|
36
|
+
exports.mainnet = 'avax';
|
|
37
|
+
class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
38
|
+
/**
|
|
39
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
40
|
+
*
|
|
41
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
42
|
+
*/
|
|
43
|
+
constructor(source) {
|
|
44
|
+
super(source);
|
|
45
|
+
if (!source) {
|
|
46
|
+
const seed = crypto_1.randomBytes(DEFAULT_SEED_SIZE_BYTES);
|
|
47
|
+
this.hdNode = bip32.fromSeed(seed);
|
|
48
|
+
}
|
|
49
|
+
else if (sdk_core_1.isSeed(source)) {
|
|
50
|
+
this.hdNode = bip32.fromSeed(source.seed);
|
|
51
|
+
}
|
|
52
|
+
else if (sdk_core_1.isPrivateKey(source)) {
|
|
53
|
+
this.recordKeysFromPrivateKey(source.prv);
|
|
54
|
+
}
|
|
55
|
+
else if (sdk_core_1.isPublicKey(source)) {
|
|
56
|
+
this.recordKeysFromPublicKey(source.pub);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw new Error('Invalid key pair options');
|
|
60
|
+
}
|
|
61
|
+
if (this.hdNode) {
|
|
62
|
+
this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Build a keypair from a protocol private key or extended private key.
|
|
67
|
+
*
|
|
68
|
+
* @param {string} prv A raw private key
|
|
69
|
+
*/
|
|
70
|
+
recordKeysFromPrivateKey(prv) {
|
|
71
|
+
if (!utils_1.default.isValidPrivateKey(prv)) {
|
|
72
|
+
throw new Error('Unsupported private key');
|
|
73
|
+
}
|
|
74
|
+
if (sdk_core_1.isValidXprv(prv)) {
|
|
75
|
+
this.hdNode = bip32.fromBase58(prv);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.keyPair = bitcoinjs_lib_1.ECPair.fromPrivateKey(Buffer.from(prv.slice(0, 64), 'hex'));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build an ECPair from a protocol public key or extended public key.
|
|
83
|
+
*
|
|
84
|
+
* @param {string} pub A raw public key
|
|
85
|
+
*/
|
|
86
|
+
recordKeysFromPublicKey(pub) {
|
|
87
|
+
if (!utils_1.default.isValidPublicKey(pub)) {
|
|
88
|
+
throw new Error('Unsupported public key');
|
|
89
|
+
}
|
|
90
|
+
if (sdk_core_1.isValidXpub(pub)) {
|
|
91
|
+
this.hdNode = bip32.fromBase58(pub);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.keyPair = bitcoinjs_lib_1.ECPair.fromPublicKey(Buffer.from(pub, 'hex'));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Default keys format is a pair of Uint8Array keys
|
|
99
|
+
*
|
|
100
|
+
* @returns { DefaultKeys } The keys in the defined format
|
|
101
|
+
*/
|
|
102
|
+
getKeys() {
|
|
103
|
+
var _a;
|
|
104
|
+
return {
|
|
105
|
+
pub: this.getPublicKey({ compressed: true }).toString('hex'),
|
|
106
|
+
prv: (_a = this.getPrivateKey()) === null || _a === void 0 ? void 0 : _a.toString('hex'),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get an Avalanche P-Chain public mainnet address
|
|
111
|
+
*
|
|
112
|
+
* @returns {string} The mainnet address derived from the public key
|
|
113
|
+
*/
|
|
114
|
+
getAddress(format = exports.mainnet) {
|
|
115
|
+
return this.getAvaxPAddress(format);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get a public address of public key.
|
|
119
|
+
*
|
|
120
|
+
* @param {string} hrp - select Mainnet(avax) or Testnet(fuji) for the address
|
|
121
|
+
* @returns {string} The address derived from the public key and hrp
|
|
122
|
+
*/
|
|
123
|
+
getAvaxPAddress(hrp) {
|
|
124
|
+
const publicKey = avalanche_1.Buffer.from(this.getKeys().pub, 'hex');
|
|
125
|
+
const addrressBuffer = common_1.SECP256k1KeyPair.addressFromPublicKey(publicKey);
|
|
126
|
+
return bech32_1.bech32.encode(hrp, bech32_1.bech32.toWords(addrressBuffer));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.KeyPair = KeyPair;
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FTeUI7QUFDekIseUNBQWlEO0FBQ2pELGtEQUF5RDtBQUN6RCxtQ0FBZ0M7QUFDaEMsNkNBQStCO0FBQy9CLGlEQUF1QztBQUN2QyxtQ0FBcUM7QUFDckMsb0RBQTRCO0FBRTVCLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFFBQUEsT0FBTyxHQUFHLE1BQU0sQ0FBQztBQUNqQixRQUFBLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFFOUIsTUFBYSxPQUFRLFNBQVEsbUNBQXdCO0lBQ25EOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLElBQUksR0FBRyxvQkFBVyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO2FBQU0sSUFBSSxpQkFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0M7YUFBTSxJQUFJLHVCQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQzthQUFNLElBQUksc0JBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFDO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHdCQUF3QixDQUFDLEdBQVc7UUFDbEMsSUFBSSxDQUFDLGVBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLHNCQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLHNCQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM1RTtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsdUJBQXVCLENBQUMsR0FBVztRQUNqQyxJQUFJLENBQUMsZUFBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztTQUMzQztRQUNELElBQUksc0JBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsc0JBQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTzs7UUFDTCxPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQzVELEdBQUcsRUFBRSxNQUFBLElBQUksQ0FBQyxhQUFhLEVBQUUsMENBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsU0FBaUIsZUFBTztRQUNqQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLEdBQVc7UUFDekIsTUFBTSxTQUFTLEdBQUcsa0JBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxNQUFNLGNBQWMsR0FBZSx5QkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRixPQUFPLGVBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLGVBQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUExRkQsMEJBMEZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVmYXVsdEtleXMsXG4gIGlzUHJpdmF0ZUtleSxcbiAgaXNQdWJsaWNLZXksXG4gIGlzU2VlZCxcbiAgaXNWYWxpZFhwcnYsXG4gIGlzVmFsaWRYcHViLFxuICBLZXlQYWlyT3B0aW9ucyxcbiAgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQnVmZmVyIGFzIEJ1ZmZlckF2YXggfSBmcm9tICdhdmFsYW5jaGUnO1xuaW1wb3J0IHsgU0VDUDI1NmsxS2V5UGFpciB9IGZyb20gJ2F2YWxhbmNoZS9kaXN0L2NvbW1vbic7XG5pbXBvcnQgeyBiZWNoMzIgfSBmcm9tICdiZWNoMzInO1xuaW1wb3J0ICogYXMgYmlwMzIgZnJvbSAnYmlwMzInO1xuaW1wb3J0IHsgRUNQYWlyIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTID0gMTY7XG5leHBvcnQgY29uc3QgdGVzdG5ldCA9ICdmdWppJztcbmV4cG9ydCBjb25zdCBtYWlubmV0ID0gJ2F2YXgnO1xuXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNlZWQgPSByYW5kb21CeXRlcyhERUZBVUxUX1NFRURfU0laRV9CWVRFUyk7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNTZWVkKHNvdXJjZSkpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc291cmNlLnNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNQcml2YXRlS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHNvdXJjZS5wcnYpO1xuICAgIH0gZWxzZSBpZiAoaXNQdWJsaWNLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5yZWNvcmRLZXlzRnJvbVB1YmxpY0tleShzb3VyY2UucHViKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleSBwYWlyIG9wdGlvbnMnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oZE5vZGUpIHtcbiAgICAgIHRoaXMua2V5UGFpciA9IFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpci50b0tleVBhaXIodGhpcy5oZE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIGtleXBhaXIgZnJvbSBhIHByb3RvY29sIHByaXZhdGUga2V5IG9yIGV4dGVuZGVkIHByaXZhdGUga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJ2IEEgcmF3IHByaXZhdGUga2V5XG4gICAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkocHJ2OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRQcml2YXRlS2V5KHBydikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gICAgaWYgKGlzVmFsaWRYcHJ2KHBydikpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbUJhc2U1OChwcnYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBFQ1BhaXIuZnJvbVByaXZhdGVLZXkoQnVmZmVyLmZyb20ocHJ2LnNsaWNlKDAsIDY0KSwgJ2hleCcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYW4gRUNQYWlyIGZyb20gYSBwcm90b2NvbCBwdWJsaWMga2V5IG9yIGV4dGVuZGVkIHB1YmxpYyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwdWIgQSByYXcgcHVibGljIGtleVxuICAgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkocHViOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBwdWJsaWMga2V5Jyk7XG4gICAgfVxuICAgIGlmIChpc1ZhbGlkWHB1YihwdWIpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgocHViKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5rZXlQYWlyID0gRUNQYWlyLmZyb21QdWJsaWNLZXkoQnVmZmVyLmZyb20ocHViLCAnaGV4JykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGtleXMgZm9ybWF0IGlzIGEgcGFpciBvZiBVaW50OEFycmF5IGtleXNcbiAgICpcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBkZWZpbmVkIGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBBdmFsYW5jaGUgUC1DaGFpbiBwdWJsaWMgbWFpbm5ldCBhZGRyZXNzXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBtYWlubmV0IGFkZHJlc3MgZGVyaXZlZCBmcm9tIHRoZSBwdWJsaWMga2V5XG4gICAqL1xuICBnZXRBZGRyZXNzKGZvcm1hdDogc3RyaW5nID0gbWFpbm5ldCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXZheFBBZGRyZXNzKGZvcm1hdCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgcHVibGljIGFkZHJlc3Mgb2YgcHVibGljIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGhycCAtIHNlbGVjdCBNYWlubmV0KGF2YXgpIG9yIFRlc3RuZXQoZnVqaSkgZm9yIHRoZSBhZGRyZXNzXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBhZGRyZXNzIGRlcml2ZWQgZnJvbSB0aGUgcHVibGljIGtleSBhbmQgaHJwXG4gICAqL1xuICBnZXRBdmF4UEFkZHJlc3MoaHJwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHB1YmxpY0tleSA9IEJ1ZmZlckF2YXguZnJvbSh0aGlzLmdldEtleXMoKS5wdWIsICdoZXgnKTtcbiAgICBjb25zdCBhZGRycmVzc0J1ZmZlcjogQnVmZmVyQXZheCA9IFNFQ1AyNTZrMUtleVBhaXIuYWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5KTtcbiAgICByZXR1cm4gYmVjaDMyLmVuY29kZShocnAsIGJlY2gzMi50b1dvcmRzKGFkZHJyZXNzQnVmZmVyKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { BaseKey, BaseTransaction, TransactionType } from '@bitgo/sdk-core';
|
|
3
|
+
import { KeyPair } from './keyPair';
|
|
4
|
+
import { TxData } from './iface';
|
|
5
|
+
import { UnsignedTx, BaseTx } from 'avalanche/dist/apis/platformvm';
|
|
6
|
+
export declare class Transaction extends BaseTransaction {
|
|
7
|
+
protected _avaxpTransaction: UnsignedTx;
|
|
8
|
+
protected _avaxpBaseTransaction: BaseTx;
|
|
9
|
+
private _sender;
|
|
10
|
+
protected _type: TransactionType;
|
|
11
|
+
protected _chainID: string;
|
|
12
|
+
protected _hrp: string;
|
|
13
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
14
|
+
get avaxPTransaction(): BaseTx;
|
|
15
|
+
set avaxPTransaction(tx: BaseTx);
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
canSign({ key }: BaseKey): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Sign a avaxp transaction and update the transaction hex
|
|
20
|
+
* validator, delegator, import, exports extend baseTx
|
|
21
|
+
* unsignedTx: UnsignedTx = new UnsignedTx(baseTx) (baseTx = addValidatorTx)
|
|
22
|
+
* const tx: Tx = unsignedTx.sign(keychain) (tx is type standard signed tx)
|
|
23
|
+
* get baseTx then create new unsignedTx then sign
|
|
24
|
+
*
|
|
25
|
+
* @param {KeyPair} keyPair
|
|
26
|
+
*/
|
|
27
|
+
sign(keyPair: KeyPair): void;
|
|
28
|
+
sender(sender: string): void;
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
/**
|
|
31
|
+
* should be of signedTx doing this with baseTx
|
|
32
|
+
*/
|
|
33
|
+
toBroadcastFormat(): string;
|
|
34
|
+
toJson(): TxData;
|
|
35
|
+
setTransaction(tx: UnsignedTx): void;
|
|
36
|
+
/**
|
|
37
|
+
* Set the transaction type
|
|
38
|
+
*
|
|
39
|
+
* @param {TransactionType} transactionType The transaction type to be set
|
|
40
|
+
*/
|
|
41
|
+
setTransactionType(transactionType: TransactionType): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAgB,eAAe,EAAE,eAAe,EAA2B,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAY,MAAM,gCAAgC,CAAC;AAG9E,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,iBAAiB,EAAG,UAAU,CAAC;IACzC,SAAS,CAAC,qBAAqB,EAAG,MAAM,CAAC;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEX,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO5C,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,IAAI,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAE9B;IAED,kBAAkB;IAClB,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,GAAG,OAAO;IASlC;;;;;;;;OAQG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAa5B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,kBAAkB;IAClB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAW3B,MAAM,IAAI,MAAM;IAchB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAIpC;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;CAG3D"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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.Transaction = void 0;
|
|
7
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
8
|
+
const keyPair_1 = require("./keyPair");
|
|
9
|
+
const platformvm_1 = require("avalanche/dist/apis/platformvm");
|
|
10
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
+
class Transaction extends sdk_core_1.BaseTransaction {
|
|
12
|
+
constructor(coinConfig) {
|
|
13
|
+
super(coinConfig);
|
|
14
|
+
const network = coinConfig.network;
|
|
15
|
+
this._chainID = network.alias;
|
|
16
|
+
this._hrp = network.hrp;
|
|
17
|
+
}
|
|
18
|
+
get avaxPTransaction() {
|
|
19
|
+
return this._avaxpBaseTransaction;
|
|
20
|
+
}
|
|
21
|
+
set avaxPTransaction(tx) {
|
|
22
|
+
this._avaxpBaseTransaction = tx;
|
|
23
|
+
}
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
canSign({ key }) {
|
|
26
|
+
try {
|
|
27
|
+
new keyPair_1.KeyPair({ prv: key.key });
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Sign a avaxp transaction and update the transaction hex
|
|
36
|
+
* validator, delegator, import, exports extend baseTx
|
|
37
|
+
* unsignedTx: UnsignedTx = new UnsignedTx(baseTx) (baseTx = addValidatorTx)
|
|
38
|
+
* const tx: Tx = unsignedTx.sign(keychain) (tx is type standard signed tx)
|
|
39
|
+
* get baseTx then create new unsignedTx then sign
|
|
40
|
+
*
|
|
41
|
+
* @param {KeyPair} keyPair
|
|
42
|
+
*/
|
|
43
|
+
sign(keyPair) {
|
|
44
|
+
const keys = keyPair.getKeys();
|
|
45
|
+
if (!keys.prv) {
|
|
46
|
+
throw new sdk_core_1.SigningError('Missing private key');
|
|
47
|
+
}
|
|
48
|
+
if (!this.avaxPTransaction) {
|
|
49
|
+
throw new sdk_core_1.InvalidTransactionError('empty transaction to sign');
|
|
50
|
+
}
|
|
51
|
+
const pKeychain = new platformvm_1.KeyChain(this._hrp, this._chainID);
|
|
52
|
+
this._avaxpTransaction = new platformvm_1.UnsignedTx(this._avaxpBaseTransaction);
|
|
53
|
+
this._avaxpTransaction.sign(pKeychain);
|
|
54
|
+
}
|
|
55
|
+
sender(sender) {
|
|
56
|
+
this._sender = sender;
|
|
57
|
+
}
|
|
58
|
+
/** @inheritdoc */
|
|
59
|
+
/**
|
|
60
|
+
* should be of signedTx doing this with baseTx
|
|
61
|
+
*/
|
|
62
|
+
toBroadcastFormat() {
|
|
63
|
+
if (!this.avaxPTransaction) {
|
|
64
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
65
|
+
}
|
|
66
|
+
const un = new platformvm_1.UnsignedTx(this._avaxpBaseTransaction);
|
|
67
|
+
const buffer = un.toBuffer(); // this._avaxpBaseTransaction.toBuffer();
|
|
68
|
+
const txSerialized = utils_1.default.cb58Encode(buffer).toString();
|
|
69
|
+
return txSerialized;
|
|
70
|
+
}
|
|
71
|
+
// types - stakingTransaction, import, export
|
|
72
|
+
toJson() {
|
|
73
|
+
if (!this.avaxPTransaction) {
|
|
74
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
blockchain_id: utils_1.default.cb58Encode(this._avaxpBaseTransaction.getBlockchainID()),
|
|
78
|
+
network_id: this._avaxpBaseTransaction.getNetworkID(),
|
|
79
|
+
inputs: this._avaxpBaseTransaction.getIns(),
|
|
80
|
+
outputs: this._avaxpBaseTransaction.getOuts(),
|
|
81
|
+
memo: utils_1.default.bufferToString(this._avaxpBaseTransaction.getMemo()),
|
|
82
|
+
typeID: this._avaxpBaseTransaction.getTxType(),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
setTransaction(tx) {
|
|
86
|
+
this._avaxpTransaction = tx;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Set the transaction type
|
|
90
|
+
*
|
|
91
|
+
* @param {TransactionType} transactionType The transaction type to be set
|
|
92
|
+
*/
|
|
93
|
+
setTransactionType(transactionType) {
|
|
94
|
+
this._type = transactionType;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.Transaction = Transaction;
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsOENBQW1IO0FBQ25ILHVDQUFvQztBQUVwQywrREFBOEU7QUFDOUUsb0RBQTRCO0FBRTVCLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBUTlDLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUEyQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLEVBQVU7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBVztRQUN0QixJQUFJO1lBQ0YsSUFBSSxpQkFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFBQyxNQUFNO1lBQ04sT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQUksQ0FBQyxPQUFnQjtRQUNuQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLElBQUksdUJBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNoRTtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSx1QkFBVSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEI7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSx1QkFBVSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUN2RSxNQUFNLFlBQVksR0FBRyxlQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDN0Q7UUFDRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLGVBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdFLFVBQVUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFO1lBQ3JELE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFO1lBQzNDLE9BQU8sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFO1lBQzdDLElBQUksRUFBRSxlQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRTtTQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxFQUFjO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQkFBa0IsQ0FBQyxlQUFnQztRQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFwR0Qsa0NBb0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgQXZhbGFuY2hlTmV0d29yayB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VLZXksIFNpZ25pbmdFcnJvciwgQmFzZVRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgVHhEYXRhIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBVbnNpZ25lZFR4LCBCYXNlVHgsIEtleUNoYWluIH0gZnJvbSAnYXZhbGFuY2hlL2Rpc3QvYXBpcy9wbGF0Zm9ybXZtJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9hdmF4cFRyYW5zYWN0aW9uITogVW5zaWduZWRUeDtcbiAgcHJvdGVjdGVkIF9hdmF4cEJhc2VUcmFuc2FjdGlvbiE6IEJhc2VUeDtcbiAgcHJpdmF0ZSBfc2VuZGVyITogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3R5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbiAgcHJvdGVjdGVkIF9jaGFpbklEOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfaHJwOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgICBjb25zdCBuZXR3b3JrID0gY29pbkNvbmZpZy5uZXR3b3JrIGFzIEF2YWxhbmNoZU5ldHdvcms7XG4gICAgdGhpcy5fY2hhaW5JRCA9IG5ldHdvcmsuYWxpYXM7XG4gICAgdGhpcy5faHJwID0gbmV0d29yay5ocnA7XG4gIH1cblxuICBnZXQgYXZheFBUcmFuc2FjdGlvbigpOiBCYXNlVHgge1xuICAgIHJldHVybiB0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBhdmF4UFRyYW5zYWN0aW9uKHR4OiBCYXNlVHgpIHtcbiAgICB0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oeyBrZXkgfTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIGEgYXZheHAgdHJhbnNhY3Rpb24gYW5kIHVwZGF0ZSB0aGUgdHJhbnNhY3Rpb24gaGV4XG4gICAqIHZhbGlkYXRvciwgZGVsZWdhdG9yLCBpbXBvcnQsIGV4cG9ydHMgZXh0ZW5kIGJhc2VUeFxuICAgKiB1bnNpZ25lZFR4OiBVbnNpZ25lZFR4ID0gbmV3IFVuc2lnbmVkVHgoYmFzZVR4KSAgKGJhc2VUeCA9IGFkZFZhbGlkYXRvclR4KVxuICAgKiBjb25zdCB0eDogVHggPSB1bnNpZ25lZFR4LnNpZ24oa2V5Y2hhaW4pICh0eCBpcyB0eXBlIHN0YW5kYXJkIHNpZ25lZCB0eClcbiAgICogZ2V0IGJhc2VUeCB0aGVuIGNyZWF0ZSBuZXcgdW5zaWduZWRUeCB0aGVuIHNpZ25cbiAgICpcbiAgICogQHBhcmFtIHtLZXlQYWlyfSBrZXlQYWlyXG4gICAqL1xuICBzaWduKGtleVBhaXI6IEtleVBhaXIpOiB2b2lkIHtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYXZheFBUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdlbXB0eSB0cmFuc2FjdGlvbiB0byBzaWduJyk7XG4gICAgfVxuICAgIGNvbnN0IHBLZXljaGFpbiA9IG5ldyBLZXlDaGFpbih0aGlzLl9ocnAsIHRoaXMuX2NoYWluSUQpO1xuICAgIHRoaXMuX2F2YXhwVHJhbnNhY3Rpb24gPSBuZXcgVW5zaWduZWRUeCh0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbik7XG4gICAgdGhpcy5fYXZheHBUcmFuc2FjdGlvbi5zaWduKHBLZXljaGFpbik7XG4gIH1cblxuICBzZW5kZXIoc2VuZGVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9zZW5kZXIgPSBzZW5kZXI7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgLyoqXG4gICAqIHNob3VsZCBiZSBvZiBzaWduZWRUeCBkb2luZyB0aGlzIHdpdGggYmFzZVR4XG4gICAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5hdmF4UFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgdW4gPSBuZXcgVW5zaWduZWRUeCh0aGlzLl9hdmF4cEJhc2VUcmFuc2FjdGlvbik7XG4gICAgY29uc3QgYnVmZmVyID0gdW4udG9CdWZmZXIoKTsgLy8gdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24udG9CdWZmZXIoKTtcbiAgICBjb25zdCB0eFNlcmlhbGl6ZWQgPSB1dGlscy5jYjU4RW5jb2RlKGJ1ZmZlcikudG9TdHJpbmcoKTtcbiAgICByZXR1cm4gdHhTZXJpYWxpemVkO1xuICB9XG5cbiAgLy8gdHlwZXMgLSBzdGFraW5nVHJhbnNhY3Rpb24sIGltcG9ydCwgZXhwb3J0XG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5hdmF4UFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGJsb2NrY2hhaW5faWQ6IHV0aWxzLmNiNThFbmNvZGUodGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0QmxvY2tjaGFpbklEKCkpLFxuICAgICAgbmV0d29ya19pZDogdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0TmV0d29ya0lEKCksXG4gICAgICBpbnB1dHM6IHRoaXMuX2F2YXhwQmFzZVRyYW5zYWN0aW9uLmdldElucygpLFxuICAgICAgb3V0cHV0czogdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0T3V0cygpLFxuICAgICAgbWVtbzogdXRpbHMuYnVmZmVyVG9TdHJpbmcodGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0TWVtbygpKSxcbiAgICAgIHR5cGVJRDogdGhpcy5fYXZheHBCYXNlVHJhbnNhY3Rpb24uZ2V0VHhUeXBlKCksXG4gICAgfTtcbiAgfVxuXG4gIHNldFRyYW5zYWN0aW9uKHR4OiBVbnNpZ25lZFR4KTogdm9pZCB7XG4gICAgdGhpcy5fYXZheHBUcmFuc2FjdGlvbiA9IHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uVHlwZX0gdHJhbnNhY3Rpb25UeXBlIFRoZSB0cmFuc2FjdGlvbiB0eXBlIHRvIGJlIHNldFxuICAgKi9cbiAgc2V0VHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/// <reference types="bn.js" />
|
|
2
|
+
import { AvalancheNetwork, BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
|
+
import BigNumber from 'bignumber.js';
|
|
4
|
+
import { BaseAddress, BaseKey, BaseTransactionBuilder, TransactionType } from '@bitgo/sdk-core';
|
|
5
|
+
import { Transaction } from './transaction';
|
|
6
|
+
import { KeyPair } from './keyPair';
|
|
7
|
+
import { BN, Buffer } from 'avalanche';
|
|
8
|
+
import { BaseTx } from 'avalanche/dist/apis/platformvm/basetx';
|
|
9
|
+
import { DecodedUtxoObj } from './iface';
|
|
10
|
+
export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
|
|
11
|
+
private _transaction;
|
|
12
|
+
protected _network: AvalancheNetwork;
|
|
13
|
+
protected _networkID: number;
|
|
14
|
+
protected _assetId: Buffer;
|
|
15
|
+
protected _blockchainID: Buffer;
|
|
16
|
+
protected _memo?: Buffer;
|
|
17
|
+
protected _signer: KeyPair;
|
|
18
|
+
protected _threshold: number;
|
|
19
|
+
protected _locktime: BN;
|
|
20
|
+
protected _fromPubKeys: Buffer[];
|
|
21
|
+
protected _utxos: DecodedUtxoObj[];
|
|
22
|
+
protected _txFee: BN;
|
|
23
|
+
private _credentials;
|
|
24
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
25
|
+
/**
|
|
26
|
+
* commented out check until multisig signing is in effect
|
|
27
|
+
* TODO: STLX-17077
|
|
28
|
+
* @param value
|
|
29
|
+
*/
|
|
30
|
+
threshold(value: number): this;
|
|
31
|
+
locktime(value: string | number): this;
|
|
32
|
+
fromPubKey(senderPubKey: string | string[]): this;
|
|
33
|
+
utxos(value: DecodedUtxoObj[]): this;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @param value Optional Buffer for the memo
|
|
37
|
+
* @returns value Buffer for the memo
|
|
38
|
+
* set using Buffer.from("message")
|
|
39
|
+
*/
|
|
40
|
+
memo(value: string): this;
|
|
41
|
+
/**
|
|
42
|
+
* Initialize the transaction builder fields using the decoded transaction data
|
|
43
|
+
*
|
|
44
|
+
* @param {Transaction} tx the transaction data
|
|
45
|
+
*/
|
|
46
|
+
initBuilder(tx?: BaseTx): this;
|
|
47
|
+
/** @inheritdoc */
|
|
48
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
51
|
+
/**
|
|
52
|
+
* Builds the avaxp transaction
|
|
53
|
+
* @return {Transaction} avaxp sdk transaction
|
|
54
|
+
*/
|
|
55
|
+
protected abstract buildAvaxpTransaction(): BaseTx;
|
|
56
|
+
/** @inheritdoc */
|
|
57
|
+
protected get transaction(): Transaction;
|
|
58
|
+
protected abstract get transactionType(): TransactionType;
|
|
59
|
+
/**
|
|
60
|
+
* Validates the threshold
|
|
61
|
+
* @param threshold
|
|
62
|
+
*/
|
|
63
|
+
validateThreshold(threshold: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* Validates locktime
|
|
66
|
+
* @param locktime
|
|
67
|
+
*/
|
|
68
|
+
validateLocktime(locktime: BN): void;
|
|
69
|
+
/** @inheritdoc */
|
|
70
|
+
validateAddress(address: BaseAddress, addressFormat?: string): void;
|
|
71
|
+
/** @inheritdoc */
|
|
72
|
+
validateKey(key: BaseKey): void;
|
|
73
|
+
/** @inheritdoc */
|
|
74
|
+
validateRawTransaction(rawTransaction: string): void;
|
|
75
|
+
/** @inheritdoc */
|
|
76
|
+
validateTransaction(transaction?: Transaction): void;
|
|
77
|
+
/** @inheritdoc */
|
|
78
|
+
validateValue(value: BigNumber): void;
|
|
79
|
+
validateUtxos(values: DecodedUtxoObj[]): void;
|
|
80
|
+
validateUtxo(value: DecodedUtxoObj): void;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../src/transactionBuilder.ts"],"names":[],"mappings":"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"}
|