@layerzerolabs/oapp-evm-upgradeable
Version:
LayerZero Labs reference EVM OmniChain Application (OApp) implementation
1 lines • 53.5 kB
JSON
{"abi":[{"type":"function","name":"count","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_delegate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPeer","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"},{"name":"_peer","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"lzReceiveAndRevert","inputs":[{"name":"_packets","type":"tuple[]","internalType":"struct InboundPacket[]","components":[{"name":"origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"receiver","type":"address","internalType":"address"},{"name":"guid","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"executor","type":"address","internalType":"address"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"extraData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"lzReceiveSimulate","inputs":[{"name":"_origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_executor","type":"address","internalType":"address"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"oApp","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"preCrime","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPreCrime","inputs":[{"name":"_preCrime","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PreCrimeSet","inputs":[{"name":"preCrimeAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InvalidEid","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OnlySelf","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SimulationResult","inputs":[{"name":"result","type":"bytes","internalType":"bytes"}]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b50610b8d8061001d5f395ff3fe60806040526004361061009a575f3560e01c8063b731ea0a11610062578063b731ea0a1461014c578063bd815db014610160578063c4d66de814610173578063d045a0dc14610192578063d4243885146101a5578063f2fde38b146101c4575f80fd5b806306661abd1461009e57806352ae2879146100c55780635a0dfe4d146100eb578063715018a6146101225780638da5cb5b14610138575b5f80fd5b3480156100a9575f80fd5b506100b25f5481565b6040519081526020015b60405180910390f35b3480156100d0575f80fd5b50305b6040516001600160a01b0390911681526020016100bc565b3480156100f6575f80fd5b50610112610105366004610732565b63ffffffff919091161490565b60405190151581526020016100bc565b34801561012d575f80fd5b506101366101e3565b005b348015610143575f80fd5b506100d36101f6565b348015610157575f80fd5b506100d361022a565b61013661016e36600461075a565b610252565b34801561017e575f80fd5b5061013661018d3660046107df565b6103ca565b6101366101a0366004610844565b6104d8565b3480156101b0575f80fd5b506101366101bf3660046107df565b610510565b3480156101cf575f80fd5b506101366101de3660046107df565b61058b565b6101eb6105c8565b6101f45f6105fa565b565b5f807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b5f807fefb041d771d6daaa55702fff6eb740d63ba559a75d2d1d3e151c78ff2480b60061021a565b5f5b81811015610344573683838381811061026f5761026f6108e2565b905060200281019061028191906108f6565b90506102a26102936020830183610915565b63ffffffff1660208301351490565b6102ac575061033c565b3063d045a0dc60c08301358360a08101356102cb61010083018361092e565b6102dc610100890160e08a016107df565b6102ea6101208a018a61092e565b6040518963ffffffff1660e01b815260040161030c9796959493929190610999565b5f604051808303818588803b158015610323575f80fd5b505af1158015610335573d5f803e3d5ffd5b5050505050505b600101610254565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610380573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103a79190810190610a59565b604051638351eea760e01b81526004016103c19190610b01565b60405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f8115801561040f5750825b90505f8267ffffffffffffffff16600114801561042b5750303b155b905081158015610439575080155b156104575760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561048157845460ff60401b1916600160401b1785555b61048a8661066a565b83156104d057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b3330146104f85760405163029a949d60e31b815260040160405180910390fd5b6105078787878787878761067b565b50505050505050565b6105186105c8565b7fefb041d771d6daaa55702fff6eb740d63ba559a75d2d1d3e151c78ff2480b60080546001600160a01b0383166001600160a01b03199091168117825560408051918252517fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609181900360200190a15050565b6105936105c8565b6001600160a01b0381166105bc57604051631e4fbdf760e01b81525f60048201526024016103c1565b6105c5816105fa565b50565b336105d16101f6565b6001600160a01b0316146101f45760405163118cdaa760e01b81523360048201526024016103c1565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6106726106c9565b6105c581610712565b6106886020880188610915565b63ffffffff165f036106ad57604051634d30e69360e11b815260040160405180910390fd5b5f805490806106bb83610b33565b919050555050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166101f457604051631afcd79f60e31b815260040160405180910390fd5b6105936106c9565b803563ffffffff8116811461072d575f80fd5b919050565b5f8060408385031215610743575f80fd5b61074c8361071a565b946020939093013593505050565b5f806020838503121561076b575f80fd5b823567ffffffffffffffff80821115610782575f80fd5b818501915085601f830112610795575f80fd5b8135818111156107a3575f80fd5b8660208260051b85010111156107b7575f80fd5b60209290920196919550909350505050565b80356001600160a01b038116811461072d575f80fd5b5f602082840312156107ef575f80fd5b6107f8826107c9565b9392505050565b5f8083601f84011261080f575f80fd5b50813567ffffffffffffffff811115610826575f80fd5b60208301915083602082850101111561083d575f80fd5b9250929050565b5f805f805f805f87890360e081121561085b575f80fd5b6060811215610868575f80fd5b5087965060608801359550608088013567ffffffffffffffff8082111561088d575f80fd5b6108998b838c016107ff565b90975095508591506108ad60a08b016107c9565b945060c08a01359150808211156108c2575f80fd5b506108cf8a828b016107ff565b989b979a50959850939692959293505050565b634e487b7160e01b5f52603260045260245ffd5b5f823561013e1983360301811261090b575f80fd5b9190910192915050565b5f60208284031215610925575f80fd5b6107f88261071a565b5f808335601e19843603018112610943575f80fd5b83018035915067ffffffffffffffff82111561095d575f80fd5b60200191503681900382131561083d575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff6109a78961071a565b168152602088013560208201525f604089013567ffffffffffffffff81168082146109d0575f80fd5b806040850152505087606083015260e060808301526109f360e083018789610971565b6001600160a01b03861660a084015282810360c0840152610a15818587610971565b9a9950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610a51578181015183820152602001610a39565b50505f910152565b5f60208284031215610a69575f80fd5b815167ffffffffffffffff80821115610a80575f80fd5b818401915084601f830112610a93575f80fd5b815181811115610aa557610aa5610a23565b604051601f8201601f19908116603f01168101908382118183101715610acd57610acd610a23565b81604052828152876020848701011115610ae5575f80fd5b610af6836020830160208801610a37565b979650505050505050565b602081525f8251806020840152610b1f816040850160208701610a37565b601f01601f19169190910160400192915050565b5f60018201610b5057634e487b7160e01b5f52601160045260245ffd5b506001019056fea26469706673582212206af6cb1d38f0a9b12a2affdab82da04a89960d2217b662be1178535bbb263d9364736f6c63430008160033","sourceMap":"390:686:137:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061009a575f3560e01c8063b731ea0a11610062578063b731ea0a1461014c578063bd815db014610160578063c4d66de814610173578063d045a0dc14610192578063d4243885146101a5578063f2fde38b146101c4575f80fd5b806306661abd1461009e57806352ae2879146100c55780635a0dfe4d146100eb578063715018a6146101225780638da5cb5b14610138575b5f80fd5b3480156100a9575f80fd5b506100b25f5481565b6040519081526020015b60405180910390f35b3480156100d0575f80fd5b50305b6040516001600160a01b0390911681526020016100bc565b3480156100f6575f80fd5b50610112610105366004610732565b63ffffffff919091161490565b60405190151581526020016100bc565b34801561012d575f80fd5b506101366101e3565b005b348015610143575f80fd5b506100d36101f6565b348015610157575f80fd5b506100d361022a565b61013661016e36600461075a565b610252565b34801561017e575f80fd5b5061013661018d3660046107df565b6103ca565b6101366101a0366004610844565b6104d8565b3480156101b0575f80fd5b506101366101bf3660046107df565b610510565b3480156101cf575f80fd5b506101366101de3660046107df565b61058b565b6101eb6105c8565b6101f45f6105fa565b565b5f807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b5f807fefb041d771d6daaa55702fff6eb740d63ba559a75d2d1d3e151c78ff2480b60061021a565b5f5b81811015610344573683838381811061026f5761026f6108e2565b905060200281019061028191906108f6565b90506102a26102936020830183610915565b63ffffffff1660208301351490565b6102ac575061033c565b3063d045a0dc60c08301358360a08101356102cb61010083018361092e565b6102dc610100890160e08a016107df565b6102ea6101208a018a61092e565b6040518963ffffffff1660e01b815260040161030c9796959493929190610999565b5f604051808303818588803b158015610323575f80fd5b505af1158015610335573d5f803e3d5ffd5b5050505050505b600101610254565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa158015610380573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103a79190810190610a59565b604051638351eea760e01b81526004016103c19190610b01565b60405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f8115801561040f5750825b90505f8267ffffffffffffffff16600114801561042b5750303b155b905081158015610439575080155b156104575760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561048157845460ff60401b1916600160401b1785555b61048a8661066a565b83156104d057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b3330146104f85760405163029a949d60e31b815260040160405180910390fd5b6105078787878787878761067b565b50505050505050565b6105186105c8565b7fefb041d771d6daaa55702fff6eb740d63ba559a75d2d1d3e151c78ff2480b60080546001600160a01b0383166001600160a01b03199091168117825560408051918252517fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c24277609181900360200190a15050565b6105936105c8565b6001600160a01b0381166105bc57604051631e4fbdf760e01b81525f60048201526024016103c1565b6105c5816105fa565b50565b336105d16101f6565b6001600160a01b0316146101f45760405163118cdaa760e01b81523360048201526024016103c1565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6106726106c9565b6105c581610712565b6106886020880188610915565b63ffffffff165f036106ad57604051634d30e69360e11b815260040160405180910390fd5b5f805490806106bb83610b33565b919050555050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166101f457604051631afcd79f60e31b815260040160405180910390fd5b6105936106c9565b803563ffffffff8116811461072d575f80fd5b919050565b5f8060408385031215610743575f80fd5b61074c8361071a565b946020939093013593505050565b5f806020838503121561076b575f80fd5b823567ffffffffffffffff80821115610782575f80fd5b818501915085601f830112610795575f80fd5b8135818111156107a3575f80fd5b8660208260051b85010111156107b7575f80fd5b60209290920196919550909350505050565b80356001600160a01b038116811461072d575f80fd5b5f602082840312156107ef575f80fd5b6107f8826107c9565b9392505050565b5f8083601f84011261080f575f80fd5b50813567ffffffffffffffff811115610826575f80fd5b60208301915083602082850101111561083d575f80fd5b9250929050565b5f805f805f805f87890360e081121561085b575f80fd5b6060811215610868575f80fd5b5087965060608801359550608088013567ffffffffffffffff8082111561088d575f80fd5b6108998b838c016107ff565b90975095508591506108ad60a08b016107c9565b945060c08a01359150808211156108c2575f80fd5b506108cf8a828b016107ff565b989b979a50959850939692959293505050565b634e487b7160e01b5f52603260045260245ffd5b5f823561013e1983360301811261090b575f80fd5b9190910192915050565b5f60208284031215610925575f80fd5b6107f88261071a565b5f808335601e19843603018112610943575f80fd5b83018035915067ffffffffffffffff82111561095d575f80fd5b60200191503681900382131561083d575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff6109a78961071a565b168152602088013560208201525f604089013567ffffffffffffffff81168082146109d0575f80fd5b806040850152505087606083015260e060808301526109f360e083018789610971565b6001600160a01b03861660a084015282810360c0840152610a15818587610971565b9a9950505050505050505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015610a51578181015183820152602001610a39565b50505f910152565b5f60208284031215610a69575f80fd5b815167ffffffffffffffff80821115610a80575f80fd5b818401915084601f830112610a93575f80fd5b815181811115610aa557610aa5610a23565b604051601f8201601f19908116603f01168101908382118183101715610acd57610acd610a23565b81604052828152876020848701011115610ae5575f80fd5b610af6836020830160208801610a37565b979650505050505050565b602081525f8251806020840152610b1f816040850160208701610a37565b601f01601f19169190910160400192915050565b5f60018201610b5057634e487b7160e01b5f52601160045260245ffd5b506001019056fea26469706673582212206af6cb1d38f0a9b12a2affdab82da04a89960d2217b662be1178535bbb263d9364736f6c63430008160033","sourceMap":"390:686:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;476:20;;;;;;;;;;;;;;;;;;;160:25:139;;;148:2;133:18;476:20:137;;;;;;;;2068:93:5;;;;;;;;;;-1:-1:-1;2149:4:5;2068:93;;;-1:-1:-1;;;;;360:32:139;;;342:51;;330:2;315:18;2068:93:5;196:203:139;939:135:137;;;;;;;;;;-1:-1:-1;939:135:137;;;;;:::i;:::-;1044:13;;;;;1036:31;;939:135;;;;994:14:139;;987:22;969:41;;957:2;942:18;939:135:137;829:187:139;3155:101:105;;;;;;;;;;;;;:::i;:::-;;2441:144;;;;;;;;;;;;;:::i;1596:180:5:-;;;;;;;;;;;;;:::i;2978:1333::-;;;;;;:::i;:::-;;:::i;528:102:137:-;;;;;;;;;;-1:-1:-1;528:102:137;;;;;:::i;:::-;;:::i;4959:409:5:-;;;;;;:::i;:::-;;:::i;2293:226::-;;;;;;;;;;-1:-1:-1;2293:226:5;;;;;:::i;:::-;;:::i;3405:215:105:-;;;;;;;;;;-1:-1:-1;3405:215:105;;;;;:::i;:::-;;:::i;3155:101::-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;2441:144::-;2487:7;;1313:22;2533:20;2570:8;-1:-1:-1;;;;;2570:8:105;;2441:144;-1:-1:-1;;2441:144:105:o;1596:180:5:-;1648:7;;1200:41;1708:34;1050:207;2978:1333;3079:9;3074:1037;3094:19;;;3074:1037;;;3134:29;3166:8;;3175:1;3166:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;3134:43;-1:-1:-1;3260:50:5;3267:20;;;;3134:43;3267:20;:::i;:::-;1044:13:137;;3289:20:5;;;;1036:31:137;;939:135;3260:50:5;3255:65;;3312:8;;;3255:65;3882:4;:22;3913:12;;;;:6;3976:11;;;;4005:14;;;;3913:6;4005:14;:::i;:::-;4037:15;;;;;;;;:::i;:::-;4070:16;;;;:6;:16;:::i;:::-;3882:218;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3120:991;3074:1037;3115:3;;3074:1037;;;;4268:10;-1:-1:-1;;;;;4258:43:5;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4258:45:5;;;;;;;;;;;;:::i;:::-;4241:63;;-1:-1:-1;;;4241:63:5;;;;;;;;:::i;:::-;;;;;;;;528:102:137;8870:21:106;4302:15;;-1:-1:-1;;;4302:15:106;;;;4301:16;;4348:14;;4158:30;4726:16;;:34;;;;;4746:14;4726:34;4706:54;;4770:17;4790:11;:16;;4805:1;4790:16;:50;;;;-1:-1:-1;4818:4:106;4810:25;:30;4790:50;4770:70;;4856:12;4855:13;:30;;;;;4873:12;4872:13;4855:30;4851:91;;;4908:23;;-1:-1:-1;;;4908:23:106;;;;;;;;;;;4851:91;4951:18;;-1:-1:-1;;4951:18:106;4968:1;4951:18;;;4979:67;;;;5013:22;;-1:-1:-1;;;;5013:22:106;-1:-1:-1;;;5013:22:106;;;4979:67;598:25:137::1;613:9;598:14;:25::i;:::-;5070:14:106::0;5066:101;;;5100:23;;-1:-1:-1;;;;5100:23:106;;;5142:14;;-1:-1:-1;7729:50:139;;5142:14:106;;7717:2:139;7702:18;5142:14:106;;;;;;;5066:101;4092:1081;;;;;528:102:137;:::o;4959:409:5:-;5238:10;5260:4;5238:27;5234:50;;5274:10;;-1:-1:-1;;;5274:10:5;;;;;;;;;;;5234:50;5294:67;5313:7;5322:5;5329:8;;5339:9;5350:10;;5294:18;:67::i;:::-;4959:409;;;;;;;:::o;2293:226::-;2334:13:105;:11;:13::i;:::-;1200:41:5;2453:22;;-1:-1:-1;;;;;2453:22:5;::::1;-1:-1:-1::0;;;;;;2453:22:5;;::::1;::::0;::::1;::::0;;2490::::1;::::0;;342:51:139;;;2490:22:5;::::1;::::0;;;;330:2:139;2490:22:5;;::::1;2358:161;2293:226:::0;:::o;3405:215:105:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:105;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:105;;3562:1:::1;3534:31;::::0;::::1;342:51:139::0;315:18;;3534:31:105::1;196:203:139::0;3485:91:105::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;2658:162::-;966:10:107;2717:7:105;:5;:7::i;:::-;-1:-1:-1;;;;;2717:23:105;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:105;;966:10:107;2763:40:105;;;342:51:139;315:18;;2763:40:105;196:203:139;3774:248:105;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:105;;-1:-1:-1;;;;;3941:19:105;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1847:127::-;6931:20:106;:18;:20::i;:::-;1929:38:105::1;1954:12;1929:24;:38::i;636:297:137:-:0;869:14;;;;:7;:14;:::i;:::-;:19;;887:1;869:19;865:44;;897:12;;-1:-1:-1;;;897:12:137;;;;;;;;;;;865:44;919:5;:7;;;:5;:7;;;:::i;:::-;;;;;;636:297;;;;;;;:::o;7084:141:106:-;8870:21;8560:40;-1:-1:-1;;;8560:40:106;;;;7146:73;;7191:17;;-1:-1:-1;;;7191:17:106;;;;;;;;;;;1980:235:105;6931:20:106;:18;:20::i;404:163:139:-;471:20;;531:10;520:22;;510:33;;500:61;;557:1;554;547:12;500:61;404:163;;;:::o;572:252::-;639:6;647;700:2;688:9;679:7;675:23;671:32;668:52;;;716:1;713;706:12;668:52;739:28;757:9;739:28;:::i;:::-;729:38;814:2;799:18;;;;786:32;;-1:-1:-1;;;572:252:139:o;1021:649::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1258:9;1245:23;1287:18;1328:2;1320:6;1317:14;1314:34;;;1344:1;1341;1334:12;1314:34;1382:6;1371:9;1367:22;1357:32;;1427:7;1420:4;1416:2;1412:13;1408:27;1398:55;;1449:1;1446;1439:12;1398:55;1489:2;1476:16;1515:2;1507:6;1504:14;1501:34;;;1531:1;1528;1521:12;1501:34;1584:7;1579:2;1569:6;1566:1;1562:14;1558:2;1554:23;1550:32;1547:45;1544:65;;;1605:1;1602;1595:12;1544:65;1636:2;1628:11;;;;;1658:6;;-1:-1:-1;1021:649:139;;-1:-1:-1;;;;1021:649:139:o;1675:173::-;1743:20;;-1:-1:-1;;;;;1792:31:139;;1782:42;;1772:70;;1838:1;1835;1828:12;1853:186;1912:6;1965:2;1953:9;1944:7;1940:23;1936:32;1933:52;;;1981:1;1978;1971:12;1933:52;2004:29;2023:9;2004:29;:::i;:::-;1994:39;1853:186;-1:-1:-1;;;1853:186:139:o;2044:347::-;2095:8;2105:6;2159:3;2152:4;2144:6;2140:17;2136:27;2126:55;;2177:1;2174;2167:12;2126:55;-1:-1:-1;2200:20:139;;2243:18;2232:30;;2229:50;;;2275:1;2272;2265:12;2229:50;2312:4;2304:6;2300:17;2288:29;;2364:3;2357:4;2348:6;2340;2336:19;2332:30;2329:39;2326:59;;;2381:1;2378;2371:12;2326:59;2044:347;;;;;:::o;2396:1004::-;2539:6;2547;2555;2563;2571;2579;2587;2631:9;2622:7;2618:23;2661:3;2657:2;2653:12;2650:32;;;2678:1;2675;2668:12;2650:32;2702:2;2698;2694:11;2691:31;;;2718:1;2715;2708:12;2691:31;;2741:9;2731:19;;2797:2;2786:9;2782:18;2769:32;2759:42;;2852:3;2841:9;2837:19;2824:33;2876:18;2917:2;2909:6;2906:14;2903:34;;;2933:1;2930;2923:12;2903:34;2972:58;3022:7;3013:6;3002:9;2998:22;2972:58;:::i;:::-;3049:8;;-1:-1:-1;2946:84:139;-1:-1:-1;2946:84:139;;-1:-1:-1;3103:39:139;3137:3;3122:19;;3103:39;:::i;:::-;3093:49;;3195:3;3184:9;3180:19;3167:33;3151:49;;3225:2;3215:8;3212:16;3209:36;;;3241:1;3238;3231:12;3209:36;;3280:60;3332:7;3321:8;3310:9;3306:24;3280:60;:::i;:::-;2396:1004;;;;-1:-1:-1;2396:1004:139;;-1:-1:-1;2396:1004:139;;;;3254:86;;-1:-1:-1;;;2396:1004:139:o;3405:127::-;3466:10;3461:3;3457:20;3454:1;3447:31;3497:4;3494:1;3487:15;3521:4;3518:1;3511:15;3537:332;3637:4;3695:11;3682:25;3789:3;3785:8;3774;3758:14;3754:29;3750:44;3730:18;3726:69;3716:97;;3809:1;3806;3799:12;3716:97;3830:33;;;;;3537:332;-1:-1:-1;;3537:332:139:o;3874:184::-;3932:6;3985:2;3973:9;3964:7;3960:23;3956:32;3953:52;;;4001:1;3998;3991:12;3953:52;4024:28;4042:9;4024:28;:::i;4063:521::-;4140:4;4146:6;4206:11;4193:25;4300:2;4296:7;4285:8;4269:14;4265:29;4261:43;4241:18;4237:68;4227:96;;4319:1;4316;4309:12;4227:96;4346:33;;4398:20;;;-1:-1:-1;4441:18:139;4430:30;;4427:50;;;4473:1;4470;4463:12;4427:50;4506:4;4494:17;;-1:-1:-1;4537:14:139;4533:27;;;4523:38;;4520:58;;;4574:1;4571;4564:12;4589:266;4677:6;4672:3;4665:19;4729:6;4722:5;4715:4;4710:3;4706:14;4693:43;-1:-1:-1;4781:1:139;4756:16;;;4774:4;4752:27;;;4745:38;;;;4837:2;4816:15;;;-1:-1:-1;;4812:29:139;4803:39;;;4799:50;;4589:266::o;4860:1024::-;5238:10;5211:25;5229:6;5211:25;:::i;:::-;5207:42;5196:9;5189:61;5313:4;5305:6;5301:17;5288:31;5281:4;5270:9;5266:20;5259:61;5170:4;5367;5359:6;5355:17;5342:31;5403:18;5396:5;5392:30;5451:2;5444:5;5441:13;5431:41;;5468:1;5465;5458:12;5431:41;5510:2;5503:4;5492:9;5488:20;5481:32;;;5549:6;5544:2;5533:9;5529:18;5522:34;5593:3;5587;5576:9;5572:19;5565:32;5620:62;5677:3;5666:9;5662:19;5654:6;5646;5620:62;:::i;:::-;-1:-1:-1;;;;;5719:32:139;;5739:3;5698:19;;5691:61;5789:22;;;5783:3;5768:19;;5761:51;5829:49;5793:6;5863;5855;5829:49;:::i;:::-;5821:57;4860:1024;-1:-1:-1;;;;;;;;;;4860:1024:139:o;5889:127::-;5950:10;5945:3;5941:20;5938:1;5931:31;5981:4;5978:1;5971:15;6005:4;6002:1;5995:15;6021:250;6106:1;6116:113;6130:6;6127:1;6124:13;6116:113;;;6206:11;;;6200:18;6187:11;;;6180:39;6152:2;6145:10;6116:113;;;-1:-1:-1;;6263:1:139;6245:16;;6238:27;6021:250::o;6276:896::-;6355:6;6408:2;6396:9;6387:7;6383:23;6379:32;6376:52;;;6424:1;6421;6414:12;6376:52;6457:9;6451:16;6486:18;6527:2;6519:6;6516:14;6513:34;;;6543:1;6540;6533:12;6513:34;6581:6;6570:9;6566:22;6556:32;;6626:7;6619:4;6615:2;6611:13;6607:27;6597:55;;6648:1;6645;6638:12;6597:55;6677:2;6671:9;6699:2;6695;6692:10;6689:36;;;6705:18;;:::i;:::-;6780:2;6774:9;6748:2;6834:13;;-1:-1:-1;;6830:22:139;;;6854:2;6826:31;6822:40;6810:53;;;6878:18;;;6898:22;;;6875:46;6872:72;;;6924:18;;:::i;:::-;6964:10;6960:2;6953:22;6999:2;6991:6;6984:18;7039:7;7034:2;7029;7025;7021:11;7017:20;7014:33;7011:53;;;7060:1;7057;7050:12;7011:53;7073:68;7138:2;7133;7125:6;7121:15;7116:2;7112;7108:11;7073:68;:::i;:::-;7160:6;6276:896;-1:-1:-1;;;;;;;6276:896:139:o;7177:394::-;7324:2;7313:9;7306:21;7287:4;7356:6;7350:13;7399:6;7394:2;7383:9;7379:18;7372:34;7415:79;7487:6;7482:2;7471:9;7467:18;7462:2;7454:6;7450:15;7415:79;:::i;:::-;7555:2;7534:15;-1:-1:-1;;7530:29:139;7515:45;;;;7562:2;7511:54;;7177:394;-1:-1:-1;;7177:394:139:o;7790:232::-;7829:3;7850:17;;;7847:140;;7909:10;7904:3;7900:20;7897:1;7890:31;7944:4;7941:1;7934:15;7972:4;7969:1;7962:15;7847:140;-1:-1:-1;8014:1:139;8003:13;;7790:232::o","linkReferences":{}},"methodIdentifiers":{"count()":"06661abd","initialize(address)":"c4d66de8","isPeer(uint32,bytes32)":"5a0dfe4d","lzReceiveAndRevert(((uint32,bytes32,uint64),uint32,address,bytes32,uint256,address,bytes,bytes)[])":"bd815db0","lzReceiveSimulate((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":"d045a0dc","oApp()":"52ae2879","owner()":"8da5cb5b","preCrime()":"b731ea0a","renounceOwnership()":"715018a6","setPreCrime(address)":"d4243885","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidEid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlySelf\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"SimulationResult\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"preCrimeAddress\",\"type\":\"address\"}],\"name\":\"PreCrimeSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_peer\",\"type\":\"bytes32\"}],\"name\":\"isPeer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"origin\",\"type\":\"tuple\"},{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"internalType\":\"struct InboundPacket[]\",\"name\":\"_packets\",\"type\":\"tuple[]\"}],\"name\":\"lzReceiveAndRevert\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"_origin\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"lzReceiveSimulate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oApp\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"preCrime\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_preCrime\",\"type\":\"address\"}],\"name\":\"setPreCrime\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PreCrimeSet(address)\":{\"details\":\"Emitted when the preCrime contract address is set.\",\"params\":{\"preCrimeAddress\":\"The address of the preCrime contract.\"}}},\"kind\":\"dev\",\"methods\":{\"isPeer(uint32,bytes32)\":{\"details\":\"checks if the specified peer is considered 'trusted' by the OApp.\",\"params\":{\"_eid\":\"The endpoint Id to check.\",\"_peer\":\"The peer to check.\"},\"returns\":{\"_0\":\"Whether the peer passed is considered 'trusted' by the OApp.\"}},\"lzReceiveAndRevert(((uint32,bytes32,uint64),uint32,address,bytes32,uint256,address,bytes,bytes)[])\":{\"details\":\"Interface for pre-crime simulations. Always reverts at the end with the simulation results.WARNING: MUST revert at the end with the simulation results.Gives the preCrime implementation the ability to mock sending packets to the lzReceive function, WITHOUT actually executing them.\",\"params\":{\"_packets\":\"An array of InboundPacket objects representing received packets to be delivered.\"}},\"lzReceiveSimulate((uint32,bytes32,uint64),bytes32,bytes,address,bytes)\":{\"details\":\"Is effectively an internal function because msg.sender must be address(this). Allows resetting the call stack for 'internal' calls.\",\"params\":{\"_executor\":\"The executor address for the packet.\",\"_extraData\":\"Additional data for the packet.\",\"_guid\":\"The unique identifier of the packet.\",\"_message\":\"The message payload of the packet.\",\"_origin\":\"The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message.\"}},\"oApp()\":{\"details\":\"Retrieves the address of the OApp contract.The simulator contract is the base contract for the OApp by default.If the simulator is a separate contract, override this function.\",\"returns\":{\"_0\":\"The address of the OApp contract.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"preCrime()\":{\"details\":\"Retrieves the address of the preCrime contract implementation.\",\"returns\":{\"_0\":\"The address of the preCrime contract.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setPreCrime(address)\":{\"details\":\"Sets the preCrime contract address.\",\"params\":{\"_preCrime\":\"The address of the preCrime contract.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/PreCrimeV2SimulatorUpgradeableMock.sol\":\"PreCrimeV2SimulatorUpgradeableMock\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@layerzerolabs/=node_modules/@layerzerolabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/@layerzerolabs/toolbox-foundry/src/ds-test/src/\",\":forge-std/=node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/\",\":solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/\"]},\"sources\":{\"contracts/precrime/OAppPreCrimeSimulatorUpgradeable.sol\":{\"keccak256\":\"0x4db480709caa7ab95f964a0ef2998072ba4e9398a6dc9d8d2d2bba51002d070e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4298491d55c299fd392cdf4e4fa21c8b76823dba00fa1b5fe470724b9d89b59\",\"dweb:/ipfs/QmPBzbeMeA6k52CjFGQ7sBWAiLr5ioK7qaKBcSqVbrBnJ9\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol\":{\"keccak256\":\"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083\",\"dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLib.sol\":{\"keccak256\":\"0x5cf5f24751b4e3ea1c9c5ded07cedfdfd62566b6daaffcc0144733859c9dba0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cae7e35007a714f007ea08045ef7c0cfa6c91fd2425b5028b2d49abad357a5f0\",\"dweb:/ipfs/QmcDBs5tsiyB35b8cwzWQWNnpkawb3uuHRaqE77Hxm2tve\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLibManager.sol\":{\"keccak256\":\"0x919b37133adff4dc528e3061deb2789c3149971b530c61e556fb3d09ab315dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8ff6a8a89297fa127f86b54e0db3eba1d6a6eeb4f6398d3c84d569665ac8f1b\",\"dweb:/ipfs/QmVSwhw6xFDrLRAX4RXaCM47yBaBtac4wf36DYEq6KCTvT\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingChannel.sol\":{\"keccak256\":\"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927\",\"dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingComposer.sol\":{\"keccak256\":\"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d\",\"dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingContext.sol\":{\"keccak256\":\"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6\",\"dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ISendLib.sol\":{\"keccak256\":\"0xf1c07bc61e7b1dce195ed12d50f87980fbf2d63cac1326fd28287f55fe0ba625\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://060f10ff7afc33c1c2f2b4b5ba29231fd3c943146488084d0e4ab99fce991d97\",\"dweb:/ipfs/QmaSsefAqqEqtf8FgFUmDYMwTsAty3X1pqDb6SiFvry6B3\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/AddressCast.sol\":{\"keccak256\":\"0x2ebbcaaab3554edcd41b581f1a72ac1806afbfb8047d0d47ff098f9af30d6deb\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://2d4b2cf5c3b16dc76c6767f285b57c0af917972327b2be3f7cba5825402f5fc1\",\"dweb:/ipfs/QmQQWiHE2jKEDbjzGutSoZwtApSXYfLqZt5CxEpFj8xyvT\"]},\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/PacketV1Codec.sol\":{\"keccak256\":\"0xc84cf1bf785977fe1fbe7566eef902c2db68d0e163813ebe6c34921754802680\",\"license\":\"LZBL-1.2\",\"urls\":[\"bzz-raw://de686666fc16fa432d4208d85cec87dc952faf3e481b683b9adf4b4610db4b09\",\"dweb:/ipfs/QmdmQeopzmxqRzi9DNB4EJDrYUXFfD7fUhnGhSni4QejUW\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol\":{\"keccak256\":\"0x5d24db150949ea8e6437178e65a942e8c8b7f332e5daf32750f56b23b35b5bb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b1dcea0267234654126f926a1b405743606d7b5e49185b621afb7bd94d18b9a\",\"dweb:/ipfs/QmZ9BXQmbWJcrhHKuBs4yhNtbCV5WUpUY3AXSX7rkWwX6y\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IPreCrime.sol\":{\"keccak256\":\"0xc8d869f27ef8ceb2e13fdf6a70682fd4dee3f90c4924eb8e125bc1e66cb6af84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66bf49d59c14832ea0ddddcd12d512d4f9bd0fd254a1368442587bf3e77fe73e\",\"dweb:/ipfs/QmYUAvsyuUPiSYjbL4zVo6ZtiRSLCUPDvCesqgdZWbSGDg\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/precrime/libs/Packet.sol\":{\"keccak256\":\"0xcb2fb1c5b2eb3731de78b479b9c2ab3bba326fe0b0b3a008590f18e881e457a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f70724c61d226743c2bd8ba6c09758805e4339780978949ce5b333c106be4edc\",\"dweb:/ipfs/QmX5rV9K1N7RgTz9xtf8CDG8SrYiitGAzFh9ec2tbnEec4\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"test/mocks/PreCrimeV2SimulatorUpgradeableMock.sol\":{\"keccak256\":\"0x035674825e8bb2b0a94ea934dc2bcb3ede285b1a9696828f52fe646fe2e914cf\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://784cd008462cc0ea1a9bc10d033b529bedd2e1cea1513b2b6fa1176d1da0f0bc\",\"dweb:/ipfs/QmW39tabnNNojfM6FTtXJykSKQM8NLWaAmiKN4mfgym5hH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.22+commit.4fc1097e"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidEid"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"OnlySelf"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"type":"error","name":"SimulationResult"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"preCrimeAddress","type":"address","indexed":false}],"type":"event","name":"PreCrimeSet","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]","components":[{"internalType":"struct Origin","name":"origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"lzReceiveAndRevert"},{"inputs":[{"internalType":"struct Origin","name":"_origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"lzReceiveSimulate"},{"inputs":[],"stateMutability":"view","type":"function","name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPreCrime"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"isPeer(uint32,bytes32)":{"details":"checks if the specified peer is considered 'trusted' by the OApp.","params":{"_eid":"The endpoint Id to check.","_peer":"The peer to check."},"returns":{"_0":"Whether the peer passed is considered 'trusted' by the OApp."}},"lzReceiveAndRevert(((uint32,bytes32,uint64),uint32,address,bytes32,uint256,address,bytes,bytes)[])":{"details":"Interface for pre-crime simulations. Always reverts at the end with the simulation results.WARNING: MUST revert at the end with the simulation results.Gives the preCrime implementation the ability to mock sending packets to the lzReceive function, WITHOUT actually executing them.","params":{"_packets":"An array of InboundPacket objects representing received packets to be delivered."}},"lzReceiveSimulate((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":{"details":"Is effectively an internal function because msg.sender must be address(this). Allows resetting the call stack for 'internal' calls.","params":{"_executor":"The executor address for the packet.","_extraData":"Additional data for the packet.","_guid":"The unique identifier of the packet.","_message":"The message payload of the packet.","_origin":"The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message."}},"oApp()":{"details":"Retrieves the address of the OApp contract.The simulator contract is the base contract for the OApp by default.If the simulator is a separate contract, override this function.","returns":{"_0":"The address of the OApp contract."}},"owner()":{"details":"Returns the address of the current owner."},"preCrime()":{"details":"Retrieves the address of the preCrime contract implementation.","returns":{"_0":"The address of the preCrime contract."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setPreCrime(address)":{"details":"Sets the preCrime contract address.","params":{"_preCrime":"The address of the preCrime contract."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"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/src/ds-test/src/","forge-std/=node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/","solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/mocks/PreCrimeV2SimulatorUpgradeableMock.sol":"PreCrimeV2SimulatorUpgradeableMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"contracts/precrime/OAppPreCrimeSimulatorUpgradeable.sol":{"keccak256":"0x4db480709caa7ab95f964a0ef2998072ba4e9398a6dc9d8d2d2bba51002d070e","urls":["bzz-raw://c4298491d55c299fd392cdf4e4fa21c8b76823dba00fa1b5fe470724b9d89b59","dweb:/ipfs/QmPBzbeMeA6k52CjFGQ7sBWAiLr5ioK7qaKBcSqVbrBnJ9"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol":{"keccak256":"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3","urls":["bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083","dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLib.sol":{"keccak256":"0x5cf5f24751b4e3ea1c9c5ded07cedfdfd62566b6daaffcc0144733859c9dba0c","urls":["bzz-raw://cae7e35007a714f007ea08045ef7c0cfa6c91fd2425b5028b2d49abad357a5f0","dweb:/ipfs/QmcDBs5tsiyB35b8cwzWQWNnpkawb3uuHRaqE77Hxm2tve"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLibManager.sol":{"keccak256":"0x919b37133adff4dc528e3061deb2789c3149971b530c61e556fb3d09ab315dfc","urls":["bzz-raw://d8ff6a8a89297fa127f86b54e0db3eba1d6a6eeb4f6398d3c84d569665ac8f1b","dweb:/ipfs/QmVSwhw6xFDrLRAX4RXaCM47yBaBtac4wf36DYEq6KCTvT"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingChannel.sol":{"keccak256":"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972","urls":["bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927","dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingComposer.sol":{"keccak256":"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901","urls":["bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d","dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingContext.sol":{"keccak256":"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e","urls":["bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6","dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D"],"license":"MIT"},"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ISendLib.sol":{"keccak256":"0xf1c07bc61e7b1dce195ed12d50f87980fbf2d6