{"abi":[{"type":"constructor","inputs":[{"name":"args","type":"tuple","internalType":"struct FeeManager.ConstructorArgs","components":[{"name":"LIMIT_CHANGE_NOTICE_DURATION","type":"uint32","internalType":"uint32"},{"name":"FEE_CHANGE_NOTICE_DURATION","type":"uint32","internalType":"uint32"},{"name":"MAX_INCREASE_ORDER_FEE_PCT","type":"uint8","internalType":"uint8"},{"name":"MAX_INCREASE_TRANCHE_FEE_PCT","type":"uint8","internalType":"uint8"},{"name":"fees","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]},{"name":"limits","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]},{"name":"admin","type":"address","internalType":"address"},{"name":"orderFeeAccount","type":"address","internalType":"address payable"},{"name":"gasFeeAccount","type":"address","internalType":"address payable"},{"name":"fillFeeAccount","type":"address","internalType":"address payable"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"FEE_CHANGE_NOTICE_DURATION","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"LIMIT_CHANGE_NOTICE_DURATION","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_INCREASE_ORDER_FEE_PCT","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"MAX_INCREASE_TRANCHE_FEE_PCT","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fees","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"fillFeeAccount","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"gasFeeAccount","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"limits","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"orderFeeAccount","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"proposedFeeActivationTime","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"proposedFees","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"proposedLimitActivationTime","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"proposedLimits","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"setFeeAccounts","inputs":[{"name":"fillFeeAccount_","type":"address","internalType":"address payable"},{"name":"orderFeeAccount_","type":"address","internalType":"address payable"},{"name":"gasFeeAccount_","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFees","inputs":[{"name":"sched","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setLimits","inputs":[{"name":"sched","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"FeeLimitsChanged","inputs":[{"name":"limits","type":"tuple","indexed":true,"internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"anonymous":false},{"type":"event","name":"FeeLimitsProposed","inputs":[{"name":"limits","type":"tuple","indexed":true,"internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]},{"name":"activationTime","type":"uint32","indexed":true,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"FeesChanged","inputs":[{"name":"fees","type":"tuple","indexed":true,"internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"anonymous":false},{"type":"event","name":"FeesProposed","inputs":[{"name":"fees","type":"tuple","indexed":true,"internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]},{"name":"activationTime","type":"uint32","indexed":true,"internalType":"uint32"}],"anonymous":false}],"bytecode":{"object":"0x610120604052346103d3576040516116303881900390601f8201601f19168301906001600160401b038211848310176103d857829160405283398101610240828203126103d357604051600092909161014083016001600160401b038111848210176103bf57604052610071826103ee565b835261007f602083016103ee565b9060208401918252610093604084016103ff565b93604081019485526100a7606085016103ff565b92606082019384526100d16100bf846080880161040d565b9360808401948552610120870161040d565b60a083019081526101c08601519095906001600160a01b03811681036103bb5760ff6102d196816103379a63ffffffff889760c089019687528161014161022061011e6101e08c01610486565b9a60e08d019b8c526101006101366102008301610486565b9d019c8d5201610486565b9a61012081019b8c525116608052511660a052511660c052511660e052845160ff815116908a549161ff00602083015160081b169062ff0000604084015160101b169164ff00000000608063ff000000606087015160181b1695015160201b169464ff00000000199263ff000000199162ffffff1916171617161717178955865160ff815116906001549161ff00602083015160081b169062ff0000604084015160101b169164ff00000000608063ff000000606087015160181b1695015160201b169464ff00000000199263ff000000199162ffffff19161716171617171760015560018060a01b03905116610100525160055490640100000000600160c01b039060201b1690640100000000600160c01b0319161760055560018060a01b0390511660018060a01b0319600654161760065560018060a01b0390511660018060a01b031960075416176007555160a09060ff60806040519282815116845282602082015116602085015282604082015116604085015282606082015116606085015201511660808201522090565b7f6b70211f17be77ef10da93671831209be5e36d99f83d0af732a06620014dbd3c8480a25160a09060ff60806040519282815116845282602082015116602085015282604082015116604085015282606082015116606085015201511660808201522090565b7fc2c2b17cbe5e4e289c8ffa4a475958e90abf0424b118e08c384fc284625338af6040519280a2611195908161049b82396080518181816102160152610676015260a05181818161035d0152610b52015260c05181610c0a015260e051816103b90152610100518181816101b70152818161051a015281816107a201526109700152f35b8880fd5b634e487b7160e01b85526041600452602485fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b519063ffffffff821682036103d357565b519060ff821682036103d357565b91908260a09103126103d35760405160a081016001600160401b038111828210176103d8576040526080610481818395610446816103ff565b8552610454602082016103ff565b6020860152610465604082016103ff565b6040860152610476606082016103ff565b6060860152016103ff565b910152565b51906001600160a01b03821682036103d35756fe608080604052600436101561001357600080fd5b60003560e01c9081631db89da114610c2e5750806344a505db14610bd2578063478c3b1a1461092557806357d1c53d146108685780635800bc7b146106f6578063591cef8f146104cf5780636f7a24581461048d578063860aefcf146104535780639af1d35a146103dd578063ab1a57a814610381578063c0021df114610322578063d0c683b1146102e0578063ea43b36b1461028e578063ebd3cdcd1461023a578063f1d08853146101db578063f851a4401461016c5763f9828cff146100da57600080fd5b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757610111610e89565b5061016361011d610eb4565b60405191829182919091608060ff8160a0840195828151168552826020820151166020860152826040820151166040860152826060820151166060860152015116910152565b0390f35b600080fd5b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602073ffffffffffffffffffffffffffffffffffffffff600554821c16604051908152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602073ffffffffffffffffffffffffffffffffffffffff60075416604051908152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602063ffffffff60035416604051908152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757610414610e89565b5063ffffffff600354168015159081610448575b501561043b5761016361011d6002610ef3565b61016361011d6000610ef3565b905042101581610428565b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675761016361011d610f31565b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602063ffffffff60055416604051908152f35b346101675760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757600061054173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314610c7d565b610549610f75565b60ff610553610ce2565b167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006004541617600455610585610cf2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006004549260081b169116176004556105bf610d02565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006004549260101b169116176004556105fa610d12565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff63ff0000006004549260181b16911617600455610636610d22565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff64ff000000006004549260201b1691161760045563ffffffff61069c817f00000000000000000000000000000000000000000000000000000000000000001642610d97565b16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060055416176005556106cf610dd3565b7f633123e8c6bc7eb742d7524d9584642f04bbc47f7e900c57909de46fbc2b34968380a380f35b346101675760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675760043573ffffffffffffffffffffffffffffffffffffffff81168091036101675760243573ffffffffffffffffffffffffffffffffffffffff81168103610167576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610167576107c973ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314610c7d565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060075416176007557fffffffffffffffff0000000000000000000000000000000000000000ffffffff77ffffffffffffffffffffffffffffffffffffffff000000006005549260201b169116176005557fffffffffffffffffffffffff00000000000000000000000000000000000000006006541617600655600080f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675761089f610e89565b506101636108ab610e3a565b60ff6004548181168352818160081c166020840152818160101c166040840152818160181c16606084015260201c16608082015260405191829182919091608060ff8160a0840195828151168552826020820151166020860152826040820151166040860152826060820151166060860152015116910152565b346101675760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757600061099773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314610c7d565b61099f610f75565b610a256109aa610f31565b6109d960ff6109b7610ce2565b1660ff6109c2610cf2565b161b60ff83511660ff6020850151161b1015610d32565b610a0b60ff6109e6610d02565b1660ff6109f1610d12565b161b60ff60408401511660ff6060850151161b1015610d32565b60ff806080610a18610d22565b9301511691161115610d32565b60ff610a2f610ce2565b167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541617600255610a61610cf2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006002549260081b16911617600255610a9b610d02565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006002549260101b16911617600255610ad6610d12565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff63ff0000006002549260181b16911617600255610b12610d22565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff64ff000000006002549260201b1691161760025563ffffffff610b78817f00000000000000000000000000000000000000000000000000000000000000001642610d97565b16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000006003541617600355610bab610dd3565b7f1b9ba1eeed6885eb6b63df058a321a2e4299a0b65a613a47927282306f7995108380a380f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675760209073ffffffffffffffffffffffffffffffffffffffff600654168152f35b15610c8457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e00000000000000000000000000000000000000000000006044820152fd5b60043560ff811681036101675790565b60243560ff811681036101675790565b60443560ff811681036101675790565b60643560ff811681036101675790565b60843560ff811681036101675790565b15610d3957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f464c0000000000000000000000000000000000000000000000000000000000006044820152fd5b91908201809211610da457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60405160043560ff811680910361016757815260243560ff811680910361016757602082015260443560ff811680910361016757604082015260643560ff81168091036101675760608201526084359060ff82168092036101675760a09160808201522090565b6040519060a0820182811067ffffffffffffffff821117610e5a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e91610e3a565b906000825260006020830152600060408301526000606083015260006080830152565b610ebc610e3a565b9060ff6002548181168452818160081c166020850152818160101c166040850152818160181c16606085015260201c166080830152565b9060ff610efe610e3a565b92548181168452818160081c166020850152818160101c166040850152818160181c16606085015260201c166080830152565b610f39610e89565b5063ffffffff600554168015159081610f6a575b5015610f6057610f5d6004610ef3565b90565b610f5d6001610ef3565b905042101538610f4d565b63ffffffff600554168015159081611154575b506110d5575b63ffffffff6003541680151590816110ca575b50610fa857565b6080610fb2610eb4565b60ff815116602082019060ff8251161b6001549160ff83169160ff8460081c1693604086019360ff85511695606088019660ff8851161b9160ff808560101c169460181c169481831b106110bf575b505081831b106110b4575b505083516000805492519351945196909501517fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000090921660ff919091161760089290921b61ff00169190911760109290921b62ff0000169190911760189390931b63ff000000169290921760209290921b64ff0000000016919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169055565b83528352388061100c565b885284523880611001565b905042101538610fa1565b600454600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000001660ff83161761ff0083161762ff000083161763ff00000083161764ff00000000909216919091179055600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169055610f8e565b905042101538610f8856fea2646970667358221220913a8c5c7421eb73f09a8a72d42d461ef8e423c186b3aae7483401759bddeab764736f6c634300081a0033","sourceMap":"2283:5955:58:-:0;;;;;;;;;;;;;;;;;-1:-1:-1;;2283:5955:58;;;;-1:-1:-1;;;;;2283:5955:58;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2283:5955:58;;;;;-1:-1:-1;;;;;2283:5955:58;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;2283:5955:58;;;;;;;4933:22;2283:5955;;4970:29;2283:5955;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;4413:64;2283:5955;;;4487:60;2283:5955;;;4557:60;2283:5955;;;4627:64;4710:9;;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4739:11;;2283:5955;;;;;4729:21;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4729:21;2283:5955;;;;;;;;;;4761:18;2283:5955;4789:38;2283:5955;;;;;;;;;;;;;;;;;;;;4789:38;2283:5955;;;;;;;;;;;;;;;4837:34;2283:5955;;;4837:34;2283:5955;;;;;;;;;;;;;;;4881:36;2283:5955;;;4881:36;2283:5955;4945:9;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4933:22;;;;;4987:11;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4970:29;;2283:5955;;4970:29;;;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2283:5955:58;;;;;;;;;-1:-1:-1;2283:5955:58;;;;;;-1:-1:-1;2283:5955:58;;;;;-1:-1:-1;2283:5955:58;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;2283:5955:58;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;-1:-1:-1;;;;;2283:5955:58;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608080604052600436101561001357600080fd5b60003560e01c9081631db89da114610c2e5750806344a505db14610bd2578063478c3b1a1461092557806357d1c53d146108685780635800bc7b146106f6578063591cef8f146104cf5780636f7a24581461048d578063860aefcf146104535780639af1d35a146103dd578063ab1a57a814610381578063c0021df114610322578063d0c683b1146102e0578063ea43b36b1461028e578063ebd3cdcd1461023a578063f1d08853146101db578063f851a4401461016c5763f9828cff146100da57600080fd5b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757610111610e89565b5061016361011d610eb4565b60405191829182919091608060ff8160a0840195828151168552826020820151166020860152826040820151166040860152826060820151166060860152015116910152565b0390f35b600080fd5b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602073ffffffffffffffffffffffffffffffffffffffff600554821c16604051908152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602073ffffffffffffffffffffffffffffffffffffffff60075416604051908152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602063ffffffff60035416604051908152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757610414610e89565b5063ffffffff600354168015159081610448575b501561043b5761016361011d6002610ef3565b61016361011d6000610ef3565b905042101581610428565b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675761016361011d610f31565b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602063ffffffff60055416604051908152f35b346101675760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757600061054173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314610c7d565b610549610f75565b60ff610553610ce2565b167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006004541617600455610585610cf2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006004549260081b169116176004556105bf610d02565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006004549260101b169116176004556105fa610d12565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff63ff0000006004549260181b16911617600455610636610d22565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff64ff000000006004549260201b1691161760045563ffffffff61069c817f00000000000000000000000000000000000000000000000000000000000000001642610d97565b16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060055416176005556106cf610dd3565b7f633123e8c6bc7eb742d7524d9584642f04bbc47f7e900c57909de46fbc2b34968380a380f35b346101675760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675760043573ffffffffffffffffffffffffffffffffffffffff81168091036101675760243573ffffffffffffffffffffffffffffffffffffffff81168103610167576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610167576107c973ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314610c7d565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060075416176007557fffffffffffffffff0000000000000000000000000000000000000000ffffffff77ffffffffffffffffffffffffffffffffffffffff000000006005549260201b169116176005557fffffffffffffffffffffffff00000000000000000000000000000000000000006006541617600655600080f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675761089f610e89565b506101636108ab610e3a565b60ff6004548181168352818160081c166020840152818160101c166040840152818160181c16606084015260201c16608082015260405191829182919091608060ff8160a0840195828151168552826020820151166020860152826040820151166040860152826060820151166060860152015116910152565b346101675760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757600061099773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314610c7d565b61099f610f75565b610a256109aa610f31565b6109d960ff6109b7610ce2565b1660ff6109c2610cf2565b161b60ff83511660ff6020850151161b1015610d32565b610a0b60ff6109e6610d02565b1660ff6109f1610d12565b161b60ff60408401511660ff6060850151161b1015610d32565b60ff806080610a18610d22565b9301511691161115610d32565b60ff610a2f610ce2565b167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006002541617600255610a61610cf2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006002549260081b16911617600255610a9b610d02565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff00006002549260101b16911617600255610ad6610d12565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff63ff0000006002549260181b16911617600255610b12610d22565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff64ff000000006002549260201b1691161760025563ffffffff610b78817f00000000000000000000000000000000000000000000000000000000000000001642610d97565b16807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000006003541617600355610bab610dd3565b7f1b9ba1eeed6885eb6b63df058a321a2e4299a0b65a613a47927282306f7995108380a380f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016757602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101675760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101675760209073ffffffffffffffffffffffffffffffffffffffff600654168152f35b15610c8457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f742061646d696e00000000000000000000000000000000000000000000006044820152fd5b60043560ff811681036101675790565b60243560ff811681036101675790565b60443560ff811681036101675790565b60643560ff811681036101675790565b60843560ff811681036101675790565b15610d3957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f464c0000000000000000000000000000000000000000000000000000000000006044820152fd5b91908201809211610da457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60405160043560ff811680910361016757815260243560ff811680910361016757602082015260443560ff811680910361016757604082015260643560ff81168091036101675760608201526084359060ff82168092036101675760a09160808201522090565b6040519060a0820182811067ffffffffffffffff821117610e5a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e91610e3a565b906000825260006020830152600060408301526000606083015260006080830152565b610ebc610e3a565b9060ff6002548181168452818160081c166020850152818160101c166040850152818160181c16606085015260201c166080830152565b9060ff610efe610e3a565b92548181168452818160081c166020850152818160101c166040850152818160181c16606085015260201c166080830152565b610f39610e89565b5063ffffffff600554168015159081610f6a575b5015610f6057610f5d6004610ef3565b90565b610f5d6001610ef3565b905042101538610f4d565b63ffffffff600554168015159081611154575b506110d5575b63ffffffff6003541680151590816110ca575b50610fa857565b6080610fb2610eb4565b60ff815116602082019060ff8251161b6001549160ff83169160ff8460081c1693604086019360ff85511695606088019660ff8851161b9160ff808560101c169460181c169481831b106110bf575b505081831b106110b4575b505083516000805492519351945196909501517fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000090921660ff919091161760089290921b61ff00169190911760109290921b62ff0000169190911760189390931b63ff000000169290921760209290921b64ff0000000016919091179055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169055565b83528352388061100c565b885284523880611001565b905042101538610fa1565b600454600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000001660ff83161761ff0083161762ff000083161763ff00000083161764ff00000000909216919091179055600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169055610f8e565b905042101538610f8856fea2646970667358221220913a8c5c7421eb73f09a8a72d42d461ef8e423c186b3aae7483401759bddeab764736f6c634300081a0033","sourceMap":"2283:5955:58:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3749:39;2283:5955;;;;;;;;;;;;;;;;;;;2546:52;2283:5955;;;;;;;;;;;;;;;;;3795:47;2283:5955;;;;;;;;;;;;;;;;;;;;;;;3899:46;2283:5955;;;;;;;;;;;;;;;;;;;;;3439:48;2283:5955;;;;;;;;;;;;;;;;;;;;;;;2810:50;2283:5955;;;;;;;;;;;;;;;;;;;3097:51;2283:5955;;;;;;;;;;;;;;;;;:::i;:::-;;;5096:25;2283:5955;;5096:30;;;:78;;;;2283:5955;-1:-1:-1;5096:102:58;;;2283:5955;;5177:13;2283:5955;:::i;5096:102::-;2283:5955;;;;:::i;5096:78::-;5159:15;;;-1:-1:-1;5130:44:58;5096:78;;;2283:5955;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3691:50;2283:5955;;;;;;;;;;;;;;;;;;;;5480:41;2283:5955;5502:5;2283:5955;5488:10;:19;5480:41;:::i;:::-;7553:363;;:::i;:::-;2283:5955;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;7794:46;7812:28;;2283:5955;7794:15;:46;:::i;:::-;2283:5955;;;7757:84;2283:5955;;;7757:84;2283:5955;7856:53;;:::i;:::-;;;;;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5480:41;2283:5955;5502:5;2283:5955;5488:10;:19;5480:41;:::i;:::-;2283:5955;8112:32;2283:5955;;;8112:32;2283:5955;;;8154:34;2283:5955;;;;;;;;8154:34;2283:5955;;8198:30;2283:5955;;;8198:30;2283:5955;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5480:41;2283:5955;5502:5;2283:5955;5488:10;:19;5480:41;:::i;:::-;6685:861;;:::i;:::-;7295:61;6835:8;;:::i;:::-;7060:42;2283:5955;6942:14;;:::i;:::-;2283:5955;;6961:14;;:::i;:::-;2283:5955;;;;;;;6961:14;7036;;2283:5955;;;-1:-1:-1;7069:25:58;7060:42;:::i;:::-;7246:38;2283:5955;7138:12;;:::i;:::-;2283:5955;;7155:12;;:::i;:::-;2283:5955;;;;7207:12;;2283:5955;;;7155:12;7224;;2283:5955;;;-1:-1:-1;7255:21:58;7246:38;:::i;:::-;2283:5955;7304:20;;;;:::i;:::-;7328;;2283:5955;;;;7304:44;;7295:61;:::i;:::-;2283:5955;;;:::i;:::-;;;7367:21;2283:5955;;;7367:21;2283:5955;;;:::i;:::-;;;7367:21;2283:5955;;;;;;;;7367:21;2283:5955;;;:::i;:::-;;;7367:21;2283:5955;;;;;;;;7367:21;2283:5955;;;:::i;:::-;;;7367:21;2283:5955;;;;;;;;7367:21;2283:5955;;;:::i;:::-;;;7367:21;2283:5955;;6961:14;2283:5955;;;;;7367:21;2283:5955;;7433:44;7451:26;;2283:5955;7433:15;:44;:::i;:::-;2283:5955;;;7398:80;2283:5955;;;7398:80;2283:5955;7493:46;;:::i;:::-;;;;;2283:5955;;;;;;;;;;;;;;;;;2936:49;2283:5955;;;;;;;;;;;;;;;;;;3848:45;2283:5955;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;6961:14;2283:5955;;;;;;;;;:::o;:::-;7138:12;2283:5955;;;;;;;;;:::o;:::-;7155:12;2283:5955;;;;;;;;;:::o;:::-;7304:20;2283:5955;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;2283:5955:58;;;;;-1:-1:-1;2283:5955:58;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;:::i;:::-;;;3418:13;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5212:202::-;2283:5955;;:::i;:::-;;;5297:27;2283:5955;;5297:32;;;:82;;;;5212:202;-1:-1:-1;5297:110:58;;;2283:5955;5382:15;2283:5955;:::i;:::-;5212:202;:::o;5297:110::-;2283:5955;5400:7;2283:5955;:::i;5297:82::-;5364:15;;;-1:-1:-1;5333:46:58;5297:82;;;5546:1132;2283:5955;5671:27;2283:5955;;5671:32;;;:82;;;;5546:1132;5667:183;;;5546:1132;2283:5955;5863:25;2283:5955;;5863:30;;;:78;;;;5546:1132;5859:813;;;5546:1132::o;5859:813::-;2283:5955;;;:::i;:::-;;;;;6055:13;;;2283:5955;;;;;;6114:7;2283:5955;;;;;;;;;;;6190:11;;;;2283:5955;;;;;6206:11;;;;2283:5955;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6309:141:58;;5859:813;2283:5955;;;;;-1:-1:-1;6463:129:58;;5859:813;-1:-1:-1;;2283:5955:58;;5702:1;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6055:13;2283:5955;;;;;;;;;;;;5863:25;2283:5955;;;;;;5546:1132::o;6463:129::-;2283:5955;;;;6463:129;;;;6309:141;2283:5955;;;;6309:141;;;;5863:78;5926:15;;;-1:-1:-1;5897:44:58;5863:78;;;5667:183;5779:15;2283:5955;5769:25;2283:5955;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5671:27;2283:5955;;;;;;5667:183;;5671:82;5738:15;;;-1:-1:-1;5707:46:58;5671:82;;","linkReferences":{},"immutableReferences":{"47261":[{"start":534,"length":32},{"start":1654,"length":32}],"47263":[{"start":861,"length":32},{"start":2898,"length":32}],"47265":[{"start":3082,"length":32}],"47267":[{"start":953,"length":32}],"47306":[{"start":439,"length":32},{"start":1306,"length":32},{"start":1954,"length":32},{"start":2416,"length":32}]}},"methodIdentifiers":{"FEE_CHANGE_NOTICE_DURATION()":"c0021df1","LIMIT_CHANGE_NOTICE_DURATION()":"f1d08853","MAX_INCREASE_ORDER_FEE_PCT()":"44a505db","MAX_INCREASE_TRANCHE_FEE_PCT()":"ab1a57a8","admin()":"f851a440","fees()":"9af1d35a","fillFeeAccount()":"ea43b36b","gasFeeAccount()":"1db89da1","limits()":"860aefcf","orderFeeAccount()":"ebd3cdcd","proposedFeeActivationTime()":"d0c683b1","proposedFees()":"f9828cff","proposedLimitActivationTime()":"6f7a2458","proposedLimits()":"57d1c53d","setFeeAccounts(address,address,address)":"5800bc7b","setFees((uint8,uint8,uint8,uint8,uint8))":"478c3b1a","setLimits((uint8,uint8,uint8,uint8,uint8))":"591cef8f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"LIMIT_CHANGE_NOTICE_DURATION\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"FEE_CHANGE_NOTICE_DURATION\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"MAX_INCREASE_ORDER_FEE_PCT\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"MAX_INCREASE_TRANCHE_FEE_PCT\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"fees\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"limits\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"orderFeeAccount\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"gasFeeAccount\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"fillFeeAccount\",\"type\":\"address\"}],\"internalType\":\"struct FeeManager.ConstructorArgs\",\"name\":\"args\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"indexed\":true,\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"limits\",\"type\":\"tuple\"}],\"name\":\"FeeLimitsChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"indexed\":true,\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"limits\",\"type\":\"tuple\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"activationTime\",\"type\":\"uint32\"}],\"name\":\"FeeLimitsProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"indexed\":true,\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"fees\",\"type\":\"tuple\"}],\"name\":\"FeesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"indexed\":true,\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"fees\",\"type\":\"tuple\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"activationTime\",\"type\":\"uint32\"}],\"name\":\"FeesProposed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"FEE_CHANGE_NOTICE_DURATION\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LIMIT_CHANGE_NOTICE_DURATION\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_INCREASE_ORDER_FEE_PCT\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_INCREASE_TRANCHE_FEE_PCT\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fees\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fillFeeAccount\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasFeeAccount\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"limits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"orderFeeAccount\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposedFeeActivationTime\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposedFees\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposedLimitActivationTime\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposedLimits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"fillFeeAccount_\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"orderFeeAccount_\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"gasFeeAccount_\",\"type\":\"address\"}],\"name\":\"setFeeAccounts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"sched\",\"type\":\"tuple\"}],\"name\":\"setFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"sched\",\"type\":\"tuple\"}],\"name\":\"setLimits\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/FeeManager.sol\":\"FeeManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"src/core/FeeManager.sol\":{\"keccak256\":\"0xa19a6636670f9c37c972997438e0aa35c1b087db1d2dd4d5adba2669774f33fa\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://139a2e58cba014f1a3bf650edee7590be019b68caecd7e4ee01b59dd081a659f\",\"dweb:/ipfs/QmZhHktd2UHA4BjauRM4HxXBBNbRqiVRx2EZWvnrGDcBD3\"]},\"src/interface/IFeeManager.sol\":{\"keccak256\":\"0xf92491919220097ca59e5511d6f5ecb70ce7738b164d64abd72674f5fdaaa86c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://afbc5c521400a69dcea03cb18e3907f02481de3568cf6f2f52062a4b9620b08b\",\"dweb:/ipfs/QmR3sjaKQF9AdLxUiiMSM4i5X88dnkKWsdxNjrPJ3hGE1L\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct FeeManager.ConstructorArgs","name":"args","type":"tuple","components":[{"internalType":"uint32","name":"LIMIT_CHANGE_NOTICE_DURATION","type":"uint32"},{"internalType":"uint32","name":"FEE_CHANGE_NOTICE_DURATION","type":"uint32"},{"internalType":"uint8","name":"MAX_INCREASE_ORDER_FEE_PCT","type":"uint8"},{"internalType":"uint8","name":"MAX_INCREASE_TRANCHE_FEE_PCT","type":"uint8"},{"internalType":"struct IFeeManager.FeeSchedule","name":"fees","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]},{"internalType":"struct IFeeManager.FeeSchedule","name":"limits","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address payable","name":"orderFeeAccount","type":"address"},{"internalType":"address payable","name":"gasFeeAccount","type":"address"},{"internalType":"address payable","name":"fillFeeAccount","type":"address"}]}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"limits","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}],"indexed":true}],"type":"event","name":"FeeLimitsChanged","anonymous":false},{"inputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"limits","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}],"indexed":true},{"internalType":"uint32","name":"activationTime","type":"uint32","indexed":true}],"type":"event","name":"FeeLimitsProposed","anonymous":false},{"inputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"fees","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}],"indexed":true}],"type":"event","name":"FeesChanged","anonymous":false},{"inputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"fees","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}],"indexed":true},{"internalType":"uint32","name":"activationTime","type":"uint32","indexed":true}],"type":"event","name":"FeesProposed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"FEE_CHANGE_NOTICE_DURATION","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LIMIT_CHANGE_NOTICE_DURATION","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_INCREASE_ORDER_FEE_PCT","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_INCREASE_TRANCHE_FEE_PCT","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fees","outputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fillFeeAccount","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gasFeeAccount","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"limits","outputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"orderFeeAccount","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposedFeeActivationTime","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposedFees","outputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposedLimitActivationTime","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposedLimits","outputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}]},{"inputs":[{"internalType":"address payable","name":"fillFeeAccount_","type":"address"},{"internalType":"address payable","name":"orderFeeAccount_","type":"address"},{"internalType":"address payable","name":"gasFeeAccount_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFeeAccounts"},{"inputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"sched","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}],"stateMutability":"nonpayable","type":"function","name":"setFees"},{"inputs":[{"internalType":"struct IFeeManager.FeeSchedule","name":"sched","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}],"stateMutability":"nonpayable","type":"function","name":"setLimits"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/FeeManager.sol":"FeeManager"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/core/FeeManager.sol":{"keccak256":"0xa19a6636670f9c37c972997438e0aa35c1b087db1d2dd4d5adba2669774f33fa","urls":["bzz-raw://139a2e58cba014f1a3bf650edee7590be019b68caecd7e4ee01b59dd081a659f","dweb:/ipfs/QmZhHktd2UHA4BjauRM4HxXBBNbRqiVRx2EZWvnrGDcBD3"],"license":"UNLICENSED"},"src/interface/IFeeManager.sol":{"keccak256":"0xf92491919220097ca59e5511d6f5ecb70ce7738b164d64abd72674f5fdaaa86c","urls":["bzz-raw://afbc5c521400a69dcea03cb18e3907f02481de3568cf6f2f52062a4b9620b08b","dweb:/ipfs/QmR3sjaKQF9AdLxUiiMSM4i5X88dnkKWsdxNjrPJ3hGE1L"],"license":"UNLICENSED"}},"version":1},"id":58}