signTransaction
Returns a new SafeTransaction object that includes the signature of the current owner.
Usage
_23import { SigningMethod } from '@safe-global/protocol-kit'_23import { MetaTransactionData, OperationType } from '@safe-global/types-kit'_23import { protocolKit } from './setup.ts'_23_23const transactions: MetaTransactionData[] = [{_23 to: '0x...',_23 value: '123',_23 data: '0x',_23 operation: OperationType.Call // Optional_23}]_23const safeTransaction = await protocolKit.createTransaction({_23 transactions_23})_23_23const signingMethod = SigningMethod.ETH_SIGN_TYPED_DATA_V4_23_23const preimageSafeAddress = '0x...'_23_23const signedSafeTransaction = await protocolKit.signTransaction(_23 safeTransaction,_23 signingMethod, // Optional_23 preimageSafeAddress // Optional_23)
Parameters
safeTransaction
The Safe transaction to sign.
_10const signedSafeTransaction = await protocolKit.signTransaction(_10 safeTransaction_10)
signingMethod (Optional)
- Type:
SigningMethodType(opens in a new tab) - Default:
SigningMethod.ETH_SIGN_TYPED_DATA_V4
The signature type.
You can use multiple signing methods, such as:
ETH_SIGN(eth_sign): Regular hash signature.ETH_SIGN_TYPED_DATA_V4(eth_signTypedData_v4): Typed data signaturev4.ETH_SIGN_TYPED_DATA_V3(eth_signTypedData_v3): Typed data signaturev3.ETH_SIGN_TYPED_DATA(eth_signTypedData): Typed data signature.SAFE_SIGNATURE: Signature from another Safe that acts as a signer.
_10const signedSafeTransaction = await protocolKit.signTransaction(_10 safeTransaction,_10 SigningMethod.ETH_SIGN_TYPED_DATA_V4_10)
preimageSafeAddress (Optional)
- Type:
string
The address of the Safe that will be used to calculate the preimage.
Required parameter for v1.3.0 and v1.4.1 Safe smart accounts. These versions use the old EIP-1271 interface, which uses bytes instead of bytes32 for the message. You need to use the pre-image of the message to calculate the message hash.
_10const signedSafeTransaction = await protocolKit.signTransaction(_10 safeTransaction,_10 SigningMethod.ETH_SIGN_TYPED_DATA_V4,_10 '0x...'_10)
Returns
Promise<SafeTransaction>
The signed Safe transaction.