@keplr-wallet/hooks-starknet 0.12.194 → 0.12.195-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.
@@ -11,83 +11,8 @@ const chain_1 = require("./chain");
11
11
  const mobx_1 = require("mobx");
12
12
  const errors_1 = require("./errors");
13
13
  const react_1 = require("react");
14
- const buffer_1 = require("buffer/");
15
- const simple_fetch_1 = require("@keplr-wallet/simple-fetch");
16
- const starknet_1 = require("starknet");
17
- const networkToNamingContractAddress = {
18
- [starknet_1.constants.NetworkName.SN_MAIN]: "0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",
19
- [starknet_1.constants.NetworkName.SN_SEPOLIA]: "0x0707f09bc576bd7cfee59694846291047e965f4184fe13dac62c56759b3b6fa7",
20
- };
21
- const basicAlphabet = "abcdefghijklmnopqrstuvwxyz0123456789-";
22
- const basicSizePlusOne = BigInt(basicAlphabet.length + 1);
23
- const bigAlphabet = "这来";
24
- const basicAlphabetSize = BigInt(basicAlphabet.length);
25
- const bigAlphabetSize = BigInt(bigAlphabet.length);
26
- // Reference: https://github.com/lfglabs-dev/starknetid.js/blob/main/packages/core/src/utils.ts
27
- function isStarkDomain(domain) {
28
- return /^(?:[a-z0-9-]{1,48}(?:[a-z0-9-]{1,48}[a-z0-9-])?\.)*[a-z0-9-]{1,48}\.stark$/.test(domain);
29
- }
30
- function encodeDomain(domain) {
31
- if (!domain)
32
- return [BigInt(0)];
33
- const encoded = [];
34
- for (const subdomain of domain.replace(".stark", "").split("."))
35
- encoded.push(encode(subdomain));
36
- return encoded;
37
- }
38
- function extractStars(str) {
39
- let k = 0;
40
- while (str.endsWith(bigAlphabet[bigAlphabet.length - 1])) {
41
- str = str.substring(0, str.length - 1);
42
- k += 1;
43
- }
44
- return [str, k];
45
- }
46
- function encode(decoded) {
47
- let encoded = BigInt(0);
48
- let multiplier = BigInt(1);
49
- if (!decoded) {
50
- return encoded;
51
- }
52
- if (decoded.endsWith(bigAlphabet[0] + basicAlphabet[1])) {
53
- const [str, k] = extractStars(decoded.substring(0, decoded.length - 2));
54
- decoded = str + bigAlphabet[bigAlphabet.length - 1].repeat(2 * (k + 1));
55
- }
56
- else {
57
- const [str, k] = extractStars(decoded);
58
- if (k)
59
- decoded =
60
- str + bigAlphabet[bigAlphabet.length - 1].repeat(1 + 2 * (k - 1));
61
- }
62
- for (let i = 0; i < decoded.length; i += 1) {
63
- const char = decoded[i];
64
- const index = basicAlphabet.indexOf(char);
65
- const bnIndex = BigInt(basicAlphabet.indexOf(char));
66
- if (index !== -1) {
67
- // add encoded + multiplier * index
68
- if (i === decoded.length - 1 && decoded[i] === basicAlphabet[0]) {
69
- encoded += multiplier * basicAlphabetSize;
70
- multiplier *= basicSizePlusOne;
71
- // add 0
72
- multiplier *= basicSizePlusOne;
73
- }
74
- else {
75
- encoded += multiplier * bnIndex;
76
- multiplier *= basicSizePlusOne;
77
- }
78
- }
79
- else if (bigAlphabet.indexOf(char) !== -1) {
80
- // add encoded + multiplier * (basicAlphabetSize)
81
- encoded += multiplier * basicAlphabetSize;
82
- multiplier *= basicSizePlusOne;
83
- // add encoded + multiplier * index
84
- const newid = (i === decoded.length - 1 ? 1 : 0) + bigAlphabet.indexOf(char);
85
- encoded += multiplier * BigInt(newid);
86
- multiplier *= bigAlphabetSize;
87
- }
88
- }
89
- return encoded;
90
- }
14
+ const buffer_1 = require("buffer");
15
+ const name_service_starknet_id_1 = require("./name-service-starknet-id");
91
16
  function isStarknetHexAddress(address) {
92
17
  if (!address.startsWith("0x")) {
93
18
  return false;
@@ -106,181 +31,68 @@ class RecipientConfig extends chain_1.TxChainSetter {
106
31
  constructor(chainGetter, initialChainId) {
107
32
  super(chainGetter, initialChainId);
108
33
  this._value = "";
109
- // Deep equal check is required to avoid infinite re-render.
110
- this._starknetID = undefined;
111
- // Key is {chain identifier}/{starknet username}
112
- this._starknetIDFetchDataMap = new Map();
34
+ this._preferredNameService = undefined;
35
+ this.nameServices = [];
36
+ this.nameServices.push(new name_service_starknet_id_1.StarknetIdNameService(this, chainGetter));
113
37
  (0, mobx_1.makeObservable)(this);
114
38
  }
115
- setStarknetID(chainId) {
116
- const split = chainId.split(":"); // `starknet:networkName`
117
- if (split.length < 2) {
118
- return;
119
- }
120
- const networkName = split[1];
121
- if (!networkName) {
122
- return;
123
- }
124
- const namingContractAddress = networkToNamingContractAddress[networkName];
125
- if (!namingContractAddress) {
126
- return;
127
- }
128
- this._starknetID = {
129
- networkName,
130
- namingContractAddress,
131
- };
39
+ get preferredNameService() {
40
+ return this._preferredNameService;
132
41
  }
133
- getStarknetIDFetchData(username) {
134
- var _a;
135
- const modularChainInfo = this.chainGetter.getModularChain(this.chainId);
136
- if (!("starknet" in modularChainInfo)) {
137
- throw new Error(`${this.chainId} is not starknet chain`);
138
- }
139
- if (!this._starknetID) {
140
- throw new Error("Starknet ID is not set");
141
- }
142
- if (!isStarkDomain(username)) {
143
- return {
144
- isFetching: false,
145
- error: new Error("Invalid domain for Starknet ID"),
146
- };
147
- }
148
- const key = `${this.chainId}/${username}`;
149
- if (!this._starknetIDFetchDataMap.has(key)) {
150
- (0, mobx_1.runInAction)(() => {
151
- this._starknetIDFetchDataMap.set(key, {
152
- isFetching: true,
153
- });
154
- });
155
- const domain = encodeDomain(username).map((v) => v.toString(10));
156
- (0, simple_fetch_1.simpleFetch)(modularChainInfo.starknet.rpc, "", {
157
- method: "POST",
158
- headers: {
159
- "content-type": "application/json",
160
- },
161
- body: JSON.stringify({
162
- jsonrpc: "2.0",
163
- id: "1",
164
- method: "starknet_call",
165
- params: [
166
- {
167
- contract_address: this._starknetID.namingContractAddress,
168
- calldata: starknet_1.CallData.toHex({ domain, hint: [] }),
169
- entry_point_selector: "0x2e269d930f6d7ab92b15ce8ff9f5e63709391617e3465fff79ba6baf278ce60", // selector.getSelectorFromName("domain_to_address"),
170
- },
171
- "latest",
172
- ],
173
- }),
174
- signal: new AbortController().signal,
175
- })
176
- .then((resp) => {
177
- if (resp.data.error && resp.data.error.message) {
178
- throw new errors_1.StarknetIDIsFetchingError(resp.data.error.message);
179
- }
180
- const data = resp.data.result;
181
- if (!data) {
182
- throw new errors_1.StarknetIDIsFetchingError("no address found");
183
- }
184
- const rawHexAddr = data[0];
185
- if (rawHexAddr === "0x0") {
186
- throw new errors_1.StarknetIDIsFetchingError("no address found");
187
- }
188
- const addr = "0x" + rawHexAddr.replace("0x", "").padStart(64, "0");
189
- if (!isStarknetHexAddress(addr)) {
190
- throw new errors_1.StarknetIDIsFetchingError("no address found");
191
- }
192
- (0, mobx_1.runInAction)(() => {
193
- this._starknetIDFetchDataMap.set(key, {
194
- isFetching: false,
195
- starknetHexAddress: addr,
196
- });
197
- });
198
- })
199
- .catch((error) => {
200
- (0, mobx_1.runInAction)(() => {
201
- this._starknetIDFetchDataMap.set(key, {
202
- isFetching: false,
203
- error,
204
- });
205
- });
206
- });
207
- }
208
- return (_a = this._starknetIDFetchDataMap.get(key)) !== null && _a !== void 0 ? _a : { isFetching: false };
42
+ setPreferredNameService(nameService) {
43
+ this._preferredNameService = nameService;
209
44
  }
210
- get isStarknetIDEnabled() {
211
- return !!this._starknetID;
45
+ getNameService(type) {
46
+ return this.nameServices.find((nameService) => nameService.type === type);
212
47
  }
213
- get isStarknetID() {
214
- if (this.isStarknetIDEnabled) {
215
- const parsed = this.value.trim().split(".");
216
- return parsed.length > 1 && parsed[parsed.length - 1] === "stark";
217
- }
218
- return false;
48
+ getNameServices() {
49
+ return this.nameServices;
219
50
  }
220
- get isStarknetIDFetching() {
221
- if (!this.isStarknetIDEnabled || !this.isStarknetID) {
222
- return false;
51
+ get nameServiceResult() {
52
+ const result = [];
53
+ for (const nameService of this.nameServices) {
54
+ if (this.preferredNameService &&
55
+ nameService.type !== this.preferredNameService) {
56
+ continue;
57
+ }
58
+ const r = nameService.result;
59
+ if (r) {
60
+ result.push(Object.assign(Object.assign({}, r), { type: nameService.type }));
61
+ }
223
62
  }
224
- return this.getStarknetIDFetchData(this.value.trim()).isFetching;
63
+ return result;
225
64
  }
226
- get starknetExpectedDomain() {
227
- return "stark";
65
+ setStarknetID(chainId) {
66
+ const found = this.nameServices.find((nameService) => nameService.type === "starknet-id");
67
+ if (found) {
68
+ found.setStarknetID(chainId);
69
+ }
70
+ else {
71
+ this.nameServices.push(new name_service_starknet_id_1.StarknetIdNameService(this, this.chainGetter, chainId));
72
+ }
228
73
  }
229
74
  get recipient() {
75
+ if (this.nameServiceResult.length > 0) {
76
+ const r = this.nameServiceResult[0];
77
+ return r.address;
78
+ }
230
79
  const rawRecipient = this.value.trim();
231
80
  const modularChainInfo = this.modularChainInfo;
232
81
  if (!("starknet" in modularChainInfo)) {
233
82
  throw new Error("Chain doesn't support the starknet");
234
83
  }
235
- if (this.isStarknetIDEnabled && this.isStarknetID) {
236
- try {
237
- return (this.getStarknetIDFetchData(rawRecipient).starknetHexAddress || "");
238
- }
239
- catch (_a) {
240
- return "";
241
- }
242
- }
243
84
  return rawRecipient;
244
85
  }
245
86
  get uiProperties() {
246
- const rawRecipient = this.value.trim();
87
+ let rawRecipient = this.value.trim();
247
88
  if (!rawRecipient) {
248
89
  return {
249
90
  error: new errors_1.EmptyAddressError("Address is empty"),
250
91
  };
251
92
  }
252
- if (this.isStarknetIDEnabled && this.isStarknetID) {
253
- try {
254
- const fetched = this.getStarknetIDFetchData(rawRecipient);
255
- if (fetched.isFetching) {
256
- return {
257
- loadingState: "loading-block",
258
- };
259
- }
260
- if (fetched.error) {
261
- if (fetched.error instanceof errors_1.StarknetIDIsFetchingError) {
262
- return {
263
- error: new errors_1.StarknetIDFailedToFetchError("Failed to fetch the address from Starknet ID"),
264
- loadingState: fetched.isFetching ? "loading-block" : undefined,
265
- };
266
- }
267
- return {
268
- error: fetched.error,
269
- };
270
- }
271
- if (!fetched.starknetHexAddress) {
272
- return {
273
- error: new errors_1.StarknetIDFailedToFetchError("Failed to fetch the address from Starknet ID"),
274
- loadingState: fetched.isFetching ? "loading-block" : undefined,
275
- };
276
- }
277
- return {};
278
- }
279
- catch (e) {
280
- return {
281
- error: e,
282
- };
283
- }
93
+ if (this.nameServiceResult.length > 0) {
94
+ const r = this.nameServiceResult[0];
95
+ rawRecipient = r.address;
284
96
  }
285
97
  if (!isStarknetHexAddress(rawRecipient)) {
286
98
  return {
@@ -294,26 +106,29 @@ class RecipientConfig extends chain_1.TxChainSetter {
294
106
  }
295
107
  setValue(value) {
296
108
  this._value = value;
109
+ for (const nameService of this.nameServices) {
110
+ nameService.setValue(value);
111
+ }
297
112
  }
298
113
  }
299
114
  __decorate([
300
115
  mobx_1.observable
301
116
  ], RecipientConfig.prototype, "_value", void 0);
302
117
  __decorate([
303
- mobx_1.observable.struct
304
- ], RecipientConfig.prototype, "_starknetID", void 0);
118
+ mobx_1.observable
119
+ ], RecipientConfig.prototype, "_preferredNameService", void 0);
305
120
  __decorate([
306
- mobx_1.observable.shallow
307
- ], RecipientConfig.prototype, "_starknetIDFetchDataMap", void 0);
121
+ mobx_1.observable.ref
122
+ ], RecipientConfig.prototype, "nameServices", void 0);
308
123
  __decorate([
309
124
  mobx_1.action
310
- ], RecipientConfig.prototype, "setStarknetID", null);
125
+ ], RecipientConfig.prototype, "setPreferredNameService", null);
311
126
  __decorate([
312
127
  mobx_1.computed
313
- ], RecipientConfig.prototype, "isStarknetID", null);
128
+ ], RecipientConfig.prototype, "nameServiceResult", null);
314
129
  __decorate([
315
- mobx_1.computed
316
- ], RecipientConfig.prototype, "isStarknetIDFetching", null);
130
+ mobx_1.action
131
+ ], RecipientConfig.prototype, "setStarknetID", null);
317
132
  __decorate([
318
133
  mobx_1.computed
319
134
  ], RecipientConfig.prototype, "uiProperties", null);
@@ -1 +1 @@
1
- {"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/tx/recipient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../src/tx/recipient.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { ERC20Currency } from "@keplr-wallet/types";
1
+ import { ERC20Currency, ModularChainInfo } from "@keplr-wallet/types";
2
2
  import { CoinPretty } from "@keplr-wallet/unit";
3
+ import { NameService } from "./name-service";
3
4
  export interface ITxChainSetter {
4
5
  chainId: string;
5
6
  setChain(chainId: string): void;
7
+ modularChainInfo: ModularChainInfo;
6
8
  }
7
9
  export interface UIProperties {
8
10
  readonly error?: Error;
@@ -40,11 +42,18 @@ export interface IRecipientConfig extends ITxChainSetter {
40
42
  recipient: string;
41
43
  uiProperties: UIProperties;
42
44
  }
43
- export interface IRecipientConfigWithStarknetID extends IRecipientConfig {
44
- readonly isStarknetIDEnabled: boolean;
45
- readonly isStarknetID: boolean;
46
- readonly starknetExpectedDomain: string;
47
- readonly isStarknetIDFetching: boolean;
45
+ export interface IRecipientConfigWithNameServices extends IRecipientConfig {
46
+ preferredNameService: string | undefined;
47
+ setPreferredNameService(nameService: string | undefined): void;
48
+ getNameService(type: string): NameService | undefined;
49
+ getNameServices(): NameService[];
50
+ nameServiceResult: {
51
+ type: string;
52
+ address: string;
53
+ fullName: string;
54
+ domain: string;
55
+ suffix: string;
56
+ }[];
48
57
  }
49
58
  export interface IAmountConfig extends ITxChainSetter {
50
59
  amount: CoinPretty[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/hooks-starknet",
3
- "version": "0.12.194",
3
+ "version": "0.12.195-rc.0",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -18,18 +18,18 @@
18
18
  "dependencies": {
19
19
  "@ethersproject/address": "^5.7.0",
20
20
  "@ethersproject/providers": "^5.7.0",
21
- "@keplr-wallet/background": "0.12.194",
22
- "@keplr-wallet/common": "0.12.194",
23
- "@keplr-wallet/cosmos": "0.12.194",
24
- "@keplr-wallet/crypto": "0.12.194",
25
- "@keplr-wallet/proto-types": "0.12.194",
26
- "@keplr-wallet/simple-fetch": "0.12.194",
27
- "@keplr-wallet/stores": "0.12.194",
28
- "@keplr-wallet/stores-etc": "0.12.194",
29
- "@keplr-wallet/stores-eth": "0.12.194",
30
- "@keplr-wallet/stores-starknet": "0.12.194",
31
- "@keplr-wallet/types": "0.12.194",
32
- "@keplr-wallet/unit": "0.12.194",
21
+ "@keplr-wallet/background": "0.12.195-rc.0",
22
+ "@keplr-wallet/common": "0.12.195-rc.0",
23
+ "@keplr-wallet/cosmos": "0.12.195-rc.0",
24
+ "@keplr-wallet/crypto": "0.12.195-rc.0",
25
+ "@keplr-wallet/proto-types": "0.12.195-rc.0",
26
+ "@keplr-wallet/simple-fetch": "0.12.195-rc.0",
27
+ "@keplr-wallet/stores": "0.12.195-rc.0",
28
+ "@keplr-wallet/stores-etc": "0.12.195-rc.0",
29
+ "@keplr-wallet/stores-eth": "0.12.195-rc.0",
30
+ "@keplr-wallet/stores-starknet": "0.12.195-rc.0",
31
+ "@keplr-wallet/types": "0.12.195-rc.0",
32
+ "@keplr-wallet/unit": "0.12.195-rc.0",
33
33
  "buffer": "^6.0.3",
34
34
  "long": "^4.0.0",
35
35
  "utility-types": "^3.10.0"
@@ -40,5 +40,5 @@
40
40
  "react": "^16.8.0 || ^17 || ^18",
41
41
  "starknet": "^6"
42
42
  },
43
- "gitHead": "c4c8fbdf73746a256603c25649131f43f94611e9"
43
+ "gitHead": "13786d3a66523d08eedef7844504986ac395d695"
44
44
  }
package/src/tx/index.ts CHANGED
@@ -10,3 +10,4 @@ export * from "./chain";
10
10
  export * from "./gas-simulator";
11
11
  export * from "./validate";
12
12
  export * from "./noop-amount";
13
+ export * from "./name-service";