{"version":3,"file":"Wallets.mjs","sources":["../../../src/utils/Wallets.ts"],"sourcesContent":["import {\n  Keypair,\n  PublicKey,\n  Transaction,\n  VersionedTransaction,\n} from '@solana/web3.js';\nimport { Convergence } from '..';\n\ninterface Wallet {\n  signTransaction(tx: Transaction): Promise<Transaction>;\n  signAllTransactions(txs: Transaction[]): Promise<Transaction[]>;\n  publicKey: PublicKey;\n}\n\nexport class CvgWallet implements Wallet {\n  payer: Keypair;\n  convergence: Convergence;\n  publicKey: PublicKey;\n\n  constructor(convergence: Convergence) {\n    this.convergence = convergence;\n    this.payer = convergence.rpc().getDefaultFeePayer() as Keypair;\n    this.publicKey = convergence.identity().publicKey;\n  }\n\n  signTransaction = <T extends Transaction | VersionedTransaction>(\n    tx: T\n  ): Promise<T> => {\n    if (tx instanceof VersionedTransaction) {\n      throw new Error('Versioned transactions are not supported yet');\n    }\n\n    return this.convergence.identity().signTransaction(tx) as Promise<T>;\n  };\n\n  signAllTransactions = <T extends Transaction | VersionedTransaction>(\n    txs: T[]\n  ): Promise<T[]> => {\n    if (txs.find((tx) => tx instanceof VersionedTransaction) !== undefined) {\n      throw new Error('Versioned transactions are not supported yet');\n    }\n\n    return this.convergence\n      .identity()\n      .signAllTransactions(txs as Transaction[]) as Promise<T[]>;\n  };\n}\n\nexport class NoopWallet {\n  public readonly publicKey: PublicKey;\n\n  constructor(publicKey: PublicKey) {\n    this.publicKey = publicKey;\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  signTransaction(tx: Transaction): Promise<Transaction> {\n    throw new Error('This Method is not expected to be called.');\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  signAllTransactions(txs: Transaction[]): Promise<Transaction[]> {\n    throw new Error('This Method is not expected to be called.');\n  }\n}\n"],"names":["CvgWallet","_createClass","convergence","_this","_classCallCheck","_defineProperty","tx","VersionedTransaction","Error","identity","signTransaction","txs","find","undefined","signAllTransactions","payer","rpc","getDefaultFeePayer","publicKey","NoopWallet","key","value"],"mappings":";;;AAcA,IAAaA,SAAS,gBAAAC,YAAA,CAKpB,SAAAD,SAAAA,CAAYE,WAAwB,EAAE;AAAA,EAAA,IAAAC,KAAA,GAAA,IAAA,CAAA;AAAAC,EAAAA,eAAA,OAAAJ,SAAA,CAAA,CAAA;EAAAK,eAAA,CAAA,IAAA,EAAA,iBAAA,EAMpB,UAChBC,EAAK,EACU;IACf,IAAIA,EAAE,YAAYC,oBAAoB,EAAE;AACtC,MAAA,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC,CAAA;AACjE,KAAA;IAEA,OAAOL,KAAI,CAACD,WAAW,CAACO,QAAQ,EAAE,CAACC,eAAe,CAACJ,EAAE,CAAC,CAAA;GACvD,CAAA,CAAA;EAAAD,eAAA,CAAA,IAAA,EAAA,qBAAA,EAEqB,UACpBM,GAAQ,EACS;AACjB,IAAA,IAAIA,GAAG,CAACC,IAAI,CAAC,UAACN,EAAE,EAAA;MAAA,OAAKA,EAAE,YAAYC,oBAAoB,CAAA;KAAC,CAAA,KAAKM,SAAS,EAAE;AACtE,MAAA,MAAM,IAAIL,KAAK,CAAC,8CAA8C,CAAC,CAAA;AACjE,KAAA;IAEA,OAAOL,KAAI,CAACD,WAAW,CACpBO,QAAQ,EAAE,CACVK,mBAAmB,CAACH,GAAoB,CAAC,CAAA;GAC7C,CAAA,CAAA;EAzBC,IAAI,CAACT,WAAW,GAAGA,WAAW,CAAA;EAC9B,IAAI,CAACa,KAAK,GAAGb,WAAW,CAACc,GAAG,EAAE,CAACC,kBAAkB,EAAa,CAAA;EAC9D,IAAI,CAACC,SAAS,GAAGhB,WAAW,CAACO,QAAQ,EAAE,CAACS,SAAS,CAAA;AACnD,CAAC,EAAA;AAyBH,IAAaC,UAAU,gBAAA,YAAA;EAGrB,SAAAA,UAAAA,CAAYD,SAAoB,EAAE;AAAAd,IAAAA,eAAA,OAAAe,UAAA,CAAA,CAAA;IAChC,IAAI,CAACD,SAAS,GAAGA,SAAS,CAAA;AAC5B,GAAA;;AAEA;AAAAjB,EAAAA,YAAA,CAAAkB,UAAA,EAAA,CAAA;IAAAC,GAAA,EAAA,iBAAA;AAAAC,IAAAA,KAAA,EACA,SAAAX,eAAgBJ,CAAAA,EAAe,EAAwB;AACrD,MAAA,MAAM,IAAIE,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC9D,KAAA;;AAEA;AAAA,GAAA,EAAA;IAAAY,GAAA,EAAA,qBAAA;AAAAC,IAAAA,KAAA,EACA,SAAAP,mBAAoBH,CAAAA,GAAkB,EAA0B;AAC9D,MAAA,MAAM,IAAIH,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC9D,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAW,UAAA,CAAA;AAAA,CAAA;;;;"}