@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/CHANGELOG.md +724 -0
- package/dist/tsconfig.tsbuildinfo +1 -8709
- package/package.json +11 -11
- package/.mocharc.yml +0 -8
- package/dist/src/index.d.ts +0 -4
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -16
- package/dist/src/register.d.ts +0 -3
- package/dist/src/register.d.ts.map +0 -1
- package/dist/src/register.js +0 -11
- package/dist/src/ripple.d.ts +0 -7
- package/dist/src/ripple.d.ts.map +0 -1
- package/dist/src/ripple.js +0 -90
- package/dist/src/txrp.d.ts +0 -24
- package/dist/src/txrp.d.ts.map +0 -1
- package/dist/src/txrp.js +0 -32
- package/dist/src/xrp.d.ts +0 -152
- package/dist/src/xrp.d.ts.map +0 -1
- package/dist/src/xrp.js +0 -502
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-xrp",
|
|
3
|
-
"version": "1.3.3-alpha.
|
|
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": ">=
|
|
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.
|
|
44
|
-
"@bitgo-beta/
|
|
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-
|
|
48
|
-
"ripple-
|
|
49
|
-
"
|
|
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.
|
|
54
|
-
"@bitgo-beta/sdk-test": "^1.
|
|
53
|
+
"@bitgo-beta/sdk-api": "1.6.1-alpha.404",
|
|
54
|
+
"@bitgo-beta/sdk-test": "^9.1.1"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "2b67af7f803199038ec5cc7d183db3c8f95d8f77"
|
|
57
57
|
}
|
package/.mocharc.yml
DELETED
package/dist/src/index.d.ts
DELETED
package/dist/src/index.d.ts.map
DELETED
|
@@ -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=
|
package/dist/src/register.d.ts
DELETED
|
@@ -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"}
|
package/dist/src/register.js
DELETED
|
@@ -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==
|
package/dist/src/ripple.d.ts
DELETED
package/dist/src/ripple.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/src/ripple.js
DELETED
|
@@ -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==
|
package/dist/src/txrp.d.ts
DELETED
|
@@ -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
|
package/dist/src/txrp.d.ts.map
DELETED
|
@@ -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
|
package/dist/src/xrp.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xrp.d.ts","sourceRoot":"","sources":["../../src/xrp.ts"],"names":[],"mappings":"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"}
|