@bitgo/sdk-coin-cspr 2.2.15 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.mocharc.yml +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/LICENSE +191 -0
  4. package/dist/src/cspr.d.ts +107 -0
  5. package/dist/src/cspr.d.ts.map +1 -0
  6. package/dist/src/cspr.js +314 -0
  7. package/dist/src/index.d.ts +5 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +44 -0
  10. package/dist/src/lib/constants.d.ts +19 -0
  11. package/dist/src/lib/constants.d.ts.map +1 -0
  12. package/dist/src/lib/constants.js +28 -0
  13. package/dist/src/lib/delegateBuilder.d.ts +49 -0
  14. package/dist/src/lib/delegateBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/delegateBuilder.js +111 -0
  16. package/dist/src/lib/ifaces.d.ts +69 -0
  17. package/dist/src/lib/ifaces.d.ts.map +1 -0
  18. package/dist/src/lib/ifaces.js +3 -0
  19. package/dist/src/lib/index.d.ts +6 -0
  20. package/dist/src/lib/index.d.ts.map +1 -0
  21. package/dist/src/lib/index.js +45 -0
  22. package/dist/src/lib/keyPair.d.ts +18 -0
  23. package/dist/src/lib/keyPair.d.ts.map +1 -0
  24. package/dist/src/lib/keyPair.js +55 -0
  25. package/dist/src/lib/transaction.d.ts +55 -0
  26. package/dist/src/lib/transaction.d.ts.map +1 -0
  27. package/dist/src/lib/transaction.js +240 -0
  28. package/dist/src/lib/transactionBuilder.d.ts +124 -0
  29. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  30. package/dist/src/lib/transactionBuilder.js +312 -0
  31. package/dist/src/lib/transactionBuilderFactory.d.ts +46 -0
  32. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  33. package/dist/src/lib/transactionBuilderFactory.js +98 -0
  34. package/dist/src/lib/transferBuilder.d.ts +39 -0
  35. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/transferBuilder.js +106 -0
  37. package/dist/src/lib/undelegateBuilder.d.ts +49 -0
  38. package/dist/src/lib/undelegateBuilder.d.ts.map +1 -0
  39. package/dist/src/lib/undelegateBuilder.js +111 -0
  40. package/dist/src/lib/utils.d.ts +188 -0
  41. package/dist/src/lib/utils.d.ts.map +1 -0
  42. package/dist/src/lib/utils.js +490 -0
  43. package/dist/src/lib/walletInitializationBuilder.d.ts +27 -0
  44. package/dist/src/lib/walletInitializationBuilder.d.ts.map +1 -0
  45. package/dist/src/lib/walletInitializationBuilder.js +95 -0
  46. package/dist/src/register.d.ts +3 -0
  47. package/dist/src/register.d.ts.map +1 -0
  48. package/dist/src/register.js +11 -0
  49. package/dist/src/tcspr.d.ts +11 -0
  50. package/dist/src/tcspr.d.ts.map +1 -0
  51. package/dist/src/tcspr.js +24 -0
  52. package/package.json +7 -7
