@bitgo-beta/sdk-coin-xrp 1.3.3-alpha.40 → 1.3.3-alpha.401

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-xrp",
3
- "version": "1.3.3-alpha.40",
3
+ "version": "1.3.3-alpha.401",
4
4
  "description": "BitGo SDK coin library for Ripple",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "author": "BitGo SDK Team <sdkteam@bitgo.com>",
19
19
  "license": "MIT",
20
20
  "engines": {
21
- "node": ">=14 <17"
21
+ "node": ">=20 <23"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
@@ -40,18 +40,18 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@bitgo-beta/sdk-core": "2.4.1-alpha.40",
44
- "@bitgo-beta/utxo-lib": "4.0.1-alpha.40",
43
+ "@bitgo-beta/sdk-core": "2.4.1-alpha.404",
44
+ "@bitgo-beta/secp256k1": "1.0.1-alpha.362",
45
+ "@bitgo-beta/statics": "10.0.1-alpha.404",
45
46
  "bignumber.js": "^9.0.0",
46
47
  "lodash": "^4.17.14",
47
- "ripple-address-codec": "~4.1.3",
48
- "ripple-binary-codec": "~0.2.4",
49
- "ripple-keypairs": "^0.11.0",
50
- "ripple-lib": "~1.4.1"
48
+ "ripple-binary-codec": "2.1.0",
49
+ "ripple-keypairs": "2.0.0",
50
+ "xrpl": "4.0.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@bitgo-beta/sdk-api": "1.6.1-alpha.40",
54
- "@bitgo-beta/sdk-test": "^1.2.15"
53
+ "@bitgo-beta/sdk-api": "1.6.1-alpha.404",
54
+ "@bitgo-beta/sdk-test": "^9.1.1"
55
55
  },
56
- "gitHead": "87ab899d3a9d7705605ada595f9b3d1ec48f0a9a"
56
+ "gitHead": "2b67af7f803199038ec5cc7d183db3c8f95d8f77"
57
57
  }
