@cartridge/controller 0.7.3 → 0.7.5-alpha.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.
@@ -1,61 +1,60 @@
1
-
2
- > @cartridge/controller@0.7.3 build:deps /home/runner/work/controller/controller/packages/controller
3
- > tsup
4
-
5
- CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/node/index.ts, src/session/index.ts
6
- CLI Using tsconfig: tsconfig.json
7
- CLI tsup v8.3.5
8
- CLI Using tsup config: /home/runner/work/controller/controller/packages/controller/package.json
9
- CLI Target: esnext
10
- CLI Cleaning output folder
11
- ESM Build start
12
- CJS Build start
13
- "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.js".
14
- "addAddressPadding" and "CallData" are imported from external module "starknet" but never used in "dist/index.js".
15
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
16
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.js".
17
- "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.cjs".
18
- DTS Build start
19
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.cjs".
20
- Entry module "dist/session/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
21
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
22
- Entry module "dist/node/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
23
- "addAddressPadding" and "CallData" are imported from external module "starknet" but never used in "dist/index.cjs".
24
- Entry module "dist/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
25
- CJS dist/controller.cjs 38.67 KB
26
- CJS dist/lookup.cjs 1.70 KB
27
- CJS dist/session/index.cjs 30.88 KB
28
- CJS dist/node/index.cjs 34.25 KB
29
- CJS dist/index.cjs 79.32 KB
30
- CJS dist/controller.cjs.map 73.37 KB
31
- CJS dist/lookup.cjs.map 4.00 KB
32
- CJS dist/session/index.cjs.map 57.67 KB
33
- CJS dist/node/index.cjs.map 65.13 KB
34
- CJS dist/index.cjs.map 143.79 KB
35
- CJS ⚡️ Build success in 1009ms
36
- ESM dist/lookup.js 1.63 KB
37
- ESM dist/session/index.js 30.75 KB
38
- ESM dist/node/index.js 33.46 KB
39
- ESM dist/controller.js 38.64 KB
40
- ESM dist/index.js 78.98 KB
41
- ESM dist/session/index.js.map 57.52 KB
42
- ESM dist/lookup.js.map 4.00 KB
43
- ESM dist/node/index.js.map 64.93 KB
44
- ESM dist/controller.js.map 73.28 KB
45
- ESM dist/index.js.map 143.64 KB
46
- ESM ⚡️ Build success in 1011ms
47
- DTS ⚡️ Build success in 6661ms
48
- DTS dist/index.d.ts 1.20 KB
49
- DTS dist/controller.d.ts 1.34 KB
50
- DTS dist/lookup.d.ts 216.00 B
51
- DTS dist/node/index.d.ts 2.35 KB
52
- DTS dist/session/index.d.ts 1.90 KB
53
- DTS dist/policies-DD1aPjQ4.d.ts 565.00 B
54
- DTS dist/provider-ap1C1ypF.d.ts 6.79 KB
55
- DTS dist/index.d.cts 1.21 KB
56
- DTS dist/controller.d.cts 1.34 KB
57
- DTS dist/lookup.d.cts 216.00 B
58
- DTS dist/node/index.d.cts 2.36 KB
59
- DTS dist/session/index.d.cts 1.90 KB
60
- DTS dist/policies-DD1aPjQ4.d.cts 565.00 B
61
- DTS dist/provider-ap1C1ypF.d.cts 6.79 KB
1
+
2
+
3
+ > @cartridge/controller@0.7.5-alpha.1 build:deps /home/broody/development/controller/packages/controller
4
+ > tsup
5
+
6
+ CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/node/index.ts, src/session/index.ts
7
+ CLI Using tsconfig: tsconfig.json
8
+ CLI tsup v8.3.6
9
+ CLI Using tsup config: /home/broody/development/controller/packages/controller/package.json
10
+ CLI Target: esnext
11
+ CLI Cleaning output folder
12
+ ESM Build start
13
+ CJS Build start
14
+ "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.js".
15
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.js".
16
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
17
+ "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.cjs".
18
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
19
+ Entry module "dist/node/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
20
+ Entry module "dist/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
21
+ DTS Build start
22
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.cjs".
23
+ Entry module "dist/session/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
24
+ ESM dist/controller.js 37.31 KB
25
+ ESM dist/lookup.js 1.63 KB
26
+ ESM dist/index.js 93.31 KB
27
+ ESM dist/node/index.js 31.53 KB
28
+ ESM dist/session/index.js 28.82 KB
29
+ ESM dist/lookup.js.map 4.00 KB
30
+ ESM dist/controller.js.map 73.17 KB
31
+ ESM dist/node/index.js.map 63.59 KB
32
+ ESM dist/session/index.js.map 56.18 KB
33
+ ESM dist/index.js.map 167.44 KB
34
+ ESM ⚡️ Build success in 523ms
35
+ CJS dist/lookup.cjs 1.69 KB
36
+ CJS dist/controller.cjs 37.36 KB
37
+ CJS dist/node/index.cjs 32.31 KB
38
+ CJS dist/index.cjs 93.73 KB
39
+ CJS dist/session/index.cjs 28.95 KB
40
+ CJS dist/lookup.cjs.map 4.00 KB
41
+ CJS dist/controller.cjs.map 73.25 KB
42
+ CJS dist/node/index.cjs.map 63.79 KB
43
+ CJS dist/index.cjs.map 167.62 KB
44
+ CJS dist/session/index.cjs.map 56.33 KB
45
+ CJS ⚡️ Build success in 524ms
46
+ DTS ⚡️ Build success in 4377ms
47
+ DTS dist/index.d.ts 1.57 KB
48
+ DTS dist/controller.d.ts 1.37 KB
49
+ DTS dist/lookup.d.ts 216.00 B
50
+ DTS dist/node/index.d.ts 2.35 KB
51
+ DTS dist/session/index.d.ts 1.90 KB
52
+ DTS dist/policies-DD1aPjQ4.d.ts 565.00 B
53
+ DTS dist/provider-qWUzdqt3.d.ts 6.81 KB
54
+ DTS dist/index.d.cts 1.58 KB
55
+ DTS dist/controller.d.cts 1.37 KB
56
+ DTS dist/lookup.d.cts 216.00 B
57
+ DTS dist/node/index.d.cts 2.36 KB
58
+ DTS dist/session/index.d.cts 1.90 KB
59
+ DTS dist/policies-DD1aPjQ4.d.cts 565.00 B
60
+ DTS dist/provider-qWUzdqt3.d.cts 6.81 KB
@@ -1,65 +1,64 @@
1
-
2
- > @cartridge/controller@0.7.3 build /home/runner/work/controller/controller/packages/controller
3
- > pnpm build:deps
4
-
5
-
6
- > @cartridge/controller@0.7.3 build:deps /home/runner/work/controller/controller/packages/controller
7
- > tsup
8
-
9
- CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/node/index.ts, src/session/index.ts
10
- CLI Using tsconfig: tsconfig.json
11
- CLI tsup v8.3.5
12
- CLI Using tsup config: /home/runner/work/controller/controller/packages/controller/package.json
13
- CLI Target: esnext
14
- CLI Cleaning output folder
15
- ESM Build start
16
- CJS Build start
17
- "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.cjs".
18
- "addAddressPadding" and "CallData" are imported from external module "starknet" but never used in "dist/index.cjs".
19
- Entry module "dist/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
20
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
21
- Entry module "dist/node/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
22
- DTS Build start
23
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.cjs".
24
- Entry module "dist/session/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
25
- "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.js".
26
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
27
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.js".
28
- "addAddressPadding" and "CallData" are imported from external module "starknet" but never used in "dist/index.js".
29
- CJS dist/controller.cjs 38.67 KB
30
- CJS dist/lookup.cjs 1.70 KB
31
- CJS dist/index.cjs 79.32 KB
32
- CJS dist/node/index.cjs 34.25 KB
33
- CJS dist/session/index.cjs 30.88 KB
34
- CJS dist/lookup.cjs.map 4.00 KB
35
- CJS dist/controller.cjs.map 73.37 KB
36
- CJS dist/index.cjs.map 143.79 KB
37
- CJS dist/node/index.cjs.map 65.13 KB
38
- CJS dist/session/index.cjs.map 57.67 KB
39
- CJS ⚡️ Build success in 1292ms
40
- ESM dist/controller.js 38.64 KB
41
- ESM dist/lookup.js 1.63 KB
42
- ESM dist/node/index.js 33.46 KB
43
- ESM dist/index.js 78.98 KB
44
- ESM dist/session/index.js 30.75 KB
45
- ESM dist/controller.js.map 73.28 KB
46
- ESM dist/lookup.js.map 4.00 KB
47
- ESM dist/node/index.js.map 64.93 KB
48
- ESM dist/index.js.map 143.64 KB
49
- ESM dist/session/index.js.map 57.52 KB
50
- ESM ⚡️ Build success in 1293ms
51
- DTS ⚡️ Build success in 6381ms
52
- DTS dist/index.d.ts 1.20 KB
53
- DTS dist/controller.d.ts 1.34 KB
54
- DTS dist/lookup.d.ts 216.00 B
55
- DTS dist/node/index.d.ts 2.35 KB
56
- DTS dist/session/index.d.ts 1.90 KB
57
- DTS dist/policies-DD1aPjQ4.d.ts 565.00 B
58
- DTS dist/provider-ap1C1ypF.d.ts 6.79 KB
59
- DTS dist/index.d.cts 1.21 KB
60
- DTS dist/controller.d.cts 1.34 KB
61
- DTS dist/lookup.d.cts 216.00 B
62
- DTS dist/node/index.d.cts 2.36 KB
63
- DTS dist/session/index.d.cts 1.90 KB
64
- DTS dist/policies-DD1aPjQ4.d.cts 565.00 B
65
- DTS dist/provider-ap1C1ypF.d.cts 6.79 KB
1
+
2
+
3
+ > @cartridge/controller@0.7.5-alpha.1 build /home/broody/development/controller/packages/controller
4
+ > pnpm build:deps
5
+
6
+
7
+ > @cartridge/controller@0.7.5-alpha.1 build:deps /home/broody/development/controller/packages/controller
8
+ > tsup
9
+
10
+ CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/node/index.ts, src/session/index.ts
11
+ CLI Using tsconfig: tsconfig.json
12
+ CLI tsup v8.3.6
13
+ CLI Using tsup config: /home/broody/development/controller/packages/controller/package.json
14
+ CLI Target: esnext
15
+ CLI Cleaning output folder
16
+ ESM Build start
17
+ CJS Build start
18
+ "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.js".
19
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
20
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.js".
21
+ "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.cjs".
22
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
23
+ Entry module "dist/node/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
24
+ DTS Build start
25
+ Entry module "dist/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
26
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.cjs".
27
+ Entry module "dist/session/index.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
28
+ ESM dist/session/index.js 28.82 KB
29
+ ESM dist/lookup.js 1.63 KB
30
+ ESM dist/node/index.js 31.53 KB
31
+ ESM dist/controller.js 37.31 KB
32
+ ESM dist/index.js 93.31 KB
33
+ ESM dist/lookup.js.map 4.00 KB
34
+ ESM dist/session/index.js.map 56.18 KB
35
+ ESM dist/node/index.js.map 63.59 KB
36
+ ESM dist/index.js.map 167.44 KB
37
+ ESM dist/controller.js.map 73.17 KB
38
+ ESM ⚡️ Build success in 568ms
39
+ CJS dist/lookup.cjs 1.69 KB
40
+ CJS dist/controller.cjs 37.36 KB
41
+ CJS dist/node/index.cjs 32.31 KB
42
+ CJS dist/session/index.cjs 28.95 KB
43
+ CJS dist/index.cjs 93.73 KB
44
+ CJS dist/lookup.cjs.map 4.00 KB
45
+ CJS dist/node/index.cjs.map 63.79 KB
46
+ CJS dist/controller.cjs.map 73.25 KB
47
+ CJS dist/session/index.cjs.map 56.33 KB
48
+ CJS dist/index.cjs.map 167.62 KB
49
+ CJS ⚡️ Build success in 568ms
50
+ DTS ⚡️ Build success in 4348ms
51
+ DTS dist/index.d.ts 1.57 KB
52
+ DTS dist/controller.d.ts 1.37 KB
53
+ DTS dist/lookup.d.ts 216.00 B
54
+ DTS dist/node/index.d.ts 2.35 KB
55
+ DTS dist/session/index.d.ts 1.90 KB
56
+ DTS dist/policies-DD1aPjQ4.d.ts 565.00 B
57
+ DTS dist/provider-qWUzdqt3.d.ts 6.81 KB
58
+ DTS dist/index.d.cts 1.58 KB
59
+ DTS dist/controller.d.cts 1.37 KB
60
+ DTS dist/lookup.d.cts 216.00 B
61
+ DTS dist/node/index.d.cts 2.36 KB
62
+ DTS dist/session/index.d.cts 1.90 KB
63
+ DTS dist/policies-DD1aPjQ4.d.cts 565.00 B
64
+ DTS dist/provider-qWUzdqt3.d.cts 6.81 KB
@@ -0,0 +1,33 @@
1
+
2
+
3
+ > @cartridge/controller@0.7.4 format /home/broody/development/controller/packages/controller
4
+ > prettier --write "src/**/*.ts"
5
+
6
+ src/__tests__/parseChainId.test.tssrc/__tests__/parseChainId.test.ts 77ms (unchanged)
7
+ src/account.tssrc/account.ts 32ms (unchanged)
8
+ src/constants.tssrc/constants.ts 3ms (unchanged)
9
+ src/controller.tssrc/controller.ts 76ms (unchanged)
10
+ src/errors.tssrc/errors.ts 3ms (unchanged)
11
+ src/icon.tssrc/icon.ts 6ms (unchanged)
12
+ src/iframe/base.tssrc/iframe/base.ts 22ms (unchanged)
13
+ src/iframe/index.tssrc/iframe/index.ts 3ms (unchanged)
14
+ src/iframe/keychain.tssrc/iframe/keychain.ts 4ms (unchanged)
15
+ src/iframe/profile.tssrc/iframe/profile.ts 10ms (unchanged)
16
+ src/index.tssrc/index.ts 2ms (unchanged)
17
+ src/lookup.tssrc/lookup.ts 16ms (unchanged)
18
+ src/mutex.tssrc/mutex.ts 4ms (unchanged)
19
+ src/node/account.tssrc/node/account.ts 6ms (unchanged)
20
+ src/node/backend.tssrc/node/backend.ts 18ms (unchanged)
21
+ src/node/index.tssrc/node/index.ts 1ms (unchanged)
22
+ src/node/provider.tssrc/node/provider.ts 32ms (unchanged)
23
+ src/node/server.tssrc/node/server.ts 12ms (unchanged)
24
+ src/policies.tssrc/policies.ts 8ms (unchanged)
25
+ src/provider.tssrc/provider.ts 27ms (unchanged)
26
+ src/session/account.tssrc/session/account.ts 6ms (unchanged)
27
+ src/session/backend.tssrc/session/backend.ts 6ms (unchanged)
28
+ src/session/index.tssrc/session/index.ts 2ms (unchanged)
29
+ src/session/provider.tssrc/session/provider.ts 28ms (unchanged)
30
+ src/telegram/backend.tssrc/telegram/backend.ts 3ms (unchanged)
31
+ src/telegram/provider.tssrc/telegram/provider.ts 10ms (unchanged)
32
+ src/types.tssrc/types.ts 12ms (unchanged)
33
+ src/utils.tssrc/utils.ts 20ms (unchanged)
@@ -5,10 +5,11 @@ var penpal = require('@cartridge/penpal');
5
5
  var typesJs = require('@starknet-io/types-js');
