@cartridge/controller 0.3.24 → 0.3.26

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/dist/device.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { Account, Abi, Call, EstimateFeeDetails, Signature, InvokeFunctionResponse, EstimateFee, DeclareContractPayload, RpcProvider, TypedData, InvocationsDetails, constants } from "starknet";
1
+ import { Account, Abi, Call, EstimateFeeDetails, Signature, InvokeFunctionResponse, EstimateFee, DeclareContractPayload, TypedData, InvocationsDetails } from "starknet";
2
2
  import { Keychain, Modal } from "./types";
3
3
  import { AsyncMethodReturns } from "@cartridge/penpal";
4
4
  declare class DeviceAccount extends Account {
5
5
  address: string;
6
6
  private keychain;
7
7
  private modal;
8
- constructor(provider: RpcProvider, address: string, keychain: AsyncMethodReturns<Keychain>, modal: Modal);
8
+ constructor(rpcUrl: string, address: string, keychain: AsyncMethodReturns<Keychain>, modal: Modal);
9
9
  /**
10
10
  * Estimate Fee for a method on starknet
11
11
  *
@@ -31,9 +31,7 @@ declare class DeviceAccount extends Account {
31
31
  *
32
32
  * @returns response from addTransaction
33
33
  */
34
- execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails & {
35
- chainId?: constants.StarknetChainId;
36
- }): Promise<InvokeFunctionResponse>;
34
+ execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails): Promise<InvokeFunctionResponse>;
37
35
  /**
38
36
  * Sign an JSON object for off-chain usage with the starknet private key and return the signature
39
37
  * This adds a message prefix so it cant be interchanged with transactions
package/dist/device.js CHANGED
@@ -1,9 +1,9 @@
1
- import { Account, } from "starknet";
1
+ import { Account, RpcProvider, } from "starknet";
2
2
  import { ResponseCodes } from "./types";
3
3
  import { Signer } from "./signer";
4
4
  class DeviceAccount extends Account {
5
- constructor(provider, address, keychain, modal) {
6
- super(provider, address, new Signer(keychain, modal));
5
+ constructor(rpcUrl, address, keychain, modal) {
6
+ super(new RpcProvider({ nodeUrl: rpcUrl }), address, new Signer(keychain, modal));
7
7
  this.address = address;
8
8
  this.keychain = keychain;
9
9
  this.modal = modal;
@@ -22,13 +22,11 @@ class DeviceAccount extends Account {
22
22
  async estimateInvokeFee(calls, details) {
23
23
  return this.keychain.estimateInvokeFee(calls, {
24
24
  ...details,
25
- chainId: await this.getChainId(),
26
25
  });
27
26
  }
28
27
  async estimateDeclareFee(payload, details) {
29
28
  return this.keychain.estimateDeclareFee(payload, {
30
29
  ...details,
31
- chainId: await this.getChainId(),
32
30
  });
33
31
  }
34
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAQP,WAAW,GAGZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAY,aAAa,EAAS,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,aAAc,SAAQ,OAAO;IAKjC,YACE,MAAc,EACd,OAAe,EACf,QAAsC,EACtC,KAAY;QAEZ,KAAK,CACH,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EACpC,OAAO,EACP,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC5B,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,iBAAiB,CACrB,KAAoB,EACpB,OAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAC5C,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAA+B,EAC/B,OAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAC/C,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,oDAAoD;IACpD,KAAK,CAAC,OAAO,CACX,KAAoB,EACpB,IAAY,EACZ,kBAAuC;QAEvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACzE,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO,GAA6B,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACtC,KAAK,EACL,IAAI,EACJ,kBAAkB,EAClB,IAAI,CACL,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAEnB,IACE,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO;gBACnC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,EACpC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,IAA8B,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,SAAoB;QACpC,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,GAAgB,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -3,3 +3,6 @@ export declare class MissingPolicys extends Error {
3
3
  missing: Policy[];
4
4
  constructor(missing: Policy[]);
5
5
  }
6
+ export declare class NotReadyToConnect extends Error {
7
+ constructor();
8
+ }
package/dist/errors.js CHANGED
@@ -6,4 +6,10 @@ export class MissingPolicys extends Error {
6
6
  Object.setPrototypeOf(this, MissingPolicys.prototype);
7
7
  }
8
8
  }
9
+ export class NotReadyToConnect extends Error {
10
+ constructor() {
11
+ super("Not ready to connect");
12
+ Object.setPrototypeOf(this, NotReadyToConnect.prototype);
13
+ }
14
+ }
9
15
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAGvC,YAAY,OAAiB;QAC3B,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,4CAA4C;QAC5C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAGvC,YAAY,OAAiB;QAC3B,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,4CAA4C;QAC5C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,54 +1,28 @@
1
- /// <reference types="node" />
2
1
  export * from "./types";
3
2
  export { defaultPresets } from "./presets";
4
- import { AccountInterface, constants, RpcProvider } from "starknet";
3
+ import { AccountInterface } from "starknet";
5
4
  import { AsyncMethodReturns } from "@cartridge/penpal";
6
- import { Session, Keychain, Policy, ControllerOptions } from "./types";
7
- export declare const providers: {
8
- [key: string]: RpcProvider;
9
- };
5
+ import { Keychain, Policy, ControllerOptions } from "./types";
10
6
  declare class Controller {
11
- private connection?;
12
- keychain?: AsyncMethodReturns<Keychain>;
13
- private policies;
14
7
  private url;
15
- chainId: constants.StarknetChainId;
16
- accounts?: {
17
- [key: string]: AccountInterface;
18
- };
8
+ private policies;
9
+ private connection?;
19
10
  private modal?;
11
+ keychain?: AsyncMethodReturns<Keychain>;
12
+ rpc: URL;
13
+ chainId: string;
14
+ account?: AccountInterface;
20
15
  constructor(policies?: Policy[], options?: ControllerOptions);
21
- get account(): AccountInterface | undefined;
22
16
  private setTheme;
23
17
  private setColorMode;
24
18
  ready(): Promise<boolean>;
25
19
  probe(): Promise<true | null | undefined>;
26
- switchChain(chainId: constants.StarknetChainId): Promise<void>;
27
- register(username: string, credentialId: string, credential: {
28
- x: string;
29
- y: string;
30
- }): Promise<import("./types").Error | {
31
- address: string;
32
- deviceKey: string;
33
- } | null>;
34
- login(address: string, credentialId: string, options: {
35
- rpId?: string;
36
- challengeExt?: Buffer;
37
- }): Promise<{
38
- assertion: import("./types").Assertion;
39
- } | null>;
40
- provision(address: string, credentialId: string): Promise<string | null>;
41
- issueStarterPack(id: string): Promise<{
42
- transaction_hash: string;
43
- }>;
44
- showQuests(gameId: string): Promise<void>;
45
20
  connect(): Promise<AccountInterface | undefined>;
46
21
  disconnect(): Promise<void>;
47
22
  revoke(origin: string, _policy: Policy[]): Promise<void> | null;
48
- approvals(origin: string): Promise<Session | undefined>;
23
+ username(): Promise<string> | undefined;
49
24
  }
50
25
  export * from "./types";
51
26
  export * from "./errors";
52
27
  export { computeAddress, split, verifyMessageHash } from "./utils";
53
- export { injectController } from "./inject";
54
28
  export default Controller;
package/dist/index.js CHANGED
@@ -1,26 +1,18 @@
1
1
  export * from "./types";
2
2
  export { defaultPresets } from "./presets";
3
- import { addAddressPadding, constants, RpcProvider, } from "starknet";
3
+ import { addAddressPadding, constants } from "starknet";
4
4
  import { connectToChild, } from "@cartridge/penpal";
5
5
  import DeviceAccount from "./device";
6
6
  import { ResponseCodes, } from "./types";
7
7
  import { createModal } from "./modal";
8
8
  import { defaultPresets } from "./presets";
9
- // @dev override url to local sequencer for local dev
10
- // http://localhost:8000/x/starknet/mainnet
11
- export const providers = {
12
- [constants.StarknetChainId.SN_MAIN]: new RpcProvider({
13
- nodeUrl: "https://api.cartridge.gg/x/starknet/mainnet",
14
- }),
15
- [constants.StarknetChainId.SN_SEPOLIA]: new RpcProvider({
16
- nodeUrl: "https://api.cartridge.gg/x/starknet/sepolia",
17
- }),
18
- };
9
+ import { NotReadyToConnect } from "./errors";
19
10
  class Controller {
20
11
  // private starterPackId?: string;
21
12
  constructor(policies, options) {
13
+ this.url = new URL("https://x.cartridge.gg");
22
14
  this.policies = [];
23
- this.url = "https://x.cartridge.gg";
15
+ this.rpc = new URL("https://api.cartridge.gg/x/starknet/sepolia");
24
16
  this.chainId = constants.StarknetChainId.SN_SEPOLIA;
25
17
  if (policies) {
26
18
  this.policies = policies.map((policy) => {
@@ -30,11 +22,11 @@ class Controller {
30
22
  };
31
23
  });
32
24
  }
33
- if (options?.chainId) {
34
- this.chainId = options.chainId;
35
- }
36
25
  if (options?.url) {
37
- this.url = options.url;
26
+ this.url = new URL(options.url);
27
+ }
28
+ if (options?.rpc) {
29
+ this.rpc = new URL(options.rpc);
38
30
  }
39
31
  this.setTheme(options?.theme, options?.config?.presets);
40
32
  if (options?.colorMode) {
@@ -43,7 +35,7 @@ class Controller {
43
35
  if (typeof document === "undefined") {
44
36
  return;
45
37
  }
46
- this.modal = createModal(this.url, () => {
38
+ this.modal = createModal(this.url.toString(), () => {
47
39
  this.keychain?.reset();
48
40
  });
49
41
  if (document.readyState === "complete" ||
@@ -57,27 +49,22 @@ class Controller {
57
49
  }
58
50
  this.connection = connectToChild({
59
51
  iframe: this.modal.element.children[0],
52
+ methods: {
53
+ close: () => {
54
+ this.modal?.close();
55
+ },
56
+ },
60
57
  });
61
58
  this.connection.promise
62
59
  .then((keychain) => (this.keychain = keychain))
63
60
  .then(() => this.probe());
64
61
  }
65
- get account() {
66
- if (!this.accounts) {
67
- return;
68
- }
69
- return this.accounts[this.chainId];
70
- }
71
62
  setTheme(id = "cartridge", presets = defaultPresets) {
72
63
  const theme = presets[id] ?? defaultPresets.cartridge;
73
- const url = new URL(this.url);
74
- url.searchParams.set("theme", encodeURIComponent(JSON.stringify(theme)));
75
- this.url = url.toString();
64
+ this.url.searchParams.set("theme", encodeURIComponent(JSON.stringify(theme)));
76
65
  }
77
66
  setColorMode(colorMode) {
78
- const url = new URL(this.url);
79
- url.searchParams.set("colorMode", colorMode);
80
- this.url = url.toString();
67
+ this.url.searchParams.set("colorMode", colorMode);
81
68
  }
82
69
  ready() {
83
70
  return (this.connection?.promise
@@ -86,7 +73,7 @@ class Controller {
86
73
  }
87
74
  async probe() {
88
75
  if (!this.keychain || !this.modal) {
89
- console.error("not ready for connect");
76
+ console.error(new NotReadyToConnect().message);
90
77
  return null;
91
78
  }
92
79
  try {
@@ -95,90 +82,20 @@ class Controller {
95
82
  return;
96
83
  }
97
84
  const { address } = res;
98
- this.accounts = {
99
- [constants.StarknetChainId.SN_MAIN]: new DeviceAccount(providers[constants.StarknetChainId.SN_MAIN], address, this.keychain, this.modal), // Note: workaround for execute type mismatch error
100
- [constants.StarknetChainId.SN_SEPOLIA]: new DeviceAccount(providers[constants.StarknetChainId.SN_SEPOLIA], address, this.keychain, this.modal),
101
- };
85
+ this.account = new DeviceAccount(this.rpc.toString(), address, this.keychain, this.modal);
102
86
  }
103
87
  catch (e) {
104
88
  console.error(e);
105
89
  return;
106
90
  }
107
- return !!this.accounts?.[this.chainId];
108
- }
109
- async switchChain(chainId) {
110
- if (this.chainId === chainId) {
111
- return;
112
- }
113
- this.chainId = chainId;
114
- }
115
- // Register a new device key.
116
- async register(username, credentialId, credential) {
117
- if (!this.keychain) {
118
- console.error("not ready for connect");
119
- return null;
120
- }
121
- return await this.keychain.register(username, credentialId, credential);
122
- }
123
- async login(address, credentialId, options) {
124
- if (!this.keychain) {
125
- console.error("not ready for connect");
126
- return null;
127
- }
128
- return this.keychain.login(address, credentialId, options);
129
- }
130
- async provision(address, credentialId) {
131
- if (!this.keychain) {
132
- console.error("not ready for connect");
133
- return null;
134
- }
135
- return this.keychain.provision(address, credentialId);
136
- }
137
- async issueStarterPack(id) {
138
- if (!this.keychain || !this.modal) {
139
- console.error("not ready for connect");
140
- return Promise.reject("not ready for connect");
141
- }
142
- this.modal.open();
143
- try {
144
- if (!this.account) {
145
- let response = await this.keychain.connect(this.policies, undefined, this.chainId);
146
- if (response.code !== ResponseCodes.SUCCESS) {
147
- throw new Error(response.message);
148
- }
149
- }
150
- return await this.keychain.issueStarterPack(id);
151
- }
152
- catch (e) {
153
- console.log(e);
154
- return Promise.reject(e);
155
- }
156
- finally {
157
- this.modal.close();
158
- }
159
- }
160
- async showQuests(gameId) {
161
- if (!this.keychain || !this.modal) {
162
- console.error("not ready for connect");
163
- return;
164
- }
165
- this.modal.open();
166
- try {
167
- return await this.keychain.showQuests(gameId);
168
- }
169
- catch (e) {
170
- console.error(e);
171
- }
172
- finally {
173
- this.modal.close();
174
- }
91
+ return !!this.account;
175
92
  }
176
93
  async connect() {
177
- if (this.accounts) {
178
- return this.accounts[this.chainId];
94
+ if (this.account) {
95
+ return this.account;
179
96
  }
180
97
  if (!this.keychain || !this.modal) {
181
- console.error("not ready for connect");
98
+ console.error(new NotReadyToConnect().message);
182
99
  return;
183
100
  }
184
101
  if (!!document.hasStorageAccess) {
@@ -189,16 +106,13 @@ class Controller {
189
106
  }
190
107
  this.modal.open();
191
108
  try {
192
- let response = await this.keychain.connect(this.policies, undefined, this.chainId);
109
+ let response = await this.keychain.connect(this.policies, this.rpc.toString());
193
110
  if (response.code !== ResponseCodes.SUCCESS) {
194
111
  throw new Error(response.message);
195
112
  }
196
113
  response = response;
197
- this.accounts = {
198
- [constants.StarknetChainId.SN_MAIN]: new DeviceAccount(providers[constants.StarknetChainId.SN_MAIN], response.address, this.keychain, this.modal),
199
- [constants.StarknetChainId.SN_SEPOLIA]: new DeviceAccount(providers[constants.StarknetChainId.SN_SEPOLIA], response.address, this.keychain, this.modal),
200
- };
201
- return this.accounts[this.chainId];
114
+ this.account = new DeviceAccount(this.rpc.toString(), response.address, this.keychain, this.modal);
115
+ return this.account;
202
116
  }
203
117
  catch (e) {
204
118
  console.log(e);
@@ -209,7 +123,7 @@ class Controller {
209
123
  }
210
124
  async disconnect() {
211
125
  if (!this.keychain) {
212
- console.error("not ready for disconnect");
126
+ console.error(new NotReadyToConnect().message);
213
127
  return;
214
128
  }
215
129
  if (!!document.hasStorageAccess) {
@@ -218,26 +132,26 @@ class Controller {
218
132
  await document.requestStorageAccess();
219
133
  }
220
134
  }
135
+ this.account = undefined;
221
136
  return this.keychain.disconnect();
222
137
  }
223
138
  revoke(origin, _policy) {
224
139
  if (!this.keychain) {
225
- console.error("not ready for disconnect");
140
+ console.error(new NotReadyToConnect().message);
226
141
  return null;
227
142
  }
228
143
  return this.keychain.revoke(origin);
229
144
  }
230
- async approvals(origin) {
145
+ username() {
231
146
  if (!this.keychain) {
232
- console.error("not ready for disconnect");
147
+ console.error(new NotReadyToConnect().message);
233
148
  return;
234
149
  }
235
- return this.keychain.approvals(origin);
150
+ return this.keychain.username();
236
151
  }
237
152
  }
238
153
  export * from "./types";
239
154
  export * from "./errors";
240
155
  export { computeAddress, split, verifyMessageHash } from "./utils";
241
- export { injectController } from "./inject";
242
156
  export default Controller;
243
157
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/inject.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { constants } from "starknet";
1
+ import { RpcProvider } from "starknet";
2
2
  import { AccountInterface, ProviderInterface } from "starknet";
3
3
  import { Policy } from "./types";
4
4
  export type EventType = "accountsChanged" | "networkChanged";
@@ -54,7 +54,7 @@ export declare class InjectedController implements IStarknetWindowObject {
54
54
  name: string;
55
55
  version: string;
56
56
  icon: string;
57
- provider: import("starknet").Provider;
57
+ provider: RpcProvider;
58
58
  isConnected: boolean;
59
59
  account?: AccountInterface | undefined;
60
60
  selectedAddress?: string;
@@ -62,9 +62,9 @@ export declare class InjectedController implements IStarknetWindowObject {
62
62
  private controller;
63
63
  constructor(policies?: Policy[], options?: {
64
64
  url?: string;
65
+ rpc?: string;
65
66
  origin?: string;
66
67
  starterPackId?: string;
67
- chainId?: constants.StarknetChainId;
68
68
  });
69
69
  request: (_call: Omit<RpcMessage, "result">) => Promise<RpcMessage["result"]>;
70
70
  enable: () => Promise<string[]>;
@@ -74,8 +74,8 @@ export declare class InjectedController implements IStarknetWindowObject {
74
74
  }
75
75
  declare function injectController(policies?: Policy[], options?: {
76
76
  url?: string;
77
+ rpc?: string;
77
78
  origin?: string;
78
79
  starterPackId?: string;
79
- chainId?: constants.StarknetChainId;
80
80
  }): void;
81
81
  export { injectController };
package/dist/inject.js CHANGED
@@ -1,12 +1,12 @@
1
- import { constants } from "starknet";
2
- import Controller, { providers } from ".";
1
+ import { RpcProvider } from "starknet";
2
+ import Controller from ".";
3
3
  export class InjectedController {
4
4
  constructor(policies, options) {
5
5
  this.id = "Cartridge";
6
6
  this.name = "Cartridge";
7
7
  this.version = "0.0.1";
8
8
  this.icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjkiIGhlaWdodD0iNTciIHZpZXdCb3g9IjAgMCA2OSA1NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy41NTEzIDAuMDM5MDYyNUg0NC42Mjc4TDQ0LjcwMTIgMC4wNDE3NTc4QzQ2LjI2MjQgMC4wOTkwOTkyIDQ3Ljc5NDggMC40NzQ3OTUgNDkuMjA0OSAxLjE0NTA5TDYzLjUyMjcgNy4xODc5NUw2My42NTIyIDcuMjU0MDRDNjUuMDExOCA3Ljk0ODEyIDY2LjE0NzggOS4wMTA3NyA2Ni45MzE2IDEwLjMxOTNDNjcuNzA4MSAxMS42MTU3IDY4LjEwODUgMTMuMTAyMSA2OC4wODg5IDE0LjYxMjFWMzguNjg0QzY4LjA4ODkgMzguNzEgNjguMDg5IDM4LjczNzYgNjguMDg5MSAzOC43NjY2QzY4LjA5MTQgMzkuNjQwOSA2OC4wOTc0IDQxLjgzNTYgNjYuMTY5NyA0My43NjgxTDYxLjY2MjYgNDguMjg2NUM2MC44OTEzIDQ5LjA1OTggNTkuOTY3IDQ5LjY3NDkgNTguODA3IDQ5Ljk4NDlDNTcuOTIxNyA1MC4yMjE1IDU3LjA1MzUgNTAuMjE3IDU2LjY2MyA1MC4yMTVDNTYuNjMxMSA1MC4yMTQ4IDU2LjYwMjQgNTAuMjE0NyA1Ni41NzcxIDUwLjIxNDdMNTAuMzM4NSA1MC4yMDk5TDUwLjMzNjIgNTYuMjM1M0gxNy45MjkzVjUwLjIxNDdIMTEuNjA0QzExLjU3ODggNTAuMjE0NyAxMS41NTAxIDUwLjIxNDggMTEuNTE4MiA1MC4yMTVDMTEuMTI3NiA1MC4yMTcgMTAuMjU5NSA1MC4yMjE1IDkuMzc0MTYgNDkuOTg0OUM4LjIxNDUgNDkuNjc0OSA3LjI5MDQgNDkuMDYwMiA2LjUxOTEyIDQ4LjI4NzFMMi4wMTAxMSA0My43Njg3QzAuMDgyNDUwMyA0MS44MzYyIDAuMDg3Nzg0NCAzOS42NDA5IDAuMDkwMTUyNCAzOC43NjY2QzAuMDkwMjMwOSAzOC43Mzc2IDAuMDkwMzA1NSAzOC43MSAwLjA5MDMwNTUgMzguNjg0VjE0LjYxMjdDMC4wNzA0MyAxMy4xMDI1IDAuNDcwNjMgMTEuNjE1NyAxLjI0NzI5IDEwLjMxOTJDMi4wMzEzOSA5LjAxMDE4IDMuMTY3OTIgNy45NDczOCA0LjUyODExIDcuMjUzNUw0LjY1Njk3IDcuMTg3NzZMMTguOTcyOCAxLjE0NDg5QzIwLjM4MzUgMC40NzQ4MDggMjEuOTE2MiAwLjA5OTE5NTUgMjMuNDc3OCAwLjA0MTc2NUwyMy41NTEzIDAuMDM5MDYyNVoiIGZpbGw9IiMwRjE0MTAiLz4KPHBhdGggZD0iTTIyLjI4NjMgMjIuOTcyOUg0NS42NDdWMTcuMDcxN0gyMi4yOTIyQzIyLjI5MjIgMTcuNjc0NiAyMi4yODYzIDIyLjk3MjkgMjIuMjg2MyAyMi45NzI5WiIgZmlsbD0iI0ZCQ0I0QSIvPgo8cGF0aCBkPSJNNjEuODMzNCAxMC44MTY3TDQ3LjU1OTEgNC43OTIxM0M0Ni42MjA4IDQuMzMzODggNDUuNTk3NCA0LjA3NzM3IDQ0LjU1NDQgNC4wMzkwNkgyMy42MjQ4QzIyLjU4MTIgNC4wNzc0NCAyMS41NTcxIDQuMzMzOTQgMjAuNjE4MiA0Ljc5MjEzTDYuMzQ1NzkgMTAuODE2N0M1LjY1NTMgMTEuMTY4OSA1LjA3NzYxIDExLjcwODggNC42Nzg3NiAxMi4zNzQ3QzQuMjc5OSAxMy4wNDA1IDQuMDc1OTggMTMuODA1NCA0LjA5MDMxIDE0LjU4MlYzOC42ODRDNC4wOTAzMSAzOS40MzcxIDQuMDkwMyA0MC4xOTAxIDQuODQxNDggNDAuOTQzMkw5LjM1MDQ5IDQ1LjQ2MTZDMTAuMTAxNyA0Ni4yMTQ3IDEwLjY2NTUgNDYuMjE0NyAxMS42MDQgNDYuMjE0N0gyMS45MjkzQzIxLjkyOTMgNDYuODYyMSAyMS45MjkzIDUyLjIzNTMgMjEuOTI5MyA1Mi4yMzUzSDQ2LjMzNzdWNDYuMjA2OUgyMS45NDg4VjQwLjE5MDFIMTAuODUyOEMxMC4xMDE3IDQwLjE5MDEgMTAuMTAxNyAzOS40MzcxIDEwLjEwMTcgMzkuNDM3MVYxMC44MTY3QzEwLjEwMTcgMTAuODE2NyAxMC4xMDE3IDEwLjA2MzYgMTAuODUyOCAxMC4wNjM2SDU3LjMyODNDNTguMDc5NSAxMC4wNjM2IDU4LjA3OTUgMTAuODE2NyA1OC4wNzk1IDEwLjgxNjdWMzkuNDM3MUM1OC4wNzk1IDM5LjQzNzEgNTguMDc5NSA0MC4xOTAxIDU3LjMyODMgNDAuMTkwMUg0Ni4zNDM2TDQ2LjMzNzcgNDYuMjA2OUw1Ni41NzcxIDQ2LjIxNDdDNTcuNTE1NiA0Ni4yMTQ3IDU4LjA3OTUgNDYuMjE0NyA1OC44MzA3IDQ1LjQ2MTZMNjMuMzM3NyA0MC45NDMyQzY0LjA4ODkgNDAuMTkwMSA2NC4wODg5IDM5LjQzNzEgNjQuMDg4OSAzOC42ODRWMTQuNTgyQzY0LjEwMyAxMy44MDU1IDYzLjg5OSAxMy4wNDA2IDYzLjUwMDEgMTIuMzc0OEM2My4xMDEzIDExLjcwOSA2Mi41MjM4IDExLjE2OTEgNjEuODMzNCAxMC44MTY3WiIgZmlsbD0iI0ZCQ0I0QSIvPgo8L3N2Zz4K";
9
- this.provider = providers[constants.StarknetChainId.SN_MAIN];
9
+ this.provider = new RpcProvider({ nodeUrl: "https://api.cartridge.gg/x/starknet/sepolia" });
10
10
  this.isConnected = false;
11
11
  this.subscriptions = [];
12
12
  this.request = (_call) => {
@@ -17,7 +17,7 @@ export class InjectedController {
17
17
  if (!this.account) {
18
18
  return [];
19
19
  }
20
- this.provider = providers[this.controller.chainId];
20
+ this.provider = new RpcProvider({ nodeUrl: this.controller.rpc.toString() });
21
21
  this.isConnected = true;
22
22
  return [this.account.address];
23
23
  };
@@ -60,7 +60,7 @@ export class InjectedController {
60
60
  this.isConnected = !!isConnected;
61
61
  if (this.controller.account) {
62
62
  this.account = this.controller.account;
63
- this.provider = providers[this.controller.chainId];
63
+ this.provider = new RpcProvider({ nodeUrl: this.controller.rpc.toString() });
64
64
  this.selectedAddress = this.account.address;
65
65
  }
66
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ declare const nodeUrl: {
2
+ mainnet: string;
3
+ sepolia: string;
4
+ };
5
+ export default nodeUrl;
@@ -0,0 +1,10 @@
1
+ const nodeUrl = {
2
+ mainnet: process.env.NODE_ENV === "production"
3
+ ? "https://api.cartridge.gg/x/starknet/mainnet"
4
+ : "http://localhost:8000/x/starknet/mainnet",
5
+ sepolia: process.env.NODE_ENV === "production"
6
+ ? "https://api.cartridge.gg/x/starknet/sepolia"
7
+ : "http://localhost:8000/x/starknet/sepolia",
8
+ };
9
+ export default nodeUrl;
10
+ //# sourceMappingURL=nodeUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeUrl.js","sourceRoot":"","sources":["../src/nodeUrl.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;IACd,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACnC,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,0CAA0C;IAChD,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QACnC,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,0CAA0C;CACjD,CAAC;AAEF,eAAe,OAAO,CAAC"}
package/dist/presets.js CHANGED
@@ -26,6 +26,16 @@ export const defaultPresets = {
26
26
  primary: "#B0CAF8",
27
27
  },
28
28
  },
29
+ pixelaw: {
30
+ id: "pixelaw",
31
+ name: "Pixelaw",
32
+ icon: "/whitelabel/pixelaw/icon.svg",
33
+ cover: "/whitelabel/pixelaw/cover.png",
34
+ colors: {
35
+ primary: "#7C00B1",
36
+ primaryForeground: "white",
37
+ },
38
+ },
29
39
  rollyourown: {
30
40
  id: "rollyourown",
31
41
  name: "Roll Your Own",
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE;YACL,KAAK,EAAE,uCAAuC;YAC9C,IAAI,EAAE,sCAAsC;SAC7C;KACF;IACD,aAAa,EAAE;QACb,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,6BAA6B;QACpC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE;YACL,KAAK,EAAE,uCAAuC;YAC9C,IAAI,EAAE,sCAAsC;SAC7C;KACF;IACD,aAAa,EAAE;QACb,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,6BAA6B;QACpC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,+BAA+B;QACtC,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;YAClB,iBAAiB,EAAE,OAAO;SAC3B;KACF;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;CACF,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { constants, Abi, Call, InvocationsDetails, TypedData, InvokeFunctionResponse, Signature, EstimateFeeDetails, EstimateFee, DeclareContractPayload, BigNumberish, InvocationsSignerDetails, DeployAccountSignerDetails, DeclareSignerDetails } from "starknet";
3
2
  export type Assertion = {
4
3
  id: string;
@@ -24,6 +23,7 @@ export type Session = {
24
23
  export type Policy = {
25
24
  target: string;
26
25
  method?: string;
26
+ description?: string;
27
27
  };
28
28
  export declare enum ResponseCodes {
29
29
  SUCCESS = "SUCCESS",
@@ -31,7 +31,7 @@ export declare enum ResponseCodes {
31
31
  NOT_ALLOWED = "NOT_ALLOWED",
32
32
  CANCELED = "CANCELED"
33
33
  }
34
- export type Error = {
34
+ export type ConnectError = {
35
35
  code: ResponseCodes;
36
36
  message: string;
37
37
  };
@@ -49,46 +49,24 @@ export type ProbeReply = {
49
49
  policies: Policy[];
50
50
  };
51
51
  export interface Keychain {
52
- probe(): Promise<ProbeReply | Error>;
53
- connect(policies: Policy[], starterPackId?: string, chainId?: constants.StarknetChainId): Promise<ConnectReply | Error>;
52
+ probe(): Promise<ProbeReply | ConnectError>;
53
+ connect(policies: Policy[], rpcUrl: string): Promise<ConnectReply | ConnectError>;
54
54
  disconnect(): void;
55
55
  reset(): void;
56
56
  revoke(origin: string): void;
57
- approvals(origin: string): Promise<Session | undefined>;
58
- estimateDeclareFee(payload: DeclareContractPayload, details?: EstimateFeeDetails & {
59
- chainId: constants.StarknetChainId;
60
- }): Promise<EstimateFee>;
61
- estimateInvokeFee(calls: Call | Call[], estimateFeeDetails?: EstimateFeeDetails & {
62
- chainId: constants.StarknetChainId;
63
- }): Promise<EstimateFee>;
64
- execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails & {
65
- chainId?: constants.StarknetChainId;
66
- }, sync?: boolean): Promise<ExecuteReply | Error>;
67
- provision(address: string, credentialId: string): Promise<string>;
68
- register(username: string, credentialId: string, credential: {
69
- x: string;
70
- y: string;
71
- }): Promise<{
72
- address: string;
73
- deviceKey: string;
74
- } | Error>;
75
- login(address: string, credentialId: string, options: {
76
- rpId?: string;
77
- challengeExt?: Buffer;
78
- }): Promise<{
79
- assertion: Assertion;
80
- }>;
57
+ estimateDeclareFee(payload: DeclareContractPayload, details?: EstimateFeeDetails): Promise<EstimateFee>;
58
+ estimateInvokeFee(calls: Call | Call[], estimateFeeDetails?: EstimateFeeDetails): Promise<EstimateFee>;
59
+ execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails, sync?: boolean): Promise<ExecuteReply | ConnectError>;
81
60
  logout(): Promise<void>;
82
61
  session(): Promise<Session>;
83
62
  sessions(): Promise<{
84
63
  [key: string]: Session;
85
64
  }>;
86
- signMessage(typedData: TypedData, account: string): Promise<Signature | Error>;
65
+ signMessage(typedData: TypedData, account: string): Promise<Signature | ConnectError>;
87
66
  signTransaction(transactions: Call[], transactionsDetail: InvocationsSignerDetails, abis?: Abi[]): Promise<Signature>;
88
67
  signDeployAccountTransaction(transaction: DeployAccountSignerDetails): Promise<Signature>;
89
68
  signDeclareTransaction(transaction: DeclareSignerDetails): Promise<Signature>;
90
- issueStarterPack(id: string): Promise<InvokeFunctionResponse>;
91
- showQuests(gameId: string): Promise<void>;
69
+ username(): string;
92
70
  }
93
71
  export interface Modal {
94
72
  element: HTMLDivElement;
@@ -99,7 +77,7 @@ export type ControllerOptions = {
99
77
  url?: string;
100
78
  origin?: string;
101
79
  starterPackId?: string;
102
- chainId?: constants.StarknetChainId;
80
+ rpc?: string;
103
81
  theme?: string;
104
82
  colorMode?: ColorMode;
105
83
  config?: {
@@ -120,6 +98,7 @@ export type ControllerThemePreset = Omit<ControllerTheme, "colorMode"> & {
120
98
  };
121
99
  export type ControllerColors = {
122
100
  primary?: ControllerColor;
101
+ primaryForeground?: ControllerColor;
123
102
  };
124
103
  export type ControllerColor = ThemeValue<string>;
125
104
  export type ThemeValue<T> = T | {
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA6CA,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;AACvB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;AACvB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cartridge/controller",
3
- "version": "0.3.24",
3
+ "version": "0.3.26",
4
4
  "description": "Cartridge Controller",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "devDependencies": {
20
20
  "@types/node": "^20.6.0",
21
21
  "typescript": "^5.4.5",
22
- "@cartridge/tsconfig": "^0.3.24"
22
+ "@cartridge/tsconfig": "^0.3.26"
23
23
  },
24
24
  "scripts": {
25
25
  "build": "tsc",