@medialane/ui 0.186.0 → 0.187.0

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,10 +1,10 @@
1
- import * as React from 'react';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
3
  import { FastMintProps } from './types.cjs';
4
4
  import 'starknet';
5
5
  import '@medialane/sdk';
6
6
  import '@medialane/sdk/starknet';
7
7
 
8
- declare function FastMint(props: FastMintProps): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
8
+ declare function FastMint(props: FastMintProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
9
9
 
10
10
  export { FastMint };
@@ -1,10 +1,10 @@
1
- import * as React from 'react';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
3
  import { FastMintProps } from './types.js';
4
4
  import 'starknet';
5
5
  import '@medialane/sdk';
6
6
  import '@medialane/sdk/starknet';
7
7
 
8
- declare function FastMint(props: FastMintProps): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
8
+ declare function FastMint(props: FastMintProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
9
9
 
10
10
  export { FastMint };
@@ -10,7 +10,7 @@ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogC
10
10
  declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
11
11
  declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  declare const sheetVariants: (props?: ({
13
- side?: "bottom" | "left" | "right" | "top" | null | undefined;
13
+ side?: "left" | "right" | "bottom" | "top" | null | undefined;
14
14
  } & class_variance_authority_types.ClassProp) | undefined) => string;
15
15
  interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
16
16
  overlayClassName?: string;
@@ -10,7 +10,7 @@ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogC
10
10
  declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
11
11
  declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  declare const sheetVariants: (props?: ({
13
- side?: "bottom" | "left" | "right" | "top" | null | undefined;
13
+ side?: "left" | "right" | "bottom" | "top" | null | undefined;
14
14
  } & class_variance_authority_types.ClassProp) | undefined) => string;
15
15
  interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
16
16
  overlayClassName?: string;
@@ -18,11 +18,17 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var app_wallet_exports = {};
20
20
  __export(app_wallet_exports, {
21
+ APP_WALLET_DEFAULTS: () => APP_WALLET_DEFAULTS,
21
22
  createAppWallet: () => createAppWallet
22
23
  });
23
24
  module.exports = __toCommonJS(app_wallet_exports);
24
25
  var import_starknet = require("@medialane/sdk/starknet");
25
26
  const encode = (value) => new TextEncoder().encode(value);
27
+ const APP_WALLET_DEFAULTS = {
28
+ backendUrl: "/api/proxy",
29
+ sponsoredInvokeUrl: "/api/proxy/v1/paymaster/invoke",
30
+ deployProxyUrl: "/api/proxy/v1/paymaster/deploy"
31
+ };
26
32
  function createAppWallet(config) {
27
33
  const ownerStore = (0, import_starknet.createOwnerStore)({ storeKey: config.storeKey, changeEvent: config.changeEvent });
28
34
  const passkeyOwner = (0, import_starknet.createPasskeyOwner)({
@@ -45,17 +51,18 @@ function createAppWallet(config) {
45
51
  passkey: passkeyOwner,
46
52
  executor: (0, import_starknet.sponsoredExecutor)({
47
53
  provider: config.provider,
48
- proxyUrl: config.sponsoredInvokeUrl ?? "/api/wallet/sponsored-invoke",
54
+ proxyUrl: config.sponsoredInvokeUrl ?? APP_WALLET_DEFAULTS.sponsoredInvokeUrl,
49
55
  consent: walletConsent
50
56
  }),
51
57
  provider: config.provider,
52
- backendUrl: config.backendUrl ?? "/api/proxy",
53
- deployProxyUrl: config.deployProxyUrl ?? "/api/wallet/deploy-sponsored"
58
+ backendUrl: config.backendUrl ?? APP_WALLET_DEFAULTS.backendUrl,
59
+ deployProxyUrl: config.deployProxyUrl ?? APP_WALLET_DEFAULTS.deployProxyUrl
54
60
  });
55
61
  return { ownerStore, passkeyOwner, walletConsent, mediaWallet };
56
62
  }
57
63
  // Annotate the CommonJS export names for ESM import in node:
58
64
  0 && (module.exports = {
65
+ APP_WALLET_DEFAULTS,
59
66
  createAppWallet
60
67
  });
61
68
  //# sourceMappingURL=app-wallet.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/app-wallet.ts"],"sourcesContent":["import {\n createMediaWallet,\n createOwnerStore,\n createPasskeyOwner,\n createSelfFundConsent,\n estimateSelfFundedFee,\n sponsoredExecutor,\n type MediaWalletConfig,\n} from \"@medialane/sdk/starknet\";\n\nexport interface AppWalletConfig {\n appName: string;\n relyingPartyId: () => string;\n storeKey: string;\n changeEvent: string;\n prfSalt: string;\n hkdfInfo: string;\n provider: MediaWalletConfig[\"provider\"];\n loadAccountEmail: () => string | null;\n backendUrl?: string;\n sponsoredInvokeUrl?: string;\n deployProxyUrl?: string;\n}\n\nconst encode = (value: string): Uint8Array<ArrayBuffer> => new TextEncoder().encode(value) as Uint8Array<ArrayBuffer>;\n\nexport function createAppWallet(config: AppWalletConfig) {\n const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });\n\n const passkeyOwner = createPasskeyOwner({\n appName: config.appName,\n relyingPartyName: config.appName,\n relyingPartyId: config.relyingPartyId,\n prfSalt: encode(config.prfSalt),\n hkdfInfo: encode(config.hkdfInfo),\n passkeyUser: async () => {\n const name = config.loadAccountEmail() ?? config.appName;\n return { id: crypto.getRandomValues(new Uint8Array(16)), name, displayName: name };\n },\n knownCredentials: () => [],\n });\n\n const walletConsent = createSelfFundConsent((address, calls) =>\n estimateSelfFundedFee(config.provider(), address, calls),\n );\n\n const mediaWallet = createMediaWallet({\n store: ownerStore,\n passkey: passkeyOwner,\n executor: sponsoredExecutor({\n provider: config.provider,\n proxyUrl: config.sponsoredInvokeUrl ?? \"/api/wallet/sponsored-invoke\",\n consent: walletConsent,\n }),\n provider: config.provider,\n backendUrl: config.backendUrl ?? \"/api/proxy\",\n deployProxyUrl: config.deployProxyUrl ?? \"/api/wallet/deploy-sponsored\",\n });\n\n return { ownerStore, passkeyOwner, walletConsent, mediaWallet };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAQO;AAgBP,MAAM,SAAS,CAAC,UAA2C,IAAI,YAAY,EAAE,OAAO,KAAK;AAElF,SAAS,gBAAgB,QAAyB;AACvD,QAAM,iBAAa,kCAAiB,EAAE,UAAU,OAAO,UAAU,aAAa,OAAO,YAAY,CAAC;AAElG,QAAM,mBAAe,oCAAmB;AAAA,IACtC,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,gBAAgB,OAAO;AAAA,IACvB,SAAS,OAAO,OAAO,OAAO;AAAA,IAC9B,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC,aAAa,YAAY;AACvB,YAAM,OAAO,OAAO,iBAAiB,KAAK,OAAO;AACjD,aAAO,EAAE,IAAI,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC,GAAG,MAAM,aAAa,KAAK;AAAA,IACnF;AAAA,IACA,kBAAkB,MAAM,CAAC;AAAA,EAC3B,CAAC;AAED,QAAM,oBAAgB;AAAA,IAAsB,CAAC,SAAS,cACpD,uCAAsB,OAAO,SAAS,GAAG,SAAS,KAAK;AAAA,EACzD;AAEA,QAAM,kBAAc,mCAAkB;AAAA,IACpC,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAU,mCAAkB;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO,sBAAsB;AAAA,MACvC,SAAS;AAAA,IACX,CAAC;AAAA,IACD,UAAU,OAAO;AAAA,IACjB,YAAY,OAAO,cAAc;AAAA,IACjC,gBAAgB,OAAO,kBAAkB;AAAA,EAC3C,CAAC;AAED,SAAO,EAAE,YAAY,cAAc,eAAe,YAAY;AAChE;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/app-wallet.ts"],"sourcesContent":["import {\n createMediaWallet,\n createOwnerStore,\n createPasskeyOwner,\n createSelfFundConsent,\n estimateSelfFundedFee,\n sponsoredExecutor,\n type MediaWalletConfig,\n} from \"@medialane/sdk/starknet\";\n\nexport interface AppWalletConfig {\n appName: string;\n relyingPartyId: () => string;\n storeKey: string;\n changeEvent: string;\n prfSalt: string;\n hkdfInfo: string;\n provider: MediaWalletConfig[\"provider\"];\n loadAccountEmail: () => string | null;\n backendUrl?: string;\n sponsoredInvokeUrl?: string;\n deployProxyUrl?: string;\n}\n\nconst encode = (value: string): Uint8Array<ArrayBuffer> => new TextEncoder().encode(value) as Uint8Array<ArrayBuffer>;\n\nexport const APP_WALLET_DEFAULTS = {\n backendUrl: \"/api/proxy\",\n sponsoredInvokeUrl: \"/api/proxy/v1/paymaster/invoke\",\n deployProxyUrl: \"/api/proxy/v1/paymaster/deploy\",\n} as const;\n\nexport function createAppWallet(config: AppWalletConfig) {\n const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });\n\n const passkeyOwner = createPasskeyOwner({\n appName: config.appName,\n relyingPartyName: config.appName,\n relyingPartyId: config.relyingPartyId,\n prfSalt: encode(config.prfSalt),\n hkdfInfo: encode(config.hkdfInfo),\n passkeyUser: async () => {\n const name = config.loadAccountEmail() ?? config.appName;\n return { id: crypto.getRandomValues(new Uint8Array(16)), name, displayName: name };\n },\n knownCredentials: () => [],\n });\n\n const walletConsent = createSelfFundConsent((address, calls) =>\n estimateSelfFundedFee(config.provider(), address, calls),\n );\n\n const mediaWallet = createMediaWallet({\n store: ownerStore,\n passkey: passkeyOwner,\n executor: sponsoredExecutor({\n provider: config.provider,\n proxyUrl: config.sponsoredInvokeUrl ?? APP_WALLET_DEFAULTS.sponsoredInvokeUrl,\n consent: walletConsent,\n }),\n provider: config.provider,\n backendUrl: config.backendUrl ?? APP_WALLET_DEFAULTS.backendUrl,\n deployProxyUrl: config.deployProxyUrl ?? APP_WALLET_DEFAULTS.deployProxyUrl,\n });\n\n return { ownerStore, passkeyOwner, walletConsent, mediaWallet };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAQO;AAgBP,MAAM,SAAS,CAAC,UAA2C,IAAI,YAAY,EAAE,OAAO,KAAK;AAElF,MAAM,sBAAsB;AAAA,EACjC,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,gBAAgB;AAClB;AAEO,SAAS,gBAAgB,QAAyB;AACvD,QAAM,iBAAa,kCAAiB,EAAE,UAAU,OAAO,UAAU,aAAa,OAAO,YAAY,CAAC;AAElG,QAAM,mBAAe,oCAAmB;AAAA,IACtC,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,gBAAgB,OAAO;AAAA,IACvB,SAAS,OAAO,OAAO,OAAO;AAAA,IAC9B,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC,aAAa,YAAY;AACvB,YAAM,OAAO,OAAO,iBAAiB,KAAK,OAAO;AACjD,aAAO,EAAE,IAAI,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC,GAAG,MAAM,aAAa,KAAK;AAAA,IACnF;AAAA,IACA,kBAAkB,MAAM,CAAC;AAAA,EAC3B,CAAC;AAED,QAAM,oBAAgB;AAAA,IAAsB,CAAC,SAAS,cACpD,uCAAsB,OAAO,SAAS,GAAG,SAAS,KAAK;AAAA,EACzD;AAEA,QAAM,kBAAc,mCAAkB;AAAA,IACpC,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAU,mCAAkB;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO,sBAAsB,oBAAoB;AAAA,MAC3D,SAAS;AAAA,IACX,CAAC;AAAA,IACD,UAAU,OAAO;AAAA,IACjB,YAAY,OAAO,cAAc,oBAAoB;AAAA,IACrD,gBAAgB,OAAO,kBAAkB,oBAAoB;AAAA,EAC/D,CAAC;AAED,SAAO,EAAE,YAAY,cAAc,eAAe,YAAY;AAChE;","names":[]}
@@ -14,6 +14,11 @@ interface AppWalletConfig {
14
14
  sponsoredInvokeUrl?: string;
15
15
  deployProxyUrl?: string;
16
16
  }
17
+ declare const APP_WALLET_DEFAULTS: {
18
+ readonly backendUrl: "/api/proxy";
19
+ readonly sponsoredInvokeUrl: "/api/proxy/v1/paymaster/invoke";
20
+ readonly deployProxyUrl: "/api/proxy/v1/paymaster/deploy";
21
+ };
17
22
  declare function createAppWallet(config: AppWalletConfig): {
18
23
  ownerStore: _medialane_sdk_starknet.OwnerStore;
19
24
  passkeyOwner: _medialane_sdk_starknet.PasskeyOwner;
@@ -21,4 +26,4 @@ declare function createAppWallet(config: AppWalletConfig): {
21
26
  mediaWallet: _medialane_sdk_starknet.MediaWallet;
22
27
  };
23
28
 
24
- export { type AppWalletConfig, createAppWallet };
29
+ export { APP_WALLET_DEFAULTS, type AppWalletConfig, createAppWallet };
@@ -14,6 +14,11 @@ interface AppWalletConfig {
14
14
  sponsoredInvokeUrl?: string;
15
15
  deployProxyUrl?: string;
16
16
  }
17
+ declare const APP_WALLET_DEFAULTS: {
18
+ readonly backendUrl: "/api/proxy";
19
+ readonly sponsoredInvokeUrl: "/api/proxy/v1/paymaster/invoke";
20
+ readonly deployProxyUrl: "/api/proxy/v1/paymaster/deploy";
21
+ };
17
22
  declare function createAppWallet(config: AppWalletConfig): {
18
23
  ownerStore: _medialane_sdk_starknet.OwnerStore;
19
24
  passkeyOwner: _medialane_sdk_starknet.PasskeyOwner;
@@ -21,4 +26,4 @@ declare function createAppWallet(config: AppWalletConfig): {
21
26
  mediaWallet: _medialane_sdk_starknet.MediaWallet;
22
27
  };
23
28
 
24
- export { type AppWalletConfig, createAppWallet };
29
+ export { APP_WALLET_DEFAULTS, type AppWalletConfig, createAppWallet };
@@ -7,6 +7,11 @@ import {
7
7
  sponsoredExecutor
8
8
  } from "@medialane/sdk/starknet";
9
9
  const encode = (value) => new TextEncoder().encode(value);
10
+ const APP_WALLET_DEFAULTS = {
11
+ backendUrl: "/api/proxy",
12
+ sponsoredInvokeUrl: "/api/proxy/v1/paymaster/invoke",
13
+ deployProxyUrl: "/api/proxy/v1/paymaster/deploy"
14
+ };
10
15
  function createAppWallet(config) {
11
16
  const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });
12
17
  const passkeyOwner = createPasskeyOwner({
@@ -29,16 +34,17 @@ function createAppWallet(config) {
29
34
  passkey: passkeyOwner,
30
35
  executor: sponsoredExecutor({
31
36
  provider: config.provider,
32
- proxyUrl: config.sponsoredInvokeUrl ?? "/api/wallet/sponsored-invoke",
37
+ proxyUrl: config.sponsoredInvokeUrl ?? APP_WALLET_DEFAULTS.sponsoredInvokeUrl,
33
38
  consent: walletConsent
34
39
  }),
35
40
  provider: config.provider,
36
- backendUrl: config.backendUrl ?? "/api/proxy",
37
- deployProxyUrl: config.deployProxyUrl ?? "/api/wallet/deploy-sponsored"
41
+ backendUrl: config.backendUrl ?? APP_WALLET_DEFAULTS.backendUrl,
42
+ deployProxyUrl: config.deployProxyUrl ?? APP_WALLET_DEFAULTS.deployProxyUrl
38
43
  });
39
44
  return { ownerStore, passkeyOwner, walletConsent, mediaWallet };
40
45
  }
41
46
  export {
47
+ APP_WALLET_DEFAULTS,
42
48
  createAppWallet
43
49
  };
44
50
  //# sourceMappingURL=app-wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/app-wallet.ts"],"sourcesContent":["import {\n createMediaWallet,\n createOwnerStore,\n createPasskeyOwner,\n createSelfFundConsent,\n estimateSelfFundedFee,\n sponsoredExecutor,\n type MediaWalletConfig,\n} from \"@medialane/sdk/starknet\";\n\nexport interface AppWalletConfig {\n appName: string;\n relyingPartyId: () => string;\n storeKey: string;\n changeEvent: string;\n prfSalt: string;\n hkdfInfo: string;\n provider: MediaWalletConfig[\"provider\"];\n loadAccountEmail: () => string | null;\n backendUrl?: string;\n sponsoredInvokeUrl?: string;\n deployProxyUrl?: string;\n}\n\nconst encode = (value: string): Uint8Array<ArrayBuffer> => new TextEncoder().encode(value) as Uint8Array<ArrayBuffer>;\n\nexport function createAppWallet(config: AppWalletConfig) {\n const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });\n\n const passkeyOwner = createPasskeyOwner({\n appName: config.appName,\n relyingPartyName: config.appName,\n relyingPartyId: config.relyingPartyId,\n prfSalt: encode(config.prfSalt),\n hkdfInfo: encode(config.hkdfInfo),\n passkeyUser: async () => {\n const name = config.loadAccountEmail() ?? config.appName;\n return { id: crypto.getRandomValues(new Uint8Array(16)), name, displayName: name };\n },\n knownCredentials: () => [],\n });\n\n const walletConsent = createSelfFundConsent((address, calls) =>\n estimateSelfFundedFee(config.provider(), address, calls),\n );\n\n const mediaWallet = createMediaWallet({\n store: ownerStore,\n passkey: passkeyOwner,\n executor: sponsoredExecutor({\n provider: config.provider,\n proxyUrl: config.sponsoredInvokeUrl ?? \"/api/wallet/sponsored-invoke\",\n consent: walletConsent,\n }),\n provider: config.provider,\n backendUrl: config.backendUrl ?? \"/api/proxy\",\n deployProxyUrl: config.deployProxyUrl ?? \"/api/wallet/deploy-sponsored\",\n });\n\n return { ownerStore, passkeyOwner, walletConsent, mediaWallet };\n}\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAgBP,MAAM,SAAS,CAAC,UAA2C,IAAI,YAAY,EAAE,OAAO,KAAK;AAElF,SAAS,gBAAgB,QAAyB;AACvD,QAAM,aAAa,iBAAiB,EAAE,UAAU,OAAO,UAAU,aAAa,OAAO,YAAY,CAAC;AAElG,QAAM,eAAe,mBAAmB;AAAA,IACtC,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,gBAAgB,OAAO;AAAA,IACvB,SAAS,OAAO,OAAO,OAAO;AAAA,IAC9B,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC,aAAa,YAAY;AACvB,YAAM,OAAO,OAAO,iBAAiB,KAAK,OAAO;AACjD,aAAO,EAAE,IAAI,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC,GAAG,MAAM,aAAa,KAAK;AAAA,IACnF;AAAA,IACA,kBAAkB,MAAM,CAAC;AAAA,EAC3B,CAAC;AAED,QAAM,gBAAgB;AAAA,IAAsB,CAAC,SAAS,UACpD,sBAAsB,OAAO,SAAS,GAAG,SAAS,KAAK;AAAA,EACzD;AAEA,QAAM,cAAc,kBAAkB;AAAA,IACpC,OAAO;AAAA,IACP,SAAS;AAAA,IACT,UAAU,kBAAkB;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO,sBAAsB;AAAA,MACvC,SAAS;AAAA,IACX,CAAC;AAAA,IACD,UAAU,OAAO;AAAA,IACjB,YAAY,OAAO,cAAc;AAAA,IACjC,gBAAgB,OAAO,kBAAkB;AAAA,EAC3C,CAAC;AAED,SAAO,EAAE,YAAY,cAAc,eAAe,YAAY;AAChE;","names":[]}
1
+ {"version":3,"sources":["../../src/utils/app-wallet.ts"],"sourcesContent":["import {\n createMediaWallet,\n createOwnerStore,\n createPasskeyOwner,\n createSelfFundConsent,\n estimateSelfFundedFee,\n sponsoredExecutor,\n type MediaWalletConfig,\n} from \"@medialane/sdk/starknet\";\n\nexport interface AppWalletConfig {\n appName: string;\n relyingPartyId: () => string;\n storeKey: string;\n changeEvent: string;\n prfSalt: string;\n hkdfInfo: string;\n provider: MediaWalletConfig[\"provider\"];\n loadAccountEmail: () => string | null;\n backendUrl?: string;\n sponsoredInvokeUrl?: string;\n deployProxyUrl?: string;\n}\n\nconst encode = (value: string): Uint8Array<ArrayBuffer> => new TextEncoder().encode(value) as Uint8Array<ArrayBuffer>;\n\nexport const APP_WALLET_DEFAULTS = {\n backendUrl: \"/api/proxy\",\n sponsoredInvokeUrl: \"/api/proxy/v1/paymaster/invoke\",\n deployProxyUrl: \"/api/proxy/v1/paymaster/deploy\",\n} as const;\n\nexport function createAppWallet(config: AppWalletConfig) {\n const ownerStore = createOwnerStore({ storeKey: config.storeKey, changeEvent: config.changeEvent });\n\n const passkeyOwner = createPasskeyOwner({\n appName: config.appName,\n relyingPartyName: config.appName,\n relyingPartyId: config.relyingPartyId,\n prfSalt: encode(config.prfSalt),\n hkdfInfo: encode(config.hkdfInfo),\n passkeyUser: async () => {\n const name = config.loadAccountEmail() ?? config.appName;\n return { id: crypto.getRandomValues(new Uint8Array(16)), name, displayName: name };\n },\n knownCredentials: () => [],\n });\n\n const walletConsent = createSelfFundConsent((address, calls) =>\n estimateSelfFundedFee(config.provider(), address, calls),\n );\n\n const mediaWallet = createMediaWallet({\n store: ownerStore,\n passkey: passkeyOwner,\n executor: sponsoredExecutor({\n provider: config.provider,\n proxyUrl: config.sponsoredInvokeUrl ?? APP_WALLET_DEFAULTS.sponsoredInvokeUrl,\n consent: walletConsent,\n }),\n provider: config.provider,\n backendUrl: config.backendUrl ?? APP_WALLET_DEFAULTS.backendUrl,\n deployProxyUrl: config.deployProxyUrl ?? APP_WALLET_DEFAULTS.deployProxyUrl,\n });\n\n return { ownerStore, passkeyOwner, walletConsent, mediaWallet };\n}\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAgBP,MAAM,SAAS,CAAC,UAA2C,IAAI,YAAY,EAAE,OAAO,KAAK;AAElF,MAAM,sBAAsB;AAAA,EACjC,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,gBAAgB;AAClB;AAEO,SAAS,gBAAgB,QAAyB;AACvD,QAAM,aAAa,iBAAiB,EAAE,UAAU,OAAO,UAAU,aAAa,OAAO,YAAY,CAAC;AAElG,QAAM,eAAe,mBAAmB;AAAA,IACtC,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,gBAAgB,OAAO;AAAA,IACvB,SAAS,OAAO,OAAO,OAAO;AAAA,IAC9B,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC,aAAa,YAAY;AACvB,YAAM,OAAO,OAAO,iBAAiB,KAAK,OAAO;AACjD,aAAO,EAAE,IAAI,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC,GAAG,MAAM,aAAa,KAAK;AAAA,IACnF;AAAA,IACA,kBAAkB,MAAM,CAAC;AAAA,EAC3B,CAAC;AAED,QAAM,gBAAgB;AAAA,IAAsB,CAAC,SAAS,UACpD,sBAAsB,OAAO,SAAS,GAAG,SAAS,KAAK;AAAA,EACzD;AAEA,QAAM,cAAc,kBAAkB;AAAA,IACpC,OAAO;AAAA,IACP,SAAS;AAAA,IACT,UAAU,kBAAkB;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO,sBAAsB,oBAAoB;AAAA,MAC3D,SAAS;AAAA,IACX,CAAC;AAAA,IACD,UAAU,OAAO;AAAA,IACjB,YAAY,OAAO,cAAc,oBAAoB;AAAA,IACrD,gBAAgB,OAAO,kBAAkB,oBAAoB;AAAA,EAC/D,CAAC;AAED,SAAO,EAAE,YAAY,cAAc,eAAe,YAAY;AAChE;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medialane/ui",
3
- "version": "0.186.0",
3
+ "version": "0.187.0",
4
4
  "description": "Shared UI components for Medialane apps",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -51,7 +51,7 @@
51
51
  "preview": "vite --config preview/vite.config.ts"
52
52
  },
53
53
  "peerDependencies": {
54
- "@medialane/sdk": ">=0.171.0",
54
+ "@medialane/sdk": ">=0.173.0",
55
55
  "@radix-ui/react-checkbox": ">=1.1.0",
56
56
  "@radix-ui/react-collapsible": ">=1.1.0",
57
57
  "@radix-ui/react-dialog": ">=1.1.0",
@@ -83,7 +83,7 @@
83
83
  },
84
84
  "devDependencies": {
85
85
  "@happy-dom/global-registrator": "^20.14.5",
86
- "@medialane/sdk": "0.171.0",
86
+ "@medialane/sdk": "0.173.0",
87
87
  "@radix-ui/react-checkbox": "^1.3.8",
88
88
  "@radix-ui/react-collapsible": "^1.1.17",
89
89
  "@radix-ui/react-dialog": "^1.1.20",