Files
assetxContracts/out/Proxy.sol/Proxy.json
2025-12-23 14:05:41 +08:00

1 line
14 KiB
JSON

{"abi":[{"type":"fallback","stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/=node_modules/@ensdomains/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"fallback"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ensdomains/=node_modules/@ensdomains/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":"Proxy"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/proxy/Proxy.sol","id":12561,"exportedSymbols":{"Proxy":[12560]},"nodeType":"SourceUnit","src":"99:2571:40","nodes":[{"id":12526,"nodeType":"PragmaDirective","src":"99:24:40","nodes":[],"literals":["solidity","^","0.8",".20"]},{"id":12560,"nodeType":"ContractDefinition","src":"724:1945:40","nodes":[{"id":12535,"nodeType":"FunctionDefinition","src":"949:895:40","nodes":[],"body":{"id":12534,"nodeType":"Block","src":"1009:835:40","nodes":[],"statements":[{"AST":{"nativeSrc":"1028:810:40","nodeType":"YulBlock","src":"1028:810:40","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1281:1:40","nodeType":"YulLiteral","src":"1281:1:40","type":"","value":"0"},{"kind":"number","nativeSrc":"1284:1:40","nodeType":"YulLiteral","src":"1284:1:40","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nativeSrc":"1287:12:40","nodeType":"YulIdentifier","src":"1287:12:40"},"nativeSrc":"1287:14:40","nodeType":"YulFunctionCall","src":"1287:14:40"}],"functionName":{"name":"calldatacopy","nativeSrc":"1268:12:40","nodeType":"YulIdentifier","src":"1268:12:40"},"nativeSrc":"1268:34:40","nodeType":"YulFunctionCall","src":"1268:34:40"},"nativeSrc":"1268:34:40","nodeType":"YulExpressionStatement","src":"1268:34:40"},{"nativeSrc":"1429:74:40","nodeType":"YulVariableDeclaration","src":"1429:74:40","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1456:3:40","nodeType":"YulIdentifier","src":"1456:3:40"},"nativeSrc":"1456:5:40","nodeType":"YulFunctionCall","src":"1456:5:40"},{"name":"implementation","nativeSrc":"1463:14:40","nodeType":"YulIdentifier","src":"1463:14:40"},{"kind":"number","nativeSrc":"1479:1:40","nodeType":"YulLiteral","src":"1479:1:40","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nativeSrc":"1482:12:40","nodeType":"YulIdentifier","src":"1482:12:40"},"nativeSrc":"1482:14:40","nodeType":"YulFunctionCall","src":"1482:14:40"},{"kind":"number","nativeSrc":"1498:1:40","nodeType":"YulLiteral","src":"1498:1:40","type":"","value":"0"},{"kind":"number","nativeSrc":"1501:1:40","nodeType":"YulLiteral","src":"1501:1:40","type":"","value":"0"}],"functionName":{"name":"delegatecall","nativeSrc":"1443:12:40","nodeType":"YulIdentifier","src":"1443:12:40"},"nativeSrc":"1443:60:40","nodeType":"YulFunctionCall","src":"1443:60:40"},"variables":[{"name":"result","nativeSrc":"1433:6:40","nodeType":"YulTypedName","src":"1433:6:40","type":""}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1571:1:40","nodeType":"YulLiteral","src":"1571:1:40","type":"","value":"0"},{"kind":"number","nativeSrc":"1574:1:40","nodeType":"YulLiteral","src":"1574:1:40","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"1577:14:40","nodeType":"YulIdentifier","src":"1577:14:40"},"nativeSrc":"1577:16:40","nodeType":"YulFunctionCall","src":"1577:16:40"}],"functionName":{"name":"returndatacopy","nativeSrc":"1556:14:40","nodeType":"YulIdentifier","src":"1556:14:40"},"nativeSrc":"1556:38:40","nodeType":"YulFunctionCall","src":"1556:38:40"},"nativeSrc":"1556:38:40","nodeType":"YulExpressionStatement","src":"1556:38:40"},{"cases":[{"body":{"nativeSrc":"1689:59:40","nodeType":"YulBlock","src":"1689:59:40","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1714:1:40","nodeType":"YulLiteral","src":"1714:1:40","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"1717:14:40","nodeType":"YulIdentifier","src":"1717:14:40"},"nativeSrc":"1717:16:40","nodeType":"YulFunctionCall","src":"1717:16:40"}],"functionName":{"name":"revert","nativeSrc":"1707:6:40","nodeType":"YulIdentifier","src":"1707:6:40"},"nativeSrc":"1707:27:40","nodeType":"YulFunctionCall","src":"1707:27:40"},"nativeSrc":"1707:27:40","nodeType":"YulExpressionStatement","src":"1707:27:40"}]},"nativeSrc":"1682:66:40","nodeType":"YulCase","src":"1682:66:40","value":{"kind":"number","nativeSrc":"1687:1:40","nodeType":"YulLiteral","src":"1687:1:40","type":"","value":"0"}},{"body":{"nativeSrc":"1769:59:40","nodeType":"YulBlock","src":"1769:59:40","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1794:1:40","nodeType":"YulLiteral","src":"1794:1:40","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nativeSrc":"1797:14:40","nodeType":"YulIdentifier","src":"1797:14:40"},"nativeSrc":"1797:16:40","nodeType":"YulFunctionCall","src":"1797:16:40"}],"functionName":{"name":"return","nativeSrc":"1787:6:40","nodeType":"YulIdentifier","src":"1787:6:40"},"nativeSrc":"1787:27:40","nodeType":"YulFunctionCall","src":"1787:27:40"},"nativeSrc":"1787:27:40","nodeType":"YulExpressionStatement","src":"1787:27:40"}]},"nativeSrc":"1761:67:40","nodeType":"YulCase","src":"1761:67:40","value":"default"}],"expression":{"name":"result","nativeSrc":"1615:6:40","nodeType":"YulIdentifier","src":"1615:6:40"},"nativeSrc":"1608:220:40","nodeType":"YulSwitch","src":"1608:220:40"}]},"evmVersion":"prague","externalReferences":[{"declaration":12530,"isOffset":false,"isSlot":false,"src":"1463:14:40","valueSize":1}],"id":12533,"nodeType":"InlineAssembly","src":"1019:819:40"}]},"documentation":{"id":12528,"nodeType":"StructuredDocumentation","src":"754:190:40","text":" @dev Delegates the current call to `implementation`.\n This function does not return to its internal call site, it will return directly to the external caller."},"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"958:9:40","parameters":{"id":12531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12530,"mutability":"mutable","name":"implementation","nameLocation":"976:14:40","nodeType":"VariableDeclaration","scope":12535,"src":"968:22:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12529,"name":"address","nodeType":"ElementaryTypeName","src":"968:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"967:24:40"},"returnParameters":{"id":12532,"nodeType":"ParameterList","parameters":[],"src":"1009:0:40"},"scope":12560,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":12541,"nodeType":"FunctionDefinition","src":"2028:67:40","nodes":[],"documentation":{"id":12536,"nodeType":"StructuredDocumentation","src":"1850:173:40","text":" @dev This is a virtual function that should be overridden so it returns the address to which the fallback\n function and {_fallback} should delegate."},"implemented":false,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"2037:15:40","parameters":{"id":12537,"nodeType":"ParameterList","parameters":[],"src":"2052:2:40"},"returnParameters":{"id":12540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12541,"src":"2086:7:40","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12538,"name":"address","nodeType":"ElementaryTypeName","src":"2086:7:40","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2085:9:40"},"scope":12560,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":12551,"nodeType":"FunctionDefinition","src":"2323:83:40","nodes":[],"body":{"id":12550,"nodeType":"Block","src":"2361:45:40","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":12546,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12541,"src":"2381:15:40","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":12547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2381:17:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12545,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12535,"src":"2371:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":12548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2371:28:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12549,"nodeType":"ExpressionStatement","src":"2371:28:40"}]},"documentation":{"id":12542,"nodeType":"StructuredDocumentation","src":"2101:217:40","text":" @dev Delegates the current call to the address returned by `_implementation()`.\n This function does not return to its internal call site, it will return directly to the external caller."},"implemented":true,"kind":"function","modifiers":[],"name":"_fallback","nameLocation":"2332:9:40","parameters":{"id":12543,"nodeType":"ParameterList","parameters":[],"src":"2341:2:40"},"returnParameters":{"id":12544,"nodeType":"ParameterList","parameters":[],"src":"2361:0:40"},"scope":12560,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":12559,"nodeType":"FunctionDefinition","src":"2603:64:40","nodes":[],"body":{"id":12558,"nodeType":"Block","src":"2639:28:40","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":12555,"name":"_fallback","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12551,"src":"2649:9:40","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":12556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2649:11:40","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12557,"nodeType":"ExpressionStatement","src":"2649:11:40"}]},"documentation":{"id":12552,"nodeType":"StructuredDocumentation","src":"2412:186:40","text":" @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n function in the contract matches the call data."},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":12553,"nodeType":"ParameterList","parameters":[],"src":"2611:2:40"},"returnParameters":{"id":12554,"nodeType":"ParameterList","parameters":[],"src":"2639:0:40"},"scope":12560,"stateMutability":"payable","virtual":true,"visibility":"external"}],"abstract":true,"baseContracts":[],"canonicalName":"Proxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":12527,"nodeType":"StructuredDocumentation","src":"125:598:40","text":" @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n be specified by overriding the virtual {_implementation} function.\n Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n different contract through the {_delegate} function.\n The success and return data of the delegated call will be returned back to the caller of the proxy."},"fullyImplemented":false,"linearizedBaseContracts":[12560],"name":"Proxy","nameLocation":"742:5:40","scope":12561,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":40}