@andrekorol/kollateral-contracts
Version:
Kollateral protocol, the flash loan building block
348 lines • 1.38 MB
JSON
{
"contractName": "MockSoloMargin",
"abi": [
{
"inputs": [
{
"internalType": "uint256[]",
"name": "marketIds",
"type": "uint256[]"
},
{
"internalType": "address[]",
"name": "tokenAddresses",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"stateMutability": "payable",
"type": "receive"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
}
],
"internalType": "struct Types.AccountInfo[]",
"name": "accounts",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "enum Types.ActionType",
"name": "actionType",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "accountId",
"type": "uint256"
},
{
"components": [
{
"internalType": "bool",
"name": "sign",
"type": "bool"
},
{
"internalType": "enum Types.AssetDenomination",
"name": "denomination",
"type": "uint8"
},
{
"internalType": "enum Types.AssetReference",
"name": "ref",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"internalType": "struct Types.AssetAmount",
"name": "amount",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "primaryMarketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "secondaryMarketId",
"type": "uint256"
},
{
"internalType": "address",
"name": "otherAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "otherAccountId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Types.ActionArgs[]",
"name": "actions",
"type": "tuple[]"
}
],
"name": "operate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "marketId",
"type": "uint256"
}
],
"name": "getMarketIsClosing",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "closed",
"type": "bool"
}
],
"name": "setClosed",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "marketId",
"type": "uint256"
}
],
"name": "getMarketTokenAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.7.3+commit.9bfce1f6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"marketIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"tokenAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"}],\"name\":\"getMarketIsClosing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"}],\"name\":\"getMarketTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct Types.AccountInfo[]\",\"name\":\"accounts\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum Types.ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"accountId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"sign\",\"type\":\"bool\"},{\"internalType\":\"enum Types.AssetDenomination\",\"name\":\"denomination\",\"type\":\"uint8\"},{\"internalType\":\"enum Types.AssetReference\",\"name\":\"ref\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct Types.AssetAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"primaryMarketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"secondaryMarketId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"otherAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"otherAccountId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Types.ActionArgs[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"operate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"closed\",\"type\":\"bool\"}],\"name\":\"setClosed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/andrekorol/src/kollateral/protocol/contracts/testing/MockSoloMargin.sol\":\"MockSoloMargin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/andrekorol/src/kollateral/protocol/contracts/liquidity/dydx/ICallee.sol\":{\"keccak256\":\"0xa9b64126eb7872118430e6f217903d82fa6be3f7ac240eb744b9313feac2baa4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cf4a6bdd4de3254fef36a4ca761d4b84ae1295dc63351571a13a3e6081ff6598\",\"dweb:/ipfs/Qmf41m5ZHnzt342H6gkWZBXz2XxhqfLa5QrngTsWjH8ZPD\"]},\"/Users/andrekorol/src/kollateral/protocol/contracts/liquidity/dydx/ISoloMargin.sol\":{\"keccak256\":\"0xa84cb90af092bf862ff4f94fa0efef844dbc7f1be6cb10cb698c3e5c23c6c603\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c0abc2f5c91d4a7c5b82fa86c604280bfab8aaee1118da7678aec102de320cda\",\"dweb:/ipfs/QmRUXv3xYQdXZskrfNjNi3S7oYBQud2gSsQ4LLmeEgE9ap\"]},\"/Users/andrekorol/src/kollateral/protocol/contracts/liquidity/dydx/Types.sol\":{\"keccak256\":\"0x6ed571153190f3dd335ef6979ee462c6edbf519b0f5b4ca0d469ac7ed39b9d72\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b9ed752bdc9d722648483115bc6bbc40c6566ba6f3ea6c1a6dea56706dfcdba3\",\"dweb:/ipfs/QmYzqrrEnrL3ALyrQZATiobh696caMHMe1V8GsmtsoVYb2\"]},\"/Users/andrekorol/src/kollateral/protocol/contracts/testing/MockSoloMargin.sol\":{\"keccak256\":\"0xb6939a3823be08ec94538d055243d2741e81a3cebca49c883625cb6ed12e57c1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d077d84e9e2e9298c1a7a2e4beb6199e63147ab46b51fbaa1dfd0e067031ef7f\",\"dweb:/ipfs/QmUhKss5JRj6dTP6vKepkTHeBvRDteK4f5ER8N5PU8eLAA\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xba96bc371ba999f452985a98717cca1e4c4abb598dc038a9a9c3db08129b1ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e50e3f7b6482fb6f598f2e006994a74aa492687daa4b3eee7fd4fb5398ce7f\",\"dweb:/ipfs/QmZudqoPSkA4USLMFsBBmt19dDPZFS8aaAmL5R7pECXu6t\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b50604051620023bc380380620023bc833981810160405281019062000037919062000237565b60005b8251811015620000cb578181815181106200005157fe5b60200260200101516000808584815181106200006957fe5b6020026020010151815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080806001019150506200003a565b506000600160006101000a81548160ff0219169083151502179055505050620003b0565b60008151905062000100816200037c565b92915050565b600082601f8301126200011857600080fd5b81516200012f6200012982620002de565b620002aa565b915081818352602084019350602081019050838560208402820111156200015557600080fd5b60005b838110156200018957816200016e8882620000ef565b84526020840193506020830192505060018101905062000158565b5050505092915050565b600082601f830112620001a557600080fd5b8151620001bc620001b6826200030d565b620002aa565b91508181835260208401935060208101905083856020840282011115620001e257600080fd5b60005b83811015620002165781620001fb888262000220565b845260208401935060208301925050600181019050620001e5565b5050505092915050565b600081519050620002318162000396565b92915050565b600080604083850312156200024b57600080fd5b600083015167ffffffffffffffff8111156200026657600080fd5b620002748582860162000193565b925050602083015167ffffffffffffffff8111156200029257600080fd5b620002a08582860162000106565b9150509250929050565b6000604051905081810181811067ffffffffffffffff82111715620002d457620002d36200037a565b5b8060405250919050565b600067ffffffffffffffff821115620002fc57620002fb6200037a565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156200032b576200032a6200037a565b5b602082029050602081019050919050565b6000620003498262000350565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565bfe5b62000387816200033c565b81146200039357600080fd5b50565b620003a18162000370565b8114620003ad57600080fd5b50565b611ffc80620003c06000396000f3fe6080604052600436106100435760003560e01c806304288dba1461004c578063062bd3e9146100755780635ac7d17c146100b2578063a67a6a45146100ef5761004a565b3661004a57005b005b34801561005857600080fd5b50610073600480360381019061006e919061126d565b610118565b005b34801561008157600080fd5b5061009c600480360381019061009791906112bf565b610135565b6040516100a99190611aba565b60405180910390f35b3480156100be57600080fd5b506100d960048036038101906100d491906112bf565b610171565b6040516100e69190611b8c565b60405180910390f35b3480156100fb57600080fd5b5061011660048036038101906101119190611201565b61018a565b005b80600160006101000a81548160ff02191690831515021790555050565b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600160009054906101000a900460ff169050919050565b60018251146101ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c590611c47565b60405180910390fd5b6003815114610212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020990611d47565b60405180910390fd5b8160008151811061021f57fe5b602002602001015160000151600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160008151811061027857fe5b602002602001015160200151600581905550610292610dc1565b8160008151811061029f57fe5b60200260200101519050806040015160600151600281905550806060015160038190555060001515816040015160000151151514610312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030990611ba7565b60405180910390fd5b6000600181111561031f57fe5b816040015160200151600181111561033357fe5b14610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a90611d67565b60405180910390fd5b6000600181111561038057fe5b816040015160400151600181111561039457fe5b146103d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cb90611d87565b60405180910390fd5b600160088111156103e157fe5b816000015160088111156103f157fe5b14610431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042890611c67565b60405180910390fd5b6000816020015114610478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046f90611bc7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff16146104ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e190611ca7565b60405180910390fd5b6104f2610dc1565b826001815181106104ff57fe5b6020026020010151905060088081111561051557fe5b8160000151600881111561052557fe5b14610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c90611d27565b60405180910390fd5b60008160200151146105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a390611bc7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff161461061e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061590611cc7565b60405180910390fd5b610626610dc1565b8360028151811061063357fe5b60200260200101519050806060015160035414610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90611dc7565b60405180910390fd5b60006106ae6106978560600151610af3565b856040015160600151610b1190919063ffffffff16565b905080826040015160600151146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f190611ce7565b60405180910390fd5b60011515826040015160000151151514610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074090611c87565b60405180910390fd5b6000600181111561075657fe5b826040015160200151600181111561076a57fe5b146107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a190611be7565b60405180910390fd5b600060018111156107b757fe5b82604001516040015160018111156107cb57fe5b1461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611d07565b60405180910390fd5b6000600881111561081857fe5b8260000151600881111561082857fe5b14610868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085f90611da7565b60405180910390fd5b60008260200151146108af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a690611bc7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168260a0015173ffffffffffffffffffffffffffffffffffffffff1614610921576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091890611ca7565b60405180910390fd5b60006109308560600151610b66565b9050610949856060015133876040015160600151610c2a565b503373ffffffffffffffffffffffffffffffffffffffff16638b418713336040518060400160405280600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005548152506040518363ffffffff1660e01b81526004016109d3929190611af0565b600060405180830381600087803b1580156109ed57600080fd5b505af1158015610a01573d6000803e3d6000fd5b50505050610a1d83606001513330866040015160600151610cf4565b506000610a2d8660600151610b66565b9050610a4e610a3f8760600151610af3565b83610b1190919063ffffffff16565b8114610a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8690611c27565b60405180910390fd5b600060028190555060006003819055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006005819055505050505050505050565b600060028210610b04576002610b07565b60015b60ff169050919050565b600080828401905083811015610b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5390611c07565b60405180910390fd5b8091505092915050565b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bd39190611ad5565b60206040518083038186803b158015610beb57600080fd5b505afa158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2391906112e8565b9050919050565b600080600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610c99929190611b63565b602060405180830381600087803b158015610cb357600080fd5b505af1158015610cc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ceb9190611296565b90509392505050565b600080600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b8152600401610d6593929190611b2c565b602060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db79190611296565b9050949350505050565b60405180610100016040528060006008811115610dda57fe5b815260200160008152602001610dee610e2d565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001606081525090565b604051806080016040528060001515815260200160006001811115610e4e57fe5b815260200160006001811115610e6057fe5b8152602001600081525090565b600081359050610e7c81611f51565b92915050565b600082601f830112610e9357600080fd5b8135610ea6610ea182611e18565b611de7565b91508181835260208401935060208101905083856040840282011115610ecb57600080fd5b60005b83811015610efb5781610ee18882611036565b845260208401935060408301925050600181019050610ece565b5050505092915050565b600082601f830112610f1657600080fd5b8135610f29610f2482611e44565b611de7565b9150818183526020840193506020810190508360005b83811015610f6f5781358601610f558882611082565b845260208401935060208301925050600181019050610f3f565b5050505092915050565b600081359050610f8881611f68565b92915050565b600081519050610f9d81611f68565b92915050565b600082601f830112610fb457600080fd5b8135610fc7610fc282611e70565b611de7565b91508082526020830160208301858383011115610fe357600080fd5b610fee838284611f40565b50505092915050565b60008135905061100681611f7f565b92915050565b60008135905061101b81611f8f565b92915050565b60008135905061103081611f9f565b92915050565b60006040828403121561104857600080fd5b6110526040611de7565b9050600061106284828501610e6d565b6000830152506020611076848285016111d7565b60208301525092915050565b6000610160828403121561109557600080fd5b6110a0610100611de7565b905060006110b084828501610ff7565b60008301525060206110c4848285016111d7565b60208301525060406110d884828501611163565b60408301525060c06110ec848285016111d7565b60608301525060e0611100848285016111d7565b60808301525061010061111584828501610e6d565b60a08301525061012061112a848285016111d7565b60c08301525061014082013567ffffffffffffffff81111561114b57600080fd5b61115784828501610fa3565b60e08301525092915050565b60006080828403121561117557600080fd5b61117f6080611de7565b9050600061118f84828501610f79565b60008301525060206111a38482850161100c565b60208301525060406111b784828501611021565b60408301525060606111cb848285016111d7565b60608301525092915050565b6000813590506111e681611faf565b92915050565b6000815190506111fb81611faf565b92915050565b6000806040838503121561121457600080fd5b600083013567ffffffffffffffff81111561122e57600080fd5b61123a85828601610e82565b925050602083013567ffffffffffffffff81111561125757600080fd5b61126385828601610f05565b9150509250929050565b60006020828403121561127f57600080fd5b600061128d84828501610f79565b91505092915050565b6000602082840312156112a857600080fd5b60006112b684828501610f8e565b91505092915050565b6000602082840312156112d157600080fd5b60006112df848285016111d7565b91505092915050565b6000602082840312156112fa57600080fd5b6000611308848285016111ec565b91505092915050565b61131a81611f0a565b82525050565b61132981611ec2565b82525050565b61133881611ec2565b82525050565b61134781611ed4565b82525050565b600061135a602783611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f6177207369676e000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113c0602683611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206d75737420757365206669727374206160008301527f63636f756e7400000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611426602e83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f742064656e6f6d696e6174696f6e0000000000000000000000000000000000006020830152604082019050919050565b600061148c601b83611eb1565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006114cc602883611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20496e636f727265637420656e64696e6760008301527f2062616c616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611532602983611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206163636f756e60008301527f7473206c656e67746800000000000000000000000000000000000000000000006020830152604082019050919050565b6000611598602e83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f617720616374696f6e20747970650000000000000000000000000000000000006020830152604082019050919050565b60006115fe602683611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f74207369676e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611664602483611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206e6f742073656e64696e6720746f207060008301527f726f7879000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116ca602283611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206e6f7420696e766f6b696e672070726f60008301527f78790000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611730602783611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f742076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611796602b83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f74207265666572656e63650000000000000000000000000000000000000000006020830152604082019050919050565b60006117fc602a83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742063616c6c206160008301527f6374696f6e2074797065000000000000000000000000000000000000000000006020830152604082019050919050565b6000611862602883611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f727265637420616374696f6e60008301527f73206c656e6774680000000000000000000000000000000000000000000000006020830152604082019050919050565b60006118c8602f83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f61772064656e6f6d696e6174696f6e00000000000000000000000000000000006020830152604082019050919050565b600061192e602c83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f6177207265666572656e636500000000000000000000000000000000000000006020830152604082019050919050565b6000611994600083611ea0565b9150600082019050919050565b60006119ae602d83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f7420616374696f6e2074797065000000000000000000000000000000000000006020830152604082019050919050565b6000611a14602183611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206d61726b65744964206d69736d61746360008301527f68000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b604082016000820151611a836000850182611320565b506020820151611a966020850182611a9c565b50505050565b611aa581611f00565b82525050565b611ab481611f00565b82525050565b6000602082019050611acf600083018461132f565b92915050565b6000602082019050611aea6000830184611311565b92915050565b6000608082019050611b056000830185611311565b611b126020830184611a6d565b8181036060830152611b2381611987565b90509392505050565b6000606082019050611b41600083018661132f565b611b4e602083018561132f565b611b5b6040830184611aab565b949350505050565b6000604082019050611b78600083018561132f565b611b856020830184611aab565b9392505050565b6000602082019050611ba1600083018461133e565b92915050565b60006020820190508181036000830152611bc08161134d565b9050919050565b60006020820190508181036000830152611be0816113b3565b9050919050565b60006020820190508181036000830152611c0081611419565b9050919050565b60006020820190508181036000830152611c208161147f565b9050919050565b60006020820190508181036000830152611c40816114bf565b9050919050565b60006020820190508181036000830152611c6081611525565b9050919050565b60006020820190508181036000830152611c808161158b565b9050919050565b60006020820190508181036000830152611ca0816115f1565b9050919050565b60006020820190508181036000830152611cc081611657565b9050919050565b60006020820190508181036000830152611ce0816116bd565b9050919050565b60006020820190508181036000830152611d0081611723565b9050919050565b60006020820190508181036000830152611d2081611789565b9050919050565b60006020820190508181036000830152611d40816117ef565b9050919050565b60006020820190508181036000830152611d6081611855565b9050919050565b60006020820190508181036000830152611d80816118bb565b9050919050565b60006020820190508181036000830152611da081611921565b9050919050565b60006020820190508181036000830152611dc0816119a1565b9050919050565b60006020820190508181036000830152611de081611a07565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715611e0e57611e0d611f4f565b5b8060405250919050565b600067ffffffffffffffff821115611e3357611e32611f4f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115611e5f57611e5e611f4f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115611e8b57611e8a611f4f565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611ecd82611ee0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611f1582611f1c565b9050919050565b6000611f2782611f2e565b9050919050565b6000611f3982611ee0565b9050919050565b82818337600083830152505050565bfe5b611f5a81611ec2565b8114611f6557600080fd5b50565b611f7181611ed4565b8114611f7c57600080fd5b50565b60098110611f8c57600080fd5b50565b60028110611f9c57600080fd5b50565b60028110611fac57600080fd5b50565b611fb881611f00565b8114611fc357600080fd5b5056fea2646970667358221220ab2219cdba599ac742fd6f7155a867165942b51621a20148dff89f784af9e47f64736f6c63430007030033",
"deployedBytecode": "0x6080604052600436106100435760003560e01c806304288dba1461004c578063062bd3e9146100755780635ac7d17c146100b2578063a67a6a45146100ef5761004a565b3661004a57005b005b34801561005857600080fd5b50610073600480360381019061006e919061126d565b610118565b005b34801561008157600080fd5b5061009c600480360381019061009791906112bf565b610135565b6040516100a99190611aba565b60405180910390f35b3480156100be57600080fd5b506100d960048036038101906100d491906112bf565b610171565b6040516100e69190611b8c565b60405180910390f35b3480156100fb57600080fd5b5061011660048036038101906101119190611201565b61018a565b005b80600160006101000a81548160ff02191690831515021790555050565b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600160009054906101000a900460ff169050919050565b60018251146101ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c590611c47565b60405180910390fd5b6003815114610212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020990611d47565b60405180910390fd5b8160008151811061021f57fe5b602002602001015160000151600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160008151811061027857fe5b602002602001015160200151600581905550610292610dc1565b8160008151811061029f57fe5b60200260200101519050806040015160600151600281905550806060015160038190555060001515816040015160000151151514610312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030990611ba7565b60405180910390fd5b6000600181111561031f57fe5b816040015160200151600181111561033357fe5b14610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a90611d67565b60405180910390fd5b6000600181111561038057fe5b816040015160400151600181111561039457fe5b146103d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cb90611d87565b60405180910390fd5b600160088111156103e157fe5b816000015160088111156103f157fe5b14610431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042890611c67565b60405180910390fd5b6000816020015114610478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046f90611bc7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff16146104ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e190611ca7565b60405180910390fd5b6104f2610dc1565b826001815181106104ff57fe5b6020026020010151905060088081111561051557fe5b8160000151600881111561052557fe5b14610565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055c90611d27565b60405180910390fd5b60008160200151146105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a390611bc7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff161461061e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061590611cc7565b60405180910390fd5b610626610dc1565b8360028151811061063357fe5b60200260200101519050806060015160035414610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90611dc7565b60405180910390fd5b60006106ae6106978560600151610af3565b856040015160600151610b1190919063ffffffff16565b905080826040015160600151146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f190611ce7565b60405180910390fd5b60011515826040015160000151151514610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074090611c87565b60405180910390fd5b6000600181111561075657fe5b826040015160200151600181111561076a57fe5b146107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a190611be7565b60405180910390fd5b600060018111156107b757fe5b82604001516040015160018111156107cb57fe5b1461080b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080290611d07565b60405180910390fd5b6000600881111561081857fe5b8260000151600881111561082857fe5b14610868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085f90611da7565b60405180910390fd5b60008260200151146108af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a690611bc7565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168260a0015173ffffffffffffffffffffffffffffffffffffffff1614610921576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091890611ca7565b60405180910390fd5b60006109308560600151610b66565b9050610949856060015133876040015160600151610c2a565b503373ffffffffffffffffffffffffffffffffffffffff16638b418713336040518060400160405280600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005548152506040518363ffffffff1660e01b81526004016109d3929190611af0565b600060405180830381600087803b1580156109ed57600080fd5b505af1158015610a01573d6000803e3d6000fd5b50505050610a1d83606001513330866040015160600151610cf4565b506000610a2d8660600151610b66565b9050610a4e610a3f8760600151610af3565b83610b1190919063ffffffff16565b8114610a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8690611c27565b60405180910390fd5b600060028190555060006003819055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006005819055505050505050505050565b600060028210610b04576002610b07565b60015b60ff169050919050565b600080828401905083811015610b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5390611c07565b60405180910390fd5b8091505092915050565b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610bd39190611ad5565b60206040518083038186803b158015610beb57600080fd5b505afa158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2391906112e8565b9050919050565b600080600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401610c99929190611b63565b602060405180830381600087803b158015610cb357600080fd5b505af1158015610cc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ceb9190611296565b90509392505050565b600080600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b8152600401610d6593929190611b2c565b602060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db79190611296565b9050949350505050565b60405180610100016040528060006008811115610dda57fe5b815260200160008152602001610dee610e2d565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001606081525090565b604051806080016040528060001515815260200160006001811115610e4e57fe5b815260200160006001811115610e6057fe5b8152602001600081525090565b600081359050610e7c81611f51565b92915050565b600082601f830112610e9357600080fd5b8135610ea6610ea182611e18565b611de7565b91508181835260208401935060208101905083856040840282011115610ecb57600080fd5b60005b83811015610efb5781610ee18882611036565b845260208401935060408301925050600181019050610ece565b5050505092915050565b600082601f830112610f1657600080fd5b8135610f29610f2482611e44565b611de7565b9150818183526020840193506020810190508360005b83811015610f6f5781358601610f558882611082565b845260208401935060208301925050600181019050610f3f565b5050505092915050565b600081359050610f8881611f68565b92915050565b600081519050610f9d81611f68565b92915050565b600082601f830112610fb457600080fd5b8135610fc7610fc282611e70565b611de7565b91508082526020830160208301858383011115610fe357600080fd5b610fee838284611f40565b50505092915050565b60008135905061100681611f7f565b92915050565b60008135905061101b81611f8f565b92915050565b60008135905061103081611f9f565b92915050565b60006040828403121561104857600080fd5b6110526040611de7565b9050600061106284828501610e6d565b6000830152506020611076848285016111d7565b60208301525092915050565b6000610160828403121561109557600080fd5b6110a0610100611de7565b905060006110b084828501610ff7565b60008301525060206110c4848285016111d7565b60208301525060406110d884828501611163565b60408301525060c06110ec848285016111d7565b60608301525060e0611100848285016111d7565b60808301525061010061111584828501610e6d565b60a08301525061012061112a848285016111d7565b60c08301525061014082013567ffffffffffffffff81111561114b57600080fd5b61115784828501610fa3565b60e08301525092915050565b60006080828403121561117557600080fd5b61117f6080611de7565b9050600061118f84828501610f79565b60008301525060206111a38482850161100c565b60208301525060406111b784828501611021565b60408301525060606111cb848285016111d7565b60608301525092915050565b6000813590506111e681611faf565b92915050565b6000815190506111fb81611faf565b92915050565b6000806040838503121561121457600080fd5b600083013567ffffffffffffffff81111561122e57600080fd5b61123a85828601610e82565b925050602083013567ffffffffffffffff81111561125757600080fd5b61126385828601610f05565b9150509250929050565b60006020828403121561127f57600080fd5b600061128d84828501610f79565b91505092915050565b6000602082840312156112a857600080fd5b60006112b684828501610f8e565b91505092915050565b6000602082840312156112d157600080fd5b60006112df848285016111d7565b91505092915050565b6000602082840312156112fa57600080fd5b6000611308848285016111ec565b91505092915050565b61131a81611f0a565b82525050565b61132981611ec2565b82525050565b61133881611ec2565b82525050565b61134781611ed4565b82525050565b600061135a602783611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f6177207369676e000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006113c0602683611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206d75737420757365206669727374206160008301527f63636f756e7400000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611426602e83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f742064656e6f6d696e6174696f6e0000000000000000000000000000000000006020830152604082019050919050565b600061148c601b83611eb1565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006114cc602883611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20496e636f727265637420656e64696e6760008301527f2062616c616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611532602983611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206163636f756e60008301527f7473206c656e67746800000000000000000000000000000000000000000000006020830152604082019050919050565b6000611598602e83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f617720616374696f6e20747970650000000000000000000000000000000000006020830152604082019050919050565b60006115fe602683611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f74207369676e00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611664602483611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206e6f742073656e64696e6720746f207060008301527f726f7879000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116ca602283611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206e6f7420696e766f6b696e672070726f60008301527f78790000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611730602783611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f742076616c7565000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611796602b83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f74207265666572656e63650000000000000000000000000000000000000000006020830152604082019050919050565b60006117fc602a83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742063616c6c206160008301527f6374696f6e2074797065000000000000000000000000000000000000000000006020830152604082019050919050565b6000611862602883611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f727265637420616374696f6e60008301527f73206c656e6774680000000000000000000000000000000000000000000000006020830152604082019050919050565b60006118c8602f83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f61772064656e6f6d696e6174696f6e00000000000000000000000000000000006020830152604082019050919050565b600061192e602c83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f72726563742077697468647260008301527f6177207265666572656e636500000000000000000000000000000000000000006020830152604082019050919050565b6000611994600083611ea0565b9150600082019050919050565b60006119ae602d83611eb1565b91507f4d6f636b536f6c6f4d617267696e3a20696e636f7272656374206465706f736960008301527f7420616374696f6e2074797065000000000000000000000000000000000000006020830152604082019050919050565b6000611a14602183611eb1565b91507f4d6f636b536f6c6f4d617267696e3a206d61726b65744964206d69736d61746360008301527f68000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b604082016000820151611a836000850182611320565b506020820151611a966020850182611a9c565b50505050565b611aa581611f00565b82525050565b611ab481611f00565b82525050565b6000602082019050611acf600083018461132f565b92915050565b6000602082019050611aea6000830184611311565b92915050565b6000608082019050611b056000830185611311565b611b126020830184611a6d565b8181036060830152611b2381611987565b90509392505050565b6000606082019050611b41600083018661132f565b611b4e602083018561132f565b611b5b6040830184611aab565b949350505050565b6000604082019050611b78600083018561132f565b611b856020830184611aab565b9392505050565b6000602082019050611ba1600083018461133e565b92915050565b60006020820190508181036000830152611bc08161134d565b9050919050565b60006020820190508181036000830152611be0816113b3565b9050919050565b60006020820190508181036000830152611c0081611419565b9050919050565b60006020820190508181036000830152611c208161147f565b9050919050565b60006020820190508181036000830152611c40816114bf565b9050919050565b60006020820190508181036000830152611c6081611525565b9050919050565b60006020820190508181036000830152611c808161158b565b9050919050565b60006020820190508181036000830152611ca0816115f1565b9050919050565b60006020820190508181036000830152611cc081611657565b9050919050565b60006020820190508181036000830152611ce0816116bd565b9050919050565b60006020820190508181036000830152611d0081611723565b9050919050565b60006020820190508181036000830152611d2081611789565b9050919050565b60006020820190508181036000830152611d40816117ef565b9050919050565b60006020820190508181036000830152611d6081611855565b9050919050565b60006020820190508181036000830152611d80816118bb565b9050919050565b60006020820190508181036000830152611da081611921565b9050919050565b60006020820190508181036000830152611dc0816119a1565b9050919050565b60006020820190508181036000830152611de081611a07565b9050919050565b6000604051905081810181811067ffffffffffffffff82111715611e0e57611e0d611f4f565b5b8060405250919050565b600067ffffffffffffffff821115611e3357611e32611f4f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115611e5f57611e5e611f4f565b5b602082029050602081019050919050565b600067ffffffffffffffff821115611e8b57611e8a611f4f565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611ecd82611ee0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611f1582611f1c565b9050919050565b6000611f2782611f2e565b9050919050565b6000611f3982611ee0565b9050919050565b82818337600083830152505050565bfe5b611f5a81611ec2565b8114611f6557600080fd5b50565b611f7181611ed4565b8114611f7c57600080fd5b50565b60098110611f8c57600080fd5b50565b60028110611f9c57600080fd5b50565b60028110611fac57600080fd5b50565b611fb881611f00565b8114611fc357600080fd5b5056fea2646970667358221220ab2219cdba599ac742fd6f7155a867165942b51621a20148dff89f784af9e47f64736f6c63430007030033",
"immutableReferences": {},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:4149:45",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "70:80:45",
"statements": [
{
"nodeType": "YulAssignment",
"src": "80:22:45",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "95:6:45"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "89:5:45"
},
"nodeType": "YulFunctionCall",
"src": "89:13:45"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "80:5:45"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "138:5:45"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "111:26:45"
},
"nodeType": "YulFunctionCall",
"src": "111:33:45"
},
"nodeType": "YulExpressionStatement",
"src": "111:33:45"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "48:6:45",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "56:3:45",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "64:5:45",
"type": ""
}
],
"src": "7:143:45"
},
{
"body": {
"nodeType": "YulBlock",
"src": "261:688:45",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "310:16:45",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "319:1:45",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "322:1:45",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "312:6:45"
},
"nodeType": "YulFunctionCall",
"src": "312:12:45"
},
"nodeType": "YulExpressionStatement",
"src": "312:12:45"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "289:6:45"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "297:4:45",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "285:3:45"
},
"nodeType": "YulFunctionCall",
"src": "285:17:45"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "304:3:45"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "281:3:45"
},
"nodeType": "YulFunctionCall",
"src": "281:27:45"
}
],
"functionName": {
"name": "iszero"