@keplr-wallet/background 0.12.46-rc.1 → 0.12.46
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/tx/service.js +34 -9
- package/build/tx/service.js.map +1 -1
- package/package.json +13 -13
- package/src/tx/service.ts +46 -14
package/build/tx/service.js
CHANGED
|
@@ -13,6 +13,7 @@ exports.BackgroundTxService = void 0;
|
|
|
13
13
|
const cosmos_1 = require("@keplr-wallet/cosmos");
|
|
14
14
|
const simple_fetch_1 = require("@keplr-wallet/simple-fetch");
|
|
15
15
|
const buffer_1 = require("buffer/");
|
|
16
|
+
const common_1 = require("@keplr-wallet/common");
|
|
16
17
|
class BackgroundTxService {
|
|
17
18
|
constructor(chainsService, notification) {
|
|
18
19
|
this.chainsService = chainsService;
|
|
@@ -67,15 +68,39 @@ class BackgroundTxService {
|
|
|
67
68
|
throw new Error(txResponse["raw_log"]);
|
|
68
69
|
}
|
|
69
70
|
const txHash = buffer_1.Buffer.from(txResponse.txhash, "hex");
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
// 이 기능은 tx commit일때 notification을 띄울 뿐이다.
|
|
72
|
+
// 실제 로직 처리와는 관계가 없어야하기 때문에 여기서 await을 하면 안된다!!
|
|
73
|
+
(0, common_1.retry)(() => {
|
|
74
|
+
return new Promise((resolve, reject) => {
|
|
75
|
+
const txTracer = new cosmos_1.TendermintTxTracer(chainInfo.rpc, "/websocket");
|
|
76
|
+
txTracer.addEventListener("close", () => {
|
|
77
|
+
// reject if ws closed before fulfilled
|
|
78
|
+
// 하지만 로직상 fulfill 되기 전에 ws가 닫히는게 되기 때문에
|
|
79
|
+
// delay를 좀 준다.
|
|
80
|
+
// trace 이후 로직은 동기적인 로직밖에 없기 때문에 문제될 게 없다.
|
|
81
|
+
// 문제될게 없다.
|
|
82
|
+
setTimeout(() => {
|
|
83
|
+
reject();
|
|
84
|
+
}, 500);
|
|
85
|
+
});
|
|
86
|
+
txTracer.addEventListener("error", () => {
|
|
87
|
+
reject();
|
|
88
|
+
});
|
|
89
|
+
txTracer.traceTx(txHash).then((tx) => {
|
|
90
|
+
txTracer.close();
|
|
91
|
+
if (options.onFulfill) {
|
|
92
|
+
options.onFulfill(tx);
|
|
93
|
+
}
|
|
94
|
+
if (!options.silent) {
|
|
95
|
+
BackgroundTxService.processTxResultNotification(this.notification, tx);
|
|
96
|
+
}
|
|
97
|
+
resolve();
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}, {
|
|
101
|
+
maxRetries: 10,
|
|
102
|
+
waitMsAfterError: 10 * 1000,
|
|
103
|
+
maxWaitMsAfterError: 5 * 60 * 1000, // 5min
|
|
79
104
|
});
|
|
80
105
|
return txHash;
|
|
81
106
|
}
|
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;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keplr-wallet/background",
|
|
3
|
-
"version": "0.12.46
|
|
3
|
+
"version": "0.12.46",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"author": "chainapsis",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -28,17 +28,17 @@
|
|
|
28
28
|
"@ethersproject/hash": "^5.7.0",
|
|
29
29
|
"@ethersproject/transactions": "^5.7.0",
|
|
30
30
|
"@ethersproject/wallet": "^5.7.0",
|
|
31
|
-
"@keplr-wallet/chain-validator": "0.12.46
|
|
32
|
-
"@keplr-wallet/common": "0.12.46
|
|
33
|
-
"@keplr-wallet/cosmos": "0.12.46
|
|
34
|
-
"@keplr-wallet/crypto": "0.12.46
|
|
35
|
-
"@keplr-wallet/ledger-cosmos": "0.12.46
|
|
36
|
-
"@keplr-wallet/popup": "0.12.46
|
|
37
|
-
"@keplr-wallet/proto-types": "0.12.46
|
|
38
|
-
"@keplr-wallet/router": "0.12.46
|
|
39
|
-
"@keplr-wallet/simple-fetch": "0.12.46
|
|
40
|
-
"@keplr-wallet/types": "0.12.46
|
|
41
|
-
"@keplr-wallet/unit": "0.12.46
|
|
31
|
+
"@keplr-wallet/chain-validator": "0.12.46",
|
|
32
|
+
"@keplr-wallet/common": "0.12.46",
|
|
33
|
+
"@keplr-wallet/cosmos": "0.12.46",
|
|
34
|
+
"@keplr-wallet/crypto": "0.12.46",
|
|
35
|
+
"@keplr-wallet/ledger-cosmos": "0.12.46",
|
|
36
|
+
"@keplr-wallet/popup": "0.12.46",
|
|
37
|
+
"@keplr-wallet/proto-types": "0.12.46",
|
|
38
|
+
"@keplr-wallet/router": "0.12.46",
|
|
39
|
+
"@keplr-wallet/simple-fetch": "0.12.46",
|
|
40
|
+
"@keplr-wallet/types": "0.12.46",
|
|
41
|
+
"@keplr-wallet/unit": "0.12.46",
|
|
42
42
|
"@ledgerhq/hw-app-eth": "^6.29.3",
|
|
43
43
|
"@ledgerhq/hw-transport": "^6.20.0",
|
|
44
44
|
"@ledgerhq/hw-transport-webhid": "^6.20.0",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"pbkdf2": "^3.1.2",
|
|
59
59
|
"utility-types": "^3.10.0"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "1e45bc0fc40dfa3a9eaf891fd229fd4ba01be6c5"
|
|
62
62
|
}
|
package/src/tx/service.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { TendermintTxTracer } from "@keplr-wallet/cosmos";
|
|
|
3
3
|
import { Notification } from "./types";
|
|
4
4
|
import { simpleFetch } from "@keplr-wallet/simple-fetch";
|
|
5
5
|
import { Buffer } from "buffer/";
|
|
6
|
+
import { retry } from "@keplr-wallet/common";
|
|
6
7
|
|
|
7
8
|
interface CosmosSdkError {
|
|
8
9
|
codespace: string;
|
|
@@ -90,21 +91,52 @@ export class BackgroundTxService {
|
|
|
90
91
|
|
|
91
92
|
const txHash = Buffer.from(txResponse.txhash, "hex");
|
|
92
93
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
94
|
+
// 이 기능은 tx commit일때 notification을 띄울 뿐이다.
|
|
95
|
+
// 실제 로직 처리와는 관계가 없어야하기 때문에 여기서 await을 하면 안된다!!
|
|
96
|
+
retry(
|
|
97
|
+
() => {
|
|
98
|
+
return new Promise<void>((resolve, reject) => {
|
|
99
|
+
const txTracer = new TendermintTxTracer(
|
|
100
|
+
chainInfo.rpc,
|
|
101
|
+
"/websocket"
|
|
102
|
+
);
|
|
103
|
+
txTracer.addEventListener("close", () => {
|
|
104
|
+
// reject if ws closed before fulfilled
|
|
105
|
+
// 하지만 로직상 fulfill 되기 전에 ws가 닫히는게 되기 때문에
|
|
106
|
+
// delay를 좀 준다.
|
|
107
|
+
// trace 이후 로직은 동기적인 로직밖에 없기 때문에 문제될 게 없다.
|
|
108
|
+
// 문제될게 없다.
|
|
109
|
+
setTimeout(() => {
|
|
110
|
+
reject();
|
|
111
|
+
}, 500);
|
|
112
|
+
});
|
|
113
|
+
txTracer.addEventListener("error", () => {
|
|
114
|
+
reject();
|
|
115
|
+
});
|
|
116
|
+
txTracer.traceTx(txHash).then((tx) => {
|
|
117
|
+
txTracer.close();
|
|
118
|
+
|
|
119
|
+
if (options.onFulfill) {
|
|
120
|
+
options.onFulfill(tx);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (!options.silent) {
|
|
124
|
+
BackgroundTxService.processTxResultNotification(
|
|
125
|
+
this.notification,
|
|
126
|
+
tx
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
resolve();
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
maxRetries: 10,
|
|
136
|
+
waitMsAfterError: 10 * 1000, // 10sec
|
|
137
|
+
maxWaitMsAfterError: 5 * 60 * 1000, // 5min
|
|
106
138
|
}
|
|
107
|
-
|
|
139
|
+
);
|
|
108
140
|
|
|
109
141
|
return txHash;
|
|
110
142
|
} catch (e) {
|