{"mappings":";;;;;;;;;;;;;;ACUO,MAAM,4CAAoB,CAC/B,QACA;IAEA,OAAO;mBACL;QACA,SAAS;YACP,OAAO,OAAO,UAAU;QAC1B;QACA,uBAAuB,OAAO;YAC5B,MAAM,SAAS,CAAA,GAAA,gBAAA;YACf,MAAM,WAAW,SAAS,IAAI,EAAE;YAChC,IAAI;YACJ,IAAI,UAAU;gBACZ,yBAAyB;gBACzB,IAAI,SAAS,aAAa,KAAK,UAAU;oBACvC,OAAO,GAAG,CAAC;wBAAC;qBAAqC,EAAE,CAAA,GAAA,eAAA,EAAS,OAAO;oBACnE,IAAI,SAAS,OAAO,CAAC,KAAK,CAAC,sBACzB,6EAA6E;oBAC7E,YAAY,MAAM,OAAO,WAAW,CAAC,CAAA,GAAA,eAAA,EAAS,SAAS,OAAO;yBAE9D,YAAY,MAAM,OAAO,WAAW,CAAC,SAAS,OAAO;gBAEzD,OAAO,IAAI,SAAS,aAAa,KAAK,UAAU;oBAC9C,OAAO,GAAG,CAAC;wBAAC;qBAAqC,EAAE,CAAA,GAAA,eAAA,EAAS,OAAO;oBACnE,YAAY,MACV,OACA,cAAc,CAAC,SAAS,MAAM,EAAE,SAAS,KAAK,EAAE,SAAS,KAAK;gBAClE;YACF;YACA,OAAO;QACT;QACA,2BAA2B,OAAO,SAAS;YACzC,MAAM,WAAW,SAAS,IAAI;YAC9B,MAAM,cAAc,MAAM,OAAO,eAAe,CAAC;gBAC/C,MAAM,SAAS,IAAI;gBACnB,IAAI,SAAS,EAAE;gBACf,MAAM,SAAS,IAAI;gBACnB,OAAO,CAAA,GAAA,kBAAA,EAAa,SAAS,KAAa,IAAI;gBAC9C,GAAI,SAAS,YAAY,IAAI;oBAC3B,cAAc,CAAA,GAAA,kBAAA,EAAY,SAAS,YAAmB;gBACvD,CAAA;gBACD,GAAI,SAAS,oBAAoB,IAAI;oBACnC,sBAAsB,CAAA,GAAA,kBAAA,EACpB,SAAS,oBAA2B;gBAEvC,CAAA;gBACD,GAAI,SAAS,GAAG,IAAI;oBAClB,UAAU,CAAA,GAAA,kBAAA,EAAY,SAAS,GAAU;gBAC1C,CAAA;YACF;YAED,OAAO,YAAY,IAAqB;QAC1C;IACD;AACH","sources":["packages/ethers-wallet-adapter/src/index.ts","packages/ethers-wallet-adapter/src/adapter.ts"],"sourcesContent":["export * from './adapter'\n","import {\n  LogLevel,\n  ReservoirWallet,\n  getClient,\n} from '@reservoir0x/reservoir-sdk'\nimport { Signer } from 'ethers/lib/ethers'\nimport { arrayify } from 'ethers/lib/utils'\nimport { TypedDataSigner } from '@ethersproject/abstract-signer/lib/index'\nimport { CustomTransport, HttpTransport, hexToBigInt } from 'viem'\n\nexport const adaptEthersSigner = (\n  signer: Signer,\n  transport?: CustomTransport | HttpTransport\n): ReservoirWallet => {\n  return {\n    transport,\n    address: async () => {\n      return signer.getAddress()\n    },\n    handleSignMessageStep: async (stepItem) => {\n      const client = getClient()\n      const signData = stepItem.data?.sign\n      let signature: string | undefined\n      if (signData) {\n        // Request user signature\n        if (signData.signatureKind === 'eip191') {\n          client.log(['Execute Steps: Signing with eip191'], LogLevel.Verbose)\n          if (signData.message.match(/0x[0-9a-fA-F]{64}/)) {\n            // If the message represents a hash, we need to convert it to raw bytes first\n            signature = await signer.signMessage(arrayify(signData.message))\n          } else {\n            signature = await signer.signMessage(signData.message)\n          }\n        } else if (signData.signatureKind === 'eip712') {\n          client.log(['Execute Steps: Signing with eip712'], LogLevel.Verbose)\n          signature = await (\n            signer as unknown as TypedDataSigner\n          )._signTypedData(signData.domain, signData.types, signData.value)\n        }\n      }\n      return signature\n    },\n    handleSendTransactionStep: async (chainId, stepItem) => {\n      const stepData = stepItem.data\n      const transaction = await signer.sendTransaction({\n        data: stepData.data,\n        to: stepData.to,\n        from: stepData.from,\n        value: hexToBigInt((stepData.value as any) || 0),\n        ...(stepData.maxFeePerGas && {\n          maxFeePerGas: hexToBigInt(stepData.maxFeePerGas as any),\n        }),\n        ...(stepData.maxPriorityFeePerGas && {\n          maxPriorityFeePerGas: hexToBigInt(\n            stepData.maxPriorityFeePerGas as any\n          ),\n        }),\n        ...(stepData.gas && {\n          gasLimit: hexToBigInt(stepData.gas as any),\n        }),\n      })\n\n      return transaction.hash as `0x${string}`\n    },\n  }\n}\n"],"names":[],"version":3,"file":"index.mjs.map"}