I am trying to create a signature that is accepted by the executeAllowanceTransfer function. I can't workout how to generate a signature that is approved in the allowance as I keep getting the return error message of "expectedDelegate == signer && delegates[address(safe)][uint48(signer)].delegate == signer"

Allowance module can be found here: https://github.com/safe-global/safe-modules/blob/47e2b486b0b31d97bab7648a3f76de9038c6e67b/allowances/contracts/AlowanceModule.sol

I've tried to send a signature generated by passing transferHash into signer.signMessage via ethers.

1

There are 1 best solutions below

3
On

use 0x as signature parameter

const executeTxResponse = await allowanceContract?.executeAllowanceTransfer('0xB91...B032E', '0x66...aF2, '0x345...Df5A', '1000000000000000000', '0x0000..0000', '0', '0x445...F404', '0x')