UNPKG

@kaiachain/viem-ext

Version:
32 lines (31 loc) 1.11 kB
import { getKaikasTxType, getRpcTxObject, isKlaytnTxType, } from '@kaiachain/js-ext-core'; import { serializeTransactionKaia } from '../serializer.js'; import { getTransactionRequestForSigning } from '../utils.js'; export const signTransaction = async (client, senderTxHashRLP) => { const txObj = await getTransactionRequestForSigning(client, senderTxHashRLP); if (client?.account?.signTransaction) { return client.account.signTransaction(txObj, { serializer: serializeTransactionKaia, }); } // kaia tx type if (isKlaytnTxType(txObj.type)) { const response = await client.request({ method: 'klay_signTransaction', params: [ { ...getRpcTxObject(txObj), type: getKaikasTxType(txObj.type) }, ], }, { retryCount: 0 }); if (typeof response === 'object') { return response['rawTransaction']; } return response; } // legacy tx return client.request({ method: 'eth_signTransaction', params: [txObj], }, { retryCount: 0, }); };