Function: mint(Receipt receipt, Signature takerSignature, Signature makerSignature)
Allows owner or account with Minter role to mint eUSD tokens for beneficiary.
Inputs
receiptConstraints:
receipt.order.assetshould be_supportedAssets.Impact: The approved and signed by minter data necessary to mint tokens.
takerSignatureConstraints: There is a check that the
orderhash was signed bybenefactor.Impact: The benefactor signature of the order.
makerSignatureConstraints: There is a check that the
receipthash was signed by Minter.Impact: The minter signature of the receipt.
Branches and code coverage (including function calls)
Intended branches
The expected amount of eUSD was minted for beneficiary.
The assets tokens properly transferred from benefactor to custody addresses.
Negative behavior
The caller is not the Minter or Owner.
Mint the receipt with the same nonce twice.
Function call analysis
_transferCollateral -> token.safeTransferFrom(benefactor, addresses[i], amountToTransfer)External/Internal? External.
Argument control?
benefactor,addresses[i], andamountToTransfer.Impact: Transfer assets tokens from benefactor to custody addresses.
eUSD.mint(receipt.order.beneficiary, receipt.affirmedAmount);External/Internal? External.
Argument control?
receipt.order.beneficiaryandreceipt.affirmedAmount.Impact: Mint
affirmedAmountof eUSD tokens to beneficiary.