aibc
Version:
AIBC contract to mint NFTs
1,016 lines (1,015 loc) • 985 kB
JSON
{
"contractName": "CommunityContract",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "getCountOfTotalTokensOwned",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
},
{
"inputs": [
{
"internalType": "address",
"name": "addr1",
"type": "address"
}
],
"name": "getSymbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"constant": true
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getCountOfTotalTokensOwned\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr1\",\"type\":\"address\"}],\"name\":\"getSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/F/Assignment/aibcccc/AIBC/contracts/CommunityContract.sol\":\"CommunityContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/F/Assignment/aibcccc/AIBC/contracts/CommunityContract.sol\":{\"keccak256\":\"0xdb3d3cdf782bd48ae3afe1e9e3928f7c1d6af9ad20cad1bddfdac07e493e627c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dfec2d79454d8d8fec72ce5b5ad3b0a1550e3a44916372b4ba35853c7116008b\",\"dweb:/ipfs/Qme3inDHSEvZanQNEVevu2YL4SC9GToRmX3EsufgcJmSdx\"]},\"/F/Assignment/aibcccc/AIBC/contracts/GenesisContract.sol\":{\"keccak256\":\"0x995e65aa8e960974ebf4c61793aede5f9ae27ae31fbb28f33c2a20621a4690a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8164150228a476ef2579926531d3e5737f2b58737e9b68a04f700b56e0e90fb\",\"dweb:/ipfs/QmYi1mpyzSNEURQXJgTb4hmMPAMi6e1zZoDYjzfUNCSREC\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x8d1cabca557cb77d97d801d674f0dacc33659e1430cdd34f91ae5d033fc3d93f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://379879e94763b61c652f914da987a603fb1fec35645a1d6b8022413cf1c3a467\",\"dweb:/ipfs/QmVkFoHVN6XWztbJDHrWfMCRPV4QsbFGj6QPZYeMjQRfhr\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xc1c941ad1e580b4623007305921efe2f26fc7320a4edc226234dd707c658a428\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://473e11d739868e0d9f48254ccf84ba63290d6a2321d59a37b74c244a27f9cad7\",\"dweb:/ipfs/QmUGzDmecP936jzgM7SYyGwR1YgBGsveoHHJTbDfB8jbGF\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x96877bb2eb8ca360e949ee1bd77b47a14e92e42f79897c350f088f87a3c231d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48593d699a4ef6b5bd2efb20d37320e69303fd27d4b59a2b6b8a8e563e608456\",\"dweb:/ipfs/QmdAPS8uLrzPJEeFZyJVkwTtaL3KB9jo9wJm1UcoJP55wT\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0xd03f5c3d258a9b0f751a3246e0802106585561ab5909b808368759364fc786f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89e3562a13d6acd5c6c0ce1c657f1ea1b472878c30a2f88528e721f2d3b4117\",\"dweb:/ipfs/QmToL4MkNtn4BFipo6neazAsXwpcUxxhBBCkA6yVSLUAe9\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xccb7e6475afcb1c5cb13b3fbf1329c10b93620a9b66393388066683915271a78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df5776161e3226ac31bfb919dfe5f42e173a08293fadb4ffa90ffb55e76869d7\",\"dweb:/ipfs/QmXtKfvWj1v6oha8urbnw4RmjSpmQjZsGGqK5qk5trK4nH\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0xb8d11e77eb1ed34a33720edb551d7d6a6b0eee2bfaa40a7024020e1fdf879b16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c583283c838cc624a96a69eaa823fa92ac5294ec88d417e266c09ea091e0ae62\",\"dweb:/ipfs/QmNdzitXaFADaxooWpB4WsckkDyr4j6GQRxBjyKXsvEeXv\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x069b2631bb5b5193a58ccf7a06266c7361bd2c20095667af4402817605627f45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a4c96fafff76deda5697c3c5c98cade6e6e1b178254544c106bf360c079ce4e\",\"dweb:/ipfs/QmXmxubE3jnatFgZuN8ay1VV6hZ8WRmhvUjNpeVjki15HX\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xf930d2df426bfcfc1f7415be724f04081c96f4fb9ec8d0e3a521c07692dface0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc2bfdea0d2562c76fb3c4cf70a86c6ba25c5a30e8f8515c95aafdf8383f8395\",\"dweb:/ipfs/QmTbFya18786ckJfLYUoWau9jBTKfmWnWm5XSViWvB7PXN\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x62d306ff0499a11913bc60b5939eec619509b5c67b30e86ebf8b8bda0b7a7fee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6712ca27a06062db31465b1470e6207553553a9bb0b4358d918b35bdae5b4ffe\",\"dweb:/ipfs/QmZ92pU9DJ3h1qREMFvDQhArSy6fh6zA983NeLFHRs1qKJ\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x456e9b3a2bfe189b5249857f624f4139e59331db518483b456c4e587a20552e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1123c9545decc48a011370ebab4bf53dda98524fa21f9498e68851ba8f0ffc0f\",\"dweb:/ipfs/QmUpgMg8EFDnv87ePKUjXxXpJT3qwHRj9VDNSnRxu7T9sy\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x5718c5df9bd67ac68a796961df938821bb5dc0cd4c6118d77e9145afb187409b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d10e1d9b26042424789246603906ad06143bf9a928f4e99de8b5e3bdc662f549\",\"dweb:/ipfs/Qmejonoaj5MLekPus229rJQHcC6E9dz2xorjHJR84fMfmn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b50610831806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638fd291e21461003b578063c9b2e5221461006b575b600080fd5b61005560048036038101906100509190610490565b61009b565b60405161006291906105e2565b60405180910390f35b6100856004803603810190610080919061043e565b61026f565b60405161009291906105c0565b60405180910390f35b60008083905060008173ffffffffffffffffffffffffffffffffffffffff1663450efe21856040518263ffffffff1660e01b81526004016100dc91906105a5565b60006040518083038186803b1580156100f457600080fd5b505afa158015610108573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061013191906104cc565b90506000805b8251811015610262578373ffffffffffffffffffffffffffffffffffffffff16636352211e848381518110610195577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516040518263ffffffff1660e01b81526004016101b991906105e2565b60206040518083038186803b1580156101d157600080fd5b505afa1580156101e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102099190610467565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146102405761024f565b818061024b90610715565b9250505b808061025a90610715565b915050610137565b5080935050505092915050565b606060008290508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102bc57600080fd5b505afa1580156102d0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102f9919061050d565b915050919050565b600061031461030f8461062e565b6105fd565b9050808382526020820190508285602086028201111561033357600080fd5b60005b8581101561036357816103498882610429565b845260208401935060208301925050600181019050610336565b5050509392505050565b600061038061037b8461065a565b6105fd565b90508281526020810184848401111561039857600080fd5b6103a38482856106e2565b509392505050565b6000813590506103ba816107cd565b92915050565b6000815190506103cf816107cd565b92915050565b600082601f8301126103e657600080fd5b81516103f6848260208601610301565b91505092915050565b600082601f83011261041057600080fd5b815161042084826020860161036d565b91505092915050565b600081519050610438816107e4565b92915050565b60006020828403121561045057600080fd5b600061045e848285016103ab565b91505092915050565b60006020828403121561047957600080fd5b6000610487848285016103c0565b91505092915050565b600080604083850312156104a357600080fd5b60006104b1858286016103ab565b92505060206104c2858286016103ab565b9150509250929050565b6000602082840312156104de57600080fd5b600082015167ffffffffffffffff8111156104f857600080fd5b610504848285016103d5565b91505092915050565b60006020828403121561051f57600080fd5b600082015167ffffffffffffffff81111561053957600080fd5b610545848285016103ff565b91505092915050565b610557816106a6565b82525050565b60006105688261068a565b6105728185610695565b93506105828185602086016106e2565b61058b816107bc565b840191505092915050565b61059f816106d8565b82525050565b60006020820190506105ba600083018461054e565b92915050565b600060208201905081810360008301526105da818461055d565b905092915050565b60006020820190506105f76000830184610596565b92915050565b6000604051905081810181811067ffffffffffffffff821117156106245761062361078d565b5b8060405250919050565b600067ffffffffffffffff8211156106495761064861078d565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156106755761067461078d565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006106b1826106b8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156107005780820151818401526020810190506106e5565b8381111561070f576000848401525b50505050565b6000610720826106d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156107535761075261075e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b6107d6816106a6565b81146107e157600080fd5b50565b6107ed816106d8565b81146107f857600080fd5b5056fea26469706673582212206dc7f43dae4a67dcc119ed4806254a3d7c418cf5c94aa57cf4a8d5576833c4d364736f6c63430008000033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80638fd291e21461003b578063c9b2e5221461006b575b600080fd5b61005560048036038101906100509190610490565b61009b565b60405161006291906105e2565b60405180910390f35b6100856004803603810190610080919061043e565b61026f565b60405161009291906105c0565b60405180910390f35b60008083905060008173ffffffffffffffffffffffffffffffffffffffff1663450efe21856040518263ffffffff1660e01b81526004016100dc91906105a5565b60006040518083038186803b1580156100f457600080fd5b505afa158015610108573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061013191906104cc565b90506000805b8251811015610262578373ffffffffffffffffffffffffffffffffffffffff16636352211e848381518110610195577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516040518263ffffffff1660e01b81526004016101b991906105e2565b60206040518083038186803b1580156101d157600080fd5b505afa1580156101e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102099190610467565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146102405761024f565b818061024b90610715565b9250505b808061025a90610715565b915050610137565b5080935050505092915050565b606060008290508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156102bc57600080fd5b505afa1580156102d0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906102f9919061050d565b915050919050565b600061031461030f8461062e565b6105fd565b9050808382526020820190508285602086028201111561033357600080fd5b60005b8581101561036357816103498882610429565b845260208401935060208301925050600181019050610336565b5050509392505050565b600061038061037b8461065a565b6105fd565b90508281526020810184848401111561039857600080fd5b6103a38482856106e2565b509392505050565b6000813590506103ba816107cd565b92915050565b6000815190506103cf816107cd565b92915050565b600082601f8301126103e657600080fd5b81516103f6848260208601610301565b91505092915050565b600082601f83011261041057600080fd5b815161042084826020860161036d565b91505092915050565b600081519050610438816107e4565b92915050565b60006020828403121561045057600080fd5b600061045e848285016103ab565b91505092915050565b60006020828403121561047957600080fd5b6000610487848285016103c0565b91505092915050565b600080604083850312156104a357600080fd5b60006104b1858286016103ab565b92505060206104c2858286016103ab565b9150509250929050565b6000602082840312156104de57600080fd5b600082015167ffffffffffffffff8111156104f857600080fd5b610504848285016103d5565b91505092915050565b60006020828403121561051f57600080fd5b600082015167ffffffffffffffff81111561053957600080fd5b610545848285016103ff565b91505092915050565b610557816106a6565b82525050565b60006105688261068a565b6105728185610695565b93506105828185602086016106e2565b61058b816107bc565b840191505092915050565b61059f816106d8565b82525050565b60006020820190506105ba600083018461054e565b92915050565b600060208201905081810360008301526105da818461055d565b905092915050565b60006020820190506105f76000830184610596565b92915050565b6000604051905081810181811067ffffffffffffffff821117156106245761062361078d565b5b8060405250919050565b600067ffffffffffffffff8211156106495761064861078d565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156106755761067461078d565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006106b1826106b8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156107005780820151818401526020810190506106e5565b8381111561070f576000848401525b50505050565b6000610720826106d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156107535761075261075e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b6107d6816106a6565b81146107e157600080fd5b50565b6107ed816106d8565b81146107f857600080fd5b5056fea26469706673582212206dc7f43dae4a67dcc119ed4806254a3d7c418cf5c94aa57cf4a8d5576833c4d364736f6c63430008000033",
"immutableReferences": {},
"generatedSources": [],
"deployedGeneratedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8137:17",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "137:531:17",
"statements": [
{
"nodeType": "YulAssignment",
"src": "147:89:17",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "228:6:17"
}
],
"functionName": {
"name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "171:56:17"
},
"nodeType": "YulFunctionCall",
"src": "171:64:17"
}
],
"functionName": {
"name": "allocateMemory",
"nodeType": "YulIdentifier",
"src": "156:14:17"
},
"nodeType": "YulFunctionCall",
"src": "156:80:17"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "147:5:17"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "245:16:17",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "256:5:17"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "249:3:17",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "277:5:17"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "284:6:17"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "270:6:17"
},
"nodeType": "YulFunctionCall",
"src": "270:21:17"
},
"nodeType": "YulExpressionStatement",
"src": "270:21:17"
},
{
"nodeType": "YulAssignment",
"src": "292:23:17",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "303:5:17"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "310:4:17",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "299:3:17"
},
"nodeType": "YulFunctionCall",
"src": "299:16:17"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "292:3:17"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "324:17:17",
"value": {
"name": "offset",
"nodeType": "YulIdentifier",
"src": "335:6:17"
},
"variables": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "328:3:17",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "390:16:17",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "399:1:17",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "402:1:17",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "392:6:17"
},
"nodeType": "YulFunctionCall",
"src": "392:12:17"
},
"nodeType": "YulExpressionStatement",
"src": "392:12:17"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "360:3:17"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "369:6:17"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "377:4:17",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "365:3:17"
},
"nodeType": "YulFunctionCall",
"src": "365:17:17"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "356:3:17"
},
"nodeType": "YulFunctionCall",
"src": "356:27:17"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "385:3:17"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "353:2:17"
},
"nodeType": "YulFunctionCall",
"src": "353:36:17"
},
"nodeType": "YulIf",
"src": "350:2:17"
},
{
"body": {
"nodeType": "YulBlock",
"src": "475:187:17",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "489:21:17",
"value": {
"name": "src",
"nodeType": "YulIdentifier",
"src": "507:3:17"
},
"variables": [
{
"name": "elementPos",
"nodeType": "YulTypedName",
"src": "493:10:17",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "530:3:17"
},
{
"arguments": [
{
"name": "elementPos",
"nodeType": "YulIdentifier",
"src": "567:10:17"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "579:3:17"
}
],
"functionName": {
"name": "abi_decode_t_uint256_fromMemory",
"nodeType": "YulIdentifier",
"src": "535:31:17"
},
"nodeType": "YulFunctionCall",
"src": "535:48:17"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "523:6:17"
},
"nodeType": "YulFunctionCall",
"src": "523:61:17"
},
"nodeType": "YulExpressionStatement",
"src": "523:61:17"
},
{
"nodeType": "YulAssignment",
"src": "597:21:17",
"value": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "608:3:17"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "613:4:17",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "604:3:17"
},
"nodeType": "YulFunctionCall",
"src": "604:14:17"
},
"variableNames": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "597:3:17"
}
]
},
{
"nodeType": "YulAssignment",
"src": "631:21:17",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "642:3:17"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "647:4:17",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "638:3:17"
},
"nodeType": "YulFunctionCall",
"src": "638:14:17"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "631:3:17"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "437:1:17"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "440:6:17"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "434:2:17"
},
"nodeType": "YulFunctionCall",
"src": "434:13:17"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "448:18:17",
"statements": [
{
"nodeType": "YulAssignment",
"src": "450:14:17",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "459:1:17"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "462:1:17",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "455:3:17"
},
"nodeType": "YulFunctionCall",
"src": "455:9:17"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "450:1:17"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "419:14:17",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "421:10:17",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "430:1:17",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "425:1:17",
"type": ""
}
]
}
]
},
"src": "415:247:17"
}
]
},
"name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "107:6:17",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "115:6:17",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "123:3:17",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "131:5:17",
"type": ""
}
],
"src": "24:644:17"
},
{
"body": {
"nodeType": "YulBlock",
"src": "769:258:17",
"statements": [
{
"nodeType": "YulAssignment",
"src": "779:74:17",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "845:6:17"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "803:41:17"
},
"nodeType": "YulFunctionCall",
"src": "803:49:17"
}
],
"functionName": {
"name": "allocateMemory",
"nodeType": "YulIdentifier",
"src": "788:14:17"
},
"nodeType": "YulFunctionCall",
"src": "788:65:17"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "779:5:17"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "869:5:17"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "876:6:17"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "862:6:17"
},
"nodeType": "YulFunctionCall",
"src": "862:21:17"
},
"nodeType": "YulExpressionStatement",
"src": "862:21:17"
},
{
"nodeType": "YulVariableDeclaration",
"src": "892:27:17",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "907:5:17"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "914:4:17",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "903:3:17"
},
"nodeType": "YulFunctionCall",
"src": "903:16:17"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "896:3:17",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "957:16:17",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "966:1:17",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "969:1:17",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "959:6:17"
},
"nodeType": "YulFunctionCall",
"src": "959:12:17"
},
"nodeType": "YulExpressionStatement",
"src": "959:12:17"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "938:3:17"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "943:6:17"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "934:3:17"
},
"nodeType": "YulFunctionCall",
"src": "934:16:17"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "952:3:17"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "931:2:17"
},
"nodeType": "YulFunctionCall",
"src": "931:25:17"
},
"nodeType": "YulIf",
"src": "928:2:17"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1004:3:17"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1009:3:17"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1014:6:17"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "982:21:17"
},
"nodeType": "YulFunctionCall",
"src": "982:39:17"
},
"nodeType": "YulExpressionStatement",
"src": "982:39:17"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "742:3:17",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "747:6:17",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "755:3:17",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "763:5:17",
"type": ""
}
],
"src": "674:353:17"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1085:87:17",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1095:29:17",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1117:6:17"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1104:12:17"
},
"nodeType": "YulFunctionCall",
"src": "1104:20:17"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1095:5:17"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1160:5:17"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "1133:26:17"
},
"nodeType": "YulFunctionCall",
"src": "1133:33:17"
},
"nodeType": "YulExpressionStatement",
"src": "1133:33:17"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1063:6:17",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1071:3:17",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1079:5:17",
"type": ""
}
],
"src": "1033:139:17"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1241:80:17",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1251:22:17",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1266:6:17"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1260:5:17"
},
"nodeType": "YulFunctionCall",
"src": "1260:13:17"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1251:5:17"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1309:5:17"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "1282:26:17"
},
"nodeType": "YulFunctionCall",
"src": "1282:33:17"
},
"nodeType": "YulExpressionStatement",
"src": "1282:33:17"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1219:6:17",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1227:3:17",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1235:5:17",
"type": ""
}
],
"src": "1178:143:17"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1432:230:17",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1481:16:17",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1490:1:17",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1493:1:17",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1483:6:17"
},
"nodeType": "YulFunctionCall",
"src": "1483:12:17"
},
"nodeType": "YulExpressionStatement",
"src": "1483:12:17"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1460:6:17"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1468:4:17",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1456:3:17"
},
"nodeType": "YulFunctionCall",