package/.mocharc.yml DELETED
@@ -1,8 +0,0 @@
1
- require: 'ts-node/register'
2
- timeout: '60000'
3
- reporter: 'min'
4
- reporter-option:
5
- - 'cdn=true'
6
- - 'json=false'
7
- exit: true
8
- spec: ['test/unit/*.ts', 'test/unit/**/*.ts']
@@ -1,4 +0,0 @@
1
- export * from './xrp';
2
- export * from './txrp';
3
- export * from './register';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/src/index.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./xrp"), exports);
14
- __exportStar(require("./txrp"), exports);
15
- __exportStar(require("./register"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3hycCc7XG5leHBvcnQgKiBmcm9tICcuL3R4cnAnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { BitGoBase } from '@bitgo-beta/sdk-core';
2
- export declare const register: (sdk: BitGoBase) => void;
3
- //# sourceMappingURL=register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAGzC,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.register = void 0;
4
- const txrp_1 = require("./txrp");
5
- const xrp_1 = require("./xrp");
6
- const register = (sdk) => {
7
- sdk.register('xrp', xrp_1.Xrp.createInstance);
8
- sdk.register('txrp', txrp_1.Txrp.createInstance);
9
- };
10
- exports.register = register;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBQzlCLCtCQUE0QjtBQUVyQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDO0FBSFcsUUFBQSxRQUFRLFlBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHhycCB9IGZyb20gJy4vdHhycCc7XG5pbXBvcnQgeyBYcnAgfSBmcm9tICcuL3hycCc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlciA9IChzZGs6IEJpdEdvQmFzZSk6IHZvaWQgPT4ge1xuICBzZGsucmVnaXN0ZXIoJ3hycCcsIFhycC5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndHhycCcsIFR4cnAuY3JlYXRlSW5zdGFuY2UpO1xufTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- /**
2
- * @hidden
3
- */
4
- import * as ripple from 'ripple-lib';
5
- declare const _default: (params: any) => ripple.RippleAPI;
6
- export = _default;
7
- //# sourceMappingURL=ripple.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../src/ripple.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;yCA+DlB,OAAO,SAAS;AAAnC,kBAIE"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
- /**
3
- * @hidden
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
- /**
25
- */
26
- const rippleKeypairs = __importStar(require("ripple-keypairs"));
27
- const ripple = __importStar(require("ripple-lib"));
28
- const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
29
- const binary = __importStar(require("ripple-binary-codec"));
30
- const hashes_1 = require("ripple-lib/dist/npm/common/hashes");
31
- function computeSignature(tx, privateKey, signAs) {
32
- const signingData = signAs ? binary.encodeForMultisigning(tx, signAs) : binary.encodeForSigning(tx);
33
- return rippleKeypairs.sign(signingData, privateKey);
34
- }
35
- /**
36
- * Sign Ripple transaction with a secp256k1 private key
37
- * @param txHex
38
- * @param privateKey
39
- * @param options
40
- * @returns {{signedTransaction: *, id}}
41
- */
42
- const signWithPrivateKey = function (txHex, privateKey, options) {
43
- let privateKeyBuffer = Buffer.from(privateKey, 'hex');
44
- if (privateKeyBuffer.length === 33 && privateKeyBuffer[0] === 0) {
45
- privateKeyBuffer = privateKeyBuffer.slice(1, 33);
46
- }
47
- const publicKey = utxo_lib_1.ECPair.fromPrivateKey(privateKeyBuffer).publicKey.toString('hex').toUpperCase();
48
- let tx;
49
- try {
50
- tx = binary.decode(txHex);
51
- }
52
- catch (e) {
53
- try {
54
- tx = JSON.parse(txHex);
55
- }
56
- catch (e) {
57
- throw new Error('txHex needs to be either hex or JSON string for XRP');
58
- }
59
- }
60
- if (tx.TxnSignature || tx.Signers) {
61
- throw new Error('transaction must not contain "TxnSignature" or "Signers" properties');
62
- }
63
- tx.SigningPubKey = options && options.signAs ? '' : publicKey;
64
- if (options && options.signAs) {
65
- const expectedSigner = rippleKeypairs.deriveAddress(publicKey);
66
- if (options.signAs !== expectedSigner) {
67
- throw new Error('signAs does not match private key');
68
- }
69
- const signer = {
70
- Account: options.signAs,
71
- SigningPubKey: publicKey,
72
- TxnSignature: computeSignature(tx, privateKey, options.signAs),
73
- };
74
- tx.Signers = [{ Signer: signer }];
75
- }
76
- else {
77
- tx.TxnSignature = computeSignature(tx, privateKey, undefined);
78
- }
79
- const serialized = binary.encode(tx);
80
- return {
81
- signedTransaction: serialized,
82
- id: hashes_1.computeBinaryTransactionHash(serialized),
83
- };
84
- };
85
- module.exports = (params) => {
86
- const rippleLib = new ripple.RippleAPI(params);
87
- rippleLib.signWithPrivateKey = signWithPrivateKey;
88
- return rippleLib;
89
- };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JpcHBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUg7R0FDRztBQUNILGdFQUFrRDtBQUNsRCxtREFBcUM7QUFDckMsbURBQThDO0FBRTlDLDREQUE4QztBQUM5Qyw4REFBaUY7QUFFakYsU0FBUyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU07SUFDOUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEcsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTztJQUM3RCxJQUFJLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDL0QsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNsRDtJQUNELE1BQU0sU0FBUyxHQUFHLGlCQUFNLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVsRyxJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUk7UUFDRixFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUMzQjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsSUFBSTtZQUNGLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7U0FDeEU7S0FDRjtJQUNELElBQUksRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQztLQUN4RjtJQUVELEVBQUUsQ0FBQyxhQUFhLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRTlELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDN0IsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssY0FBYyxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN0RDtRQUNELE1BQU0sTUFBTSxHQUFHO1lBQ2IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3ZCLGFBQWEsRUFBRSxTQUFTO1lBQ3hCLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0QsQ0FBQztRQUNGLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQ25DO1NBQU07UUFDTCxFQUFFLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDL0Q7SUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLE9BQU87UUFDTCxpQkFBaUIsRUFBRSxVQUFVO1FBQzdCLEVBQUUsRUFBRSxxQ0FBNEIsQ0FBQyxVQUFVLENBQUM7S0FDN0MsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGlCQUFTLENBQUMsTUFBTSxFQUFvQixFQUFFO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxTQUFpQixDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQzNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGhpZGRlblxuICovXG5cbi8qKlxuICovXG5pbXBvcnQgKiBhcyByaXBwbGVLZXlwYWlycyBmcm9tICdyaXBwbGUta2V5cGFpcnMnO1xuaW1wb3J0ICogYXMgcmlwcGxlIGZyb20gJ3JpcHBsZS1saWInO1xuaW1wb3J0IHsgRUNQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgKiBhcyBiaW5hcnkgZnJvbSAncmlwcGxlLWJpbmFyeS1jb2RlYyc7XG5pbXBvcnQgeyBjb21wdXRlQmluYXJ5VHJhbnNhY3Rpb25IYXNoIH0gZnJvbSAncmlwcGxlLWxpYi9kaXN0L25wbS9jb21tb24vaGFzaGVzJztcblxuZnVuY3Rpb24gY29tcHV0ZVNpZ25hdHVyZSh0eCwgcHJpdmF0ZUtleSwgc2lnbkFzKSB7XG4gIGNvbnN0IHNpZ25pbmdEYXRhID0gc2lnbkFzID8gYmluYXJ5LmVuY29kZUZvck11bHRpc2lnbmluZyh0eCwgc2lnbkFzKSA6IGJpbmFyeS5lbmNvZGVGb3JTaWduaW5nKHR4KTtcbiAgcmV0dXJuIHJpcHBsZUtleXBhaXJzLnNpZ24oc2lnbmluZ0RhdGEsIHByaXZhdGVLZXkpO1xufVxuXG4vKipcbiAqIFNpZ24gUmlwcGxlIHRyYW5zYWN0aW9uIHdpdGggYSBzZWNwMjU2azEgcHJpdmF0ZSBrZXlcbiAqIEBwYXJhbSB0eEhleFxuICogQHBhcmFtIHByaXZhdGVLZXlcbiAqIEBwYXJhbSBvcHRpb25zXG4gKiBAcmV0dXJucyB7e3NpZ25lZFRyYW5zYWN0aW9uOiAqLCBpZH19XG4gKi9cbmNvbnN0IHNpZ25XaXRoUHJpdmF0ZUtleSA9IGZ1bmN0aW9uICh0eEhleCwgcHJpdmF0ZUtleSwgb3B0aW9ucykge1xuICBsZXQgcHJpdmF0ZUtleUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHByaXZhdGVLZXksICdoZXgnKTtcbiAgaWYgKHByaXZhdGVLZXlCdWZmZXIubGVuZ3RoID09PSAzMyAmJiBwcml2YXRlS2V5QnVmZmVyWzBdID09PSAwKSB7XG4gICAgcHJpdmF0ZUtleUJ1ZmZlciA9IHByaXZhdGVLZXlCdWZmZXIuc2xpY2UoMSwgMzMpO1xuICB9XG4gIGNvbnN0IHB1YmxpY0tleSA9IEVDUGFpci5mcm9tUHJpdmF0ZUtleShwcml2YXRlS2V5QnVmZmVyKS5wdWJsaWNLZXkudG9TdHJpbmcoJ2hleCcpLnRvVXBwZXJDYXNlKCk7XG5cbiAgbGV0IHR4O1xuICB0cnkge1xuICAgIHR4ID0gYmluYXJ5LmRlY29kZSh0eEhleCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0cnkge1xuICAgICAgdHggPSBKU09OLnBhcnNlKHR4SGV4KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3R4SGV4IG5lZWRzIHRvIGJlIGVpdGhlciBoZXggb3IgSlNPTiBzdHJpbmcgZm9yIFhSUCcpO1xuICAgIH1cbiAgfVxuICBpZiAodHguVHhuU2lnbmF0dXJlIHx8IHR4LlNpZ25lcnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYW5zYWN0aW9uIG11c3Qgbm90IGNvbnRhaW4gXCJUeG5TaWduYXR1cmVcIiBvciBcIlNpZ25lcnNcIiBwcm9wZXJ0aWVzJyk7XG4gIH1cblxuICB0eC5TaWduaW5nUHViS2V5ID0gb3B0aW9ucyAmJiBvcHRpb25zLnNpZ25BcyA/ICcnIDogcHVibGljS2V5O1xuXG4gIGlmIChvcHRpb25zICYmIG9wdGlvbnMuc2lnbkFzKSB7XG4gICAgY29uc3QgZXhwZWN0ZWRTaWduZXIgPSByaXBwbGVLZXlwYWlycy5kZXJpdmVBZGRyZXNzKHB1YmxpY0tleSk7XG4gICAgaWYgKG9wdGlvbnMuc2lnbkFzICE9PSBleHBlY3RlZFNpZ25lcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaWduQXMgZG9lcyBub3QgbWF0Y2ggcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gICAgY29uc3Qgc2lnbmVyID0ge1xuICAgICAgQWNjb3VudDogb3B0aW9ucy5zaWduQXMsXG4gICAgICBTaWduaW5nUHViS2V5OiBwdWJsaWNLZXksXG4gICAgICBUeG5TaWduYXR1cmU6IGNvbXB1dGVTaWduYXR1cmUodHgsIHByaXZhdGVLZXksIG9wdGlvbnMuc2lnbkFzKSxcbiAgICB9O1xuICAgIHR4LlNpZ25lcnMgPSBbeyBTaWduZXI6IHNpZ25lciB9XTtcbiAgfSBlbHNlIHtcbiAgICB0eC5UeG5TaWduYXR1cmUgPSBjb21wdXRlU2lnbmF0dXJlKHR4LCBwcml2YXRlS2V5LCB1bmRlZmluZWQpO1xuICB9XG5cbiAgY29uc3Qgc2VyaWFsaXplZCA9IGJpbmFyeS5lbmNvZGUodHgpO1xuICByZXR1cm4ge1xuICAgIHNpZ25lZFRyYW5zYWN0aW9uOiBzZXJpYWxpemVkLFxuICAgIGlkOiBjb21wdXRlQmluYXJ5VHJhbnNhY3Rpb25IYXNoKHNlcmlhbGl6ZWQpLFxuICB9O1xufTtcblxuZXhwb3J0ID0gKHBhcmFtcyk6IHJpcHBsZS5SaXBwbGVBUEkgPT4ge1xuICBjb25zdCByaXBwbGVMaWIgPSBuZXcgcmlwcGxlLlJpcHBsZUFQSShwYXJhbXMpO1xuICAocmlwcGxlTGliIGFzIGFueSkuc2lnbldpdGhQcml2YXRlS2V5ID0gc2lnbldpdGhQcml2YXRlS2V5O1xuICByZXR1cm4gcmlwcGxlTGliO1xufTtcbiJdfQ==
@@ -1,24 +0,0 @@
1
- /**
2
- * Testnet XRP
3
- *
4
- * @format
5
- */
6
- import { BaseCoin, BitGoBase } from '@bitgo-beta/sdk-core';
7
- import { Xrp } from './xrp';
8
- export declare class Txrp extends Xrp {
9
- protected constructor(bitgo: BitGoBase);
10
- static createInstance(bitgo: BitGoBase): BaseCoin;
11
- /**
12
- * Identifier for the blockchain which supports this coin
13
- */
14
- getChain(): string;
15
- /**
16
- * URL of a well-known, public facing (non-bitgo) rippled instance which can be used for recovery
17
- */
18
- getRippledUrl(): string;
19
- /**
20
- * Complete human-readable name of this coin
21
- */
22
- getFullName(): string;
23
- }
24
- //# sourceMappingURL=txrp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"txrp.d.ts","sourceRoot":"","sources":["../../src/txrp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,qBAAa,IAAK,SAAQ,GAAG;IAC3B,SAAS,aAAa,KAAK,EAAE,SAAS;IAItC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ;IAGjD;;OAEG;IACI,QAAQ,IAAI,MAAM;IAIzB;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACI,WAAW,IAAI,MAAM;CAG7B"}
package/dist/src/txrp.js DELETED
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Txrp = void 0;
4
- const xrp_1 = require("./xrp");
5
- class Txrp extends xrp_1.Xrp {
6
- constructor(bitgo) {
7
- super(bitgo);
8
- }
9
- static createInstance(bitgo) {
10
- return new Txrp(bitgo);
11
- }
12
- /**
13
- * Identifier for the blockchain which supports this coin
14
- */
15
- getChain() {
16
- return 'txrp';
17
- }
18
- /**
19
- * URL of a well-known, public facing (non-bitgo) rippled instance which can be used for recovery
20
- */
21
- getRippledUrl() {
22
- return 'https://s.altnet.rippletest.net:51234';
23
- }
24
- /**
25
- * Complete human-readable name of this coin
26
- */
27
- getFullName() {
28
- return 'Testnet Ripple';
29
- }
30
- }
31
- exports.Txrp = Txrp;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhycC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eHJwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLCtCQUE0QjtBQUU1QixNQUFhLElBQUssU0FBUSxTQUFHO0lBQzNCLFlBQXNCLEtBQWdCO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsT0FBTyx1Q0FBdUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBNUJELG9CQTRCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGVzdG5ldCBYUlBcbiAqXG4gKiBAZm9ybWF0XG4gKi9cbmltcG9ydCB7IEJhc2VDb2luLCBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBYcnAgfSBmcm9tICcuL3hycCc7XG5cbmV4cG9ydCBjbGFzcyBUeHJwIGV4dGVuZHMgWHJwIHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UpIHtcbiAgICBzdXBlcihiaXRnbyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFR4cnAoYml0Z28pO1xuICB9XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIGZvciB0aGUgYmxvY2tjaGFpbiB3aGljaCBzdXBwb3J0cyB0aGlzIGNvaW5cbiAgICovXG4gIHB1YmxpYyBnZXRDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAndHhycCc7XG4gIH1cblxuICAvKipcbiAgICogVVJMIG9mIGEgd2VsbC1rbm93biwgcHVibGljIGZhY2luZyAobm9uLWJpdGdvKSByaXBwbGVkIGluc3RhbmNlIHdoaWNoIGNhbiBiZSB1c2VkIGZvciByZWNvdmVyeVxuICAgKi9cbiAgcHVibGljIGdldFJpcHBsZWRVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2h0dHBzOi8vcy5hbHRuZXQucmlwcGxldGVzdC5uZXQ6NTEyMzQnO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlIGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhpcyBjb2luXG4gICAqL1xuICBwdWJsaWMgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1Rlc3RuZXQgUmlwcGxlJztcbiAgfVxufVxuIl19
package/dist/src/xrp.d.ts DELETED
@@ -1,152 +0,0 @@
1
- /// <reference types="node" />
2
- import { BaseCoin, BitGoBase, InitiateRecoveryOptions as BaseInitiateRecoveryOptions, KeyPair, ParsedTransaction, ParseTransactionOptions, SignTransactionOptions as BaseSignTransactionOptions, TransactionExplanation, TransactionPrebuild, VerifyAddressOptions as BaseVerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
3
- interface Address {
4
- address: string;
5
- destinationTag?: number;
6
- }
7
- interface FeeInfo {
8
- date: string;
9
- height: number;
10
- baseReserve: string;
11
- baseFee: string;
12
- }
13
- interface SignTransactionOptions extends BaseSignTransactionOptions {
14
- txPrebuild: TransactionPrebuild;
15
- prv: string;
16
- }
17
- interface ExplainTransactionOptions {
18
- txHex?: string;
19
- }
20
- interface VerifyAddressOptions extends BaseVerifyAddressOptions {
21
- rootAddress: string;
22
- }
23
- interface RecoveryInfo extends TransactionExplanation {
24
- txHex: string;
25
- backupKey?: string;
26
- coin?: string;
27
- }
28
- export interface InitiateRecoveryOptions extends BaseInitiateRecoveryOptions {
29
- krsProvider?: string;
30
- }
31
- export interface RecoveryOptions {
32
- backupKey: string;
33
- userKey: string;
34
- rootAddress: string;
35
- recoveryDestination: string;
36
- bitgoKey?: string;
37
- walletPassphrase: string;
38
- krsProvider?: string;
39
- }
40
- interface HalfSignedTransaction {
41
- halfSigned: {
42
- txHex: string;
43
- };
44
- }
45
- interface SupplementGenerateWalletOptions {
46
- rootPrivateKey?: string;
47
- }
48
- export declare class Xrp extends BaseCoin {
49
- protected constructor(bitgo: BitGoBase);
50
- static createInstance(bitgo: BitGoBase): BaseCoin;
51
- /**
52
- * Factor between the coin's base unit and its smallest subdivison
53
- */
54
- getBaseFactor(): number;
55
- /**
56
- * Identifier for the blockchain which supports this coin
57
- */
58
- getChain(): string;
59
- /**
60
- * Identifier for the coin family
61
- */
62
- getFamily(): string;
63
- /**
64
- * Complete human-readable name of this coin
65
- */
66
- getFullName(): string;
67
- /**
68
- * Parse an address string into address and destination tag
69
- */
70
- getAddressDetails(address: string): Address;
71
- /**
72
- * Construct a full, normalized address from an address and destination tag
73
- */
74
- normalizeAddress({ address, destinationTag }: Address): string;
75
- /**
76
- * Evaluates whether an address string is valid for this coin
77
- * @param address
78
- */
79
- isValidAddress(address: string): boolean;
80
- /**
81
- * Return boolean indicating whether input is valid public key for the coin.
82
- *
83
- * @param {String} pub the pub to be checked
84
- * @returns {Boolean} is it valid?
85
- */
86
- isValidPub(pub: string): boolean;
87
- /**
88
- * Get fee info from server
89
- */
90
- getFeeInfo(): Promise<FeeInfo>;
91
- /**
92
- * Assemble keychain and half-sign prebuilt transaction
93
- * @param params
94
- * - txPrebuild
95
- * - prv
96
- * @returns Bluebird<HalfSignedTransaction>
97
- */
98
- signTransaction({ txPrebuild, prv }: SignTransactionOptions): Promise<HalfSignedTransaction>;
99
- /**
100
- * Ripple requires additional parameters for wallet generation to be sent to the server. The additional parameters are
101
- * the root public key, which is the basis of the root address, two signed, and one half-signed initialization txs
102
- * @param walletParams
103
- * - rootPrivateKey: optional hex-encoded Ripple private key
104
- */
105
- supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions): Promise<SupplementGenerateWalletOptions>;
106
- /**
107
- * Explain/parse transaction
108
- * @param params
109
- */
110
- explainTransaction(params?: ExplainTransactionOptions): Promise<TransactionExplanation>;
111
- /**
112
- * Verify that a transaction prebuild complies with the original intention
113
- * @param txParams params object passed to send
114
- * @param txPrebuild prebuild object returned by server
115
- * @param wallet
116
- * @returns {boolean}
117
- */
118
- verifyTransaction({ txParams, txPrebuild }: VerifyTransactionOptions): Promise<boolean>;
119
- /**
120
- * Check if address is a valid XRP address, and then make sure the root addresses match.
121
- * This prevents attacks where an attack may switch out the new address for one of their own
122
- * @param address {String} the address to verify
123
- * @param rootAddress {String} the wallet's root address
124
- * @return true iff address is a wallet address (based on rootAddress)
125
- */
126
- isWalletAddress({ address, rootAddress }: VerifyAddressOptions): Promise<boolean>;
127
- /**
128
- * URL of a well-known, public facing (non-bitgo) rippled instance which can be used for recovery
129
- */
130
- getRippledUrl(): string;
131
- /**
132
- * Builds a funds recovery transaction without BitGo
133
- * @param params
134
- * - rootAddress: root XRP wallet address to recover funds from
135
- * - userKey: [encrypted] xprv
136
- * - backupKey: [encrypted] xprv, or xpub if the xprv is held by a KRS provider
137
- * - walletPassphrase: necessary if one of the xprvs is encrypted
138
- * - bitgoKey: xpub
139
- * - krsProvider: necessary if backup key is held by KRS
140
- * - recoveryDestination: target address to send recovered funds to
141
- */
142
- recover(params: RecoveryOptions): Promise<RecoveryInfo | string>;
143
- initiateRecovery(params: InitiateRecoveryOptions): never;
144
- /**
145
- * Generate a new keypair for this coin.
146
- * @param seed Seed from which the new keypair should be generated, otherwise a random seed is used
147
- */
148
- generateKeyPair(seed?: Buffer): KeyPair;
149
- parseTransaction(params: ParseTransactionOptions): Promise<ParsedTransaction>;
150
- }
151
- export {};
152
- //# sourceMappingURL=xrp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xrp.d.ts","sourceRoot":"","sources":["../../src/xrp.ts"],"names":[],"mappings":"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"}