@bitgo-beta/sdk-coin-cspr 1.2.19-beta.1221 → 1.2.19-beta.1223
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/dist/src/cspr.d.ts +107 -0
- package/dist/src/cspr.d.ts.map +1 -0
- package/dist/src/cspr.js +314 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +44 -0
- package/dist/src/lib/constants.d.ts +19 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +28 -0
- package/dist/src/lib/delegateBuilder.d.ts +49 -0
- package/dist/src/lib/delegateBuilder.d.ts.map +1 -0
- package/dist/src/lib/delegateBuilder.js +111 -0
- package/dist/src/lib/ifaces.d.ts +69 -0
- package/dist/src/lib/ifaces.d.ts.map +1 -0
- package/dist/src/lib/ifaces.js +3 -0
- package/dist/src/lib/index.d.ts +6 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +45 -0
- package/dist/src/lib/keyPair.d.ts +18 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +55 -0
- package/dist/src/lib/transaction.d.ts +55 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +240 -0
- package/dist/src/lib/transactionBuilder.d.ts +124 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +312 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +46 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +98 -0
- package/dist/src/lib/transferBuilder.d.ts +39 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +106 -0
- package/dist/src/lib/undelegateBuilder.d.ts +49 -0
- package/dist/src/lib/undelegateBuilder.d.ts.map +1 -0
- package/dist/src/lib/undelegateBuilder.js +111 -0
- package/dist/src/lib/utils.d.ts +188 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +490 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts +27 -0
- package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/lib/walletInitializationBuilder.js +95 -0
- package/dist/src/register.d.ts +3 -0
- package/dist/src/register.d.ts.map +1 -0
- package/dist/src/register.js +11 -0
- package/dist/src/tcspr.d.ts +11 -0
- package/dist/src/tcspr.d.ts.map +1 -0
- package/dist/src/tcspr.js +24 -0
- package/package.json +6 -6
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DelegateBuilder = void 0;
|
|
4
|
+
const casper_js_sdk_1 = require("casper-js-sdk");
|
|
5
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
class DelegateBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
10
|
+
/**
|
|
11
|
+
* Public constructor.
|
|
12
|
+
*
|
|
13
|
+
* @param {CoinConfig} _coinConfig Coin configuration object
|
|
14
|
+
*/
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
this._action = constants_1.DELEGATE_CONTRACT_ACTION;
|
|
18
|
+
this._contract = Uint8Array.from(Buffer.from(utils_1.casperContractHexCode, 'hex'));
|
|
19
|
+
}
|
|
20
|
+
/** @inheritdoc */
|
|
21
|
+
async buildImplementation() {
|
|
22
|
+
this._validator = this._validator || constants_1.DELEGATE_VALIDATOR_ACCOUNT;
|
|
23
|
+
const args = this.buildDelegateParameters();
|
|
24
|
+
const extraArguments = new Map();
|
|
25
|
+
extraArguments.set(constants_1.TRANSACTION_TYPE, casper_js_sdk_1.CLValueBuilder.string(sdk_core_1.TransactionType[sdk_core_1.TransactionType.StakingLock]));
|
|
26
|
+
extraArguments.set(constants_1.STAKING_TYPE, casper_js_sdk_1.CLValueBuilder.string(sdk_core_1.StakingOperationTypes[sdk_core_1.StakingOperationTypes.LOCK]));
|
|
27
|
+
extraArguments.set(constants_1.DELEGATE_FROM_ADDRESS, casper_js_sdk_1.CLValueBuilder.string(this._source.address));
|
|
28
|
+
extraArguments.set(constants_1.DELEGATE_VALIDATOR, casper_js_sdk_1.CLValueBuilder.string(this._validator));
|
|
29
|
+
this._session = {
|
|
30
|
+
moduleBytes: this._contract,
|
|
31
|
+
args: casper_js_sdk_1.RuntimeArgs.fromMap(args),
|
|
32
|
+
extraArguments: extraArguments,
|
|
33
|
+
};
|
|
34
|
+
this.transaction.setTransactionType(sdk_core_1.TransactionType.StakingLock);
|
|
35
|
+
return await super.buildImplementation();
|
|
36
|
+
}
|
|
37
|
+
/** @inheritdoc */
|
|
38
|
+
initBuilder(tx) {
|
|
39
|
+
super.initBuilder(tx);
|
|
40
|
+
this.transaction.setTransactionType(sdk_core_1.TransactionType.StakingLock);
|
|
41
|
+
this.validator((0, utils_1.getValidatorAddress)(tx.casperTx.session));
|
|
42
|
+
this.amount((0, utils_1.getTransferAmount)(tx.casperTx.session));
|
|
43
|
+
}
|
|
44
|
+
/** @inheritdoc */
|
|
45
|
+
signImplementation(key) {
|
|
46
|
+
if (this._multiSignerKeyPairs.length >= transactionBuilder_1.DEFAULT_M) {
|
|
47
|
+
throw new sdk_core_1.SigningError('A maximum of ' + transactionBuilder_1.DEFAULT_M + ' can sign the transaction.');
|
|
48
|
+
}
|
|
49
|
+
return super.signImplementation(key);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build args needed to create a session, then we can send this session with the contract
|
|
53
|
+
*
|
|
54
|
+
* @returns {DelegateUndelegateContractArgs} contracts args to create a session
|
|
55
|
+
*/
|
|
56
|
+
buildDelegateParameters() {
|
|
57
|
+
const delegator = casper_js_sdk_1.CLPublicKey.fromHex(this._source.address);
|
|
58
|
+
const validator = casper_js_sdk_1.CLPublicKey.fromHex(this._validator);
|
|
59
|
+
return {
|
|
60
|
+
action: casper_js_sdk_1.CLValueBuilder.string(this._action),
|
|
61
|
+
delegator: casper_js_sdk_1.CLValueBuilder.publicKey(delegator.value(), delegator.tag),
|
|
62
|
+
validator: casper_js_sdk_1.CLValueBuilder.publicKey(validator.value(), validator.tag),
|
|
63
|
+
amount: casper_js_sdk_1.CLValueBuilder.u512(this._amount),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
// region Transfer fields
|
|
67
|
+
/**
|
|
68
|
+
* Set the destination address where the funds will be sent,
|
|
69
|
+
*
|
|
70
|
+
* @param {string} address the 68 bits address to transfer funds to
|
|
71
|
+
* @returns {DelegateBuilder} the builder with the new parameter set
|
|
72
|
+
*/
|
|
73
|
+
validator(address) {
|
|
74
|
+
if (!(0, utils_1.isValidAddress)(address)) {
|
|
75
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid address');
|
|
76
|
+
}
|
|
77
|
+
this._validator = address;
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Set the amount to be transferred
|
|
82
|
+
*
|
|
83
|
+
* @param {string} amount amount to transfer
|
|
84
|
+
* @returns {DelegateBuilder} the builder with the new parameter set
|
|
85
|
+
*/
|
|
86
|
+
amount(amount) {
|
|
87
|
+
if (!(0, utils_1.isValidDelegateAmount)(amount)) {
|
|
88
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid amount');
|
|
89
|
+
}
|
|
90
|
+
this._amount = amount;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
// endregion
|
|
94
|
+
// region Validators
|
|
95
|
+
/**
|
|
96
|
+
* Validate mandatory fields in the class
|
|
97
|
+
*
|
|
98
|
+
* @throws {Error} In case of missing or invalid fields
|
|
99
|
+
*/
|
|
100
|
+
validateMandatoryFields() {
|
|
101
|
+
if (!this._amount) {
|
|
102
|
+
throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing amount');
|
|
103
|
+
}
|
|
104
|
+
if (!(0, utils_1.isValidDelegateAmount)(this._amount)) {
|
|
105
|
+
throw new sdk_core_1.InvalidParameterValueError('Invalid amount');
|
|
106
|
+
}
|
|
107
|
+
super.validateMandatoryFields();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.DelegateBuilder = DelegateBuilder;
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kZWxlZ2F0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQStGO0FBRS9GLG1EQU84QjtBQUM5Qiw2REFBcUU7QUFFckUsMkNBT3FCO0FBQ3JCLG1DQU1pQjtBQUdqQixNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBTXJEOzs7O09BSUc7SUFDSCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLG9DQUF3QixDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLHNDQUEwQixDQUFDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBRWxELGNBQWMsQ0FBQyxHQUFHLENBQUMsNEJBQWdCLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsMEJBQWUsQ0FBQywwQkFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRyxjQUFjLENBQUMsR0FBRyxDQUFDLHdCQUFZLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsZ0NBQXFCLENBQUMsZ0NBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNHLGNBQWMsQ0FBQyxHQUFHLENBQUMsaUNBQXFCLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9B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QUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWTtJQUVaLG9CQUFvQjtJQUVwQjs7OztPQUlHO0lBQ0gsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFBLDZCQUFxQixFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUF0SEQsMENBc0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQ0xWYWx1ZSwgQ0xQdWJsaWNLZXkgYXMgUHVibGljS2V5LCBSdW50aW1lQXJncywgQ0xWYWx1ZUJ1aWxkZXIgfSBmcm9tICdjYXNwZXItanMtc2RrJztcblxuaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcixcbiAgU2lnbmluZ0Vycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIFN0YWtpbmdPcGVyYXRpb25UeXBlcyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyLCBERUZBVUxUX00gfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHtcbiAgVFJBTlNBQ1RJT05fVFlQRSxcbiAgREVMRUdBVEVfVkFMSURBVE9SLFxuICBERUxFR0FURV9GUk9NX0FERFJFU1MsXG4gIFNUQUtJTkdfVFlQRSxcbiAgREVMRUdBVEVfQ09OVFJBQ1RfQUNUSU9OLFxuICBERUxFR0FURV9WQUxJREFUT1JfQUNDT1VOVCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgaXNWYWxpZERlbGVnYXRlQW1vdW50LFxuICBpc1ZhbGlkQWRkcmVzcyxcbiAgZ2V0VHJhbnNmZXJBbW91bnQsXG4gIGdldFZhbGlkYXRvckFkZHJlc3MsXG4gIGNhc3BlckNvbnRyYWN0SGV4Q29kZSxcbn0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEZWxlZ2F0ZVVuZGVsZWdhdGVDb250cmFjdEFyZ3MgfSBmcm9tICcuL2lmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBEZWxlZ2F0ZUJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF92YWxpZGF0b3I6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aW9uOiBzdHJpbmc7XG4gIHByaXZhdGUgX2Ftb3VudDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb250cmFjdDogVWludDhBcnJheTtcblxuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge0NvaW5Db25maWd9IF9jb2luQ29uZmlnIENvaW4gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9hY3Rpb24gPSBERUxFR0FURV9DT05UUkFDVF9BQ1RJT047XG4gICAgdGhpcy5fY29udHJhY3QgPSBVaW50OEFycmF5LmZyb20oQnVmZmVyLmZyb20oY2FzcGVyQ29udHJhY3RIZXhDb2RlLCAnaGV4JykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLl92YWxpZGF0b3IgPSB0aGlzLl92YWxpZGF0b3IgfHwgREVMRUdBVEVfVkFMSURBVE9SX0FDQ09VTlQ7XG4gICAgY29uc3QgYXJncyA9IHRoaXMuYnVpbGREZWxlZ2F0ZVBhcmFtZXRlcnMoKTtcbiAgICBjb25zdCBleHRyYUFyZ3VtZW50cyA9IG5ldyBNYXA8c3RyaW5nLCBDTFZhbHVlPigpO1xuXG4gICAgZXh0cmFBcmd1bWVudHMuc2V0KFRSQU5TQUNUSU9OX1RZUEUsIENMVmFsdWVCdWlsZGVyLnN0cmluZyhUcmFuc2FjdGlvblR5cGVbVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrXSkpO1xuICAgIGV4dHJhQXJndW1lbnRzLnNldChTVEFLSU5HX1RZUEUsIENMVmFsdWVCdWlsZGVyLnN0cmluZyhTdGFraW5nT3BlcmF0aW9uVHlwZXNbU3Rha2luZ09wZXJhdGlvblR5cGVzLkxPQ0tdKSk7XG4gICAgZXh0cmFBcmd1bWVudHMuc2V0KERFTEVHQVRFX0ZST01fQUREUkVTUywgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKHRoaXMuX3NvdXJjZS5hZGRyZXNzKSk7XG4gICAgZXh0cmFBcmd1bWVudHMuc2V0KERFTEVHQVRFX1ZBTElEQVRPUiwgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKHRoaXMuX3ZhbGlkYXRvcikpO1xuXG4gICAgdGhpcy5fc2Vzc2lvbiA9IHtcbiAgICAgIG1vZHVsZUJ5dGVzOiB0aGlzLl9jb250cmFjdCxcbiAgICAgIGFyZ3M6IFJ1bnRpbWVBcmdzLmZyb21NYXAoYXJncyksXG4gICAgICBleHRyYUFyZ3VtZW50czogZXh0cmFBcmd1bWVudHMsXG4gICAgfTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0xvY2spO1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nTG9jayk7XG4gICAgdGhpcy52YWxpZGF0b3IoZ2V0VmFsaWRhdG9yQWRkcmVzcyh0eC5jYXNwZXJUeC5zZXNzaW9uKSk7XG4gICAgdGhpcy5hbW91bnQoZ2V0VHJhbnNmZXJBbW91bnQodHguY2FzcGVyVHguc2Vzc2lvbikpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIGlmICh0aGlzLl9tdWx0aVNpZ25lcktleVBhaXJzLmxlbmd0aCA+PSBERUZBVUxUX00pIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ0EgbWF4aW11bSBvZiAnICsgREVGQVVMVF9NICsgJyBjYW4gc2lnbiB0aGUgdHJhbnNhY3Rpb24uJyk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zaWduSW1wbGVtZW50YXRpb24oa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhcmdzIG5lZWRlZCB0byBjcmVhdGUgYSBzZXNzaW9uLCB0aGVuIHdlIGNhbiBzZW5kIHRoaXMgc2Vzc2lvbiB3aXRoIHRoZSBjb250cmFjdFxuICAgKlxuICAgKiBAcmV0dXJucyB7RGVsZWdhdGVVbmRlbGVnYXRlQ29udHJhY3RBcmdzfSBjb250cmFjdHMgYXJncyB0byBjcmVhdGUgYSBzZXNzaW9uXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkRGVsZWdhdGVQYXJhbWV0ZXJzKCk6IERlbGVnYXRlVW5kZWxlZ2F0ZUNvbnRyYWN0QXJncyB7XG4gICAgY29uc3QgZGVsZWdhdG9yID0gUHVibGljS2V5LmZyb21IZXgodGhpcy5fc291cmNlLmFkZHJlc3MpO1xuICAgIGNvbnN0IHZhbGlkYXRvciA9IFB1YmxpY0tleS5mcm9tSGV4KHRoaXMuX3ZhbGlkYXRvcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWN0aW9uOiBDTFZhbHVlQnVpbGRlci5zdHJpbmcodGhpcy5fYWN0aW9uKSxcbiAgICAgIGRlbGVnYXRvcjogQ0xWYWx1ZUJ1aWxkZXIucHVibGljS2V5KGRlbGVnYXRvci52YWx1ZSgpLCBkZWxlZ2F0b3IudGFnKSxcbiAgICAgIHZhbGlkYXRvcjogQ0xWYWx1ZUJ1aWxkZXIucHVibGljS2V5KHZhbGlkYXRvci52YWx1ZSgpLCB2YWxpZGF0b3IudGFnKSxcbiAgICAgIGFtb3VudDogQ0xWYWx1ZUJ1aWxkZXIudTUxMih0aGlzLl9hbW91bnQpLFxuICAgIH07XG4gIH1cblxuICAvLyByZWdpb24gVHJhbnNmZXIgZmllbGRzXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3Mgd2hlcmUgdGhlIGZ1bmRzIHdpbGwgYmUgc2VudCxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgdGhlIDY4IGJpdHMgYWRkcmVzcyB0byB0cmFuc2ZlciBmdW5kcyB0b1xuICAgKiBAcmV0dXJucyB7RGVsZWdhdGVCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgdmFsaWRhdG9yKGFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhZGRyZXNzJyk7XG4gICAgfVxuICAgIHRoaXMuX3ZhbGlkYXRvciA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBhbW91bnQgdG8gYmUgdHJhbnNmZXJyZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCBhbW91bnQgdG8gdHJhbnNmZXJcbiAgICogQHJldHVybnMge0RlbGVnYXRlQnVpbGRlcn0gdGhlIGJ1aWxkZXIgd2l0aCB0aGUgbmV3IHBhcmFtZXRlciBzZXRcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaXNWYWxpZERlbGVnYXRlQW1vdW50KGFtb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcblxuICAvKipcbiAgICogVmFsaWRhdGUgbWFuZGF0b3J5IGZpZWxkcyBpbiB0aGUgY2xhc3NcbiAgICpcbiAgICogQHRocm93cyB7RXJyb3J9IEluIGNhc2Ugb2YgbWlzc2luZyBvciBpbnZhbGlkIGZpZWxkc1xuICAgKi9cbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9hbW91bnQpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgYW1vdW50Jyk7XG4gICAgfVxuICAgIGlmICghaXNWYWxpZERlbGVnYXRlQW1vdW50KHRoaXMuX2Ftb3VudCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBhbW91bnQnKTtcbiAgICB9XG4gICAgc3VwZXIudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { CLValue, CLPublicKey, RuntimeArgs } from 'casper-js-sdk';
|
|
2
|
+
import { BigNumberish } from '@ethersproject/bignumber';
|
|
3
|
+
import { KeyPair } from '.';
|
|
4
|
+
export interface CasperTransaction {
|
|
5
|
+
hash: string;
|
|
6
|
+
from: string;
|
|
7
|
+
fee: Fee;
|
|
8
|
+
deployType: string;
|
|
9
|
+
startTime?: string;
|
|
10
|
+
expiration?: number;
|
|
11
|
+
to?: string;
|
|
12
|
+
amount?: string;
|
|
13
|
+
transferId?: number | string;
|
|
14
|
+
owner1?: string;
|
|
15
|
+
owner2?: string;
|
|
16
|
+
owner3?: string;
|
|
17
|
+
fromDelegate?: string;
|
|
18
|
+
validator?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface CasperNode {
|
|
21
|
+
nodeUrl: string;
|
|
22
|
+
}
|
|
23
|
+
export interface SignatureData {
|
|
24
|
+
signature: string;
|
|
25
|
+
keyPair: KeyPair;
|
|
26
|
+
}
|
|
27
|
+
export interface Fee {
|
|
28
|
+
gasLimit: string;
|
|
29
|
+
gasPrice?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface CasperTransferTransaction {
|
|
32
|
+
amount: BigNumberish;
|
|
33
|
+
target: CLPublicKey;
|
|
34
|
+
id?: number | string;
|
|
35
|
+
extraArguments: Map<string, CLValue>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Delegate Session Required Data
|
|
39
|
+
*/
|
|
40
|
+
export interface CasperDelegateTransaction {
|
|
41
|
+
action: string;
|
|
42
|
+
delegator: CLPublicKey;
|
|
43
|
+
validator: CLPublicKey;
|
|
44
|
+
amount: BigNumberish;
|
|
45
|
+
extraArguments: Map<string, CLValue>;
|
|
46
|
+
}
|
|
47
|
+
export interface CasperModuleBytesTransaction {
|
|
48
|
+
moduleBytes: Uint8Array;
|
|
49
|
+
args: RuntimeArgs;
|
|
50
|
+
extraArguments: Map<string, CLValue>;
|
|
51
|
+
}
|
|
52
|
+
export interface Owner {
|
|
53
|
+
address: CLPublicKey;
|
|
54
|
+
weight: number;
|
|
55
|
+
}
|
|
56
|
+
export type WalletInitContractArgs = Record<'action' | 'deployment_thereshold' | 'key_management_threshold' | 'accounts' | 'weights', CLValue>;
|
|
57
|
+
export type DelegateUndelegateContractArgs = Record<'action' | 'delegator' | 'validator' | 'amount', CLValue>;
|
|
58
|
+
/**
|
|
59
|
+
* Secp256k1 return type for sign operations
|
|
60
|
+
*/
|
|
61
|
+
export interface SignResponse {
|
|
62
|
+
signature: Uint8Array;
|
|
63
|
+
recid: number;
|
|
64
|
+
}
|
|
65
|
+
export interface AddressDetails {
|
|
66
|
+
address: string;
|
|
67
|
+
transferId?: string;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=ifaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifaces.d.ts","sourceRoot":"","sources":["../../../src/lib/ifaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,MAAM,WAAW,iBAAiB;IAEhC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,UAAU,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAEzC,QAAQ,GAAG,uBAAuB,GAAG,0BAA0B,GAAG,UAAU,GAAG,SAAS,EACxF,OAAO,CACR,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,MAAM,CAAC,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE9G;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENMVmFsdWUsIENMUHVibGljS2V5LCBSdW50aW1lQXJncyB9IGZyb20gJ2Nhc3Blci1qcy1zZGsnO1xuaW1wb3J0IHsgQmlnTnVtYmVyaXNoIH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvYmlnbnVtYmVyJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXNwZXJUcmFuc2FjdGlvbiB7XG4gIC8vIG1hbmRhdG9yeSBmaWVsZHNcbiAgaGFzaDogc3RyaW5nO1xuICBmcm9tOiBzdHJpbmc7XG4gIGZlZTogRmVlO1xuICBkZXBsb3lUeXBlOiBzdHJpbmc7XG4gIC8vIG9wdGlvbmFsIGZpZWxkc1xuICBzdGFydFRpbWU/OiBzdHJpbmc7XG4gIGV4cGlyYXRpb24/OiBudW1iZXI7XG4gIC8vIHRyYW5zZmVyIGZpZWxkc1xuICB0bz86IHN0cmluZztcbiAgYW1vdW50Pzogc3RyaW5nOyAvLyBhbHNvIHVzZWQgZm9yIGRlbGVnYXRlL3VuZGVsZWdhdGVcbiAgdHJhbnNmZXJJZD86IG51bWJlciB8IHN0cmluZztcbiAgLy8gd2FsbGV0IGluaXQgZmllbGRzXG4gIG93bmVyMT86IHN0cmluZztcbiAgb3duZXIyPzogc3RyaW5nO1xuICBvd25lcjM/OiBzdHJpbmc7XG4gIC8vIGRlbGVnYXRlIC8gdW5kZWxlZ2F0ZSBmaWVsZHNcbiAgZnJvbURlbGVnYXRlPzogc3RyaW5nO1xuICB2YWxpZGF0b3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FzcGVyTm9kZSB7XG4gIG5vZGVVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYXR1cmVEYXRhIHtcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gIGtleVBhaXI6IEtleVBhaXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlIHtcbiAgZ2FzTGltaXQ6IHN0cmluZztcbiAgZ2FzUHJpY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FzcGVyVHJhbnNmZXJUcmFuc2FjdGlvbiB7XG4gIGFtb3VudDogQmlnTnVtYmVyaXNoO1xuICB0YXJnZXQ6IENMUHVibGljS2V5O1xuICBpZD86IG51bWJlciB8IHN0cmluZztcbiAgZXh0cmFBcmd1bWVudHM6IE1hcDxzdHJpbmcsIENMVmFsdWU+O1xufVxuXG4vKipcbiAqIERlbGVnYXRlIFNlc3Npb24gUmVxdWlyZWQgRGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhc3BlckRlbGVnYXRlVHJhbnNhY3Rpb24ge1xuICBhY3Rpb246IHN0cmluZztcbiAgZGVsZWdhdG9yOiBDTFB1YmxpY0tleTtcbiAgdmFsaWRhdG9yOiBDTFB1YmxpY0tleTtcbiAgYW1vdW50OiBCaWdOdW1iZXJpc2g7XG4gIGV4dHJhQXJndW1lbnRzOiBNYXA8c3RyaW5nLCBDTFZhbHVlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXNwZXJNb2R1bGVCeXRlc1RyYW5zYWN0aW9uIHtcbiAgbW9kdWxlQnl0ZXM6IFVpbnQ4QXJyYXk7XG4gIGFyZ3M6IFJ1bnRpbWVBcmdzO1xuICBleHRyYUFyZ3VtZW50czogTWFwPHN0cmluZywgQ0xWYWx1ZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3duZXIge1xuICBhZGRyZXNzOiBDTFB1YmxpY0tleTtcbiAgd2VpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFdhbGxldEluaXRDb250cmFjdEFyZ3MgPSBSZWNvcmQ8XG4gIC8vIFRoaXMgdHlwbyBpcyBvbiBwdXJwb3NlIHNpbmNlIHRoZSBjb250cmFjdCB3ZSB1c2UgZm9yIG11bHRpc2lnIHdhbGxldCBpbml0aWFsaXphdGlvbiBleHBlY3QgdGhpcyBhcmd1bWVudCB0byBiZSB3cml0dGVuIGxpa2UgdGhpcy5cbiAgJ2FjdGlvbicgfCAnZGVwbG95bWVudF90aGVyZXNob2xkJyB8ICdrZXlfbWFuYWdlbWVudF90aHJlc2hvbGQnIHwgJ2FjY291bnRzJyB8ICd3ZWlnaHRzJyxcbiAgQ0xWYWx1ZVxuPjtcblxuZXhwb3J0IHR5cGUgRGVsZWdhdGVVbmRlbGVnYXRlQ29udHJhY3RBcmdzID0gUmVjb3JkPCdhY3Rpb24nIHwgJ2RlbGVnYXRvcicgfCAndmFsaWRhdG9yJyB8ICdhbW91bnQnLCBDTFZhbHVlPjtcblxuLyoqXG4gKiBTZWNwMjU2azEgcmV0dXJuIHR5cGUgZm9yIHNpZ24gb3BlcmF0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25SZXNwb25zZSB7XG4gIHNpZ25hdHVyZTogVWludDhBcnJheTtcbiAgcmVjaWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzRGV0YWlscyB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgdHJhbnNmZXJJZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Utils = exports.KeyPair = exports.TransactionBuilderFactory = exports.Transaction = void 0;
|
|
37
|
+
const Utils = __importStar(require("./utils"));
|
|
38
|
+
exports.Utils = Utils;
|
|
39
|
+
var transaction_1 = require("./transaction");
|
|
40
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
41
|
+
var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
|
|
42
|
+
Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
|
|
43
|
+
var keyPair_1 = require("./keyPair");
|
|
44
|
+
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQU14QixzQkFBSztBQUpkLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5cbmV4cG9ydCB7IFV0aWxzIH07XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { KeyPairOptions, DefaultKeys, Secp256k1ExtendedKeyPair } from '@bitgo-beta/sdk-core';
|
|
2
|
+
export declare class KeyPair extends Secp256k1ExtendedKeyPair {
|
|
3
|
+
/**
|
|
4
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
5
|
+
*
|
|
6
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
7
|
+
*/
|
|
8
|
+
constructor(source?: KeyPairOptions);
|
|
9
|
+
/**
|
|
10
|
+
* Default keys format is a pair of Uint8Array keys
|
|
11
|
+
*
|
|
12
|
+
* @returns { DefaultKeys } The keys in the defined format
|
|
13
|
+
*/
|
|
14
|
+
getKeys(): DefaultKeys;
|
|
15
|
+
/** @inheritdoc */
|
|
16
|
+
getAddress(): string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=keyPair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAId,WAAW,EACX,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAoBnC;;;;OAIG;IACH,OAAO,IAAI,WAAW;IAOtB,kBAAkB;IAClB,UAAU,IAAI,MAAM;CAIrB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KeyPair = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const secp256k1_1 = require("@bitgo-beta/secp256k1");
|
|
6
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
const DEFAULT_SEED_SIZE_BYTES = 16;
|
|
9
|
+
class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
|
|
10
|
+
/**
|
|
11
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
12
|
+
*
|
|
13
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
14
|
+
*/
|
|
15
|
+
constructor(source) {
|
|
16
|
+
super(source);
|
|
17
|
+
if (!source) {
|
|
18
|
+
const seed = (0, crypto_1.randomBytes)(DEFAULT_SEED_SIZE_BYTES);
|
|
19
|
+
this.hdNode = secp256k1_1.bip32.fromSeed(seed);
|
|
20
|
+
}
|
|
21
|
+
else if ((0, sdk_core_1.isSeed)(source)) {
|
|
22
|
+
this.hdNode = secp256k1_1.bip32.fromSeed(source.seed);
|
|
23
|
+
}
|
|
24
|
+
else if ((0, sdk_core_1.isPrivateKey)(source)) {
|
|
25
|
+
this.recordKeysFromPrivateKey(source.prv);
|
|
26
|
+
}
|
|
27
|
+
else if ((0, sdk_core_1.isPublicKey)(source)) {
|
|
28
|
+
this.recordKeysFromPublicKey(source.pub);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw new Error('Invalid key pair options');
|
|
32
|
+
}
|
|
33
|
+
if (this.hdNode) {
|
|
34
|
+
this.keyPair = sdk_core_1.Secp256k1ExtendedKeyPair.toKeyPair(this.hdNode);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Default keys format is a pair of Uint8Array keys
|
|
39
|
+
*
|
|
40
|
+
* @returns { DefaultKeys } The keys in the defined format
|
|
41
|
+
*/
|
|
42
|
+
getKeys() {
|
|
43
|
+
return {
|
|
44
|
+
pub: this.getPublicKey({ compressed: true }).toString('hex'),
|
|
45
|
+
prv: this.getPrivateKey()?.toString('hex'),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** @inheritdoc */
|
|
49
|
+
getAddress() {
|
|
50
|
+
const keys = this.getKeys();
|
|
51
|
+
return constants_1.SECP256K1_PREFIX + keys.pub;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.KeyPair = KeyPair;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBcUM7QUFDckMscURBQThDO0FBQzlDLG1EQU84QjtBQUM5QiwyQ0FBK0M7QUFDL0MsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBYSxPQUFRLFNBQVEsbUNBQXdCO0lBQ25EOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsT0FBTyw0QkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQTNDRCwwQkEyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5pbXBvcnQge1xuICBLZXlQYWlyT3B0aW9ucyxcbiAgaXNQcml2YXRlS2V5LFxuICBpc1B1YmxpY0tleSxcbiAgaXNTZWVkLFxuICBEZWZhdWx0S2V5cyxcbiAgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBTRUNQMjU2SzFfUFJFRklYIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuY29uc3QgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgPSAxNjtcblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICBjb25zdCBzZWVkID0gcmFuZG9tQnl0ZXMoREVGQVVMVF9TRUVEX1NJWkVfQllURVMpO1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VlZChzb3VyY2UpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNvdXJjZS5zZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzUHJpdmF0ZUtleShzb3VyY2UpKSB7XG4gICAgICB0aGlzLnJlY29yZEtleXNGcm9tUHJpdmF0ZUtleShzb3VyY2UucHJ2KTtcbiAgICB9IGVsc2UgaWYgKGlzUHVibGljS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkoc291cmNlLnB1Yik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGROb2RlKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIudG9LZXlQYWlyKHRoaXMuaGROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBrZXlzIGZvcm1hdCBpcyBhIHBhaXIgb2YgVWludDhBcnJheSBrZXlzXG4gICAqXG4gICAqIEByZXR1cm5zIHsgRGVmYXVsdEtleXMgfSBUaGUga2V5cyBpbiB0aGUgZGVmaW5lZCBmb3JtYXRcbiAgICovXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIHJldHVybiB7XG4gICAgICBwdWI6IHRoaXMuZ2V0UHVibGljS2V5KHsgY29tcHJlc3NlZDogdHJ1ZSB9KS50b1N0cmluZygnaGV4JyksXG4gICAgICBwcnY6IHRoaXMuZ2V0UHJpdmF0ZUtleSgpPy50b1N0cmluZygnaGV4JyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5cyA9IHRoaXMuZ2V0S2V5cygpO1xuICAgIHJldHVybiBTRUNQMjU2SzFfUFJFRklYICsga2V5cy5wdWI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { DeployUtil } from 'casper-js-sdk';
|
|
3
|
+
import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
|
|
4
|
+
import { KeyPair } from './keyPair';
|
|
5
|
+
import { CasperTransaction } from './ifaces';
|
|
6
|
+
export declare class Transaction extends BaseTransaction {
|
|
7
|
+
protected _type: TransactionType;
|
|
8
|
+
protected _deploy: DeployUtil.Deploy;
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
canSign(key: BaseKey): boolean;
|
|
12
|
+
sign(keyPair: KeyPair): void;
|
|
13
|
+
/**
|
|
14
|
+
* Add a signature to this transaction and to and its deploy
|
|
15
|
+
*
|
|
16
|
+
* @param {string} signature The signature to add, in string hex format
|
|
17
|
+
* @param {KeyPair} keyPair The key pair that created the signature
|
|
18
|
+
*/
|
|
19
|
+
addSignature(signature: string, keyPair: KeyPair): void;
|
|
20
|
+
/** @inheritdoc */
|
|
21
|
+
toBroadcastFormat(): string;
|
|
22
|
+
/** @inheritdoc */
|
|
23
|
+
toJson(): CasperTransaction;
|
|
24
|
+
/**
|
|
25
|
+
* Set the transaction type
|
|
26
|
+
*
|
|
27
|
+
* @param {TransactionType} transactionType The transaction type to be set
|
|
28
|
+
*/
|
|
29
|
+
setTransactionType(transactionType: TransactionType): void;
|
|
30
|
+
/**
|
|
31
|
+
* Retrieve signatures from the deploy instance and load them into the signatures list
|
|
32
|
+
*/
|
|
33
|
+
loadPreviousSignatures(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Set owners inside a json representing a wallet initialization tx.
|
|
36
|
+
*
|
|
37
|
+
* @param {Record<string, any>} txJson json to modify
|
|
38
|
+
*/
|
|
39
|
+
setOwnersInJson(txJson: Record<string, any>): void;
|
|
40
|
+
/**
|
|
41
|
+
* Set transfer fields inside a json representing a transfer tx.
|
|
42
|
+
*
|
|
43
|
+
* @param {Record<string, any>} txJson json to modify
|
|
44
|
+
*/
|
|
45
|
+
setTransfersFieldsInJson(txJson: Record<string, any>): void;
|
|
46
|
+
/**
|
|
47
|
+
* Set delegate / undelegate fields inside a json representing the tx.
|
|
48
|
+
*
|
|
49
|
+
* @param {Record<string, any>} txJson json to modify
|
|
50
|
+
*/
|
|
51
|
+
setDelegateFieldsInJson(txJson: Record<string, any>): void;
|
|
52
|
+
get casperTx(): DeployUtil.Deploy;
|
|
53
|
+
set casperTx(deploy: DeployUtil.Deploy);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAA4B,UAAU,EAA0B,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAyC,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAoB7C,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAoB5B;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAqBvD,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAe3B,kBAAkB;IAClB,MAAM,IAAI,iBAAiB;IAgD3B;;;;OAIG;IACH,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAI1D;;OAEG;IACH,sBAAsB,IAAI,IAAI;IAQ9B;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IA2BlD;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAsB3D;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAsB1D,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,CAEhC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAErC;CAGF"}
|