@keplr-wallet/stores-core 0.12.132 → 0.12.133-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/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 +142 -68
- 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 +182 -93
@@ -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,26 +82,50 @@ 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;
|
88
|
-
const
|
89
|
-
for (const
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
+
var _a, _b;
|
97
|
+
const modularChainInfoImpls = this.chainStore.modularChainInfoImpls;
|
98
|
+
for (const modularChainInfoImpl of modularChainInfoImpls) {
|
99
|
+
if ("cosmos" in modularChainInfoImpl.embedded) {
|
100
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfoImpl.chainId);
|
101
|
+
const tokens = (_a = this.tokenMap.get(chainIdentifier.identifier)) !== null && _a !== void 0 ? _a : [];
|
102
|
+
const adds = [];
|
103
|
+
for (const token of tokens) {
|
104
|
+
if (!token.associatedAccountAddress) {
|
105
|
+
adds.push(token.currency);
|
106
|
+
}
|
107
|
+
else if (this.keyRingStore.status === "unlocked" &&
|
108
|
+
this.accountStore.getAccount(modularChainInfoImpl.chainId)
|
109
|
+
.bech32Address) {
|
110
|
+
if (buffer_1.Buffer.from(cosmos_1.Bech32Address.fromBech32(this.accountStore.getAccount(modularChainInfoImpl.chainId)
|
111
|
+
.bech32Address).address).toString("hex") === token.associatedAccountAddress) {
|
112
|
+
adds.push(token.currency);
|
113
|
+
}
|
114
|
+
}
|
96
115
|
}
|
97
|
-
|
98
|
-
|
99
|
-
|
116
|
+
modularChainInfoImpl.addCurrencies("cosmos", ...adds);
|
117
|
+
}
|
118
|
+
else if ("starknet" in modularChainInfoImpl.embedded) {
|
119
|
+
if ("starknet" in modularChainInfoImpl.embedded) {
|
120
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfoImpl.chainId);
|
121
|
+
const tokens = (_b = this.tokenMap.get(chainIdentifier.identifier)) !== null && _b !== void 0 ? _b : [];
|
122
|
+
const adds = [];
|
123
|
+
for (const token of tokens) {
|
100
124
|
adds.push(token.currency);
|
101
125
|
}
|
126
|
+
modularChainInfoImpl.addCurrencies("starknet", ...adds);
|
102
127
|
}
|
103
128
|
}
|
104
|
-
chainInfo.addCurrencies(...adds);
|
105
129
|
}
|
106
130
|
this.prevTokenMap = this.tokenMap;
|
107
131
|
}
|
@@ -126,48 +150,76 @@ class TokensStore {
|
|
126
150
|
});
|
127
151
|
}
|
128
152
|
getTokens(chainId) {
|
129
|
-
var _a;
|
153
|
+
var _a, _b;
|
130
154
|
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
|
-
}
|
155
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
156
|
+
if ("cosmos" in modularChainInfo) {
|
152
157
|
const chainInfo = this.chainStore.getChain(chainId);
|
153
|
-
const isEvmChain = chainInfo.evm != null;
|
154
158
|
const hasBech32Config = chainInfo.bech32Config != null;
|
155
|
-
const associatedAccountAddress = hasBech32Config
|
159
|
+
const associatedAccountAddress = hasBech32Config && bech32Address
|
156
160
|
? 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);
|
161
|
+
: undefined;
|
162
|
+
const tokens = (_a = this.tokenMap.get(cosmos_1.ChainIdHelper.parse(chainId).identifier)) !== null && _a !== void 0 ? _a : [];
|
163
|
+
return tokens.filter((token) => {
|
164
|
+
if (token.associatedAccountAddress &&
|
165
|
+
associatedAccountAddress &&
|
166
|
+
token.associatedAccountAddress !== associatedAccountAddress) {
|
167
|
+
return false;
|
168
168
|
}
|
169
|
-
|
169
|
+
return true;
|
170
170
|
});
|
171
|
+
}
|
172
|
+
else if ("starknet" in modularChainInfo) {
|
173
|
+
return (_b = this.tokenMap.get(chainId)) !== null && _b !== void 0 ? _b : [];
|
174
|
+
}
|
175
|
+
else {
|
176
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
177
|
+
}
|
178
|
+
}
|
179
|
+
addToken(chainId, currency) {
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
181
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
182
|
+
if ("cosmos" in modularChainInfo) {
|
183
|
+
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
184
|
+
if (!bech32Address) {
|
185
|
+
throw new Error("Account not initialized");
|
186
|
+
}
|
187
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
188
|
+
const isEvmChain = chainInfo.evm != null;
|
189
|
+
const hasBech32Config = chainInfo.bech32Config != null;
|
190
|
+
const associatedAccountAddress = hasBech32Config
|
191
|
+
? buffer_1.Buffer.from(cosmos_1.Bech32Address.fromBech32(bech32Address, chainInfo.bech32Config.bech32PrefixAccAddr).address).toString("hex")
|
192
|
+
: "";
|
193
|
+
const msg = isEvmChain
|
194
|
+
? new background_1.AddERC20TokenMsg(chainId, currency)
|
195
|
+
: new background_1.AddTokenMsg(chainId, associatedAccountAddress, currency);
|
196
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
197
|
+
(0, mobx_1.runInAction)(() => {
|
198
|
+
const newTokenMap = new Map(this.tokenMap);
|
199
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
200
|
+
const newTokens = res[chainIdentifier.identifier];
|
201
|
+
if (newTokens) {
|
202
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
203
|
+
}
|
204
|
+
this.tokenMap = newTokenMap;
|
205
|
+
});
|
206
|
+
}
|
207
|
+
else if ("starknet" in modularChainInfo) {
|
208
|
+
const msg = new background_1.AddERC20TokenMsg(chainId, currency);
|
209
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
210
|
+
(0, mobx_1.runInAction)(() => {
|
211
|
+
const newTokenMap = new Map(this.tokenMap);
|
212
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfo.chainId);
|
213
|
+
const newTokens = res[chainIdentifier.identifier];
|
214
|
+
if (newTokens) {
|
215
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
216
|
+
}
|
217
|
+
this.tokenMap = newTokenMap;
|
218
|
+
});
|
219
|
+
}
|
220
|
+
else {
|
221
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
222
|
+
}
|
171
223
|
});
|
172
224
|
}
|
173
225
|
removeToken(chainId, tokenInfo) {
|
@@ -179,24 +231,46 @@ class TokensStore {
|
|
179
231
|
}
|
180
232
|
throw new Error("Token info is not for contract");
|
181
233
|
})();
|
182
|
-
const
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
234
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
235
|
+
if ("cosmos" in modularChainInfo) {
|
236
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
237
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
238
|
+
const msg = isEvmChain
|
239
|
+
? new background_1.RemoveERC20TokenMsg(chainId, contractAddress)
|
240
|
+
: new background_1.RemoveTokenMsg(chainId, (_a = tokenInfo.associatedAccountAddress) !== null && _a !== void 0 ? _a : "", contractAddress);
|
241
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
242
|
+
(0, mobx_1.runInAction)(() => {
|
243
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
244
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
245
|
+
this.clearTokensFromChainInfos();
|
246
|
+
const newTokenMap = new Map(this.tokenMap);
|
247
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
|
248
|
+
const newTokens = res[chainIdentifier.identifier];
|
249
|
+
if (newTokens) {
|
250
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
251
|
+
}
|
252
|
+
this.tokenMap = newTokenMap;
|
253
|
+
});
|
254
|
+
}
|
255
|
+
else if ("starknet" in modularChainInfo) {
|
256
|
+
const msg = new background_1.RemoveERC20TokenMsg(chainId, contractAddress);
|
257
|
+
const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
|
258
|
+
(0, mobx_1.runInAction)(() => {
|
259
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
260
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
261
|
+
this.clearTokensFromChainInfos();
|
262
|
+
const newTokenMap = new Map(this.tokenMap);
|
263
|
+
const chainIdentifier = cosmos_1.ChainIdHelper.parse(modularChainInfo.chainId);
|
264
|
+
const newTokens = res[chainIdentifier.identifier];
|
265
|
+
if (newTokens) {
|
266
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
267
|
+
}
|
268
|
+
this.tokenMap = newTokenMap;
|
269
|
+
});
|
270
|
+
}
|
271
|
+
else {
|
272
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
273
|
+
}
|
200
274
|
});
|
201
275
|
}
|
202
276
|
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.1",
|
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.1",
|
20
|
+
"@keplr-wallet/common": "0.12.133-rc.1",
|
21
|
+
"@keplr-wallet/cosmos": "0.12.133-rc.1",
|
22
|
+
"@keplr-wallet/router": "0.12.133-rc.1",
|
23
|
+
"@keplr-wallet/simple-fetch": "0.12.133-rc.1",
|
24
|
+
"@keplr-wallet/stores": "0.12.133-rc.1",
|
25
|
+
"@keplr-wallet/types": "0.12.133-rc.1",
|
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": "ae00e557d4283dcd3a852fca309bdbcf996d2f4d"
|
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,37 +101,77 @@ 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() {
|
107
|
-
const
|
108
|
-
for (const
|
109
|
-
|
125
|
+
const modularChainInfoImpls = this.chainStore.modularChainInfoImpls;
|
126
|
+
for (const modularChainInfoImpl of modularChainInfoImpls) {
|
127
|
+
if ("cosmos" in modularChainInfoImpl.embedded) {
|
128
|
+
const chainIdentifier = ChainIdHelper.parse(
|
129
|
+
modularChainInfoImpl.chainId
|
130
|
+
);
|
110
131
|
|
111
|
-
|
132
|
+
const tokens = this.tokenMap.get(chainIdentifier.identifier) ?? [];
|
112
133
|
|
113
|
-
|
134
|
+
const adds: AppCurrency[] = [];
|
114
135
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
if (
|
123
|
-
Buffer.from(
|
124
|
-
Bech32Address.fromBech32(
|
125
|
-
this.accountStore.getAccount(chainInfo.chainId).bech32Address
|
126
|
-
).address
|
127
|
-
).toString("hex") === token.associatedAccountAddress
|
136
|
+
for (const token of tokens) {
|
137
|
+
if (!token.associatedAccountAddress) {
|
138
|
+
adds.push(token.currency);
|
139
|
+
} else if (
|
140
|
+
this.keyRingStore.status === "unlocked" &&
|
141
|
+
this.accountStore.getAccount(modularChainInfoImpl.chainId)
|
142
|
+
.bech32Address
|
128
143
|
) {
|
144
|
+
if (
|
145
|
+
Buffer.from(
|
146
|
+
Bech32Address.fromBech32(
|
147
|
+
this.accountStore.getAccount(modularChainInfoImpl.chainId)
|
148
|
+
.bech32Address
|
149
|
+
).address
|
150
|
+
).toString("hex") === token.associatedAccountAddress
|
151
|
+
) {
|
152
|
+
adds.push(token.currency);
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
157
|
+
modularChainInfoImpl.addCurrencies("cosmos", ...adds);
|
158
|
+
} else if ("starknet" in modularChainInfoImpl.embedded) {
|
159
|
+
if ("starknet" in modularChainInfoImpl.embedded) {
|
160
|
+
const chainIdentifier = ChainIdHelper.parse(
|
161
|
+
modularChainInfoImpl.chainId
|
162
|
+
);
|
163
|
+
|
164
|
+
const tokens = this.tokenMap.get(chainIdentifier.identifier) ?? [];
|
165
|
+
|
166
|
+
const adds: AppCurrency[] = [];
|
167
|
+
|
168
|
+
for (const token of tokens) {
|
129
169
|
adds.push(token.currency);
|
130
170
|
}
|
171
|
+
|
172
|
+
modularChainInfoImpl.addCurrencies("starknet", ...adds);
|
131
173
|
}
|
132
174
|
}
|
133
|
-
|
134
|
-
chainInfo.addCurrencies(...adds);
|
135
175
|
}
|
136
176
|
|
137
177
|
this.prevTokenMap = this.tokenMap;
|
@@ -161,66 +201,92 @@ export class TokensStore {
|
|
161
201
|
|
162
202
|
getTokens(chainId: string): ReadonlyArray<TokenInfo> {
|
163
203
|
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
164
|
-
const
|
204
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
205
|
+
if ("cosmos" in modularChainInfo) {
|
206
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
207
|
+
|
208
|
+
const hasBech32Config = chainInfo.bech32Config != null;
|
209
|
+
const associatedAccountAddress =
|
210
|
+
hasBech32Config && bech32Address
|
211
|
+
? Buffer.from(
|
212
|
+
Bech32Address.fromBech32(
|
213
|
+
bech32Address,
|
214
|
+
chainInfo.bech32Config.bech32PrefixAccAddr
|
215
|
+
).address
|
216
|
+
).toString("hex")
|
217
|
+
: undefined;
|
218
|
+
|
219
|
+
const tokens =
|
220
|
+
this.tokenMap.get(ChainIdHelper.parse(chainId).identifier) ?? [];
|
221
|
+
|
222
|
+
return tokens.filter((token) => {
|
223
|
+
if (
|
224
|
+
token.associatedAccountAddress &&
|
225
|
+
associatedAccountAddress &&
|
226
|
+
token.associatedAccountAddress !== associatedAccountAddress
|
227
|
+
) {
|
228
|
+
return false;
|
229
|
+
}
|
165
230
|
|
166
|
-
|
167
|
-
|
168
|
-
|
231
|
+
return true;
|
232
|
+
});
|
233
|
+
} else if ("starknet" in modularChainInfo) {
|
234
|
+
return this.tokenMap.get(chainId) ?? [];
|
235
|
+
} else {
|
236
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
237
|
+
}
|
238
|
+
}
|
239
|
+
|
240
|
+
async addToken(chainId: string, currency: AppCurrency): Promise<void> {
|
241
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
242
|
+
if ("cosmos" in modularChainInfo) {
|
243
|
+
const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
|
244
|
+
if (!bech32Address) {
|
245
|
+
throw new Error("Account not initialized");
|
246
|
+
}
|
247
|
+
|
248
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
249
|
+
const isEvmChain = chainInfo.evm != null;
|
250
|
+
const hasBech32Config = chainInfo.bech32Config != null;
|
251
|
+
const associatedAccountAddress = hasBech32Config
|
169
252
|
? Buffer.from(
|
170
253
|
Bech32Address.fromBech32(
|
171
254
|
bech32Address,
|
172
255
|
chainInfo.bech32Config.bech32PrefixAccAddr
|
173
256
|
).address
|
174
257
|
).toString("hex")
|
175
|
-
:
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
258
|
+
: "";
|
259
|
+
|
260
|
+
const msg = isEvmChain
|
261
|
+
? new AddERC20TokenMsg(chainId, currency)
|
262
|
+
: new AddTokenMsg(chainId, associatedAccountAddress, currency);
|
263
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
264
|
+
runInAction(() => {
|
265
|
+
const newTokenMap = new Map(this.tokenMap);
|
266
|
+
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
267
|
+
const newTokens = res[chainIdentifier.identifier];
|
268
|
+
if (newTokens) {
|
269
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
270
|
+
}
|
188
271
|
|
189
|
-
|
190
|
-
|
191
|
-
|
272
|
+
this.tokenMap = newTokenMap;
|
273
|
+
});
|
274
|
+
} else if ("starknet" in modularChainInfo) {
|
275
|
+
const msg = new AddERC20TokenMsg(chainId, currency);
|
276
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
277
|
+
runInAction(() => {
|
278
|
+
const newTokenMap = new Map(this.tokenMap);
|
279
|
+
const chainIdentifier = ChainIdHelper.parse(modularChainInfo.chainId);
|
280
|
+
const newTokens = res[chainIdentifier.identifier];
|
281
|
+
if (newTokens) {
|
282
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
283
|
+
}
|
192
284
|
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
throw new Error(
|
285
|
+
this.tokenMap = newTokenMap;
|
286
|
+
});
|
287
|
+
} else {
|
288
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
197
289
|
}
|
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
290
|
}
|
225
291
|
|
226
292
|
async removeToken(chainId: string, tokenInfo: TokenInfo): Promise<void> {
|
@@ -232,31 +298,54 @@ export class TokensStore {
|
|
232
298
|
throw new Error("Token info is not for contract");
|
233
299
|
})();
|
234
300
|
|
235
|
-
const
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
301
|
+
const modularChainInfo = this.chainStore.getModularChain(chainId);
|
302
|
+
if ("cosmos" in modularChainInfo) {
|
303
|
+
const chainInfo = this.chainStore.getChain(chainId);
|
304
|
+
const isEvmChain = chainInfo.evm !== undefined;
|
305
|
+
|
306
|
+
const msg = isEvmChain
|
307
|
+
? new RemoveERC20TokenMsg(chainId, contractAddress)
|
308
|
+
: new RemoveTokenMsg(
|
309
|
+
chainId,
|
310
|
+
tokenInfo.associatedAccountAddress ?? "",
|
311
|
+
contractAddress
|
312
|
+
);
|
313
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
314
|
+
runInAction(() => {
|
315
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
316
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
317
|
+
this.clearTokensFromChainInfos();
|
318
|
+
|
319
|
+
const newTokenMap = new Map(this.tokenMap);
|
320
|
+
const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
|
321
|
+
const newTokens = res[chainIdentifier.identifier];
|
322
|
+
if (newTokens) {
|
323
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
324
|
+
}
|
250
325
|
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
326
|
+
this.tokenMap = newTokenMap;
|
327
|
+
});
|
328
|
+
} else if ("starknet" in modularChainInfo) {
|
329
|
+
const msg = new RemoveERC20TokenMsg(chainId, contractAddress);
|
330
|
+
|
331
|
+
const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
|
332
|
+
runInAction(() => {
|
333
|
+
// Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
|
334
|
+
// 그냥 다 지우고 다시 다 설정하는 방식임.
|
335
|
+
this.clearTokensFromChainInfos();
|
336
|
+
|
337
|
+
const newTokenMap = new Map(this.tokenMap);
|
338
|
+
const chainIdentifier = ChainIdHelper.parse(modularChainInfo.chainId);
|
339
|
+
const newTokens = res[chainIdentifier.identifier];
|
340
|
+
if (newTokens) {
|
341
|
+
newTokenMap.set(chainIdentifier.identifier, newTokens);
|
342
|
+
}
|
257
343
|
|
258
|
-
|
259
|
-
|
344
|
+
this.tokenMap = newTokenMap;
|
345
|
+
});
|
346
|
+
} else {
|
347
|
+
throw new Error(`Unsupported chain: ${chainId}`);
|
348
|
+
}
|
260
349
|
}
|
261
350
|
|
262
351
|
get waitingSuggestedToken():
|