generated from z0r0z/zenplate
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathetherscan.json
1 lines (1 loc) · 1.78 KB
/
etherscan.json
1
{"language":"Solidity","sources":{"src/NANI.sol":{"content":"// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity 0.8.25;\n\ncontract NANI {\n address constant DAO = 0xDa000000000000d2885F108500803dfBAaB2f2aA;\n\n function get(bytes4 selector) public view returns (address executor) {\n assembly (\"memory-safe\") {\n executor := sload(selector)\n }\n }\n\n function set(bytes4 selector, address executor) public payable {\n assembly (\"memory-safe\") {\n if iszero(eq(caller(), DAO)) { revert(codesize(), 0x00) }\n sstore(selector, executor)\n }\n }\n\n fallback() external payable {\n assembly (\"memory-safe\") {\n if iszero(calldatasize()) { return(codesize(), 0x00) } // `receive()`.\n calldatacopy(0x00, 0x00, calldatasize())\n if iszero(\n delegatecall(\n gas(),\n /*executor*/\n sload( /*selector*/ shl(224, shr(224, calldataload(0)))),\n 0x00,\n calldatasize(),\n codesize(),\n 0x00\n )\n ) {\n returndatacopy(0x00, 0x00, returndatasize())\n revert(0x00, returndatasize())\n }\n returndatacopy(0x00, 0x00, returndatasize())\n return(0x00, returndatasize())\n }\n }\n}\n"}},"settings":{"remappings":["forge-std/=lib/forge-std/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":9999999},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"cancun","viaIR":false,"libraries":{}}}