{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAmountCanBeSent","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"currentAmountInFlight","type":"uint256","internalType":"uint256"},{"name":"amountCanBeSent","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"inflow","inputs":[{"name":"_srcEid","type":"uint32","internalType":"uint32"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"outflow","inputs":[{"name":"_dstEid","type":"uint32","internalType":"uint32"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rateLimits","inputs":[{"name":"dstEid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"amountInFlight","type":"uint192","internalType":"uint192"},{"name":"lastUpdated","type":"uint64","internalType":"uint64"},{"name":"limit","type":"uint192","internalType":"uint192"},{"name":"window","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"resetRateLimits","inputs":[{"name":"_eids","type":"uint32[]","internalType":"uint32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRateLimits","inputs":[{"name":"_rateLimitConfigs","type":"tuple[]","internalType":"struct RateLimiter.RateLimitConfig[]","components":[{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"limit","type":"uint192","internalType":"uint192"},{"name":"window","type":"uint64","internalType":"uint64"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RateLimitsChanged","inputs":[{"name":"rateLimitConfigs","type":"tuple[]","indexed":false,"internalType":"struct RateLimiter.RateLimitConfig[]","components":[{"name":"dstEid","type":"uint32","internalType":"uint32"},{"name":"limit","type":"uint192","internalType":"uint192"},{"name":"window","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"RateLimitsReset","inputs":[{"name":"eids","type":"uint32[]","indexed":false,"internalType":"uint32[]"}],"anonymous":false},{"type":"error","name":"RateLimitExceeded","inputs":[]}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506109858061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c8063ab99095d14610064578063c272198d146100f2578063c6d4b64b1461011a578063cd9708421461012f578063ce19341114610142578063fe9f182314610155575b5f80fd5b6100b36100723660046105bc565b5f60208190529081526040902080546001909101546001600160c01b03808316926001600160401b03600160c01b9182900481169392831692919091041684565b604080516001600160c01b0395861681526001600160401b03948516602082015294909216918401919091521660608201526080015b60405180910390f35b6101056101003660046105bc565b610168565b604080519283526020830191909152016100e9565b61012d61012836600461066a565b6101e3565b005b61012d61013d366004610752565b6101ef565b61012d61015036600461077a565b6101fd565b61012d610163366004610752565b610206565b63ffffffff81165f90815260208181526040808320815160808101835281546001600160c01b038082168084526001600160401b03600160c01b93849004811697850188905260019095015491821695840186905291900490921660608201819052859491936101d9939291610210565b9250925050915091565b6101ec816102d8565b50565b6101f98282610414565b5050565b6101ec816104b8565b6101f98282610542565b5f80806102266001600160401b03871642610820565b90505f80856001600160401b031611610240576001610242565b845b6001600160401b031661025e836001600160c01b038916610839565b6102689190610850565b905080886001600160c01b031611156102935761028e816001600160c01b038a16610820565b610295565b5f5b6001600160c01b0316935083866001600160c01b031611156102c9576102c4846001600160c01b038816610820565b6102cb565b5f5b9250505094509492505050565b5f5b81518110156103d9575f805f8484815181106102f8576102f861086f565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f2090506103448383815181106103335761033361086f565b60200260200101515f01515f610414565b8282815181106103565761035661086f565b602002602001015160200151816001015f6101000a8154816001600160c01b0302191690836001600160c01b0316021790555082828151811061039b5761039b61086f565b602090810291909101015160400151600191820180546001600160401b03909216600160c01b026001600160c01b03909216919091179055016102da565b507fffd2b9ae0a02cb340b8d4e4dc984e0b19356b00f318084fb6f8aba205eeb57d4816040516104099190610883565b60405180910390a150565b63ffffffff82165f908152602081905260408120805460018201549192918291610466916001600160c01b03808316926001600160401b03600160c01b91829004811693928316929190910416610210565b915091508084111561048b5760405163a74c1c5f60e01b815260040160405180910390fd5b61049584836108f3565b6001600160c01b0316600160c01b426001600160401b0316021790925550505050565b5f5b8151811015610512575f805f8484815181106104d8576104d861086f565b60209081029190910181015163ffffffff1682528101919091526040015f206001600160401b034216600160c01b029055506001016104ba565b507f8d274fe8ff687fad9a16bb538c2a27c38ed7594a7007cfbc1be62845a4cf8118816040516104099190610906565b63ffffffff82165f90815260208190526040902080546001600160c01b031682101561058357805461057e9083906001600160c01b0316610820565b610585565b5f5b81546001600160c01b0319166001600160c01b03919091161790555050565b803563ffffffff811681146105b7575f80fd5b919050565b5f602082840312156105cc575f80fd5b6105d5826105a4565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715610612576106126105dc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610640576106406105dc565b604052919050565b5f6001600160401b03821115610660576106606105dc565b5060051b60200190565b5f602080838503121561067b575f80fd5b82356001600160401b0380821115610691575f80fd5b818501915085601f8301126106a4575f80fd5b81356106b76106b282610648565b610618565b818152606091820284018501918582019190898411156106d5575f80fd5b948601945b838610156107455780868b0312156106f0575f80fd5b6106f86105f0565b610701876105a4565b8152868801356001600160c01b038116811461071b575f80fd5b818901526040878101358781168114610732575f80fd5b90820152835294850194918601916106da565b5098975050505050505050565b5f8060408385031215610763575f80fd5b61076c836105a4565b946020939093013593505050565b5f602080838503121561078b575f80fd5b82356001600160401b038111156107a0575f80fd5b8301601f810185136107b0575f80fd5b80356107be6106b282610648565b81815260059190911b820183019083810190878311156107dc575f80fd5b928401925b82841015610801576107f2846105a4565b825292840192908401906107e1565b979650505050505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108335761083361080c565b92915050565b80820281158282048414176108335761083361080c565b5f8261086a57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b602080825282518282018190525f919060409081850190868401855b828110156108e6578151805163ffffffff168552868101516001600160c01b0316878601528501516001600160401b0316858501526060909301929085019060010161089f565b5091979650505050505050565b808201808211156108335761083361080c565b602080825282518282018190525f9190848201906040850190845b8181101561094357835163ffffffff1683529284019291840191600101610921565b5090969550505050505056fea2646970667358221220158a5e86f509873a5e9bbda7b88ecc6d6ccdb4dede21ea39d5d092601aa2d2d664736f6c63430008160033","sourceMap":"158:513:126:-:0;;;204:16;;;;;;;;;;158:513;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610060575f3560e01c8063ab99095d14610064578063c272198d146100f2578063c6d4b64b1461011a578063cd9708421461012f578063ce19341114610142578063fe9f182314610155575b5f80fd5b6100b36100723660046105bc565b5f60208190529081526040902080546001909101546001600160c01b03808316926001600160401b03600160c01b9182900481169392831692919091041684565b604080516001600160c01b0395861681526001600160401b03948516602082015294909216918401919091521660608201526080015b60405180910390f35b6101056101003660046105bc565b610168565b604080519283526020830191909152016100e9565b61012d61012836600461066a565b6101e3565b005b61012d61013d366004610752565b6101ef565b61012d61015036600461077a565b6101fd565b61012d610163366004610752565b610206565b63ffffffff81165f90815260208181526040808320815160808101835281546001600160c01b038082168084526001600160401b03600160c01b93849004811697850188905260019095015491821695840186905291900490921660608201819052859491936101d9939291610210565b9250925050915091565b6101ec816102d8565b50565b6101f98282610414565b5050565b6101ec816104b8565b6101f98282610542565b5f80806102266001600160401b03871642610820565b90505f80856001600160401b031611610240576001610242565b845b6001600160401b031661025e836001600160c01b038916610839565b6102689190610850565b905080886001600160c01b031611156102935761028e816001600160c01b038a16610820565b610295565b5f5b6001600160c01b0316935083866001600160c01b031611156102c9576102c4846001600160c01b038816610820565b6102cb565b5f5b9250505094509492505050565b5f5b81518110156103d9575f805f8484815181106102f8576102f861086f565b60200260200101515f015163ffffffff1663ffffffff1681526020019081526020015f2090506103448383815181106103335761033361086f565b60200260200101515f01515f610414565b8282815181106103565761035661086f565b602002602001015160200151816001015f6101000a8154816001600160c01b0302191690836001600160c01b0316021790555082828151811061039b5761039b61086f565b602090810291909101015160400151600191820180546001600160401b03909216600160c01b026001600160c01b03909216919091179055016102da565b507fffd2b9ae0a02cb340b8d4e4dc984e0b19356b00f318084fb6f8aba205eeb57d4816040516104099190610883565b60405180910390a150565b63ffffffff82165f908152602081905260408120805460018201549192918291610466916001600160c01b03808316926001600160401b03600160c01b91829004811693928316929190910416610210565b915091508084111561048b5760405163a74c1c5f60e01b815260040160405180910390fd5b61049584836108f3565b6001600160c01b0316600160c01b426001600160401b0316021790925550505050565b5f5b8151811015610512575f805f8484815181106104d8576104d861086f565b60209081029190910181015163ffffffff1682528101919091526040015f206001600160401b034216600160c01b029055506001016104ba565b507f8d274fe8ff687fad9a16bb538c2a27c38ed7594a7007cfbc1be62845a4cf8118816040516104099190610906565b63ffffffff82165f90815260208190526040902080546001600160c01b031682101561058357805461057e9083906001600160c01b0316610820565b610585565b5f5b81546001600160c01b0319166001600160c01b03919091161790555050565b803563ffffffff811681146105b7575f80fd5b919050565b5f602082840312156105cc575f80fd5b6105d5826105a4565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715610612576106126105dc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610640576106406105dc565b604052919050565b5f6001600160401b03821115610660576106606105dc565b5060051b60200190565b5f602080838503121561067b575f80fd5b82356001600160401b0380821115610691575f80fd5b818501915085601f8301126106a4575f80fd5b81356106b76106b282610648565b610618565b818152606091820284018501918582019190898411156106d5575f80fd5b948601945b838610156107455780868b0312156106f0575f80fd5b6106f86105f0565b610701876105a4565b8152868801356001600160c01b038116811461071b575f80fd5b818901526040878101358781168114610732575f80fd5b90820152835294850194918601916106da565b5098975050505050505050565b5f8060408385031215610763575f80fd5b61076c836105a4565b946020939093013593505050565b5f602080838503121561078b575f80fd5b82356001600160401b038111156107a0575f80fd5b8301601f810185136107b0575f80fd5b80356107be6106b282610648565b81815260059190911b820183019083810190878311156107dc575f80fd5b928401925b82841015610801576107f2846105a4565b825292840192908401906107e1565b979650505050505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108335761083361080c565b92915050565b80820281158282048414176108335761083361080c565b5f8261086a57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b602080825282518282018190525f919060409081850190868401855b828110156108e6578151805163ffffffff168552868101516001600160c01b0316878601528501516001600160401b0316858501526060909301929085019060010161089f565b5091979650505050505050565b808201808211156108335761083361080c565b602080825282518282018190525f9190848201906040850190845b8181101561094357835163ffffffff1683529284019291840191600101610921565b5090969550505050505056fea2646970667358221220158a5e86f509873a5e9bbda7b88ecc6d6ccdb4dede21ea39d5d092601aa2d2d664736f6c63430008160033","sourceMap":"158:513:126:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5993:59:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5993:59:15;;;;-1:-1:-1;;;;;;;;5993:59:15;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;654:15:133;;;636:34;;-1:-1:-1;;;;;743:15:133;;;738:2;723:18;;716:43;795:15;;;;775:18;;;768:43;;;;847:15;842:2;827:18;;820:43;585:3;570:19;5993:59:15;;;;;;;;7116:290;;;;;;:::i;:::-;;:::i;:::-;;;;1048:25:133;;;1104:2;1089:18;;1082:34;;;;1021:18;7116:290:15;874:248:133;226:126:126;;;;;;:::i;:::-;;:::i;:::-;;461:102;;;;;;:::i;:::-;;:::i;358:97::-;;;;;;:::i;:::-;;:::i;569:100::-;;;;;;:::i;:::-;;:::i;7116:290:15:-;7291:19;;;7203:29;7291:19;;;;;;;;;;;7269:41;;;;;;;;;-1:-1:-1;;;;;7269:41:15;;;;;;-1:-1:-1;;;;;;;;7269:41:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7203:29;;7269:41;;7327:72;;7269:41;;7327:16;:72::i;:::-;7320:79;;;;;7116:290;;;:::o;226:126:126:-;312:33;327:17;312:14;:33::i;:::-;226:126;:::o;461:102::-;530:26;539:7;548;530:8;:26::i;:::-;461:102;;:::o;358:97::-;425:23;442:5;425:16;:23::i;569:100::-;637:25;645:7;654;637;:25::i;9599:770:15:-;9772:29;;;9869:30;-1:-1:-1;;;;;9869:30:15;;:15;:30;:::i;:::-;9838:61;;9948:13;10009:1;9999:7;-1:-1:-1;;;;;9999:11:15;;:25;;10023:1;9999:25;;;10013:7;9999:25;-1:-1:-1;;;;;9964:61:15;9965:29;9974:20;-1:-1:-1;;;;;9965:29:15;;;:::i;:::-;9964:61;;;;:::i;:::-;9948:77;;10114:5;10095:15;-1:-1:-1;;;;;10095:24:15;;;:54;;10126:23;10144:5;-1:-1:-1;;;;;10126:23:15;;;:::i;:::-;10095:54;;;10122:1;10095:54;-1:-1:-1;;;;;10063:87:15;;;10304:21;10294:6;-1:-1:-1;;;;;10294:31:15;;;:68;;10332:30;10341:21;-1:-1:-1;;;;;10332:30:15;;;:::i;:::-;10294:68;;;10328:1;10294:68;10276:86;;9828:541;;9599:770;;;;;;;:::o;7767:724::-;7891:9;7886:538;7910:17;:24;7906:1;:28;7886:538;;;7959:20;7982:10;:39;7993:17;8011:1;7993:20;;;;;;;;:::i;:::-;;;;;;;:27;;;7982:39;;;;;;;;;;;;;;;7959:62;;8159:40;8168:17;8186:1;8168:20;;;;;;;;:::i;:::-;;;;;;;:27;;;8197:1;8159:8;:40::i;:::-;8326:17;8344:1;8326:20;;;;;;;;:::i;:::-;;;;;;;:26;;;8315:2;:8;;;:37;;;;;-1:-1:-1;;;;;8315:37:15;;;;;-1:-1:-1;;;;;8315:37:15;;;;;;8382:17;8400:1;8382:20;;;;;;;;:::i;:::-;;;;;;;;;;;:27;;;8370:9;;;;:39;;-1:-1:-1;;;;;8370:39:15;;;-1:-1:-1;;;8370:39:15;-1:-1:-1;;;;;8370:39:15;;;;;;;;;7936:3;7886:538;;;;8448:36;8466:17;8448:36;;;;;;:::i;:::-;;;;;;;;7767:724;:::o;10781:701::-;10984:19;;;10961:20;10984:19;;;;;;;;;;11103:17;;;11162:8;;;10984:19;;10961:20;;;11073:130;;-1:-1:-1;;;;;11103:17:15;;;;-1:-1:-1;;;;;;;;11134:14:15;;;;;;;11162:8;;;;11184:9;;;;;11073:16;:130::i;:::-;11014:189;;;;11227:15;11217:7;:25;11213:57;;;11251:19;;-1:-1:-1;;;11251:19:15;;;;;;;;;;;11213:57;11393:31;11417:7;11393:21;:31;:::i;:::-;-1:-1:-1;;;;;11365:60:15;-1:-1:-1;;;11459:15:15;-1:-1:-1;;;;;11435:40:15;;;;;;-1:-1:-1;;;;10781:701:15:o;8673:341::-;8754:9;8749:222;8773:5;:12;8769:1;:16;8749:222;;;8806:27;8836:10;:20;8847:5;8853:1;8847:8;;;;;;;;:::i;:::-;;;;;;;;;;;;8836:20;;;;;;;;;;;;-1:-1:-1;8836:20:15;-1:-1:-1;;;;;8944:15:15;8913:47;-1:-1:-1;;;8913:47:15;;;-1:-1:-1;8871:28:15;8787:3;8749:222;;;;8985:22;9001:5;8985:22;;;;;;:::i;11909:227::-;12009:19;;;11986:20;12009:19;;;;;;;;;;12077:17;;-1:-1:-1;;;;;12077:17:15;12066:28;;;:62;;12101:17;;:27;;12121:7;;-1:-1:-1;;;;;12101:17:15;:27;:::i;:::-;12066:62;;;12097:1;12066:62;12038:91;;-1:-1:-1;;;;;;12038:91:15;-1:-1:-1;;;;;12038:91:15;;;;;;;-1:-1:-1;;11909:227:15:o;14:163:133:-;81:20;;141:10;130:22;;120:33;;110:61;;167:1;164;157:12;110:61;14:163;;;:::o;182:184::-;240:6;293:2;281:9;272:7;268:23;264:32;261:52;;;309:1;306;299:12;261:52;332:28;350:9;332:28;:::i;:::-;322:38;182:184;-1:-1:-1;;;182:184:133:o;1127:127::-;1188:10;1183:3;1179:20;1176:1;1169:31;1219:4;1216:1;1209:15;1243:4;1240:1;1233:15;1259:253;1331:2;1325:9;1373:4;1361:17;;-1:-1:-1;;;;;1393:34:133;;1429:22;;;1390:62;1387:88;;;1455:18;;:::i;:::-;1491:2;1484:22;1259:253;:::o;1517:275::-;1588:2;1582:9;1653:2;1634:13;;-1:-1:-1;;1630:27:133;1618:40;;-1:-1:-1;;;;;1673:34:133;;1709:22;;;1670:62;1667:88;;;1735:18;;:::i;:::-;1771:2;1764:22;1517:275;;-1:-1:-1;1517:275:133:o;1797:198::-;1872:4;-1:-1:-1;;;;;1897:6:133;1894:30;1891:56;;;1927:18;;:::i;:::-;-1:-1:-1;1972:1:133;1968:14;1984:4;1964:25;;1797:198::o;2000:1509::-;2117:6;2148:2;2191;2179:9;2170:7;2166:23;2162:32;2159:52;;;2207:1;2204;2197:12;2159:52;2247:9;2234:23;-1:-1:-1;;;;;2317:2:133;2309:6;2306:14;2303:34;;;2333:1;2330;2323:12;2303:34;2371:6;2360:9;2356:22;2346:32;;2416:7;2409:4;2405:2;2401:13;2397:27;2387:55;;2438:1;2435;2428:12;2387:55;2474:2;2461:16;2497:75;2513:58;2568:2;2513:58;:::i;:::-;2497:75;:::i;:::-;2606:15;;;2668:4;2707:13;;;2699:22;;2695:31;;;2637:12;;;;2594:3;2738:19;;;2735:39;;;2770:1;2767;2760:12;2735:39;2794:11;;;;2814:665;2830:6;2825:3;2822:15;2814:665;;;2910:2;2904:3;2895:7;2891:17;2887:26;2884:46;;;2926:1;2923;2916:12;2884:46;2956:22;;:::i;:::-;3005;3023:3;3005:22;:::i;:::-;2991:37;;3069:12;;;3056:26;-1:-1:-1;;;;;3117:33:133;;3105:46;;3095:74;;3165:1;3162;3155:12;3095:74;3189:14;;;3182:31;3236:2;3279:12;;;3266:26;3327:16;;;3315:29;;3305:57;;3358:1;3355;3348:12;3305:57;3382:14;;;3375:31;3419:18;;2847:12;;;;3457;;;;2814:665;;;-1:-1:-1;3498:5:133;2000:1509;-1:-1:-1;;;;;;;;2000:1509:133:o;3514:252::-;3581:6;3589;3642:2;3630:9;3621:7;3617:23;3613:32;3610:52;;;3658:1;3655;3648:12;3610:52;3681:28;3699:9;3681:28;:::i;:::-;3671:38;3756:2;3741:18;;;;3728:32;;-1:-1:-1;;;3514:252:133:o;3771:910::-;3854:6;3885:2;3928;3916:9;3907:7;3903:23;3899:32;3896:52;;;3944:1;3941;3934:12;3896:52;3984:9;3971:23;-1:-1:-1;;;;;4009:6:133;4006:30;4003:50;;;4049:1;4046;4039:12;4003:50;4072:22;;4125:4;4117:13;;4113:27;-1:-1:-1;4103:55:133;;4154:1;4151;4144:12;4103:55;4190:2;4177:16;4213:75;4229:58;4284:2;4229:58;:::i;4213:75::-;4322:15;;;4404:1;4400:10;;;;4392:19;;4388:28;;;4353:12;;;;4428:19;;;4425:39;;;4460:1;4457;4450:12;4425:39;4484:11;;;;4504:147;4520:6;4515:3;4512:15;4504:147;;;4586:22;4604:3;4586:22;:::i;:::-;4574:35;;4537:12;;;;4629;;;;4504:147;;;4670:5;3771:910;-1:-1:-1;;;;;;;3771:910:133:o;4686:127::-;4747:10;4742:3;4738:20;4735:1;4728:31;4778:4;4775:1;4768:15;4802:4;4799:1;4792:15;4818:128;4885:9;;;4906:11;;;4903:37;;;4920:18;;:::i;:::-;4818:128;;;;:::o;4951:168::-;5024:9;;;5055;;5072:15;;;5066:22;;5052:37;5042:71;;5093:18;;:::i;5124:217::-;5164:1;5190;5180:132;;5234:10;5229:3;5225:20;5222:1;5215:31;5269:4;5266:1;5259:15;5297:4;5294:1;5287:15;5180:132;-1:-1:-1;5326:9:133;;5124:217::o;5346:127::-;5407:10;5402:3;5398:20;5395:1;5388:31;5438:4;5435:1;5428:15;5462:4;5459:1;5452:15;5478:927;5715:2;5767:21;;;5837:13;;5740:18;;;5859:22;;;5686:4;;5715:2;5900;;5918:18;;;;5959:15;;;5686:4;6002:377;6016:6;6013:1;6010:13;6002:377;;;6075:13;;6117:9;;6128:10;6113:26;6101:39;;6184:11;;;6178:18;-1:-1:-1;;;;;6174:44:133;6160:12;;;6153:66;6263:11;;6257:18;-1:-1:-1;;;;;6253:43:133;6239:12;;;6232:65;6326:4;6317:14;;;;6354:15;;;;6215:1;6031:9;6002:377;;;-1:-1:-1;6396:3:133;;5478:927;-1:-1:-1;;;;;;;5478:927:133:o;6410:125::-;6475:9;;;6496:10;;;6493:36;;;6509:18;;:::i;6540:647::-;6709:2;6761:21;;;6831:13;;6734:18;;;6853:22;;;6680:4;;6709:2;6932:15;;;;6906:2;6891:18;;;6680:4;6975:186;6989:6;6986:1;6983:13;6975:186;;;7054:13;;7069:10;7050:30;7038:43;;7136:15;;;;7101:12;;;;7011:1;7004:9;6975:186;;;-1:-1:-1;7178:3:133;;6540:647;-1:-1:-1;;;;;;6540:647:133:o","linkReferences":{}},"methodIdentifiers":{"getAmountCanBeSent(uint32)":"c272198d","inflow(uint32,uint256)":"fe9f1823","outflow(uint32,uint256)":"cd970842","rateLimits(uint32)":"ab99095d","resetRateLimits(uint32[])":"ce193411","setRateLimits((uint32,uint192,uint64)[])":"c6d4b64b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"RateLimitExceeded\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"internalType\":\"uint192\",\"name\":\"limit\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"window\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct RateLimiter.RateLimitConfig[]\",\"name\":\"rateLimitConfigs\",\"type\":\"tuple[]\"}],\"name\":\"RateLimitsChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32[]\",\"name\":\"eids\",\"type\":\"uint32[]\"}],\"name\":\"RateLimitsReset\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"}],\"name\":\"getAmountCanBeSent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentAmountInFlight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountCanBeSent\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_srcEid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"inflow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_dstEid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"outflow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"}],\"name\":\"rateLimits\",\"outputs\":[{\"internalType\":\"uint192\",\"name\":\"amountInFlight\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"lastUpdated\",\"type\":\"uint64\"},{\"internalType\":\"uint192\",\"name\":\"limit\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"window\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"_eids\",\"type\":\"uint32[]\"}],\"name\":\"resetRateLimits\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"dstEid\",\"type\":\"uint32\"},{\"internalType\":\"uint192\",\"name\":\"limit\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"window\",\"type\":\"uint64\"}],\"internalType\":\"struct RateLimiter.RateLimitConfig[]\",\"name\":\"_rateLimitConfigs\",\"type\":\"tuple[]\"}],\"name\":\"setRateLimits\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RateLimitsChanged((uint32,uint192,uint64)[])\":{\"params\":{\"rateLimitConfigs\":\"An array of `RateLimitConfig` structs representing the rate limit configurations set. - `dstEid`: The destination endpoint id. - `limit`: This represents the maximum allowed amount within a given window. - `window`: Defines the duration of the rate limiting window.\"}},\"RateLimitsReset(uint32[])\":{\"params\":{\"eids\":\"The endpoint ids that were reset.\"}}},\"kind\":\"dev\",\"methods\":{\"getAmountCanBeSent(uint32)\":{\"params\":{\"_dstEid\":\"The destination endpoint id.\"},\"returns\":{\"amountCanBeSent\":\"The amount that can be sent.\",\"currentAmountInFlight\":\"The current amount that was sent.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"RateLimitExceeded()\":[{\"notice\":\"Error that is thrown when an amount exceeds the rate_limit.\"}]},\"events\":{\"RateLimitsChanged((uint32,uint192,uint64)[])\":{\"notice\":\"Emitted when _setRateLimits occurs.\"},\"RateLimitsReset(uint32[])\":{\"notice\":\"Emitted when _resetRateLimits occurs.\"}},\"kind\":\"user\",\"methods\":{\"getAmountCanBeSent(uint32)\":{\"notice\":\"Get the current amount that can be sent to this destination endpoint id for the given rate limit window.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/RateLimiter.t.sol\":\"RateLimiterImpl\"},\"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/oapp/utils/RateLimiter.sol\":{\"keccak256\":\"0x64447fb6919fc44473d68d2f4c410f5ae16c5ee17a2e1cd1853559bd4f071714\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94b5a6de6ecb9cf07453bfbf82ae038a46090b605a25bbdeadbd35fc0d7a8970\",\"dweb:/ipfs/QmZiGHf6PraprTHRL8u7SDBzk3mecEKupe1wDePkrmUW6e\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351\",\"dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138\",\"dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/Vm.sol\":{\"keccak256\":\"0x399d0b11c8e4e902b6c95c21c187968e62e1bd2a86b8f6dad882c399a05404c1\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://82618dd9135c30870716bb9561f238b68b0c46cff6c7311a3d4b1c35a541c633\",\"dweb:/ipfs/QmSw3gEwXthgoDAqE3gemC5JfQnBnRBTFGEJaDNBj7JwxH\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"test/RateLimiter.t.sol\":{\"keccak256\":\"0xa9408f9ca85873e3e3ec8c1e39550ade1cd528e55e815e68df32e6ca7458cfa5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a7cb8fd82ca8458b166eaf9cb71e96ea0b79e77353330742d5f01b96c65f295d\",\"dweb:/ipfs/QmWwNinrb4GgrPzL6CibEZ4EJGgrvCrAnPivCXBZ4XWgKH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.22+commit.4fc1097e"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"RateLimitExceeded"},{"inputs":[{"internalType":"struct RateLimiter.RateLimitConfig[]","name":"rateLimitConfigs","type":"tuple[]","components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"uint192","name":"limit","type":"uint192"},{"internalType":"uint64","name":"window","type":"uint64"}],"indexed":false}],"type":"event","name":"RateLimitsChanged","anonymous":false},{"inputs":[{"internalType":"uint32[]","name":"eids","type":"uint32[]","indexed":false}],"type":"event","name":"RateLimitsReset","anonymous":false},{"inputs":[{"internalType":"uint32","name":"_dstEid","type":"uint32"}],"stateMutability":"view","type":"function","name":"getAmountCanBeSent","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeSent","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"_srcEid","type":"uint32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"inflow"},{"inputs":[{"internalType":"uint32","name":"_dstEid","type":"uint32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"outflow"},{"inputs":[{"internalType":"uint32","name":"dstEid","type":"uint32"}],"stateMutability":"view","type":"function","name":"rateLimits","outputs":[{"internalType":"uint192","name":"amountInFlight","type":"uint192"},{"internalType":"uint64","name":"lastUpdated","type":"uint64"},{"internalType":"uint192","name":"limit","type":"uint192"},{"internalType":"uint64","name":"window","type":"uint64"}]},{"inputs":[{"internalType":"uint32[]","name":"_eids","type":"uint32[]"}],"stateMutability":"nonpayable","type":"function","name":"resetRateLimits"},{"inputs":[{"internalType":"struct RateLimiter.RateLimitConfig[]","name":"_rateLimitConfigs","type":"tuple[]","components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"uint192","name":"limit","type":"uint192"},{"internalType":"uint64","name":"window","type":"uint64"}]}],"stateMutability":"nonpayable","type":"function","name":"setRateLimits"}],"devdoc":{"kind":"dev","methods":{"getAmountCanBeSent(uint32)":{"params":{"_dstEid":"The destination endpoint id."},"returns":{"amountCanBeSent":"The amount that can be sent.","currentAmountInFlight":"The current amount that was sent."}}},"version":1},"userdoc":{"kind":"user","methods":{"getAmountCanBeSent(uint32)":{"notice":"Get the current amount that can be sent to this destination endpoint id for the given rate limit window."}},"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/RateLimiter.t.sol":"RateLimiterImpl"},"evmVersion":"shanghai","libraries":{}},"sources":{"contracts/oapp/utils/RateLimiter.sol":{"keccak256":"0x64447fb6919fc44473d68d2f4c410f5ae16c5ee17a2e1cd1853559bd4f071714","urls":["bzz-raw://94b5a6de6ecb9cf07453bfbf82ae038a46090b605a25bbdeadbd35fc0d7a8970","dweb:/ipfs/QmZiGHf6PraprTHRL8u7SDBzk3mecEKupe1wDePkrmUW6e"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/Base.sol":{"keccak256":"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd","urls":["bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d","dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdAssertions.sol":{"keccak256":"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270","urls":["bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe","dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdChains.sol":{"keccak256":"0xd3edaf57db178f839d97ccee0009c2b7b20f78c2adca9028a6013acb8d5b4c5e","urls":["bzz-raw://0f17329ac1d25d3e6657ca240dee0a3f9b2cf22a64a05b87dac15252dee74351","dweb:/ipfs/QmPHxkEwgVpQNbU52s58RmmegrkYGj8bNKTVSW8rZm3dBm"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdCheats.sol":{"keccak256":"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746","urls":["bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41","dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdInvariant.sol":{"keccak256":"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d","urls":["bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391","dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdJson.sol":{"keccak256":"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500","urls":["bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974","dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdStorage.sol":{"keccak256":"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc","urls":["bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57","dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdToml.sol":{"keccak256":"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861","urls":["bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3","dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/StdUtils.sol":{"keccak256":"0x7274081e11c05164fd8eadde4de8305c033e58a43008dea58065f3170ccf0737","urls":["bzz-raw://e9801614b6c9d3e472982e6cc68f5f1ad03682f84eafb686be65633c7132d138","dweb:/ipfs/QmcQSUcrm2A7XuektnxJjvYGmZtBeA6LKPxCXRqdXBX776"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/Test.sol":{"keccak256":"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c","urls":["bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4","dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/Vm.sol":{"keccak256":"0x399d0b11c8e4e902b6c95c21c187968e62e1bd2a86b8f6dad882c399a05404c1","urls":["bzz-raw://82618dd9135c30870716bb9561f238b68b0c46cff6c7311a3d4b1c35a541c633","dweb:/ipfs/QmSw3gEwXthgoDAqE3gemC5JfQnBnRBTFGEJaDNBj7JwxH"],"license":"MIT OR Apache-2.0"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/@layerzerolabs/toolbox-foundry/src/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"test/RateLimiter.t.sol":{"keccak256":"0xa9408f9ca85873e3e3ec8c1e39550ade1cd528e55e815e68df32e6ca7458cfa5","urls":["bzz-raw://a7cb8fd82ca8458b166eaf9cb71e96ea0b79e77353330742d5f01b96c65f295d","dweb:/ipfs/QmWwNinrb4GgrPzL6CibEZ4EJGgrvCrAnPivCXBZ4XWgKH"],"license":"UNLICENSED"}},"version":1},"id":126}