@cartridge/controller 0.7.14-alpha.3 → 0.9.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.
Files changed (58) hide show
  1. package/.turbo/turbo-build$colon$deps.log +51 -49
  2. package/.turbo/turbo-build.log +47 -45
  3. package/dist/__tests__/setup.d.ts +0 -0
  4. package/dist/account.d.ts +2 -3
  5. package/dist/controller.d.ts +7 -5
  6. package/dist/iframe/base.d.ts +1 -0
  7. package/dist/iframe/keychain.d.ts +4 -2
  8. package/dist/iframe/profile.d.ts +1 -1
  9. package/dist/index.js +885 -4955
  10. package/dist/index.js.map +1 -1
  11. package/dist/node/index.cjs +3 -3
  12. package/dist/node/index.cjs.map +1 -1
  13. package/dist/node/index.d.cts +2 -2
  14. package/dist/node/index.d.ts +2 -2
  15. package/dist/node/index.js +3 -3
  16. package/dist/node/index.js.map +1 -1
  17. package/dist/{provider-sFJ4sl5V.js → provider-B9Ikz5hr.js} +98 -75
  18. package/dist/provider-B9Ikz5hr.js.map +1 -0
  19. package/dist/provider.d.ts +1 -1
  20. package/dist/session/account.d.ts +2 -2
  21. package/dist/session.js +10 -10
  22. package/dist/session.js.map +1 -1
  23. package/dist/stats.html +1 -1
  24. package/dist/types.d.ts +6 -5
  25. package/dist/utils.d.ts +3 -3
  26. package/dist/wallets/bridge.d.ts +2 -2
  27. package/dist/wallets/index.d.ts +0 -2
  28. package/dist/wallets/metamask/index.d.ts +2 -2
  29. package/dist/wallets/rabby/index.d.ts +1 -1
  30. package/dist/wallets/types.d.ts +2 -2
  31. package/jest.config.ts +2 -0
  32. package/package.json +8 -8
  33. package/src/__tests__/controllerDefaults.test.ts +80 -0
  34. package/src/__tests__/parseChainId.test.ts +0 -6
  35. package/src/__tests__/setup.ts +29 -0
  36. package/src/account.ts +5 -8
  37. package/src/controller.ts +98 -22
  38. package/src/iframe/base.ts +19 -1
  39. package/src/iframe/keychain.ts +14 -2
  40. package/src/iframe/profile.ts +0 -11
  41. package/src/node/account.ts +3 -3
  42. package/src/provider.ts +9 -9
  43. package/src/session/account.ts +3 -4
  44. package/src/types.ts +7 -5
  45. package/src/utils.ts +49 -13
  46. package/src/wallets/bridge.ts +8 -19
  47. package/src/wallets/index.ts +0 -2
  48. package/src/wallets/metamask/index.ts +18 -13
  49. package/src/wallets/rabby/index.ts +14 -10
  50. package/src/wallets/types.ts +5 -2
  51. package/tsconfig.json +3 -2
  52. package/.turbo/turbo-format$colon$check.log +0 -7
  53. package/.turbo/turbo-format.log +0 -42
  54. package/dist/provider-sFJ4sl5V.js.map +0 -1
  55. package/dist/wallets/turnkey/index.d.ts +0 -20
  56. package/dist/wallets/wallet-connect/index.d.ts +0 -19
  57. package/src/wallets/turnkey/index.ts +0 -195
  58. package/src/wallets/wallet-connect/index.ts +0 -206
