@bitgo-beta/sdk-coin-avaxp 2.0.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/.mocharc.yml +8 -0
- package/CHANGELOG.md +168 -0
- package/LICENSE +191 -0
- package/README.md +39 -0
- package/dist/src/avaxp.d.ts +69 -0
- package/dist/src/avaxp.d.ts.map +1 -0
- package/dist/src/avaxp.js +248 -0
- package/dist/src/iface.d.ts +43 -0
- package/dist/src/iface.d.ts.map +1 -0
- package/dist/src/iface.js +3 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +30 -0
- package/dist/src/lib/atomicTransactionBuilder.d.ts +33 -0
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/atomicTransactionBuilder.js +122 -0
- package/dist/src/lib/delegatorTxBuilder.d.ts +96 -0
- package/dist/src/lib/delegatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/delegatorTxBuilder.js +287 -0
- package/dist/src/lib/errors.d.ts +8 -0
- package/dist/src/lib/errors.d.ts.map +1 -0
- package/dist/src/lib/errors.js +19 -0
- package/dist/src/lib/exportTxBuilder.d.ts +34 -0
- package/dist/src/lib/exportTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/exportTxBuilder.js +88 -0
- package/dist/src/lib/iface.d.ts +58 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +18 -0
- package/dist/src/lib/importInCTxBuilder.d.ts +48 -0
- package/dist/src/lib/importInCTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/importInCTxBuilder.js +152 -0
- package/dist/src/lib/importTxBuilder.d.ts +18 -0
- package/dist/src/lib/importTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/importTxBuilder.js +67 -0
- package/dist/src/lib/index.d.ts +9 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +29 -0
- package/dist/src/lib/keyPair.d.ts +59 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +151 -0
- package/dist/src/lib/transaction.d.ts +81 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +277 -0
- package/dist/src/lib/transactionBuilder.d.ts +122 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +224 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +42 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +107 -0
- package/dist/src/lib/transferBuilder.d.ts +18 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +31 -0
- package/dist/src/lib/utils.d.ts +152 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +300 -0
- package/dist/src/lib/utxoEngine.d.ts +45 -0
- package/dist/src/lib/utxoEngine.d.ts.map +1 -0
- package/dist/src/lib/utxoEngine.js +89 -0
- package/dist/src/lib/validatorTxBuilder.d.ts +37 -0
- package/dist/src/lib/validatorTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/validatorTxBuilder.js +69 -0
- package/dist/src/tavaxp.d.ts +9 -0
- package/dist/src/tavaxp.d.ts.map +1 -0
- package/dist/src/tavaxp.js +14 -0
- package/dist/test/resources/avaxp.d.ts +178 -0
- package/dist/test/resources/avaxp.d.ts.map +1 -0
- package/dist/test/resources/avaxp.js +953 -0
- package/dist/test/resources/errors.d.ts +18 -0
- package/dist/test/resources/errors.d.ts.map +1 -0
- package/dist/test/resources/errors.js +21 -0
- package/dist/test/resources/keychains.d.ts +18 -0
- package/dist/test/resources/keychains.d.ts.map +1 -0
- package/dist/test/resources/keychains.js +30 -0
- package/dist/test/resources/tx/importC.d.ts +29 -0
- package/dist/test/resources/tx/importC.d.ts.map +1 -0
- package/dist/test/resources/tx/importC.js +42 -0
- package/dist/test/resources/tx/importP.d.ts +29 -0
- package/dist/test/resources/tx/importP.d.ts.map +1 -0
- package/dist/test/resources/tx/importP.js +42 -0
- package/dist/test/unit/avaxp.d.ts +2 -0
- package/dist/test/unit/avaxp.d.ts.map +1 -0
- package/dist/test/unit/avaxp.js +553 -0
- package/dist/test/unit/lib/exportP2CTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/exportP2CTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/exportP2CTxBuilder.js +173 -0
- package/dist/test/unit/lib/importC2PTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importC2PTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importC2PTxBuilder.js +85 -0
- package/dist/test/unit/lib/importP2CTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/importP2CTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/importP2CTxBuilder.js +125 -0
- package/dist/test/unit/lib/keyPair.d.ts +2 -0
- package/dist/test/unit/lib/keyPair.d.ts.map +1 -0
- package/dist/test/unit/lib/keyPair.js +172 -0
- package/dist/test/unit/lib/signFlowTestSuit.d.ts +20 -0
- package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +1 -0
- package/dist/test/unit/lib/signFlowTestSuit.js +80 -0
- package/dist/test/unit/lib/transactionBuilderFactory.d.ts +2 -0
- package/dist/test/unit/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/lib/transactionBuilderFactory.js +114 -0
- package/dist/test/unit/lib/utils.d.ts +2 -0
- package/dist/test/unit/lib/utils.d.ts.map +1 -0
- package/dist/test/unit/lib/utils.js +69 -0
- package/dist/test/unit/lib/utxoEngine.d.ts +2 -0
- package/dist/test/unit/lib/utxoEngine.d.ts.map +1 -0
- package/dist/test/unit/lib/utxoEngine.js +168 -0
- package/dist/test/unit/lib/validateTxBuilder.d.ts +2 -0
- package/dist/test/unit/lib/validateTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/lib/validateTxBuilder.js +318 -0
- package/dist/tsconfig.tsbuildinfo +10238 -0
- package/package.json +62 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { DelegatorTxBuilder } from './delegatorTxBuilder';
|
|
2
|
+
import { BaseCoin } from '@bitgo-beta/statics';
|
|
3
|
+
import { AddValidatorTx } from 'avalanche/dist/apis/platformvm';
|
|
4
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
5
|
+
import { Tx, BaseTx } from './iface';
|
|
6
|
+
export declare class ValidatorTxBuilder extends DelegatorTxBuilder {
|
|
7
|
+
protected _delegationFeeRate: number;
|
|
8
|
+
/**
|
|
9
|
+
* @param coinConfig
|
|
10
|
+
*/
|
|
11
|
+
constructor(coinConfig: Readonly<BaseCoin>);
|
|
12
|
+
/**
|
|
13
|
+
* get transaction type
|
|
14
|
+
* @protected
|
|
15
|
+
*/
|
|
16
|
+
protected get transactionType(): TransactionType;
|
|
17
|
+
/**
|
|
18
|
+
* set the delegationFeeRate
|
|
19
|
+
* @param value number
|
|
20
|
+
*/
|
|
21
|
+
delegationFeeRate(value: number): this;
|
|
22
|
+
/**
|
|
23
|
+
* Validate that the delegation fee is at least the minDelegationFee
|
|
24
|
+
* @param delegationFeeRate number
|
|
25
|
+
*/
|
|
26
|
+
validateDelegationFeeRate(delegationFeeRate: number): void;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
initBuilder(tx: Tx): this;
|
|
29
|
+
static verifyTxType(baseTx: BaseTx): baseTx is AddValidatorTx;
|
|
30
|
+
verifyTxType(baseTx: BaseTx): baseTx is AddValidatorTx;
|
|
31
|
+
/**
|
|
32
|
+
* Build the validator transaction
|
|
33
|
+
* @protected
|
|
34
|
+
*/
|
|
35
|
+
protected buildAvaxpTransaction(): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=validatorTxBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatorTxBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/validatorTxBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAgD,MAAM,gCAAgC,CAAC;AAC9G,OAAO,EAAuC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGrC,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,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;IAUzB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,cAAc;IAI7D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,cAAc;IAItD;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;CAwBxC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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-beta/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 number
|
|
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 number
|
|
37
|
+
*/
|
|
38
|
+
validateDelegationFeeRate(delegationFeeRate) {
|
|
39
|
+
if (delegationFeeRate < Number(this.transaction._network.minDelegationFee)) {
|
|
40
|
+
throw new sdk_core_1.BuildTransactionError(`Delegation fee cannot be less than ${this.transaction._network.minDelegationFee}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
initBuilder(tx) {
|
|
45
|
+
super.initBuilder(tx);
|
|
46
|
+
const baseTx = tx.getUnsignedTx().getTransaction();
|
|
47
|
+
if (!this.verifyTxType(baseTx)) {
|
|
48
|
+
throw new sdk_core_1.NotSupported('Transaction cannot be parsed or has an unsupported transaction type');
|
|
49
|
+
}
|
|
50
|
+
this._delegationFeeRate = baseTx.getDelegationFee();
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
static verifyTxType(baseTx) {
|
|
54
|
+
return baseTx.getTypeID() === platformvm_1.PlatformVMConstants.ADDVALIDATORTX;
|
|
55
|
+
}
|
|
56
|
+
verifyTxType(baseTx) {
|
|
57
|
+
return ValidatorTxBuilder.verifyTxType(baseTx);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build the validator transaction
|
|
61
|
+
* @protected
|
|
62
|
+
*/
|
|
63
|
+
buildAvaxpTransaction() {
|
|
64
|
+
const { inputs, outputs, credentials } = this.createInputOutput();
|
|
65
|
+
this.transaction.setTransaction(new platformvm_1.Tx(new platformvm_1.UnsignedTx(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)), credentials));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.ValidatorTxBuilder = ValidatorTxBuilder;
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yVHhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92YWxpZGF0b3JUeEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkRBQTBEO0FBRTFELCtEQUE4RztBQUM5RyxtREFBNEY7QUFFNUYsb0RBQTRCO0FBRTVCLE1BQWEsa0JBQW1CLFNBQVEsdUNBQWtCO0lBR3hEOztPQUVHO0lBQ0gsWUFBWSxVQUE4QjtRQUN4QyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsWUFBWSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlCQUF5QixDQUFDLGlCQUF5QjtRQUNqRCxJQUFJLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzFFLE1BQU0sSUFBSSxnQ0FBcUIsQ0FDN0Isc0NBQXNDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQ25GLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEVBQU07UUFDaEIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxJQUFJLHVCQUFZLENBQUMscUVBQXFFLENBQUMsQ0FBQztTQUMvRjtRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDaEMsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssZ0NBQW1CLENBQUMsY0FBYyxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYztRQUN6QixPQUFPLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08scUJBQXFCO1FBQzdCLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUM3QixJQUFJLGVBQUssQ0FDUCxJQUFJLHVCQUFVLENBQ1osSUFBSSwyQkFBYyxDQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLE9BQU8sRUFDUCxNQUFNLEVBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQ3RCLGVBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQ3hDLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsWUFBWSxFQUNqQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQ3pCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQ3hCLENBQ0YsRUFDRCxXQUFXLENBQ1osQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdkZELGdEQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGVnYXRvclR4QnVpbGRlciB9IGZyb20gJy4vZGVsZWdhdG9yVHhCdWlsZGVyJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBBZGRWYWxpZGF0b3JUeCwgUGxhdGZvcm1WTUNvbnN0YW50cywgVW5zaWduZWRUeCwgVHggYXMgUFZNVHggfSBmcm9tICdhdmFsYW5jaGUvZGlzdC9hcGlzL3BsYXRmb3Jtdm0nO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBOb3RTdXBwb3J0ZWQsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFR4LCBCYXNlVHggfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvclR4QnVpbGRlciBleHRlbmRzIERlbGVnYXRvclR4QnVpbGRlciB7XG4gIHByb3RlY3RlZCBfZGVsZWdhdGlvbkZlZVJhdGU6IG51bWJlcjtcblxuICAvKipcbiAgICogQHBhcmFtIGNvaW5Db25maWdcbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PEJhc2VDb2luPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbiB0eXBlXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5BZGRWYWxpZGF0b3I7XG4gIH1cblxuICAvKipcbiAgICogc2V0IHRoZSBkZWxlZ2F0aW9uRmVlUmF0ZVxuICAgKiBAcGFyYW0gdmFsdWUgbnVtYmVyXG4gICAqL1xuICBkZWxlZ2F0aW9uRmVlUmF0ZSh2YWx1ZTogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZURlbGVnYXRpb25GZWVSYXRlKHZhbHVlKTtcbiAgICB0aGlzLl9kZWxlZ2F0aW9uRmVlUmF0ZSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoYXQgdGhlIGRlbGVnYXRpb24gZmVlIGlzIGF0IGxlYXN0IHRoZSBtaW5EZWxlZ2F0aW9uRmVlXG4gICAqIEBwYXJhbSBkZWxlZ2F0aW9uRmVlUmF0ZSBudW1iZXJcbiAgICovXG4gIHZhbGlkYXRlRGVsZWdhdGlvbkZlZVJhdGUoZGVsZWdhdGlvbkZlZVJhdGU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChkZWxlZ2F0aW9uRmVlUmF0ZSA8IE51bWJlcih0aGlzLnRyYW5zYWN0aW9uLl9uZXR3b3JrLm1pbkRlbGVnYXRpb25GZWUpKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgRGVsZWdhdGlvbiBmZWUgY2Fubm90IGJlIGxlc3MgdGhhbiAke3RoaXMudHJhbnNhY3Rpb24uX25ldHdvcmsubWluRGVsZWdhdGlvbkZlZX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHgpOiB0aGlzIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgY29uc3QgYmFzZVR4OiBCYXNlVHggPSB0eC5nZXRVbnNpZ25lZFR4KCkuZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICBpZiAoIXRoaXMudmVyaWZ5VHhUeXBlKGJhc2VUeCkpIHtcbiAgICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoJ1RyYW5zYWN0aW9uIGNhbm5vdCBiZSBwYXJzZWQgb3IgaGFzIGFuIHVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgICB9XG4gICAgdGhpcy5fZGVsZWdhdGlvbkZlZVJhdGUgPSBiYXNlVHguZ2V0RGVsZWdhdGlvbkZlZSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc3RhdGljIHZlcmlmeVR4VHlwZShiYXNlVHg6IEJhc2VUeCk6IGJhc2VUeCBpcyBBZGRWYWxpZGF0b3JUeCB7XG4gICAgcmV0dXJuIGJhc2VUeC5nZXRUeXBlSUQoKSA9PT0gUGxhdGZvcm1WTUNvbnN0YW50cy5BRERWQUxJREFUT1JUWDtcbiAgfVxuXG4gIHZlcmlmeVR4VHlwZShiYXNlVHg6IEJhc2VUeCk6IGJhc2VUeCBpcyBBZGRWYWxpZGF0b3JUeCB7XG4gICAgcmV0dXJuIFZhbGlkYXRvclR4QnVpbGRlci52ZXJpZnlUeFR5cGUoYmFzZVR4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCB0aGUgdmFsaWRhdG9yIHRyYW5zYWN0aW9uXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZEF2YXhwVHJhbnNhY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3QgeyBpbnB1dHMsIG91dHB1dHMsIGNyZWRlbnRpYWxzIH0gPSB0aGlzLmNyZWF0ZUlucHV0T3V0cHV0KCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvbihcbiAgICAgIG5ldyBQVk1UeChcbiAgICAgICAgbmV3IFVuc2lnbmVkVHgoXG4gICAgICAgICAgbmV3IEFkZFZhbGlkYXRvclR4KFxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fbmV0d29ya0lELFxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbi5fYmxvY2tjaGFpbklELFxuICAgICAgICAgICAgb3V0cHV0cyxcbiAgICAgICAgICAgIGlucHV0cyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb24uX21lbW8sXG4gICAgICAgICAgICB1dGlscy5Ob2RlSURTdHJpbmdUb0J1ZmZlcih0aGlzLl9ub2RlSUQpLFxuICAgICAgICAgICAgdGhpcy5fc3RhcnRUaW1lLFxuICAgICAgICAgICAgdGhpcy5fZW5kVGltZSxcbiAgICAgICAgICAgIHRoaXMuX3N0YWtlQW1vdW50LFxuICAgICAgICAgICAgW3RoaXMuc3Rha2VUcmFuc2Zlck91dCgpXSxcbiAgICAgICAgICAgIHRoaXMucmV3YXJkT3duZXJzT3V0cHV0KCksXG4gICAgICAgICAgICB0aGlzLl9kZWxlZ2F0aW9uRmVlUmF0ZVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgY3JlZGVudGlhbHNcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { AvaxP } from './avaxp';
|
|
3
|
+
import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
|
|
4
|
+
export declare class TavaxP extends AvaxP {
|
|
5
|
+
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
|
|
6
|
+
constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
7
|
+
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=tavaxp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tavaxp.d.ts","sourceRoot":"","sources":["../../src/tavaxp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,MAAO,SAAQ,KAAK;IAC/B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAE/C,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAIrE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;CAG3F"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TavaxP = void 0;
|
|
4
|
+
const avaxp_1 = require("./avaxp");
|
|
5
|
+
class TavaxP extends avaxp_1.AvaxP {
|
|
6
|
+
constructor(bitgo, staticsCoin) {
|
|
7
|
+
super(bitgo, staticsCoin);
|
|
8
|
+
}
|
|
9
|
+
static createInstance(bitgo, staticsCoin) {
|
|
10
|
+
return new TavaxP(bitgo, staticsCoin);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.TavaxP = TavaxP;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF2YXhwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhdmF4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtQ0FBZ0M7QUFHaEMsTUFBYSxNQUFPLFNBQVEsYUFBSztJQUcvQixZQUFZLEtBQWdCLEVBQUUsV0FBdUM7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQVZELHdCQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEF2YXhQIH0gZnJvbSAnLi9hdmF4cCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFRhdmF4UCBleHRlbmRzIEF2YXhQIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFRhdmF4UChiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/// <reference types="bn.js" />
|
|
2
|
+
import { BN } from 'avalanche';
|
|
3
|
+
export declare const SEED_ACCOUNT: {
|
|
4
|
+
seed: string;
|
|
5
|
+
privateKey: string;
|
|
6
|
+
privateKeyAvax: string;
|
|
7
|
+
publicKey: string;
|
|
8
|
+
publicKeyCb58: string;
|
|
9
|
+
xPrivateKey: string;
|
|
10
|
+
xPublicKey: string;
|
|
11
|
+
addressTestnet: string;
|
|
12
|
+
addressTestnetWithoutPrefix: string;
|
|
13
|
+
addressMainnet: string;
|
|
14
|
+
addressMainnetWithoutPrefix: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const ACCOUNT_1: {
|
|
17
|
+
privkey: string;
|
|
18
|
+
privkey_cb58: string;
|
|
19
|
+
pubkey: string;
|
|
20
|
+
addressTestnet: string;
|
|
21
|
+
addressTestnetWithoutPrefix: string;
|
|
22
|
+
addressMainnet: string;
|
|
23
|
+
addressMainnetWithoutPrefix: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const ACCOUNT_2: {
|
|
26
|
+
privkey: string;
|
|
27
|
+
pubkey: string;
|
|
28
|
+
};
|
|
29
|
+
export declare const ACCOUNT_3: {
|
|
30
|
+
privkey: string;
|
|
31
|
+
privkeyHex: string;
|
|
32
|
+
pubkey: string;
|
|
33
|
+
pubkeyHex: string;
|
|
34
|
+
address: string;
|
|
35
|
+
};
|
|
36
|
+
export declare const ACCOUNT_4: {
|
|
37
|
+
privkey: string;
|
|
38
|
+
privkeyHex: string;
|
|
39
|
+
pubkey: string;
|
|
40
|
+
pubkeyHex: string;
|
|
41
|
+
address: string;
|
|
42
|
+
};
|
|
43
|
+
export declare const INVALID_NODE_ID_MISSING_NODE_ID = "NodeI-NFBbbJ4qCmNaCzeW7sxErhvWqvEQMnYcN";
|
|
44
|
+
export declare const INVALID_NODE_ID_LENGTH = "NodeID-test";
|
|
45
|
+
export declare const NODE_ID_2 = "NodeID-P1KjdPNrap8LHfx5AstcXxsHjk3jbbyF";
|
|
46
|
+
export declare const INVALID_STAKE_AMOUNT: BN;
|
|
47
|
+
export declare const INVALID_DELEGATION_FEE = 0;
|
|
48
|
+
export declare const START_TIME: BN;
|
|
49
|
+
export declare const ONE_WEEK: BN;
|
|
50
|
+
export declare const TWO_YEAR: BN;
|
|
51
|
+
export declare const INVALID_SHORT_KEYPAIR_KEY = "82A34E";
|
|
52
|
+
export declare const INVALID_PRIVATE_KEY_ERROR_MESSAGE = "Unsupported private key";
|
|
53
|
+
export declare const INVALID_PUBLIC_KEY_ERROR_MESSAGE = "Unsupported public key";
|
|
54
|
+
export declare const INVALID_LONG_KEYPAIR_PRV: string;
|
|
55
|
+
export declare const INVALID_RAW_TRANSACTION = "This is an invalid raw transaction";
|
|
56
|
+
export declare const INVALID_ADDRESS = "INVALID-ADDRESS";
|
|
57
|
+
export declare const VALID_ADDRESS = "P-avax14hhmsl9um7e9xjwqgvkf9rswq0y0zk9te8plfv";
|
|
58
|
+
export declare const VALID_BLOCK_ID = "nQna7h6aAe2kN26eViH3qWU9yProgc4abr1SzKYwjX6HA7v6d";
|
|
59
|
+
export declare const INVALID_BLOCK_ID = "b78aad20239b2f9de8efa1a6ee1f44cd50ca67bd3e431e43e5f359937d25c3e3";
|
|
60
|
+
export declare const INVALID_BLOCK_ID_LENGTH = "0xb78aad20239b2f9de8efa1a6ee1f44cd50ca67bd3e431e43e5f359937d25c3e";
|
|
61
|
+
export declare const INVALID_CHAIN_ID = "wrong chain id";
|
|
62
|
+
export declare const VALID_C_CHAIN_ID = "yH8D7ThNJkxmtkuv2jgBa4P1Rn3Qpr4pPr7QYNfcdoS6k6HWp";
|
|
63
|
+
export declare const ADDVALIDATOR_SAMPLES: {
|
|
64
|
+
unsignedTxHex: string;
|
|
65
|
+
halfsigntxHex: string;
|
|
66
|
+
fullsigntxHex: string;
|
|
67
|
+
recoveryUnsignedTxHex: string;
|
|
68
|
+
recoveryHalfsigntxHex: string;
|
|
69
|
+
recoveryFullsigntxHex: string;
|
|
70
|
+
privKey: {
|
|
71
|
+
prv1: string;
|
|
72
|
+
prv2: string;
|
|
73
|
+
prv3: string;
|
|
74
|
+
};
|
|
75
|
+
outputs: {
|
|
76
|
+
outputID: number;
|
|
77
|
+
amount: string;
|
|
78
|
+
txid: string;
|
|
79
|
+
outputidx: string;
|
|
80
|
+
addresses: string[];
|
|
81
|
+
threshold: number;
|
|
82
|
+
}[];
|
|
83
|
+
memo: string;
|
|
84
|
+
nodeID: string;
|
|
85
|
+
startTime: string;
|
|
86
|
+
endTime: string;
|
|
87
|
+
minValidatorStake: string;
|
|
88
|
+
pAddresses: string[];
|
|
89
|
+
delegationFee: number;
|
|
90
|
+
threshold: number;
|
|
91
|
+
locktime: number;
|
|
92
|
+
};
|
|
93
|
+
export declare const BUILD_AND_SIGN_ADD_VALIDATOR_SAMPLE: {
|
|
94
|
+
threshold: number;
|
|
95
|
+
locktime: number;
|
|
96
|
+
bitgoAddresses: string[];
|
|
97
|
+
startTime: string;
|
|
98
|
+
endTime: string;
|
|
99
|
+
stakeAmount: string;
|
|
100
|
+
delegationFeeRate: number;
|
|
101
|
+
nodeId: string;
|
|
102
|
+
memo: string;
|
|
103
|
+
utxos: {
|
|
104
|
+
outputID: number;
|
|
105
|
+
amount: string;
|
|
106
|
+
txid: string;
|
|
107
|
+
outputidx: string;
|
|
108
|
+
addresses: string[];
|
|
109
|
+
threshold: number;
|
|
110
|
+
}[];
|
|
111
|
+
unsignedRawTxNonRecovery: string;
|
|
112
|
+
halfSignedRawTxNonRecovery: string;
|
|
113
|
+
unsignedRawtxRecovery: string;
|
|
114
|
+
halfSignedRawTxRecovery: string;
|
|
115
|
+
userPrivateKey: string;
|
|
116
|
+
backupPrivateKey: string;
|
|
117
|
+
};
|
|
118
|
+
export declare const ADD_VALIDATOR_ID_SAMPLE: {
|
|
119
|
+
fullsigntxHex: string;
|
|
120
|
+
txid: string;
|
|
121
|
+
};
|
|
122
|
+
export declare const EXPORT_P_2_C: {
|
|
123
|
+
txhash: string;
|
|
124
|
+
unsignedTxHex: string;
|
|
125
|
+
halfsigntxHex: string;
|
|
126
|
+
fullsigntxHex: string;
|
|
127
|
+
rUnsignedTxHex: string;
|
|
128
|
+
rHalfsigntxHex: string;
|
|
129
|
+
rFullsigntxHex: string;
|
|
130
|
+
privKey: {
|
|
131
|
+
prv1: string;
|
|
132
|
+
prv2: string;
|
|
133
|
+
prv3: string;
|
|
134
|
+
};
|
|
135
|
+
outputs: {
|
|
136
|
+
outputID: number;
|
|
137
|
+
amount: string;
|
|
138
|
+
txid: string;
|
|
139
|
+
outputidx: string;
|
|
140
|
+
addresses: string[];
|
|
141
|
+
threshold: number;
|
|
142
|
+
}[];
|
|
143
|
+
memo: string;
|
|
144
|
+
amount: string;
|
|
145
|
+
pAddresses: string[];
|
|
146
|
+
targetChainId: string;
|
|
147
|
+
threshold: number;
|
|
148
|
+
locktime: number;
|
|
149
|
+
};
|
|
150
|
+
export declare const EXPORT_P_2_C_WITHOUT_CHANGEOUTPUT: {
|
|
151
|
+
txhash: string;
|
|
152
|
+
unsignedTxHex: string;
|
|
153
|
+
halfsigntxHex: string;
|
|
154
|
+
fullsigntxHex: string;
|
|
155
|
+
rUnsignedTxHex: string;
|
|
156
|
+
rHalfsigntxHex: string;
|
|
157
|
+
rFullsigntxHex: string;
|
|
158
|
+
privKey: {
|
|
159
|
+
prv1: string;
|
|
160
|
+
prv2: string;
|
|
161
|
+
prv3: string;
|
|
162
|
+
};
|
|
163
|
+
outputs: {
|
|
164
|
+
outputID: number;
|
|
165
|
+
amount: string;
|
|
166
|
+
txid: string;
|
|
167
|
+
outputidx: string;
|
|
168
|
+
addresses: string[];
|
|
169
|
+
threshold: number;
|
|
170
|
+
}[];
|
|
171
|
+
memo: string;
|
|
172
|
+
amount: string;
|
|
173
|
+
pAddresses: string[];
|
|
174
|
+
targetChainId: string;
|
|
175
|
+
threshold: number;
|
|
176
|
+
locktime: number;
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=avaxp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avaxp.d.ts","sourceRoot":"","sources":["../../../test/resources/avaxp.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,YAAY;;;;;;;;;;;;CAcxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;CAQrB,CAAC;AAEF,eAAO,MAAM,SAAS;;;CAGrB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAEF,eAAO,MAAM,+BAA+B,4CAA4C,CAAC;AAEzF,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,eAAO,MAAM,SAAS,4CAA4C,CAAC;AAEnE,eAAO,MAAM,oBAAoB,IAAe,CAAC;AAEjD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,UAAU,IAAyC,CAAC;AACjE,eAAO,MAAM,QAAQ,IAAiB,CAAC;AACvC,eAAO,MAAM,QAAQ,IAAmB,CAAC;AAEzC,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAElD,eAAO,MAAM,iCAAiC,4BAA4B,CAAC;AAE3E,eAAO,MAAM,gCAAgC,2BAA2B,CAAC;AAEzE,eAAO,MAAM,wBAAwB,QAAiC,CAAC;AAEvE,eAAO,MAAM,uBAAuB,uCAAuC,CAAC;AAE5E,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,eAAO,MAAM,aAAa,kDAAkD,CAAC;AAE7E,eAAO,MAAM,cAAc,sDAAsD,CAAC;AAElF,eAAO,MAAM,gBAAgB,qEAAqE,CAAC;AAEnG,eAAO,MAAM,uBAAuB,sEAAsE,CAAC;AAE3G,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,sDAAsD,CAAC;AAGpF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6XhC,CAAC;AACF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;CAoD/C,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;CAInC,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmZxB,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmE7C,CAAC"}
|