@cartridge/controller 0.3.27 → 0.3.29

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,23 +1,3 @@
1
- export declare const ETH_RPC_MAINNET = "https://eth-mainnet.g.alchemy.com/v2/OGPRMquXP3K7oTkLrmVZpjCd1DswtYz3";
2
- export declare const ETH_RPC_SEPOLIA = "https://eth-sepolia.g.alchemy.com/v2/mURnclB5pn5elDfyzgTN4W2GR-rOYevI";
3
- export declare const CONTRACT_ETH = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";
4
- export declare const CONTRACT_POINTS = "0x00c62540e9a10c47a4b7d8abaff468192c66f2d1e979f6bade6e44bf73995982";
5
- export declare const CONTRACT_AVATAR = "0x002e02ab50ad223a4de99d7591cbbb565705893ad5b8522a9bde011d20e99926";
6
- export declare const CONTRACT_CONTROLLER_CLASS = "0x077007d85dd2466b2b29e626bac27ee017d7586f62511f4585dd596f33337ccf";
7
- export declare const CONTRACT_ARGENT_CLASS = "0x025ec026985a3bf9d0cc1fe17326b245dfdc3ff89b8fde106542a3ea56c5a918";
8
- export declare const CONTRACT_ACHIEVEMENTS = "0x00f6883b55c1ed7814e5df15fa8fa4bdbad4d4778662a62413c1e58fce10f4f0";
9
- export declare const CONTRACT_UPGRADE_IMPLEMENTATION = "0x07e28fb0161d10d1cf7fe1f13e7ca57bce062731a3bd04494dfd2d0412699727";
10
- export declare const CONTRACT_NFF_BRIDGE = "0xbd701502203B21307BEa2d4078E69dd0c9C0703C";
11
- export declare const PROXY_CLASS = "0x04be79b3904b4e2775fd706fa037610b41d8f8708ce298aac3a470badf68176d";
12
- export declare const CLASS_HASHES: {
13
- "0.0.1": {
14
- account: string;
15
- controller: string;
16
- legacyController: string;
17
- };
18
- latest: {
19
- account: string;
20
- controller: string;
21
- legacyController: string;
22
- };
23
- };
1
+ export declare const KEYCHAIN_URL = "https://x.cartridge.gg";
2
+ export declare const RPC_SEPOLIA = "https://api.cartridge.gg/x/starknet/sepolia";
3
+ export declare const RPC_MAINNET = "https://api.cartridge.gg/x/starknet/mainnet";
package/dist/constants.js CHANGED
@@ -1,25 +1,4 @@
1
- export const ETH_RPC_MAINNET = "https://eth-mainnet.g.alchemy.com/v2/OGPRMquXP3K7oTkLrmVZpjCd1DswtYz3";
2
- export const ETH_RPC_SEPOLIA = "https://eth-sepolia.g.alchemy.com/v2/mURnclB5pn5elDfyzgTN4W2GR-rOYevI";
3
- export const CONTRACT_ETH = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";
4
- export const CONTRACT_POINTS = "0x00c62540e9a10c47a4b7d8abaff468192c66f2d1e979f6bade6e44bf73995982";
5
- export const CONTRACT_AVATAR = "0x002e02ab50ad223a4de99d7591cbbb565705893ad5b8522a9bde011d20e99926";
6
- export const CONTRACT_CONTROLLER_CLASS = "0x077007d85dd2466b2b29e626bac27ee017d7586f62511f4585dd596f33337ccf";
7
- export const CONTRACT_ARGENT_CLASS = "0x025ec026985a3bf9d0cc1fe17326b245dfdc3ff89b8fde106542a3ea56c5a918";
8
- export const CONTRACT_ACHIEVEMENTS = "0x00f6883b55c1ed7814e5df15fa8fa4bdbad4d4778662a62413c1e58fce10f4f0";
9
- export const CONTRACT_UPGRADE_IMPLEMENTATION = "0x07e28fb0161d10d1cf7fe1f13e7ca57bce062731a3bd04494dfd2d0412699727";
10
- // L1 Contract
11
- export const CONTRACT_NFF_BRIDGE = "0xbd701502203B21307BEa2d4078E69dd0c9C0703C";
12
- export const PROXY_CLASS = "0x04be79b3904b4e2775fd706fa037610b41d8f8708ce298aac3a470badf68176d";
13
- export const CLASS_HASHES = {
14
- ["0.0.1"]: {
15
- account: "0x079507b6068846a05500331e0b54f7b539f067c2003de1f4635fc9885a267144",
16
- controller: "0x0286a2ea79ee08506efcbc330efd2ae34e2f22b79ecd2fb9b86ce26d6a1dbece",
17
- legacyController: "0x58e648a242085d5ff1e8f92a6b91057826639a82b23798998d40b61a27bca85",
18
- },
19
- ["latest"]: {
20
- account: "0x627850d612539b1258f64f8d76b0392944bb2886ed891b93e2bff9223317a91",
21
- controller: "0x6bcb2ecc68f478bd0546c451a0820ce19e2d562e3cfcb5906eede15aa81cc42",
22
- legacyController: "0x58e648a242085d5ff1e8f92a6b91057826639a82b23798998d40b61a27bca85",
23
- },
24
- };
1
+ export const KEYCHAIN_URL = "https://x.cartridge.gg";
2
+ export const RPC_SEPOLIA = "https://api.cartridge.gg/x/starknet/sepolia";
3
+ export const RPC_MAINNET = "https://api.cartridge.gg/x/starknet/mainnet";
25
4
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAC1B,uEAAuE,CAAC;AAC1E,MAAM,CAAC,MAAM,eAAe,GAC1B,uEAAuE,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GACvB,oEAAoE,CAAC;AACvE,MAAM,CAAC,MAAM,eAAe,GAC1B,oEAAoE,CAAC;AACvE,MAAM,CAAC,MAAM,eAAe,GAC1B,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,yBAAyB,GACpC,oEAAoE,CAAC;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAChC,oEAAoE,CAAC;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAChC,oEAAoE,CAAC;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAC1C,oEAAoE,CAAC;AAEvE,cAAc;AACd,MAAM,CAAC,MAAM,mBAAmB,GAAG,4CAA4C,CAAC;AAEhF,MAAM,CAAC,MAAM,WAAW,GACtB,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,CAAC,OAAO,CAAC,EAAE;QACT,OAAO,EACL,oEAAoE;QACtE,UAAU,EACR,oEAAoE;QACtE,gBAAgB,EACd,mEAAmE;KACtE;IACD,CAAC,QAAQ,CAAC,EAAE;QACV,OAAO,EACL,mEAAmE;QACrE,UAAU,EACR,mEAAmE;QACrE,gBAAgB,EACd,mEAAmE;KACtE;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,6CAA6C,CAAC;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG,6CAA6C,CAAC"}
package/dist/device.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { Account, Abi, Call, EstimateFeeDetails, Signature, InvokeFunctionResponse, EstimateFee, DeclareContractPayload, TypedData, InvocationsDetails } from "starknet";
2
- import { Keychain, Modal } from "./types";
2
+ import { Keychain, Modal, PaymasterOptions } 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(rpcUrl: string, address: string, keychain: AsyncMethodReturns<Keychain>, modal: Modal);
8
+ private paymaster?;
9
+ constructor(rpcUrl: string, address: string, keychain: AsyncMethodReturns<Keychain>, modal: Modal, paymaster?: PaymasterOptions);
9
10
  /**
10
11
  * Estimate Fee for a method on starknet
11
12
  *
package/dist/device.js CHANGED
@@ -2,11 +2,12 @@ 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(rpcUrl, address, keychain, modal) {
5
+ constructor(rpcUrl, address, keychain, modal, paymaster) {
6
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;
10
+ this.paymaster = paymaster;
10
11
  }
11
12
  /**
12
13
  * Estimate Fee for a method on starknet
@@ -47,18 +48,18 @@ class DeviceAccount extends Account {
47
48
  transactionsDetail = {};
48
49
  }
49
50
  try {
50
- const res = await this.keychain.execute(calls, abis, transactionsDetail);
51
+ let res = await this.keychain.execute(calls, abis, transactionsDetail, false, this.paymaster);
51
52
  if (res.code === ResponseCodes.SUCCESS) {
52
53
  return res;
53
54
  }
54
55
  this.modal.open();
55
- const res2 = await this.keychain.execute(calls, abis, transactionsDetail, true);
56
+ res = await this.keychain.execute(calls, abis, transactionsDetail, true, this.paymaster);
56
57
  this.modal.close();
57
- if (res2.code !== ResponseCodes.SUCCESS &&
58
- res2.code !== ResponseCodes.CANCELED) {
59
- throw new Error(res2.message);
58
+ if (res.code !== ResponseCodes.SUCCESS &&
59
+ res.code !== ResponseCodes.CANCELED) {
60
+ throw new Error(res.message);
60
61
  }
61
- return res2;
62
+ return res;
62
63
  }
63
64
  catch (e) {
64
65
  console.error(e);
@@ -1 +1 @@
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"}
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,EAA2B,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,aAAc,SAAQ,OAAO;IAMjC,YACE,MAAc,EACd,OAAe,EACf,QAAsC,EACtC,KAAY,EACZ,SAA4B;QAE5B,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;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,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,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnC,KAAK,EACL,IAAI,EACJ,kBAAkB,EAClB,KAAK,EACL,IAAI,CAAC,SAAS,CACf,CAAC;YACF,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,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC/B,KAAK,EACL,IAAI,EACJ,kBAAkB,EAClB,IAAI,EACJ,IAAI,CAAC,SAAS,CACf,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAEnB,IACE,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO;gBAClC,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,EACnC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,GAA6B,CAAC;QACvC,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/index.d.ts CHANGED
@@ -6,13 +6,14 @@ import { Keychain, Policy, ControllerOptions } from "./types";
6
6
  declare class Controller {
7
7
  private url;
8
8
  private policies;
9
+ private paymaster?;
9
10
  private connection?;
10
11
  private modal?;
11
12
  keychain?: AsyncMethodReturns<Keychain>;
12
13
  rpc: URL;
13
- chainId: string;
14
14
  account?: AccountInterface;
15
15
  constructor(policies?: Policy[], options?: ControllerOptions);
16
+ private initModal;
16
17
  private setTheme;
17
18
  private setColorMode;
18
19
  ready(): Promise<boolean>;
@@ -24,5 +25,4 @@ declare class Controller {
24
25
  }
25
26
  export * from "./types";
26
27
  export * from "./errors";
27
- export { computeAddress, split, verifyMessageHash } from "./utils";
28
28
  export default Controller;
package/dist/index.js CHANGED
@@ -1,63 +1,48 @@
1
1
  export * from "./types";
2
2
  export { defaultPresets } from "./presets";
3
- import { addAddressPadding, constants } from "starknet";
3
+ import { addAddressPadding } 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
9
  import { NotReadyToConnect } from "./errors";
10
+ import { KEYCHAIN_URL, RPC_SEPOLIA } from "./constants";
10
11
  class Controller {
11
- // private starterPackId?: string;
12
- constructor(policies, options) {
13
- this.url = new URL("https://x.cartridge.gg");
14
- this.policies = [];
15
- this.rpc = new URL("https://api.cartridge.gg/x/starknet/sepolia");
16
- this.chainId = constants.StarknetChainId.SN_SEPOLIA;
17
- if (policies) {
18
- this.policies = policies.map((policy) => {
19
- return {
20
- ...policy,
21
- target: addAddressPadding(policy.target),
22
- };
23
- });
24
- }
25
- if (options?.url) {
26
- this.url = new URL(options.url);
27
- }
28
- if (options?.rpc) {
29
- this.rpc = new URL(options.rpc);
30
- }
12
+ constructor(policies = [], options = {}) {
13
+ this.url = new URL(options?.url || KEYCHAIN_URL);
14
+ this.rpc = new URL(options?.rpc || RPC_SEPOLIA);
15
+ this.paymaster = options.paymaster;
16
+ this.policies = policies.map((policy) => ({
17
+ ...policy,
18
+ target: addAddressPadding(policy.target),
19
+ }));
31
20
  this.setTheme(options?.theme, options?.config?.presets);
32
21
  if (options?.colorMode) {
33
22
  this.setColorMode(options.colorMode);
34
23
  }
35
- if (typeof document === "undefined") {
24
+ this.initModal();
25
+ }
26
+ initModal() {
27
+ if (typeof document === "undefined")
36
28
  return;
37
- }
38
- this.modal = createModal(this.url.toString(), () => {
39
- this.keychain?.reset();
40
- });
29
+ this.modal = createModal(this.url.toString(), () => this.keychain?.reset());
30
+ const appendModal = () => document.body.appendChild(this.modal.element);
41
31
  if (document.readyState === "complete" ||
42
32
  document.readyState === "interactive") {
43
- document.body.appendChild(this.modal.element);
33
+ appendModal();
44
34
  }
45
35
  else {
46
- document.addEventListener("DOMContentLoaded", () => {
47
- document.body.appendChild(this.modal.element);
48
- });
36
+ document.addEventListener("DOMContentLoaded", appendModal);
49
37
  }
50
38
  this.connection = connectToChild({
51
39
  iframe: this.modal.element.children[0],
52
- methods: {
53
- close: () => {
54
- this.modal?.close();
55
- },
56
- },
40
+ methods: { close: () => this.modal?.close() },
41
+ });
42
+ this.connection.promise.then((keychain) => {
43
+ this.keychain = keychain;
44
+ return this.probe();
57
45
  });
58
- this.connection.promise
59
- .then((keychain) => (this.keychain = keychain))
60
- .then(() => this.probe());
61
46
  }
62
47
  setTheme(id = "cartridge", presets = defaultPresets) {
63
48
  const theme = presets[id] ?? defaultPresets.cartridge;
@@ -82,7 +67,7 @@ class Controller {
82
67
  return;
83
68
  }
84
69
  const { address } = res;
85
- this.account = new DeviceAccount(this.rpc.toString(), address, this.keychain, this.modal);
70
+ this.account = new DeviceAccount(this.rpc.toString(), address, this.keychain, this.modal, this.paymaster);
86
71
  }
87
72
  catch (e) {
88
73
  console.error(e);
@@ -111,7 +96,7 @@ class Controller {
111
96
  throw new Error(response.message);
112
97
  }
113
98
  response = response;
114
- this.account = new DeviceAccount(this.rpc.toString(), response.address, this.keychain, this.modal);
99
+ this.account = new DeviceAccount(this.rpc.toString(), response.address, this.keychain, this.modal, this.paymaster);
115
100
  return this.account;
116
101
  }
117
102
  catch (e) {
@@ -152,6 +137,5 @@ class Controller {
152
137
  }
153
138
  export * from "./types";
154
139
  export * from "./errors";
155
- export { computeAddress, split, verifyMessageHash } from "./utils";
156
140
  export default Controller;
157
141
  //# 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":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAoB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAGL,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,aAAa,MAAM,UAAU,CAAC;AACrC,OAAO,EAGL,aAAa,GAQd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,UAAU;IAUd,YAAY,WAAqB,EAAE,EAAE,UAA6B,EAAE;QAClE,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,MAAM;YACT,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;SACzC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,SAAS;QACf,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QAE5C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC;QAEzE,IACE,QAAQ,CAAC,UAAU,KAAK,UAAU;YAClC,QAAQ,CAAC,UAAU,KAAK,aAAa,EACrC,CAAC;YACD,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,cAAc,CAAW;YACzC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAsB;YAC3D,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ,CACd,KAAa,WAAW,EACxB,UAAkC,cAAc;QAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CACvB,OAAO,EACP,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,SAAoB;QACvC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,KAAK;QACH,OAAO,CACL,IAAI,CAAC,UAAU,EAAE,OAAO;aACrB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACxB,IAAI,CACH,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EACd,GAAG,EAAE,CAAC,KAAK,CACZ,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,GAAG,GAAiB,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EACnB,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,CACK,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC7C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACxC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CACpB,CAAC;YACF,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YAED,QAAQ,GAAG,QAAwB,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EACnB,QAAQ,CAAC,OAAO,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,CACK,CAAC;YAEtB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC7C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,OAAiB;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;CACF;AAED,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,eAAe,UAAU,CAAC"}
package/dist/modal.js CHANGED
@@ -37,7 +37,6 @@ export const createModal = (src, onClose) => {
37
37
  container.style.visibility = "hidden";
38
38
  container.style.opacity = "0";
39
39
  };
40
- container.onclick = () => close();
41
40
  resize(iframe);
42
41
  window.addEventListener("resize", () => resize(iframe));
43
42
  return {
package/dist/modal.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../src/modal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../src/modal.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,OAAoB,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,iBAAiB,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,GAAG,8CAA8C,CAAC;IAC9D,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IACnC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAC1B,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;IAC3B,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IACjC,SAAS,CAAC,KAAK,CAAC,eAAe,GAAG,iBAAiB,CAAC;IACpD,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACtC,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;IAC1C,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACtC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAC9B,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC;IACjD,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QACvC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAExD,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,EAAe,EAAE,EAAE;IACjC,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACxB,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1B,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IACzB,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;AAChC,CAAC,CAAC"}
package/dist/presets.js CHANGED
@@ -45,5 +45,14 @@ export const defaultPresets = {
45
45
  primary: "#11ED83",
46
46
  },
47
47
  },
48
+ zkastle: {
49
+ id: "zkastle",
50
+ name: "zKastle",
51
+ icon: "/whitelabel/zkastle/icon.svg",
52
+ cover: "/whitelabel/zkastle/cover.png",
53
+ colors: {
54
+ primary: "#E50D2C",
55
+ },
56
+ },
48
57
  };
49
58
  //# sourceMappingURL=presets.js.map
@@ -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,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,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,iCAAiC;QACxC,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,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,iCAAiC;QACxC,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;SACnB;KACF;CACF,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,15 +1,4 @@
1
1
  import { constants, Abi, Call, InvocationsDetails, TypedData, InvokeFunctionResponse, Signature, EstimateFeeDetails, EstimateFee, DeclareContractPayload, BigNumberish, InvocationsSignerDetails, DeployAccountSignerDetails, DeclareSignerDetails } from "starknet";
2
- export type Assertion = {
3
- id: string;
4
- type: string;
5
- rawId: string;
6
- clientExtensionResults: AuthenticationExtensionsClientOutputs;
7
- response: {
8
- authenticatorData: string;
9
- clientDataJSON: string;
10
- signature: string;
11
- };
12
- };
13
2
  export type Session = {
14
3
  chainId: constants.StarknetChainId;
15
4
  policies: Policy[];
@@ -56,7 +45,7 @@ export interface Keychain {
56
45
  revoke(origin: string): void;
57
46
  estimateDeclareFee(payload: DeclareContractPayload, details?: EstimateFeeDetails): Promise<EstimateFee>;
58
47
  estimateInvokeFee(calls: Call | Call[], estimateFeeDetails?: EstimateFeeDetails): Promise<EstimateFee>;
59
- execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails, sync?: boolean): Promise<ExecuteReply | ConnectError>;
48
+ execute(calls: Call | Call[], abis?: Abi[], transactionsDetail?: InvocationsDetails, sync?: boolean, paymaster?: PaymasterOptions): Promise<ExecuteReply | ConnectError>;
60
49
  logout(): Promise<void>;
61
50
  session(): Promise<Session>;
62
51
  sessions(): Promise<{
@@ -73,17 +62,44 @@ export interface Modal {
73
62
  open: () => void;
74
63
  close: () => void;
75
64
  }
65
+ /**
66
+ * Options for configuring the controller
67
+ */
76
68
  export type ControllerOptions = {
69
+ /** The URL of keychain */
77
70
  url?: string;
71
+ /** The URL of the RPC */
72
+ rpc?: string;
73
+ /** The origin of keychain */
78
74
  origin?: string;
75
+ /** Paymaster options for transaction fee management */
76
+ paymaster?: PaymasterOptions;
77
+ /** The ID of the starter pack to use */
79
78
  starterPackId?: string;
80
- rpc?: string;
79
+ /** The theme to use */
81
80
  theme?: string;
81
+ /** The color mode to use */
82
82
  colorMode?: ColorMode;
83
+ /** Additional configuration options */
83
84
  config?: {
85
+ /** Preset themes for the controller */
84
86
  presets?: ControllerThemePresets;
85
87
  };
86
88
  };
