@zjbtest/contracts
Version:
AcalaNetwork Smart Contract library for Solidity
961 lines (960 loc) • 458 kB
JSON
{
"contractName": "StateRent",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "contract_address",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "new_maintainer",
"type": "address"
}
],
"name": "TransferredMaintainer",
"type": "event"
},
{
"inputs": [],
"name": "newContractExtraBytes",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "storageDepositPerByte",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "contract_address",
"type": "address"
}
],
"name": "maintainerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "developerDeposit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "deploymentFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "contract_address",
"type": "address"
},
{
"internalType": "address",
"name": "new_maintainer",
"type": "address"
}
],
"name": "transferMaintainer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"new_maintainer\",\"type\":\"address\"}],\"name\":\"TransferredMaintainer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"deploymentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"developerDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"}],\"name\":\"maintainerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"newContractExtraBytes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storageDepositPerByte\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contract_address\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"new_maintainer\",\"type\":\"address\"}],\"name\":\"transferMaintainer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"deploymentFee()\":{\"details\":\"Returns the const of DeploymentFee.\"},\"developerDeposit()\":{\"details\":\"Returns the const of DeveloperDeposit.\"},\"maintainerOf(address)\":{\"details\":\"Returns the maintainer of the contract.\"},\"newContractExtraBytes()\":{\"details\":\"Returns the const of NewContractExtraBytes.\"},\"storageDepositPerByte()\":{\"details\":\"Returns the const of StorageDepositPerByte.\"},\"transferMaintainer(address,address)\":{\"details\":\"Transfer the maintainer of the contract. Returns a boolean value indicating whether the operation succeeded.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/state_rent/StateRent.sol\":\"StateRent\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/state_rent/IStateRent.sol\":{\"keccak256\":\"0x4090f835c79e9b7018a8fe11686052ece8b8cc019655f2e51e66312b4082036d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://38118d2291be8475d409d5aa139b64565e93b011b6e5978af54aad71dd63ae95\",\"dweb:/ipfs/QmVrSCDMoRvteZgZXb5uuDJdR5UquSNJnqqHX8pAm32r7i\"]},\"/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/state_rent/StateRent.sol\":{\"keccak256\":\"0xcf1a2e63fa8e8eb7f3a81943314c8e9507e6a56960c8c2f153eda08bbce0f111\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://f25c214c5f424336eca67f79612cb48a478339807d22d314911ba3216e07b4b6\",\"dweb:/ipfs/QmaK9qP9R61X5wi1Mt9KMewnNf5LkDfx9eSi9rFk7E7Uei\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50610d69806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306ad13551461006757806368a18855146100975780636e043998146100b5578063a23e8b82146100d3578063cfbd33d7146100f1578063f2cff57f14610121575b600080fd5b610081600480360381019061007c919061097a565b61013f565b60405161008e9190610b72565b60405180910390f35b61009f61026a565b6040516100ac9190610c1f565b60405180910390f35b6100bd610388565b6040516100ca9190610c1f565b60405180910390f35b6100db6104a6565b6040516100e89190610c1f565b60405180910390f35b61010b600480360381019061010691906109cc565b6105c4565b6040516101189190610bc4565b60405180910390f35b61012961081d565b6040516101369190610c1f565b60405180910390f35b600080600061040273ffffffffffffffffffffffffffffffffffffffff168460405160240161016e9190610b72565b6040516020818303038152906040527f06ad1355000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101f89190610b5b565b600060405180830381855afa9150503d8060008114610233576040519150601f19603f3d011682016040523d82523d6000602084013e610238565b606091505b5091509150600082141561024d573d60208201fd5b8080602001905181019061026191906109a3565b92505050919050565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f68a18855000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103189190610b5b565b600060405180830381855afa9150503d8060008114610353576040519150601f19603f3d011682016040523d82523d6000602084013e610358565b606091505b5091509150600082141561036d573d60208201fd5b808060200190518101906103819190610a08565b9250505090565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f6e043998000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104369190610b5b565b600060405180830381855afa9150503d8060008114610471576040519150601f19603f3d011682016040523d82523d6000602084013e610476565b606091505b5091509150600082141561048b573d60208201fd5b8080602001905181019061049f9190610a08565b9250505090565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527fa23e8b82000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105549190610b5b565b600060405180830381855afa9150503d806000811461058f576040519150601f19603f3d011682016040523d82523d6000602084013e610594565b606091505b509150915060008214156105a9573d60208201fd5b808060200190518101906105bd9190610a08565b9250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062c90610bff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c90610bdf565b60405180910390fd5b60008061040273ffffffffffffffffffffffffffffffffffffffff163386866040516024016106d693929190610b8d565b6040516020818303038152906040527fee0d2e12000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107609190610b5b565b6000604051808303816000865af19150503d806000811461079d576040519150601f19603f3d011682016040523d82523d6000602084013e6107a2565b606091505b509150915060008214156107b7573d60208201fd5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f8cee443d7a0c7dbd8a490dab604d0ed84f4138ba66b3dce2f78ed58bb63f56b760405160405180910390a360019250505092915050565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527ff2cff57f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516108cb9190610b5b565b600060405180830381855afa9150503d8060008114610906576040519150601f19603f3d011682016040523d82523d6000602084013e61090b565b606091505b50915091506000821415610920573d60208201fd5b808060200190518101906109349190610a08565b9250505090565b60008135905061094a81610cee565b92915050565b60008151905061095f81610d05565b92915050565b60008151905061097481610d1c565b92915050565b60006020828403121561098c57600080fd5b600061099a8482850161093b565b91505092915050565b6000602082840312156109b557600080fd5b60006109c384828501610950565b91505092915050565b600080604083850312156109df57600080fd5b60006109ed8582860161093b565b92505060206109fe8582860161093b565b9150509250929050565b600060208284031215610a1a57600080fd5b6000610a2884828501610965565b91505092915050565b610a3a81610c61565b82525050565b610a4981610c85565b82525050565b6000610a5a82610c3a565b610a648185610c45565b9350610a74818560208601610cbb565b80840191505092915050565b6000610a8d603183610c50565b91507f537461746552656e743a20746865206e65775f6d61696e7461696e657220697360008301527f20746865207a65726f20616464726573730000000000000000000000000000006020830152604082019050919050565b6000610af3603383610c50565b91507f537461746552656e743a2074686520636f6e74726163745f616464726573732060008301527f697320746865207a65726f2061646472657373000000000000000000000000006020830152604082019050919050565b610b5581610cb1565b82525050565b6000610b678284610a4f565b915081905092915050565b6000602082019050610b876000830184610a31565b92915050565b6000606082019050610ba26000830186610a31565b610baf6020830185610a31565b610bbc6040830184610a31565b949350505050565b6000602082019050610bd96000830184610a40565b92915050565b60006020820190508181036000830152610bf881610a80565b9050919050565b60006020820190508181036000830152610c1881610ae6565b9050919050565b6000602082019050610c346000830184610b4c565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610c6c82610c91565b9050919050565b6000610c7e82610c91565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610cd9578082015181840152602081019050610cbe565b83811115610ce8576000848401525b50505050565b610cf781610c61565b8114610d0257600080fd5b50565b610d0e81610c73565b8114610d1957600080fd5b50565b610d2581610cb1565b8114610d3057600080fd5b5056fea2646970667358221220da49937d105ea88995a72b3faebeba66eb1fcc20b1c5305080492f34af698b0764736f6c63430008000033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806306ad13551461006757806368a18855146100975780636e043998146100b5578063a23e8b82146100d3578063cfbd33d7146100f1578063f2cff57f14610121575b600080fd5b610081600480360381019061007c919061097a565b61013f565b60405161008e9190610b72565b60405180910390f35b61009f61026a565b6040516100ac9190610c1f565b60405180910390f35b6100bd610388565b6040516100ca9190610c1f565b60405180910390f35b6100db6104a6565b6040516100e89190610c1f565b60405180910390f35b61010b600480360381019061010691906109cc565b6105c4565b6040516101189190610bc4565b60405180910390f35b61012961081d565b6040516101369190610c1f565b60405180910390f35b600080600061040273ffffffffffffffffffffffffffffffffffffffff168460405160240161016e9190610b72565b6040516020818303038152906040527f06ad1355000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516101f89190610b5b565b600060405180830381855afa9150503d8060008114610233576040519150601f19603f3d011682016040523d82523d6000602084013e610238565b606091505b5091509150600082141561024d573d60208201fd5b8080602001905181019061026191906109a3565b92505050919050565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f68a18855000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103189190610b5b565b600060405180830381855afa9150503d8060008114610353576040519150601f19603f3d011682016040523d82523d6000602084013e610358565b606091505b5091509150600082141561036d573d60208201fd5b808060200190518101906103819190610a08565b9250505090565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f6e043998000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104369190610b5b565b600060405180830381855afa9150503d8060008114610471576040519150601f19603f3d011682016040523d82523d6000602084013e610476565b606091505b5091509150600082141561048b573d60208201fd5b8080602001905181019061049f9190610a08565b9250505090565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527fa23e8b82000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105549190610b5b565b600060405180830381855afa9150503d806000811461058f576040519150601f19603f3d011682016040523d82523d6000602084013e610594565b606091505b509150915060008214156105a9573d60208201fd5b808060200190518101906105bd9190610a08565b9250505090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062c90610bff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069c90610bdf565b60405180910390fd5b60008061040273ffffffffffffffffffffffffffffffffffffffff163386866040516024016106d693929190610b8d565b6040516020818303038152906040527fee0d2e12000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107609190610b5b565b6000604051808303816000865af19150503d806000811461079d576040519150601f19603f3d011682016040523d82523d6000602084013e6107a2565b606091505b509150915060008214156107b7573d60208201fd5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f8cee443d7a0c7dbd8a490dab604d0ed84f4138ba66b3dce2f78ed58bb63f56b760405160405180910390a360019250505092915050565b600080600061040273ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527ff2cff57f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516108cb9190610b5b565b600060405180830381855afa9150503d8060008114610906576040519150601f19603f3d011682016040523d82523d6000602084013e61090b565b606091505b50915091506000821415610920573d60208201fd5b808060200190518101906109349190610a08565b9250505090565b60008135905061094a81610cee565b92915050565b60008151905061095f81610d05565b92915050565b60008151905061097481610d1c565b92915050565b60006020828403121561098c57600080fd5b600061099a8482850161093b565b91505092915050565b6000602082840312156109b557600080fd5b60006109c384828501610950565b91505092915050565b600080604083850312156109df57600080fd5b60006109ed8582860161093b565b92505060206109fe8582860161093b565b9150509250929050565b600060208284031215610a1a57600080fd5b6000610a2884828501610965565b91505092915050565b610a3a81610c61565b82525050565b610a4981610c85565b82525050565b6000610a5a82610c3a565b610a648185610c45565b9350610a74818560208601610cbb565b80840191505092915050565b6000610a8d603183610c50565b91507f537461746552656e743a20746865206e65775f6d61696e7461696e657220697360008301527f20746865207a65726f20616464726573730000000000000000000000000000006020830152604082019050919050565b6000610af3603383610c50565b91507f537461746552656e743a2074686520636f6e74726163745f616464726573732060008301527f697320746865207a65726f2061646472657373000000000000000000000000006020830152604082019050919050565b610b5581610cb1565b82525050565b6000610b678284610a4f565b915081905092915050565b6000602082019050610b876000830184610a31565b92915050565b6000606082019050610ba26000830186610a31565b610baf6020830185610a31565b610bbc6040830184610a31565b949350505050565b6000602082019050610bd96000830184610a40565b92915050565b60006020820190508181036000830152610bf881610a80565b9050919050565b60006020820190508181036000830152610c1881610ae6565b9050919050565b6000602082019050610c346000830184610b4c565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610c6c82610c91565b9050919050565b6000610c7e82610c91565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610cd9578082015181840152602081019050610cbe565b83811115610ce8576000848401525b50505050565b610cf781610c61565b8114610d0257600080fd5b50565b610d0e81610c73565b8114610d1957600080fd5b50565b610d2581610cb1565b8114610d3057600080fd5b5056fea2646970667358221220da49937d105ea88995a72b3faebeba66eb1fcc20b1c5305080492f34af698b0764736f6c63430008000033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7173:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:20",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:20",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:20"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:20"
},
"nodeType": "YulFunctionCall",
"src": "78:20:20"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:20"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:20"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "107:26:20"
},
"nodeType": "YulFunctionCall",
"src": "107:33:20"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:20"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:20",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:20",
"type": ""
}
],
"src": "7:139:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "223:88:20",
"statements": [
{
"nodeType": "YulAssignment",
"src": "233:22:20",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "248:6:20"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "242:5:20"
},
"nodeType": "YulFunctionCall",
"src": "242:13:20"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "233:5:20"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "299:5:20"
}
],
"functionName": {
"name": "validator_revert_t_address_payable",
"nodeType": "YulIdentifier",
"src": "264:34:20"
},
"nodeType": "YulFunctionCall",
"src": "264:41:20"
},
"nodeType": "YulExpressionStatement",
"src": "264:41:20"
}
]
},
"name": "abi_decode_t_address_payable_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "201:6:20",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "209:3:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "217:5:20",
"type": ""
}
],
"src": "152:159:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "380:80:20",
"statements": [
{
"nodeType": "YulAssignment",
"src": "390:22:20",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "405:6:20"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "399:5:20"
},
"nodeType": "YulFunctionCall",
"src": "399:13:20"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "390:5:20"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "448:5:20"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "421:26:20"
},
"nodeType": "YulFunctionCall",
"src": "421:33:20"
},
"nodeType": "YulExpressionStatement",
"src": "421:33:20"
}
]
},
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "358:6:20",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "366:3:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "374:5:20",
"type": ""
}
],
"src": "317:143:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "532:196:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "578:16:20",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "587:1:20",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "590:1:20",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "580:6:20"
},
"nodeType": "YulFunctionCall",
"src": "580:12:20"
},
"nodeType": "YulExpressionStatement",
"src": "580:12:20"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "553:7:20"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "562:9:20"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "549:3:20"
},
"nodeType": "YulFunctionCall",
"src": "549:23:20"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "574:2:20",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "545:3:20"
},
"nodeType": "YulFunctionCall",
"src": "545:32:20"
},
"nodeType": "YulIf",
"src": "542:2:20"
},
{
"nodeType": "YulBlock",
"src": "604:117:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "619:15:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "633:1:20",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "623:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "648:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "683:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "694:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "679:3:20"
},
"nodeType": "YulFunctionCall",
"src": "679:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "703:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "658:20:20"
},
"nodeType": "YulFunctionCall",
"src": "658:53:20"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "648:6:20"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "502:9:20",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "513:7:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "525:6:20",
"type": ""
}
],
"src": "466:262:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "819:215:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "865:16:20",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "874:1:20",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "877:1:20",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "867:6:20"
},
"nodeType": "YulFunctionCall",
"src": "867:12:20"
},
"nodeType": "YulExpressionStatement",
"src": "867:12:20"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "840:7:20"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "849:9:20"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "836:3:20"
},
"nodeType": "YulFunctionCall",
"src": "836:23:20"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "861:2:20",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "832:3:20"
},
"nodeType": "YulFunctionCall",
"src": "832:32:20"
},
"nodeType": "YulIf",
"src": "829:2:20"
},
{
"nodeType": "YulBlock",
"src": "891:136:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "906:15:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "920:1:20",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "910:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "935:82:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "989:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1000:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "985:3:20"
},
"nodeType": "YulFunctionCall",
"src": "985:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1009:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address_payable_fromMemory",
"nodeType": "YulIdentifier",
"src": "945:39:20"
},
"nodeType": "YulFunctionCall",
"src": "945:72:20"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "935:6:20"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_payable_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "789:9:20",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "800:7:20",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "812:6:20",
"type": ""
}
],
"src": "734:300:20"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1123:324:20",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1169:16:20",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1178:1:20",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1181:1:20",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1171:6:20"
},
"nodeType": "YulFunctionCall",
"src": "1171:12:20"
},
"nodeType": "YulExpressionStatement",
"src": "1171:12:20"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1144:7:20"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1153:9:20"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1140:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1140:23:20"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1165:2:20",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1136:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1136:32:20"
},
"nodeType": "YulIf",
"src": "1133:2:20"
},
{
"nodeType": "YulBlock",
"src": "1195:117:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1210:15:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1224:1:20",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1214:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1239:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1274:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1285:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1270:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1270:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1294:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1249:20:20"
},
"nodeType": "YulFunctionCall",
"src": "1249:53:20"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1239:6:20"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1322:118:20",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1337:16:20",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1351:2:20",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1341:6:20",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1367:63:20",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1402:9:20"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1413:6:20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1398:3:20"
},
"nodeType": "YulFunctionCall",
"src": "1398:22:20"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1422:7:20"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1377:20:20"
},
"nodeType": "YulFunctionCall",
"src": "1377:53:20"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",