@ledgerhq/live-common 34.54.0-nightly.20251206023719 → 34.54.0-nightly.20251209140356
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/environment.js +2 -0
- package/lib/__tests__/test-helpers/environment.js.map +1 -1
- package/lib/account/serialization.js +1 -1
- package/lib/account/serialization.js.map +1 -1
- package/lib/account/support.js +1 -1
- package/lib/account/support.js.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/getAccountShape.js +3 -2
- package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib/bridge/generic-alpaca/prepareTransaction.js +7 -0
- package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib/domain/getTokensWithFunds.d.ts +7 -1
- package/lib/domain/getTokensWithFunds.d.ts.map +1 -1
- package/lib/domain/getTokensWithFunds.js +15 -4
- package/lib/domain/getTokensWithFunds.js.map +1 -1
- package/lib/domain/getTotalStakeableAssets.d.ts +10 -0
- package/lib/domain/getTotalStakeableAssets.d.ts.map +1 -0
- package/lib/domain/getTotalStakeableAssets.js +35 -0
- package/lib/domain/getTotalStakeableAssets.js.map +1 -0
- package/lib/e2e/index.d.ts +9 -0
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/exchange/swap/api/v5/fetchCurrencyFrom.js +1 -1
- package/lib/exchange/swap/api/v5/fetchCurrencyFrom.js.map +1 -1
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
- package/lib/exchange/swap/getIncompatibleCurrencyKeys.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/featureFlags/defaultFeatures.d.ts +2 -0
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +3 -0
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/firebaseFeatureFlags.js +1 -1
- package/lib/featureFlags/firebaseFeatureFlags.js.map +1 -1
- package/lib/featureFlags/useFeature.d.ts +1 -1
- package/lib/featureFlags/useFeature.d.ts.map +1 -1
- package/lib/featureFlags/useHasOverriddenFeatureFlags.js +1 -1
- package/lib/featureFlags/useHasOverriddenFeatureFlags.js.map +1 -1
- package/lib/hw/getBitcoinLikeInfo.js +1 -1
- package/lib/hw/getBitcoinLikeInfo.js.map +1 -1
- package/lib/mock/account.js +1 -1
- package/lib/mock/account.js.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +6 -0
- package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.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 +226 -177
- 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/wallet-api/useDappLogic.d.ts.map +1 -1
- package/lib/wallet-api/useDappLogic.js +31 -20
- package/lib/wallet-api/useDappLogic.js.map +1 -1
- package/lib/wallet-api/utils/extractDappURLFromManifest.js +3 -3
- package/lib/wallet-api/utils/extractDappURLFromManifest.js.map +1 -1
- package/lib/wallet-api/utils/extractURLFromManifest.js +1 -1
- package/lib/wallet-api/utils/extractURLFromManifest.js.map +1 -1
- package/lib-es/__tests__/test-helpers/environment.js +2 -0
- package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
- package/lib-es/account/serialization.js +1 -1
- package/lib-es/account/serialization.js.map +1 -1
- package/lib-es/account/support.js +1 -1
- package/lib-es/account/support.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/getAccountShape.js +3 -2
- package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js +7 -0
- package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
- package/lib-es/domain/getTokensWithFunds.d.ts +7 -1
- package/lib-es/domain/getTokensWithFunds.d.ts.map +1 -1
- package/lib-es/domain/getTokensWithFunds.js +13 -3
- package/lib-es/domain/getTokensWithFunds.js.map +1 -1
- package/lib-es/domain/getTotalStakeableAssets.d.ts +10 -0
- package/lib-es/domain/getTotalStakeableAssets.d.ts.map +1 -0
- package/lib-es/domain/getTotalStakeableAssets.js +31 -0
- package/lib-es/domain/getTotalStakeableAssets.js.map +1 -0
- package/lib-es/e2e/index.d.ts +9 -0
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/exchange/swap/api/v5/fetchCurrencyFrom.js +1 -1
- package/lib-es/exchange/swap/api/v5/fetchCurrencyFrom.js.map +1 -1
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
- package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.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/featureFlags/defaultFeatures.d.ts +2 -0
- package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib-es/featureFlags/defaultFeatures.js +3 -0
- package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
- package/lib-es/featureFlags/firebaseFeatureFlags.js +1 -1
- package/lib-es/featureFlags/firebaseFeatureFlags.js.map +1 -1
- package/lib-es/featureFlags/useFeature.d.ts +1 -1
- package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
- package/lib-es/featureFlags/useHasOverriddenFeatureFlags.js +1 -1
- package/lib-es/featureFlags/useHasOverriddenFeatureFlags.js.map +1 -1
- package/lib-es/hw/getBitcoinLikeInfo.js +1 -1
- package/lib-es/hw/getBitcoinLikeInfo.js.map +1 -1
- package/lib-es/mock/account.js +1 -1
- package/lib-es/mock/account.js.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +6 -0
- package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.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 +223 -177
- 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/lib-es/wallet-api/useDappLogic.d.ts.map +1 -1
- package/lib-es/wallet-api/useDappLogic.js +31 -20
- package/lib-es/wallet-api/useDappLogic.js.map +1 -1
- package/lib-es/wallet-api/utils/extractDappURLFromManifest.js +3 -3
- package/lib-es/wallet-api/utils/extractDappURLFromManifest.js.map +1 -1
- package/lib-es/wallet-api/utils/extractURLFromManifest.js +1 -1
- package/lib-es/wallet-api/utils/extractURLFromManifest.js.map +1 -1
- package/package.json +73 -73
- package/src/__tests__/test-helpers/environment.ts +2 -0
- package/src/account/serialization.ts +1 -1
- package/src/account/support.ts +1 -1
- package/src/bridge/generic-alpaca/getAccountShape.ts +4 -2
- package/src/bridge/generic-alpaca/prepareTransaction.ts +7 -0
- package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +42 -0
- package/src/domain/getTokensWithFunds.ts +18 -5
- package/src/domain/getTotalStakeableAssets.test.ts +267 -0
- package/src/domain/getTotalStakeableAssets.ts +47 -0
- package/src/exchange/swap/api/v5/fetchCurrencyFrom.ts +1 -1
- package/src/exchange/swap/getIncompatibleCurrencyKeys.ts +4 -0
- package/src/exchange/swap/transactionStrategies.ts +8 -7
- package/src/featureFlags/defaultFeatures.ts +3 -0
- package/src/featureFlags/firebaseFeatureFlags.ts +1 -1
- package/src/featureFlags/useHasOverriddenFeatureFlags.ts +1 -1
- package/src/hw/getBitcoinLikeInfo.ts +1 -1
- package/src/mock/account.ts +1 -1
- package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +6 -0
- 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 +287 -235
- 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/useDappLogic.ts +32 -20
- package/src/wallet-api/utils/extractDappURLFromManifest.ts +3 -3
- package/src/wallet-api/utils/extractURLFromManifest.ts +1 -1
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
|
|
@@ -29,15 +29,27 @@ interface JsonRpcRequestMessage<TParams = any> {
|
|
|
29
29
|
params?: TParams;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
const errors = {
|
|
33
|
+
ParseError: -32700,
|
|
34
|
+
InvalidRequest: -32600,
|
|
35
|
+
MethodNotFound: -32601,
|
|
36
|
+
InvalidParams: -32602,
|
|
37
|
+
InternalError: -32603,
|
|
38
|
+
UserRejected: 4001,
|
|
39
|
+
Unauthorized: 4100,
|
|
40
|
+
UnsupportedMethod: 4200,
|
|
41
|
+
Disconnected: 4900,
|
|
42
|
+
ChainDisconnected: 4901,
|
|
43
|
+
} as const;
|
|
44
|
+
|
|
45
|
+
const rejectedError = (code: number, message: string, data: object = {}) => ({
|
|
46
|
+
code,
|
|
34
47
|
message,
|
|
35
|
-
data:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
],
|
|
48
|
+
data: {
|
|
49
|
+
code,
|
|
50
|
+
message,
|
|
51
|
+
...data,
|
|
52
|
+
},
|
|
41
53
|
});
|
|
42
54
|
|
|
43
55
|
// TODO remove any usage
|
|
@@ -331,7 +343,7 @@ export function useDappLogic({
|
|
|
331
343
|
JSON.stringify({
|
|
332
344
|
id: data.id,
|
|
333
345
|
jsonrpc: "2.0",
|
|
334
|
-
error: rejectedError("No network selected"),
|
|
346
|
+
error: rejectedError(errors.InternalError, "No network selected"),
|
|
335
347
|
}),
|
|
336
348
|
);
|
|
337
349
|
return;
|
|
@@ -343,7 +355,7 @@ export function useDappLogic({
|
|
|
343
355
|
JSON.stringify({
|
|
344
356
|
id: data.id,
|
|
345
357
|
jsonrpc: "2.0",
|
|
346
|
-
error: rejectedError("No account selected"),
|
|
358
|
+
error: rejectedError(errors.InternalError, "No account selected"),
|
|
347
359
|
}),
|
|
348
360
|
);
|
|
349
361
|
return;
|
|
@@ -355,7 +367,7 @@ export function useDappLogic({
|
|
|
355
367
|
JSON.stringify({
|
|
356
368
|
id: data.id,
|
|
357
369
|
jsonrpc: "2.0",
|
|
358
|
-
error: rejectedError("No parent account found"),
|
|
370
|
+
error: rejectedError(errors.InternalError, "No parent account found"),
|
|
359
371
|
}),
|
|
360
372
|
);
|
|
361
373
|
return;
|
|
@@ -410,7 +422,7 @@ export function useDappLogic({
|
|
|
410
422
|
JSON.stringify({
|
|
411
423
|
id: data.id,
|
|
412
424
|
jsonrpc: "2.0",
|
|
413
|
-
error: rejectedError("Invalid chainId"),
|
|
425
|
+
error: rejectedError(errors.InvalidParams, "Invalid chainId"),
|
|
414
426
|
}),
|
|
415
427
|
);
|
|
416
428
|
break;
|
|
@@ -426,7 +438,7 @@ export function useDappLogic({
|
|
|
426
438
|
JSON.stringify({
|
|
427
439
|
id: data.id,
|
|
428
440
|
jsonrpc: "2.0",
|
|
429
|
-
error: rejectedError(`Chain ID ${chainId} is not supported`),
|
|
441
|
+
error: rejectedError(errors.InvalidParams, `Chain ID ${chainId} is not supported`),
|
|
430
442
|
}),
|
|
431
443
|
);
|
|
432
444
|
break;
|
|
@@ -459,7 +471,7 @@ export function useDappLogic({
|
|
|
459
471
|
JSON.stringify({
|
|
460
472
|
id: data.id,
|
|
461
473
|
jsonrpc: "2.0",
|
|
462
|
-
error: rejectedError(`error switching chain: ${error}`),
|
|
474
|
+
error: rejectedError(errors.UserRejected, `error switching chain: ${error}`),
|
|
463
475
|
}),
|
|
464
476
|
);
|
|
465
477
|
}
|
|
@@ -555,13 +567,13 @@ export function useDappLogic({
|
|
|
555
567
|
result: optimisticOperation.hash,
|
|
556
568
|
}),
|
|
557
569
|
);
|
|
558
|
-
} catch
|
|
570
|
+
} catch {
|
|
559
571
|
tracking.dappSendTransactionFail(manifest, trackingData);
|
|
560
572
|
postMessage(
|
|
561
573
|
JSON.stringify({
|
|
562
574
|
id: data.id,
|
|
563
575
|
jsonrpc: "2.0",
|
|
564
|
-
error: rejectedError("Transaction declined"),
|
|
576
|
+
error: rejectedError(errors.UserRejected, "Transaction declined"),
|
|
565
577
|
}),
|
|
566
578
|
);
|
|
567
579
|
}
|
|
@@ -609,13 +621,13 @@ export function useDappLogic({
|
|
|
609
621
|
result: signedMessage,
|
|
610
622
|
}),
|
|
611
623
|
);
|
|
612
|
-
} catch
|
|
624
|
+
} catch {
|
|
613
625
|
tracking.dappPersonalSignFail(manifest);
|
|
614
626
|
postMessage(
|
|
615
627
|
JSON.stringify({
|
|
616
628
|
id: data.id,
|
|
617
629
|
jsonrpc: "2.0",
|
|
618
|
-
error: rejectedError("Personal message signed declined"),
|
|
630
|
+
error: rejectedError(errors.UserRejected, "Personal message signed declined"),
|
|
619
631
|
}),
|
|
620
632
|
);
|
|
621
633
|
}
|
|
@@ -656,13 +668,13 @@ export function useDappLogic({
|
|
|
656
668
|
result: signedMessage,
|
|
657
669
|
}),
|
|
658
670
|
);
|
|
659
|
-
} catch
|
|
671
|
+
} catch {
|
|
660
672
|
tracking.dappSignTypedDataFail(manifest);
|
|
661
673
|
postMessage(
|
|
662
674
|
JSON.stringify({
|
|
663
675
|
id: data.id,
|
|
664
676
|
jsonrpc: "2.0",
|
|
665
|
-
error: rejectedError("Typed Data message signed declined"),
|
|
677
|
+
error: rejectedError(errors.UserRejected, "Typed Data message signed declined"),
|
|
666
678
|
}),
|
|
667
679
|
);
|
|
668
680
|
}
|
|
@@ -5,7 +5,7 @@ export function extractDappURLFromManifest(manifest: LiveAppManifest): URL | und
|
|
|
5
5
|
try {
|
|
6
6
|
const url = new URL(manifest.params.dappUrl);
|
|
7
7
|
return url;
|
|
8
|
-
} catch
|
|
8
|
+
} catch {
|
|
9
9
|
// Invalid URL
|
|
10
10
|
return undefined;
|
|
11
11
|
}
|
|
@@ -19,7 +19,7 @@ export function extractDappURLFromManifest(manifest: LiveAppManifest): URL | und
|
|
|
19
19
|
try {
|
|
20
20
|
const url = new URL(manifest.params.dappURL);
|
|
21
21
|
return url;
|
|
22
|
-
} catch
|
|
22
|
+
} catch {
|
|
23
23
|
// Invalid URL
|
|
24
24
|
return undefined;
|
|
25
25
|
}
|
|
@@ -31,7 +31,7 @@ export function extractDappURLFromManifest(manifest: LiveAppManifest): URL | und
|
|
|
31
31
|
}
|
|
32
32
|
const url = new URL(manifest.url);
|
|
33
33
|
return url;
|
|
34
|
-
} catch
|
|
34
|
+
} catch {
|
|
35
35
|
// Invalid URL
|
|
36
36
|
return undefined;
|
|
37
37
|
}
|