6
6
 
7
7
  // src/account.ts
8
+ var LOCAL_HOSTNAMES = ["localhost", "127.0.0.1", "0.0.0.0"];
8
9
  function toArray(val) {
9
10
  return Array.isArray(val) ? val : [val];
10
11
  }
11
- function parseChainId(url) {
12
+ async function parseChainId(url) {
12
13
  const parts = url.pathname.split("/");
13
14
  if (parts.includes("starknet")) {
14
15
  if (parts.includes("mainnet")) {
@@ -28,6 +29,12 @@ function parseChainId(url) {
28
29
  );
29
30
  }
30
31
  }
32
+ if (LOCAL_HOSTNAMES.includes(url.hostname)) {
33
+ const provider = new starknet.Provider({
34
+ nodeUrl: url.toString()
35
+ });
36
+ return await provider.getChainId();
37
+ }
31
38
  throw new Error(`Chain ${url.toString()} not supported`);
32
39
  }
33
40
 
@@ -61,23 +68,23 @@ var ControllerAccount = class extends starknet.WalletAccount {
61
68
  return new Promise(async (resolve, reject) => {
62
69
  const sessionExecute = await this.keychain.execute(
63
70
  calls,
64
- undefined,
65
- undefined,
71
+ void 0,
72
+ void 0,
66
73
  false
67
74
  );
68
75
  if (sessionExecute.code === "SUCCESS" /* SUCCESS */) {
69
76
  resolve(sessionExecute);
70
77
  return;
71
78
  }
72
- if (this.options?.propagateSessionErrors) {
79
+ if (this.options?.propagateSessionErrors && sessionExecute.code !== "USER_INTERACTION_REQUIRED" /* USER_INTERACTION_REQUIRED */) {
73
80
  reject(sessionExecute.error);
74
81
  return;
75
82
  }
76
83
  this.modal.open();
77
84
  const manualExecute = await this.keychain.execute(
78
85
  calls,
79
- undefined,
80
- undefined,
86
+ void 0,
87
+ void 0,
81
88
  true,
82
89
  sessionExecute.error
83
90
  );
@@ -300,90 +307,7 @@ var NotReadyToConnect = class _NotReadyToConnect extends Error {
300
307
 
301
308
  // package.json
302
309
  var package_default = {
303
- name: "@cartridge/controller",
304
- version: "0.7.3",
305
- description: "Cartridge Controller",
306
- module: "dist/index.js",
307
- types: "dist/index.d.ts",
308
- type: "module",
309
- scripts: {
310
- "build:deps": "tsup",
311
- build: "pnpm build:deps",
312
- format: 'prettier --write "src/**/*.ts"',
313
- "format:check": 'prettier --check "src/**/*.ts"',
314
- test: "jest",
315
- version: "pnpm pkg get version"
316
- },
317
- exports: {
318
- ".": {
319
- types: "./dist/index.d.ts",
320
- import: "./dist/index.js",
321
- require: "./dist/index.cjs"
322
- },
323
- "./session": {
324
- types: "./dist/session/index.d.ts",
325
- import: "./dist/session/index.js",
326
- require: "./dist/session/index.cjs"
327
- },
328
- "./session/node": {
329
- types: "./dist/node/index.d.ts",
330
- import: "./dist/node/index.js",
331
- require: "./dist/node/index.cjs"
332
- },
333
- "./provider": {
334
- types: "./dist/provider/index.d.ts",
335
- import: "./dist/provider/index.js"
336
- },
337
- "./types": {
338
- types: "./dist/types/index.d.ts",
339
- import: "./dist/types/index.js"
340
- }
341
- },
342
- tsup: {
343
- entry: [
344
- "src/index.ts",
345
- "src/controller.ts",
346
- "src/lookup.ts",
347
- "src/session/index.ts",
348
- "src/node/index.ts"
349
- ],
350
- format: [
351
- "esm",
352
- "cjs"
353
- ],
354
- splitting: false,
355
- sourcemap: true,
356
- clean: true,
357
- dts: true,
358
- treeshake: {
359
- preset: "recommended"
360
- },
361
- exports: "named"
362
- },
363
- peerDependencies: {
364
- starknet: "catalog:",
365
- open: "^10.1.0"
366
- },
367
- dependencies: {
368
- "@cartridge/account-wasm": "workspace:*",
369
- "@cartridge/penpal": "catalog:",
370
- "@starknet-io/types-js": "catalog:",
371
- "@telegram-apps/sdk": "^2.4.0",
372
- base64url: "catalog:",
373
- "cbor-x": "^1.5.0",
374
- "fast-deep-equal": "catalog:"
375
- },
376
- devDependencies: {
377
- "@cartridge/tsconfig": "workspace:*",
378
- "@types/jest": "^29.5.14",
379
- "@types/node": "catalog:",
380
- jest: "^29.7.0",
381
- prettier: "catalog:",
382
- "ts-jest": "^29.2.5",
383
- tsup: "catalog:",
384
- typescript: "catalog:"
385
- }
386
- };
310
+ version: "0.7.5-alpha.1"};
387
311
 
388
312
  // src/icon.ts
389
313
  var icon = "data:image/png;base64,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";
@@ -560,8 +484,6 @@ var BaseProvider = class {
560
484
  });
561
485
  }
562
486
  };
563
-
564
- // src/controller.ts
565
487
  var ControllerProvider = class extends BaseProvider {
566
488
  keychain;
567
489
  profile;
@@ -571,24 +493,8 @@ var ControllerProvider = class extends BaseProvider {
571
493
  chains;
572
494
  constructor(options) {
573
495
  super();
574
- const chains = /* @__PURE__ */ new Map();
575
- for (const chain of options.chains) {
576
- const url = new URL(chain.rpcUrl);
577
- const chainId = parseChainId(url);
578
- chains.set(chainId, chain);
579
- }
580
- if (options.policies?.messages?.length && options.policies.messages.length !== chains.size) {
581
- console.warn(
582
- "Each message policy is associated with a specific chain. The number of message policies does not match the number of chains specified - session message signing may not work on some chains."
583
- );
584
- }
585
- this.chains = chains;
586
496
  this.selectedChain = options.defaultChainId;
587
- if (!this.chains.has(this.selectedChain)) {
588
- throw new Error(
589
- `Chain ${this.selectedChain} not found in configured chains`
590
- );
591
- }
497
+ this.chains = /* @__PURE__ */ new Map();
592
498
  this.iframes = {
593
499
  keychain: new KeychainIFrame({
594
500
  ...options,
@@ -599,6 +505,7 @@ var ControllerProvider = class extends BaseProvider {
599
505
  })
600
506
  };
601
507
  this.options = options;
508
+ this.validateChains(options.chains);
602
509
  if (typeof window !== "undefined") {
603
510
  window.starknet_controller = this;
604
511
  }
@@ -694,6 +601,7 @@ var ControllerProvider = class extends BaseProvider {
694
601
  return true;
695
602
  }
696
603
  await this.keychain.switchChain(this.rpcUrl());
604
+ await this.profile?.switchChain(this.rpcUrl());
697
605
  } catch (e) {
698
606
  console.error(e);
699
607
  return false;
@@ -715,7 +623,7 @@ var ControllerProvider = class extends BaseProvider {
715
623
  await document.requestStorageAccess();
716
624
  }
717
625
  }
718
- this.account = undefined;
626
+ this.account = void 0;
719
627
  return this.keychain.disconnect();
720
628
  }
721
629
  async openProfile(tab = "inventory") {
@@ -781,7 +689,16 @@ var ControllerProvider = class extends BaseProvider {
781
689
  return this.keychain.revoke(origin);
782
690
  }
783
691
  rpcUrl() {
784
- return this.chains.get(this.selectedChain).rpcUrl;
692
+ const chain = this.chains.get(this.selectedChain);
693
+ if (!chain) {
694
+ const availableChains = Array.from(this.chains.keys()).map(
695
+ (chain2) => starknet.shortString.decodeShortString(chain2)
696
+ );
697
+ throw new Error(
698
+ `Chain not found: ${starknet.shortString.decodeShortString(this.selectedChain)}. Available chains: ${availableChains.join(", ")}`
699
+ );
700
+ }
701
+ return chain.rpcUrl;
785
702
  }
786
703
  username() {
787
704
  if (!this.keychain) {
@@ -819,7 +736,7 @@ var ControllerProvider = class extends BaseProvider {
819
736
  this.iframes.profile?.sendBackward();
820
737
  this.iframes.keychain.open();
821
738
  this.iframes.profile?.close();
822
- const res = await this.keychain.execute(calls, undefined, undefined, true);
739
+ const res = await this.keychain.execute(calls, void 0, void 0, true);
823
740
  this.iframes.profile?.open();
824
741
  this.iframes.keychain.close();
825
742
  this.iframes.profile?.sendForward();
@@ -835,6 +752,22 @@ var ControllerProvider = class extends BaseProvider {
835
752
  }
836
753
  return await this.keychain.delegateAccount();
837
754
  }
755
+ async validateChains(chains) {
756
+ for (const chain of chains) {
757
+ try {
758
+ const url = new URL(chain.rpcUrl);
759
+ const chainId = await parseChainId(url);
760
+ this.chains.set(chainId, chain);
761
+ } catch (error) {
762
+ console.error(`Failed to parse chainId for ${chain.rpcUrl}:`, error);
763
+ }
764
+ }
765
+ if (!this.chains.has(this.selectedChain)) {
766
+ console.warn(
767
+ `Selected chain ${this.selectedChain} not found in configured chains. Available chains: ${Array.from(this.chains.keys()).join(", ")}`
768
+ );
769
+ }
770
+ }
838
771
  waitForKeychain({
839
772
  timeout = 5e4,
840
773
  interval = 100