Function: pullFromAccount(address account, address token, uint256 amount)
This function allows a trusted market contract created by the owner of the contract using the createMarket function to transfer tokens from the account.
Inputs
accountControl: Full control.
Constraints: N/A.
Impact: The account address from which tokens will be transferred to this contract.
tokenControl: Full control.
Constraints: The balance of the account and allowance should be sufficient.
Impact: The token address that will be transferred to this contract.
amountControl: Full control.
Constraints: The balance of the account and allowance should be sufficient.
Impact: The amount of tokens that will be transferred to this contract.
Branches and code coverage
Intended branches
Tokens have been successfully transferred.
Negative behavior
The caller is not a trusted market.
The allowance is not enough.
The account balance is not enough.
Function call analysis
SafeTransferLib.safeTransferFrom(token, account, address(this), amount)What is controllable?
token,account, andamount.If the return value is controllable, how is it used and how can it go wrong? This function does not return a value.
What happens if it reverts, reenters or does other unusual control flow? Transfers
amountoftokensfrom theaccountto this contract.