@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.
@@ -4,3 +4,4 @@ export * from "./sign";
4
4
  export * from "./chain-suggest";
5
5
  export * from "./icns";
6
6
  export * from "./eth-sign";
7
+ export * from "./starknet-sign-tx";
@@ -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":"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"}
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"}
@@ -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 chainInfos = this.chainStore.chainInfos;
89
- for (const chainInfo of chainInfos) {
90
- const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
91
- const tokens = (_a = this.tokenMap.get(chainIdentifier.identifier)) !== null && _a !== void 0 ? _a : [];
92
- const adds = [];
93
- for (const token of tokens) {
94
- if (!token.associatedAccountAddress) {
95
- adds.push(token.currency);
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
- else if (this.keyRingStore.status === "unlocked" &&
98
- this.accountStore.getAccount(chainInfo.chainId).bech32Address) {
99
- if (buffer_1.Buffer.from(cosmos_1.Bech32Address.fromBech32(this.accountStore.getAccount(chainInfo.chainId).bech32Address).address).toString("hex") === token.associatedAccountAddress) {
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 chainInfo = this.chainStore.getChain(chainId);
132
- const hasBech32Config = chainInfo.bech32Config != null;
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 msg = isEvmChain
159
- ? new background_1.AddERC20TokenMsg(chainId, currency)
160
- : new background_1.AddTokenMsg(chainId, associatedAccountAddress, currency);
161
- const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
162
- (0, mobx_1.runInAction)(() => {
163
- const newTokenMap = new Map(this.tokenMap);
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
- this.tokenMap = newTokenMap;
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 chainInfo = this.chainStore.getChain(chainId);
183
- const isEvmChain = chainInfo.evm !== undefined;
184
- const msg = isEvmChain
185
- ? new background_1.RemoveERC20TokenMsg(chainId, contractAddress)
186
- : new background_1.RemoveTokenMsg(chainId, (_a = tokenInfo.associatedAccountAddress) !== null && _a !== void 0 ? _a : "", contractAddress);
187
- const res = yield this.requester.sendMessage(router_1.BACKGROUND_PORT, msg);
188
- (0, mobx_1.runInAction)(() => {
189
- // Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
190
- // 그냥 지우고 다시 다 설정하는 방식임.
191
- this.clearTokensFromChainInfos();
192
- const newTokenMap = new Map(this.tokenMap);
193
- const chainIdentifier = cosmos_1.ChainIdHelper.parse(chainInfo.chainId);
194
- const newTokens = res[chainIdentifier.identifier];
195
- if (newTokens) {
196
- newTokenMap.set(chainIdentifier.identifier, newTokens);
197
- }
198
- this.tokenMap = newTokenMap;
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() {
@@ -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.132",
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.132",
20
- "@keplr-wallet/common": "0.12.132",
21
- "@keplr-wallet/cosmos": "0.12.132",
22
- "@keplr-wallet/router": "0.12.132",
23
- "@keplr-wallet/simple-fetch": "0.12.132",
24
- "@keplr-wallet/stores": "0.12.132",
25
- "@keplr-wallet/types": "0.12.132",
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": "c2d43ec60a80e023faee97ded00f582b7605307c"
33
+ "gitHead": "ae00e557d4283dcd3a852fca309bdbcf996d2f4d"
33
34
  }
@@ -4,3 +4,4 @@ export * from "./sign";
4
4
  export * from "./chain-suggest";
5
5
  export * from "./icns";
6
6
  export * from "./eth-sign";
7
+ export * from "./starknet-sign-tx";
@@ -38,7 +38,8 @@ export class PermissionStore {
38
38
  } & PermissionData)
39
39
  | undefined {
40
40
  const data = this.waitingPermissionDatas.filter(
41
- (data) => !data.data.options?.isForEVM
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
+ }
@@ -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 chainInfos = this.chainStore.chainInfos;
108
- for (const chainInfo of chainInfos) {
109
- const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
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
- const tokens = this.tokenMap.get(chainIdentifier.identifier) ?? [];
132
+ const tokens = this.tokenMap.get(chainIdentifier.identifier) ?? [];
112
133
 
113
- const adds: AppCurrency[] = [];
134
+ const adds: AppCurrency[] = [];
114
135
 
115
- for (const token of tokens) {
116
- if (!token.associatedAccountAddress) {
117
- adds.push(token.currency);
118
- } else if (
119
- this.keyRingStore.status === "unlocked" &&
120
- this.accountStore.getAccount(chainInfo.chainId).bech32Address
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 chainInfo = this.chainStore.getChain(chainId);
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
- const hasBech32Config = chainInfo.bech32Config != null;
167
- const associatedAccountAddress =
168
- hasBech32Config && bech32Address
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
- : undefined;
176
-
177
- const tokens =
178
- this.tokenMap.get(ChainIdHelper.parse(chainId).identifier) ?? [];
179
-
180
- return tokens.filter((token) => {
181
- if (
182
- token.associatedAccountAddress &&
183
- associatedAccountAddress &&
184
- token.associatedAccountAddress !== associatedAccountAddress
185
- ) {
186
- return false;
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
- return true;
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
- async addToken(chainId: string, currency: AppCurrency): Promise<void> {
194
- const bech32Address = this.accountStore.getAccount(chainId).bech32Address;
195
- if (!bech32Address) {
196
- throw new Error("Account not initialized");
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 chainInfo = this.chainStore.getChain(chainId);
236
- const isEvmChain = chainInfo.evm !== undefined;
237
-
238
- const msg = isEvmChain
239
- ? new RemoveERC20TokenMsg(chainId, contractAddress)
240
- : new RemoveTokenMsg(
241
- chainId,
242
- tokenInfo.associatedAccountAddress ?? "",
243
- contractAddress
244
- );
245
- const res = await this.requester.sendMessage(BACKGROUND_PORT, msg);
246
- runInAction(() => {
247
- // Remove 이후에는 지워진 토큰에 대한 싱크를 맞추기 위해서 clearTokensFromChainInfos를 호출한다.
248
- // 그냥 다 지우고 다시 다 설정하는 방식임.
249
- this.clearTokensFromChainInfos();
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
- const newTokenMap = new Map(this.tokenMap);
252
- const chainIdentifier = ChainIdHelper.parse(chainInfo.chainId);
253
- const newTokens = res[chainIdentifier.identifier];
254
- if (newTokens) {
255
- newTokenMap.set(chainIdentifier.identifier, newTokens);
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
- this.tokenMap = newTokenMap;
259
- });
344
+ this.tokenMap = newTokenMap;
345
+ });
346
+ } else {
347
+ throw new Error(`Unsupported chain: ${chainId}`);
348
+ }
260
349
  }
261
350
 
262
351
  get waitingSuggestedToken():