Skip to main content
This content applies to WaaS 1.0 only. We highly recommend that you upgrade to WaaS 2.0.
Delegate can call either execTransaction() or execTransactions() to send transactions. The following uses execTransaction() as an example, where the CallData struct is passed in as a parameter.
Each field in the struct is defined as follows:
  • flag: The call type. 0 indicates call and 1 indicates delegatecall. Note that each type of call comes with different access controls.
  • to: The target smart contract to be called.
  • value: The ETH amount of the transaction when the contract is called.
  • data: The calldata of a transaction (i.e., abi.encoded parameters of a contract call).
  • hint: When the hint field is set, the Authorizer will optimize the validation process by executing a fast path. This helps reduce gas consumption.
To generate a hint, you can execute an eth_call to the execTransaction() function with the hint field left unset. The TransactionResult returned from the call will contain the correct hint value. The above process can be achieved using Cobo Safe SDKs. The following uses Cobo Safe SDKs in Javascript as an example.
Cobo Safe offers SDKs in Python and Javascript.