@ledgerhq/live-common 34.37.0-next.2 → 34.37.0-next.3
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/lib/__tests__/test-helpers/bridge.d.ts.map +1 -1
- package/lib/__tests__/test-helpers/bridge.js +1 -5
- package/lib/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib/bridge/impl.d.ts.map +1 -1
- package/lib/bridge/impl.js +1 -20
- package/lib/bridge/impl.js.map +1 -1
- package/lib/families/xrp/setup.d.ts +6 -3
- package/lib/families/xrp/setup.d.ts.map +1 -1
- package/lib/families/xrp/setup.js +7 -1
- package/lib/families/xrp/setup.js.map +1 -1
- package/lib/generated/bridge/js.d.ts +1 -0
- package/lib/generated/bridge/js.d.ts.map +1 -1
- package/lib/generated/bridge/js.js +6 -4
- package/lib/generated/bridge/js.js.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js +1 -5
- package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib-es/bridge/impl.d.ts.map +1 -1
- package/lib-es/bridge/impl.js +1 -20
- package/lib-es/bridge/impl.js.map +1 -1
- package/lib-es/families/xrp/setup.d.ts +6 -3
- package/lib-es/families/xrp/setup.d.ts.map +1 -1
- package/lib-es/families/xrp/setup.js +7 -2
- package/lib-es/families/xrp/setup.js.map +1 -1
- package/lib-es/generated/bridge/js.d.ts +1 -0
- package/lib-es/generated/bridge/js.d.ts.map +1 -1
- package/lib-es/generated/bridge/js.js +2 -0
- package/lib-es/generated/bridge/js.js.map +1 -1
- package/package.json +42 -42
- package/src/__tests__/test-helpers/bridge.ts +2 -3
- package/src/bridge/impl.ts +1 -24
- package/src/families/xrp/setup.ts +15 -2
- package/src/generated/bridge/js.ts +2 -0
- package/lib/bridge/generic-alpaca/accountBridge.d.ts +0 -3
- package/lib/bridge/generic-alpaca/accountBridge.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/accountBridge.js +0 -34
- package/lib/bridge/generic-alpaca/accountBridge.js.map +0 -1
- package/lib/bridge/generic-alpaca/alpaca/index.d.ts +0 -3
- package/lib/bridge/generic-alpaca/alpaca/index.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/alpaca/index.js +0 -20
- package/lib/bridge/generic-alpaca/alpaca/index.js.map +0 -1
- package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +0 -16
- package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js +0 -123
- package/lib/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +0 -1
- package/lib/bridge/generic-alpaca/broadcast.d.ts +0 -3
- package/lib/bridge/generic-alpaca/broadcast.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/broadcast.js +0 -11
- package/lib/bridge/generic-alpaca/broadcast.js.map +0 -1
- package/lib/bridge/generic-alpaca/createTransaction.d.ts +0 -16
- package/lib/bridge/generic-alpaca/createTransaction.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/createTransaction.js +0 -20
- package/lib/bridge/generic-alpaca/createTransaction.js.map +0 -1
- package/lib/bridge/generic-alpaca/currencyBridge.d.ts +0 -3
- package/lib/bridge/generic-alpaca/currencyBridge.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/currencyBridge.js +0 -20
- package/lib/bridge/generic-alpaca/currencyBridge.js.map +0 -1
- package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts +0 -3
- package/lib/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/estimateMaxSpendable.js +0 -26
- package/lib/bridge/generic-alpaca/estimateMaxSpendable.js.map +0 -1
- package/lib/bridge/generic-alpaca/getAccountShape.d.ts +0 -3
- package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/getAccountShape.js +0 -58
- package/lib/bridge/generic-alpaca/getAccountShape.js.map +0 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts +0 -3
- package/lib/bridge/generic-alpaca/getTransactionStatus.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/getTransactionStatus.js +0 -36
- package/lib/bridge/generic-alpaca/getTransactionStatus.js.map +0 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts +0 -3
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.js +0 -21
- package/lib/bridge/generic-alpaca/prepareTransaction.js.map +0 -1
- package/lib/bridge/generic-alpaca/signOperation.d.ts +0 -7
- package/lib/bridge/generic-alpaca/signOperation.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/signOperation.js +0 -49
- package/lib/bridge/generic-alpaca/signOperation.js.map +0 -1
- package/lib/bridge/generic-alpaca/signer/index.d.ts +0 -11
- package/lib/bridge/generic-alpaca/signer/index.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/signer/index.js +0 -28
- package/lib/bridge/generic-alpaca/signer/index.js.map +0 -1
- package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts +0 -5
- package/lib/bridge/generic-alpaca/signer/signTransaction.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/signer/signTransaction.js +0 -11
- package/lib/bridge/generic-alpaca/signer/signTransaction.js.map +0 -1
- package/lib/bridge/generic-alpaca/signer/types.d.ts +0 -5
- package/lib/bridge/generic-alpaca/signer/types.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/signer/types.js +0 -3
- package/lib/bridge/generic-alpaca/signer/types.js.map +0 -1
- package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts +0 -2
- package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +0 -90
- package/lib/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +0 -1
- package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts +0 -2
- package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js +0 -53
- package/lib/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +0 -1
- package/lib/bridge/generic-alpaca/tests/signOperation.test.d.ts +0 -2
- package/lib/bridge/generic-alpaca/tests/signOperation.test.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/tests/signOperation.test.js +0 -79
- package/lib/bridge/generic-alpaca/tests/signOperation.test.js.map +0 -1
- package/lib/bridge/generic-alpaca/utils.d.ts +0 -6
- package/lib/bridge/generic-alpaca/utils.d.ts.map +0 -1
- package/lib/bridge/generic-alpaca/utils.js +0 -55
- package/lib/bridge/generic-alpaca/utils.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/accountBridge.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/accountBridge.js +0 -27
- package/lib-es/bridge/generic-alpaca/accountBridge.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/alpaca/index.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/alpaca/index.js +0 -16
- package/lib-es/bridge/generic-alpaca/alpaca/index.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts +0 -16
- package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js +0 -116
- package/lib-es/bridge/generic-alpaca/alpaca/network/network-alpaca.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/broadcast.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/broadcast.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/broadcast.js +0 -7
- package/lib-es/bridge/generic-alpaca/broadcast.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.d.ts +0 -16
- package/lib-es/bridge/generic-alpaca/createTransaction.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/createTransaction.js +0 -13
- package/lib-es/bridge/generic-alpaca/createTransaction.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/currencyBridge.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/currencyBridge.js +0 -16
- package/lib-es/bridge/generic-alpaca/currencyBridge.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js +0 -19
- package/lib-es/bridge/generic-alpaca/estimateMaxSpendable.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.js +0 -51
- package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js +0 -29
- package/lib-es/bridge/generic-alpaca/getTransactionStatus.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts +0 -3
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js +0 -14
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/signOperation.d.ts +0 -7
- package/lib-es/bridge/generic-alpaca/signOperation.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/signOperation.js +0 -45
- package/lib-es/bridge/generic-alpaca/signOperation.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/signer/index.d.ts +0 -11
- package/lib-es/bridge/generic-alpaca/signer/index.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/signer/index.js +0 -21
- package/lib-es/bridge/generic-alpaca/signer/index.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts +0 -5
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.js +0 -7
- package/lib-es/bridge/generic-alpaca/signer/signTransaction.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/signer/types.d.ts +0 -5
- package/lib-es/bridge/generic-alpaca/signer/types.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/signer/types.js +0 -2
- package/lib-es/bridge/generic-alpaca/signer/types.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts +0 -2
- package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js +0 -62
- package/lib-es/bridge/generic-alpaca/tests/estimateMaxSpendable.test.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts +0 -2
- package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js +0 -48
- package/lib-es/bridge/generic-alpaca/tests/prepareTransaction.test.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/tests/signOperation.test.d.ts +0 -2
- package/lib-es/bridge/generic-alpaca/tests/signOperation.test.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js +0 -77
- package/lib-es/bridge/generic-alpaca/tests/signOperation.test.js.map +0 -1
- package/lib-es/bridge/generic-alpaca/utils.d.ts +0 -6
- package/lib-es/bridge/generic-alpaca/utils.d.ts.map +0 -1
- package/lib-es/bridge/generic-alpaca/utils.js +0 -46
- package/lib-es/bridge/generic-alpaca/utils.js.map +0 -1
- package/src/bridge/generic-alpaca/accountBridge.ts +0 -32
- package/src/bridge/generic-alpaca/alpaca/index.ts +0 -20
- package/src/bridge/generic-alpaca/alpaca/network/network-alpaca.ts +0 -182
- package/src/bridge/generic-alpaca/broadcast.ts +0 -11
- package/src/bridge/generic-alpaca/createTransaction.ts +0 -27
- package/src/bridge/generic-alpaca/currencyBridge.ts +0 -17
- package/src/bridge/generic-alpaca/estimateMaxSpendable.ts +0 -27
- package/src/bridge/generic-alpaca/getAccountShape.ts +0 -62
- package/src/bridge/generic-alpaca/getTransactionStatus.ts +0 -38
- package/src/bridge/generic-alpaca/prepareTransaction.ts +0 -22
- package/src/bridge/generic-alpaca/signOperation.ts +0 -83
- package/src/bridge/generic-alpaca/signer/index.ts +0 -33
- package/src/bridge/generic-alpaca/signer/signTransaction.ts +0 -13
- package/src/bridge/generic-alpaca/signer/types.ts +0 -4
- package/src/bridge/generic-alpaca/tests/estimateMaxSpendable.test.ts +0 -76
- package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +0 -66
- package/src/bridge/generic-alpaca/tests/signOperation.test.ts +0 -96
- package/src/bridge/generic-alpaca/utils.ts +0 -63
@@ -1,96 +0,0 @@
|
|
1
|
-
import { lastValueFrom } from "rxjs";
|
2
|
-
import { toArray } from "rxjs/operators";
|
3
|
-
import { genericSignOperation } from "../signOperation";
|
4
|
-
import { FeeNotLoaded } from "@ledgerhq/errors";
|
5
|
-
import { getAlpacaApi } from "../alpaca";
|
6
|
-
import { buildOptimisticOperation, transactionToIntent } from "../utils";
|
7
|
-
|
8
|
-
jest.mock("../alpaca", () => ({
|
9
|
-
getAlpacaApi: jest.fn(),
|
10
|
-
}));
|
11
|
-
|
12
|
-
jest.mock("../utils", () => ({
|
13
|
-
buildOptimisticOperation: jest.fn(),
|
14
|
-
transactionToIntent: jest.fn(),
|
15
|
-
}));
|
16
|
-
|
17
|
-
describe("genericSignOperation", () => {
|
18
|
-
const network = "xrp";
|
19
|
-
const kind = "local";
|
20
|
-
|
21
|
-
const mockSignerContext = jest.fn();
|
22
|
-
const mockSigner = {
|
23
|
-
getAddress: jest.fn(),
|
24
|
-
signTransaction: jest.fn(),
|
25
|
-
};
|
26
|
-
|
27
|
-
const account = {
|
28
|
-
freshAddressPath: "44'/144'/0'/0/0",
|
29
|
-
address: "rTestAddress",
|
30
|
-
} as any;
|
31
|
-
|
32
|
-
const transaction = {
|
33
|
-
amount: 100_000n,
|
34
|
-
fees: 500n,
|
35
|
-
tag: 1234,
|
36
|
-
} as any;
|
37
|
-
|
38
|
-
const deviceId = "mockDevice";
|
39
|
-
|
40
|
-
const txIntent = {
|
41
|
-
memo: {
|
42
|
-
type: "map",
|
43
|
-
memos: new Map(),
|
44
|
-
},
|
45
|
-
};
|
46
|
-
|
47
|
-
const unsignedTx = "unsignedTx";
|
48
|
-
const signedTx = "signedTx";
|
49
|
-
const pubKey = "pubKey";
|
50
|
-
|
51
|
-
beforeEach(() => {
|
52
|
-
jest.clearAllMocks();
|
53
|
-
|
54
|
-
(getAlpacaApi as jest.Mock).mockReturnValue({
|
55
|
-
craftTransaction: jest.fn().mockResolvedValue(unsignedTx),
|
56
|
-
combine: jest.fn().mockResolvedValue(signedTx),
|
57
|
-
});
|
58
|
-
|
59
|
-
(transactionToIntent as jest.Mock).mockReturnValue(txIntent);
|
60
|
-
(buildOptimisticOperation as jest.Mock).mockReturnValue({ id: "mock-op" });
|
61
|
-
|
62
|
-
mockSigner.getAddress.mockResolvedValue({ publicKey: pubKey });
|
63
|
-
mockSigner.signTransaction.mockResolvedValue("sig");
|
64
|
-
mockSignerContext.mockImplementation(async (_deviceId, cb) => cb(mockSigner));
|
65
|
-
});
|
66
|
-
|
67
|
-
it("emits full sign operation flow", async () => {
|
68
|
-
const signOperation = genericSignOperation(network, kind)(mockSignerContext);
|
69
|
-
const observable = signOperation({ account, transaction, deviceId });
|
70
|
-
|
71
|
-
const events = await lastValueFrom(observable.pipe(toArray()));
|
72
|
-
|
73
|
-
expect(events[0]).toEqual({ type: "device-signature-requested" });
|
74
|
-
expect(events[1]).toEqual({ type: "device-signature-granted" });
|
75
|
-
expect(events[2]).toEqual({
|
76
|
-
type: "signed",
|
77
|
-
signedOperation: {
|
78
|
-
operation: { id: "mock-op" },
|
79
|
-
signature: signedTx,
|
80
|
-
},
|
81
|
-
});
|
82
|
-
|
83
|
-
expect(transactionToIntent).toHaveBeenCalledWith(account, transaction);
|
84
|
-
expect(txIntent.memo.memos.get("destinationTag")).toBe("1234");
|
85
|
-
});
|
86
|
-
|
87
|
-
it("throws FeeNotLoaded if fees are missing", async () => {
|
88
|
-
const txWithoutFees = { ...transaction };
|
89
|
-
delete txWithoutFees.fees;
|
90
|
-
|
91
|
-
const signOperation = genericSignOperation(network, kind)(mockSignerContext);
|
92
|
-
const observable = signOperation({ account, transaction: txWithoutFees, deviceId });
|
93
|
-
|
94
|
-
await expect(observable.toPromise()).rejects.toThrow(FeeNotLoaded);
|
95
|
-
});
|
96
|
-
});
|
@@ -1,63 +0,0 @@
|
|
1
|
-
import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
|
2
|
-
import { Account, Operation, OperationType, TransactionCommon } from "@ledgerhq/types-live";
|
3
|
-
import {
|
4
|
-
Operation as CoreOperation,
|
5
|
-
Asset,
|
6
|
-
TransactionIntent,
|
7
|
-
} from "@ledgerhq/coin-framework/api/types";
|
8
|
-
import BigNumber from "bignumber.js";
|
9
|
-
import { fromBigNumberToBigInt } from "@ledgerhq/coin-framework/utils";
|
10
|
-
|
11
|
-
export function adaptCoreOperationToLiveOperation(
|
12
|
-
accountId: string,
|
13
|
-
op: CoreOperation<Asset>,
|
14
|
-
): Operation {
|
15
|
-
return {
|
16
|
-
id: encodeOperationId(accountId, op.tx.hash, op.type),
|
17
|
-
hash: op.tx.hash,
|
18
|
-
accountId,
|
19
|
-
type: op.type as OperationType,
|
20
|
-
value: new BigNumber(op.value.toString()),
|
21
|
-
fee: new BigNumber(op.tx.fees.toString()),
|
22
|
-
blockHash: op.tx.block.hash,
|
23
|
-
blockHeight: op.tx.block.height,
|
24
|
-
senders: op.senders,
|
25
|
-
recipients: op.recipients,
|
26
|
-
date: op.tx.date,
|
27
|
-
transactionSequenceNumber: op.details?.sequence as number,
|
28
|
-
extra: {},
|
29
|
-
};
|
30
|
-
}
|
31
|
-
|
32
|
-
export function transactionToIntent(
|
33
|
-
_account: Account,
|
34
|
-
transaction: TransactionCommon,
|
35
|
-
): TransactionIntent<any> {
|
36
|
-
return {
|
37
|
-
type: "Payment",
|
38
|
-
sender: _account.freshAddress,
|
39
|
-
recipient: transaction.recipient,
|
40
|
-
amount: fromBigNumberToBigInt(transaction.amount, BigInt(0)),
|
41
|
-
asset: null,
|
42
|
-
};
|
43
|
-
}
|
44
|
-
|
45
|
-
export const buildOptimisticOperation = (
|
46
|
-
account: Account,
|
47
|
-
transaction: TransactionCommon,
|
48
|
-
): Operation => {
|
49
|
-
return {
|
50
|
-
id: encodeOperationId(account.id, "", "OUT"),
|
51
|
-
hash: "",
|
52
|
-
type: "OUT",
|
53
|
-
value: transaction.amount,
|
54
|
-
fee: transaction["fees"] ?? BigNumber(0),
|
55
|
-
blockHash: null,
|
56
|
-
blockHeight: null,
|
57
|
-
senders: [account.freshAddress.toString()],
|
58
|
-
recipients: [transaction.recipient],
|
59
|
-
accountId: account.id,
|
60
|
-
date: new Date(),
|
61
|
-
extra: {},
|
62
|
-
};
|
63
|
-
};
|