@layerzerolabs/oft-alt-evm
Version:
LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation
1 lines • 33.5 kB
JSON
{"abi":[{"type":"function","name":"decodeLzComposeOption","inputs":[{"name":"_option","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"index","type":"uint16","internalType":"uint16"},{"name":"gas","type":"uint128","internalType":"uint128"},{"name":"value","type":"uint128","internalType":"uint128"}],"stateMutability":"pure"},{"type":"function","name":"decodeLzReadOption","inputs":[{"name":"_option","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"gas","type":"uint128","internalType":"uint128"},{"name":"size","type":"uint32","internalType":"uint32"},{"name":"value","type":"uint128","internalType":"uint128"}],"stateMutability":"pure"},{"type":"function","name":"decodeLzReceiveOption","inputs":[{"name":"_option","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"gas","type":"uint128","internalType":"uint128"},{"name":"value","type":"uint128","internalType":"uint128"}],"stateMutability":"pure"},{"type":"function","name":"decodeNativeDropOption","inputs":[{"name":"_option","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"receiver","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"nextExecutorOption","inputs":[{"name":"_options","type":"bytes","internalType":"bytes"},{"name":"_cursor","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"optionType","type":"uint8","internalType":"uint8"},{"name":"option","type":"bytes","internalType":"bytes"},{"name":"cursor","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"error","name":"Executor_InvalidLzComposeOption","inputs":[]},{"type":"error","name":"Executor_InvalidLzReadOption","inputs":[]},{"type":"error","name":"Executor_InvalidLzReceiveOption","inputs":[]},{"type":"error","name":"Executor_InvalidNativeDropOption","inputs":[]}],"bytecode":{"object":"0x60806040526040516100109061005a565b604051809103905ff080158015610029573d5f803e3d5ffd5b505f80546001600160a01b0319166001600160a01b0392909216919091179055348015610054575f80fd5b50610067565b610aa98061081f83390190565b6107ab806100745f395ff3fe608060405234801561000f575f80fd5b5060043610610064575f3560e01c80639751ca861161004d5780639751ca86146100d6578063b954fdf614610121578063f93e1d611461015c575f80fd5b8063518e8ab0146100685780636e1775e3146100b3575b5f80fd5b61007b61007636600461052a565b610198565b6040805161ffff90941684526fffffffffffffffffffffffffffffffff92831660208501529116908201526060015b60405180910390f35b6100c66100c1366004610569565b6101b2565b6040516100aa94939291906105b1565b6100e96100e436600461052a565b6101d2565b604080516fffffffffffffffffffffffffffffffff948516815263ffffffff90931660208401529216918101919091526060016100aa565b61013461012f36600461052a565b6101df565b604080516fffffffffffffffffffffffffffffffff90931683526020830191909152016100aa565b61016f61016a36600461052a565b6101f7565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016100aa565b5f805f6101a58585610203565b9250925092509250925092565b5f365f806101c187878761028d565b935093509350935093509350935093565b5f805f6101a585856102e2565b5f806101eb8484610363565b915091505b9250929050565b5f806101eb84846103c1565b5f808060128414801590610218575060228414155b1561024f576040517f8b4aa70b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61025a85855f610433565b925061026885856002610459565b915060228414610278575f610284565b61028485856012610459565b90509250925092565b5f368160018401816102a0888884610433565b6002929092019190506102b488888461047f565b94506001820161ffff821683016102cd81838b8d610610565b979b909a50969850505061ffff160193505050565b5f8080601484148015906102f7575060248414155b1561032e576040517fdeb7fe4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033985855f610459565b9250610347858560106104a3565b915060248414610357575f610284565b61028485856014610459565b5f806030831461039f576040517fc3a1858e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103aa84845f610459565b91506103b8848460106104c9565b90509250929050565b5f80601083148015906103d5575060208314155b1561040c576040517f4796aee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61041784845f610459565b915060208314610427575f6103b8565b6103b884846010610459565b5f6002820161044481848688610610565b61044d91610637565b60f01c95945050505050565b5f6010820161046a81848688610610565b6104739161067f565b60801c95945050505050565b5f838383818110610492576104926106c5565b919091013560f81c95945050505050565b5f600482016104b481848688610610565b6104bd916106f2565b60e01c95945050505050565b5f602082016104da81848688610610565b6104e391610738565b95945050505050565b5f8083601f8401126104fc575f80fd5b50813567ffffffffffffffff811115610513575f80fd5b6020830191508360208285010111156101f0575f80fd5b5f806020838503121561053b575f80fd5b823567ffffffffffffffff811115610551575f80fd5b61055d858286016104ec565b90969095509350505050565b5f805f6040848603121561057b575f80fd5b833567ffffffffffffffff811115610591575f80fd5b61059d868287016104ec565b909790965060209590950135949350505050565b60ff8516815260606020820152826060820152828460808301375f608084830101525f60807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905082604083015295945050505050565b5f808585111561061e575f80fd5b8386111561062a575f80fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156106775780818660020360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000081358181169160108510156106775760109490940360031b84901b1690921692915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156106775760049490940360031b84901b1690921692915050565b8035602083101561076f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b9291505056fea264697066735822122001a8db4851c8eadf074ba551253023d1e3ec80e733d488670322e5f7ecf54fba64736f6c63430008160033608060405234801561000f575f80fd5b50610a8c8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063e5c5e9a31461002d575b5f80fd5b61004061003b3660046106f8565b610057565b60405161004e9291906107cf565b60405180910390f35b606080610064848461006f565b915091509250929050565b60608060028310156100b4576040517f6592671c0000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b5f6100c260028286886107fc565b6100cb91610823565b60f01c905060027ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd820161029357805f5b86831015610220575f61011460018501858a8c6107fc565b61011d9161086b565b60f81c90505f81900361015e576040517f6780cfaf0000000000000000000000000000000000000000000000000000000081525f60048201526024016100ab565b8160ff165f03610170578091506101ac565b8160ff168160ff16146101ac57365f61018b86868c8e6107fc565b9150915061019c89898685856102aa565b9099509750859450919250829150505b60018401935f906101c290600301868b8d6107fc565b6101cb91610823565b60f01c90505f81900361020d576040517f6592671c000000000000000000000000000000000000000000000000000000008152600481018690526024016100ab565b8060020161ffff168501945050506100fc565b82871461025c576040517f6592671c000000000000000000000000000000000000000000000000000000008152600481018490526024016100ab565b600287111561028c57365f61027385858b8d6107fc565b9150915061028488888585856102aa565b909850965050505b50506102a1565b61029e82878761041d565b93505b50509250929050565b6060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff86160161034457865115610307578684846040516020016102f3939291906108b1565b60405160208183030381529060405261033d565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505b9650610412565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8616016103db5785511561039e5785848460405160200161038a939291906108b1565b6040516020818303038152906040526103d4565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505b9550610412565b6040517f6780cfaf00000000000000000000000000000000000000000000000000000000815260ff861660048201526024016100ab565b509495939450505050565b60607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff8516016105425760228214610484576040517f0dc652a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6104a46104966022600286886107fc565b61049f916108d7565b61069f565b6040517f0100000000000000000000000000000000000000000000000000000000000000602082018190527e11000000000000000000000000000000000000000000000000000000000000602183015260238201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608083901b166024820152909150603401604051602081830303815290604052915050610698565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe61ffff8516016106605760428211158061057d5750606282115b156105b4576040517fc0927c5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6105c66104966022600286886107fc565b90505f6105da6104966042602287896107fc565b90505f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbe850161060d866042818a6107fc565b610616916108d7565b60405160086020938403029190911c9250610647916001916011918391889183916031916002918b918b9101610914565b6040516020818303038152906040529350505050610698565b6040517f4170513000000000000000000000000000000000000000000000000000000000815261ffff851660048201526024016100ab565b9392505050565b5f6fffffffffffffffffffffffffffffffff8211156106f4576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260806004820152602481018390526044016100ab565b5090565b5f8060208385031215610709575f80fd5b823567ffffffffffffffff80821115610720575f80fd5b818501915085601f830112610733575f80fd5b813581811115610741575f80fd5b866020828501011115610752575f80fd5b60209290920196919550909350505050565b5f5b8381101561077e578181015183820152602001610766565b50505f910152565b5f815180845261079d816020860160208601610764565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081525f6107e16040830185610786565b82810360208401526107f38185610786565b95945050505050565b5f808585111561080a575f80fd5b83861115610816575f80fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156108635780818660020360031b1b83161692505b505092915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156108635760019490940360031b84901b1690921692915050565b5f84516108c2818460208901610764565b8201838582375f930192835250909392505050565b8035602083101561090e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b92915050565b5f7fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1683527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001840152808a60f81b1660038401527fffffffffffffffffffffffffffffffff000000000000000000000000000000008960801b166004840152808860f81b166014840152506109dc601583018760f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b610a0d601783018660f81b7fff00000000000000000000000000000000000000000000000000000000000000169052565b610a3e601883018560801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169052565b5060288101919091526048019897505050505050505056fea26469706673582212204c5336eb5e4cfed89d8f0ececad030c194802d04a3053cab299816b06066820764736f6c63430008160033","sourceMap":"521:5864:75:-:0;;;738:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;710:48:75;;;-1:-1:-1;;;;;;710:48:75;-1:-1:-1;;;;;710:48:75;;;;;;;;;;521:5864;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610064575f3560e01c80639751ca861161004d5780639751ca86146100d6578063b954fdf614610121578063f93e1d611461015c575f80fd5b8063518e8ab0146100685780636e1775e3146100b3575b5f80fd5b61007b61007636600461052a565b610198565b6040805161ffff90941684526fffffffffffffffffffffffffffffffff92831660208501529116908201526060015b60405180910390f35b6100c66100c1366004610569565b6101b2565b6040516100aa94939291906105b1565b6100e96100e436600461052a565b6101d2565b604080516fffffffffffffffffffffffffffffffff948516815263ffffffff90931660208401529216918101919091526060016100aa565b61013461012f36600461052a565b6101df565b604080516fffffffffffffffffffffffffffffffff90931683526020830191909152016100aa565b61016f61016a36600461052a565b6101f7565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016100aa565b5f805f6101a58585610203565b9250925092509250925092565b5f365f806101c187878761028d565b935093509350935093509350935093565b5f805f6101a585856102e2565b5f806101eb8484610363565b915091505b9250929050565b5f806101eb84846103c1565b5f808060128414801590610218575060228414155b1561024f576040517f8b4aa70b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61025a85855f610433565b925061026885856002610459565b915060228414610278575f610284565b61028485856012610459565b90509250925092565b5f368160018401816102a0888884610433565b6002929092019190506102b488888461047f565b94506001820161ffff821683016102cd81838b8d610610565b979b909a50969850505061ffff160193505050565b5f8080601484148015906102f7575060248414155b1561032e576040517fdeb7fe4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033985855f610459565b9250610347858560106104a3565b915060248414610357575f610284565b61028485856014610459565b5f806030831461039f576040517fc3a1858e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103aa84845f610459565b91506103b8848460106104c9565b90509250929050565b5f80601083148015906103d5575060208314155b1561040c576040517f4796aee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61041784845f610459565b915060208314610427575f6103b8565b6103b884846010610459565b5f6002820161044481848688610610565b61044d91610637565b60f01c95945050505050565b5f6010820161046a81848688610610565b6104739161067f565b60801c95945050505050565b5f838383818110610492576104926106c5565b919091013560f81c95945050505050565b5f600482016104b481848688610610565b6104bd916106f2565b60e01c95945050505050565b5f602082016104da81848688610610565b6104e391610738565b95945050505050565b5f8083601f8401126104fc575f80fd5b50813567ffffffffffffffff811115610513575f80fd5b6020830191508360208285010111156101f0575f80fd5b5f806020838503121561053b575f80fd5b823567ffffffffffffffff811115610551575f80fd5b61055d858286016104ec565b90969095509350505050565b5f805f6040848603121561057b575f80fd5b833567ffffffffffffffff811115610591575f80fd5b61059d868287016104ec565b909790965060209590950135949350505050565b60ff8516815260606020820152826060820152828460808301375f608084830101525f60807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f860116830101905082604083015295945050505050565b5f808585111561061e575f80fd5b8386111561062a575f80fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156106775780818660020360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000081358181169160108510156106775760109490940360031b84901b1690921692915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156106775760049490940360031b84901b1690921692915050565b8035602083101561076f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b9291505056fea264697066735822122001a8db4851c8eadf074ba551253023d1e3ec80e733d488670322e5f7ecf54fba64736f6c63430008160033","sourceMap":"521:5864:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5976:204;;;;;;:::i;:::-;;:::i;:::-;;;;1010:6:141;998:19;;;980:38;;1037:34;1107:15;;;1102:2;1087:18;;1080:43;1159:15;;1139:18;;;1132:43;968:2;953:18;5976:204:75;;;;;;;;5349:249;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;6186:197::-;;;;;;:::i;:::-;;:::i;:::-;;;;2482:34:141;2543:15;;;2525:34;;2607:10;2595:23;;;2590:2;2575:18;;2568:51;2655:15;;2635:18;;;2628:43;;;;2460:2;2445:18;6186:197:75;2272:405:141;5786:184:75;;;;;;:::i;:::-;;:::i;:::-;;;;2886:34:141;2874:47;;;2856:66;;2953:2;2938:18;;2931:34;;;;2829:18;5786:184:75;2682:289:141;5604:176:75;;;;;;:::i;:::-;;:::i;:::-;;;;3160:34:141;3221:15;;;3203:34;;3273:15;;;;3268:2;3253:18;;3246:43;3123:18;5604:176:75;2976:319:141;5976:204:75;6068:12;6082:11;6095:13;6127:46;6165:7;;6127:37;:46::i;:::-;6120:53;;;;;;5976:204;;;;;:::o;5349:249::-;5464:16;5482:21;;5505:14;5538:53;5573:8;;5583:7;5538:34;:53::i;:::-;5531:60;;;;;;;;5349:249;;;;;;;:::o;6186:197::-;6275:11;6288;6301:13;6333:43;6368:7;;6333:34;:43::i;5786:184::-;5865:14;5881:16;5916:47;5955:7;;5916:38;:47::i;:::-;5909:54;;;;5786:184;;;;;;:::o;5604:176::-;5682:11;5695:13;5727:46;5765:7;;5727:37;:46::i;2697:371:14:-;2789:12;;;2863:2;2845:20;;;;;:44;;-1:-1:-1;2887:2:14;2869:20;;;2845:44;2841:90;;;2898:33;;;;;;;;;;;;;;2841:90;2949:16;:7;;2963:1;2949:13;:16::i;:::-;2941:24;-1:-1:-1;2981:17:14;:7;;2996:1;2981:14;:17::i;:::-;2975:23;-1:-1:-1;3034:2:14;3016:20;;:45;;3060:1;3016:45;;;3039:18;:7;;3054:2;3039:14;:18::i;:::-;3008:53;;2697:371;;;;;:::o;1357:742::-;1472:16;1490:21;1472:16;1612:1;1602:11;;1472:16;1674:22;:8;;1602:11;1674:14;:22::i;:::-;1720:1;1710:11;;;;;1660:36;-1:-1:-1;1781:21:14;:8;;1710:11;1781:13;:21::i;:::-;1768:34;-1:-1:-1;1932:1:14;1923:10;;1987:13;;;;;2023:31;1987:13;1923:10;2023:8;;:31;:::i;:::-;1357:742;;2014:40;;-1:-1:-1;2014:40:14;;-1:-1:-1;;;2068:14:14;;;;-1:-1:-1;;;1357:742:14:o;3074:380::-;3163:11;;;3244:2;3226:20;;;;;:44;;-1:-1:-1;3268:2:14;3250:20;;;3226:44;3222:87;;;3279:30;;;;;;;;;;;;;;3222:87;3325:17;:7;;3340:1;3325:14;:17::i;:::-;3319:23;-1:-1:-1;3367:17:14;:7;;3381:2;3367:13;:17::i;:::-;3352:32;-1:-1:-1;3420:2:14;3402:20;;:45;;3446:1;3402:45;;;3425:18;:7;;3440:2;3425:14;:18::i;2420:271::-;2499:14;;2565:2;2547:20;;2543:67;;2576:34;;;;;;;;;;;;;;2543:67;2629:17;:7;;2644:1;2629:14;:17::i;:::-;2620:26;-1:-1:-1;2667:17:14;:7;;2681:2;2667:13;:17::i;:::-;2656:28;;2420:271;;;;;:::o;2105:309::-;2183:11;;2243:2;2225:20;;;;;:44;;-1:-1:-1;2267:2:14;2249:20;;;2225:44;2221:90;;;2278:33;;;;;;;;;;;;;;2221:90;2327:17;:7;;2342:1;2327:14;:17::i;:::-;2321:23;-1:-1:-1;2380:2:14;2362:20;;:45;;2406:1;2362:45;;;2385:18;:7;;2400:2;2385:14;:18::i;229:215:44:-;306:6;371:1;362:10;;407:18;362:10;:6;407;;:18;:::i;:::-;400:26;;;:::i;:::-;393:34;;;229:215;-1:-1:-1;;;;;229:215:44:o;892:220::-;970:7;1036:2;1027:11;;1075:18;1027:11;:6;1075;;:18;:::i;:::-;1067:27;;;:::i;:::-;1059:36;;;892:220;-1:-1:-1;;;;;892:220:44:o;95:128::-;171:5;201:6;;208;201:14;;;;;;;:::i;:::-;;;;;;;;;95:128;-1:-1:-1;;;;;95:128:44:o;450:215::-;527:6;592:1;583:10;;628:18;583:10;:6;628;;:18;:::i;:::-;621:26;;;:::i;:::-;614:34;;;450:215;-1:-1:-1;;;;;450:215:44:o;1570:210::-;1647:7;1713:2;1704:11;;1744:18;1704:11;:6;1744;;:18;:::i;:::-;1736:27;;;:::i;:::-;1729:34;1570:210;-1:-1:-1;;;;;1570:210:44:o;14:347:141:-;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:141;;213:18;202:30;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;366:409;436:6;444;497:2;485:9;476:7;472:23;468:32;465:52;;;513:1;510;503:12;465:52;553:9;540:23;586:18;578:6;575:30;572:50;;;618:1;615;608:12;572:50;657:58;707:7;698:6;687:9;683:22;657:58;:::i;:::-;734:8;;631:84;;-1:-1:-1;366:409:141;-1:-1:-1;;;;366:409:141:o;1186:477::-;1265:6;1273;1281;1334:2;1322:9;1313:7;1309:23;1305:32;1302:52;;;1350:1;1347;1340:12;1302:52;1390:9;1377:23;1423:18;1415:6;1412:30;1409:50;;;1455:1;1452;1445:12;1409:50;1494:58;1544:7;1535:6;1524:9;1520:22;1494:58;:::i;:::-;1571:8;;1468:84;;-1:-1:-1;1653:2:141;1638:18;;;;1625:32;;1186:477;-1:-1:-1;;;;1186:477:141:o;1668:599::-;1889:4;1881:6;1877:17;1866:9;1859:36;1931:2;1926;1915:9;1911:18;1904:30;1970:6;1965:2;1954:9;1950:18;1943:34;2028:6;2020;2014:3;2003:9;1999:19;1986:49;2085:1;2079:3;2070:6;2059:9;2055:22;2051:32;2044:43;1840:4;2214:3;2144:66;2139:2;2131:6;2127:15;2123:88;2112:9;2108:104;2104:114;2096:122;;2254:6;2249:2;2238:9;2234:18;2227:34;1668:599;;;;;;;:::o;3300:331::-;3405:9;3416;3458:8;3446:10;3443:24;3440:44;;;3480:1;3477;3470:12;3440:44;3509:6;3499:8;3496:20;3493:40;;;3529:1;3526;3519:12;3493:40;-1:-1:-1;;3555:23:141;;;3600:25;;;;;-1:-1:-1;3300:331:141:o;3636:369::-;3794:66;3756:19;;3878:11;;;;3909:1;3901:10;;3898:101;;;3986:2;3980;3973:3;3970:1;3966:11;3963:1;3959:19;3955:28;3951:2;3947:37;3943:46;3934:55;;3898:101;;;3636:369;;;;:::o;4010:372::-;4169:66;4131:19;;4253:11;;;;4284:2;4276:11;;4273:103;;;4346:2;4342:12;;;;4339:1;4335:20;4331:29;;;4323:38;4319:47;;;;4010:372;-1:-1:-1;;4010:372:141:o;4387:184::-;4439:77;4436:1;4429:88;4536:4;4533:1;4526:15;4560:4;4557:1;4550:15;4576:369;4734:66;4696:19;;4818:11;;;;4849:1;4841:10;;4838:101;;;4910:1;4906:11;;;;4903:1;4899:19;4895:28;;;4887:37;4883:46;;;;4576:369;-1:-1:-1;;4576:369:141:o;4950:315::-;5070:19;;5109:2;5101:11;;5098:161;;;5181:66;5170:2;5166:12;;;5163:1;5159:20;5155:93;5144:105;5098:161;4950:315;;;;:::o","linkReferences":{}},"methodIdentifiers":{"decodeLzComposeOption(bytes)":"518e8ab0","decodeLzReadOption(bytes)":"9751ca86","decodeLzReceiveOption(bytes)":"f93e1d61","decodeNativeDropOption(bytes)":"b954fdf6","nextExecutorOption(bytes,uint256)":"6e1775e3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Executor_InvalidLzComposeOption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_InvalidLzReadOption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_InvalidLzReceiveOption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Executor_InvalidNativeDropOption\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_option\",\"type\":\"bytes\"}],\"name\":\"decodeLzComposeOption\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"index\",\"type\":\"uint16\"},{\"internalType\":\"uint128\",\"name\":\"gas\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_option\",\"type\":\"bytes\"}],\"name\":\"decodeLzReadOption\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"gas\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"size\",\"type\":\"uint32\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_option\",\"type\":\"bytes\"}],\"name\":\"decodeLzReceiveOption\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"gas\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_option\",\"type\":\"bytes\"}],\"name\":\"decodeNativeDropOption\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes32\",\"name\":\"receiver\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_options\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_cursor\",\"type\":\"uint256\"}],\"name\":\"nextExecutorOption\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"optionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"option\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"cursor\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ulnOptions\":{\"details\":\"For backwards compatibility reasons, we'll keep this initialization hereAny new tests should use the _setUpUlnOptions function below\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@layerzerolabs/test-devtools-evm-foundry/contracts/OptionsHelper.sol\":\"OptionsHelper\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@layerzerolabs/=node_modules/@layerzerolabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/\",\":forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/\",\":solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/\"]},\"sources\":{\"node_modules/@layerzerolabs/lz-evm-messagelib-v2/contracts/libs/ExecutorOptions.sol\":{\"keccak256\":\"0x441b723f2f597be2ec2bb361fcf3f11852c23534db1cfa7d2ffff7e61d228e3c\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://636817d20f90f75032e35376256cf5f4d2a047d6541b45f644d82a2e4dc8f1eb\",\"dweb:/ipfs/QmcEFRxCmmm9hKbqi7Powj6ATbw4JXXJW4rxfwMcxWsDnT\"]},\"node_modules/@layerzerolabs/lz-evm-messagelib-v2/contracts/uln/libs/DVNOptions.sol\":{\"keccak256\":\"0x2beee03cdf59a9bc72e94d08b69cb2e908725f4ceabb48651494938100e21e35\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://d88e121a39e74309f3575417df2318e2d2ee8bc8314e68dbf78544a9c393b141\",\"dweb:/ipfs/QmRojBRAyENK21HnjevAWeoZZxtWkYZubB9Y78vCJPYeU6\"]},\"node_modules/@layerzerolabs/lz-evm-messagelib-v2/contracts/uln/libs/UlnOptions.sol\":{\"keccak256\":\"0x5df07fef16b20767f7524c367d90f696c12e8ce0e4fde7aecc9d83fb2b6b0e27\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://0997203f57d736e56ebb3d736550f1c7ff7950c8df0574c7abe95e22f847b850\",\"dweb:/ipfs/QmZBjkH1vaPLyN3Jx9kGfVZKuTdfVWJfJVLSPok8SpjGbT\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/CalldataBytesLib.sol\":{\"keccak256\":\"0x5c0db161cef6603c3b256d4220f489419e7478ef775e52a80056654129c61875\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://a33245d0fdd3992bb56b31d1840108d36bb46c8d617b659ef1af8dd7ed86302d\",\"dweb:/ipfs/QmWyBqT7Tdrfn5zz9xYM3V1PBtfAZAVwwCrrKwwfi3wMQK\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/BitMaps.sol\":{\"keccak256\":\"0xaad3c72ef43480d2253fd48b394e8fb7286d009991d2bc4e61be58ce48ac5ee9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8c02b14f954416ba2148b389c87da8378ac8dd16ba3d458cbbfba8b0fd8639f\",\"dweb:/ipfs/Qmd2EEQhYL2VmgJi1V4uiHM2WcYxF9iBtxSgcFkbS21rQD\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/ExecutorOptions.sol\":{\"keccak256\":\"0x621c6090fc432f94a99f677a95d72b75f56db89ddc5fc870669777a313587c28\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://69086166f16d29e30c5eb9ca2f97afb27569afe619807d79736833a809a512d2\",\"dweb:/ipfs/QmcZqXjFuVdTrfbteKBF3GuEpjVFZ2YNZTa3J87dyLsqav\"]},\"node_modules/@layerzerolabs/test-devtools-evm-foundry/contracts/OptionsHelper.sol\":{\"keccak256\":\"0x729ce2290d16a45a16ad936263803db6a6bebcfba5c063ebe0f0fd284ba828c0\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://7494875394fc968684761b22bb5fe05789f8d84ba07b2e0ab579ce0afe7aa973\",\"dweb:/ipfs/QmZNrexRXL3ef3UnES5e8JcdyMJ5HVftwGKQjGC5CwNg9Q\"]},\"node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/BytesLib.sol\":{\"keccak256\":\"0xa5b10f04797d5a10a9ba07855108b6bd695940e6a3d128927b2f74a0d359868a\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://a38d7680aacbb18dae659876b396b73bcc8f759672213f8a0efc4129e2648535\",\"dweb:/ipfs/QmfKFnwpTEGAnbRnZxMuv3mRCG9S9WMjFhFL23bftBT2Jq\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.22+commit.4fc1097e"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"Executor_InvalidLzComposeOption"},{"inputs":[],"type":"error","name":"Executor_InvalidLzReadOption"},{"inputs":[],"type":"error","name":"Executor_InvalidLzReceiveOption"},{"inputs":[],"type":"error","name":"Executor_InvalidNativeDropOption"},{"inputs":[{"internalType":"bytes","name":"_option","type":"bytes"}],"stateMutability":"pure","type":"function","name":"decodeLzComposeOption","outputs":[{"internalType":"uint16","name":"index","type":"uint16"},{"internalType":"uint128","name":"gas","type":"uint128"},{"internalType":"uint128","name":"value","type":"uint128"}]},{"inputs":[{"internalType":"bytes","name":"_option","type":"bytes"}],"stateMutability":"pure","type":"function","name":"decodeLzReadOption","outputs":[{"internalType":"uint128","name":"gas","type":"uint128"},{"internalType":"uint32","name":"size","type":"uint32"},{"internalType":"uint128","name":"value","type":"uint128"}]},{"inputs":[{"internalType":"bytes","name":"_option","type":"bytes"}],"stateMutability":"pure","type":"function","name":"decodeLzReceiveOption","outputs":[{"internalType":"uint128","name":"gas","type":"uint128"},{"internalType":"uint128","name":"value","type":"uint128"}]},{"inputs":[{"internalType":"bytes","name":"_option","type":"bytes"}],"stateMutability":"pure","type":"function","name":"decodeNativeDropOption","outputs":[{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"bytes32","name":"receiver","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_options","type":"bytes"},{"internalType":"uint256","name":"_cursor","type":"uint256"}],"stateMutability":"pure","type":"function","name":"nextExecutorOption","outputs":[{"internalType":"uint8","name":"optionType","type":"uint8"},{"internalType":"bytes","name":"option","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@layerzerolabs/=node_modules/@layerzerolabs/","@openzeppelin/=node_modules/@openzeppelin/","ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/","forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/","solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@layerzerolabs/test-devtools-evm-foundry/contracts/OptionsHelper.sol":"OptionsHelper"},"evmVersion":"shanghai","libraries":{}},"sources":{"node_modules/@layerzerolabs/lz-evm-messagelib-v2/contracts/libs/ExecutorOptions.sol":{"keccak256":"0x441b723f2f597be2ec2bb361fcf3f11852c23534db1cfa7d2ffff7e61d228e3c","urls":["bzz-raw://636817d20f90f75032e35376256cf5f4d2a047d6541b45f644d82a2e4dc8f1eb","dweb:/ipfs/QmcEFRxCmmm9hKbqi7Powj6ATbw4JXXJW4rxfwMcxWsDnT"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/lz-evm-messagelib-v2/contracts/uln/libs/DVNOptions.sol":{"keccak256":"0x2beee03cdf59a9bc72e94d08b69cb2e908725f4ceabb48651494938100e21e35","urls":["bzz-raw://d88e121a39e74309f3575417df2318e2d2ee8bc8314e68dbf78544a9c393b141","dweb:/ipfs/QmRojBRAyENK21HnjevAWeoZZxtWkYZubB9Y78vCJPYeU6"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/lz-evm-messagelib-v2/contracts/uln/libs/UlnOptions.sol":{"keccak256":"0x5df07fef16b20767f7524c367d90f696c12e8ce0e4fde7aecc9d83fb2b6b0e27","urls":["bzz-raw://0997203f57d736e56ebb3d736550f1c7ff7950c8df0574c7abe95e22f847b850","dweb:/ipfs/QmZBjkH1vaPLyN3Jx9kGfVZKuTdfVWJfJVLSPok8SpjGbT"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/CalldataBytesLib.sol":{"keccak256":"0x5c0db161cef6603c3b256d4220f489419e7478ef775e52a80056654129c61875","urls":["bzz-raw://a33245d0fdd3992bb56b31d1840108d36bb46c8d617b659ef1af8dd7ed86302d","dweb:/ipfs/QmWyBqT7Tdrfn5zz9xYM3V1PBtfAZAVwwCrrKwwfi3wMQK"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/BitMaps.sol":{"keccak256":"0xaad3c72ef43480d2253fd48b394e8fb7286d009991d2bc4e61be58ce48ac5ee9","urls":["bzz-raw://b8c02b14f954416ba2148b389c87da8378ac8dd16ba3d458cbbfba8b0fd8639f","dweb:/ipfs/Qmd2EEQhYL2VmgJi1V4uiHM2WcYxF9iBtxSgcFkbS21rQD"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/ExecutorOptions.sol":{"keccak256":"0x621c6090fc432f94a99f677a95d72b75f56db89ddc5fc870669777a313587c28","urls":["bzz-raw://69086166f16d29e30c5eb9ca2f97afb27569afe619807d79736833a809a512d2","dweb:/ipfs/QmcZqXjFuVdTrfbteKBF3GuEpjVFZ2YNZTa3J87dyLsqav"],"license":"LZBL-1.2"},"node_modules/@layerzerolabs/test-devtools-evm-foundry/contracts/OptionsHelper.sol":{"keccak256":"0x729ce2290d16a45a16ad936263803db6a6bebcfba5c063ebe0f0fd284ba828c0","urls":["bzz-raw://7494875394fc968684761b22bb5fe05789f8d84ba07b2e0ab579ce0afe7aa973","dweb:/ipfs/QmZNrexRXL3ef3UnES5e8JcdyMJ5HVftwGKQjGC5CwNg9Q"],"license":"UNLICENSED"},"node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/BytesLib.sol":{"keccak256":"0xa5b10f04797d5a10a9ba07855108b6bd695940e6a3d128927b2f74a0d359868a","urls":["bzz-raw://a38d7680aacbb18dae659876b396b73bcc8f759672213f8a0efc4129e2648535","dweb:/ipfs/QmfKFnwpTEGAnbRnZxMuv3mRCG9S9WMjFhFL23bftBT2Jq"],"license":"Unlicense"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"}},"version":1},"id":75}