@@ -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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9kZWxlZ2F0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQStGO0FBRS9GLDhDQU95QjtBQUN6Qiw2REFBcUU7QUFFckUsMkNBT3FCO0FBQ3JCLG1DQU1pQjtBQUdqQixNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBTXJEOzs7O09BSUc7SUFDSCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLG9DQUF3QixDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLHNDQUEwQixDQUFDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBRWxELGNBQWMsQ0FBQyxHQUFHLENBQUMsNEJBQWdCLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsMEJBQWUsQ0FBQywwQkFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRyxjQUFjLENBQUMsR0FBRyxDQUFDLHdCQUFZLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsZ0NBQXFCLENBQUMsZ0NBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNHLGNBQWMsQ0FBQyxHQUFHLENBQUMsaUNBQXFCLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLGNBQWMsQ0FBQyxHQUFHLENBQUMsOEJBQWtCLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFL0UsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMzQixJQUFJLEVBQUUsMkJBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQy9CLGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakUsT0FBTyxNQUFNLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFBLDJCQUFtQixFQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUEseUJBQWlCLEVBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxHQUFZO1FBQ3ZDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sSUFBSSw4QkFBUyxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLHVCQUFZLENBQUMsZUFBZSxHQUFHLDhCQUFTLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyx1QkFBdUI7UUFDN0IsTUFBTSxTQUFTLEdBQUcsMkJBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxNQUFNLFNBQVMsR0FBRywyQkFBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsT0FBTztZQUNMLE1BQU0sRUFBRSw4QkFBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzNDLFNBQVMsRUFBRSw4QkFBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUNyRSxTQUFTLEVBQUUsOEJBQWMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDckUsTUFBTSxFQUFFLDhCQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDMUMsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUI7SUFDekI7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsT0FBZTtRQUN2QixJQUFJLENBQUMsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLHFDQUEwQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLElBQUEsNkJBQXFCLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUkscUNBQTBCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWTtJQUVaLG9CQUFvQjtJQUVwQjs7OztPQUlHO0lBQ0gsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFBLDZCQUFxQixFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxxQ0FBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBRUY7QUF0SEQsMENBc0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IENMVmFsdWUsIENMUHVibGljS2V5IGFzIFB1YmxpY0tleSwgUnVudGltZUFyZ3MsIENMVmFsdWVCdWlsZGVyIH0gZnJvbSAnY2FzcGVyLWpzLXNkayc7XG5cbmltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcixcbiAgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IsXG4gIFNpZ25pbmdFcnJvcixcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBTdGFraW5nT3BlcmF0aW9uVHlwZXMsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIsIERFRkFVTFRfTSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBUUkFOU0FDVElPTl9UWVBFLFxuICBERUxFR0FURV9WQUxJREFUT1IsXG4gIERFTEVHQVRFX0ZST01fQUREUkVTUyxcbiAgU1RBS0lOR19UWVBFLFxuICBERUxFR0FURV9DT05UUkFDVF9BQ1RJT04sXG4gIERFTEVHQVRFX1ZBTElEQVRPUl9BQ0NPVU5ULFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkRGVsZWdhdGVBbW91bnQsXG4gIGlzVmFsaWRBZGRyZXNzLFxuICBnZXRUcmFuc2ZlckFtb3VudCxcbiAgZ2V0VmFsaWRhdG9yQWRkcmVzcyxcbiAgY2FzcGVyQ29udHJhY3RIZXhDb2RlLFxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERlbGVnYXRlVW5kZWxlZ2F0ZUNvbnRyYWN0QXJncyB9IGZyb20gJy4vaWZhY2VzJztcblxuZXhwb3J0IGNsYXNzIERlbGVnYXRlQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX3ZhbGlkYXRvcjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3Rpb246IHN0cmluZztcbiAgcHJpdmF0ZSBfYW1vdW50OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRyYWN0OiBVaW50OEFycmF5O1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSB7Q29pbkNvbmZpZ30gX2NvaW5Db25maWcgQ29pbiBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgKi9cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2FjdGlvbiA9IERFTEVHQVRFX0NPTlRSQUNUX0FDVElPTjtcbiAgICB0aGlzLl9jb250cmFjdCA9IFVpbnQ4QXJyYXkuZnJvbShCdWZmZXIuZnJvbShjYXNwZXJDb250cmFjdEhleENvZGUsICdoZXgnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHRoaXMuX3ZhbGlkYXRvciA9IHRoaXMuX3ZhbGlkYXRvciB8fCBERUxFR0FURV9WQUxJREFUT1JfQUNDT1VOVDtcbiAgICBjb25zdCBhcmdzID0gdGhpcy5idWlsZERlbGVnYXRlUGFyYW1ldGVycygpO1xuICAgIGNvbnN0IGV4dHJhQXJndW1lbnRzID0gbmV3IE1hcDxzdHJpbmcsIENMVmFsdWU+KCk7XG5cbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoVFJBTlNBQ1RJT05fVFlQRSwgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKFRyYW5zYWN0aW9uVHlwZVtUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0xvY2tdKSk7XG4gICAgZXh0cmFBcmd1bWVudHMuc2V0KFNUQUtJTkdfVFlQRSwgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKFN0YWtpbmdPcGVyYXRpb25UeXBlc1tTdGFraW5nT3BlcmF0aW9uVHlwZXMuTE9DS10pKTtcbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoREVMRUdBVEVfRlJPTV9BRERSRVNTLCBDTFZhbHVlQnVpbGRlci5zdHJpbmcodGhpcy5fc291cmNlLmFkZHJlc3MpKTtcbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoREVMRUdBVEVfVkFMSURBVE9SLCBDTFZhbHVlQnVpbGRlci5zdHJpbmcodGhpcy5fdmFsaWRhdG9yKSk7XG5cbiAgICB0aGlzLl9zZXNzaW9uID0ge1xuICAgICAgbW9kdWxlQnl0ZXM6IHRoaXMuX2NvbnRyYWN0LFxuICAgICAgYXJnczogUnVudGltZUFyZ3MuZnJvbU1hcChhcmdzKSxcbiAgICAgIGV4dHJhQXJndW1lbnRzOiBleHRyYUFyZ3VtZW50cyxcbiAgICB9O1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nTG9jayk7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUoVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdMb2NrKTtcbiAgICB0aGlzLnZhbGlkYXRvcihnZXRWYWxpZGF0b3JBZGRyZXNzKHR4LmNhc3BlclR4LnNlc3Npb24pKTtcbiAgICB0aGlzLmFtb3VudChnZXRUcmFuc2ZlckFtb3VudCh0eC5jYXNwZXJUeC5zZXNzaW9uKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuX211bHRpU2lnbmVyS2V5UGFpcnMubGVuZ3RoID49IERFRkFVTFRfTSkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignQSBtYXhpbXVtIG9mICcgKyBERUZBVUxUX00gKyAnIGNhbiBzaWduIHRoZSB0cmFuc2FjdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnNpZ25JbXBsZW1lbnRhdGlvbihrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFyZ3MgbmVlZGVkIHRvIGNyZWF0ZSBhIHNlc3Npb24sIHRoZW4gd2UgY2FuIHNlbmQgdGhpcyBzZXNzaW9uIHdpdGggdGhlIGNvbnRyYWN0XG4gICAqXG4gICAqIEByZXR1cm5zIHtEZWxlZ2F0ZVVuZGVsZWdhdGVDb250cmFjdEFyZ3N9IGNvbnRyYWN0cyBhcmdzIHRvIGNyZWF0ZSBhIHNlc3Npb25cbiAgICovXG4gIHByaXZhdGUgYnVpbGREZWxlZ2F0ZVBhcmFtZXRlcnMoKTogRGVsZWdhdGVVbmRlbGVnYXRlQ29udHJhY3RBcmdzIHtcbiAgICBjb25zdCBkZWxlZ2F0b3IgPSBQdWJsaWNLZXkuZnJvbUhleCh0aGlzLl9zb3VyY2UuYWRkcmVzcyk7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gUHVibGljS2V5LmZyb21IZXgodGhpcy5fdmFsaWRhdG9yKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY3Rpb246IENMVmFsdWVCdWlsZGVyLnN0cmluZyh0aGlzLl9hY3Rpb24pLFxuICAgICAgZGVsZWdhdG9yOiBDTFZhbHVlQnVpbGRlci5wdWJsaWNLZXkoZGVsZWdhdG9yLnZhbHVlKCksIGRlbGVnYXRvci50YWcpLFxuICAgICAgdmFsaWRhdG9yOiBDTFZhbHVlQnVpbGRlci5wdWJsaWNLZXkodmFsaWRhdG9yLnZhbHVlKCksIHZhbGlkYXRvci50YWcpLFxuICAgICAgYW1vdW50OiBDTFZhbHVlQnVpbGRlci51NTEyKHRoaXMuX2Ftb3VudCksXG4gICAgfTtcbiAgfVxuXG4gIC8vIHJlZ2lvbiBUcmFuc2ZlciBmaWVsZHNcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzdGluYXRpb24gYWRkcmVzcyB3aGVyZSB0aGUgZnVuZHMgd2lsbCBiZSBzZW50LFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyB0aGUgNjggYml0cyBhZGRyZXNzIHRvIHRyYW5zZmVyIGZ1bmRzIHRvXG4gICAqIEByZXR1cm5zIHtEZWxlZ2F0ZUJ1aWxkZXJ9IHRoZSBidWlsZGVyIHdpdGggdGhlIG5ldyBwYXJhbWV0ZXIgc2V0XG4gICAqL1xuICB2YWxpZGF0b3IoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFkZHJlc3MnKTtcbiAgICB9XG4gICAgdGhpcy5fdmFsaWRhdG9yID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFtb3VudCB0byBiZSB0cmFuc2ZlcnJlZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IGFtb3VudCB0byB0cmFuc2ZlclxuICAgKiBAcmV0dXJucyB7RGVsZWdhdGVCdWlsZGVyfSB0aGUgYnVpbGRlciB3aXRoIHRoZSBuZXcgcGFyYW1ldGVyIHNldFxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpc1ZhbGlkRGVsZWdhdGVBbW91bnQoYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFtb3VudCcpO1xuICAgIH1cbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gVmFsaWRhdG9yc1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBtYW5kYXRvcnkgZmllbGRzIGluIHRoZSBjbGFzc1xuICAgKlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSW4gY2FzZSBvZiBtaXNzaW5nIG9yIGludmFsaWQgZmllbGRzXG4gICAqL1xuICB2YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Ftb3VudCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBhbW91bnQnKTtcbiAgICB9XG4gICAgaWYgKCFpc1ZhbGlkRGVsZWdhdGVBbW91bnQodGhpcy5fYW1vdW50KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJbnZhbGlkIGFtb3VudCcpO1xuICAgIH1cbiAgICBzdXBlci52YWxpZGF0ZU1hbmRhdG9yeUZpZWxkcygpO1xuICB9XG4gIC8vIGVuZHJlZ2lvblxufVxuIl19
@@ -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,6 @@
1
+ import * as Utils from './utils';
2
+ export { Transaction } from './transaction';
3
+ export { TransactionBuilderFactory } from './transactionBuilderFactory';
4
+ export { KeyPair } from './keyPair';
5
+ export { Utils };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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/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,iBAAiB,CAAC;AAIzB,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/secp256k1");
6
+ const sdk_core_1 = require("@bitgo/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBcUM7QUFDckMsZ0RBQXlDO0FBQ3pDLDhDQU95QjtBQUN6QiwyQ0FBK0M7QUFDL0MsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBYSxPQUFRLFNBQVEsbUNBQXdCO0lBQ25EOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsT0FBTyw0QkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQTNDRCwwQkEyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby9zZWNwMjU2azEnO1xuaW1wb3J0IHtcbiAgS2V5UGFpck9wdGlvbnMsXG4gIGlzUHJpdmF0ZUtleSxcbiAgaXNQdWJsaWNLZXksXG4gIGlzU2VlZCxcbiAgRGVmYXVsdEtleXMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbn0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFNFQ1AyNTZLMV9QUkVGSVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5jb25zdCBERUZBVUxUX1NFRURfU0laRV9CWVRFUyA9IDE2O1xuXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgIGNvbnN0IHNlZWQgPSByYW5kb21CeXRlcyhERUZBVUxUX1NFRURfU0laRV9CWVRFUyk7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNTZWVkKHNvdXJjZSkpIHtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc291cmNlLnNlZWQpO1xuICAgIH0gZWxzZSBpZiAoaXNQcml2YXRlS2V5KHNvdXJjZSkpIHtcbiAgICAgIHRoaXMucmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHNvdXJjZS5wcnYpO1xuICAgIH0gZWxzZSBpZiAoaXNQdWJsaWNLZXkoc291cmNlKSkge1xuICAgICAgdGhpcy5yZWNvcmRLZXlzRnJvbVB1YmxpY0tleShzb3VyY2UucHViKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleSBwYWlyIG9wdGlvbnMnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oZE5vZGUpIHtcbiAgICAgIHRoaXMua2V5UGFpciA9IFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpci50b0tleVBhaXIodGhpcy5oZE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGtleXMgZm9ybWF0IGlzIGEgcGFpciBvZiBVaW50OEFycmF5IGtleXNcbiAgICpcbiAgICogQHJldHVybnMgeyBEZWZhdWx0S2V5cyB9IFRoZSBrZXlzIGluIHRoZSBkZWZpbmVkIGZvcm1hdFxuICAgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXlzID0gdGhpcy5nZXRLZXlzKCk7XG4gICAgcmV0dXJuIFNFQ1AyNTZLMV9QUkVGSVggKyBrZXlzLnB1YjtcbiAgfVxufVxuIl19
@@ -0,0 +1,55 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { DeployUtil } from 'casper-js-sdk';
3
+ import { BaseKey, BaseTransaction, TransactionType } from '@bitgo/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,gBAAgB,CAAC;AACxD,OAAO,EAA4B,UAAU,EAA0B,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAyC,MAAM,iBAAiB,CAAC;AACnH,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"}