@keplr-wallet/stores-core 0.12.132 → 0.12.133-rc.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/core/interaction/index.d.ts +1 -0
- package/build/core/interaction/index.js +1 -0
- package/build/core/interaction/index.js.map +1 -1
- package/build/core/interaction/permission.d.ts +3 -0
- package/build/core/interaction/permission.js +32 -1
- package/build/core/interaction/permission.js.map +1 -1
- package/build/core/interaction/starknet-sign-tx.d.ts +23 -0
- package/build/core/interaction/starknet-sign-tx.js +61 -0
- package/build/core/interaction/starknet-sign-tx.js.map +1 -0
- package/build/core/tokens.js +128 -56
- package/build/core/tokens.js.map +1 -1
- package/package.json +11 -10
- package/src/core/interaction/index.ts +1 -0
- package/src/core/interaction/permission.ts +46 -1
- package/src/core/interaction/starknet-sign-tx.ts +71 -0
- package/src/core/tokens.ts +160 -73
@@ -20,4 +20,5 @@ __exportStar(require("./sign"), exports);
|
|
20
20
|
__exportStar(require("./chain-suggest"), exports);
|
21
21
|
__exportStar(require("./icns"), exports);
|
22
22
|
__exportStar(require("./eth-sign"), exports);
|
23
|
+
__exportStar(require("./starknet-sign-tx"), exports);
|
23
24
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/interaction/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,yCAAuB;AACvB,kDAAgC;AAChC,yCAAuB;AACvB,6CAA2B"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/interaction/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,yCAAuB;AACvB,kDAAgC;AAChC,yCAAuB;AACvB,6CAA2B;AAC3B,qDAAmC"}
|
@@ -15,6 +15,9 @@ export declare class PermissionStore {
|
|
15
15
|
get waitingPermissionMergedDataForEVM(): ({
|
16
16
|
ids: string[];
|
17
17
|
} & PermissionData) | undefined;
|
18
|
+
get waitingPermissionMergedDataForStarknet(): ({
|
19
|
+
ids: string[];
|
20
|
+
} & PermissionData) | undefined;
|
18
21
|
get waitingGlobalPermissionData(): import("@keplr-wallet/background").InteractionWaitingData<GlobalPermissionData> | undefined;
|
19
22
|
get waitingGlobalPermissionDatas(): import("@keplr-wallet/background").InteractionWaitingData<GlobalPermissionData>[];
|
20
23
|
approvePermissionWithProceedNext(id: string | string[], afterFn: (proceedNext: boolean) => void | Promise<void>, result?: string): Promise<void>;
|
@@ -35,7 +35,7 @@ class PermissionStore {
|
|
35
35
|
return this.interactionStore.getAllData(background_1.INTERACTION_TYPE_PERMISSION);
|
36
36
|
}
|
37
37
|
get waitingPermissionMergedData() {
|
38
|
-
const data = this.waitingPermissionDatas.filter((data) => { var _a; return !((_a = data.data.options) === null || _a === void 0 ? void 0 : _a.isForEVM); });
|
38
|
+
const data = this.waitingPermissionDatas.filter((data) => { var _a, _b; return !((_a = data.data.options) === null || _a === void 0 ? void 0 : _a.isForEVM) && !((_b = data.data.options) === null || _b === void 0 ? void 0 : _b.isForStarknet); });
|
39
39
|
if (data.length === 0) {
|
40
40
|
return;
|
41
41
|
}
|
@@ -90,6 +90,34 @@ class PermissionStore {
|
|
90
90
|
res.chainIds = [...new Set(res.chainIds)];
|
91
91
|
return res;
|
92
92
|
}
|
93
|
+
get waitingPermissionMergedDataForStarknet() {
|
94
|
+
const data = this.waitingPermissionDatas.filter((data) => { var _a; return !!((_a = data.data.options) === null || _a === void 0 ? void 0 : _a.isForStarknet); });
|
95
|
+
if (data.length === 0) {
|
96
|
+
return;
|
97
|
+
}
|
98
|
+
const first = data[0];
|
99
|
+
const res = {
|
100
|
+
ids: [first.id],
|
101
|
+
chainIds: first.data.chainIds,
|
102
|
+
type: first.data.type,
|
103
|
+
origins: first.data.origins,
|
104
|
+
options: first.data.options,
|
105
|
+
};
|
106
|
+
for (let i = 1; i < data.length; i++) {
|
107
|
+
const d = data[i];
|
108
|
+
if (d.data.type !== first.data.type) {
|
109
|
+
break;
|
110
|
+
}
|
111
|
+
if (d.data.origins.join(",") !== first.data.origins.join(",")) {
|
112
|
+
break;
|
113
|
+
}
|
114
|
+
res.ids.push(d.id);
|
115
|
+
res.chainIds.push(...d.data.chainIds);
|
116
|
+
}
|
117
|
+
// Remove duplicated chain ids.
|
118
|
+
res.chainIds = [...new Set(res.chainIds)];
|
119
|
+
return res;
|
120
|
+
}
|
93
121
|
get waitingGlobalPermissionData() {
|
94
122
|
if (this.waitingGlobalPermissionDatas.length > 0) {
|
95
123
|
return this.waitingGlobalPermissionDatas[0];
|
@@ -145,5 +173,8 @@ __decorate([
|
|
145
173
|
__decorate([
|
146
174
|
mobx_1.computed
|
147
175
|
], PermissionStore.prototype, "waitingPermissionMergedDataForEVM", null);
|
176
|
+
__decorate([
|
177
|
+
mobx_1.computed
|
178
|
+
], PermissionStore.prototype, "waitingPermissionMergedDataForStarknet", null);
|
148
179
|
exports.PermissionStore = PermissionStore;
|
149
180
|
//# sourceMappingURL=permission.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/core/interaction/permission.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,yDAMkC;AAClC,iDAAyE;AACzE,+BAAgD;AAGhD,MAAa,eAAe;IAC1B,YACqB,gBAAkC,EAClC,sBAA8C,EAC9C,SAA2B;QAF3B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,cAAS,GAAT,SAAS,CAAkB;QAE9C,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,qBAAqB;QACvB,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;SACvC;IACH,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CACrC,wCAA2B,CAC5B,CAAC;IACJ,CAAC;IAGD,IAAI,2BAA2B;QAK7B,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAC7C,CAAC,IAAI,EAAE,EAAE,
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/core/interaction/permission.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { InteractionStore } from "./interaction";
|
2
|
+
import { Call, InvocationsSignerDetails } from "starknet";
|
3
|
+
export type SignStarknetTxInteractionData = {
|
4
|
+
origin: string;
|
5
|
+
vaultId: string;
|
6
|
+
chainId: string;
|
7
|
+
signer: string;
|
8
|
+
transactions: Call[];
|
9
|
+
details: InvocationsSignerDetails;
|
10
|
+
noChangeTx: boolean;
|
11
|
+
};
|
12
|
+
export declare class SignStarknetTxInteractionStore {
|
13
|
+
protected readonly interactionStore: InteractionStore;
|
14
|
+
constructor(interactionStore: InteractionStore);
|
15
|
+
get waitingDatas(): import("@keplr-wallet/background").InteractionWaitingData<SignStarknetTxInteractionData>[];
|
16
|
+
get waitingData(): import("@keplr-wallet/background").InteractionWaitingData<SignStarknetTxInteractionData> | undefined;
|
17
|
+
approveWithProceedNext(id: string, transactions: Call[], details: InvocationsSignerDetails, afterFn: (proceedNext: boolean) => void | Promise<void>, options?: {
|
18
|
+
preDelay?: number;
|
19
|
+
}): Promise<void>;
|
20
|
+
rejectWithProceedNext(id: string, afterFn: (proceedNext: boolean) => void | Promise<void>): Promise<void>;
|
21
|
+
rejectAll(): Promise<void>;
|
22
|
+
isObsoleteInteraction(id: string | undefined): boolean;
|
23
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
+
};
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
15
|
+
});
|
16
|
+
};
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.SignStarknetTxInteractionStore = void 0;
|
19
|
+
const mobx_1 = require("mobx");
|
20
|
+
class SignStarknetTxInteractionStore {
|
21
|
+
constructor(interactionStore) {
|
22
|
+
this.interactionStore = interactionStore;
|
23
|
+
(0, mobx_1.makeObservable)(this);
|
24
|
+
}
|
25
|
+
get waitingDatas() {
|
26
|
+
return this.interactionStore.getAllData("request-sign-starknet-tx");
|
27
|
+
}
|
28
|
+
get waitingData() {
|
29
|
+
const datas = this.waitingDatas;
|
30
|
+
if (datas.length === 0) {
|
31
|
+
return undefined;
|
32
|
+
}
|
33
|
+
return datas[0];
|
34
|
+
}
|
35
|
+
approveWithProceedNext(id, transactions, details, afterFn, options = {}) {
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
37
|
+
yield this.interactionStore.approveWithProceedNextV2(id, {
|
38
|
+
transactions,
|
39
|
+
details,
|
40
|
+
}, afterFn, options);
|
41
|
+
});
|
42
|
+
}
|
43
|
+
rejectWithProceedNext(id, afterFn) {
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
45
|
+
yield this.interactionStore.rejectWithProceedNext(id, afterFn);
|
46
|
+
});
|
47
|
+
}
|
48
|
+
rejectAll() {
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
50
|
+
yield this.interactionStore.rejectAll("request-sign-starknet-tx");
|
51
|
+
});
|
52
|
+
}
|
53
|
+
isObsoleteInteraction(id) {
|
54
|
+
return this.interactionStore.isObsoleteInteraction(id);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
__decorate([
|
58
|
+
mobx_1.computed
|
59
|
+
], SignStarknetTxInteractionStore.prototype, "waitingData", null);
|
60
|
+
exports.SignStarknetTxInteractionStore = SignStarknetTxInteractionStore;
|
61
|
+
//# sourceMappingURL=starknet-sign-tx.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"starknet-sign-tx.js","sourceRoot":"","sources":["../../../src/core/interaction/starknet-sign-tx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,+BAAgD;AAahD,MAAa,8BAA8B;IACzC,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,0BAA0B,CAC3B,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,YAAoB,EACpB,OAAiC,EACjC,OAAuD,EACvD,UAEI,EAAE;;YAEN,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAClD,EAAE,EACF;gBACE,YAAY;gBACZ,OAAO;aACR,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,0BAA0B,CAAC,CAAC;QACpE,CAAC;KAAA;IAED,qBAAqB,CAAC,EAAsB;QAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AA5CC;IADC,eAAQ;iEASR;AApBH,wEAwDC"}
|
package/build/core/tokens.js
CHANGED
@@ -72,7 +72,7 @@ class TokensStore {
|
|
72
72
|
});
|
73
73
|
}
|
74
74
|
clearTokensFromChainInfos() {
|
75
|
-
var _a;
|
75
|
+
var _a, _b;
|
76
76
|
const chainInfos = this.chainStore.chainInfos;
|
77
77
|
for (const chainInfo of chainInfos) {
|
78
78
|
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
@@ -82,9 +82,18 @@ class TokensStore {
|
|
82
82
|
const prevTokens = (_a = this.prevTokenMap.get(chainIdentifier.identifier)) !== null && _a !== void 0 ? _a : [];
|
83
83
|
chainInfo.removeCurrencies(...prevTokens.map((token) => token.currency.coinMinimalDenom));
|
84
84
|
}
|
85
|
+
const modularChainInfoImpls = this.chainStore.modularChainInfoImpls;
|
86
|
+
for (const modularChainInfoImpl of modularChainInfoImpls) {
|
87
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfoImpl.chainId);
|
88
|
+
const prevTokens = (_b = this.prevTokenMap.get(chainIdentifier.identifier)) !== null && _b !== void 0 ? _b : [];
|
89
|
+
if ("starknet" in modularChainInfoImpl &&
|
90
|
+
modularChainInfoImpl.starknet != null) {
|
91
|
+
modularChainInfoImpl.removeCurrencies("starknet", ...prevTokens.map((token) => token.currency.coinMinimalDenom));
|
92
|
+
}
|
93
|
+
}
|
85
94
|
}
|
86
95
|
updateChainInfos() {
|
87
|
-
var _a;
|
96
|
+
var _a, _b;
|
88
97
|
const chainInfos = this.chainStore.chainInfos;
|
89
98
|
for (const chainInfo of chainInfos) {
|
90
99
|
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
@@ -103,6 +112,19 @@ class TokensStore {
|
|
103
112
|
}
|
104
113
|
chainInfo.addCurrencies(...adds);
|
105
114
|
}
|
115
|
+
const modularChainInfoImpls = this.chainStore.modularChainInfoImpls;
|
116
|
+
for (const modularChainInfoImpl of modularChainInfoImpls) {
|
117
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfoImpl.chainId);
|
118
|
+
const tokens = (_b = this.tokenMap.get(chainIdentifier.identifier)) !== null && _b !== void 0 ? _b : [];
|
119
|
+
const adds = [];
|
120
|
+
for (const token of tokens) {
|
121
|
+
adds.push(token.currency);
|
122
|
+
}
|
123
|
+
if ("starknet" in modularChainInfoImpl &&
|
124
|
+
modularChainInfoImpl.starknet != null) {
|
125
|
+
modularChainInfoImpl.addCurrencies("starknet", ...adds);
|
126
|
+
}
|
127
|
+
}
|
106
128
|
this.prevTokenMap = this.tokenMap;
|
107
129
|
}
|
108
130
|
get isInitialized() {
|
@@ -126,48 +148,76 @@ class TokensStore {
|
|
126
148
|
});
|
127
149
|
}
|
128
150
|
getTokens(chainId) {
|
129
|
-
var _a;
|
151
|
+
var _a, _b;
|
130
152
|
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
131
|
-
const
|
132
|
-
|
133
|
-
const associatedAccountAddress = hasBech32Config && bech32Address
|
134
|
-
? buffer_1.Buffer.from(cosmos_1.Bech32Address.fromBech32(bech32Address, chainInfo.bech32Config.bech32PrefixAccAddr).address).toString("hex")
|
135
|
-
: undefined;
|
136
|
-
const tokens = (_a = this.tokenMap.get(cosmos_1.ChainIdHelper.parse(chainId).identifier)) !== null && _a !== void 0 ? _a : [];
|
137
|
-
return tokens.filter((token) => {
|
138
|
-
if (token.associatedAccountAddress &&
|
139
|
-
associatedAccountAddress &&
|
140
|
-
token.associatedAccountAddress !== associatedAccountAddress) {
|
141
|
-
return false;
|
142
|
-
}
|
143
|
-
return true;
|
144
|
-
});
|
145
|
-
}
|
146
|
-
addToken(chainId, currency) {
|
147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
148
|
-
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
149
|
-
if (!bech32Address) {
|
150
|
-
throw new Error("Account not initialized");
|
151
|
-
}
|
153
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
154
|
+
if ("cosmos" in modularChainInfo) {
|
152
155
|
const chainInfo = this.chainStore.getChain(chainId);
|
153
|
-
const isEvmChain = chainInfo.evm != null;
|
154
156
|
const hasBech32Config = chainInfo.bech32Config != null;
|
155
|
-
const associatedAccountAddress = hasBech32Config
|
157
|
+
const associatedAccountAddress = hasBech32Config && bech32Address
|
156
158
|
? buffer_1.Buffer.from(cosmos_1.Bech32Address.fromBech32(bech32Address, chainInfo.bech32Config.bech32PrefixAccAddr).address).toString("hex")
|
157
|
-
:
|
158
|
-
const
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
165
|
-
const newTokens = res[chainIdentifier.identifier];
|
166
|
-
if (newTokens) {
|
167
|
-
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
159
|
+
: undefined;
|
160
|
+
const tokens = (_a = this.tokenMap.get(cosmos_1.ChainIdHelper.parse(chainId).identifier)) !== null && _a !== void 0 ? _a : [];
|
161
|
+
return tokens.filter((token) => {
|
162
|
+
if (token.associatedAccountAddress &&
|
163
|
+
associatedAccountAddress &&
|
164
|
+
token.associatedAccountAddress !== associatedAccountAddress) {
|
165
|
+
return false;
|
168
166
|
}
|
169
|
-
|
167
|
+
return true;
|
170
168
|
});
|
169
|
+
}
|
170
|
+
else if ("starknet" in modularChainInfo) {
|
171
|
+
return (_b = this.tokenMap.get(chainId)) !== null && _b !== void 0 ? _b : [];
|
172
|
+
}
|
173
|
+
else {
|
174
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
175
|
+
}
|
176
|
+
}
|
177
|
+
addToken(chainId, currency) {
|
178
|
+
return __awaiter(this, void 0, void 0, function* () {
|
179
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
180
|
+
if ("cosmos" in modularChainInfo) {
|
181
|
+
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
182
|
+
if (!bech32Address) {
|
183
|
+
throw new Error("Account not initialized");
|
184
|
+
}
|
185
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
186
|
+
const isEvmChain = chainInfo.evm != null;
|
187
|
+
const hasBech32Config = chainInfo.bech32Config != null;
|
188
|
+
const associatedAccountAddress = hasBech32Config
|
189
|
+
? buffer_1.Buffer.from(cosmos_1.Bech32Address.fromBech32(bech32Address, chainInfo.bech32Config.bech32PrefixAccAddr).address).toString("hex")
|
190
|
+
: "";
|
191
|
+
const msg = isEvmChain
|
192
|
+
? new background_1.AddERC20TokenMsg(chainId, currency)
|
193
|
+
: new background_1.AddTokenMsg(chainId, associatedAccountAddress, currency);
|
194
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
195
|
+
(0, mobx_1.runInAction)(() => {
|
196
|
+
const newTokenMap = new Map(this.tokenMap);
|
197
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
198
|
+
const newTokens = res[chainIdentifier.identifier];
|
199
|
+
if (newTokens) {
|
200
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
201
|
+
}
|
202
|
+
this.tokenMap = newTokenMap;
|
203
|
+
});
|
204
|
+
}
|
205
|
+
else if ("starknet" in modularChainInfo) {
|
206
|
+
const msg = new background_1.AddERC20TokenMsg(chainId, currency);
|
207
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
208
|
+
(0, mobx_1.runInAction)(() => {
|
209
|
+
const newTokenMap = new Map(this.tokenMap);
|
210
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfo.chainId);
|
211
|
+
const newTokens = res[chainIdentifier.identifier];
|
212
|
+
if (newTokens) {
|
213
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
214
|
+
}
|
215
|
+
this.tokenMap = newTokenMap;
|
216
|
+
});
|
217
|
+
}
|
218
|
+
else {
|
219
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
220
|
+
}
|
171
221
|
});
|
172
222
|
}
|
173
223
|
removeToken(chainId, tokenInfo) {
|
@@ -179,24 +229,46 @@ class TokensStore {
|
|
179
229
|
}
|
180
230
|
throw new Error("Token info is not for contract");
|
181
231
|
})();
|
182
|
-
const
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
232
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
233
|
+
if ("cosmos" in modularChainInfo) {
|
234
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
235
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
236
|
+
const msg = isEvmChain
|
237
|
+
? new background_1.RemoveERC20TokenMsg(chainId, contractAddress)
|
238
|
+
: new background_1.RemoveTokenMsg(chainId, (_a = tokenInfo.associatedAccountAddress) !== null && _a !== void 0 ? _a : "", contractAddress);
|
239
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
240
|
+
(0, mobx_1.runInAction)(() => {
|
241
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
242
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
243
|
+
this.clearTokensFromChainInfos();
|
244
|
+
const newTokenMap = new Map(this.tokenMap);
|
245
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
246
|
+
const newTokens = res[chainIdentifier.identifier];
|
247
|
+
if (newTokens) {
|
248
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
249
|
+
}
|
250
|
+
this.tokenMap = newTokenMap;
|
251
|
+
});
|
252
|
+
}
|
253
|
+
else if ("starknet" in modularChainInfo) {
|
254
|
+
const msg = new background_1.RemoveERC20TokenMsg(chainId, contractAddress);
|
255
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
256
|
+
(0, mobx_1.runInAction)(() => {
|
257
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
258
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
259
|
+
this.clearTokensFromChainInfos();
|
260
|
+
const newTokenMap = new Map(this.tokenMap);
|
261
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfo.chainId);
|
262
|
+
const newTokens = res[chainIdentifier.identifier];
|
263
|
+
if (newTokens) {
|
264
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
265
|
+
}
|
266
|
+
this.tokenMap = newTokenMap;
|
267
|
+
});
|
268
|
+
}
|
269
|
+
else {
|
270
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
271
|
+
}
|
200
272
|
});
|
201
273
|
}
|
202
274
|
get waitingSuggestedToken() {
|
package/build/core/tokens.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/core/tokens.ts"],"names":[],"mappings":"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"}
|
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.133-rc.0",
|
4
4
|
"main": "build/index.js",
|
5
5
|
"author": "chainapsis",
|
6
6
|
"license": "Apache-2.0",
|
@@ -16,18 +16,19 @@
|
|
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.133-rc.0",
|
20
|
+
"@keplr-wallet/common": "0.12.133-rc.0",
|
21
|
+
"@keplr-wallet/cosmos": "0.12.133-rc.0",
|
22
|
+
"@keplr-wallet/router": "0.12.133-rc.0",
|
23
|
+
"@keplr-wallet/simple-fetch": "0.12.133-rc.0",
|
24
|
+
"@keplr-wallet/stores": "0.12.133-rc.0",
|
25
|
+
"@keplr-wallet/types": "0.12.133-rc.0",
|
26
26
|
"buffer": "^6.0.3"
|
27
27
|
},
|
28
28
|
"peerDependencies": {
|
29
29
|
"mobx": "^6",
|
30
|
-
"mobx-utils": "^6"
|
30
|
+
"mobx-utils": "^6",
|
31
|
+
"starknet": "^6"
|
31
32
|
},
|
32
|
-
"gitHead": "
|
33
|
+
"gitHead": "6496cf28fc619e718b4e2e9e347755730292745b"
|
33
34
|
}
|
@@ -38,7 +38,8 @@ export class PermissionStore {
|
|
38
38
|
} & PermissionData)
|
39
39
|
| undefined {
|
40
40
|
const data = this.waitingPermissionDatas.filter(
|
41
|
-
(data) =>
|
41
|
+
(data) =>
|
42
|
+
!data.data.options?.isForEVM && !data.data.options?.isForStarknet
|
42
43
|
);
|
43
44
|
if (data.length === 0) {
|
44
45
|
return;
|
@@ -119,6 +120,50 @@ export class PermissionStore {
|
|
119
120
|
return res;
|
120
121
|
}
|
121
122
|
|
123
|
+
@computed
|
124
|
+
get waitingPermissionMergedDataForStarknet():
|
125
|
+
| ({
|
126
|
+
ids: string[];
|
127
|
+
} & PermissionData)
|
128
|
+
| undefined {
|
129
|
+
const data = this.waitingPermissionDatas.filter(
|
130
|
+
(data) => !!data.data.options?.isForStarknet
|
131
|
+
);
|
132
|
+
if (data.length === 0) {
|
133
|
+
return;
|
134
|
+
}
|
135
|
+
|
136
|
+
const first = data[0];
|
137
|
+
|
138
|
+
const res: {
|
139
|
+
ids: string[];
|
140
|
+
} & PermissionData = {
|
141
|
+
ids: [first.id],
|
142
|
+
chainIds: first.data.chainIds,
|
143
|
+
type: first.data.type,
|
144
|
+
origins: first.data.origins,
|
145
|
+
options: first.data.options,
|
146
|
+
};
|
147
|
+
|
148
|
+
for (let i = 1; i < data.length; i++) {
|
149
|
+
const d = data[i];
|
150
|
+
if (d.data.type !== first.data.type) {
|
151
|
+
break;
|
152
|
+
}
|
153
|
+
if (d.data.origins.join(",") !== first.data.origins.join(",")) {
|
154
|
+
break;
|
155
|
+
}
|
156
|
+
|
157
|
+
res.ids.push(d.id);
|
158
|
+
res.chainIds.push(...d.data.chainIds);
|
159
|
+
}
|
160
|
+
|
161
|
+
// Remove duplicated chain ids.
|
162
|
+
res.chainIds = [...new Set(res.chainIds)];
|
163
|
+
|
164
|
+
return res;
|
165
|
+
}
|
166
|
+
|
122
167
|
get waitingGlobalPermissionData() {
|
123
168
|
if (this.waitingGlobalPermissionDatas.length > 0) {
|
124
169
|
return this.waitingGlobalPermissionDatas[0];
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { InteractionStore } from "./interaction";
|
2
|
+
import { computed, makeObservable } from "mobx";
|
3
|
+
import { Call, InvocationsSignerDetails } from "starknet";
|
4
|
+
|
5
|
+
export type SignStarknetTxInteractionData = {
|
6
|
+
origin: string;
|
7
|
+
vaultId: string;
|
8
|
+
chainId: string;
|
9
|
+
signer: string;
|
10
|
+
transactions: Call[];
|
11
|
+
details: InvocationsSignerDetails;
|
12
|
+
noChangeTx: boolean;
|
13
|
+
};
|
14
|
+
|
15
|
+
export class SignStarknetTxInteractionStore {
|
16
|
+
constructor(protected readonly interactionStore: InteractionStore) {
|
17
|
+
makeObservable(this);
|
18
|
+
}
|
19
|
+
|
20
|
+
get waitingDatas() {
|
21
|
+
return this.interactionStore.getAllData<SignStarknetTxInteractionData>(
|
22
|
+
"request-sign-starknet-tx"
|
23
|
+
);
|
24
|
+
}
|
25
|
+
|
26
|
+
@computed
|
27
|
+
get waitingData() {
|
28
|
+
const datas = this.waitingDatas;
|
29
|
+
|
30
|
+
if (datas.length === 0) {
|
31
|
+
return undefined;
|
32
|
+
}
|
33
|
+
|
34
|
+
return datas[0];
|
35
|
+
}
|
36
|
+
|
37
|
+
async approveWithProceedNext(
|
38
|
+
id: string,
|
39
|
+
transactions: Call[],
|
40
|
+
details: InvocationsSignerDetails,
|
41
|
+
afterFn: (proceedNext: boolean) => void | Promise<void>,
|
42
|
+
options: {
|
43
|
+
preDelay?: number;
|
44
|
+
} = {}
|
45
|
+
) {
|
46
|
+
await this.interactionStore.approveWithProceedNextV2(
|
47
|
+
id,
|
48
|
+
{
|
49
|
+
transactions,
|
50
|
+
details,
|
51
|
+
},
|
52
|
+
afterFn,
|
53
|
+
options
|
54
|
+
);
|
55
|
+
}
|
56
|
+
|
57
|
+
async rejectWithProceedNext(
|
58
|
+
id: string,
|
59
|
+
afterFn: (proceedNext: boolean) => void | Promise<void>
|
60
|
+
) {
|
61
|
+
await this.interactionStore.rejectWithProceedNext(id, afterFn);
|
62
|
+
}
|
63
|
+
|
64
|
+
async rejectAll() {
|
65
|
+
await this.interactionStore.rejectAll("request-sign-starknet-tx");
|
66
|
+
}
|
67
|
+
|
68
|
+
isObsoleteInteraction(id: string | undefined): boolean {
|
69
|
+
return this.interactionStore.isObsoleteInteraction(id);
|
70
|
+
}
|
71
|
+
}
|
package/src/core/tokens.ts
CHANGED
@@ -101,6 +101,24 @@ export class TokensStore {
|
|
101
101
|
...prevTokens.map((token) => token.currency.coinMinimalDenom)
|
102
102
|
);
|
103
103
|
}
|
104
|
+
|
105
|
+
const modularChainInfoImpls = this.chainStore.modularChainInfoImpls;
|
106
|
+
for (const modularChainInfoImpl of modularChainInfoImpls) {
|
107
|
+
const chainIdentifier = ChainIdHelper.parse(modularChainInfoImpl.chainId);
|
108
|
+
|
109
|
+
const prevTokens =
|
110
|
+
this.prevTokenMap.get(chainIdentifier.identifier) ?? [];
|
111
|
+
|
112
|
+
if (
|
113
|
+
"starknet" in modularChainInfoImpl &&
|
114
|
+
modularChainInfoImpl.starknet != null
|
115
|
+
) {
|
116
|
+
modularChainInfoImpl.removeCurrencies(
|
117
|
+
"starknet",
|
118
|
+
...prevTokens.map((token) => token.currency.coinMinimalDenom)
|
119
|
+
);
|
120
|
+
}
|
121
|
+
}
|
104
122
|
}
|
105
123
|
|
106
124
|
protected updateChainInfos() {
|
@@ -134,6 +152,26 @@ export class TokensStore {
|
|
134
152
|
chainInfo.addCurrencies(...adds);
|
135
153
|
}
|
136
154
|
|
155
|
+
const modularChainInfoImpls = this.chainStore.modularChainInfoImpls;
|
156
|
+
for (const modularChainInfoImpl of modularChainInfoImpls) {
|
157
|
+
const chainIdentifier = ChainIdHelper.parse(modularChainInfoImpl.chainId);
|
158
|
+
|
159
|
+
const tokens = this.tokenMap.get(chainIdentifier.identifier) ?? [];
|
160
|
+
|
161
|
+
const adds: AppCurrency[] = [];
|
162
|
+
|
163
|
+
for (const token of tokens) {
|
164
|
+
adds.push(token.currency);
|
165
|
+
}
|
166
|
+
|
167
|
+
if (
|
168
|
+
"starknet" in modularChainInfoImpl &&
|
169
|
+
modularChainInfoImpl.starknet != null
|
170
|
+
) {
|
171
|
+
modularChainInfoImpl.addCurrencies("starknet", ...adds);
|
172
|
+
}
|
173
|
+
}
|
174
|
+
|
137
175
|
this.prevTokenMap = this.tokenMap;
|
138
176
|
}
|
139
177
|
|
@@ -161,66 +199,92 @@ export class TokensStore {
|
|
161
199
|
|
162
200
|
getTokens(chainId: string): ReadonlyArray<TokenInfo> {
|
163
201
|
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
164
|
-
const
|
202
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
203
|
+
if ("cosmos" in modularChainInfo) {
|
204
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
205
|
+
|
206
|
+
const hasBech32Config = chainInfo.bech32Config != null;
|
207
|
+
const associatedAccountAddress =
|
208
|
+
hasBech32Config && bech32Address
|
209
|
+
? Buffer.from(
|
210
|
+
Bech32Address.fromBech32(
|
211
|
+
bech32Address,
|
212
|
+
chainInfo.bech32Config.bech32PrefixAccAddr
|
213
|
+
).address
|
214
|
+
).toString("hex")
|
215
|
+
: undefined;
|
216
|
+
|
217
|
+
const tokens =
|
218
|
+
this.tokenMap.get(ChainIdHelper.parse(chainId).identifier) ?? [];
|
219
|
+
|
220
|
+
return tokens.filter((token) => {
|
221
|
+
if (
|
222
|
+
token.associatedAccountAddress &&
|
223
|
+
associatedAccountAddress &&
|
224
|
+
token.associatedAccountAddress !== associatedAccountAddress
|
225
|
+
) {
|
226
|
+
return false;
|
227
|
+
}
|
228
|
+
|
229
|
+
return true;
|
230
|
+
});
|
231
|
+
} else if ("starknet" in modularChainInfo) {
|
232
|
+
return this.tokenMap.get(chainId) ?? [];
|
233
|
+
} else {
|
234
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
235
|
+
}
|
236
|
+
}
|
165
237
|
|
166
|
-
|
167
|
-
const
|
168
|
-
|
238
|
+
async addToken(chainId: string, currency: AppCurrency): Promise<void> {
|
239
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
240
|
+
if ("cosmos" in modularChainInfo) {
|
241
|
+
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
242
|
+
if (!bech32Address) {
|
243
|
+
throw new Error("Account not initialized");
|
244
|
+
}
|
245
|
+
|
246
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
247
|
+
const isEvmChain = chainInfo.evm != null;
|
248
|
+
const hasBech32Config = chainInfo.bech32Config != null;
|
249
|
+
const associatedAccountAddress = hasBech32Config
|
169
250
|
? Buffer.from(
|
170
251
|
Bech32Address.fromBech32(
|
171
252
|
bech32Address,
|
172
253
|
chainInfo.bech32Config.bech32PrefixAccAddr
|
173
254
|
).address
|
174
255
|
).toString("hex")
|
175
|
-
:
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
256
|
+
: "";
|
257
|
+
|
258
|
+
const msg = isEvmChain
|
259
|
+
? new AddERC20TokenMsg(chainId, currency)
|
260
|
+
: new AddTokenMsg(chainId, associatedAccountAddress, currency);
|
261
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
262
|
+
runInAction(() => {
|
263
|
+
const newTokenMap = new Map(this.tokenMap);
|
264
|
+
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
265
|
+
const newTokens = res[chainIdentifier.identifier];
|
266
|
+
if (newTokens) {
|
267
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
268
|
+
}
|
188
269
|
|
189
|
-
|
190
|
-
|
191
|
-
|
270
|
+
this.tokenMap = newTokenMap;
|
271
|
+
});
|
272
|
+
} else if ("starknet" in modularChainInfo) {
|
273
|
+
const msg = new AddERC20TokenMsg(chainId, currency);
|
274
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
275
|
+
runInAction(() => {
|
276
|
+
const newTokenMap = new Map(this.tokenMap);
|
277
|
+
const chainIdentifier = ChainIdHelper.parse(modularChainInfo.chainId);
|
278
|
+
const newTokens = res[chainIdentifier.identifier];
|
279
|
+
if (newTokens) {
|
280
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
281
|
+
}
|
192
282
|
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
throw new Error(
|
283
|
+
this.tokenMap = newTokenMap;
|
284
|
+
});
|
285
|
+
} else {
|
286
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
197
287
|
}
|
198
|
-
const chainInfo = this.chainStore.getChain(chainId);
|
199
|
-
const isEvmChain = chainInfo.evm != null;
|
200
|
-
const hasBech32Config = chainInfo.bech32Config != null;
|
201
|
-
const associatedAccountAddress = hasBech32Config
|
202
|
-
? Buffer.from(
|
203
|
-
Bech32Address.fromBech32(
|
204
|
-
bech32Address,
|
205
|
-
chainInfo.bech32Config.bech32PrefixAccAddr
|
206
|
-
).address
|
207
|
-
).toString("hex")
|
208
|
-
: "";
|
209
|
-
|
210
|
-
const msg = isEvmChain
|
211
|
-
? new AddERC20TokenMsg(chainId, currency)
|
212
|
-
: new AddTokenMsg(chainId, associatedAccountAddress, currency);
|
213
|
-
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
214
|
-
runInAction(() => {
|
215
|
-
const newTokenMap = new Map(this.tokenMap);
|
216
|
-
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
217
|
-
const newTokens = res[chainIdentifier.identifier];
|
218
|
-
if (newTokens) {
|
219
|
-
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
220
|
-
}
|
221
|
-
|
222
|
-
this.tokenMap = newTokenMap;
|
223
|
-
});
|
224
288
|
}
|
225
289
|
|
226
290
|
async removeToken(chainId: string, tokenInfo: TokenInfo): Promise<void> {
|
@@ -232,31 +296,54 @@ export class TokensStore {
|
|
232
296
|
throw new Error("Token info is not for contract");
|
233
297
|
})();
|
234
298
|
|
235
|
-
const
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
299
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
300
|
+
if ("cosmos" in modularChainInfo) {
|
301
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
302
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
303
|
+
|
304
|
+
const msg = isEvmChain
|
305
|
+
? new RemoveERC20TokenMsg(chainId, contractAddress)
|
306
|
+
: new RemoveTokenMsg(
|
307
|
+
chainId,
|
308
|
+
tokenInfo.associatedAccountAddress ?? "",
|
309
|
+
contractAddress
|
310
|
+
);
|
311
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
312
|
+
runInAction(() => {
|
313
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
314
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
315
|
+
this.clearTokensFromChainInfos();
|
316
|
+
|
317
|
+
const newTokenMap = new Map(this.tokenMap);
|
318
|
+
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
319
|
+
const newTokens = res[chainIdentifier.identifier];
|
320
|
+
if (newTokens) {
|
321
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
322
|
+
}
|
250
323
|
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
324
|
+
this.tokenMap = newTokenMap;
|
325
|
+
});
|
326
|
+
} else if ("starknet" in modularChainInfo) {
|
327
|
+
const msg = new RemoveERC20TokenMsg(chainId, contractAddress);
|
328
|
+
|
329
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
330
|
+
runInAction(() => {
|
331
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
332
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
333
|
+
this.clearTokensFromChainInfos();
|
334
|
+
|
335
|
+
const newTokenMap = new Map(this.tokenMap);
|
336
|
+
const chainIdentifier = ChainIdHelper.parse(modularChainInfo.chainId);
|
337
|
+
const newTokens = res[chainIdentifier.identifier];
|
338
|
+
if (newTokens) {
|
339
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
340
|
+
}
|
257
341
|
|
258
|
-
|
259
|
-
|
342
|
+
this.tokenMap = newTokenMap;
|
343
|
+
});
|
344
|
+
} else {
|
345
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
346
|
+
}
|
260
347
|
}
|
261
348
|
|
262
349
|
get waitingSuggestedToken():
|