@cartridge/controller 0.11.2-alpha.2 → 0.11.2-alpha.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cartridge/controller",
3
- "version": "0.11.2-alpha.2",
3
+ "version": "0.11.2-alpha.3",
4
4
  "description": "Cartridge Controller",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -50,7 +50,7 @@
50
50
  "vite-plugin-node-polyfills": "^0.23.0",
51
51
  "vite-plugin-top-level-await": "^1.4.4",
52
52
  "vite-plugin-wasm": "^3.4.1",
53
- "@cartridge/tsconfig": "0.11.2-alpha.2"
53
+ "@cartridge/tsconfig": "0.11.2-alpha.3"
54
54
  },
55
55
  "scripts": {
56
56
  "build:deps": "pnpm build",
@@ -10,6 +10,7 @@ import { encode } from "starknet";
10
10
  import { API_URL, KEYCHAIN_URL } from "../constants";
11
11
  import { ParsedSessionPolicies } from "../policies";
12
12
  import BaseProvider from "../provider";
13
+ import { AuthOptions } from "../types";
13
14
  import { toWasmPolicies } from "../utils";
14
15
  import SessionAccount from "./account";
15
16
 
@@ -32,6 +33,7 @@ export type SessionOptions = {
32
33
  disconnectRedirectUrl?: string;
33
34
  keychainUrl?: string;
34
35
  apiUrl?: string;
36
+ signupOptions?: AuthOptions;
35
37
  };
36
38
 
37
39
  export default class SessionProvider extends BaseProvider {
@@ -48,6 +50,7 @@ export default class SessionProvider extends BaseProvider {
48
50
  protected _apiUrl: string;
49
51
  protected _publicKey: string;
50
52
  protected _sessionKeyGuid: string;
53
+ protected _signupOptions?: AuthOptions;
51
54
  public reopenBrowser: boolean = true;
52
55
 
53
56
  constructor({
@@ -58,6 +61,7 @@ export default class SessionProvider extends BaseProvider {
58
61
  disconnectRedirectUrl,
59
62
  keychainUrl,
60
63
  apiUrl,
64
+ signupOptions,
61
65
  }: SessionOptions) {
62
66
  super();
63
67
 
@@ -89,6 +93,7 @@ export default class SessionProvider extends BaseProvider {
89
93
  this._disconnectRedirectUrl = disconnectRedirectUrl;
90
94
  this._keychainUrl = keychainUrl || KEYCHAIN_URL;
91
95
  this._apiUrl = apiUrl ?? API_URL;
96
+ this._signupOptions = signupOptions;
92
97
 
93
98
  const account = this.tryRetrieveFromQueryOrStorage();
94
99
  if (!account) {
@@ -203,7 +208,7 @@ export default class SessionProvider extends BaseProvider {
203
208
  this._sessionKeyGuid = signerToGuid({
204
209
  starknet: { privateKey: encode.addHexPrefix(pk) },
205
210
  });
206
- const url = `${
211
+ let url = `${
207
212
  this._keychainUrl
208
213
  }/session?public_key=${this._publicKey}&redirect_uri=${
209
214
  this._redirectUrl
@@ -211,6 +216,10 @@ export default class SessionProvider extends BaseProvider {
211
216
  this._policies,
212
217
  )}&rpc_url=${this._rpcUrl}`;
213
218
 
219
+ if (this._signupOptions) {
220
+ url += `&signers=${encodeURIComponent(JSON.stringify(this._signupOptions))}`;
221
+ }
222
+
214
223
  window.open(url, "_blank");
215
224
  }
216
225