@cartridge/controller 0.10.7 → 0.11.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,30 +1,30 @@
1
1
 
2
- > @cartridge/controller@0.10.7 build:deps /home/runner/work/controller/controller/packages/controller
2
+ > @cartridge/controller@0.11.1 build:deps /home/runner/work/controller/controller/packages/controller
3
3
  > pnpm build
4
4
 
5
5
 
6
- > @cartridge/controller@0.10.7 build /home/runner/work/controller/controller/packages/controller
6
+ > @cartridge/controller@0.11.1 build /home/runner/work/controller/controller/packages/controller
7
7
  > pnpm build:browser && pnpm build:node
8
8
 
9
9
 
10
- > @cartridge/controller@0.10.7 build:browser /home/runner/work/controller/controller/packages/controller
10
+ > @cartridge/controller@0.11.1 build:browser /home/runner/work/controller/controller/packages/controller
11
11
  > vite build
12
12
 
13
13
  vite v6.3.4 building for production...
14
14
  transforming...
15
- ✓ 230 modules transformed.
15
+ ✓ 231 modules transformed.
16
16
  rendering chunks...
17
17
 
18
18
  [vite:dts] Start generate declaration files...
19
19
  computing gzip size...
20
- dist/session.js  8.67 kB │ gzip: 2.70 kB │ map: 20.31 kB
21
- dist/provider-CN6AecRF.js  14.05 kB │ gzip: 5.79 kB │ map: 36.37 kB
22
- dist/index.js 135.69 kB │ gzip: 34.52 kB │ map: 438.07 kB
23
- [vite:dts] Declaration files built in 4370ms.
20
+ dist/session.js  8.75 kB │ gzip: 2.69 kB │ map: 20.54 kB
21
+ dist/provider-GfOahKeA.js  13.95 kB │ gzip: 5.76 kB │ map: 36.06 kB
22
+ dist/index.js 140.99 kB │ gzip: 35.90 kB │ map: 452.82 kB
23
+ [vite:dts] Declaration files built in 4496ms.
24
24
 
25
- ✓ built in 6.16s
25
+ ✓ built in 6.24s
26
26
 
27
- > @cartridge/controller@0.10.7 build:node /home/runner/work/controller/controller/packages/controller
27
+ > @cartridge/controller@0.11.1 build:node /home/runner/work/controller/controller/packages/controller
28
28
  > tsup --config tsup.node.config.ts
29
29
 
30
30
  CLI Building entry: src/node/index.ts
@@ -40,11 +40,11 @@ computing gzip size...
40
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
41
  ESM dist/node/index.js 21.53 KB
42
42
  ESM dist/node/index.js.map 51.13 KB
43
- ESM ⚡️ Build success in 395ms
43
+ ESM ⚡️ Build success in 402ms
44
44
  CJS dist/node/index.cjs 22.32 KB
45
45
  CJS dist/node/index.cjs.map 51.36 KB
46
- CJS ⚡️ Build success in 392ms
46
+ CJS ⚡️ Build success in 403ms
47
47
  DTS Build start
48
- DTS ⚡️ Build success in 4053ms
48
+ DTS ⚡️ Build success in 3968ms
49
49
  DTS dist/node/index.d.ts 5.94 KB
50
50
  DTS dist/node/index.d.cts 5.94 KB
@@ -1,26 +1,26 @@
1
1
 
2
- > @cartridge/controller@0.10.7 build /home/runner/work/controller/controller/packages/controller
2
+ > @cartridge/controller@0.11.1 build /home/runner/work/controller/controller/packages/controller
3
3
  > pnpm build:browser && pnpm build:node
4
4
 
5
5
 
6
- > @cartridge/controller@0.10.7 build:browser /home/runner/work/controller/controller/packages/controller
6
+ > @cartridge/controller@0.11.1 build:browser /home/runner/work/controller/controller/packages/controller
7
7
  > vite build
8
8
 
9
9
  vite v6.3.4 building for production...
10
10
  transforming...
11
- ✓ 230 modules transformed.
11
+ ✓ 231 modules transformed.
12
12
  rendering chunks...
13
13
 
14
14
  [vite:dts] Start generate declaration files...
15
15
  computing gzip size...
16
- dist/session.js  8.67 kB │ gzip: 2.70 kB │ map: 20.31 kB
17
- dist/provider-CN6AecRF.js  14.05 kB │ gzip: 5.79 kB │ map: 36.37 kB
18
- dist/index.js 135.69 kB │ gzip: 34.52 kB │ map: 438.07 kB
19
- [vite:dts] Declaration files built in 4429ms.
16
+ dist/session.js  8.75 kB │ gzip: 2.69 kB │ map: 20.54 kB
17
+ dist/provider-GfOahKeA.js  13.95 kB │ gzip: 5.76 kB │ map: 36.06 kB
18
+ dist/index.js 140.99 kB │ gzip: 35.90 kB │ map: 452.82 kB
19
+ [vite:dts] Declaration files built in 4314ms.
20
20
 
21
- ✓ built in 6.29s
21
+ ✓ built in 6.24s
22
22
 
23
- > @cartridge/controller@0.10.7 build:node /home/runner/work/controller/controller/packages/controller
23
+ > @cartridge/controller@0.11.1 build:node /home/runner/work/controller/controller/packages/controller
24
24
  > tsup --config tsup.node.config.ts
