AllowanceHolder
0x0000000000001ff3684f28c67538d4d072c22734
Verification
Verified
v0.8.25+commit.b61c2a91
Type
Contract
1,009 bytes
ABI entries
3
0 read · 0 write
License
none
Contract information
- Address
- 0x0000000000001ff3684f28c67538d4d072c22734
- Chain
- Robinhood Chain (4663)
- Compiler
- v0.8.25+commit.b61c2a91
- Optimization
- Enabled
- Creator
- 0xE83b9E1e78…A14eB6446c
- Creation tx
- 0xee6f4e548b…7ace133383
Token
Not a token
This contract does not expose ERC-20 metadata.
Read contract (0)
No read functions
The ABI is unavailable or exposes no view functions.
ABI
[
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "ConfusedDeputy",
"type": "error"
},
{
"stateMutability": "payable",
"type": "fallback"
}
]Source code
// SPDX-License-Identifier: MIT
pragma solidity =0.8.25;
import {AllowanceHolderBase} from "./AllowanceHolderBase.sol";
import {TransientStorage} from "./TransientStorage.sol";
/// @custom:security-contact security@0x.org
contract AllowanceHolder is TransientStorage, AllowanceHolderBase {
constructor() {
require(address(this) == 0x0000000000001fF3684f28c67538d4D072C22734 || block.chainid == 31337);
}
/// @inheritdoc AllowanceHolderBase
function exec(address operator, address token, uint256 amount, address payable target, bytes calldata data)
internal
override
returns (bytes memory)
{
(bytes memory result, address sender, TSlot allowance) = _exec(operator, token, amount, target, data);
// EIP-3074 seems unlikely
if (sender != tx.origin) {
_set(allowance, 0);
}
return result;
}
}
Chain explorer2378msChain node97ms