@cartridge/controller 0.7.4 → 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,9 +1,9 @@
1
1
 
2
2
 
3
- > @cartridge/controller@0.7.4 build:deps /home/broody/development/controller/packages/controller
3
+ > @cartridge/controller@0.7.5-alpha.1 build:deps /home/broody/development/controller/packages/controller
4
4
  > tsup
5
5
 
6
- CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/session/index.ts, src/node/index.ts
6
+ CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/node/index.ts, src/session/index.ts
7
7
  CLI Using tsconfig: tsconfig.json
8
8
  CLI tsup v8.3.6
9
9
  CLI Using tsup config: /home/broody/development/controller/packages/controller/package.json
@@ -12,49 +12,49 @@
12
12
  ESM Build start
13
13
  CJS Build start
14
14
  "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.js".
15
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.js".
16
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.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
17
  "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.cjs".
18
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.cjs".
19
- 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.
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
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
21
  DTS Build start
22
- "constants", "getChecksumAddress" 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
- ESM dist/controller.js 37.15 KB
25
- ESM dist/node/index.js 31.52 KB
26
- ESM dist/session/index.js 28.81 KB
27
- ESM dist/index.js 93.14 KB
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
28
25
  ESM dist/lookup.js 1.63 KB
29
- ESM dist/controller.js.map 72.63 KB
30
- ESM dist/session/index.js.map 55.90 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
31
29
  ESM dist/lookup.js.map 4.00 KB
32
- ESM dist/node/index.js.map 63.31 KB
33
- ESM dist/index.js.map 166.90 KB
34
- ESM ⚡️ Build success in 468ms
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
35
  CJS dist/lookup.cjs 1.69 KB
36
- CJS dist/session/index.cjs 28.94 KB
37
- CJS dist/controller.cjs 37.19 KB
38
- CJS dist/index.cjs 93.56 KB
39
- CJS dist/node/index.cjs 32.30 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
40
  CJS dist/lookup.cjs.map 4.00 KB
41
- CJS dist/session/index.cjs.map 56.06 KB
42
- CJS dist/controller.cjs.map 72.70 KB
43
- CJS dist/index.cjs.map 167.07 KB
44
- CJS dist/node/index.cjs.map 63.52 KB
45
- CJS ⚡️ Build success in 468ms
46
- DTS ⚡️ Build success in 4006ms
47
- DTS dist/index.d.ts 1.56 KB
48
- DTS dist/controller.d.ts 1.34 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
49
  DTS dist/lookup.d.ts 216.00 B
50
- DTS dist/session/index.d.ts 1.90 KB
51
50
  DTS dist/node/index.d.ts 2.35 KB
51
+ DTS dist/session/index.d.ts 1.90 KB
52
52
  DTS dist/policies-DD1aPjQ4.d.ts 565.00 B
53
53
  DTS dist/provider-qWUzdqt3.d.ts 6.81 KB
54
- DTS dist/index.d.cts 1.57 KB
55
- DTS dist/controller.d.cts 1.34 KB
54
+ DTS dist/index.d.cts 1.58 KB
55
+ DTS dist/controller.d.cts 1.37 KB
56
56
  DTS dist/lookup.d.cts 216.00 B
57
- DTS dist/session/index.d.cts 1.90 KB
58
57
  DTS dist/node/index.d.cts 2.36 KB
58
+ DTS dist/session/index.d.cts 1.90 KB
59
59
  DTS dist/policies-DD1aPjQ4.d.cts 565.00 B
60
60
  DTS dist/provider-qWUzdqt3.d.cts 6.81 KB
@@ -1,13 +1,13 @@
1
1
 
2
2
 
3
- > @cartridge/controller@0.7.4 build /home/broody/development/controller/packages/controller
3
+ > @cartridge/controller@0.7.5-alpha.1 build /home/broody/development/controller/packages/controller
4
4
  > pnpm build:deps
5
5
 
6
6
 
7
- > @cartridge/controller@0.7.4 build:deps /home/broody/development/controller/packages/controller
7
+ > @cartridge/controller@0.7.5-alpha.1 build:deps /home/broody/development/controller/packages/controller
8
8
  > tsup
9
9
 
10
- CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/session/index.ts, src/node/index.ts
10
+ CLI Building entry: src/controller.ts, src/index.ts, src/lookup.ts, src/node/index.ts, src/session/index.ts
11
11
  CLI Using tsconfig: tsconfig.json
12
12
  CLI tsup v8.3.6
13
13
  CLI Using tsup config: /home/broody/development/controller/packages/controller/package.json
@@ -15,50 +15,50 @@
15
15
  CLI Cleaning output folder
16
16
  ESM Build start
17
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".
18
21
  "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.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/session/index.cjs".
