UNPKG

@bitriel/governance

Version:

On-chain DAO governance for Bitriel Protocol

1,823 lines (1,822 loc) 1.1 MB
{ "deploy": { "VM:-": { "linkReferences": {}, "autoDeployLib": true }, "main:1": { "linkReferences": {}, "autoDeployLib": true }, "ropsten:3": { "linkReferences": {}, "autoDeployLib": true }, "rinkeby:4": { "linkReferences": {}, "autoDeployLib": true }, "kovan:42": { "linkReferences": {}, "autoDeployLib": true }, "görli:5": { "linkReferences": {}, "autoDeployLib": true }, "Custom": { "linkReferences": {}, "autoDeployLib": true } }, "data": { "bytecode": { "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:2938:24", "statements": [ { "nodeType": "YulBlock", "src": "6:3:24", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "154:313:24", "statements": [ { "body": { "nodeType": "YulBlock", "src": "200:26:24", "statements": [ { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "209:6:24" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "217:6:24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "202:6:24" }, "nodeType": "YulFunctionCall", "src": "202:22:24" }, "nodeType": "YulExpressionStatement", "src": "202:22:24" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "175:7:24" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "184:9:24" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "171:3:24" }, "nodeType": "YulFunctionCall", "src": "171:23:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "196:2:24", "type": "", "value": "64" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "167:3:24" }, "nodeType": "YulFunctionCall", "src": "167:32:24" }, "nodeType": "YulIf", "src": "164:2:24" }, { "nodeType": "YulVariableDeclaration", "src": "235:29:24", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "254:9:24" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "248:5:24" }, "nodeType": "YulFunctionCall", "src": "248:16:24" }, "variables": [ { "name": "value", "nodeType": "YulTypedName", "src": "239:5:24", "type": "" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "306:5:24" } ], "functionName": { "name": "validator_revert_contract_IVotes", "nodeType": "YulIdentifier", "src": "273:32:24" }, "nodeType": "YulFunctionCall", "src": "273:39:24" }, "nodeType": "YulExpressionStatement", "src": "273:39:24" }, { "nodeType": "YulAssignment", "src": "321:15:24", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "331:5:24" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "321:6:24" } ] }, { "nodeType": "YulVariableDeclaration", "src": "345:40:24", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "370:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "381:2:24", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "366:3:24" }, "nodeType": "YulFunctionCall", "src": "366:18:24" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "360:5:24" }, "nodeType": "YulFunctionCall", "src": "360:25:24" }, "variables": [ { "name": "value_1", "nodeType": "YulTypedName", "src": "349:7:24", "type": "" } ] }, { "expression": { "arguments": [ { "name": "value_1", "nodeType": "YulIdentifier", "src": "427:7:24" } ], "functionName": { "name": "validator_revert_contract_IVotes", "nodeType": "YulIdentifier", "src": "394:32:24" }, "nodeType": "YulFunctionCall", "src": "394:41:24" }, "nodeType": "YulExpressionStatement", "src": "394:41:24" }, { "nodeType": "YulAssignment", "src": "444:17:24", "value": { "name": "value_1", "nodeType": "YulIdentifier", "src": "454:7:24" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "444:6:24" } ] } ] }, "name": "abi_decode_tuple_t_contract$_IVotes_$4004t_contract$_TimelockController_$2251_fromMemory", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "112:9:24", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "123:7:24", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "135:6:24", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "143:6:24", "type": "" } ], "src": "14:453:24" }, { "body": { "nodeType": "YulBlock", "src": "601:175:24", "statements": [ { "nodeType": "YulAssignment", "src": "611:26:24", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "623:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "634:2:24", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "619:3:24" }, "nodeType": "YulFunctionCall", "src": "619:18:24" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "611:4:24" } ] }, { "nodeType": "YulVariableDeclaration", "src": "646:29:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "664:3:24", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", "src": "669:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "660:3:24" }, "nodeType": "YulFunctionCall", "src": "660:11:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "673:1:24", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "656:3:24" }, "nodeType": "YulFunctionCall", "src": "656:19:24" }, "variables": [ { "name": "_1", "nodeType": "YulTypedName", "src": "650:2:24", "type": "" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "691:9:24" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "706:6:24" }, { "name": "_1", "nodeType": "YulIdentifier", "src": "714:2:24" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "702:3:24" }, "nodeType": "YulFunctionCall", "src": "702:15:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "684:6:24" }, "nodeType": "YulFunctionCall", "src": "684:34:24" }, "nodeType": "YulExpressionStatement", "src": "684:34:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "738:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "749:2:24", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "734:3:24" }, "nodeType": "YulFunctionCall", "src": "734:18:24" }, { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "758:6:24" }, { "name": "_1", "nodeType": "YulIdentifier", "src": "766:2:24" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "754:3:24" }, "nodeType": "YulFunctionCall", "src": "754:15:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "727:6:24" }, "nodeType": "YulFunctionCall", "src": "727:43:24" }, "nodeType": "YulExpressionStatement", "src": "727:43:24" } ] }, "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "562:9:24", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "573:6:24", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "581:6:24", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "592:4:24", "type": "" } ], "src": "472:304:24" }, { "body": { "nodeType": "YulBlock", "src": "994:276:24", "statements": [ { "nodeType": "YulAssignment", "src": "1004:27:24", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1016:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1027:3:24", "type": "", "value": "160" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1012:3:24" }, "nodeType": "YulFunctionCall", "src": "1012:19:24" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "1004:4:24" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1047:9:24" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "1058:6:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1040:6:24" }, "nodeType": "YulFunctionCall", "src": "1040:25:24" }, "nodeType": "YulExpressionStatement", "src": "1040:25:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1085:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1096:2:24", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1081:3:24" }, "nodeType": "YulFunctionCall", "src": "1081:18:24" }, { "name": "value1", "nodeType": "YulIdentifier", "src": "1101:6:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1074:6:24" }, "nodeType": "YulFunctionCall", "src": "1074:34:24" }, "nodeType": "YulExpressionStatement", "src": "1074:34:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1128:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1139:2:24", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1124:3:24" }, "nodeType": "YulFunctionCall", "src": "1124:18:24" }, { "name": "value2", "nodeType": "YulIdentifier", "src": "1144:6:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1117:6:24" }, "nodeType": "YulFunctionCall", "src": "1117:34:24" }, "nodeType": "YulExpressionStatement", "src": "1117:34:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1171:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1182:2:24", "type": "", "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1167:3:24" }, "nodeType": "YulFunctionCall", "src": "1167:18:24" }, { "name": "value3", "nodeType": "YulIdentifier", "src": "1187:6:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1160:6:24" }, "nodeType": "YulFunctionCall", "src": "1160:34:24" }, "nodeType": "YulExpressionStatement", "src": "1160:34:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1214:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1225:3:24", "type": "", "value": "128" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1210:3:24" }, "nodeType": "YulFunctionCall", "src": "1210:19:24" }, { "arguments": [ { "name": "value4", "nodeType": "YulIdentifier", "src": "1235:6:24" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1251:3:24", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1256:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "1247:3:24" }, "nodeType": "YulFunctionCall", "src": "1247:11:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1260:1:24", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "1243:3:24" }, "nodeType": "YulFunctionCall", "src": "1243:19:24" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "1231:3:24" }, "nodeType": "YulFunctionCall", "src": "1231:32:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1203:6:24" }, "nodeType": "YulFunctionCall", "src": "1203:61:24" }, "nodeType": "YulExpressionStatement", "src": "1203:61:24" } ] }, "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "931:9:24", "type": "" }, { "name": "value4", "nodeType": "YulTypedName", "src": "942:6:24", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", "src": "950:6:24", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", "src": "958:6:24", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "966:6:24", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "974:6:24", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "985:4:24", "type": "" } ], "src": "781:489:24" }, { "body": { "nodeType": "YulBlock", "src": "1449:297:24", "statements": [ { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1466:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1477:2:24", "type": "", "value": "32" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1459:6:24" }, "nodeType": "YulFunctionCall", "src": "1459:21:24" }, "nodeType": "YulExpressionStatement", "src": "1459:21:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1500:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1511:2:24", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1496:3:24" }, "nodeType": "YulFunctionCall", "src": "1496:18:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1516:2:24", "type": "", "value": "67" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1489:6:24" }, "nodeType": "YulFunctionCall", "src": "1489:30:24" }, "nodeType": "YulExpressionStatement", "src": "1489:30:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1539:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1550:2:24", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1535:3:24" }, "nodeType": "YulFunctionCall", "src": "1535:18:24" }, { "kind": "string", "nodeType": "YulLiteral", "src": "1555:34:24", "type": "", "value": "GovernorVotesQuorumFraction: quo" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1528:6:24" }, "nodeType": "YulFunctionCall", "src": "1528:62:24" }, "nodeType": "YulExpressionStatement", "src": "1528:62:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1610:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1621:2:24", "type": "", "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1606:3:24" }, "nodeType": "YulFunctionCall", "src": "1606:18:24" }, { "kind": "string", "nodeType": "YulLiteral", "src": "1626:34:24", "type": "", "value": "rumNumerator over quorumDenomina" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1599:6:24" }, "nodeType": "YulFunctionCall", "src": "1599:62:24" }, "nodeType": "YulExpressionStatement", "src": "1599:62:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1681:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1692:3:24", "type": "", "value": "128" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1677:3:24" }, "nodeType": "YulFunctionCall", "src": "1677:19:24" }, { "kind": "string", "nodeType": "YulLiteral", "src": "1698:5:24", "type": "", "value": "tor" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1670:6:24" }, "nodeType": "YulFunctionCall", "src": "1670:34:24" }, "nodeType": "YulExpressionStatement", "src": "1670:34:24" }, { "nodeType": "YulAssignment", "src": "1713:27:24", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1725:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1736:3:24", "type": "", "value": "160" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1721:3:24" }, "nodeType": "YulFunctionCall", "src": "1721:19:24" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "1713:4:24" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_0687f8064c09ccf183090b5092c4485c730072a161487645a7e37b56cef356bb__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "1426:9:24", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "1440:4:24", "type": "" } ], "src": "1275:471:24" }, { "body": { "nodeType": "YulBlock", "src": "1925:229:24", "statements": [ { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1942:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1953:2:24", "type": "", "value": "32" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1935:6:24" }, "nodeType": "YulFunctionCall", "src": "1935:21:24" }, "nodeType": "YulExpressionStatement", "src": "1935:21:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1976:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1987:2:24", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1972:3:24" }, "nodeType": "YulFunctionCall", "src": "1972:18:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1992:2:24", "type": "", "value": "39" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1965:6:24" }, "nodeType": "YulFunctionCall", "src": "1965:30:24" }, "nodeType": "YulExpressionStatement", "src": "1965:30:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2015:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2026:2:24", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2011:3:24" }, "nodeType": "YulFunctionCall", "src": "2011:18:24" }, { "kind": "string", "nodeType": "YulLiteral", "src": "2031:34:24", "type": "", "value": "GovernorSettings: voting period " } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2004:6:24" }, "nodeType": "YulFunctionCall", "src": "2004:62:24" }, "nodeType": "YulExpressionStatement", "src": "2004:62:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2086:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2097:2:24", "type": "", "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2082:3:24" }, "nodeType": "YulFunctionCall", "src": "2082:18:24" }, { "kind": "string", "nodeType": "YulLiteral", "src": "2102:9:24", "type": "", "value": "too low" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2075:6:24" }, "nodeType": "YulFunctionCall", "src": "2075:37:24" }, "nodeType": "YulExpressionStatement", "src": "2075:37:24" }, { "nodeType": "YulAssignment", "src": "2121:27:24", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2133:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2144:3:24", "type": "", "value": "128" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2129:3:24" }, "nodeType": "YulFunctionCall", "src": "2129:19:24" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2121:4:24" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_3f314603cb191f371d117be724372820f824fc7fbb608c5408b31620bafe9a83__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "1902:9:24", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "1916:4:24", "type": "" } ], "src": "1751:403:24" }, { "body": { "nodeType": "YulBlock", "src": "2288:119:24", "statements": [ { "nodeType": "YulAssignment", "src": "2298:26:24", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2310:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2321:2:24", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2306:3:24" }, "nodeType": "YulFunctionCall", "src": "2306:18:24" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2298:4:24" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2340:9:24" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "2351:6:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2333:6:24" }, "nodeType": "YulFunctionCall", "src": "2333:25:24" }, "nodeType": "YulExpressionStatement", "src": "2333:25:24" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2378:9:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2389:2:24", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2374:3:24" }, "nodeType": "YulFunctionCall", "src": "2374:18:24" }, { "name": "value1", "nodeType": "YulIdentifier", "src": "2394:6:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2367:6:24" }, "nodeType": "YulFunctionCall", "src": "2367:34:24" }, "nodeType": "YulExpressionStatement", "src": "2367:34:24" } ] }, "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "2249:9:24", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "2260:6:24", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "2268:6:24", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "2279:4:24", "type": "" } ], "src": "2159:248:24" }, { "body": { "nodeType": "YulBlock", "src": "2467:325:24", "statements": [ { "nodeType": "YulAssignment", "src": "2477:22:24", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2491:1:24", "type": "", "value": "1" }, { "name": "data", "nodeType": "YulIdentifier", "src": "2494:4:24" } ], "functionName": { "name": "shr", "nodeType": "YulIdentifier", "src": "2487:3:24" }, "nodeType": "YulFunctionCall", "src": "2487:12:24" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", "src": "2477:6:24" } ] }, { "nodeType": "YulVariableDeclaration", "src": "2508:38:24", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", "src": "2538:4:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2544:1:24", "type": "", "value": "1" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "2534:3:24" }, "nodeType": "YulFunctionCall", "src": "2534:12:24" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", "src": "2512:18:24", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "2585:31:24", "statements": [ { "nodeType": "YulAssignment", "src": "2587:27:24", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", "src": "2601:6:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2609:4:24", "type": "", "value": "0x7f" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "2597:3:24" }, "nodeType": "YulFunctionCall", "src": "2597:17:24" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", "src": "2587:6:24" } ] } ] }, "condition": { "arguments": [ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", "src": "2565:18:24" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "2558:6:24" }, "nodeType": "YulFunctionCall", "src": "2558:26:24" }, "nodeType": "YulIf", "src": "2555:2:24" }, { "body": { "nodeType": "YulBlock", "src": "2675:111:24", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2696:1:24", "type": "", "value": "0" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2703:3:24", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2708:10:24", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "2699:3:24" }, "nodeType": "YulFunctionCall", "src": "2699:20:24" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2689:6:24" }, "nodeType": "YulFunctionCall", "src": "2689:31:24" }, "nodeType": "YulExpressionStatement", "src": "2689:31:24" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2740:1:24", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2743:4:24", "type": "", "value": "0x22" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2733:6:24" }, "nodeType": "YulFunctionCall", "src": "2733:15:24" }, "nodeType": "YulExpressionStatement", "src": "2733:15:24" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2768:1:24", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2771:4:24", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2761:6:24" }, "nodeType": "YulFunctionCall", "src": "2761:15:24" }, "nodeType": "YulExpressionStatement", "src": "2761:15:24" } ] }, "condition": { "arguments": [ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", "src": "2631:18:24" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", "src": "2654:6:24" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2662:2:24", "type": "", "value": "32" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "2651:2:24" }, "nodeType": "YulFunctionCall", "src": "2651:14:24" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "2628:2:24" }, "nodeType": "YulFunctionCall", "src": "2628:38:24" }, "nodeType": "YulIf", "src": "2625:2:24" } ] }, "name": "extract_byte_array_length", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", "nodeType": "YulTypedName", "src": "2447:4:24", "type": "" } ], "returnVariables": [ { "name": "length", "nodeType": "YulTypedName", "src": "2456:6:24", "type": "" } ], "src": "2412:380:24" }, { "body": { "nodeType": "YulBlock", "src": "2850:86:24", "statements": [ { "body": {