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.