@keplr-wallet/stores-core 0.12.73 → 0.12.74-rc.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/build/core/interaction/eth-sign.js +1 -1
- package/build/core/interaction/eth-sign.js.map +1 -1
- package/build/core/tokens.d.ts +0 -1
- package/build/core/tokens.js +34 -20
- package/build/core/tokens.js.map +1 -1
- package/package.json +9 -9
- package/src/core/interaction/eth-sign.ts +1 -1
- package/src/core/tokens.ts +57 -24
@@ -46,7 +46,7 @@ class SignEthereumInteractionStore {
|
|
46
46
|
}
|
47
47
|
rejectAll() {
|
48
48
|
return __awaiter(this, void 0, void 0, function* () {
|
49
|
-
yield this.interactionStore.rejectAll("request-sign-
|
49
|
+
yield this.interactionStore.rejectAll("request-sign-ethereum");
|
50
50
|
});
|
51
51
|
}
|
52
52
|
isObsoleteInteraction(id) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eth-sign.js","sourceRoot":"","sources":["../../../src/core/interaction/eth-sign.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,+BAAgD;AAehD,MAAa,4BAA4B;IACvC,YAA+B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC/D,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CACrC,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAGD,IAAI,WAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAEK,sBAAsB,CAC1B,EAAU,EACV,SAAiC,EACjC,OAAuD,EACvD,UAEI,EAAE;;YAEN,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAClD,EAAE,EACF;gBACE,SAAS;aACV,EACD,OAAO,EACP,OAAO,CACR,CAAC;QACJ,CAAC;KAAA;IAEK,qBAAqB,CACzB,EAAU,EACV,OAAuD;;YAEvD,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,SAAS;;YACb,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,
|
1
|
+
{"version":3,"file":"eth-sign.js","sourceRoot":"","sources":["../../../src/core/interaction/eth-sign.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,+BAAgD;AAehD,MAAa,4BAA4B;IACvC,YAA+B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC/D,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CACrC,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAGD,IAAI,WAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAEK,sBAAsB,CAC1B,EAAU,EACV,SAAiC,EACjC,OAAuD,EACvD,UAEI,EAAE;;YAEN,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAClD,EAAE,EACF;gBACE,SAAS;aACV,EACD,OAAO,EACP,OAAO,CACR,CAAC;QACJ,CAAC;KAAA;IAEK,qBAAqB,CACzB,EAAU,EACV,OAAuD;;YAEvD,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,SAAS;;YACb,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACjE,CAAC;KAAA;IAED,qBAAqB,CAAC,EAAsB;QAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AA1CC;IADC,eAAQ;+DASR;AApBH,oEAsDC"}
|
package/build/core/tokens.d.ts
CHANGED
@@ -31,7 +31,6 @@ export declare class TokensStore {
|
|
31
31
|
get waitingSuggestedToken(): import("@keplr-wallet/background").InteractionWaitingData<{
|
32
32
|
chainId: string;
|
33
33
|
contractAddress: string;
|
34
|
-
viewingKey?: string | undefined;
|
35
34
|
}> | undefined;
|
36
35
|
approveSuggestedTokenWithProceedNext(id: string, appCurrency: AppCurrency, afterFn: (proceedNext: boolean) => void | Promise<void>): Promise<void>;
|
37
36
|
rejectSuggestedToken(id: string, afterFn: (proceedNext: boolean) => void | Promise<void>): Promise<void>;
|
package/build/core/tokens.js
CHANGED
@@ -56,11 +56,13 @@ class TokensStore {
|
|
56
56
|
}
|
57
57
|
refreshTokens() {
|
58
58
|
return __awaiter(this, void 0, void 0, function* () {
|
59
|
-
const
|
60
|
-
const
|
59
|
+
const allCW20TokenInfosMsg = new background_1.GetAllTokenInfosMsg();
|
60
|
+
const allERC20TokenInfosMsg = new background_1.GetAllERC20TokenInfosMsg();
|
61
|
+
const cw20Tokens = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, allCW20TokenInfosMsg);
|
62
|
+
const erc20Tokens = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, allERC20TokenInfosMsg);
|
61
63
|
(0, mobx_1.runInAction)(() => {
|
62
64
|
const map = new Map();
|
63
|
-
for (const [key, value] of Object.entries(
|
65
|
+
for (const [key, value] of Object.entries(cw20Tokens).concat(Object.entries(erc20Tokens))) {
|
64
66
|
if (value) {
|
65
67
|
map.set(key, value);
|
66
68
|
}
|
@@ -146,17 +148,20 @@ class TokensStore {
|
|
146
148
|
throw new Error("Account not initialized");
|
147
149
|
}
|
148
150
|
const chainInfo = this.chainStore.getChain(chainId);
|
151
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
149
152
|
const associatedAccountAddress = buffer_1.Buffer.from(cosmos_1.Bech32Address.fromBech32(bech32Address, chainInfo.bech32Config.bech32PrefixAccAddr).address).toString("hex");
|
150
|
-
const msg =
|
153
|
+
const msg = isEvmChain
|
154
|
+
? new background_1.AddERC20TokenMsg(chainId, currency)
|
155
|
+
: new background_1.AddTokenMsg(chainId, associatedAccountAddress, currency);
|
151
156
|
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
152
157
|
(0, mobx_1.runInAction)(() => {
|
153
|
-
const
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
+
const newTokenMap = new Map(this.tokenMap);
|
159
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
160
|
+
const newTokens = res[chainIdentifier.identifier];
|
161
|
+
if (newTokens) {
|
162
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
158
163
|
}
|
159
|
-
this.tokenMap =
|
164
|
+
this.tokenMap = newTokenMap;
|
160
165
|
});
|
161
166
|
});
|
162
167
|
}
|
@@ -169,26 +174,34 @@ class TokensStore {
|
|
169
174
|
}
|
170
175
|
throw new Error("Token info is not for contract");
|
171
176
|
})();
|
172
|
-
const
|
177
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
178
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
179
|
+
const msg = isEvmChain
|
180
|
+
? new background_1.RemoveERC20TokenMsg(chainId, contractAddress)
|
181
|
+
: new background_1.RemoveTokenMsg(chainId, (_a = tokenInfo.associatedAccountAddress) !== null && _a !== void 0 ? _a : "", contractAddress);
|
173
182
|
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
174
183
|
(0, mobx_1.runInAction)(() => {
|
175
184
|
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
176
185
|
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
177
186
|
this.clearTokensFromChainInfos();
|
178
|
-
const
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
187
|
+
const newTokenMap = new Map(this.tokenMap);
|
188
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
189
|
+
const newTokens = res[chainIdentifier.identifier];
|
190
|
+
if (newTokens) {
|
191
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
183
192
|
}
|
184
|
-
this.tokenMap =
|
193
|
+
this.tokenMap = newTokenMap;
|
185
194
|
});
|
186
195
|
});
|
187
196
|
}
|
188
197
|
get waitingSuggestedToken() {
|
189
|
-
const
|
190
|
-
if (
|
191
|
-
return
|
198
|
+
const cw20Datas = this.interactionStore.getAllData("suggest-token-cw20");
|
199
|
+
if (cw20Datas.length > 0) {
|
200
|
+
return cw20Datas[0];
|
201
|
+
}
|
202
|
+
const erc20Datas = this.interactionStore.getAllData("suggest-token-erc20");
|
203
|
+
if (erc20Datas.length > 0) {
|
204
|
+
return erc20Datas[0];
|
192
205
|
}
|
193
206
|
}
|
194
207
|
approveSuggestedTokenWithProceedNext(id, appCurrency, afterFn) {
|
@@ -209,6 +222,7 @@ class TokensStore {
|
|
209
222
|
rejectAllSuggestedTokens() {
|
210
223
|
return __awaiter(this, void 0, void 0, function* () {
|
211
224
|
yield this.interactionStore.rejectAll("suggest-token-cw20");
|
225
|
+
yield this.interactionStore.rejectAll("suggest-token-erc20");
|
212
226
|
});
|
213
227
|
}
|
214
228
|
}
|
package/build/core/tokens.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/core/tokens.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iDAAyE;AACzE,
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/core/tokens.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@keplr-wallet/stores-core",
|
3
|
-
"version": "0.12.
|
3
|
+
"version": "0.12.74-rc.1",
|
4
4
|
"main": "build/index.js",
|
5
5
|
"author": "chainapsis",
|
6
6
|
"license": "Apache-2.0",
|
@@ -16,16 +16,16 @@
|
|
16
16
|
"lint-fix": "eslint --fix \"src/**/*\" && prettier --write \"src/**/*\""
|
17
17
|
},
|
18
18
|
"dependencies": {
|
19
|
-
"@keplr-wallet/background": "0.12.
|
20
|
-
"@keplr-wallet/common": "0.12.
|
21
|
-
"@keplr-wallet/cosmos": "0.12.
|
22
|
-
"@keplr-wallet/router": "0.12.
|
23
|
-
"@keplr-wallet/simple-fetch": "0.12.
|
24
|
-
"@keplr-wallet/stores": "0.12.
|
25
|
-
"@keplr-wallet/types": "0.12.
|
19
|
+
"@keplr-wallet/background": "0.12.74-rc.1",
|
20
|
+
"@keplr-wallet/common": "0.12.74-rc.1",
|
21
|
+
"@keplr-wallet/cosmos": "0.12.74-rc.1",
|
22
|
+
"@keplr-wallet/router": "0.12.74-rc.1",
|
23
|
+
"@keplr-wallet/simple-fetch": "0.12.74-rc.1",
|
24
|
+
"@keplr-wallet/stores": "0.12.74-rc.1",
|
25
|
+
"@keplr-wallet/types": "0.12.74-rc.1",
|
26
26
|
"buffer": "^6.0.3",
|
27
27
|
"mobx": "^6.1.7",
|
28
28
|
"mobx-utils": "^6.0.3"
|
29
29
|
},
|
30
|
-
"gitHead": "
|
30
|
+
"gitHead": "e8019daf36e6b131dd9aa37ad2b2f40a0d86a899"
|
31
31
|
}
|
@@ -62,7 +62,7 @@ export class SignEthereumInteractionStore {
|
|
62
62
|
}
|
63
63
|
|
64
64
|
async rejectAll() {
|
65
|
-
await this.interactionStore.rejectAll("request-sign-
|
65
|
+
await this.interactionStore.rejectAll("request-sign-ethereum");
|
66
66
|
}
|
67
67
|
|
68
68
|
isObsoleteInteraction(id: string | undefined): boolean {
|
package/src/core/tokens.ts
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
import { BACKGROUND_PORT, MessageRequester } from "@keplr-wallet/router";
|
2
2
|
import {
|
3
|
+
AddERC20TokenMsg,
|
3
4
|
AddTokenMsg,
|
5
|
+
GetAllERC20TokenInfosMsg,
|
4
6
|
GetAllTokenInfosMsg,
|
5
7
|
RemoveTokenMsg,
|
8
|
+
RemoveERC20TokenMsg,
|
6
9
|
TokenInfo,
|
7
10
|
} from "@keplr-wallet/background";
|
8
11
|
import { action, autorun, makeObservable, observable, runInAction } from "mobx";
|
@@ -59,11 +62,21 @@ export class TokensStore {
|
|
59
62
|
}
|
60
63
|
|
61
64
|
protected async refreshTokens() {
|
62
|
-
const
|
63
|
-
const
|
65
|
+
const allCW20TokenInfosMsg = new GetAllTokenInfosMsg();
|
66
|
+
const allERC20TokenInfosMsg = new GetAllERC20TokenInfosMsg();
|
67
|
+
const cw20Tokens = await this.requester.sendMessage(
|
68
|
+
BACKGROUND_PORT,
|
69
|
+
allCW20TokenInfosMsg
|
70
|
+
);
|
71
|
+
const erc20Tokens = await this.requester.sendMessage(
|
72
|
+
BACKGROUND_PORT,
|
73
|
+
allERC20TokenInfosMsg
|
74
|
+
);
|
64
75
|
runInAction(() => {
|
65
76
|
const map = new Map<string, TokenInfo[]>();
|
66
|
-
for (const [key, value] of Object.entries(
|
77
|
+
for (const [key, value] of Object.entries(cw20Tokens).concat(
|
78
|
+
Object.entries(erc20Tokens)
|
79
|
+
)) {
|
67
80
|
if (value) {
|
68
81
|
map.set(key, value);
|
69
82
|
}
|
@@ -178,6 +191,7 @@ export class TokensStore {
|
|
178
191
|
throw new Error("Account not initialized");
|
179
192
|
}
|
180
193
|
const chainInfo = this.chainStore.getChain(chainId);
|
194
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
181
195
|
const associatedAccountAddress = Buffer.from(
|
182
196
|
Bech32Address.fromBech32(
|
183
197
|
bech32Address,
|
@@ -185,16 +199,19 @@ export class TokensStore {
|
|
185
199
|
).address
|
186
200
|
).toString("hex");
|
187
201
|
|
188
|
-
const msg =
|
202
|
+
const msg = isEvmChain
|
203
|
+
? new AddERC20TokenMsg(chainId, currency)
|
204
|
+
: new AddTokenMsg(chainId, associatedAccountAddress, currency);
|
189
205
|
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
190
206
|
runInAction(() => {
|
191
|
-
const
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
207
|
+
const newTokenMap = new Map(this.tokenMap);
|
208
|
+
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
209
|
+
const newTokens = res[chainIdentifier.identifier];
|
210
|
+
if (newTokens) {
|
211
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
196
212
|
}
|
197
|
-
|
213
|
+
|
214
|
+
this.tokenMap = newTokenMap;
|
198
215
|
});
|
199
216
|
}
|
200
217
|
|
@@ -207,36 +224,51 @@ export class TokensStore {
|
|
207
224
|
throw new Error("Token info is not for contract");
|
208
225
|
})();
|
209
226
|
|
210
|
-
const
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
227
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
228
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
229
|
+
|
230
|
+
const msg = isEvmChain
|
231
|
+
? new RemoveERC20TokenMsg(chainId, contractAddress)
|
232
|
+
: new RemoveTokenMsg(
|
233
|
+
chainId,
|
234
|
+
tokenInfo.associatedAccountAddress ?? "",
|
235
|
+
contractAddress
|
236
|
+
);
|
215
237
|
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
216
238
|
runInAction(() => {
|
217
239
|
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
218
240
|
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
219
241
|
this.clearTokensFromChainInfos();
|
220
242
|
|
221
|
-
const
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
243
|
+
const newTokenMap = new Map(this.tokenMap);
|
244
|
+
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
245
|
+
const newTokens = res[chainIdentifier.identifier];
|
246
|
+
if (newTokens) {
|
247
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
226
248
|
}
|
227
|
-
|
249
|
+
|
250
|
+
this.tokenMap = newTokenMap;
|
228
251
|
});
|
229
252
|
}
|
230
253
|
|
231
254
|
get waitingSuggestedToken() {
|
232
|
-
const
|
255
|
+
const cw20Datas = this.interactionStore.getAllData<{
|
233
256
|
chainId: string;
|
234
257
|
contractAddress: string;
|
235
258
|
viewingKey?: string;
|
236
259
|
}>("suggest-token-cw20");
|
237
260
|
|
238
|
-
if (
|
239
|
-
return
|
261
|
+
if (cw20Datas.length > 0) {
|
262
|
+
return cw20Datas[0];
|
263
|
+
}
|
264
|
+
|
265
|
+
const erc20Datas = this.interactionStore.getAllData<{
|
266
|
+
chainId: string;
|
267
|
+
contractAddress: string;
|
268
|
+
}>("suggest-token-erc20");
|
269
|
+
|
270
|
+
if (erc20Datas.length > 0) {
|
271
|
+
return erc20Datas[0];
|
240
272
|
}
|
241
273
|
}
|
242
274
|
|
@@ -271,5 +303,6 @@ export class TokensStore {
|
|
271
303
|
|
272
304
|
async rejectAllSuggestedTokens() {
|
273
305
|
await this.interactionStore.rejectAll("suggest-token-cw20");
|
306
|
+
await this.interactionStore.rejectAll("suggest-token-erc20");
|
274
307
|
}
|
275
308
|
}
|