@ledgerhq/coin-xrp 0.9.2 → 1.0.0-nightly.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.
- package/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +11 -10
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.integ.test.js +35 -36
- package/lib/api/index.integ.test.js.map +1 -1
- package/lib/api/index.js +65 -50
- package/lib/api/index.js.map +1 -1
- package/lib/api/index.test.js +66 -44
- package/lib/api/index.test.js.map +1 -1
- package/lib/bridge/broadcast.js +3 -12
- package/lib/bridge/broadcast.js.map +1 -1
- package/lib/bridge/estimateMaxSpendable.js +9 -14
- package/lib/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib/bridge/getTransactionStatus.js +4 -13
- package/lib/bridge/getTransactionStatus.js.map +1 -1
- package/lib/bridge/prepareTransaction.js +4 -13
- package/lib/bridge/prepareTransaction.js.map +1 -1
- package/lib/bridge/signOperation.js +60 -68
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/bridge/synchronization.js +32 -45
- package/lib/bridge/synchronization.js.map +1 -1
- package/lib/bridge/synchronization.test.js +21 -17
- package/lib/bridge/synchronization.test.js.map +1 -1
- package/lib/bridge/transaction.js +16 -4
- package/lib/bridge/transaction.js.map +1 -1
- package/lib/logic/broadcast.js +8 -19
- package/lib/logic/broadcast.js.map +1 -1
- package/lib/logic/broadcast.test.js +6 -15
- package/lib/logic/broadcast.test.js.map +1 -1
- package/lib/logic/combine.js +2 -2
- package/lib/logic/combine.js.map +1 -1
- package/lib/logic/craftTransaction.js +28 -34
- package/lib/logic/craftTransaction.js.map +1 -1
- package/lib/logic/craftTransaction.test.js +8 -17
- package/lib/logic/craftTransaction.test.js.map +1 -1
- package/lib/logic/estimateFees.js +17 -28
- package/lib/logic/estimateFees.js.map +1 -1
- package/lib/logic/estimateFees.test.js +10 -19
- package/lib/logic/estimateFees.test.js.map +1 -1
- package/lib/logic/getBalance.js +3 -14
- package/lib/logic/getBalance.js.map +1 -1
- package/lib/logic/getBalance.test.js +4 -13
- package/lib/logic/getBalance.test.js.map +1 -1
- package/lib/logic/lastBlock.js +7 -18
- package/lib/logic/lastBlock.js.map +1 -1
- package/lib/logic/listOperations.d.ts +15 -5
- package/lib/logic/listOperations.d.ts.map +1 -1
- package/lib/logic/listOperations.js +84 -71
- package/lib/logic/listOperations.js.map +1 -1
- package/lib/logic/listOperations.test.js +66 -62
- package/lib/logic/listOperations.test.js.map +1 -1
- package/lib/logic/utils.js +9 -18
- package/lib/logic/utils.js.map +1 -1
- package/lib/logic/utils.test.js +9 -18
- package/lib/logic/utils.test.js.map +1 -1
- package/lib/network/index.d.ts +6 -3
- package/lib/network/index.d.ts.map +1 -1
- package/lib/network/index.js +40 -48
- package/lib/network/index.js.map +1 -1
- package/lib/network/index.test.js +9 -18
- package/lib/network/index.test.js.map +1 -1
- package/lib/network/types.d.ts +5 -0
- package/lib/network/types.d.ts.map +1 -1
- package/lib/network/types.js.map +1 -1
- package/lib/signer/getAddress.js +3 -12
- package/lib/signer/getAddress.js.map +1 -1
- package/lib/test/cli.js +5 -1
- package/lib/test/cli.js.map +1 -1
- package/lib-es/api/index.d.ts.map +1 -1
- package/lib-es/api/index.integ.test.js +35 -36
- package/lib-es/api/index.integ.test.js.map +1 -1
- package/lib-es/api/index.js +65 -50
- package/lib-es/api/index.js.map +1 -1
- package/lib-es/api/index.test.js +66 -44
- package/lib-es/api/index.test.js.map +1 -1
- package/lib-es/bridge/broadcast.js +3 -12
- package/lib-es/bridge/broadcast.js.map +1 -1
- package/lib-es/bridge/estimateMaxSpendable.js +9 -14
- package/lib-es/bridge/estimateMaxSpendable.js.map +1 -1
- package/lib-es/bridge/getTransactionStatus.js +4 -13
- package/lib-es/bridge/getTransactionStatus.js.map +1 -1
- package/lib-es/bridge/prepareTransaction.js +4 -13
- package/lib-es/bridge/prepareTransaction.js.map +1 -1
- package/lib-es/bridge/signOperation.js +60 -68
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/bridge/synchronization.js +32 -45
- package/lib-es/bridge/synchronization.js.map +1 -1
- package/lib-es/bridge/synchronization.test.js +21 -17
- package/lib-es/bridge/synchronization.test.js.map +1 -1
- package/lib-es/bridge/transaction.js +16 -4
- package/lib-es/bridge/transaction.js.map +1 -1
- package/lib-es/logic/broadcast.js +8 -19
- package/lib-es/logic/broadcast.js.map +1 -1
- package/lib-es/logic/broadcast.test.js +6 -15
- package/lib-es/logic/broadcast.test.js.map +1 -1
- package/lib-es/logic/combine.js +2 -2
- package/lib-es/logic/combine.js.map +1 -1
- package/lib-es/logic/craftTransaction.js +28 -34
- package/lib-es/logic/craftTransaction.js.map +1 -1
- package/lib-es/logic/craftTransaction.test.js +8 -17
- package/lib-es/logic/craftTransaction.test.js.map +1 -1
- package/lib-es/logic/estimateFees.js +17 -28
- package/lib-es/logic/estimateFees.js.map +1 -1
- package/lib-es/logic/estimateFees.test.js +10 -19
- package/lib-es/logic/estimateFees.test.js.map +1 -1
- package/lib-es/logic/getBalance.js +3 -14
- package/lib-es/logic/getBalance.js.map +1 -1
- package/lib-es/logic/getBalance.test.js +4 -13
- package/lib-es/logic/getBalance.test.js.map +1 -1
- package/lib-es/logic/lastBlock.js +7 -18
- package/lib-es/logic/lastBlock.js.map +1 -1
- package/lib-es/logic/listOperations.d.ts +15 -5
- package/lib-es/logic/listOperations.d.ts.map +1 -1
- package/lib-es/logic/listOperations.js +84 -71
- package/lib-es/logic/listOperations.js.map +1 -1
- package/lib-es/logic/listOperations.test.js +66 -62
- package/lib-es/logic/listOperations.test.js.map +1 -1
- package/lib-es/logic/utils.js +9 -18
- package/lib-es/logic/utils.js.map +1 -1
- package/lib-es/logic/utils.test.js +9 -18
- package/lib-es/logic/utils.test.js.map +1 -1
- package/lib-es/network/index.d.ts +6 -3
- package/lib-es/network/index.d.ts.map +1 -1
- package/lib-es/network/index.js +39 -47
- package/lib-es/network/index.js.map +1 -1
- package/lib-es/network/index.test.js +9 -18
- package/lib-es/network/index.test.js.map +1 -1
- package/lib-es/network/types.d.ts +5 -0
- package/lib-es/network/types.d.ts.map +1 -1
- package/lib-es/network/types.js.map +1 -1
- package/lib-es/signer/getAddress.js +3 -12
- package/lib-es/signer/getAddress.js.map +1 -1
- package/lib-es/test/cli.js +5 -1
- package/lib-es/test/cli.js.map +1 -1
- package/package.json +7 -6
- package/src/api/index.integ.test.ts +12 -6
- package/src/api/index.test.ts +119 -75
- package/src/api/index.ts +62 -10
- package/src/bridge/synchronization.test.ts +31 -15
- package/src/logic/listOperations.test.ts +104 -85
- package/src/logic/listOperations.ts +47 -34
- package/src/network/index.ts +21 -8
- package/src/network/types.ts +6 -0
- package/tsconfig.json +0 -1
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { AccountInfo } from "../types/model";
|
|
2
|
-
import { type
|
|
2
|
+
import { Marker, type AccountTxResponse, type LedgerResponse, type ServerInfoResponse, type SubmitReponse } from "./types";
|
|
3
3
|
export declare const NEW_ACCOUNT_ERROR_MESSAGE = "actNotFound";
|
|
4
4
|
export declare const submit: (signature: string) => Promise<SubmitReponse>;
|
|
5
5
|
export declare const getAccountInfo: (recipient: string, current?: boolean) => Promise<AccountInfo>;
|
|
6
6
|
export declare const getServerInfos: () => Promise<ServerInfoResponse>;
|
|
7
|
-
export
|
|
7
|
+
export type GetTransactionsOptions = {
|
|
8
8
|
ledger_index_min?: number;
|
|
9
9
|
ledger_index_max?: number;
|
|
10
10
|
limit?: number;
|
|
11
|
-
|
|
11
|
+
marker?: Marker;
|
|
12
|
+
forward: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare const getTransactions: (address: string, options: GetTransactionsOptions | undefined) => Promise<AccountTxResponse>;
|
|
12
15
|
export declare function getLedger(): Promise<LedgerResponse>;
|
|
13
16
|
export declare function getLedgerIndex(): Promise<number>;
|
|
14
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAGL,MAAM,EAEN,KAAK,iBAAiB,EAEtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AAEvD,eAAO,MAAM,MAAM,cAAqB,MAAM,KAAG,OAAO,CAAC,aAAa,CAErE,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,MAAM,YACP,OAAO,KAChB,OAAO,CAAC,WAAW,CAoCrB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,kBAAkB,CAEjE,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,eAAe,YACjB,MAAM,WACN,sBAAsB,GAAG,SAAS,KAC1C,OAAO,CAAC,iBAAiB,CAW3B,CAAC;AAEF,wBAAsB,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,CAEzD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAItD"}
|
package/lib-es/network/index.js
CHANGED
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import network from "@ledgerhq/live-network";
|
|
11
2
|
import coinConfig from "../config";
|
|
12
3
|
import { isErrorResponse, isResponseStatus, } from "./types";
|
|
13
4
|
const getNodeUrl = () => coinConfig.getCoinConfig().node;
|
|
14
5
|
export const NEW_ACCOUNT_ERROR_MESSAGE = "actNotFound";
|
|
15
|
-
export const submit = (signature) =>
|
|
6
|
+
export const submit = async (signature) => {
|
|
16
7
|
return rpcCall("submit", { tx_blob: signature });
|
|
17
|
-
}
|
|
18
|
-
export const getAccountInfo = (recipient, current) =>
|
|
19
|
-
const { data: { result }, } =
|
|
8
|
+
};
|
|
9
|
+
export const getAccountInfo = async (recipient, current) => {
|
|
10
|
+
const { data: { result }, } = await network({
|
|
20
11
|
method: "POST",
|
|
21
12
|
url: getNodeUrl(),
|
|
22
13
|
data: {
|
|
@@ -48,44 +39,45 @@ export const getAccountInfo = (recipient, current) => __awaiter(void 0, void 0,
|
|
|
48
39
|
sequence: result.account_data.Sequence,
|
|
49
40
|
};
|
|
50
41
|
}
|
|
51
|
-
}
|
|
52
|
-
export const getServerInfos = () =>
|
|
42
|
+
};
|
|
43
|
+
export const getServerInfos = async () => {
|
|
53
44
|
return rpcCall("server_info", { ledger_index: "validated" });
|
|
54
|
-
}
|
|
55
|
-
export const getTransactions = (address, options) =>
|
|
56
|
-
const result =
|
|
57
|
-
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return rpcCall("ledger", { ledger_index: "validated" });
|
|
45
|
+
};
|
|
46
|
+
export const getTransactions = async (address, options) => {
|
|
47
|
+
const result = await rpcCall("account_tx", {
|
|
48
|
+
account: address,
|
|
49
|
+
// this property controls the order of the transactions
|
|
50
|
+
// looks like there is a bug in LL (https://ledgerhq.atlassian.net/browse/LIVE-16705)
|
|
51
|
+
// so we need to set it to false (newest first) to get the transactions in the right order
|
|
52
|
+
// for lama-adapter we need to set it to true (oldest first)
|
|
53
|
+
...options,
|
|
54
|
+
api_version: 2,
|
|
65
55
|
});
|
|
56
|
+
return result;
|
|
57
|
+
};
|
|
58
|
+
export async function getLedger() {
|
|
59
|
+
return rpcCall("ledger", { ledger_index: "validated" });
|
|
66
60
|
}
|
|
67
|
-
export function getLedgerIndex() {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return result.ledger_index;
|
|
71
|
-
});
|
|
61
|
+
export async function getLedgerIndex() {
|
|
62
|
+
const result = await getLedger();
|
|
63
|
+
return result.ledger_index;
|
|
72
64
|
}
|
|
73
|
-
function rpcCall(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
if (isResponseStatus(result) && result.status !== "success") {
|
|
86
|
-
throw new Error(`couldn't fetch ${method} with params ${JSON.stringify(params)}`);
|
|
87
|
-
}
|
|
88
|
-
return result;
|
|
65
|
+
async function rpcCall(method, params = {}) {
|
|
66
|
+
const { data: { result }, } = await network({
|
|
67
|
+
method: "POST",
|
|
68
|
+
url: getNodeUrl(),
|
|
69
|
+
data: {
|
|
70
|
+
method,
|
|
71
|
+
params: [
|
|
72
|
+
{
|
|
73
|
+
...params,
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
},
|
|
89
77
|
});
|
|
78
|
+
if (isResponseStatus(result) && result.status !== "success") {
|
|
79
|
+
throw new Error(`couldn't fetch ${method} with params ${JSON.stringify(params)}`);
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
90
82
|
}
|
|
91
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import network from "@ledgerhq/live-network";
|
|
11
2
|
import { getAccountInfo } from ".";
|
|
12
3
|
import coinConfig from "../config";
|
|
@@ -17,7 +8,7 @@ describe("getAccountInfo", () => {
|
|
|
17
8
|
node: "",
|
|
18
9
|
}));
|
|
19
10
|
});
|
|
20
|
-
it("returns an empty AccountInfo when returns an error 'actNotFound'", () =>
|
|
11
|
+
it("returns an empty AccountInfo when returns an error 'actNotFound'", async () => {
|
|
21
12
|
// Given
|
|
22
13
|
const emptyAddress = "rNCgVpHinUDjXP2vHDFDMjm7ssBwpveHya";
|
|
23
14
|
network.mockResolvedValue({
|
|
@@ -40,7 +31,7 @@ describe("getAccountInfo", () => {
|
|
|
40
31
|
},
|
|
41
32
|
});
|
|
42
33
|
// When
|
|
43
|
-
const result =
|
|
34
|
+
const result = await getAccountInfo(emptyAddress);
|
|
44
35
|
// Then
|
|
45
36
|
expect(result).toEqual({
|
|
46
37
|
isNewAccount: true,
|
|
@@ -48,8 +39,8 @@ describe("getAccountInfo", () => {
|
|
|
48
39
|
ownerCount: 0,
|
|
49
40
|
sequence: 0,
|
|
50
41
|
});
|
|
51
|
-
})
|
|
52
|
-
it("returns a valid AccountInfo when return a correct AccountInfo", () =>
|
|
42
|
+
});
|
|
43
|
+
it("returns a valid AccountInfo when return a correct AccountInfo", async () => {
|
|
53
44
|
// Given
|
|
54
45
|
const address = "rh1HPuRVsYYvThxG2Bs1MfjmrVC73S16Fb";
|
|
55
46
|
network.mockResolvedValue({
|
|
@@ -74,7 +65,7 @@ describe("getAccountInfo", () => {
|
|
|
74
65
|
},
|
|
75
66
|
});
|
|
76
67
|
// When
|
|
77
|
-
const result =
|
|
68
|
+
const result = await getAccountInfo(address);
|
|
78
69
|
// Then
|
|
79
70
|
expect(result).toEqual({
|
|
80
71
|
isNewAccount: false,
|
|
@@ -82,8 +73,8 @@ describe("getAccountInfo", () => {
|
|
|
82
73
|
ownerCount: 0,
|
|
83
74
|
sequence: 153743,
|
|
84
75
|
});
|
|
85
|
-
})
|
|
86
|
-
it("throws an error when backend returns any other error", () =>
|
|
76
|
+
});
|
|
77
|
+
it("throws an error when backend returns any other error", async () => {
|
|
87
78
|
// Given
|
|
88
79
|
const invalidAddress = "rNCgVpHinUDjXP2vHDFDMjm7ssBwpveHyaa";
|
|
89
80
|
network.mockResolvedValue({
|
|
@@ -103,7 +94,7 @@ describe("getAccountInfo", () => {
|
|
|
103
94
|
},
|
|
104
95
|
});
|
|
105
96
|
// When & Then
|
|
106
|
-
|
|
107
|
-
})
|
|
97
|
+
await expect(getAccountInfo(invalidAddress)).rejects.toThrow("Cannot read properties of undefined (reading 'result')");
|
|
98
|
+
});
|
|
108
99
|
});
|
|
109
100
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/network/index.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/network/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,6 +161,10 @@ export type ServerInfoResponse = {
|
|
|
161
161
|
validation_quorum: number;
|
|
162
162
|
};
|
|
163
163
|
} & ResponseStatus;
|
|
164
|
+
export type Marker = {
|
|
165
|
+
ledger: number;
|
|
166
|
+
seq: number;
|
|
167
|
+
};
|
|
164
168
|
export type AccountTxResponse = {
|
|
165
169
|
account: string;
|
|
166
170
|
ledger_index_max: number;
|
|
@@ -168,6 +172,7 @@ export type AccountTxResponse = {
|
|
|
168
172
|
limit: number;
|
|
169
173
|
transactions: XrplOperation[];
|
|
170
174
|
validated: boolean;
|
|
175
|
+
marker?: Marker;
|
|
171
176
|
} & ResponseStatus;
|
|
172
177
|
export type LedgerResponse = {
|
|
173
178
|
ledger: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE;QACJ,aAAa,EAAE;YACb,YAAY,EAAE;gBACZ,WAAW,EAAE;oBACX,OAAO,EAAE,MAAM,CAAC;oBAChB,OAAO,EAAE,MAAM,CAAC;oBAChB,KAAK,EAAE,MAAM,CAAC;oBACd,UAAU,EAAE,MAAM,CAAC;oBACnB,QAAQ,EAAE,MAAM,CAAC;iBAClB,CAAC;gBACF,eAAe,EAAE,MAAM,CAAC;gBACxB,WAAW,EAAE,MAAM,CAAC;gBACpB,cAAc,EAAE;oBACd,OAAO,EAAE,MAAM,CAAC;iBACjB,CAAC;gBACF,aAAa,EAAE,MAAM,CAAC;gBACtB,iBAAiB,EAAE,MAAM,CAAC;aAC3B,CAAC;SACH,EAAE,CAAC;QACJ,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAE3B,KAAK,CAAC,EAAE;YACN,IAAI,EAAE;gBACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,UAAU,CAAC,EAAE,MAAM,CAAC;gBACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;aACnB,CAAC;SACH,EAAE,CAAC;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACjC;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACN,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,CAEnE;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC;AACtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa,EAAE;QACb,sBAAsB,EAAE,OAAO,CAAC;QAChC,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,qBAAqB,EAAE,OAAO,CAAC;QAC/B,4BAA4B,EAAE,OAAO,CAAC;QACtC,uBAAuB,EAAE,OAAO,CAAC;QACjC,yBAAyB,EAAE,OAAO,CAAC;QACnC,mBAAmB,EAAE,OAAO,CAAC;QAC7B,YAAY,EAAE,OAAO,CAAC;QACtB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,0BAA0B,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,CAAC,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,wBAAwB,EAAE,MAAM,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE;YACV,eAAe,EAAE,MAAM,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,0BAA0B,EAAE,MAAM,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;SAAE,EAAE,CAAC;QAC9D,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,wBAAwB,EAAE,MAAM,CAAC;QACjC,gBAAgB,EAAE,MAAM,CACtB,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,EAC9D;YACE,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;SACrB,CACF,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE;YAChB,GAAG,EAAE,MAAM,CAAC;YACZ,YAAY,EAAE,MAAM,CAAC;YACrB,IAAI,EAAE,MAAM,CAAC;YACb,gBAAgB,EAAE,MAAM,CAAC;YACzB,eAAe,EAAE,MAAM,CAAC;YACxB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AA4DA,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,QAAQ,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,CAAC;AAC3C,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/network/types.ts"],"names":[],"mappings":"AA4DA,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,QAAQ,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,CAAC;AAC3C,CAAC;AA+JD,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,IAAI,GAAG,CAAC;AACrE,CAAC"}
|
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
const getAddress = (signerContext) => {
|
|
11
|
-
return
|
|
12
|
-
const { address, publicKey } = (
|
|
2
|
+
return async (deviceId, { path, verify }) => {
|
|
3
|
+
const { address, publicKey } = (await signerContext(deviceId, signer => signer.getAddress(path, verify, false)));
|
|
13
4
|
return {
|
|
14
5
|
path,
|
|
15
6
|
address,
|
|
16
7
|
publicKey,
|
|
17
8
|
};
|
|
18
|
-
}
|
|
9
|
+
};
|
|
19
10
|
};
|
|
20
11
|
export default getAddress;
|
|
21
12
|
//# sourceMappingURL=getAddress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,GAAG,CAAC,aAAuC,EAAgB,EAAE;IAC3E,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACrE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CACvC,CAAe,CAAC;QAEjB,OAAO;YACL,IAAI;YACJ,OAAO;YACP,SAAS;SACV,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/lib-es/test/cli.js
CHANGED
|
@@ -14,7 +14,11 @@ const options = [
|
|
|
14
14
|
function inferTransactions(transactions, opts, { inferAmount, }) {
|
|
15
15
|
return transactions.flatMap(({ transaction, account }) => {
|
|
16
16
|
invariant(transaction.family === "xrp", "XRP family");
|
|
17
|
-
return
|
|
17
|
+
return {
|
|
18
|
+
...transaction,
|
|
19
|
+
fee: inferAmount(account, opts.fee || "0.001xrp"),
|
|
20
|
+
tag: opts.tag,
|
|
21
|
+
};
|
|
18
22
|
});
|
|
19
23
|
}
|
|
20
24
|
export default function makeCliTools() {
|
package/lib-es/test/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/test/cli.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAKlC,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,cAAc;KACrB;IACD;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;KACnB;CACF,CAAC;AAEF,SAAS,iBAAiB,CACxB,YAGE,EACF,IAAuD,EACvD,EACE,WAAW,GAC2E;IAExF,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACvD,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,KAAK,EAAE,YAAY,CAAC,CAAC;QACtD,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/test/cli.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAKlC,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,cAAc;KACrB;IACD;QACE,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;KACnB;CACF,CAAC;AAEF,SAAS,iBAAiB,CACxB,YAGE,EACF,IAAuD,EACvD,EACE,WAAW,GAC2E;IAExF,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACvD,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,KAAK,EAAE,YAAY,CAAC,CAAC;QACtD,OAAO;YACL,GAAG,WAAW;YACd,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC;YACjD,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,OAAO;QACL,OAAO;QACP,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/coin-xrp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-nightly.1",
|
|
4
4
|
"description": "Ledger XRP Coin integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -104,12 +104,13 @@
|
|
|
104
104
|
"ripple-address-codec": "^5.0.0",
|
|
105
105
|
"ripple-binary-codec": "^1.3.0",
|
|
106
106
|
"rxjs": "^7.8.1",
|
|
107
|
-
"@ledgerhq/coin-framework": "^0.
|
|
108
|
-
"@ledgerhq/cryptoassets": "^13.10.0",
|
|
107
|
+
"@ledgerhq/coin-framework": "^1.0.0-nightly.1",
|
|
108
|
+
"@ledgerhq/cryptoassets": "^13.10.0-nightly.1",
|
|
109
109
|
"@ledgerhq/devices": "8.4.4",
|
|
110
110
|
"@ledgerhq/errors": "^6.19.1",
|
|
111
111
|
"@ledgerhq/live-network": "^2.0.4",
|
|
112
|
-
"@ledgerhq/types-live": "^6.
|
|
112
|
+
"@ledgerhq/types-live": "^6.58.0",
|
|
113
|
+
"@ledgerhq/logs": "^6.12.0"
|
|
113
114
|
},
|
|
114
115
|
"devDependencies": {
|
|
115
116
|
"@faker-js/faker": "^8.4.1",
|
|
@@ -125,11 +126,11 @@
|
|
|
125
126
|
},
|
|
126
127
|
"scripts": {
|
|
127
128
|
"clean": "rimraf lib lib-es",
|
|
128
|
-
"build": "tsc && tsc -m
|
|
129
|
+
"build": "tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es",
|
|
129
130
|
"coverage": "jest --coverage --testPathIgnorePatterns='/bridge.integration.test.ts|node_modules|lib-es|lib/' --passWithNoTests && mv coverage/coverage-final.json coverage/coverage-xrp.json",
|
|
130
131
|
"prewatch": "pnpm build",
|
|
131
132
|
"watch": "tsc --watch",
|
|
132
|
-
"watch:es": "tsc --watch -m
|
|
133
|
+
"watch:es": "tsc --watch -m esnext --moduleResolution bundler --outDir lib-es",
|
|
133
134
|
"doc": "documentation readme src/** --section=API --pe ts --re ts --re d.ts",
|
|
134
135
|
"lint": "eslint ./src --no-error-on-unmatched-pattern --ext .ts,.tsx --cache",
|
|
135
136
|
"lint:fix": "pnpm lint --fix",
|
|
@@ -6,6 +6,7 @@ import { sign } from "ripple-keypairs";
|
|
|
6
6
|
describe("Xrp Api", () => {
|
|
7
7
|
let module: Api;
|
|
8
8
|
const address = "rh1HPuRVsYYvThxG2Bs1MfjmrVC73S16Fb";
|
|
9
|
+
const bigAddress = "rUxSkt6hQpWxXQwTNRUCYYRQ7BC2yRA3F8"; // An account with more that 4000 txs
|
|
9
10
|
const emptyAddress = "rKtXXTVno77jhu6tto1MAXjepyuaKaLcqB"; // Account with no transaction (at the time of this writing)
|
|
10
11
|
const xrpPubKey = process.env["PUB_KEY"]!;
|
|
11
12
|
const xrpSecretKey = process.env["SECRET_KEY"]!;
|
|
@@ -30,7 +31,7 @@ describe("Xrp Api", () => {
|
|
|
30
31
|
describe("listOperations", () => {
|
|
31
32
|
it("returns a list regarding address parameter", async () => {
|
|
32
33
|
// When
|
|
33
|
-
const [tx, _] = await module.listOperations(address, {
|
|
34
|
+
const [tx, _] = await module.listOperations(address, { minHeight: 200 });
|
|
34
35
|
|
|
35
36
|
// Then
|
|
36
37
|
expect(tx.length).toBe(200);
|
|
@@ -42,15 +43,20 @@ describe("Xrp Api", () => {
|
|
|
42
43
|
});
|
|
43
44
|
});
|
|
44
45
|
|
|
45
|
-
it("returns
|
|
46
|
+
it("returns all operations", async () => {
|
|
46
47
|
// When
|
|
47
|
-
const [tx,
|
|
48
|
-
const [tx2, _] = await module.listOperations(address, { limit: 200, start: idx });
|
|
49
|
-
tx.push(...tx2);
|
|
50
|
-
|
|
48
|
+
const [tx, _] = await module.listOperations(bigAddress, { minHeight: 0 });
|
|
51
49
|
// Then
|
|
52
50
|
const checkSet = new Set(tx.map(elt => elt.hash));
|
|
53
51
|
expect(checkSet.size).toEqual(tx.length);
|
|
52
|
+
// the first transaction is returned
|
|
53
|
+
expect(tx[0].block.height).toEqual(73126713);
|
|
54
|
+
expect(tx[0].hash.toUpperCase).toEqual(
|
|
55
|
+
"0FC3792449E5B1E431D45E3606017D10EC1FECC8EDF988A98E36B8FE0C33ACAE",
|
|
56
|
+
);
|
|
57
|
+
// 200 is the default XRP explorer hard limit,
|
|
58
|
+
// so here we are checking that this limit is bypassed
|
|
59
|
+
expect(tx.length).toBeGreaterThan(200);
|
|
54
60
|
});
|
|
55
61
|
});
|
|
56
62
|
|