@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.
- package/.turbo/turbo-build$colon$deps.log +13 -13
- package/.turbo/turbo-build.log +15 -15
- package/dist/controller.d.ts +16 -3
- package/dist/iframe/base.d.ts +2 -2
- package/dist/iframe/keychain.d.ts +3 -1
- package/dist/index.js +680 -541
- package/dist/index.js.map +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/{provider-CN6AecRF.js → provider-GfOahKeA.js} +81 -81
- package/dist/provider-GfOahKeA.js.map +1 -0
- package/dist/session.js +13 -14
- package/dist/session.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types.d.ts +9 -21
- package/dist/url-validator.d.ts +14 -0
- package/package.json +3 -3
- package/src/__tests__/connectDefaultChainId.test.ts +85 -0
- package/src/controller.ts +207 -21
- package/src/iframe/base.ts +52 -7
- package/src/iframe/keychain.ts +32 -7
- package/src/session/account.ts +3 -3
- package/src/session/provider.ts +2 -0
- package/src/types.ts +9 -27
- package/src/url-validator.ts +70 -0
- package/vite.config.js +2 -12
- package/dist/provider-CN6AecRF.js.map +0 -1
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
|
|
2
|
-
> @cartridge/controller@0.
|
|
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.
|
|
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
|
+
> @cartridge/controller@0.11.1 build:browser /home/runner/work/controller/controller/packages/controller
|
|
11
11
|
> vite build
|
|
12
12
|
|
|
13
13
|
[36mvite v6.3.4 [32mbuilding for production...[36m[39m
|
|
14
14
|
transforming...
|
|
15
|
-
[32m✓[39m
|
|
15
|
+
[32m✓[39m 231 modules transformed.
|
|
16
16
|
rendering chunks...
|
|
17
17
|
|
|
18
18
|
[vite:dts] Start generate declaration files...
|
|
19
19
|
computing gzip size...
|
|
20
|
-
[2mdist/[22m[36msession.js [39m[1m[2m 8.
|
|
21
|
-
[2mdist/[22m[36mprovider-
|
|
22
|
-
[2mdist/[22m[36mindex.js [39m[1m[
|
|
23
|
-
[vite:dts] Declaration files built in
|
|
20
|
+
[2mdist/[22m[36msession.js [39m[1m[2m 8.75 kB[22m[1m[22m[2m │ gzip: 2.69 kB[22m[2m │ map: 20.54 kB[22m
|
|
21
|
+
[2mdist/[22m[36mprovider-GfOahKeA.js [39m[1m[2m 13.95 kB[22m[1m[22m[2m │ gzip: 5.76 kB[22m[2m │ map: 36.06 kB[22m
|
|
22
|
+
[2mdist/[22m[36mindex.js [39m[1m[2m140.99 kB[22m[1m[22m[2m │ gzip: 35.90 kB[22m[2m │ map: 452.82 kB[22m
|
|
23
|
+
[vite:dts] Declaration files built in 4496ms.
|
|
24
24
|
|
|
25
|
-
[32m✓ built in 6.
|
|
25
|
+
[32m✓ built in 6.24s[39m
|
|
26
26
|
|
|
27
|
-
> @cartridge/controller@0.
|
|
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
|
[34mCLI[39m 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
|
[32mESM[39m [1mdist/node/index.js [22m[32m21.53 KB[39m
|
|
42
42
|
[32mESM[39m [1mdist/node/index.js.map [22m[32m51.13 KB[39m
|
|
43
|
-
[32mESM[39m ⚡️ Build success in
|
|
43
|
+
[32mESM[39m ⚡️ Build success in 402ms
|
|
44
44
|
[32mCJS[39m [1mdist/node/index.cjs [22m[32m22.32 KB[39m
|
|
45
45
|
[32mCJS[39m [1mdist/node/index.cjs.map [22m[32m51.36 KB[39m
|
|
46
|
-
[32mCJS[39m ⚡️ Build success in
|
|
46
|
+
[32mCJS[39m ⚡️ Build success in 403ms
|
|
47
47
|
[34mDTS[39m Build start
|
|
48
|
-
[32mDTS[39m ⚡️ Build success in
|
|
48
|
+
[32mDTS[39m ⚡️ Build success in 3968ms
|
|
49
49
|
[32mDTS[39m [1mdist/node/index.d.ts [22m[32m5.94 KB[39m
|
|
50
50
|
[32mDTS[39m [1mdist/node/index.d.cts [22m[32m5.94 KB[39m
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
|
|
2
|
-
> @cartridge/controller@0.
|
|
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.
|
|
6
|
+
> @cartridge/controller@0.11.1 build:browser /home/runner/work/controller/controller/packages/controller
|
|
7
7
|
> vite build
|
|
8
8
|
|
|
9
9
|
[36mvite v6.3.4 [32mbuilding for production...[36m[39m
|
|
10
10
|
transforming...
|
|
11
|
-
[32m✓[39m
|
|
11
|
+
[32m✓[39m 231 modules transformed.
|
|
12
12
|
rendering chunks...
|
|
13
13
|
|
|
14
14
|
[vite:dts] Start generate declaration files...
|
|
15
15
|
computing gzip size...
|
|
16
|
-
[2mdist/[22m[36msession.js [39m[1m[2m 8.
|
|
17
|
-
[2mdist/[22m[36mprovider-
|
|
18
|
-
[2mdist/[22m[36mindex.js [39m[1m[
|
|
19
|
-
[vite:dts] Declaration files built in
|
|
16
|
+
[2mdist/[22m[36msession.js [39m[1m[2m 8.75 kB[22m[1m[22m[2m │ gzip: 2.69 kB[22m[2m │ map: 20.54 kB[22m
|
|
17
|
+
[2mdist/[22m[36mprovider-GfOahKeA.js [39m[1m[2m 13.95 kB[22m[1m[22m[2m │ gzip: 5.76 kB[22m[2m │ map: 36.06 kB[22m
|
|
18
|
+
[2mdist/[22m[36mindex.js [39m[1m[2m140.99 kB[22m[1m[22m[2m │ gzip: 35.90 kB[22m[2m │ map: 452.82 kB[22m
|
|
19
|
+
[vite:dts] Declaration files built in 4314ms.
|
|
20
20
|
|
|
21
|
-
[32m✓ built in 6.
|
|
21
|
+
[32m✓ built in 6.24s[39m
|
|
22
22
|
|
|
23
|
-
> @cartridge/controller@0.
|
|
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
|
[34mCLI[39m Building entry: src/node/index.ts
|
|
@@ -31,16 +31,16 @@ computing gzip size...
|
|
|
31
31
|
[34mCLI[39m Cleaning output folder
|
|
32
32
|
[34mESM[39m Build start
|
|
33
33
|
[34mCJS[39m 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
|
-
[32mCJS[39m [1mdist/node/index.cjs [22m[32m22.32 KB[39m
|
|
38
|
-
[32mCJS[39m [1mdist/node/index.cjs.map [22m[32m51.36 KB[39m
|
|
39
|
-
[32mCJS[39m ⚡️ Build success in 305ms
|
|
40
37
|
[32mESM[39m [1mdist/node/index.js [22m[32m21.53 KB[39m
|
|
41
38
|
[32mESM[39m [1mdist/node/index.js.map [22m[32m51.13 KB[39m
|
|
42
|
-
[32mESM[39m ⚡️ Build success in
|
|
39
|
+
[32mESM[39m ⚡️ Build success in 321ms
|
|
40
|
+
[32mCJS[39m [1mdist/node/index.cjs [22m[32m22.32 KB[39m
|
|
41
|
+
[32mCJS[39m [1mdist/node/index.cjs.map [22m[32m51.36 KB[39m
|
|
42
|
+
[32mCJS[39m ⚡️ Build success in 322ms
|
|
43
43
|
[34mDTS[39m Build start
|
|
44
|
-
[32mDTS[39m ⚡️ Build success in
|
|
44
|
+
[32mDTS[39m ⚡️ Build success in 4214ms
|
|
45
45
|
[32mDTS[39m [1mdist/node/index.d.ts [22m[32m5.94 KB[39m
|
|
46
46
|
[32mDTS[39m [1mdist/node/index.d.cts [22m[32m5.94 KB[39m
|
package/dist/controller.d.ts
CHANGED
|
@@ -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,
|
|
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(
|
|
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;
|
package/dist/iframe/base.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AsyncMethodReturns } from '@cartridge/penpal';
|
|
2
|
-
import {
|
|
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,
|
|
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 {};
|