89
+ /**
90
+ * Options for configuring a paymaster
91
+ */
92
+ export type PaymasterOptions = {
93
+ /**
94
+ * The address of the account paying for the transaction.
95
+ * This should be a valid Starknet address or "ANY_CALLER" short string.
96
+ */
97
+ caller: string;
98
+ /**
99
+ * The URL of the paymaster. Currently not used.
100
+ */
101
+ url?: string;
102
+ };
87
103
  export type ColorMode = "light" | "dark";
88
104
  export type ControllerTheme = {
89
105
  id: string;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkCA,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/dist/utils.d.ts CHANGED
@@ -1,19 +1,3 @@
1
1
  import { Policy } from "./types";
2
- import { RpcProvider, BigNumberish, ArraySignatureType } from "starknet";
3
2
  export declare function diff(a: Policy[], b: Policy[]): Policy[];
4
- export declare const computeAddress: (username: string, { x0, x1, x2 }: {
5
- x0: bigint;
6
- x1: bigint;
7
- x2: bigint;
8
- }, { y0, y1, y2 }: {
9
- y0: bigint;
10
- y1: bigint;
11
- y2: bigint;
12
- }, deviceKey: string) => string;
13
- export declare const verifyMessageHash: (provider: RpcProvider, address: string, messageHash: BigNumberish, signature: ArraySignatureType) => Promise<boolean>;
14
3
  export declare const getAccounts: (addresses: string[]) => Promise<any>;
15
- export declare function split(n: bigint): {
16
- x: bigint;
17
- y: bigint;
18
- z: bigint;
19
- };
package/dist/utils.js CHANGED
@@ -1,80 +1,8 @@
1
1
  import equal from "fast-deep-equal";
2
- import { ec, hash, shortString, addAddressPadding, num, } from "starknet";
3
- import { PROXY_CLASS, CLASS_HASHES } from "./constants";
4
- import { decode } from "cbor-x";
2
+ import { addAddressPadding } from "starknet";
5
3
  export function diff(a, b) {
6
4
  return a.reduce((prev, policyA) => b.some((policyB) => equal(policyB, policyA)) ? prev : [...prev, policyA], []);
7
5
  }
8
- export const computeAddress = (username, { x0, x1, x2 }, { y0, y1, y2 }, deviceKey) => hash.calculateContractAddressFromHash(shortString.encodeShortString(username), BigInt(PROXY_CLASS), [
9
- BigInt(CLASS_HASHES["0.0.1"].account),
10
- hash.getSelectorFromName("initialize"),
11
- "9",
12
- BigInt(CLASS_HASHES["0.0.1"].controller),
13
- "7",
14
- x0,
15
- x1,
16
- x2,
17
- y0,
18
- y1,
19
- y2,
20
- BigInt(deviceKey),
21
- ], "0");
22
- export const verifyMessageHash = async (provider, address, messageHash, signature) => {
23
- const isDeployed = !!provider.getClassHashAt(address, "latest");
24
- if (isDeployed) {
25
- const res = await provider.callContract({
26
- contractAddress: address,
27
- entrypoint: "executeOnPlugin",
28
- calldata: [
29
- CLASS_HASHES["0.0.1"].controller,
30
- hash.getSelector("is_public_key"),
31
- "0x1",
32
- signature[0],
33
- ],
34
- });
35
- const isRegistered = res[0] === "0x1";
36
- if (isRegistered) {
37
- return ec.starkCurve.verify(
38
- // @ts-expect-error TODO(#244): Adapt signature
39
- signature, num.toHex(messageHash), signature[0]);
40
- }
41
- else {
42
- const res = await provider.callContract({
43
- contractAddress: address,
44
- entrypoint: "isValidSignature",
45
- calldata: [messageHash, signature.length, ...signature],
46
- }, "latest");
47
- return res[0] === "0x1";
48
- }
49
- }
50
- else {
51
- const res = await (await fetch("https://api.cartridge.gg/query", {
52
- headers: {
53
- "content-type": "application/json",
54
- },
55
- body: `{\"query\":\"query Account($address: String!) {\\n accounts(where: { contractAddress: $address }) {\\n edges {\\n node {\\n id\\n credential {\\n id\\n publicKey\\n }\\n }\\n }\\n }\\n}\\n\",\"variables\":{\"address\":\"${addAddressPadding(address)}\"},\"operationName\":\"Account\"}`,
56
- method: "POST",
57
- mode: "cors",
58
- credentials: "omit",
59
- })).json();
60
- const account = res?.accounts?.edges?.[0]?.node;
61
- if (!account) {
62
- return false;
63
- }
64
- const buf = Buffer.alloc(32);
65
- buf.writeBigInt64BE(BigInt(account.credential.publicKey));
66
- const pubKeyCbor = decode(buf)[0];
67
- const x = BigInt("0x" + pubKeyCbor[-2].toString("hex"));
68
- const y = BigInt("0x" + pubKeyCbor[-3].toString("hex"));
69
- const { x: x0, y: x1, z: x2 } = split(x);
70
- const { x: y0, y: y1, z: y2 } = split(y);
71
- const computedAddress = computeAddress(account.id, { x0, x1, x2 }, { y0, y1, y2 }, signature[0]);
72
- if (computedAddress !== address) {
73
- throw new Error("invalid public key");
74
- }
75
- return ec.starkCurve.verify(signature[0], BigInt(messageHash).toString(), account.credential.publicKey);
76
- }
77
- };
78
6
  export const getAccounts = async (addresses) => {
79
7
  const query = addresses.map((addr) => ({
80
8
  contractAddress: addAddressPadding(addr),
@@ -97,11 +25,4 @@ export const getAccounts = async (addresses) => {
97
25
  profile_uri: `https://cartridge.gg/profile/${edge.node.contractAddress}`,
98
26
  }));
99
27
  };
100
- const BASE = 2n ** 86n;
101
- export function split(n) {
102
- const x = n % BASE;
103
- const y = (n / BASE) % BASE;
104
- const z = n / BASE / BASE;
105
- return { x, y, z };
106
- }
107
28
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,UAAU,IAAI,CAAC,CAAW,EAAE,CAAW;IAC3C,OAAO,CAAC,CAAC,MAAM,CACb,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAChB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAC1E,EAAc,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,SAAmB,EAAE,EAAE;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACzC,CAAC,CAAC,CAAC;IAEJ,MAAM,GAAG,GAAG,MAAM,CAChB,MAAM,KAAK,CAAC,gCAAgC,EAAE;QAC5C,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,yOAAyO,IAAI,CAAC,SAAS,CAC3P,KAAK,CACN,sCAAsC;QACvC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;KACpB,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;IAET,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;QAClB,WAAW,EAAE,gCAAgC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;KACzE,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cartridge/controller",
3
- "version": "0.3.27",
3
+ "version": "0.3.29",
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.27"
22
+ "@cartridge/tsconfig": "^0.3.29"
23
23
  },
24
24
  "scripts": {
25
25
  "build": "tsc",