solidity/test/cmdlineTests/standard_optimizer_generatedSources/output.json

44 lines
17 KiB
JSON
Raw Normal View History

{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":"<BYTECODE REMOVED>"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1445:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:1"},"nodeType":"YulFunctionCall","src":"66:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:1"},"nodeType":"YulFunctionCall","src":"56:31:1"},"nodeType":"YulExpressionStatement","src":"56:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:1"},"nodeType":"YulFunctionCall","src":"96:15:1"},"nodeType":"YulExpressionStatement","src":"96:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:1"},"nodeType":"YulFunctionCall","src":"120:15:1"},"nodeType":"YulExpressionStatement","src":"120:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:1"},{"body":{"nodeType":"YulBlock","src":"241:1020:1","statements":[{"nodeType":"YulVariableDeclaration","src":"251:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"261:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"255:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"308:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:1"},"nodeType":"YulFunctionCall","src":"310:12:1"},"nodeType":"YulExpressionStatement","src":"310:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"283:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"292:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"279:3:1"},"nodeType":"YulFunctionCall","src":"279:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"304:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"275:3:1"},"nodeType":"YulFunctionCall","src":"275:32:1"},"nodeType":"YulIf","src":"272:52:1"},{"nodeType":"YulVariableDeclaration","src":"333:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"360:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"347:12:1"},"nodeType":"YulFunctionCall","src":"347:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"337:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"379:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"389:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"383:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"434:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"443:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"446:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"436:6:1"},"nodeType":"YulFunctionCall","src":"436:12:1"},"nodeType":"YulExpressionStatement","src":"436:12:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"422:6:1"},{"name":"_2","nodeType":"YulIdentifier","src
2020-05-28 12:01:07 +00:00
{ }
2021-09-07 16:00:20 +00:00
function panic_error_0x41()
{
mstore(0, shl(224, 0x4e487b71))
mstore(4, 0x41)
revert(0, 0x24)
}
2020-05-28 12:01:07 +00:00
function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0
{
let _1 := 32
2021-04-13 10:08:11 +00:00
if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }
2020-05-28 12:01:07 +00:00
let offset := calldataload(headStart)
let _2 := 0xffffffffffffffff
2021-04-13 10:08:11 +00:00
if gt(offset, _2) { revert(0, 0) }
2020-05-28 12:01:07 +00:00
let _3 := add(headStart, offset)
2021-04-13 10:08:11 +00:00
if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }
let _4 := calldataload(_3)
if gt(_4, _2) { panic_error_0x41() }
2021-03-11 11:17:50 +00:00
let _5 := shl(5, _4)
let memPtr := mload(64)
let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))
if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }
mstore(64, newFreePtr)
let dst := memPtr
mstore(memPtr, _4)
dst := add(memPtr, _1)
let srcEnd := add(add(_3, _5), _1)
if gt(srcEnd, dataEnd) { revert(0, 0) }
2020-05-28 12:01:07 +00:00
let src := add(_3, _1)
for { } lt(src, srcEnd) { src := add(src, _1) }
2020-05-28 12:01:07 +00:00
{
mstore(dst, calldataload(src))
dst := add(dst, _1)
}
value0 := memPtr
2020-05-28 12:01:07 +00:00
}
function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail
{
tail := add(headStart, 32)
mstore(headStart, value0)
}
}","id":1,"language":"Yul","name":"#utility.yul"}]}}}}},"sources":{"a.sol":{"id":0}}}