@wagmi/core
Version:
VanillaJS library for Ethereum
32 lines • 1.21 kB
JavaScript
import { signTransaction as viem_signTransaction } from 'viem/actions';
import { getAction } from '../utils/getAction.js';
import { getConnectorClient, } from './getConnectorClient.js';
/** https://wagmi.sh/core/api/actions/signTransaction */
export async function signTransaction(config, parameters) {
const { account, chainId, connector, ...rest } = parameters;
let client;
if (typeof account === 'object' && account?.type === 'local')
client = config.getClient({ chainId });
else
client = await getConnectorClient(config, {
account: account ?? undefined,
assertChainId: false,
chainId,
connector,
});
const chain = (() => {
if (!chainId || client.chain?.id === chainId)
return client.chain;
return { id: chainId };
})();
const action = getAction(client, viem_signTransaction, 'signTransaction');
const serializedTransaction = await action({
...rest,
...(account ? { account } : {}),
assertChainId: !!chainId,
chain,
gas: rest.gas ?? undefined,
});
return serializedTransaction;
}
//# sourceMappingURL=signTransaction.js.map