25
25
 
26
26
  CLI Building entry: src/node/index.ts
@@ -31,16 +31,16 @@ computing gzip size...
31
31
  CLI Cleaning output folder
32
32
  ESM Build start
33
33
  CJS Build start
34
+ "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
34
35
  "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.cjs".
35
36
  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.
36
- "constants", "getChecksumAddress" and "shortString" are imported from external module "starknet" but never used in "dist/node/index.js".
37
- CJS dist/node/index.cjs 22.32 KB
38
- CJS dist/node/index.cjs.map 51.36 KB
39
- CJS ⚡️ Build success in 305ms
40
37
  ESM dist/node/index.js 21.53 KB
41
38
  ESM dist/node/index.js.map 51.13 KB
42
- ESM ⚡️ Build success in 306ms
39
+ ESM ⚡️ Build success in 321ms
40
+ CJS dist/node/index.cjs 22.32 KB
41
+ CJS dist/node/index.cjs.map 51.36 KB
42
+ CJS ⚡️ Build success in 322ms
43
43
  DTS Build start
44
- DTS ⚡️ Build success in 4259ms
44
+ DTS ⚡️ Build success in 4214ms
45
45
  DTS dist/node/index.d.ts 5.94 KB
46
46
  DTS dist/node/index.d.cts 5.94 KB
@@ -2,13 +2,14 @@ import { Policy } from '@cartridge/presets';
2
2
  import { AddStarknetChainParameters } from '@starknet-io/types-js';
3
3
  import { WalletAccount } from 'starknet';
4
4
  import { default as BaseProvider } from './provider';
5
- import { ControllerOptions, ProfileContextTypeVariant, StarterPack } from './types';
5
+ import { ControllerOptions, ProfileContextTypeVariant, OpenOptions } from './types';
6
6
  export default class ControllerProvider extends BaseProvider {
7
7
  private keychain?;
8
8
  private options;
9
- private iframes;
9
+ private iframes?;
10
10
  private selectedChain;
11
11
  private chains;
12
+ private referral;
12
13
  isReady(): boolean;
13
14
  constructor(options?: ControllerOptions);
14
15
  logout(): Promise<void>;
@@ -25,12 +26,24 @@ export default class ControllerProvider extends BaseProvider {
25
26
  rpcUrl(): string;
26
27
  username(): Promise<string> | undefined;
27
28
  openPurchaseCredits(): void;
28
- openStarterPack(options: string | StarterPack): Promise<void>;
29
+ openStarterPack(starterpackId: string | number): Promise<void>;
29
30
  openExecute(calls: any, chainId?: string): Promise<{
30
31
  status: boolean;
31
32
  transactionHash: string;
32
33
  } | undefined>;
33
34
  delegateAccount(): Promise<string | null>;
35
+ /**
36
+ * Opens the keychain in standalone mode (first-party context) for authentication.
37
+ * This establishes first-party storage, enabling seamless iframe access across all games.
38
+ * @param options - Configuration for redirect after authentication
39
+ */
40
+ open(options?: OpenOptions): void;
41
+ /**
42
+ * Checks if the keychain iframe has first-party storage access.
43
+ * Returns true if the user has previously authenticated via standalone mode.
44
+ * @returns Promise<boolean> indicating if storage access is available
45
+ */
46
+ hasFirstPartyAccess(): Promise<boolean>;
34
47
  private initializeChains;
35
48
  private createKeychainIframe;
36
49
  private waitForKeychain;
@@ -1,5 +1,5 @@
1
1
  import { AsyncMethodReturns } from '@cartridge/penpal';
2
- import { ControllerOptions, Modal } from '../types';
2
+ import { Modal } from '../types';
3
3
  export type IFrameOptions<CallSender> = Omit<ConstructorParameters<typeof IFrame>[0], "id" | "url" | "onConnect"> & {
4
4
  url?: string;
5
5
  onConnect: (child: AsyncMethodReturns<CallSender>) => void;
@@ -11,7 +11,7 @@ export declare class IFrame<CallSender extends {}> implements Modal {
11
11
  private onClose?;
12
12
  private child?;
13
13
  private closeTimeout?;
14
- constructor({ id, url, preset, onClose, onConnect, methods, }: Pick<ControllerOptions, "preset"> & {
14
+ constructor({ id, url, onClose, onConnect, methods, }: {
15
15
  id: string;
16
16
  url: URL;
17
17
  onClose?: () => void;
@@ -3,10 +3,12 @@ import { WalletBridge } from '../wallets/bridge';
3
3
  import { IFrame, IFrameOptions } from './base';
4
4
  type KeychainIframeOptions = IFrameOptions<Keychain> & KeychainOptions & {
5
5
  version?: string;
6
+ ref?: string;
7
+ refGroup?: string;
6
8
  };
7
9
  export declare class KeychainIFrame extends IFrame<Keychain> {
8
10
  private walletBridge;
9
- constructor({ url, policies, version, slot, namespace, tokens, ...iframeOptions }: KeychainIframeOptions);
11
+ constructor({ url, policies, version, slot, namespace, tokens, preset, shouldOverridePresetPolicies, rpcUrl, ref, refGroup, ...iframeOptions }: KeychainIframeOptions);
10
12
  getWalletBridge(): WalletBridge;
11
13
  }
12
14
  export {};