@@ -1,49 +1,51 @@
1
-
2
-
3
- > @cartridge/controller@0.7.14-alpha.3 build:deps /home/broody/development/controller/packages/controller
4
- > pnpm build
5
-
6
-
7
- > @cartridge/controller@0.7.14-alpha.3 build /home/broody/development/controller/packages/controller
8
- > pnpm build:browser && pnpm build:node
9
-
10
-
11
- > @cartridge/controller@0.7.14-alpha.3 build:browser /home/broody/development/controller/packages/controller
12
- > vite build
13
-
14
- vite v6.3.4 building for production...
15
- transforming (1) src/index.tstransforming (23) src/wallets/wallet-connect/index.transforming (84) ../../node_modules/.pnpm/ethers@6transforming (127) ../../node_modules/.pnpm/ethers@transforming (183) ../../node_modules/.pnpm/@cartri✓ 211 modules transformed.
16
- rendering chunks (1)...rendering chunks (2)...rendering chunks (3)...[vite-plugin-top-level-await] Non-existing module "../../account-wasm/pkg-session/account_wasm_bg.wasm" imported by "session.js", ignoring.
17
- 
18
- [vite:dts] Start generate declaration files...
19
- computing gzip size (0)...computing gzip size (1)...computing gzip size (2)...computing gzip size (3)...dist/session.js  11.10 kB │ gzip: 3.45 kB map: 59.54 kB
20
- dist/provider-sFJ4sl5V.js  12.78 kB │ gzip: 5.24 kB │ map: 30.87 kB
21
- dist/index.js 201.68 kB │ gzip: 34.47 kB │ map: 429.05 kB
22
- [vite:dts] Declaration files built in 2993ms.
23
- 
24
- ✓ built in 4.07s
25
-
26
- > @cartridge/controller@0.7.14-alpha.3 build:node /home/broody/development/controller/packages/controller
27
- > tsup --config tsup.node.config.ts
28
-
29
- CLI Building entry: src/node/index.ts
30
- CLI Using tsconfig: tsconfig.json
31
- CLI tsup v8.4.0
32
- CLI Using tsup config: /home/broody/development/controller/packages/controller/tsup.node.config.ts
33
- CLI Target: esnext
34
- CLI Cleaning output folder
35
- ESM Build start
36
- CJS Build start
37
- "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
38
- "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
39
- 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.
40
- ESM dist/node/index.js 21.12 KB
41
- ESM dist/node/index.js.map 49.04 KB
42
- ESM ⚡️ Build success in 161ms
43
- CJS dist/node/index.cjs 21.89 KB
44
- CJS dist/node/index.cjs.map 49.25 KB
45
- CJS ⚡️ Build success in 162ms
46
- DTS Build start
47
- DTS ⚡️ Build success in 2339ms
48
- DTS dist/node/index.d.ts 5.29 KB
49
- DTS dist/node/index.d.cts 5.29 KB
1
+
2
+ > @cartridge/controller@0.9.0 build:deps /home/runner/work/controller/controller/packages/controller
3
+ > pnpm build
4
+
5
+
6
+ > @cartridge/controller@0.9.0 build /home/runner/work/controller/controller/packages/controller
7
+ > pnpm build:browser && pnpm build:node
8
+
9
+
10
+ > @cartridge/controller@0.9.0 build:browser /home/runner/work/controller/controller/packages/controller
11
+ > vite build
12
+
13
+ vite v6.3.4 building for production...
14
+ transforming...
15
+ ✓ 218 modules transformed.
16
+ rendering chunks...
17
+ [vite-plugin-top-level-await] Non-existing module "../../../node_modules/.pnpm/@cartridge+controller-wasm@0.2.1/node_modules/@cartridge/controller-wasm/pkg-session/session_wasm_bg.wasm" imported by "session.js", ignoring.
18
+
19
+ [vite:dts] Start generate declaration files...
20
+ computing gzip size...
21
+ dist/session.js 11.17 kB │ gzip: 3.48 kB │ map: 60.40 kB
22
+ dist/provider-B9Ikz5hr.js 13.52 kB gzip: 5.52 kB │ map: 32.77 kB
23
+ dist/index.js 79.14 kB │ gzip: 20.64 kB │ map: 222.56 kB
24
+ [vite:dts] Declaration files built in 4568ms.
25
+
26
+ ✓ built in 5.95s
27
+
28
+ > @cartridge/controller@0.9.0 build:node /home/runner/work/controller/controller/packages/controller
29
+ > tsup --config tsup.node.config.ts
30
+
31
+ CLI Building entry: src/node/index.ts
32
+ CLI Using tsconfig: tsconfig.json
33
+ CLI tsup v8.4.0
34
+ CLI Using tsup config: /home/runner/work/controller/controller/packages/controller/tsup.node.config.ts
35
+ CLI Target: esnext
36
+ CLI Cleaning output folder
37
+ ESM Build start
38
+ CJS Build start
39
+ "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
40
+ 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.
41
+ "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
42
+ CJS dist/node/index.cjs 21.89 KB
43
+ CJS dist/node/index.cjs.map 50.44 KB
44
+ CJS ⚡️ Build success in 388ms
45
+ ESM dist/node/index.js 21.13 KB
46
+ ESM dist/node/index.js.map 50.23 KB
47
+ ESM ⚡️ Build success in 389ms
48
+ DTS Build start
49
+ DTS ⚡️ Build success in 4125ms
50
+ DTS dist/node/index.d.ts 5.26 KB
51
+ DTS dist/node/index.d.cts 5.26 KB
@@ -1,45 +1,47 @@
1
-
2
-
3
- > @cartridge/controller@0.7.14-alpha.3 build /home/broody/development/controller/packages/controller
4
- > pnpm build:browser && pnpm build:node
5
-
6
-
7
- > @cartridge/controller@0.7.14-alpha.3 build:browser /home/broody/development/controller/packages/controller
8
- > vite build
9
-
10
- vite v6.3.4 building for production...
11
- transforming (1) src/index.tstransforming (24) ../../node_modules/.pnpm/@starknetransforming (88) ../../node_modules/.pnpm/ethers@6transforming (128) ../../node_modules/.pnpm/ethers@transforming (184) ../../node_modules/.pnpm/@cartri✓ 211 modules transformed.
12
- rendering chunks (1)...rendering chunks (2)...rendering chunks (3)...[vite-plugin-top-level-await] Non-existing module "../../account-wasm/pkg-session/account_wasm_bg.wasm" imported by "session.js", ignoring.
13
- 
14
- [vite:dts] Start generate declaration files...
15
- computing gzip size (0)...computing gzip size (1)...computing gzip size (2)...computing gzip size (3)...dist/session.js  11.10 kB │ gzip: 3.45 kB map: 59.54 kB
16
- dist/provider-sFJ4sl5V.js  12.78 kB │ gzip: 5.24 kB │ map: 30.87 kB
17
- dist/index.js 201.68 kB │ gzip: 34.47 kB │ map: 429.05 kB
18
- [vite:dts] Declaration files built in 2968ms.
19
- 
20
- ✓ built in 4.04s
21
-
22
- > @cartridge/controller@0.7.14-alpha.3 build:node /home/broody/development/controller/packages/controller
23
- > tsup --config tsup.node.config.ts
24
-
25
- CLI Building entry: src/node/index.ts
26
- CLI Using tsconfig: tsconfig.json
27
- CLI tsup v8.4.0
28
- CLI Using tsup config: /home/broody/development/controller/packages/controller/tsup.node.config.ts
29
- CLI Target: esnext
30
- CLI Cleaning output folder
31
- ESM Build start
32
- CJS Build start
33
- "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
34
- 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.
35
- "constants", "getChecksumAddress", "Provider" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
36
- CJS dist/node/index.cjs 21.89 KB
37
- CJS dist/node/index.cjs.map 49.25 KB
38
- CJS ⚡️ Build success in 155ms
39
- ESM dist/node/index.js 21.12 KB
40
- ESM dist/node/index.js.map 49.04 KB
41
- ESM ⚡️ Build success in 155ms
42
- DTS Build start
43
- DTS ⚡️ Build success in 2331ms
44
- DTS dist/node/index.d.ts 5.29 KB
45
- DTS dist/node/index.d.cts 5.29 KB
1
+
2
+ > @cartridge/controller@0.9.0 build /home/runner/work/controller/controller/packages/controller
3
+ > pnpm build:browser && pnpm build:node
4
+
5
+
6
+ > @cartridge/controller@0.9.0 build:browser /home/runner/work/controller/controller/packages/controller
7
+ > vite build
8
+
9
+ vite v6.3.4 building for production...
10
+ transforming...
11
+ ✓ 218 modules transformed.
12
+ rendering chunks...
13
+ [vite-plugin-top-level-await] Non-existing module "../../../node_modules/.pnpm/@cartridge+controller-wasm@0.2.1/node_modules/@cartridge/controller-wasm/pkg-session/session_wasm_bg.wasm" imported by "session.js", ignoring.
14
+
15
+ [vite:dts] Start generate declaration files...
16
+ computing gzip size...
17
+ dist/session.js 11.17 kB │ gzip: 3.48 kB │ map: 60.40 kB
18
+ dist/provider-B9Ikz5hr.js 13.52 kB gzip: 5.52 kB │ map: 32.77 kB
19
+ dist/index.js 79.14 kB │ gzip: 20.64 kB │ map: 222.56 kB
20
+ [vite:dts] Declaration files built in 4366ms.
21
+
22
+ ✓ built in 5.93s
23
+
24
+ > @cartridge/controller@0.9.0 build:node /home/runner/work/controller/controller/packages/controller
25
+ > tsup --config tsup.node.config.ts
26
+
27
+ CLI Building entry: src/node/index.ts
28
+ CLI Using tsconfig: tsconfig.json
29
+ CLI tsup v8.4.0
30
+ CLI Using tsup config: /home/runner/work/controller/controller/packages/controller/tsup.node.config.ts
31
+ CLI Target: esnext
32
+ CLI Cleaning output folder
33
+ ESM Build start
34
+ CJS Build start
35
+ "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
36
+ "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
37
+ 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.
38
+ DTS Build start
39
+ ESM dist/node/index.js 21.13 KB
40
+ ESM dist/node/index.js.map 50.23 KB
41
+ ESM ⚡️ Build success in 343ms
42
+ CJS dist/node/index.cjs 21.89 KB
43
+ CJS dist/node/index.cjs.map 50.44 KB
44
+ CJS ⚡️ Build success in 344ms
45
+ DTS ⚡️ Build success in 4247ms
46
+ DTS dist/node/index.d.ts 5.26 KB
47
+ DTS dist/node/index.d.cts 5.26 KB
File without changes
package/dist/account.d.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  import { InvokeFunctionResponse, TypedData, WalletAccount, Call, AllowArray } from 'starknet';
2
- import { SPEC } from '@starknet-io/types-js';
3
2
  import { Keychain, KeychainOptions, Modal } from './types';
