@bitgo/sdk-coin-cspr 1.0.1-rc.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 +4 -0
- package/.mocharc.yml +8 -0
- package/CHANGELOG.md +8 -0
- package/LICENSE +191 -0
- package/README.md +39 -0
- package/dist/src/cspr.d.ts +101 -0
- package/dist/src/cspr.d.ts.map +1 -0
- package/dist/src/cspr.js +293 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +29 -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 +31 -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 +75 -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 +227 -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 +477 -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/tcspr.d.ts +11 -0
- package/dist/src/tcspr.d.ts.map +1 -0
- package/dist/src/tcspr.js +24 -0
- package/package.json +62 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
export declare class WalletInitializationBuilder extends TransactionBuilder {
|
|
5
|
+
private _owners;
|
|
6
|
+
private _contract;
|
|
7
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
|
+
/** @inheritdoc */
|
|
9
|
+
protected buildImplementation(): Promise<Transaction>;
|
|
10
|
+
/**
|
|
11
|
+
* Build args needed to create a session, then we can send this session with the contract
|
|
12
|
+
*
|
|
13
|
+
* @returns {WalletInitContractArgs} contracts args to create a session
|
|
14
|
+
*/
|
|
15
|
+
private buildWalletParameters;
|
|
16
|
+
/** @inheritdoc */
|
|
17
|
+
initBuilder(tx: Transaction): void;
|
|
18
|
+
/**
|
|
19
|
+
* Set one of the owners of the multisig wallet.
|
|
20
|
+
*
|
|
21
|
+
* @param {string} address The public key of the owner's account
|
|
22
|
+
* @returns {WalletInitializationBuilder} This wallet initialization builder
|
|
23
|
+
*/
|
|
24
|
+
owner(address: string): this;
|
|
25
|
+
validateMandatoryFields(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=walletInitializationBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walletInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAa;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAgB3D;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkB7B,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAYlC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAiB5B,uBAAuB,IAAI,IAAI;CAahC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WalletInitializationBuilder = 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 utils_1 = require("./utils");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const keyPair_1 = require("./keyPair");
|
|
10
|
+
const DEFAULT_OWNER_WEIGHT = 1;
|
|
11
|
+
class WalletInitializationBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
12
|
+
constructor(_coinConfig) {
|
|
13
|
+
super(_coinConfig);
|
|
14
|
+
this._owners = [];
|
|
15
|
+
this._contract = Uint8Array.from(Buffer.from(utils_1.casperContractHexCode, 'hex'));
|
|
16
|
+
}
|
|
17
|
+
// region Base Builder
|
|
18
|
+
/** @inheritdoc */
|
|
19
|
+
async buildImplementation() {
|
|
20
|
+
const args = this.buildWalletParameters();
|
|
21
|
+
const extraArguments = new Map();
|
|
22
|
+
extraArguments.set(constants_1.TRANSACTION_TYPE, casper_js_sdk_1.CLValueBuilder.string(sdk_core_1.TransactionType[sdk_core_1.TransactionType.WalletInitialization]));
|
|
23
|
+
for (let index = 0; index < this._owners.length; index++) {
|
|
24
|
+
const ownerPublicKey = Buffer.from(this._owners[index].address.value()).toString('hex');
|
|
25
|
+
const ownerAddress = new keyPair_1.KeyPair({ pub: ownerPublicKey }).getAddress();
|
|
26
|
+
extraArguments.set(constants_1.OWNER_PREFIX + index, casper_js_sdk_1.CLValueBuilder.string(ownerAddress));
|
|
27
|
+
}
|
|
28
|
+
this._session = { moduleBytes: this._contract, args: casper_js_sdk_1.RuntimeArgs.fromMap(args), extraArguments: extraArguments };
|
|
29
|
+
this.transaction.setTransactionType(sdk_core_1.TransactionType.WalletInitialization);
|
|
30
|
+
return await super.buildImplementation();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build args needed to create a session, then we can send this session with the contract
|
|
34
|
+
*
|
|
35
|
+
* @returns {WalletInitContractArgs} contracts args to create a session
|
|
36
|
+
*/
|
|
37
|
+
buildWalletParameters() {
|
|
38
|
+
const accounts = this._owners.map((owner) => casper_js_sdk_1.CLValueBuilder.byteArray(owner.address.toAccountHash()));
|
|
39
|
+
const weights = this._owners.map((owner) => casper_js_sdk_1.CLValueBuilder.u8(owner.weight));
|
|
40
|
+
// set source address weight to zero to disable the master private key from signing.
|
|
41
|
+
accounts.push(casper_js_sdk_1.CLValueBuilder.byteArray(casper_js_sdk_1.CLPublicKey.fromHex(this._source.address).toAccountHash()));
|
|
42
|
+
weights.push(casper_js_sdk_1.CLValueBuilder.u8(0));
|
|
43
|
+
return {
|
|
44
|
+
action: casper_js_sdk_1.CLValueBuilder.string(constants_1.WALLET_INITIALIZATION_CONTRACT_ACTION),
|
|
45
|
+
// This typo is on purpose since the contract we use for multisig wallet initialization expect this argument to be written like this.
|
|
46
|
+
deployment_thereshold: casper_js_sdk_1.CLValueBuilder.u8(transactionBuilder_1.DEFAULT_N),
|
|
47
|
+
key_management_threshold: casper_js_sdk_1.CLValueBuilder.u8(transactionBuilder_1.DEFAULT_M),
|
|
48
|
+
accounts: casper_js_sdk_1.CLValueBuilder.list(accounts),
|
|
49
|
+
weights: casper_js_sdk_1.CLValueBuilder.list(weights),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** @inheritdoc */
|
|
53
|
+
initBuilder(tx) {
|
|
54
|
+
super.initBuilder(tx);
|
|
55
|
+
this.transaction.setTransactionType(sdk_core_1.TransactionType.WalletInitialization);
|
|
56
|
+
for (let ownerIndex = 0; ownerIndex < transactionBuilder_1.DEFAULT_M; ownerIndex++) {
|
|
57
|
+
const ownerCLValue = tx.casperTx.session.getArgByName(constants_1.OWNER_PREFIX + ownerIndex);
|
|
58
|
+
this.owner(ownerCLValue.value());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// endregion
|
|
62
|
+
// region Common builder methods
|
|
63
|
+
/**
|
|
64
|
+
* Set one of the owners of the multisig wallet.
|
|
65
|
+
*
|
|
66
|
+
* @param {string} address The public key of the owner's account
|
|
67
|
+
* @returns {WalletInitializationBuilder} This wallet initialization builder
|
|
68
|
+
*/
|
|
69
|
+
owner(address) {
|
|
70
|
+
if (this._owners.length >= transactionBuilder_1.DEFAULT_M) {
|
|
71
|
+
throw new sdk_core_1.BuildTransactionError('A maximum of ' + transactionBuilder_1.DEFAULT_M + ' owners can be set for a multisig wallet');
|
|
72
|
+
}
|
|
73
|
+
this.validateAddress({ address: address });
|
|
74
|
+
for (const _owner of this._owners) {
|
|
75
|
+
if (address.substr(0, 2) + Buffer.from(_owner.address.value()).toString('hex') === address) {
|
|
76
|
+
throw new sdk_core_1.BuildTransactionError('Duplicated owner: ' + address);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
this._owners.push({ address: casper_js_sdk_1.CLPublicKey.fromHex(address), weight: DEFAULT_OWNER_WEIGHT });
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
// endregion
|
|
83
|
+
// region Validators
|
|
84
|
+
validateMandatoryFields() {
|
|
85
|
+
if (this._owners.length === 0) {
|
|
86
|
+
throw new sdk_core_1.BuildTransactionError('Invalid transaction: missing wallet owners');
|
|
87
|
+
}
|
|
88
|
+
if (this._owners.length !== transactionBuilder_1.DEFAULT_M) {
|
|
89
|
+
throw new sdk_core_1.BuildTransactionError(`Invalid transaction: wrong number of owners -- required: ${transactionBuilder_1.DEFAULT_M}, found: ${this._owners.length}`);
|
|
90
|
+
}
|
|
91
|
+
super.validateMandatoryFields();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.WalletInitializationBuilder = WalletInitializationBuilder;
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQXlHO0FBQ3pHLDhDQUF5RTtBQUN6RSw2REFBZ0Y7QUFHaEYsbUNBQWdEO0FBQ2hELDJDQUFvRztBQUNwRyx1Q0FBb0M7QUFFcEMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7QUFDL0IsTUFBYSwyQkFBNEIsU0FBUSx1Q0FBa0I7SUFJakUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKYixZQUFPLEdBQVksRUFBRSxDQUFDO1FBSzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBRWxELGNBQWMsQ0FBQyxHQUFHLENBQUMsNEJBQWdCLEVBQUUsOEJBQWMsQ0FBQyxNQUFNLENBQUMsMEJBQWUsQ0FBQywwQkFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ILEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFD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L3N0YXRpY3MnO1xuaW1wb3J0IHsgQ0xWYWx1ZSwgQ0xQdWJsaWNLZXkgYXMgUHVibGljS2V5LCBSdW50aW1lQXJncywgQ0xWYWx1ZUJ1aWxkZXIsIENMU3RyaW5nIH0gZnJvbSAnY2FzcGVyLWpzLXNkayc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIsIERFRkFVTFRfTSwgREVGQVVMVF9OIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IE93bmVyLCBXYWxsZXRJbml0Q29udHJhY3RBcmdzIH0gZnJvbSAnLi9pZmFjZXMnO1xuaW1wb3J0IHsgY2FzcGVyQ29udHJhY3RIZXhDb2RlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBPV05FUl9QUkVGSVgsIFRSQU5TQUNUSU9OX1RZUEUsIFdBTExFVF9JTklUSUFMSVpBVElPTl9DT05UUkFDVF9BQ1RJT04gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcblxuY29uc3QgREVGQVVMVF9PV05FUl9XRUlHSFQgPSAxO1xuZXhwb3J0IGNsYXNzIFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX293bmVyczogT3duZXJbXSA9IFtdO1xuICBwcml2YXRlIF9jb250cmFjdDogVWludDhBcnJheTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fY29udHJhY3QgPSBVaW50OEFycmF5LmZyb20oQnVmZmVyLmZyb20oY2FzcGVyQ29udHJhY3RIZXhDb2RlLCAnaGV4JykpO1xuICB9XG5cbiAgLy8gcmVnaW9uIEJhc2UgQnVpbGRlclxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGFyZ3MgPSB0aGlzLmJ1aWxkV2FsbGV0UGFyYW1ldGVycygpO1xuICAgIGNvbnN0IGV4dHJhQXJndW1lbnRzID0gbmV3IE1hcDxzdHJpbmcsIENMVmFsdWU+KCk7XG5cbiAgICBleHRyYUFyZ3VtZW50cy5zZXQoVFJBTlNBQ1RJT05fVFlQRSwgQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKFRyYW5zYWN0aW9uVHlwZVtUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb25dKSk7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMuX293bmVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IG93bmVyUHVibGljS2V5ID0gQnVmZmVyLmZyb20odGhpcy5fb3duZXJzW2luZGV4XS5hZGRyZXNzLnZhbHVlKCkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGNvbnN0IG93bmVyQWRkcmVzcyA9IG5ldyBLZXlQYWlyKHsgcHViOiBvd25lclB1YmxpY0tleSB9KS5nZXRBZGRyZXNzKCk7XG4gICAgICBleHRyYUFyZ3VtZW50cy5zZXQoT1dORVJfUFJFRklYICsgaW5kZXgsIENMVmFsdWVCdWlsZGVyLnN0cmluZyhvd25lckFkZHJlc3MpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXNzaW9uID0geyBtb2R1bGVCeXRlczogdGhpcy5fY29udHJhY3QsIGFyZ3M6IFJ1bnRpbWVBcmdzLmZyb21NYXAoYXJncyksIGV4dHJhQXJndW1lbnRzOiBleHRyYUFyZ3VtZW50cyB9O1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbik7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhcmdzIG5lZWRlZCB0byBjcmVhdGUgYSBzZXNzaW9uLCB0aGVuIHdlIGNhbiBzZW5kIHRoaXMgc2Vzc2lvbiB3aXRoIHRoZSBjb250cmFjdFxuICAgKlxuICAgKiBAcmV0dXJucyB7V2FsbGV0SW5pdENvbnRyYWN0QXJnc30gY29udHJhY3RzIGFyZ3MgdG8gY3JlYXRlIGEgc2Vzc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFdhbGxldFBhcmFtZXRlcnMoKTogV2FsbGV0SW5pdENvbnRyYWN0QXJncyB7XG4gICAgY29uc3QgYWNjb3VudHMgPSB0aGlzLl9vd25lcnMubWFwKChvd25lcikgPT4gQ0xWYWx1ZUJ1aWxkZXIuYnl0ZUFycmF5KG93bmVyLmFkZHJlc3MudG9BY2NvdW50SGFzaCgpKSk7XG4gICAgY29uc3Qgd2VpZ2h0cyA9IHRoaXMuX293bmVycy5tYXAoKG93bmVyKSA9PiBDTFZhbHVlQnVpbGRlci51OChvd25lci53ZWlnaHQpKTtcblxuICAgIC8vIHNldCBzb3VyY2UgYWRkcmVzcyB3ZWlnaHQgdG8gemVybyB0byBkaXNhYmxlIHRoZSBtYXN0ZXIgcHJpdmF0ZSBrZXkgZnJvbSBzaWduaW5nLlxuICAgIGFjY291bnRzLnB1c2goQ0xWYWx1ZUJ1aWxkZXIuYnl0ZUFycmF5KFB1YmxpY0tleS5mcm9tSGV4KHRoaXMuX3NvdXJjZS5hZGRyZXNzKS50b0FjY291bnRIYXNoKCkpKTtcbiAgICB3ZWlnaHRzLnB1c2goQ0xWYWx1ZUJ1aWxkZXIudTgoMCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGlvbjogQ0xWYWx1ZUJ1aWxkZXIuc3RyaW5nKFdBTExFVF9JTklUSUFMSVpBVElPTl9DT05UUkFDVF9BQ1RJT04pLFxuICAgICAgLy8gVGhpcyB0eXBvIGlzIG9uIHB1cnBvc2Ugc2luY2UgdGhlIGNvbnRyYWN0IHdlIHVzZSBmb3IgbXVsdGlzaWcgd2FsbGV0IGluaXRpYWxpemF0aW9uIGV4cGVjdCB0aGlzIGFyZ3VtZW50IHRvIGJlIHdyaXR0ZW4gbGlrZSB0aGlzLlxuICAgICAgZGVwbG95bWVudF90aGVyZXNob2xkOiBDTFZhbHVlQnVpbGRlci51OChERUZBVUxUX04pLFxuICAgICAga2V5X21hbmFnZW1lbnRfdGhyZXNob2xkOiBDTFZhbHVlQnVpbGRlci51OChERUZBVUxUX00pLFxuICAgICAgYWNjb3VudHM6IENMVmFsdWVCdWlsZGVyLmxpc3QoYWNjb3VudHMpLFxuICAgICAgd2VpZ2h0czogQ0xWYWx1ZUJ1aWxkZXIubGlzdCh3ZWlnaHRzKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb24pO1xuICAgIGZvciAobGV0IG93bmVySW5kZXggPSAwOyBvd25lckluZGV4IDwgREVGQVVMVF9NOyBvd25lckluZGV4KyspIHtcbiAgICAgIGNvbnN0IG93bmVyQ0xWYWx1ZSA9IHR4LmNhc3BlclR4LnNlc3Npb24uZ2V0QXJnQnlOYW1lKE9XTkVSX1BSRUZJWCArIG93bmVySW5kZXgpIGFzIENMU3RyaW5nO1xuICAgICAgdGhpcy5vd25lcihvd25lckNMVmFsdWUudmFsdWUoKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIENvbW1vbiBidWlsZGVyIG1ldGhvZHNcbiAgLyoqXG4gICAqIFNldCBvbmUgb2YgdGhlIG93bmVycyBvZiB0aGUgbXVsdGlzaWcgd2FsbGV0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyBUaGUgcHVibGljIGtleSBvZiB0aGUgb3duZXIncyBhY2NvdW50XG4gICAqIEByZXR1cm5zIHtXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXJ9IFRoaXMgd2FsbGV0IGluaXRpYWxpemF0aW9uIGJ1aWxkZXJcbiAgICovXG4gIG93bmVyKGFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICh0aGlzLl9vd25lcnMubGVuZ3RoID49IERFRkFVTFRfTSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignQSBtYXhpbXVtIG9mICcgKyBERUZBVUxUX00gKyAnIG93bmVycyBjYW4gYmUgc2V0IGZvciBhIG11bHRpc2lnIHdhbGxldCcpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IGFkZHJlc3MgfSk7XG4gICAgZm9yIChjb25zdCBfb3duZXIgb2YgdGhpcy5fb3duZXJzKSB7XG4gICAgICBpZiAoYWRkcmVzcy5zdWJzdHIoMCwgMikgKyBCdWZmZXIuZnJvbShfb3duZXIuYWRkcmVzcy52YWx1ZSgpKS50b1N0cmluZygnaGV4JykgPT09IGFkZHJlc3MpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignRHVwbGljYXRlZCBvd25lcjogJyArIGFkZHJlc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX293bmVycy5wdXNoKHsgYWRkcmVzczogUHVibGljS2V5LmZyb21IZXgoYWRkcmVzcyksIHdlaWdodDogREVGQVVMVF9PV05FUl9XRUlHSFQgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLy8gZW5kcmVnaW9uXG5cbiAgLy8gcmVnaW9uIFZhbGlkYXRvcnNcbiAgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX293bmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3Npbmcgd2FsbGV0IG93bmVycycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9vd25lcnMubGVuZ3RoICE9PSBERUZBVUxUX00pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIHRyYW5zYWN0aW9uOiB3cm9uZyBudW1iZXIgb2Ygb3duZXJzIC0tIHJlcXVpcmVkOiAke0RFRkFVTFRfTX0sIGZvdW5kOiAke3RoaXMuX293bmVycy5sZW5ndGh9YFxuICAgICAgKTtcbiAgICB9XG4gICAgc3VwZXIudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgfVxuICAvLyBlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCoin, BitGoBase } from '@bitgo/sdk-core';
|
|
2
|
+
import { Cspr } from './cspr';
|
|
3
|
+
import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
|
|
4
|
+
export declare class Tcspr extends Cspr {
|
|
5
|
+
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
|
|
6
|
+
constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
7
|
+
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
8
|
+
getChain(): string;
|
|
9
|
+
getFullName(): string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=tcspr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcspr.d.ts","sourceRoot":"","sources":["../../src/tcspr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE7D,qBAAa,KAAM,SAAQ,IAAI;IAC7B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAE/C,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAUrE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,QAAQ;IAIR,WAAW;CAGZ"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tcspr = void 0;
|
|
4
|
+
const cspr_1 = require("./cspr");
|
|
5
|
+
class Tcspr extends cspr_1.Cspr {
|
|
6
|
+
constructor(bitgo, staticsCoin) {
|
|
7
|
+
super(bitgo, staticsCoin);
|
|
8
|
+
if (!staticsCoin) {
|
|
9
|
+
throw new Error('missing required constructor parameter staticsCoin');
|
|
10
|
+
}
|
|
11
|
+
this._staticsCoin = staticsCoin;
|
|
12
|
+
}
|
|
13
|
+
static createInstance(bitgo, staticsCoin) {
|
|
14
|
+
return new Tcspr(bitgo, staticsCoin);
|
|
15
|
+
}
|
|
16
|
+
getChain() {
|
|
17
|
+
return this._staticsCoin.name;
|
|
18
|
+
}
|
|
19
|
+
getFullName() {
|
|
20
|
+
return this._staticsCoin.fullName;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.Tcspr = Tcspr;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNzcHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGNzcHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBRzlCLE1BQWEsS0FBTSxTQUFRLFdBQUk7SUFHN0IsWUFBWSxLQUFnQixFQUFFLFdBQXVDO1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBeEJELHNCQXdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luLCBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ3NwciB9IGZyb20gJy4vY3Nwcic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4gfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmV4cG9ydCBjbGFzcyBUY3NwciBleHRlbmRzIENzcHIge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG5cbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGljc0NvaW4gPSBzdGF0aWNzQ29pbjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBUY3NwcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZnVsbE5hbWU7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bitgo/sdk-coin-cspr",
|
|
3
|
+
"version": "1.0.1-rc.0",
|
|
4
|
+
"description": "BitGo SDK coin library for Casper",
|
|
5
|
+
"main": "./dist/src/index.js",
|
|
6
|
+
"types": "./dist/src/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "yarn tsc --build --incremental --verbose .",
|
|
9
|
+
"fmt": "prettier --write .",
|
|
10
|
+
"check-fmt": "prettier --check .",
|
|
11
|
+
"clean": "rm -r ./dist",
|
|
12
|
+
"lint": "eslint --quiet .",
|
|
13
|
+
"precommit": "yarn lint-staged",
|
|
14
|
+
"prepare": "npm run build",
|
|
15
|
+
"test": "npm run coverage",
|
|
16
|
+
"coverage": "nyc -- npm run unit-test",
|
|
17
|
+
"unit-test": "mocha"
|
|
18
|
+
},
|
|
19
|
+
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=14 <17"
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/BitGo/BitGoJS.git",
|
|
27
|
+
"directory": "modules/sdk-coin-cspr"
|
|
28
|
+
},
|
|
29
|
+
"lint-staged": {
|
|
30
|
+
"*.{js,ts}": [
|
|
31
|
+
"yarn prettier --write",
|
|
32
|
+
"yarn eslint --fix"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
38
|
+
"nyc": {
|
|
39
|
+
"extension": [
|
|
40
|
+
".ts"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@bitgo/sdk-core": "^1.1.0-rc.13",
|
|
45
|
+
"@bitgo/statics": "^6.18.0-rc.15",
|
|
46
|
+
"@bitgo/utxo-lib": "^2.3.0-rc.8",
|
|
47
|
+
"@ethersproject/bignumber": "^5.6.0",
|
|
48
|
+
"@stablelib/hex": "^1.0.0",
|
|
49
|
+
"bignumber.js": "^9.0.0",
|
|
50
|
+
"bip32": "^2.0.6",
|
|
51
|
+
"casper-js-sdk": "2.7.6",
|
|
52
|
+
"lodash": "^4.17.15",
|
|
53
|
+
"secp256k1": "4.0.2"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@bitgo/sdk-api": "^1.1.0-rc.16",
|
|
57
|
+
"@bitgo/sdk-test": "^1.0.1-rc.2",
|
|
58
|
+
"should": "^13.1.3",
|
|
59
|
+
"tweetnacl": "^1.0.3"
|
|
60
|
+
},
|
|
61
|
+
"gitHead": "470decafdce823e475e9d8744063556916b06839"
|
|
62
|
+
}
|