21
- 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.
22
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
22
+ "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
23
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
- "addAddressPadding", "CallData", "getChecksumAddress", "hash", "typedData" and "TypedDataRevision" are imported from external module "starknet" but never used in "dist/controller.js".
25
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/session/index.js".
26
24
  DTS Build start
27
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
28
- CJS dist/controller.cjs 37.19 KB
29
- CJS dist/node/index.cjs 32.30 KB
30
- CJS dist/lookup.cjs 1.69 KB
31
- CJS dist/index.cjs 93.56 KB
32
- CJS dist/session/index.cjs 28.94 KB
33
- CJS dist/lookup.cjs.map 4.00 KB
34
- CJS dist/controller.cjs.map 72.70 KB
35
- CJS dist/node/index.cjs.map 63.52 KB
36
- CJS dist/session/index.cjs.map 56.06 KB
37
- CJS dist/index.cjs.map 167.07 KB
38
- CJS ⚡️ Build success in 468ms
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
39
29
  ESM dist/lookup.js 1.63 KB
40
- ESM dist/controller.js 37.15 KB
41
- ESM dist/node/index.js 31.52 KB
42
- ESM dist/session/index.js 28.81 KB
43
- ESM dist/index.js 93.14 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
44
33
  ESM dist/lookup.js.map 4.00 KB
45
- ESM dist/controller.js.map 72.63 KB
46
- ESM dist/node/index.js.map 63.31 KB
47
- ESM dist/session/index.js.map 55.90 KB
48
- ESM dist/index.js.map 166.90 KB
49
- ESM ⚡️ Build success in 469ms
50
- DTS ⚡️ Build success in 3967ms
51
- DTS dist/index.d.ts 1.56 KB
52
- DTS dist/controller.d.ts 1.34 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
53
  DTS dist/lookup.d.ts 216.00 B
54
- DTS dist/session/index.d.ts 1.90 KB
55
54
  DTS dist/node/index.d.ts 2.35 KB
55
+ DTS dist/session/index.d.ts 1.90 KB
56
56
  DTS dist/policies-DD1aPjQ4.d.ts 565.00 B
57
57
  DTS dist/provider-qWUzdqt3.d.ts 6.81 KB
58
- DTS dist/index.d.cts 1.57 KB
59
- DTS dist/controller.d.cts 1.34 KB
58
+ DTS dist/index.d.cts 1.58 KB
59
+ DTS dist/controller.d.cts 1.37 KB
60
60
  DTS dist/lookup.d.cts 216.00 B
61
- DTS dist/session/index.d.cts 1.90 KB
62
61
  DTS dist/node/index.d.cts 2.36 KB
62
+ DTS dist/session/index.d.cts 1.90 KB
63
63
  DTS dist/policies-DD1aPjQ4.d.cts 565.00 B
64
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
 
@@ -300,7 +307,7 @@ var NotReadyToConnect = class _NotReadyToConnect extends Error {
300
307
 
301
308
  // package.json
302
309
  var package_default = {
303
- version: "0.7.4"};
310
+ version: "0.7.5-alpha.1"};
304
311
 
305
312
  // src/icon.ts
306
313
  var icon = "data:image/png;base64,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";
@@ -486,24 +493,8 @@ var ControllerProvider = class extends BaseProvider {
486
493
  chains;
487
494
  constructor(options) {
488
495
  super();
489
- const chains = /* @__PURE__ */ new Map();
490
- for (const chain of options.chains) {
491
- const url = new URL(chain.rpcUrl);
492
- const chainId = parseChainId(url);
493
- chains.set(chainId, chain);
494
- }
495
- if (options.policies?.messages?.length && options.policies.messages.length !== chains.size) {
496
- console.warn(
497
- "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."
498
- );
499
- }
500
- this.chains = chains;
501
496
  this.selectedChain = options.defaultChainId;
502
- if (!this.chains.has(this.selectedChain)) {
503
- throw new Error(
504
- `Chain ${this.selectedChain} not found in configured chains`
505
- );
506
- }
497
+ this.chains = /* @__PURE__ */ new Map();
507
498
  this.iframes = {
508
499
  keychain: new KeychainIFrame({
509
500
  ...options,
@@ -514,6 +505,7 @@ var ControllerProvider = class extends BaseProvider {
514
505
  })
515
506
  };
516
507
  this.options = options;
508
+ this.validateChains(options.chains);
517
509
  if (typeof window !== "undefined") {
518
510
  window.starknet_controller = this;
519
511
  }
@@ -760,6 +752,22 @@ var ControllerProvider = class extends BaseProvider {
760
752
  }
761
753
  return await this.keychain.delegateAccount();
762
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
+ }
763
771
  waitForKeychain({
764
772
  timeout = 5e4,
765
773
  interval = 100