{"version":3,"file":"SystemClient.mjs","sources":["../../../../src/plugins/systemModule/SystemClient.ts"],"sourcesContent":["import {\n  CreateAccountInput,\n  createAccountOperation,\n  TransferSolInput,\n  transferSolOperation,\n} from './operations';\nimport { SystemBuildersClient } from './SystemBuildersClient';\nimport type { Convergence } from '@/Convergence';\nimport { OperationOptions } from '@/types';\n\n/**\n * This is a client for the System module.\n *\n * It enables us to interact with the System program in order to\n * create uninitialized accounts and transfer SOL.\n *\n * You may access this client via the `system()` method of your `Convergence` instance.\n *\n * ```ts\n * const systemClient = convergence.system();\n * ```\n *\n * @example\n * You can create a new uninitialized account with a given space in bytes\n * using the code below.\n *\n * ```ts\n * const { newAccount } = await convergence.system().createAccount({ space: 42 });\n * ```\n *\n * @group Modules\n */\nexport class SystemClient {\n  constructor(protected readonly convergence: Convergence) {}\n\n  /**\n   * You may use the `builders()` client to access the\n   * underlying Transaction Builders of this module.\n   *\n   * ```ts\n   * const buildersClient = convergence.system().builders();\n   * ```\n   */\n  builders() {\n    return new SystemBuildersClient(this.convergence);\n  }\n\n  /** {@inheritDoc createAccountOperation} */\n  createAccount(input: CreateAccountInput, options?: OperationOptions) {\n    return this.convergence\n      .operations()\n      .execute(createAccountOperation(input), options);\n  }\n\n  /** {@inheritDoc transferSolOperation} */\n  transferSol(input: TransferSolInput, options?: OperationOptions) {\n    return this.convergence\n      .operations()\n      .execute(transferSolOperation(input), options);\n  }\n}\n"],"names":["SystemClient","convergence","_classCallCheck","_createClass","key","value","builders","SystemBuildersClient","createAccount","input","options","operations","execute","createAccountOperation","transferSol","transferSolOperation"],"mappings":";;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAaA,YAAY,gBAAA,YAAA;EACvB,SAAAA,YAAAA,CAA+BC,WAAwB,EAAE;AAAAC,IAAAA,eAAA,OAAAF,YAAA,CAAA,CAAA;IAAA,IAA1BC,CAAAA,WAAwB,GAAxBA,WAAwB,CAAA;AAAG,GAAA;;AAE1D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AAPEE,EAAAA,YAAA,CAAAH,YAAA,EAAA,CAAA;IAAAI,GAAA,EAAA,UAAA;IAAAC,KAAA,EAQA,SAAAC,QAAAA,GAAW;AACT,MAAA,OAAO,IAAIC,oBAAoB,CAAC,IAAI,CAACN,WAAW,CAAC,CAAA;AACnD,KAAA;;AAEA;AAAA,GAAA,EAAA;IAAAG,GAAA,EAAA,eAAA;AAAAC,IAAAA,KAAA,EACA,SAAAG,aAAAA,CAAcC,KAAyB,EAAEC,OAA0B,EAAE;AACnE,MAAA,OAAO,IAAI,CAACT,WAAW,CACpBU,UAAU,EAAE,CACZC,OAAO,CAACC,sBAAsB,CAACJ,KAAK,CAAC,EAAEC,OAAO,CAAC,CAAA;AACpD,KAAA;;AAEA;AAAA,GAAA,EAAA;IAAAN,GAAA,EAAA,aAAA;AAAAC,IAAAA,KAAA,EACA,SAAAS,WAAAA,CAAYL,KAAuB,EAAEC,OAA0B,EAAE;AAC/D,MAAA,OAAO,IAAI,CAACT,WAAW,CACpBU,UAAU,EAAE,CACZC,OAAO,CAACG,oBAAoB,CAACN,KAAK,CAAC,EAAEC,OAAO,CAAC,CAAA;AAClD,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAV,YAAA,CAAA;AAAA,CAAA;;;;"}