UNPKG

@reservoir0x/ethers-wallet-adapter

Version:

An adapter used to convert an ethersjs signer to a Reservoir Wallet for use in the @reservoir0x/reservoir-sdk

70 lines (59 loc) 2.85 kB
import {getClient as $eNUu9$getClient, LogLevel as $eNUu9$LogLevel} from "@reservoir0x/reservoir-sdk"; import {arrayify as $eNUu9$arrayify} from "ethers/lib/utils"; import {hexToBigInt as $eNUu9$hexToBigInt} from "viem"; function $parcel$export(e, n, v, s) { Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); } var $94f7b90399ca5107$exports = {}; $parcel$export($94f7b90399ca5107$exports, "adaptEthersSigner", () => $94f7b90399ca5107$export$e88664dcee9d76ee); const $94f7b90399ca5107$export$e88664dcee9d76ee = (signer, transport)=>{ return { transport: transport, address: async ()=>{ return signer.getAddress(); }, handleSignMessageStep: async (stepItem)=>{ const client = (0, $eNUu9$getClient)(); const signData = stepItem.data?.sign; let signature; if (signData) { // Request user signature if (signData.signatureKind === "eip191") { client.log([ "Execute Steps: Signing with eip191" ], (0, $eNUu9$LogLevel).Verbose); if (signData.message.match(/0x[0-9a-fA-F]{64}/)) // If the message represents a hash, we need to convert it to raw bytes first signature = await signer.signMessage((0, $eNUu9$arrayify)(signData.message)); else signature = await signer.signMessage(signData.message); } else if (signData.signatureKind === "eip712") { client.log([ "Execute Steps: Signing with eip712" ], (0, $eNUu9$LogLevel).Verbose); signature = await signer._signTypedData(signData.domain, signData.types, signData.value); } } return signature; }, handleSendTransactionStep: async (chainId, stepItem)=>{ const stepData = stepItem.data; const transaction = await signer.sendTransaction({ data: stepData.data, to: stepData.to, from: stepData.from, value: (0, $eNUu9$hexToBigInt)(stepData.value || 0), ...stepData.maxFeePerGas && { maxFeePerGas: (0, $eNUu9$hexToBigInt)(stepData.maxFeePerGas) }, ...stepData.maxPriorityFeePerGas && { maxPriorityFeePerGas: (0, $eNUu9$hexToBigInt)(stepData.maxPriorityFeePerGas) }, ...stepData.gas && { gasLimit: (0, $eNUu9$hexToBigInt)(stepData.gas) } }); return transaction.hash; } }; }; export {$94f7b90399ca5107$export$e88664dcee9d76ee as adaptEthersSigner}; //# sourceMappingURL=index.mjs.map