@ledgerhq/live-common 34.54.0 → 34.54.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/lib/e2e/speculosCI.d.ts.map +1 -1
- package/lib/e2e/speculosCI.js +1 -6
- package/lib/e2e/speculosCI.js.map +1 -1
- package/lib/exchange/swap/postSwapState.d.ts.map +1 -1
- package/lib/exchange/swap/postSwapState.js +10 -6
- package/lib/exchange/swap/postSwapState.js.map +1 -1
- package/lib/exchange/swap/transactionStrategies.d.ts +2 -1
- package/lib/exchange/swap/transactionStrategies.d.ts.map +1 -1
- package/lib/exchange/swap/transactionStrategies.js +7 -6
- package/lib/exchange/swap/transactionStrategies.js.map +1 -1
- package/lib/exchange/swap/types.d.ts +3 -1
- package/lib/exchange/swap/types.d.ts.map +1 -1
- package/lib/hw/connectAppEventMapper.d.ts.map +1 -1
- package/lib/hw/connectAppEventMapper.js +21 -2
- package/lib/hw/connectAppEventMapper.js.map +1 -1
- package/lib/hw/getAppAndVersion.d.ts +3 -1
- package/lib/hw/getAppAndVersion.d.ts.map +1 -1
- package/lib/hw/getAppAndVersion.js +2 -2
- package/lib/hw/getAppAndVersion.js.map +1 -1
- package/lib/wallet-api/Exchange/SwapError.d.ts +93 -0
- package/lib/wallet-api/Exchange/SwapError.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/SwapError.js +142 -0
- package/lib/wallet-api/Exchange/SwapError.js.map +1 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.d.ts +40 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.js +112 -0
- package/lib/wallet-api/Exchange/handleSwapErrors.js.map +1 -0
- package/lib/wallet-api/Exchange/index.d.ts +4 -0
- package/lib/wallet-api/Exchange/index.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/index.js +27 -0
- package/lib/wallet-api/Exchange/index.js.map +1 -0
- package/lib/wallet-api/Exchange/parser.d.ts +46 -0
- package/lib/wallet-api/Exchange/parser.d.ts.map +1 -0
- package/lib/wallet-api/Exchange/parser.js +97 -0
- package/lib/wallet-api/Exchange/parser.js.map +1 -0
- package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
- package/lib/wallet-api/Exchange/server.js +227 -174
- package/lib/wallet-api/Exchange/server.js.map +1 -1
- package/lib/wallet-api/Exchange/tracking.d.ts +7 -6
- package/lib/wallet-api/Exchange/tracking.d.ts.map +1 -1
- package/lib/wallet-api/Exchange/tracking.js +52 -13
- package/lib/wallet-api/Exchange/tracking.js.map +1 -1
- package/lib/wallet-api/logic.d.ts +1 -1
- package/lib/wallet-api/logic.d.ts.map +1 -1
- package/lib/wallet-api/logic.js +5 -5
- package/lib/wallet-api/logic.js.map +1 -1
- package/lib/wallet-api/react.d.ts.map +1 -1
- package/lib/wallet-api/react.js +9 -6
- package/lib/wallet-api/react.js.map +1 -1
- package/lib/wallet-api/tracking.d.ts +5 -5
- package/lib/wallet-api/tracking.d.ts.map +1 -1
- package/lib/wallet-api/tracking.js +30 -10
- package/lib/wallet-api/tracking.js.map +1 -1
- package/lib-es/e2e/speculosCI.d.ts.map +1 -1
- package/lib-es/e2e/speculosCI.js +1 -6
- package/lib-es/e2e/speculosCI.js.map +1 -1
- package/lib-es/exchange/swap/postSwapState.d.ts.map +1 -1
- package/lib-es/exchange/swap/postSwapState.js +10 -6
- package/lib-es/exchange/swap/postSwapState.js.map +1 -1
- package/lib-es/exchange/swap/transactionStrategies.d.ts +2 -1
- package/lib-es/exchange/swap/transactionStrategies.d.ts.map +1 -1
- package/lib-es/exchange/swap/transactionStrategies.js +7 -6
- package/lib-es/exchange/swap/transactionStrategies.js.map +1 -1
- package/lib-es/exchange/swap/types.d.ts +3 -1
- package/lib-es/exchange/swap/types.d.ts.map +1 -1
- package/lib-es/hw/connectAppEventMapper.d.ts.map +1 -1
- package/lib-es/hw/connectAppEventMapper.js +23 -4
- package/lib-es/hw/connectAppEventMapper.js.map +1 -1
- package/lib-es/hw/getAppAndVersion.d.ts +3 -1
- package/lib-es/hw/getAppAndVersion.d.ts.map +1 -1
- package/lib-es/hw/getAppAndVersion.js +2 -2
- package/lib-es/hw/getAppAndVersion.js.map +1 -1
- package/lib-es/wallet-api/Exchange/SwapError.d.ts +93 -0
- package/lib-es/wallet-api/Exchange/SwapError.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/SwapError.js +128 -0
- package/lib-es/wallet-api/Exchange/SwapError.js.map +1 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.d.ts +40 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.js +106 -0
- package/lib-es/wallet-api/Exchange/handleSwapErrors.js.map +1 -0
- package/lib-es/wallet-api/Exchange/index.d.ts +4 -0
- package/lib-es/wallet-api/Exchange/index.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/index.js +7 -0
- package/lib-es/wallet-api/Exchange/index.js.map +1 -0
- package/lib-es/wallet-api/Exchange/parser.d.ts +46 -0
- package/lib-es/wallet-api/Exchange/parser.d.ts.map +1 -0
- package/lib-es/wallet-api/Exchange/parser.js +90 -0
- package/lib-es/wallet-api/Exchange/parser.js.map +1 -0
- package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
- package/lib-es/wallet-api/Exchange/server.js +224 -174
- package/lib-es/wallet-api/Exchange/server.js.map +1 -1
- package/lib-es/wallet-api/Exchange/tracking.d.ts +7 -6
- package/lib-es/wallet-api/Exchange/tracking.d.ts.map +1 -1
- package/lib-es/wallet-api/Exchange/tracking.js +52 -13
- package/lib-es/wallet-api/Exchange/tracking.js.map +1 -1
- package/lib-es/wallet-api/logic.d.ts +1 -1
- package/lib-es/wallet-api/logic.d.ts.map +1 -1
- package/lib-es/wallet-api/logic.js +5 -5
- package/lib-es/wallet-api/logic.js.map +1 -1
- package/lib-es/wallet-api/react.d.ts.map +1 -1
- package/lib-es/wallet-api/react.js +9 -6
- package/lib-es/wallet-api/react.js.map +1 -1
- package/lib-es/wallet-api/tracking.d.ts +5 -5
- package/lib-es/wallet-api/tracking.d.ts.map +1 -1
- package/lib-es/wallet-api/tracking.js +30 -10
- package/lib-es/wallet-api/tracking.js.map +1 -1
- package/package.json +68 -68
- package/src/e2e/speculosCI.ts +1 -6
- package/src/exchange/swap/postSwapState.ts +10 -5
- package/src/exchange/swap/transactionStrategies.ts +8 -7
- package/src/exchange/swap/types.ts +3 -1
- package/src/hw/connectAppEventMapper.ts +28 -4
- package/src/hw/getAppAndVersion.ts +2 -1
- package/src/wallet-api/Exchange/SwapError.test.ts +126 -0
- package/src/wallet-api/Exchange/SwapError.ts +159 -0
- package/src/wallet-api/Exchange/handleSwapErrors.test.ts +46 -0
- package/src/wallet-api/Exchange/handleSwapErrors.ts +161 -0
- package/src/wallet-api/Exchange/index.ts +26 -0
- package/src/wallet-api/Exchange/parser.test.ts +86 -0
- package/src/wallet-api/Exchange/parser.ts +119 -0
- package/src/wallet-api/Exchange/server.ts +289 -232
- package/src/wallet-api/Exchange/tracking.ts +56 -13
- package/src/wallet-api/logic.ts +5 -4
- package/src/wallet-api/react.ts +10 -5
- package/src/wallet-api/tracking.ts +30 -10
package/src/wallet-api/logic.ts
CHANGED
|
@@ -88,24 +88,25 @@ export async function signTransactionLogic(
|
|
|
88
88
|
},
|
|
89
89
|
) => Promise<SignedOperation>,
|
|
90
90
|
tokenCurrency?: string,
|
|
91
|
+
isEmbeddedSwap?: boolean,
|
|
91
92
|
): Promise<SignedOperation> {
|
|
92
|
-
tracking.signTransactionRequested(manifest);
|
|
93
|
+
tracking.signTransactionRequested(manifest, isEmbeddedSwap);
|
|
93
94
|
|
|
94
95
|
if (!transaction) {
|
|
95
|
-
tracking.signTransactionFail(manifest);
|
|
96
|
+
tracking.signTransactionFail(manifest, isEmbeddedSwap);
|
|
96
97
|
throw new Error("Transaction required");
|
|
97
98
|
}
|
|
98
99
|
|
|
99
100
|
const accountId = getAccountIdFromWalletAccountId(walletAccountId);
|
|
100
101
|
if (!accountId) {
|
|
101
|
-
tracking.signTransactionFail(manifest);
|
|
102
|
+
tracking.signTransactionFail(manifest, isEmbeddedSwap);
|
|
102
103
|
throw new Error(`accountId ${walletAccountId} unknown`);
|
|
103
104
|
}
|
|
104
105
|
|
|
105
106
|
const account = accounts.find(account => account.id === accountId);
|
|
106
107
|
|
|
107
108
|
if (!account) {
|
|
108
|
-
tracking.signTransactionFail(manifest);
|
|
109
|
+
tracking.signTransactionFail(manifest, isEmbeddedSwap);
|
|
109
110
|
throw new Error("Account required");
|
|
110
111
|
}
|
|
111
112
|
|
package/src/wallet-api/react.ts
CHANGED
|
@@ -806,8 +806,12 @@ export function useWalletAPIServer({
|
|
|
806
806
|
|
|
807
807
|
server.setHandler(
|
|
808
808
|
"transaction.signAndBroadcast",
|
|
809
|
-
async ({ accountId, tokenCurrency, transaction, options }) => {
|
|
809
|
+
async ({ accountId, tokenCurrency, transaction, options, meta }) => {
|
|
810
810
|
const sponsored = transaction.family === "ethereum" && transaction.sponsored;
|
|
811
|
+
// isEmbedded is passed via meta (not transaction) as it's a tracking param, not a tx property
|
|
812
|
+
const isEmbeddedSwap =
|
|
813
|
+
transaction.family === "ethereum" &&
|
|
814
|
+
(meta as { isEmbedded?: boolean } | undefined)?.isEmbedded;
|
|
811
815
|
|
|
812
816
|
const signedTransaction = await signTransactionLogic(
|
|
813
817
|
{ manifest, accounts, tracking },
|
|
@@ -824,18 +828,19 @@ export function useWalletAPIServer({
|
|
|
824
828
|
onSuccess: signedOperation => {
|
|
825
829
|
if (done) return;
|
|
826
830
|
done = true;
|
|
827
|
-
tracking.signTransactionSuccess(manifest);
|
|
831
|
+
tracking.signTransactionSuccess(manifest, isEmbeddedSwap);
|
|
828
832
|
resolve(signedOperation);
|
|
829
833
|
},
|
|
830
834
|
onError: error => {
|
|
831
835
|
if (done) return;
|
|
832
836
|
done = true;
|
|
833
|
-
tracking.signTransactionFail(manifest);
|
|
837
|
+
tracking.signTransactionFail(manifest, isEmbeddedSwap);
|
|
834
838
|
reject(error);
|
|
835
839
|
},
|
|
836
840
|
});
|
|
837
841
|
}),
|
|
838
842
|
tokenCurrency,
|
|
843
|
+
isEmbeddedSwap,
|
|
839
844
|
);
|
|
840
845
|
|
|
841
846
|
return broadcastTransactionLogic(
|
|
@@ -858,9 +863,9 @@ export function useWalletAPIServer({
|
|
|
858
863
|
sponsored,
|
|
859
864
|
},
|
|
860
865
|
});
|
|
861
|
-
tracking.broadcastSuccess(manifest);
|
|
866
|
+
tracking.broadcastSuccess(manifest, isEmbeddedSwap);
|
|
862
867
|
} catch (error) {
|
|
863
|
-
tracking.broadcastFail(manifest);
|
|
868
|
+
tracking.broadcastFail(manifest, isEmbeddedSwap);
|
|
864
869
|
throw error;
|
|
865
870
|
}
|
|
866
871
|
}
|
|
@@ -56,18 +56,30 @@ export default function trackingWrapper(trackCall: TrackWalletAPI) {
|
|
|
56
56
|
},
|
|
57
57
|
|
|
58
58
|
// Sign transaction modal open
|
|
59
|
-
signTransactionRequested: (manifest: AppManifest) => {
|
|
60
|
-
|
|
59
|
+
signTransactionRequested: (manifest: AppManifest, isEmbeddedSwap?: boolean) => {
|
|
60
|
+
const properties = {
|
|
61
|
+
...getEventData(manifest),
|
|
62
|
+
...(isEmbeddedSwap !== undefined && { isEmbeddedSwap: String(isEmbeddedSwap) }),
|
|
63
|
+
};
|
|
64
|
+
track("WalletAPI SignTransaction", properties);
|
|
61
65
|
},
|
|
62
66
|
|
|
63
67
|
// Failed to sign transaction (cancel or error)
|
|
64
|
-
signTransactionFail: (manifest: AppManifest) => {
|
|
65
|
-
|
|
68
|
+
signTransactionFail: (manifest: AppManifest, isEmbeddedSwap?: boolean) => {
|
|
69
|
+
const properties = {
|
|
70
|
+
...getEventData(manifest),
|
|
71
|
+
...(isEmbeddedSwap !== undefined && { isEmbeddedSwap: String(isEmbeddedSwap) }),
|
|
72
|
+
};
|
|
73
|
+
track("WalletAPI SignTransaction Fail", properties);
|
|
66
74
|
},
|
|
67
75
|
|
|
68
76
|
// Successfully signed transaction
|
|
69
|
-
signTransactionSuccess: (manifest: AppManifest) => {
|
|
70
|
-
|
|
77
|
+
signTransactionSuccess: (manifest: AppManifest, isEmbeddedSwap?: boolean) => {
|
|
78
|
+
const properties = {
|
|
79
|
+
...getEventData(manifest),
|
|
80
|
+
...(isEmbeddedSwap !== undefined && { isEmbeddedSwap: String(isEmbeddedSwap) }),
|
|
81
|
+
};
|
|
82
|
+
track("WalletAPI SignTransaction Success", properties);
|
|
71
83
|
},
|
|
72
84
|
|
|
73
85
|
// Sign Raw transaction modal open
|
|
@@ -116,13 +128,21 @@ export default function trackingWrapper(trackCall: TrackWalletAPI) {
|
|
|
116
128
|
},
|
|
117
129
|
|
|
118
130
|
// Failed to broadcast a signed transaction
|
|
119
|
-
broadcastFail: (manifest: AppManifest) => {
|
|
120
|
-
|
|
131
|
+
broadcastFail: (manifest: AppManifest, isEmbeddedSwap?: boolean) => {
|
|
132
|
+
const properties = {
|
|
133
|
+
...getEventData(manifest),
|
|
134
|
+
...(isEmbeddedSwap !== undefined && { isEmbeddedSwap: String(isEmbeddedSwap) }),
|
|
135
|
+
};
|
|
136
|
+
track("WalletAPI Broadcast Fail", properties);
|
|
121
137
|
},
|
|
122
138
|
|
|
123
139
|
// Successfully broadcast a signed transaction
|
|
124
|
-
broadcastSuccess: (manifest: AppManifest) => {
|
|
125
|
-
|
|
140
|
+
broadcastSuccess: (manifest: AppManifest, isEmbeddedSwap?: boolean) => {
|
|
141
|
+
const properties = {
|
|
142
|
+
...getEventData(manifest),
|
|
143
|
+
...(isEmbeddedSwap !== undefined && { isEmbeddedSwap: String(isEmbeddedSwap) }),
|
|
144
|
+
};
|
|
145
|
+
track("WalletAPI Broadcast Success", properties);
|
|
126
146
|
},
|
|
127
147
|
|
|
128
148
|
// Successfully broadcast a signed transaction
|