tbtc - Values may contain dirty lower-order bits  Pending
`FundingScript` and `RedemptionScript` use `mload` to cast the first bytes of a byte array to `bytes4`. Because `mload` deals with 32-byte chunks, the resulting `bytes4` value may contain dirty lower-order bits.\\nFundingScript.receiveApproval:\\n```\\n// Verify \\_extraData is a call to unqualifiedDepositToTbtc.\\nbytes4 functionSignature;\\nassembly { functionSignature := mload(add(\\_extraData, 0x20)) }\\nrequire(\\n    functionSignature == vendingMachine.unqualifiedDepositToTbtc.selector,\\n    "Bad \\_extraData signature. Call must be to unqualifiedDepositToTbtc."\\n);\\n```\\n\\nRedemptionScript.receiveApproval:\\n```\\n// Verify \\_extraData is a call to tbtcToBtc.\\nbytes4 functionSignature;\\nassembly { functionSignature := mload(add(\\_extraData, 0x20)) }\\nrequire(\\n    functionSignature == vendingMachine.tbtcToBtc.selector,\\n    "Bad \\_extraData signature. Call must be to tbtcToBtc."\\n);\\n```\\n
Solidity truncates these unneeded bytes in the subsequent comparison operations, so there is no action required. However, this is good to keep in mind if these values are ever used for anything outside of strict comparison.
```\\n// Verify \\_extraData is a call to unqualifiedDepositToTbtc.\\nbytes4 functionSignature;\\nassembly { functionSignature := mload(add(\\_extraData, 0x20)) }\\nrequire(\\n    functionSignature == vendingMachine.unqualifiedDepositToTbtc.selector,\\n    "Bad \\_extraData signature. Call must be to unqualifiedDepositToTbtc."\\n);\\n```\\n