Docs

SDKOptionsSchema

let SDKOptionsSchema: ZodDefault<
  ZodObject<
    {
      clientId: ZodOptional<ZodString>;
      gasSettings: ZodDefault<
        ZodObject<
          {
            maxPriceInGwei: ZodDefault<ZodNumber>;
            speed: ZodDefault<ZodEnum<["standard", "fast", "fastest"]>>;
          },
          "strip",
          ZodTypeAny,
          { maxPriceInGwei: number; speed: "standard" | "fast" | "fastest" },
          { maxPriceInGwei?: number; speed?: "standard" | "fast" | "fastest" }
        >
      >;
      gasless: ZodOptional<
        ZodUnion<
          [
            ZodObject<
              {
                experimentalChainlessSupport: ZodDefault<ZodBoolean>;
                openzeppelin: ZodObject<
                  {
                    domainName: ZodDefault<ZodString>;
                    domainVersion: ZodDefault<ZodString>;
                    relayerForwarderAddress: ZodOptional<ZodString>;
                    relayerUrl: ZodString;
                    useEOAForwarder: ZodDefault<ZodBoolean>;
                  },
                  "strip",
                  ZodTypeAny,
                  {
                    domainName: string;
                    domainVersion: string;
                    relayerForwarderAddress?: string;
                    relayerUrl: string;
                    useEOAForwarder: boolean;
                  },
                  {
                    domainName?: string;
                    domainVersion?: string;
                    relayerForwarderAddress?: string;
                    relayerUrl: string;
                    useEOAForwarder?: boolean;
                  }
                >;
              },
              "strip",
              ZodTypeAny,
              {
                experimentalChainlessSupport: boolean;
                openzeppelin: {
                  relayerUrl: string;
                  useEOAForwarder: boolean;
                  domainName: string;
                  domainVersion: string;
                  relayerForwarderAddress?: string | undefined;
                };
              },
              {
                experimentalChainlessSupport?: boolean;
                openzeppelin: {
                  relayerUrl: string;
                  relayerForwarderAddress?: string | undefined;
                  useEOAForwarder?: boolean | undefined;
                  domainName?: string | undefined;
                  domainVersion?: string | undefined;
                };
              }
            >,
            ZodObject<
              {
                biconomy: ZodObject<
                  {
                    apiId: ZodString;
                    apiKey: ZodString;
                    deadlineSeconds: ZodDefault<ZodNumber>;
                  },
                  "strip",
                  ZodTypeAny,
                  { apiId: string; apiKey: string; deadlineSeconds: number },
                  { apiId: string; apiKey: string; deadlineSeconds?: number }
                >;
              },
              "strip",
              ZodTypeAny,
              {
                biconomy: {
                  apiId: string;
                  apiKey: string;
                  deadlineSeconds: number;
                };
              },
              {
                biconomy: {
                  apiId: string;
                  apiKey: string;
                  deadlineSeconds?: number | undefined;
                };
              }
            >,
            ZodObject<
              {
                engine: ZodObject<
                  { relayerUrl: ZodEffects<ZodString, string, string> },
                  "strip",
                  ZodTypeAny,
                  { relayerUrl: string },
                  { relayerUrl: string }
                >;
              },
              "strip",
              ZodTypeAny,
              { engine: { relayerUrl: string } },
              { engine: { relayerUrl: string } }
            >,
          ]
        >
      >;
      gatewayUrls: ZodOptional<ZodArray<ZodString, "many">>;
      readonlySettings: ZodOptional<
        ZodObject<
          { chainId: ZodOptional<ZodNumber>; rpcUrl: ZodString },
          "strip",
          ZodTypeAny,
          { chainId?: number; rpcUrl: string },
          { chainId?: number; rpcUrl: string }
        >
      >;
      secretKey: ZodOptional<ZodString>;
      supportedChains: ZodDefault<
        ZodArray<
          ZodObject<
            {
              chainId: ZodNumber;
              nativeCurrency: ZodObject<
                { decimals: ZodNumber; name: ZodString; symbol: ZodString },
                "strip",
                ZodTypeAny,
                { decimals: number; name: string; symbol: string },
                { decimals: number; name: string; symbol: string }
              >;
              rpc: ZodArray<ZodString, "many">;
              slug: ZodString;
            },
            "strip",
            ZodTypeAny,
            {
              chainId: number;
              nativeCurrency: {
                symbol: string;
                name: string;
                decimals: number;
              };
              rpc: string[];
              slug: string;
            },
            {
              chainId: number;
              nativeCurrency: {
                symbol: string;
                name: string;
                decimals: number;
              };
              rpc: string[];
              slug: string;
            }
          >,
          "many"
        >
      >;
    },
    "strip",
    ZodTypeAny,
    {
      clientId?: string;
      gasSettings: {
        maxPriceInGwei: number;
        speed: "standard" | "fast" | "fastest";
      };
      gasless?:
        | {
            openzeppelin: {
              relayerUrl: string;
              useEOAForwarder: boolean;
              domainName: string;
              domainVersion: string;
              relayerForwarderAddress?: string | undefined;
            };
            experimentalChainlessSupport: boolean;
          }
        | {
            biconomy: {
              apiId: string;
              apiKey: string;
              deadlineSeconds: number;
            };
          }
        | { engine: { relayerUrl: string } };
      gatewayUrls?: string[];
      readonlySettings?: { rpcUrl: string; chainId?: number | undefined };
      secretKey?: string;
      supportedChains: Array<{
        rpc: string[];
        chainId: number;
        nativeCurrency: { symbol: string; name: string; decimals: number };
        slug: string;
      }>;
    },
    {
      clientId?: string;
      gasSettings?: {
        maxPriceInGwei?: number | undefined;
        speed?: "standard" | "fast" | "fastest" | undefined;
      };
      gasless?:
        | {
            openzeppelin: {
              relayerUrl: string;
              relayerForwarderAddress?: string | undefined;
              useEOAForwarder?: boolean | undefined;
              domainName?: string | undefined;
              domainVersion?: string | undefined;
            };
            experimentalChainlessSupport?: boolean | undefined;
          }
        | {
            biconomy: {
              apiId: string;
              apiKey: string;
              deadlineSeconds?: number | undefined;
            };
          }
        | { engine: { relayerUrl: string } };
      gatewayUrls?: string[];
      readonlySettings?: { rpcUrl: string; chainId?: number | undefined };
      secretKey?: string;
      supportedChains?: Array<{
        rpc: string[];
        chainId: number;
        nativeCurrency: { symbol: string; name: string; decimals: number };
        slug: string;
      }>;
    }
  >
>;