4
3
  import { AsyncMethodReturns } from '@cartridge/penpal';
5
4
  import { default as BaseProvider } from './provider';
5
+ import { SIGNATURE } from '@starknet-io/types-js';
6
6
  declare class ControllerAccount extends WalletAccount {
7
- address: string;
8
7
  private keychain;
9
8
  private modal;
10
9
  private options?;
@@ -30,6 +29,6 @@ declare class ControllerAccount extends WalletAccount {
30
29
  * @returns the signature of the JSON object
31
30
  * @throws {Error} if the JSON object is not a valid JSON
32
31
  */
33
- signMessage(typedData: TypedData): Promise<SPEC.SIGNATURE>;
32
+ signMessage(typedData: TypedData): Promise<SIGNATURE>;
34
33
  }
35
34
  export default ControllerAccount;
@@ -1,8 +1,8 @@
1
- import { ControllerOptions, ProfileContextTypeVariant } from './types';
2
- import { default as BaseProvider } from './provider';
3
- import { WalletAccount } from 'starknet';
4
1
  import { Policy } from '@cartridge/presets';
5
2
  import { AddStarknetChainParameters } from '@starknet-io/types-js';
3
+ import { WalletAccount } from 'starknet';
4
+ import { default as BaseProvider } from './provider';
5
+ import { ControllerOptions, ProfileContextTypeVariant } from './types';
6
6
  export default class ControllerProvider extends BaseProvider {
7
7
  private keychain?;
8
8
  private profile?;
@@ -10,7 +10,9 @@ export default class ControllerProvider extends BaseProvider {
10
10
  private iframes;
11
11
  private selectedChain;
12
12
  private chains;
13
- constructor(options: ControllerOptions);
13
+ isReady(): boolean;
14
+ constructor(options?: ControllerOptions);
15
+ logout(): Promise<void>;
14
16
  probe(): Promise<WalletAccount | undefined>;
15
17
  connect(): Promise<WalletAccount | undefined>;
16
18
  switchStarknetChain(chainId: string): Promise<boolean>;
@@ -30,6 +32,6 @@ export default class ControllerProvider extends BaseProvider {
30
32
  transactionHash: string;
31
33
  } | undefined>;
32
34
  delegateAccount(): Promise<string | null>;
33
- private validateChains;
35
+ private initializeChains;
34
36
  private waitForKeychain;
35
37
  }
@@ -9,6 +9,7 @@ export declare class IFrame<CallSender extends {}> implements Modal {
9
9
  private iframe?;
10
10
  private container?;
11
11
  private onClose?;
12
+ private child?;
12
13
  constructor({ id, url, preset, onClose, onConnect, methods, }: Pick<ControllerOptions, "preset"> & {
13
14
  id: string;
14
15
  url: URL;
@@ -1,10 +1,12 @@
1
1
  import { Keychain, KeychainOptions } from '../types';
2
2
  import { WalletBridge } from '../wallets/bridge';
3
3
  import { IFrame, IFrameOptions } from './base';
4
- type KeychainIframeOptions = IFrameOptions<Keychain> & KeychainOptions;
4
+ type KeychainIframeOptions = IFrameOptions<Keychain> & KeychainOptions & {
5
+ version?: string;
6
+ };
5
7
  export declare class KeychainIFrame extends IFrame<Keychain> {
6
8
  private walletBridge;
7
- constructor({ url, policies, ...iframeOptions }: KeychainIframeOptions);
9
+ constructor({ url, policies, version, ...iframeOptions }: KeychainIframeOptions);
8
10
  getWalletBridge(): WalletBridge;
9
11
  }
10
12
  export {};
@@ -8,5 +8,5 @@ export type ProfileIFrameOptions = IFrameOptions<Profile> & ProfileOptions & {
8
8
  namespace?: string;
9
9
  };
10
10
  export declare class ProfileIFrame extends IFrame<Profile> {
11
- constructor({ profileUrl, rpcUrl, version, username, slot, namespace, tokens, policies, ...iframeOptions }: ProfileIFrameOptions);
11
+ constructor({ profileUrl, rpcUrl, version, username, slot, namespace, tokens, ...iframeOptions }: ProfileIFrameOptions);
12
12
  }