@okxweb3/coin-xrp 2.4.0-beta.0 → 2.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/XrpWallet.d.ts +2 -2
- package/dist/XrpWallet.js +37 -26
- package/dist/XrpWallet.js.map +1 -1
- package/dist/common.d.ts +6 -6
- package/dist/common.js +28 -15
- package/dist/common.js.map +1 -1
- package/dist/const.js +11 -6
- package/dist/const.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/dist/XrpWallet.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseWallet, CalcTxHashParams, GetDerivedPathParam, NewAddressParams, SignCommonMsgParams, SignTxParams, ValidAddressParams, ValidPrivateKeyParams, VerifyMessageParams } from
|
|
2
|
-
import { DerivePriKeyParams } from
|
|
1
|
+
import { BaseWallet, CalcTxHashParams, GetDerivedPathParam, NewAddressParams, SignCommonMsgParams, SignTxParams, ValidAddressParams, ValidPrivateKeyParams, VerifyMessageParams } from '@okxweb3/coin-base';
|
|
2
|
+
import { DerivePriKeyParams } from './common';
|
|
3
3
|
export declare class XrpWallet extends BaseWallet {
|
|
4
4
|
getDerivedPath(param: GetDerivedPathParam): Promise<any>;
|
|
5
5
|
getRandomPrivateKey(): Promise<any>;
|
package/dist/XrpWallet.js
CHANGED
|
@@ -41,21 +41,22 @@ class XrpWallet extends coin_base_1.BaseWallet {
|
|
|
41
41
|
validPrivateKey(param) {
|
|
42
42
|
const data = {
|
|
43
43
|
isValid: this.checkPrivateKey(param.privateKey),
|
|
44
|
-
privateKey: param.privateKey
|
|
44
|
+
privateKey: param.privateKey,
|
|
45
45
|
};
|
|
46
46
|
return Promise.resolve(data);
|
|
47
47
|
}
|
|
48
48
|
checkPrivateKey(privateKey) {
|
|
49
49
|
if ((0, coin_base_1.isHexStr)(privateKey)) {
|
|
50
50
|
const keyBytes = coin_base_2.base.fromHex(privateKey.toLowerCase());
|
|
51
|
-
if (keyBytes.every(byte => byte === 0)) {
|
|
51
|
+
if (keyBytes.every((byte) => byte === 0)) {
|
|
52
52
|
return false;
|
|
53
53
|
}
|
|
54
54
|
if (keyBytes.length == 33) {
|
|
55
|
-
if (!privateKey.toUpperCase().startsWith(const_1.PREFIX_ED25519) &&
|
|
55
|
+
if (!privateKey.toUpperCase().startsWith(const_1.PREFIX_ED25519) &&
|
|
56
|
+
!privateKey.toUpperCase().startsWith(const_1.PREFIX_SECP256K1)) {
|
|
56
57
|
return false;
|
|
57
58
|
}
|
|
58
|
-
return keyBytes.slice(1).some(b => b !== 0);
|
|
59
|
+
return keyBytes.slice(1).some((b) => b !== 0);
|
|
59
60
|
}
|
|
60
61
|
return false;
|
|
61
62
|
}
|
|
@@ -84,7 +85,7 @@ class XrpWallet extends coin_base_1.BaseWallet {
|
|
|
84
85
|
}
|
|
85
86
|
return Promise.resolve({
|
|
86
87
|
address: w.address,
|
|
87
|
-
publicKey: w.publicKey
|
|
88
|
+
publicKey: w.publicKey,
|
|
88
89
|
});
|
|
89
90
|
}
|
|
90
91
|
catch (e) {
|
|
@@ -92,30 +93,40 @@ class XrpWallet extends coin_base_1.BaseWallet {
|
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
signTransaction(param) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
try {
|
|
97
|
+
if (!param.privateKey) {
|
|
98
|
+
return Promise.reject(coin_base_1.InvalidPrivateKeyError);
|
|
99
|
+
}
|
|
100
|
+
const privateKey = param.privateKey;
|
|
101
|
+
const w = (0, common_1.createWallet)(privateKey);
|
|
102
|
+
const xrpParam = param.data;
|
|
103
|
+
const tx = (0, common_1.convertTxParam)(xrpParam, w.address);
|
|
104
|
+
return Promise.resolve(w.sign(tx));
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
return Promise.reject(coin_base_1.SignTxError);
|
|
108
|
+
}
|
|
100
109
|
}
|
|
101
110
|
validAddress(param) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return Promise.resolve(res);
|
|
109
|
-
}
|
|
110
|
-
res.isValid = (0, xrpl_1.isValidClassicAddress)(param.address) || (0, xrpl_1.isValidXAddress)(param.address);
|
|
111
|
-
return Promise.resolve(res);
|
|
111
|
+
const hasValidPrefix = param.address.startsWith('r') || param.address.startsWith('X');
|
|
112
|
+
const isValid = !(0, common_1.isInValidAddress)(param.address) && hasValidPrefix;
|
|
113
|
+
return Promise.resolve({
|
|
114
|
+
isValid,
|
|
115
|
+
address: param.address,
|
|
116
|
+
});
|
|
112
117
|
}
|
|
113
118
|
calcTxHash(param) {
|
|
114
119
|
return Promise.resolve(xrpl_1.hashes.hashSignedTx(param.data));
|
|
115
120
|
}
|
|
116
|
-
signMessage(param) {
|
|
117
|
-
if (!
|
|
118
|
-
return Promise.reject(
|
|
121
|
+
async signMessage(param) {
|
|
122
|
+
if (!param.privateKey) {
|
|
123
|
+
return Promise.reject(`${coin_base_1.InvalidPrivateKeyError}: cannot be empty`);
|
|
124
|
+
}
|
|
125
|
+
const { isValid } = await this.validPrivateKey({
|
|
126
|
+
privateKey: param.privateKey,
|
|
127
|
+
});
|
|
128
|
+
if (!isValid) {
|
|
129
|
+
return Promise.reject(`${coin_base_1.InvalidPrivateKeyError}: not valid private key`);
|
|
119
130
|
}
|
|
120
131
|
const w = (0, common_1.createWallet)(param.privateKey);
|
|
121
132
|
const msg = param.data;
|
|
@@ -128,14 +139,14 @@ class XrpWallet extends coin_base_1.BaseWallet {
|
|
|
128
139
|
signCommonMsg(params) {
|
|
129
140
|
const w = (0, common_1.createWallet)(params.privateKey);
|
|
130
141
|
if (w.privateKey.length != 66) {
|
|
131
|
-
return Promise.reject(
|
|
142
|
+
return Promise.reject('Invalid private key');
|
|
132
143
|
}
|
|
133
144
|
if ((0, common_1.isEd25519PrivateKey)(w.privateKey)) {
|
|
134
145
|
return super.signCommonMsg({
|
|
135
146
|
privateKey: w.privateKey,
|
|
136
147
|
privateKeyHex: w.privateKey.slice(2),
|
|
137
148
|
message: params.message,
|
|
138
|
-
signType: coin_base_1.SignType.ED25519
|
|
149
|
+
signType: coin_base_1.SignType.ED25519,
|
|
139
150
|
});
|
|
140
151
|
}
|
|
141
152
|
else {
|
|
@@ -143,7 +154,7 @@ class XrpWallet extends coin_base_1.BaseWallet {
|
|
|
143
154
|
privateKey: w.privateKey,
|
|
144
155
|
privateKeyHex: w.privateKey.slice(2),
|
|
145
156
|
message: params.message,
|
|
146
|
-
signType: coin_base_1.SignType.Secp256k1
|
|
157
|
+
signType: coin_base_1.SignType.Secp256k1,
|
|
147
158
|
});
|
|
148
159
|
}
|
|
149
160
|
}
|
package/dist/XrpWallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XrpWallet.js","sourceRoot":"","sources":["../src/XrpWallet.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"XrpWallet.js","sourceRoot":"","sources":["../src/XrpWallet.ts"],"names":[],"mappings":"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"}
|
package/dist/common.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { TrustSet, Wallet } from
|
|
2
|
-
import { Amount, IssuedCurrencyAmount, Memo, MPTAmount, Path, Signer } from
|
|
3
|
-
import { Payment, PaymentFlagsInterface } from
|
|
4
|
-
import { Account, GlobalFlags } from
|
|
5
|
-
import ECDSA from
|
|
1
|
+
import { TrustSet, Wallet } from 'xrpl';
|
|
2
|
+
import { Amount, IssuedCurrencyAmount, Memo, MPTAmount, Path, Signer } from 'xrpl/src/models/common';
|
|
3
|
+
import { Payment, PaymentFlagsInterface } from 'xrpl/src/models/transactions/payment';
|
|
4
|
+
import { Account, GlobalFlags } from 'xrpl/src/models/transactions/common';
|
|
5
|
+
import ECDSA from 'xrpl/src/ECDSA';
|
|
6
6
|
export type DerivePriKeyParams = {
|
|
7
7
|
mnemonic: string;
|
|
8
8
|
hdPath: string;
|
|
@@ -11,7 +11,7 @@ export type DerivePriKeyParams = {
|
|
|
11
11
|
algorithm?: ECDSA;
|
|
12
12
|
};
|
|
13
13
|
export type XrpParam = {
|
|
14
|
-
type:
|
|
14
|
+
type: 'transfer' | 'TrustSet';
|
|
15
15
|
base: XrpBasePram;
|
|
16
16
|
data: any;
|
|
17
17
|
};
|
package/dist/common.js
CHANGED
|
@@ -7,24 +7,35 @@ const coin_base_2 = require("@okxweb3/coin-base");
|
|
|
7
7
|
const xrpl_1 = require("xrpl");
|
|
8
8
|
const const_1 = require("./const");
|
|
9
9
|
function isInValidAddress(addr) {
|
|
10
|
-
|
|
10
|
+
if (const_1.INVALID_ADDRESS.includes(addr)) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return !(0, xrpl_1.isValidClassicAddress)(addr) && !(0, xrpl_1.isValidXAddress)(addr);
|
|
11
14
|
}
|
|
12
15
|
exports.isInValidAddress = isInValidAddress;
|
|
13
16
|
function convertTxParam(xrpParam, account) {
|
|
14
17
|
const baseParm = xrpParam.base;
|
|
15
18
|
const tx = convertTxParamInner(xrpParam, account);
|
|
16
19
|
if (baseParm.lastLedgerSequence) {
|
|
17
|
-
tx.LastLedgerSequence =
|
|
20
|
+
tx.LastLedgerSequence =
|
|
21
|
+
typeof baseParm.lastLedgerSequence == 'string'
|
|
22
|
+
? Number(baseParm.lastLedgerSequence)
|
|
23
|
+
: baseParm.lastLedgerSequence;
|
|
18
24
|
}
|
|
19
25
|
return tx;
|
|
20
26
|
}
|
|
21
27
|
exports.convertTxParam = convertTxParam;
|
|
22
28
|
function convertTxParamInner(xrpParam, account) {
|
|
23
29
|
const baseParm = xrpParam.base;
|
|
24
|
-
const sequence = typeof baseParm.sequence == 'string'
|
|
30
|
+
const sequence = typeof baseParm.sequence == 'string'
|
|
31
|
+
? Number(baseParm.sequence)
|
|
32
|
+
: baseParm.sequence;
|
|
25
33
|
switch (xrpParam.type) {
|
|
26
|
-
case
|
|
34
|
+
case 'transfer': {
|
|
27
35
|
const txP = xrpParam.data;
|
|
36
|
+
if (isInValidAddress(txP.destination)) {
|
|
37
|
+
throw new Error(`Invalid destination address: ${txP.destination}`);
|
|
38
|
+
}
|
|
28
39
|
const tx = {
|
|
29
40
|
TransactionType: 'Payment',
|
|
30
41
|
Account: account,
|
|
@@ -42,7 +53,7 @@ function convertTxParamInner(xrpParam, account) {
|
|
|
42
53
|
};
|
|
43
54
|
return tx;
|
|
44
55
|
}
|
|
45
|
-
case
|
|
56
|
+
case 'TrustSet': {
|
|
46
57
|
const txP = xrpParam.data;
|
|
47
58
|
const tx = {
|
|
48
59
|
TransactionType: 'TrustSet',
|
|
@@ -61,21 +72,23 @@ function convertTxParamInner(xrpParam, account) {
|
|
|
61
72
|
}
|
|
62
73
|
}
|
|
63
74
|
function isSecp256PrivateKey(privateKey) {
|
|
64
|
-
return (0, coin_base_1.isHexStr)(privateKey) && privateKey.startsWith(
|
|
75
|
+
return (0, coin_base_1.isHexStr)(privateKey) && privateKey.startsWith('00');
|
|
65
76
|
}
|
|
66
77
|
exports.isSecp256PrivateKey = isSecp256PrivateKey;
|
|
67
78
|
function isEd25519PrivateKey(privateKey) {
|
|
68
|
-
return (0, coin_base_1.isHexStr)(privateKey) &&
|
|
79
|
+
return ((0, coin_base_1.isHexStr)(privateKey) &&
|
|
80
|
+
(privateKey.startsWith('ED') || privateKey.startsWith('ed')));
|
|
69
81
|
}
|
|
70
82
|
exports.isEd25519PrivateKey = isEd25519PrivateKey;
|
|
71
83
|
function createWallet(seedOrPrivate, addressType) {
|
|
72
84
|
if ((0, coin_base_1.isHexStr)(seedOrPrivate)) {
|
|
73
85
|
let pubKeyHex;
|
|
74
|
-
if (seedOrPrivate.startsWith(
|
|
86
|
+
if (seedOrPrivate.startsWith('00') && seedOrPrivate.length == 66) {
|
|
75
87
|
let pubKey = crypto_lib_1.signUtil.secp256k1.publicKeyCreate(coin_base_2.base.fromHex(seedOrPrivate.slice(2)), true);
|
|
76
88
|
pubKeyHex = coin_base_2.base.toHex(pubKey);
|
|
77
89
|
}
|
|
78
|
-
else if (seedOrPrivate.startsWith(
|
|
90
|
+
else if (seedOrPrivate.startsWith('ED') &&
|
|
91
|
+
seedOrPrivate.length == 66) {
|
|
79
92
|
let pubKey = crypto_lib_1.signUtil.ed25519.publicKeyCreate(coin_base_2.base.fromHex(seedOrPrivate.slice(2)));
|
|
80
93
|
pubKeyHex = 'ED' + coin_base_2.base.toHex(pubKey);
|
|
81
94
|
}
|
|
@@ -90,14 +103,14 @@ function createWallet(seedOrPrivate, addressType) {
|
|
|
90
103
|
}
|
|
91
104
|
exports.createWallet = createWallet;
|
|
92
105
|
function transferMsgPayload(msg) {
|
|
93
|
-
let fullMessage =
|
|
94
|
-
fullMessage = fullMessage.concat(
|
|
95
|
-
fullMessage = fullMessage.concat(
|
|
96
|
-
fullMessage = fullMessage.concat(
|
|
106
|
+
let fullMessage = '';
|
|
107
|
+
fullMessage = fullMessage.concat('messageId: ', msg.messageId);
|
|
108
|
+
fullMessage = fullMessage.concat('\nurl: ', msg.url);
|
|
109
|
+
fullMessage = fullMessage.concat('\ntitle: ', msg.title);
|
|
97
110
|
if (msg.favicon) {
|
|
98
|
-
fullMessage = fullMessage.concat(
|
|
111
|
+
fullMessage = fullMessage.concat('\nfavicon: ', msg.favicon);
|
|
99
112
|
}
|
|
100
|
-
fullMessage = fullMessage.concat(
|
|
113
|
+
fullMessage = fullMessage.concat('\nmessage: ', msg.message);
|
|
101
114
|
const textEncoder = new TextEncoder();
|
|
102
115
|
return coin_base_2.base.toHex(Buffer.from(textEncoder.encode(fullMessage)));
|
|
103
116
|
}
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
package/dist/const.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PREFIX_SECP256K1 = exports.PREFIX_ED25519 = exports.INVALID_ADDRESS = exports.ZERO_SEED_SECP256 = exports.ZERO_SEED_ED25519 = void 0;
|
|
4
|
-
exports.ZERO_SEED_ED25519 =
|
|
5
|
-
exports.ZERO_SEED_SECP256 =
|
|
6
|
-
exports.INVALID_ADDRESS = [
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
exports.ZERO_SEED_ED25519 = 'sEdSJHS4oiAdz7w2X2ni1gFiqtbJHqE';
|
|
5
|
+
exports.ZERO_SEED_SECP256 = 'sp6JS7f14BuwFY8Mw6bTtLKWauoUs';
|
|
6
|
+
exports.INVALID_ADDRESS = [
|
|
7
|
+
'rrrrrrrrrrrrrrrrrrrrrhoLvTp',
|
|
8
|
+
'rrrrrrrrrrrrrrrrrrrrBZbvji',
|
|
9
|
+
'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
|
|
10
|
+
'rrrrrrrrrrrrrrrrrNAMEtxvNvQ',
|
|
11
|
+
'rrrrrrrrrrrrrrrrrrrn5RM1rHd',
|
|
12
|
+
];
|
|
13
|
+
exports.PREFIX_ED25519 = 'ED';
|
|
14
|
+
exports.PREFIX_SECP256K1 = '00';
|
|
10
15
|
//# sourceMappingURL=const.js.map
|
package/dist/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,iCAAiC,CAAC;AACtD,QAAA,iBAAiB,GAAG,+BAA+B,CAAC;AAIpD,QAAA,eAAe,GAAG;IAC3B,6BAA6B;IAC7B,4BAA4B;IAC5B,oCAAoC;IACpC,6BAA6B;IAC7B,6BAA6B;CAChC,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,gBAAgB,GAAG,IAAI,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './XrpWallet';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@okxweb3/coin-xrp",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.9",
|
|
4
4
|
"description": "An XRP SDK for building Web3 wallets and applications.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"build": "run-s clean build:main",
|
|
9
9
|
"build:main": "tsc -p tsconfig.json",
|
|
10
10
|
"clean": "rimraf dist tsconfig.tsbuildinfo",
|
|
11
|
+
"prepublishOnly": "node ../../scripts/dep-version-check.js",
|
|
11
12
|
"test": "jest",
|
|
12
13
|
"test:watch": "jest --watch",
|
|
13
14
|
"test:coverage": "jest --coverage",
|
|
@@ -40,8 +41,8 @@
|
|
|
40
41
|
"nock": "^14.0.4"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
|
-
"@okxweb3/coin-base": "2.0.
|
|
44
|
-
"@okxweb3/crypto-lib": "2.0.
|
|
44
|
+
"@okxweb3/coin-base": "^2.0.6",
|
|
45
|
+
"@okxweb3/crypto-lib": "2.0.5",
|
|
45
46
|
"ripple-keypairs": "2.0.0",
|
|
46
47
|
"xrpl": "4.2.5"
|
|
47
48
|
}
|