{"version":3,"sources":["../../../../src/exact/client/register.ts"],"sourcesContent":["import { x402Client, SelectPaymentRequirements, PaymentPolicy } from \"@payai/x402/client\";\nimport { Network } from \"@payai/x402/types\";\nimport { ClientSvmSigner } from \"../../signer\";\nimport { ExactSvmScheme } from \"./scheme\";\nimport { ExactSvmSchemeV1 } from \"../v1/client/scheme\";\nimport { NETWORKS } from \"../../v1\";\n\n/**\n * Configuration options for registering SVM schemes to an x402Client\n */\nexport interface SvmClientConfig {\n  /**\n   * The SVM signer to use for creating payment payloads\n   */\n  signer: ClientSvmSigner;\n\n  /**\n   * Optional payment requirements selector function\n   */\n  paymentRequirementsSelector?: SelectPaymentRequirements;\n\n  /**\n   * Optional policies to apply to the client\n   */\n  policies?: PaymentPolicy[];\n\n  /**\n   * Optional specific networks to register\n   */\n  networks?: Network[];\n}\n\n/**\n * Registers SVM payment schemes to an existing x402Client instance.\n *\n * @param client - The x402Client instance to register schemes to\n * @param config - Configuration for SVM client registration\n * @returns The client instance for chaining\n */\nexport function registerExactSvmScheme(client: x402Client, config: SvmClientConfig): x402Client {\n  // Register V2 scheme\n  if (config.networks && config.networks.length > 0) {\n    config.networks.forEach(network => {\n      client.register(network, new ExactSvmScheme(config.signer));\n    });\n  } else {\n    client.register(\"solana:*\", new ExactSvmScheme(config.signer));\n  }\n\n  // Register all V1 networks\n  NETWORKS.forEach(network => {\n    client.registerV1(network as Network, new ExactSvmSchemeV1(config.signer));\n  });\n\n  if (config.policies) {\n    config.policies.forEach(policy => {\n      client.registerPolicy(policy);\n    });\n  }\n\n  return client;\n}\n"],"mappings":";;;;;;;;;;;;;;AAuCO,SAAS,uBAAuB,QAAoB,QAAqC;AAE9F,MAAI,OAAO,YAAY,OAAO,SAAS,SAAS,GAAG;AACjD,WAAO,SAAS,QAAQ,aAAW;AACjC,aAAO,SAAS,SAAS,IAAI,eAAe,OAAO,MAAM,CAAC;AAAA,IAC5D,CAAC;AAAA,EACH,OAAO;AACL,WAAO,SAAS,YAAY,IAAI,eAAe,OAAO,MAAM,CAAC;AAAA,EAC/D;AAGA,WAAS,QAAQ,aAAW;AAC1B,WAAO,WAAW,SAAoB,IAAI,iBAAiB,OAAO,MAAM,CAAC;AAAA,EAC3E,CAAC;AAED,MAAI,OAAO,UAAU;AACnB,WAAO,SAAS,QAAQ,YAAU;AAChC,aAAO,eAAe,MAAM;AAAA,IAC9B,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}