@keplr-wallet/background 0.12.312 → 0.13.0
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/build/index.d.ts +1 -0
- package/build/index.js +7 -1
- package/build/index.js.map +1 -1
- package/build/keyring-cosmos/service.d.ts +10 -0
- package/build/keyring-cosmos/service.js +100 -0
- package/build/keyring-cosmos/service.js.map +1 -1
- package/build/keyring-ethereum/service.d.ts +5 -0
- package/build/keyring-ethereum/service.js +66 -0
- package/build/keyring-ethereum/service.js.map +1 -1
- package/build/recent-send-history/api.d.ts +31 -0
- package/build/recent-send-history/api.js +97 -0
- package/build/recent-send-history/api.js.map +1 -0
- package/build/recent-send-history/handler.js +36 -0
- package/build/recent-send-history/handler.js.map +1 -1
- package/build/recent-send-history/init.js +5 -0
- package/build/recent-send-history/init.js.map +1 -1
- package/build/recent-send-history/messages.d.ts +76 -1
- package/build/recent-send-history/messages.js +121 -1
- package/build/recent-send-history/messages.js.map +1 -1
- package/build/recent-send-history/service.d.ts +262 -9
- package/build/recent-send-history/service.js +2103 -812
- package/build/recent-send-history/service.js.map +1 -1
- package/build/recent-send-history/types.d.ts +214 -22
- package/build/recent-send-history/types.js +21 -0
- package/build/recent-send-history/types.js.map +1 -1
- package/build/tx/service.d.ts +2 -0
- package/build/tx/service.js +35 -0
- package/build/tx/service.js.map +1 -1
- package/build/tx-ethereum/service.d.ts +2 -0
- package/build/tx-ethereum/service.js +42 -0
- package/build/tx-ethereum/service.js.map +1 -1
- package/build/tx-executor/constants.d.ts +1 -0
- package/build/tx-executor/constants.js +5 -0
- package/build/tx-executor/constants.js.map +1 -0
- package/build/tx-executor/handler.d.ts +3 -0
- package/build/tx-executor/handler.js +45 -0
- package/build/tx-executor/handler.js.map +1 -0
- package/build/tx-executor/index.d.ts +3 -0
- package/build/tx-executor/index.js +20 -0
- package/build/tx-executor/index.js.map +1 -0
- package/build/tx-executor/init.d.ts +3 -0
- package/build/tx-executor/init.js +14 -0
- package/build/tx-executor/init.js.map +1 -0
- package/build/tx-executor/internal.d.ts +4 -0
- package/build/tx-executor/internal.js +24 -0
- package/build/tx-executor/internal.js.map +1 -0
- package/build/tx-executor/messages.d.ts +53 -0
- package/build/tx-executor/messages.js +116 -0
- package/build/tx-executor/messages.js.map +1 -0
- package/build/tx-executor/service.d.ts +67 -0
- package/build/tx-executor/service.js +715 -0
- package/build/tx-executor/service.js.map +1 -0
- package/build/tx-executor/types.d.ts +105 -0
- package/build/tx-executor/types.js +33 -0
- package/build/tx-executor/types.js.map +1 -0
- package/build/tx-executor/utils/cosmos.d.ts +59 -0
- package/build/tx-executor/utils/cosmos.js +526 -0
- package/build/tx-executor/utils/cosmos.js.map +1 -0
- package/build/tx-executor/utils/evm.d.ts +4 -0
- package/build/tx-executor/utils/evm.js +236 -0
- package/build/tx-executor/utils/evm.js.map +1 -0
- package/package.json +13 -13
- package/src/index.ts +24 -1
- package/src/keyring-cosmos/service.ts +151 -0
- package/src/keyring-ethereum/service.ts +103 -6
- package/src/recent-send-history/api.ts +119 -0
- package/src/recent-send-history/handler.ts +84 -0
- package/src/recent-send-history/init.ts +10 -0
- package/src/recent-send-history/messages.ts +163 -1
- package/src/recent-send-history/service.ts +3042 -1153
- package/src/recent-send-history/types.ts +268 -31
- package/src/tx/service.ts +41 -0
- package/src/tx-ethereum/service.ts +57 -0
- package/src/tx-executor/constants.ts +1 -0
- package/src/tx-executor/handler.ts +71 -0
- package/src/tx-executor/index.ts +3 -0
- package/src/tx-executor/init.ts +20 -0
- package/src/tx-executor/internal.ts +9 -0
- package/src/tx-executor/messages.ts +157 -0
- package/src/tx-executor/service.ts +1025 -0
- package/src/tx-executor/types.ts +161 -0
- package/src/tx-executor/utils/cosmos.ts +771 -0
- package/src/tx-executor/utils/evm.ts +310 -0
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { AppCurrency } from "@keplr-wallet/types";
|
|
1
|
+
import { AppCurrency, SwapProvider } from "@keplr-wallet/types";
|
|
2
|
+
export { SwapProvider };
|
|
3
|
+
/**
|
|
4
|
+
* Stored recent send history record.
|
|
5
|
+
*/
|
|
2
6
|
export interface RecentSendHistory {
|
|
3
|
-
timestamp: number;
|
|
4
7
|
sender: string;
|
|
5
8
|
recipient: string;
|
|
6
9
|
amount: {
|
|
@@ -13,7 +16,105 @@ export interface RecentSendHistory {
|
|
|
13
16
|
channelId: string;
|
|
14
17
|
counterpartyChainId: string;
|
|
15
18
|
}[] | undefined;
|
|
19
|
+
timestamp: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Data required to record an IBC transfer history.
|
|
23
|
+
* Used by tx-executor when creating history entries.
|
|
24
|
+
*/
|
|
25
|
+
export interface IBCTransferHistoryData {
|
|
26
|
+
readonly historyType: string;
|
|
27
|
+
readonly sourceChainId: string;
|
|
28
|
+
readonly destinationChainId: string;
|
|
29
|
+
readonly channels: {
|
|
30
|
+
portId: string;
|
|
31
|
+
channelId: string;
|
|
32
|
+
counterpartyChainId: string;
|
|
33
|
+
}[];
|
|
34
|
+
readonly sender: string;
|
|
35
|
+
readonly recipient: string;
|
|
36
|
+
readonly amount: {
|
|
37
|
+
readonly amount: string;
|
|
38
|
+
readonly denom: string;
|
|
39
|
+
}[];
|
|
40
|
+
readonly memo: string;
|
|
41
|
+
readonly notificationInfo: {
|
|
42
|
+
readonly currencies: AppCurrency[];
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Data required to record an IBC swap history.
|
|
47
|
+
* Used by tx-executor when creating history entries.
|
|
48
|
+
*/
|
|
49
|
+
export interface IBCSwapHistoryData {
|
|
50
|
+
readonly swapType: "amount-in" | "amount-out";
|
|
51
|
+
readonly chainId: string;
|
|
52
|
+
readonly destinationChainId: string;
|
|
53
|
+
readonly sender: string;
|
|
54
|
+
readonly amount: {
|
|
55
|
+
amount: string;
|
|
56
|
+
denom: string;
|
|
57
|
+
}[];
|
|
58
|
+
readonly memo: string;
|
|
59
|
+
readonly ibcChannels: {
|
|
60
|
+
portId: string;
|
|
61
|
+
channelId: string;
|
|
62
|
+
counterpartyChainId: string;
|
|
63
|
+
}[];
|
|
64
|
+
readonly destinationAsset: {
|
|
65
|
+
chainId: string;
|
|
66
|
+
denom: string;
|
|
67
|
+
};
|
|
68
|
+
readonly swapChannelIndex: number;
|
|
69
|
+
readonly swapReceiver: string[];
|
|
70
|
+
readonly notificationInfo: {
|
|
71
|
+
currencies: AppCurrency[];
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export type IBCSwapMinimalTrackingData = Pick<IBCSwapHistoryData, "chainId" | "swapReceiver" | "ibcChannels" | "swapChannelIndex">;
|
|
75
|
+
/**
|
|
76
|
+
* Stored IBC transfer history record (subset of IBCHistory).
|
|
77
|
+
*/
|
|
78
|
+
export interface IBCTransferHistory {
|
|
79
|
+
recipient: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Stored IBC swap history record (subset of IBCHistory).
|
|
83
|
+
*/
|
|
84
|
+
export interface IBCSwapHistory {
|
|
85
|
+
swapType: "amount-in" | "amount-out";
|
|
86
|
+
swapChannelIndex: number;
|
|
87
|
+
swapReceiver: string[];
|
|
88
|
+
destinationAsset: {
|
|
89
|
+
chainId: string;
|
|
90
|
+
denom: string;
|
|
91
|
+
};
|
|
92
|
+
resAmount: {
|
|
93
|
+
amount: string;
|
|
94
|
+
denom: string;
|
|
95
|
+
}[][];
|
|
96
|
+
swapRefundInfo?: {
|
|
97
|
+
chainId: string;
|
|
98
|
+
amount: {
|
|
99
|
+
amount: string;
|
|
100
|
+
denom: string;
|
|
101
|
+
}[];
|
|
102
|
+
};
|
|
16
103
|
}
|
|
104
|
+
export type IbcHop = {
|
|
105
|
+
portId: string;
|
|
106
|
+
channelId: string;
|
|
107
|
+
counterpartyChainId: string;
|
|
108
|
+
sequence?: string;
|
|
109
|
+
dstChannelId?: string;
|
|
110
|
+
completed: boolean;
|
|
111
|
+
error?: string;
|
|
112
|
+
rewound?: boolean;
|
|
113
|
+
rewoundButNextRewindingBlocked?: boolean;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Stored IBC history record (union of IBCTransferHistory and IBCSwapHistory).
|
|
117
|
+
*/
|
|
17
118
|
export type IBCHistory = {
|
|
18
119
|
id: string;
|
|
19
120
|
chainId: string;
|
|
@@ -29,44 +130,135 @@ export type IBCHistory = {
|
|
|
29
130
|
txFulfilled?: boolean;
|
|
30
131
|
txError?: string;
|
|
31
132
|
packetTimeout?: boolean;
|
|
32
|
-
ibcHistory:
|
|
33
|
-
portId: string;
|
|
34
|
-
channelId: string;
|
|
35
|
-
counterpartyChainId: string;
|
|
36
|
-
sequence?: string;
|
|
37
|
-
dstChannelId?: string;
|
|
38
|
-
completed: boolean;
|
|
39
|
-
error?: string;
|
|
40
|
-
rewound?: boolean;
|
|
41
|
-
rewoundButNextRewindingBlocked?: boolean;
|
|
42
|
-
}[];
|
|
133
|
+
ibcHistory: IbcHop[];
|
|
43
134
|
notified?: boolean;
|
|
44
135
|
notificationInfo?: {
|
|
45
136
|
currencies: AppCurrency[];
|
|
46
137
|
};
|
|
47
138
|
} & (IBCTransferHistory | IBCSwapHistory);
|
|
48
|
-
export
|
|
49
|
-
|
|
139
|
+
export declare enum SwapV2RouteStepStatus {
|
|
140
|
+
IN_PROGRESS = "in_progress",
|
|
141
|
+
SUCCESS = "success",
|
|
142
|
+
FAILED = "failed",
|
|
143
|
+
UNKNOWN = "unknown"
|
|
50
144
|
}
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
145
|
+
export declare enum SwapV2TxStatus {
|
|
146
|
+
IN_PROGRESS = "in_progress",
|
|
147
|
+
SUCCESS = "success",
|
|
148
|
+
PARTIAL_SUCCESS = "partial_success",
|
|
149
|
+
FAILED = "failed",
|
|
150
|
+
UNKNOWN = "unknown"
|
|
151
|
+
}
|
|
152
|
+
export interface SwapV2TxStatusStep {
|
|
153
|
+
chain_id: string;
|
|
154
|
+
status: SwapV2RouteStepStatus;
|
|
155
|
+
tx_hash?: string;
|
|
156
|
+
explorer_url?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface SwapV2AssetLocation {
|
|
159
|
+
chain_id: string;
|
|
160
|
+
denom: string;
|
|
161
|
+
amount: string;
|
|
162
|
+
}
|
|
163
|
+
export interface SwapV2TxStatusRequest {
|
|
164
|
+
provider: SwapProvider;
|
|
165
|
+
from_chain: string;
|
|
166
|
+
to_chain?: string;
|
|
167
|
+
tx_hash: string;
|
|
168
|
+
}
|
|
169
|
+
export interface SwapV2TxStatusResponse {
|
|
170
|
+
provider: SwapProvider;
|
|
171
|
+
status: SwapV2TxStatus;
|
|
172
|
+
steps: SwapV2TxStatusStep[];
|
|
173
|
+
asset_location?: SwapV2AssetLocation | null;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Base interface for SwapV2History data.
|
|
177
|
+
* Contains common fields between SwapV2HistoryData and SwapV2History.
|
|
178
|
+
*/
|
|
179
|
+
export interface SwapV2HistoryBase {
|
|
180
|
+
fromChainId: string;
|
|
181
|
+
toChainId: string;
|
|
182
|
+
provider: SwapProvider;
|
|
183
|
+
sender: string;
|
|
184
|
+
recipient: string;
|
|
185
|
+
amount: {
|
|
186
|
+
amount: string;
|
|
187
|
+
denom: string;
|
|
188
|
+
}[];
|
|
189
|
+
simpleRoute: {
|
|
190
|
+
isOnlyEvm: boolean;
|
|
191
|
+
chainId: string;
|
|
192
|
+
receiver: string;
|
|
193
|
+
}[];
|
|
55
194
|
destinationAsset: {
|
|
56
195
|
chainId: string;
|
|
57
196
|
denom: string;
|
|
197
|
+
expectedAmount: string;
|
|
58
198
|
};
|
|
199
|
+
routeDurationSeconds: number;
|
|
200
|
+
notificationInfo: {
|
|
201
|
+
currencies: AppCurrency[];
|
|
202
|
+
};
|
|
203
|
+
isOnlyUseBridge?: boolean;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Data required to record a SwapV2 history.
|
|
207
|
+
* Used by tx-executor when creating history entries.
|
|
208
|
+
*/
|
|
209
|
+
export type SwapV2HistoryData = SwapV2HistoryBase;
|
|
210
|
+
/**
|
|
211
|
+
* Stored SwapV2 history record.
|
|
212
|
+
*/
|
|
213
|
+
export interface SwapV2History extends SwapV2HistoryBase {
|
|
214
|
+
id: string;
|
|
215
|
+
timestamp: number;
|
|
216
|
+
txHash: string;
|
|
217
|
+
status: SwapV2TxStatus;
|
|
218
|
+
routeIndex: number;
|
|
59
219
|
resAmount: {
|
|
60
220
|
amount: string;
|
|
61
221
|
denom: string;
|
|
62
222
|
}[][];
|
|
63
|
-
|
|
223
|
+
assetLocationInfo?: {
|
|
64
224
|
chainId: string;
|
|
65
225
|
amount: {
|
|
66
226
|
amount: string;
|
|
67
227
|
denom: string;
|
|
68
228
|
}[];
|
|
229
|
+
/**
|
|
230
|
+
* "refund": 실패/오류로 인해 자산이 중간에서 릴리즈된 경우
|
|
231
|
+
* "intermediate": TX는 성공했지만 자산이 최종 목적지가 아닌 중간 단계에 도달한 경우
|
|
232
|
+
* (예: base USDC -> osmosis OSMO 스왑 시, noble USDC가 먼저 도착)
|
|
233
|
+
* 이 경우 추가 TX를 실행하여 최종 목적지로 자산을 보내거나,
|
|
234
|
+
* 현재 받은 자산을 그대로 둘 수 있음
|
|
235
|
+
*/
|
|
236
|
+
type: "refund" | "intermediate";
|
|
69
237
|
};
|
|
238
|
+
backgroundExecutionId?: string;
|
|
239
|
+
additionalTrackingData?: {
|
|
240
|
+
type: "evm";
|
|
241
|
+
chainId: string;
|
|
242
|
+
txHash: string;
|
|
243
|
+
} | {
|
|
244
|
+
type: "cosmos-ibc";
|
|
245
|
+
chainId: string;
|
|
246
|
+
swapReceiver: string[];
|
|
247
|
+
swapChannelIndex: number;
|
|
248
|
+
txHash: string;
|
|
249
|
+
txFulfilled?: boolean;
|
|
250
|
+
packetTimeout?: boolean;
|
|
251
|
+
dynamicHopDetected?: boolean;
|
|
252
|
+
ibcHistory: IbcHop[];
|
|
253
|
+
};
|
|
254
|
+
additionalTrackDone?: boolean;
|
|
255
|
+
additionalTrackError?: string;
|
|
256
|
+
trackDone?: boolean;
|
|
257
|
+
trackError?: string;
|
|
258
|
+
finalizationRetryCount?: number;
|
|
259
|
+
unknownStatusFirstSeenAt?: number;
|
|
260
|
+
notified?: boolean;
|
|
261
|
+
hidden?: boolean;
|
|
70
262
|
}
|
|
71
263
|
export type SkipHistory = {
|
|
72
264
|
id: string;
|
|
@@ -114,9 +306,9 @@ export type SkipHistory = {
|
|
|
114
306
|
isOnlyUseBridge?: boolean;
|
|
115
307
|
};
|
|
116
308
|
/**
|
|
117
|
-
*
|
|
118
|
-
* Reference: https://github.com/skip-mev/skip-go/blob/staging/packages/client/src/types/lifecycle.ts
|
|
309
|
+
* Union type of all history data types.
|
|
119
310
|
*/
|
|
311
|
+
export type HistoryData = IBCTransferHistoryData | IBCSwapHistoryData | SwapV2HistoryData;
|
|
120
312
|
export type StatusState = "STATE_UNKNOWN" | "STATE_SUBMITTED" | "STATE_PENDING" | "STATE_RECEIVED" | "STATE_COMPLETED" | "STATE_ABANDONED" | "STATE_COMPLETED_SUCCESS" | "STATE_COMPLETED_ERROR" | "STATE_PENDING_ERROR";
|
|
121
313
|
export type NextBlockingTransfer = {
|
|
122
314
|
transfer_sequence_index: number;
|
|
@@ -1,3 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwapV2TxStatus = exports.SwapV2RouteStepStatus = exports.SwapProvider = void 0;
|
|
4
|
+
const types_1 = require("@keplr-wallet/types");
|
|
5
|
+
Object.defineProperty(exports, "SwapProvider", { enumerable: true, get: function () { return types_1.SwapProvider; } });
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// SwapV2 History Types
|
|
8
|
+
// ============================================================================
|
|
9
|
+
var SwapV2RouteStepStatus;
|
|
10
|
+
(function (SwapV2RouteStepStatus) {
|
|
11
|
+
SwapV2RouteStepStatus["IN_PROGRESS"] = "in_progress";
|
|
12
|
+
SwapV2RouteStepStatus["SUCCESS"] = "success";
|
|
13
|
+
SwapV2RouteStepStatus["FAILED"] = "failed";
|
|
14
|
+
SwapV2RouteStepStatus["UNKNOWN"] = "unknown";
|
|
15
|
+
})(SwapV2RouteStepStatus = exports.SwapV2RouteStepStatus || (exports.SwapV2RouteStepStatus = {}));
|
|
16
|
+
var SwapV2TxStatus;
|
|
17
|
+
(function (SwapV2TxStatus) {
|
|
18
|
+
SwapV2TxStatus["IN_PROGRESS"] = "in_progress";
|
|
19
|
+
SwapV2TxStatus["SUCCESS"] = "success";
|
|
20
|
+
SwapV2TxStatus["PARTIAL_SUCCESS"] = "partial_success";
|
|
21
|
+
SwapV2TxStatus["FAILED"] = "failed";
|
|
22
|
+
SwapV2TxStatus["UNKNOWN"] = "unknown";
|
|
23
|
+
})(SwapV2TxStatus = exports.SwapV2TxStatus || (exports.SwapV2TxStatus = {}));
|
|
3
24
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/recent-send-history/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/recent-send-history/types.ts"],"names":[],"mappings":";;;AAAA,+CAAgE;AAEvD,6FAFa,oBAAY,OAEb;AAyKrB,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,oDAA2B,CAAA;IAC3B,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,4CAAmB,CAAA;AACrB,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAED,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,6CAA2B,CAAA;IAC3B,qCAAmB,CAAA;IACnB,qDAAmC,CAAA;IACnC,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;AACrB,CAAC,EANW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAMzB"}
|
package/build/tx/service.d.ts
CHANGED
|
@@ -8,8 +8,10 @@ export declare class BackgroundTxService {
|
|
|
8
8
|
init(): Promise<void>;
|
|
9
9
|
sendTx(chainId: string, tx: unknown, mode: "async" | "sync" | "block", options: {
|
|
10
10
|
silent?: boolean;
|
|
11
|
+
skipTracingTxResult?: boolean;
|
|
11
12
|
onFulfill?: (tx: any) => void;
|
|
12
13
|
}): Promise<Uint8Array>;
|
|
14
|
+
traceTx(chainId: string, txHash: string): Promise<any>;
|
|
13
15
|
private static processTxResultNotification;
|
|
14
16
|
private static processTxErrorNotification;
|
|
15
17
|
waitStarknetTransaction(chainId: string, txHash: string): Promise<GetTransactionReceiptResponse>;
|
package/build/tx/service.js
CHANGED
|
@@ -69,6 +69,9 @@ class BackgroundTxService {
|
|
|
69
69
|
throw new Error(txResponse["raw_log"]);
|
|
70
70
|
}
|
|
71
71
|
const txHash = buffer_1.Buffer.from(txResponse.txhash, "hex");
|
|
72
|
+
if (options.skipTracingTxResult) {
|
|
73
|
+
return txHash;
|
|
74
|
+
}
|
|
72
75
|
// 이 기능은 tx commit일때 notification을 띄울 뿐이다.
|
|
73
76
|
// 실제 로직 처리와는 관계가 없어야하기 때문에 여기서 await을 하면 안된다!!
|
|
74
77
|
(0, common_1.retry)(() => {
|
|
@@ -117,6 +120,38 @@ class BackgroundTxService {
|
|
|
117
120
|
}
|
|
118
121
|
});
|
|
119
122
|
}
|
|
123
|
+
traceTx(chainId, txHash) {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
const chainInfo = this.chainsService.getChainInfoOrThrow(chainId);
|
|
126
|
+
const txHashBuffer = buffer_1.Buffer.from(txHash, "hex");
|
|
127
|
+
return yield (0, common_1.retry)(() => {
|
|
128
|
+
return new Promise((resolve, reject) => {
|
|
129
|
+
const txTracer = new cosmos_1.TendermintTxTracer(chainInfo.rpc, "/websocket");
|
|
130
|
+
txTracer.addEventListener("close", () => {
|
|
131
|
+
// reject if ws closed before fulfilled
|
|
132
|
+
// 하지만 로직상 fulfill 되기 전에 ws가 닫히는게 되기 때문에
|
|
133
|
+
// delay를 좀 준다.
|
|
134
|
+
// trace 이후 로직은 동기적인 로직밖에 없기 때문에 문제될 게 없다.
|
|
135
|
+
// 문제될게 없다.
|
|
136
|
+
setTimeout(() => {
|
|
137
|
+
reject();
|
|
138
|
+
}, 500);
|
|
139
|
+
});
|
|
140
|
+
txTracer.addEventListener("error", () => {
|
|
141
|
+
reject();
|
|
142
|
+
});
|
|
143
|
+
txTracer.traceTx(txHashBuffer).then((tx) => {
|
|
144
|
+
txTracer.close();
|
|
145
|
+
resolve(tx);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}, {
|
|
149
|
+
maxRetries: 10,
|
|
150
|
+
waitMsAfterError: 10 * 1000,
|
|
151
|
+
maxWaitMsAfterError: 5 * 60 * 1000, // 5min
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
}
|
|
120
155
|
static processTxResultNotification(notification, result) {
|
|
121
156
|
var _a;
|
|
122
157
|
try {
|
package/build/tx/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iDAA0D;AAE1D,6DAAyD;AACzD,oCAAiC;AACjC,iDAA6C;AAC7C,uCAAsE;AAetE,MAAa,mBAAmB;IAC9B,YACqB,aAA4B,EAC5B,YAA0B;QAD1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;IAC5C,CAAC;IAEE,IAAI;;YACR,OAAO;QACT,CAAC;KAAA;IAEK,MAAM,CACV,OAAe,EACf,EAAW,EACX,IAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,10 @@ export declare class BackgroundTxEthereumService {
|
|
|
8
8
|
init(): Promise<void>;
|
|
9
9
|
sendEthereumTx(origin: string, chainId: string, tx: Uint8Array, options: {
|
|
10
10
|
silent?: boolean;
|
|
11
|
+
skipTracingTxResult?: boolean;
|
|
11
12
|
onFulfill?: (txReceipt: EthTxReceipt) => void;
|
|
12
13
|
}): Promise<string>;
|
|
14
|
+
getEthereumTxReceipt(origin: string, chainId: string, txHash: string): Promise<EthTxReceipt | null>;
|
|
13
15
|
private static processTxResultNotification;
|
|
14
16
|
private static processTxErrorNotification;
|
|
15
17
|
}
|
|
@@ -56,6 +56,9 @@ class BackgroundTxEthereumService {
|
|
|
56
56
|
if (sendRawTransactionResponse.data.error || !txHash) {
|
|
57
57
|
throw ((_a = sendRawTransactionResponse.data.error) !== null && _a !== void 0 ? _a : new Error("No tx hash responded"));
|
|
58
58
|
}
|
|
59
|
+
if (options.skipTracingTxResult) {
|
|
60
|
+
return txHash;
|
|
61
|
+
}
|
|
59
62
|
(0, common_1.retry)(() => {
|
|
60
63
|
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
61
64
|
var _a;
|
|
@@ -100,6 +103,45 @@ class BackgroundTxEthereumService {
|
|
|
100
103
|
}
|
|
101
104
|
});
|
|
102
105
|
}
|
|
106
|
+
getEthereumTxReceipt(origin, chainId, txHash) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const chainInfo = this.chainsService.getChainInfoOrThrow(chainId);
|
|
109
|
+
const evmInfo = chains_1.ChainsService.getEVMInfo(chainInfo);
|
|
110
|
+
if (!evmInfo) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
return yield (0, common_1.retry)(() => {
|
|
114
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
const txReceiptResponse = yield (0, simple_fetch_1.simpleFetch)(evmInfo.rpc, {
|
|
116
|
+
method: "POST",
|
|
117
|
+
headers: {
|
|
118
|
+
"content-type": "application/json",
|
|
119
|
+
"request-source": origin,
|
|
120
|
+
},
|
|
121
|
+
body: JSON.stringify({
|
|
122
|
+
jsonrpc: "2.0",
|
|
123
|
+
method: "eth_getTransactionReceipt",
|
|
124
|
+
params: [txHash],
|
|
125
|
+
id: 1,
|
|
126
|
+
}),
|
|
127
|
+
});
|
|
128
|
+
if (txReceiptResponse.data.error) {
|
|
129
|
+
console.error(txReceiptResponse.data.error);
|
|
130
|
+
resolve(null);
|
|
131
|
+
}
|
|
132
|
+
const txReceipt = txReceiptResponse.data.result;
|
|
133
|
+
if (txReceipt) {
|
|
134
|
+
resolve(txReceipt);
|
|
135
|
+
}
|
|
136
|
+
reject(new Error("No tx receipt responded"));
|
|
137
|
+
}));
|
|
138
|
+
}, {
|
|
139
|
+
maxRetries: 50,
|
|
140
|
+
waitMsAfterError: 500,
|
|
141
|
+
maxWaitMsAfterError: 15000,
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
103
145
|
static processTxResultNotification(notification) {
|
|
104
146
|
try {
|
|
105
147
|
notification.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx-ethereum/service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA0C;AAC1C,6DAAyD;AAGzD,iDAA6C;AAE7C,MAAa,2BAA2B;IACtC,YACqB,aAA4B,EAC5B,YAA0B;QAD1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;IAC5C,CAAC;IAEE,IAAI;;YACR,OAAO;QACT,CAAC;KAAA;IAEK,cAAc,CAClB,MAAc,EACd,OAAe,EACf,EAAc,EACd,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx-ethereum/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ROUTE = "background-tx-executor";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tx-executor/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,KAAK,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getHandler = void 0;
|
|
13
|
+
const router_1 = require("@keplr-wallet/router");
|
|
14
|
+
const messages_1 = require("./messages");
|
|
15
|
+
const getHandler = (service) => {
|
|
16
|
+
return (env, msg) => {
|
|
17
|
+
switch (msg.constructor) {
|
|
18
|
+
case messages_1.RecordAndExecuteTxsMsg:
|
|
19
|
+
return handleRecordAndExecuteTxsMsg(service)(env, msg);
|
|
20
|
+
case messages_1.GetTxExecutionMsg:
|
|
21
|
+
return handleGetTxExecutionMsg(service)(env, msg);
|
|
22
|
+
case messages_1.ResumeTxMsg:
|
|
23
|
+
return handleResumeTxMsg(service)(env, msg);
|
|
24
|
+
default:
|
|
25
|
+
throw new router_1.KeplrError("direct-tx-executor", 100, "Unknown msg type");
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
exports.getHandler = getHandler;
|
|
30
|
+
const handleRecordAndExecuteTxsMsg = (service) => {
|
|
31
|
+
return (env, msg) => {
|
|
32
|
+
return service.recordAndExecuteTxs(env, msg.vaultId, msg.executionType, msg.txs, msg.executableChainIds, msg.historyData, msg.historyTxIndex);
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const handleResumeTxMsg = (service) => {
|
|
36
|
+
return (env, msg) => __awaiter(void 0, void 0, void 0, function* () {
|
|
37
|
+
return yield service.resumeTx(env, msg.id, msg.txIndex, msg.signedTx, msg.ibcSwapData);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
const handleGetTxExecutionMsg = (service) => {
|
|
41
|
+
return (_env, msg) => {
|
|
42
|
+
return service.getTxExecution(msg.id);
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/tx-executor/handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAM8B;AAE9B,yCAIoB;AAEb,MAAM,UAAU,GAAsD,CAC3E,OAAoC,EACpC,EAAE;IACF,OAAO,CAAC,GAAQ,EAAE,GAAqB,EAAE,EAAE;QACzC,QAAQ,GAAG,CAAC,WAAW,EAAE;YACvB,KAAK,iCAAsB;gBACzB,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAC1C,GAAG,EACH,GAA6B,CAC9B,CAAC;YACJ,KAAK,4BAAiB;gBACpB,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAwB,CAAC,CAAC;YACzE,KAAK,sBAAW;gBACd,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAkB,CAAC,CAAC;YAC7D;gBACE,MAAM,IAAI,mBAAU,CAAC,oBAAoB,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;SACvE;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB;AAEF,MAAM,4BAA4B,GAEa,CAAC,OAAO,EAAE,EAAE;IACzD,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClB,OAAO,OAAO,CAAC,mBAAmB,CAChC,GAAG,EACH,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,cAAc,CACnB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAEa,CAAC,OAAO,EAAE,EAAE;IAC9C,OAAO,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,OAAO,MAAM,OAAO,CAAC,QAAQ,CAC3B,GAAG,EACH,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,WAAW,CAChB,CAAC;IACJ,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAEa,CAAC,OAAO,EAAE,EAAE;IACpD,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./service"), exports);
|
|
18
|
+
__exportStar(require("./messages"), exports);
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tx-executor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B;AAC3B,0CAAwB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.init = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const handler_1 = require("./handler");
|
|
6
|
+
const messages_1 = require("./messages");
|
|
7
|
+
function init(router, service) {
|
|
8
|
+
router.registerMessage(messages_1.RecordAndExecuteTxsMsg);
|
|
9
|
+
router.registerMessage(messages_1.ResumeTxMsg);
|
|
10
|
+
router.registerMessage(messages_1.GetTxExecutionMsg);
|
|
11
|
+
router.addHandler(constants_1.ROUTE, (0, handler_1.getHandler)(service));
|
|
12
|
+
}
|
|
13
|
+
exports.init = init;
|
|
14
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/tx-executor/init.ts"],"names":[],"mappings":";;;AACA,2CAAoC;AACpC,uCAAuC;AAEvC,yCAIoB;AAEpB,SAAgB,IAAI,CAClB,MAAc,EACd,OAAoC;IAEpC,MAAM,CAAC,eAAe,CAAC,iCAAsB,CAAC,CAAC;IAC/C,MAAM,CAAC,eAAe,CAAC,sBAAW,CAAC,CAAC;IACpC,MAAM,CAAC,eAAe,CAAC,4BAAiB,CAAC,CAAC;IAE1C,MAAM,CAAC,UAAU,CAAC,iBAAK,EAAE,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC;AATD,oBASC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.EventBusSubscriber = exports.EventBusPublisher = exports.createSingleChannelEventBus = void 0;
|
|
18
|
+
__exportStar(require("./service"), exports);
|
|
19
|
+
__exportStar(require("./init"), exports);
|
|
20
|
+
var common_1 = require("@keplr-wallet/common");
|
|
21
|
+
Object.defineProperty(exports, "createSingleChannelEventBus", { enumerable: true, get: function () { return common_1.createSingleChannelEventBus; } });
|
|
22
|
+
Object.defineProperty(exports, "EventBusPublisher", { enumerable: true, get: function () { return common_1.EventBusPublisher; } });
|
|
23
|
+
Object.defineProperty(exports, "EventBusSubscriber", { enumerable: true, get: function () { return common_1.EventBusSubscriber; } });
|
|
24
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/tx-executor/internal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB;AAEvB,+CAK8B;AAJ5B,qHAAA,2BAA2B,OAAA;AAC3B,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA"}
|