@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.
@@ -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
- const txTracer = new cosmos_1.TendermintTxTracer(chainInfo.rpc, "/websocket");
71
- txTracer.traceTx(txHash).then((tx) => {
72
- txTracer.close();
73
- if (options.onFulfill) {
74
- options.onFulfill(tx);
75
- }
76
- if (!options.silent) {
77
- BackgroundTxService.processTxResultNotification(this.notification, tx);
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":"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"}
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-rc.1",
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-rc.1",
32
- "@keplr-wallet/common": "0.12.46-rc.1",
33
- "@keplr-wallet/cosmos": "0.12.46-rc.1",
34
- "@keplr-wallet/crypto": "0.12.46-rc.1",
35
- "@keplr-wallet/ledger-cosmos": "0.12.46-rc.1",
36
- "@keplr-wallet/popup": "0.12.46-rc.1",
37
- "@keplr-wallet/proto-types": "0.12.46-rc.1",
38
- "@keplr-wallet/router": "0.12.46-rc.1",
39
- "@keplr-wallet/simple-fetch": "0.12.46-rc.1",
40
- "@keplr-wallet/types": "0.12.46-rc.1",
41
- "@keplr-wallet/unit": "0.12.46-rc.1",
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": "5aa881be7e456e4a2ef352e64ee0615d0fe5aa36"
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
- const txTracer = new TendermintTxTracer(chainInfo.rpc, "/websocket");
94
- txTracer.traceTx(txHash).then((tx) => {
95
- txTracer.close();
96
-
97
- if (options.onFulfill) {
98
- options.onFulfill(tx);
99
- }
100
-
101
- if (!options.silent) {
102
- BackgroundTxService.processTxResultNotification(
103
- this.notification,
104
- tx
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) {