1 line
45 KiB
JSON
1 line
45 KiB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"_treasury","type":"address","internalType":"address"},{"name":"_ftso","type":"address","internalType":"address"},{"name":"_staking","type":"address","internalType":"address"},{"name":"_authority","type":"address","internalType":"address"},{"name":"_rewardRate","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addPool","inputs":[{"name":"pool","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"adjustment","inputs":[],"outputs":[{"name":"rate","type":"uint120","internalType":"uint120"},{"name":"target","type":"uint120","internalType":"uint120"},{"name":"add","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"authority","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IGhostAuthority"}],"stateMutability":"view"},{"type":"function","name":"bounty","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"distribute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nextRewardFor","inputs":[{"name":"who","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pools","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removePool","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"retrieveBounty","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"rewardRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setAdjustment","inputs":[{"name":"rate","type":"uint256","internalType":"uint256"},{"name":"target","type":"uint256","internalType":"uint256"},{"name":"add","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAuthority","inputs":[{"name":"newAuthority","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBounty","inputs":[{"name":"_bounty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPools","inputs":[{"name":"_pools","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AuthorityUpdated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AdjustmentLimit","inputs":[]},{"type":"error","name":"AdjustmentUnderflow","inputs":[]},{"type":"error","name":"NotPermissioned","inputs":[]},{"type":"error","name":"NotUnlocked","inputs":[]},{"type":"error","name":"OnlyStaking","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]}],"bytecode":{"object":"0x60e060405234801562000010575f80fd5b506040516200150c3803806200150c8339810160408190526200003391620000c6565b5f80546001600160a01b0319166001600160a01b03841690811790915560405190815282907f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a1506001600160a01b0394851660a0529284166080525090911660c05260015562000129565b80516001600160a01b0381168114620000c1575f80fd5b919050565b5f805f805f60a08688031215620000db575f80fd5b620000e686620000aa565b9450620000f660208701620000aa565b93506200010660408701620000aa565b92506200011660608701620000aa565b9150608086015190509295509295909350565b60805160a05160c05161138e6200017e5f395f81816109ac01528181610a4101528181610a6501528181610cb60152610d8201525f8181610a0501528181610b520152610d5501525f6102d7015261138e5ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063943dfef111610088578063bf7e214f11610063578063bf7e214f14610244578063d914cd4b14610263578063e4fc6b6d14610276578063e7187e8a1461027e575f80fd5b8063943dfef1146101f0578063a38dcbd0146101f9578063ac4afa381461020c575f80fd5b80635d87d363116100c35780635d87d363146101ae5780637a9e5e4b146101c15780637b0a47ee146101d45780638544c53b146101dd575f80fd5b806336d33f44146100e9578063451ee4a11461010f57806346d36ab514610199575b5f80fd5b6100fc6100f7366004611148565b610286565b6040519081526020015b60405180910390f35b600354610169906effffffffffffffffffffffffffffff808216916f010000000000000000000000000000008104909116907e01000000000000000000000000000000000000000000000000000000000000900460ff1683565b604080516effffffffffffffffffffffffffffff9485168152939092166020840152151590820152606001610106565b6101ac6101a736600461116a565b61035a565b005b6101ac6101bc3660046111a4565b61072a565b6101ac6101cf366004611148565b610737565b6100fc60015481565b6101ac6101eb3660046111bb565b6107b7565b6100fc60025481565b6101ac6102073660046111a4565b6107d0565b61021f61021a3660046111a4565b6108e1565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610106565b5f5461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ac610271366004611148565b610916565b6101ac610994565b6100fc610c9d565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301525f92620f42409290917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa15801561031c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610340919061122a565b61034a919061126e565b6103549190611285565b92915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c340a246040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e691906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156104d857505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610484573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a891906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561050f576040517f7f63bd0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610577573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059b91906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156105ef57506103e860015460196105e2919061126e565b6105ec9190611285565b83115b15610626576040517f853d0b5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80158015610635575060015483115b1561066c576040517fdb1187cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516060810182526effffffffffffffffffffffffffffff94851680825293909416602085018190529115159301839052600380547fffff000000000000000000000000000000000000000000000000000000000000169092176f01000000000000000000000000000000909102177fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000909202919091179055565b610732610e00565b600255565b61073f610e00565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6107bf610e00565b6107cb6004838361108d565b505050565b6107d8610e00565b60048054906107e86001836112d8565b815481106107f8576107f86112eb565b5f918252602090912001546004805473ffffffffffffffffffffffffffffffffffffffff9092169184908110610830576108306112eb565b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548061088657610886611318565b5f8281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190555050565b600481815481106108f0575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b61091e610e00565b600480546001810182555f919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a03576040517f3d70476200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f197f0000000000000000000000000000000000000000000000000000000000000000610a897f0000000000000000000000000000000000000000000000000000000000000000610286565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044015f604051808303815f87803b158015610af1575f80fd5b505af1158015610b03573d5f803e3d5ffd5b505050505f5b600454811015610c79575f60048281548110610b2757610b276112eb565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1690508015610c70577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1982610b9684610286565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044015f604051808303815f87803b158015610bfe575f80fd5b505af1158015610c10573d5f803e3d5ffd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c59575f80fd5b505af1158015610c6b573d5f803e3d5ffd5b505050505b50600101610b09565b6003546effffffffffffffffffffffffffffff1615610c9a57610c9a610ef2565b50565b5f3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610d0d576040517f3d70476200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025415610df9576002546040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016916340c10f1991610dcb917f00000000000000000000000000000000000000000000000000000000000000009160040173ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b5f604051808303815f87803b158015610de2575f80fd5b505af1158015610df4573d5f803e3d5ffd5b505050505b5060025490565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c340a246040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8c91906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ef0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6003547e01000000000000000000000000000000000000000000000000000000000000900460ff1615610fc457600354600154610f40916effffffffffffffffffffffffffffff1690611345565b60018190556003546f0100000000000000000000000000000090046effffffffffffffffffffffffffffff1611610ef057600380547fffffffffffffffffffffffffffffffffff00000000000000000000000000000016908190556f0100000000000000000000000000000090046effffffffffffffffffffffffffffff16600155565b6003546001546effffffffffffffffffffffffffffff90911610610fe8575f611009565b600354600154611009916effffffffffffffffffffffffffffff16906112d8565b60018190556003546f0100000000000000000000000000000090046effffffffffffffffffffffffffffff1610610ef057600380547fffffffffffffffffffffffffffffffffff00000000000000000000000000000016908190556f0100000000000000000000000000000090046effffffffffffffffffffffffffffff16600155565b828054828255905f5260205f20908101928215611103579160200282015b828111156111035781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8435161782556020909201916001909101906110ab565b5061110f929150611113565b5090565b5b8082111561110f575f8155600101611114565b73ffffffffffffffffffffffffffffffffffffffff81168114610c9a575f80fd5b5f60208284031215611158575f80fd5b813561116381611127565b9392505050565b5f805f6060848603121561117c575f80fd5b833592506020840135915060408401358015158114611199575f80fd5b809150509250925092565b5f602082840312156111b4575f80fd5b5035919050565b5f80602083850312156111cc575f80fd5b823567ffffffffffffffff808211156111e3575f80fd5b818501915085601f8301126111f6575f80fd5b813581811115611204575f80fd5b8660208260051b8501011115611218575f80fd5b60209290920196919550909350505050565b5f6020828403121561123a575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761035457610354611241565b5f826112b8577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f602082840312156112cd575f80fd5b815161116381611127565b8181038181111561035457610354611241565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b808201808211156103545761035461124156fea26469706673582212201f53abf80db1fcee28131e6e136258cfa04bc29a0155c126d22c5ac6e079bba864736f6c63430008140033","sourceMap":"332:3236:98:-:0;;;686:323;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;313:9:127;:22;;-1:-1:-1;;;;;;313:22:127;-1:-1:-1;;;;;313:22:127;;;;;;;;350:37;;873:51:147;;;313:22:127;;350:37;;861:2:147;846:18;350:37:127;;;;;;;-1:-1:-1;;;;;;898:20:98;;::::1;;::::0;928:12;;::::1;;::::0;-1:-1:-1;950:18:98;;::::1;;::::0;978:10:::1;:24:::0;332:3236;;14:177:147;93:13;;-1:-1:-1;;;;;135:31:147;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:526::-;302:6;310;318;326;334;387:3;375:9;366:7;362:23;358:33;355:53;;;404:1;401;394:12;355:53;427:40;457:9;427:40;:::i;:::-;417:50;;486:49;531:2;520:9;516:18;486:49;:::i;:::-;476:59;;554:49;599:2;588:9;584:18;554:49;:::i;:::-;544:59;;622:49;667:2;656:9;652:18;622:49;:::i;:::-;612:59;;711:3;700:9;696:19;690:26;680:36;;196:526;;;;;;;;:::o;727:203::-;332:3236:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063943dfef111610088578063bf7e214f11610063578063bf7e214f14610244578063d914cd4b14610263578063e4fc6b6d14610276578063e7187e8a1461027e575f80fd5b8063943dfef1146101f0578063a38dcbd0146101f9578063ac4afa381461020c575f80fd5b80635d87d363116100c35780635d87d363146101ae5780637a9e5e4b146101c15780637b0a47ee146101d45780638544c53b146101dd575f80fd5b806336d33f44146100e9578063451ee4a11461010f57806346d36ab514610199575b5f80fd5b6100fc6100f7366004611148565b610286565b6040519081526020015b60405180910390f35b600354610169906effffffffffffffffffffffffffffff808216916f010000000000000000000000000000008104909116907e01000000000000000000000000000000000000000000000000000000000000900460ff1683565b604080516effffffffffffffffffffffffffffff9485168152939092166020840152151590820152606001610106565b6101ac6101a736600461116a565b61035a565b005b6101ac6101bc3660046111a4565b61072a565b6101ac6101cf366004611148565b610737565b6100fc60015481565b6101ac6101eb3660046111bb565b6107b7565b6100fc60025481565b6101ac6102073660046111a4565b6107d0565b61021f61021a3660046111a4565b6108e1565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610106565b5f5461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ac610271366004611148565b610916565b6101ac610994565b6100fc610c9d565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301525f92620f42409290917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa15801561031c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610340919061122a565b61034a919061126e565b6103549190611285565b92915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c340a246040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e691906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156104d857505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610484573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a891906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b1561050f576040517f7f63bd0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610577573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059b91906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156105ef57506103e860015460196105e2919061126e565b6105ec9190611285565b83115b15610626576040517f853d0b5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80158015610635575060015483115b1561066c576040517fdb1187cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516060810182526effffffffffffffffffffffffffffff94851680825293909416602085018190529115159301839052600380547fffff000000000000000000000000000000000000000000000000000000000000169092176f01000000000000000000000000000000909102177fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000909202919091179055565b610732610e00565b600255565b61073f610e00565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6107bf610e00565b6107cb6004838361108d565b505050565b6107d8610e00565b60048054906107e86001836112d8565b815481106107f8576107f86112eb565b5f918252602090912001546004805473ffffffffffffffffffffffffffffffffffffffff9092169184908110610830576108306112eb565b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548061088657610886611318565b5f8281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690550190555050565b600481815481106108f0575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b61091e610e00565b600480546001810182555f919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a03576040517f3d70476200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f197f0000000000000000000000000000000000000000000000000000000000000000610a897f0000000000000000000000000000000000000000000000000000000000000000610286565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044015f604051808303815f87803b158015610af1575f80fd5b505af1158015610b03573d5f803e3d5ffd5b505050505f5b600454811015610c79575f60048281548110610b2757610b276112eb565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1690508015610c70577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1982610b9684610286565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044015f604051808303815f87803b158015610bfe575f80fd5b505af1158015610c10573d5f803e3d5ffd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610c59575f80fd5b505af1158015610c6b573d5f803e3d5ffd5b505050505b50600101610b09565b6003546effffffffffffffffffffffffffffff1615610c9a57610c9a610ef2565b50565b5f3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610d0d576040517f3d70476200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025415610df9576002546040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016916340c10f1991610dcb917f00000000000000000000000000000000000000000000000000000000000000009160040173ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b5f604051808303815f87803b158015610de2575f80fd5b505af1158015610df4573d5f803e3d5ffd5b505050505b5060025490565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c340a246040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e68573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8c91906112bd565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ef0576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6003547e01000000000000000000000000000000000000000000000000000000000000900460ff1615610fc457600354600154610f40916effffffffffffffffffffffffffffff1690611345565b60018190556003546f0100000000000000000000000000000090046effffffffffffffffffffffffffffff1611610ef057600380547fffffffffffffffffffffffffffffffffff00000000000000000000000000000016908190556f0100000000000000000000000000000090046effffffffffffffffffffffffffffff16600155565b6003546001546effffffffffffffffffffffffffffff90911610610fe8575f611009565b600354600154611009916effffffffffffffffffffffffffffff16906112d8565b60018190556003546f0100000000000000000000000000000090046effffffffffffffffffffffffffffff1610610ef057600380547fffffffffffffffffffffffffffffffffff00000000000000000000000000000016908190556f0100000000000000000000000000000090046effffffffffffffffffffffffffffff16600155565b828054828255905f5260205f20908101928215611103579160200282015b828111156111035781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8435161782556020909201916001909101906110ab565b5061110f929150611113565b5090565b5b8082111561110f575f8155600101611114565b73ffffffffffffffffffffffffffffffffffffffff81168114610c9a575f80fd5b5f60208284031215611158575f80fd5b813561116381611127565b9392505050565b5f805f6060848603121561117c575f80fd5b833592506020840135915060408401358015158114611199575f80fd5b809150509250925092565b5f602082840312156111b4575f80fd5b5035919050565b5f80602083850312156111cc575f80fd5b823567ffffffffffffffff808211156111e3575f80fd5b818501915085601f8301126111f6575f80fd5b813581811115611204575f80fd5b8660208260051b8501011115611218575f80fd5b60209290920196919550909350505050565b5f6020828403121561123a575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761035457610354611241565b5f826112b8577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f602082840312156112cd575f80fd5b815161116381611127565b8181038181111561035457610354611241565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b808201808211156103545761035461124156fea26469706673582212201f53abf80db1fcee28131e6e136258cfa04bc29a0155c126d22c5ac6e079bba864736f6c63430008140033","sourceMap":"332:3236:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2304:155;;;;;;:::i;:::-;;:::i;:::-;;;571:25:147;;;559:2;544:18;2304:155:98;;;;;;;;627:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;813:32:147;872:15;;;854:34;;924:15;;;;919:2;904:18;;897:43;983:14;976:22;956:18;;;949:50;791:2;776:18;627:24:98;607:398:147;2966:600:98;;;;;;:::i;:::-;;:::i;:::-;;2465:100;;;;;;:::i;:::-;;:::i;650:181:127:-;;;;;;:::i;:::-;;:::i;568:25:98:-;;;;;;2571:107;;;;;;:::i;:::-;;:::i;599:21::-;;;;;;2684:175;;;;;;:::i;:::-;;:::i;657:22::-;;;;;;:::i;:::-;;:::i;:::-;;;2405:42:147;2393:55;;;2375:74;;2363:2;2348:18;657:22:98;2229:226:147;224:32:127;;;;;;;;;2865:95:98;;;;;;:::i;:::-;;:::i;1015:518::-;;;:::i;1539:216::-;;;:::i;2304:155::-;2427:10;;2397:27;;;;;:22;2393:55:147;;;2397:27:98;;;2375:74:147;2370:7:98;;442:3;;2427:10;;2404:4;2397:22;;;;2348:18:147;;2397:27:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;;;;:::i;:::-;2396:56;;;;:::i;:::-;2389:63;2304:155;-1:-1:-1;;2304:155:98:o;2966:600::-;3109:9;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3095:34;;:10;:34;;;;:84;;;;;3159:9;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3145:34;;:10;:34;;;;3095:84;3078:136;;;3197:17;;;;;;;;;;;;;;3078:136;3255:9;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3241:34;;:10;:34;;;:80;;;;;3316:5;3298:10;;3311:2;3298:15;;;;:::i;:::-;:23;;;;:::i;:::-;3291:4;:30;3241:80;3224:132;;;3339:17;;;;;;;;;;;;;;3224:132;3371:3;3370:4;:25;;;;;3385:10;;3378:4;:17;3370:25;3366:59;;;3404:21;;;;;;;;;;;;;;3366:59;3449:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3436:10;:123;;;;;;;;;;;;;;;;;;;;;;;;2966:600::o;2465:100::-;429:15:127;:13;:15::i;:::-;2542:6:98::1;:16:::0;2465:100::o;650:181:127:-;713:15;:13;:15::i;:::-;738:9;:41;;;;;;;;;;;;;794:30;;2375:74:147;;;794:30:127;;2363:2:147;2348:18;794:30:127;;;;;;;650:181;:::o;2571:107:98:-;429:15:127;:13;:15::i;:::-;2657:14:98::1;:5;2665:6:::0;;2657:14:::1;:::i;:::-;;2571:107:::0;;:::o;2684:175::-;429:15:127;:13;:15::i;:::-;2777:5:98::1;:12:::0;;;2820:10:::1;2829:1;2777:12:::0;2820:10:::1;:::i;:::-;2814:17;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;2799:5:::1;:12:::0;;2814:17:::1;::::0;;::::1;::::0;2805:5;;2799:12;::::1;;;;;:::i;:::-;;;;;;;;;:32;;;;;;;;;;;;;;;;;;2841:5;:11;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;-1:-1:-1;;2684:175:98:o;657:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;657:22:98;:::o;2865:95::-;429:15:127;:13;:15::i;:::-;2937:5:98::1;:16:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;2937:16:98;;;;;::::1;::::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;2865:95::o;1015:518::-;1069:10;:21;1083:7;1069:21;;1065:47;;1099:13;;;;;;;;;;;;;;1065:47;1133:8;1123:24;;;1148:7;1157:22;1171:7;1157:13;:22::i;:::-;1123:57;;;;;;;;;;4517:42:147;4505:55;;;1123:57:98;;;4487:74:147;4577:18;;;4570:34;4460:18;;1123:57:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1191:9;1210:272;1221:5;:12;1217:16;;1210:272;;;1251:12;1266:5;1272:1;1266:8;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;1292:18:98;;1288:153;;1340:8;1330:24;;;1355:4;1361:19;1375:4;1361:13;:19::i;:::-;1330:51;;;;;;;;;;4517:42:147;4505:55;;;1330:51:98;;;4487:74:147;4577:18;;;4570:34;4460:18;;1330:51:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1414:4;1399:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1288:153;-1:-1:-1;1466:3:98;;1210:272;;;1496:10;:15;;;:19;1492:34;;1517:9;:7;:9::i;:::-;1055:478;1015:518::o;1539:216::-;1592:7;1615:10;:21;1629:7;1615:21;;1611:47;;1645:13;;;;;;;;;;;;;;1611:47;1672:6;;:10;1668:57;;1718:6;;1684:41;;;;;:24;1694:8;1684:24;;;;:41;;1709:7;;1684:41;;4517:42:147;4505:55;;;;4487:74;;4592:2;4577:18;;4570:34;4475:2;4460:18;;4313:297;1684:41:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1668:57;-1:-1:-1;1742:6:98;;;1539:216::o;837:117:127:-;904:9;;;;;;;;;;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;890:34;;:10;:34;;;886:61;;933:14;;;;;;;;;;;;;;886:61;837:117::o;1761:537:98:-;1803:10;:14;;;;;;1799:493;;;1859:10;:15;;1846:10;:28;;1859:15;;;1846:28;:::i;:::-;1833:10;:41;;;1906:10;:17;;;;;;-1:-1:-1;1888:137:98;;1943:10;:19;;;;;;;;1993:17;;;1943:19;1993:17;1943:19;1980:30;837:117:127:o;1799:493:98:-;2081:10;:15;;2068:10;2081:15;;;;-1:-1:-1;2068:63:98;;2130:1;2068:63;;;2112:10;:15;;2099:10;:28;;2112:15;;;2099:28;:::i;:::-;2055:10;:76;;;2163:10;:17;;;;;;-1:-1:-1;2145:137:98;;2200:10;:19;;;;;;;;2250:17;;;2200:19;2250:17;2200:19;2237:30;1761:537::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:154:147;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:247;232:6;285:2;273:9;264:7;260:23;256:32;253:52;;;301:1;298;291:12;253:52;340:9;327:23;359:31;384:5;359:31;:::i;:::-;409:5;173:247;-1:-1:-1;;;173:247:147:o;1010:409::-;1084:6;1092;1100;1153:2;1141:9;1132:7;1128:23;1124:32;1121:52;;;1169:1;1166;1159:12;1121:52;1205:9;1192:23;1182:33;;1262:2;1251:9;1247:18;1234:32;1224:42;;1316:2;1305:9;1301:18;1288:32;1363:5;1356:13;1349:21;1342:5;1339:32;1329:60;;1385:1;1382;1375:12;1329:60;1408:5;1398:15;;;1010:409;;;;;:::o;1424:180::-;1483:6;1536:2;1524:9;1515:7;1511:23;1507:32;1504:52;;;1552:1;1549;1542:12;1504:52;-1:-1:-1;1575:23:147;;1424:180;-1:-1:-1;1424:180:147:o;1609:615::-;1695:6;1703;1756:2;1744:9;1735:7;1731:23;1727:32;1724:52;;;1772:1;1769;1762:12;1724:52;1812:9;1799:23;1841:18;1882:2;1874:6;1871:14;1868:34;;;1898:1;1895;1888:12;1868:34;1936:6;1925:9;1921:22;1911:32;;1981:7;1974:4;1970:2;1966:13;1962:27;1952:55;;2003:1;2000;1993:12;1952:55;2043:2;2030:16;2069:2;2061:6;2058:14;2055:34;;;2085:1;2082;2075:12;2055:34;2138:7;2133:2;2123:6;2120:1;2116:14;2112:2;2108:23;2104:32;2101:45;2098:65;;;2159:1;2156;2149:12;2098:65;2190:2;2182:11;;;;;2212:6;;-1:-1:-1;1609:615:147;;-1:-1:-1;;;;1609:615:147:o;2716:184::-;2786:6;2839:2;2827:9;2818:7;2814:23;2810:32;2807:52;;;2855:1;2852;2845:12;2807:52;-1:-1:-1;2878:16:147;;2716:184;-1:-1:-1;2716:184:147:o;2905:::-;2957:77;2954:1;2947:88;3054:4;3051:1;3044:15;3078:4;3075:1;3068:15;3094:168;3167:9;;;3198;;3215:15;;;3209:22;;3195:37;3185:71;;3236:18;;:::i;3267:274::-;3307:1;3333;3323:189;;3368:77;3365:1;3358:88;3469:4;3466:1;3459:15;3497:4;3494:1;3487:15;3323:189;-1:-1:-1;3526:9:147;;3267:274::o;3546:251::-;3616:6;3669:2;3657:9;3648:7;3644:23;3640:32;3637:52;;;3685:1;3682;3675:12;3637:52;3717:9;3711:16;3736:31;3761:5;3736:31;:::i;3802:128::-;3869:9;;;3890:11;;;3887:37;;;3904:18;;:::i;3935:184::-;3987:77;3984:1;3977:88;4084:4;4081:1;4074:15;4108:4;4105:1;4098:15;4124:184;4176:77;4173:1;4166:88;4273:4;4270:1;4263:15;4297:4;4294:1;4287:15;4615:125;4680:9;;;4701:10;;;4698:36;;;4714:18;;:::i","linkReferences":{},"immutableReferences":{"57813":[{"start":727,"length":32}],"57815":[{"start":2565,"length":32},{"start":2898,"length":32},{"start":3413,"length":32}],"57817":[{"start":2476,"length":32},{"start":2625,"length":32},{"start":2661,"length":32},{"start":3254,"length":32},{"start":3458,"length":32}]}},"methodIdentifiers":{"addPool(address)":"d914cd4b","adjustment()":"451ee4a1","authority()":"bf7e214f","bounty()":"943dfef1","distribute()":"e4fc6b6d","nextRewardFor(address)":"36d33f44","pools(uint256)":"ac4afa38","removePool(uint256)":"a38dcbd0","retrieveBounty()":"e7187e8a","rewardRate()":"7b0a47ee","setAdjustment(uint256,uint256,bool)":"46d36ab5","setAuthority(address)":"7a9e5e4b","setBounty(uint256)":"5d87d363","setPools(address[])":"8544c53b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ftso\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_staking\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_authority\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rewardRate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AdjustmentLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AdjustmentUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPermissioned\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotUnlocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyStaking\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"addPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"adjustment\",\"outputs\":[{\"internalType\":\"uint120\",\"name\":\"rate\",\"type\":\"uint120\"},{\"internalType\":\"uint120\",\"name\":\"target\",\"type\":\"uint120\"},{\"internalType\":\"bool\",\"name\":\"add\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"contract IGhostAuthority\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bounty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"nextRewardFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pools\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"removePool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"retrieveBounty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rewardRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"target\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"add\",\"type\":\"bool\"}],\"name\":\"setAdjustment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_bounty\",\"type\":\"uint256\"}],\"name\":\"setBounty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"setPools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/StakingDistributor.sol\":\"GhostDistributor\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@openzeppelin-contracts-5.0.2/=dependencies/@openzeppelin-contracts-5.0.2/\",\":@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/\",\":@uniswap-v2-core-1.0.1/=dependencies/@uniswap-v2-core-1.0.1/contracts/\",\":@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/\",\":@uniswap-v2-periphery-1.1.0-beta.0/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/contracts/\",\":@uniswap/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/node_modules/@uniswap/\",\":forge-std-1.9.2/=dependencies/forge-std-1.9.2/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"dependencies/@uniswap-v2-core-1.0.1/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]},\"src/StakingDistributor.sol\":{\"keccak256\":\"0xa4d7a2f732b6fe575ea98f02ead5acc39cbe6d4c442e29939950d40ccdb46581\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce66a44a9f6a590bedc6bbc41d5c75efc5f5a38d2d9b70ec1dfb472dcb8a939\",\"dweb:/ipfs/QmawqjLmUbDfkUxP9LU3yR8UjU3AMYLWPR2M6RXVhy5ez4\"]},\"src/interfaces/IDistributor.sol\":{\"keccak256\":\"0xeba8d720033c8e83c503709daae40d80a4202448159e253dd595b69e12ba4897\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://984ef89362970b30ba773007ea5c41fe50fb9eca15189bedba03fecad13408ce\",\"dweb:/ipfs/QmPwDdgCguczJ253idKMMSSmkUYkTLpotXiVhJq4bk39kS\"]},\"src/interfaces/IGhostAuthority.sol\":{\"keccak256\":\"0xaa4a6a627f5745686400519a9c26a7a17ecb01b0f3bf361d83d905eee8dec37b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2aa06c129e2e28b8b7e3742c33782c90dd9a26eb169f0fe2f4865f5d96cb3f5b\",\"dweb:/ipfs/QmZLEwNyYnoHP1FBpzSzCyEJjju3bkps7GCLiySc1dK3Xd\"]},\"src/interfaces/IStaking.sol\":{\"keccak256\":\"0xddb2379c3041c3d93179336d51a97a2eec9cccd7db9eb442a6b1912050cbbdd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcbcf7988a8de40b4f050fce6f5be95aaebf7696258257fc445d12428b5976b\",\"dweb:/ipfs/QmPZRF3dfGFkAhuQs6XgJ1HNbZRBR7rN9ZHTobUsexDkY4\"]},\"src/interfaces/ITreasury.sol\":{\"keccak256\":\"0xd1d69ec10aa6f19bc3775c19341b60af9324c0596671d30de5ae97604d3ee800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6dfb466171b0e6f08d3e577ffdf457d3a12a8e3f2a41331f0a40a6abddd0c95a\",\"dweb:/ipfs/QmdLJtAFwD2B4tTqdaxAWG3qrR6uJw5nM6NMMJCEU9frVR\"]},\"src/types/GhostAccessControlled.sol\":{\"keccak256\":\"0x065897783d98ef086460f7130fda753bca7cdd2ebd9b8011f34e7d4ddcf7211d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e912269fb428f1ba2ab14a036125b3d488dcc6b11445e2adb80fefa794674da0\",\"dweb:/ipfs/QmeWbhBZvtkAPieW14gyMzXP26x8A8CXw1NmVPS9uCc5MW\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_treasury","type":"address"},{"internalType":"address","name":"_ftso","type":"address"},{"internalType":"address","name":"_staking","type":"address"},{"internalType":"address","name":"_authority","type":"address"},{"internalType":"uint256","name":"_rewardRate","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AdjustmentLimit"},{"inputs":[],"type":"error","name":"AdjustmentUnderflow"},{"inputs":[],"type":"error","name":"NotPermissioned"},{"inputs":[],"type":"error","name":"NotUnlocked"},{"inputs":[],"type":"error","name":"OnlyStaking"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[{"internalType":"address","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"pool","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"adjustment","outputs":[{"internalType":"uint120","name":"rate","type":"uint120"},{"internalType":"uint120","name":"target","type":"uint120"},{"internalType":"bool","name":"add","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"authority","outputs":[{"internalType":"contract IGhostAuthority","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"bounty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"stateMutability":"view","type":"function","name":"nextRewardFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"pools","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removePool"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"retrieveBounty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"bool","name":"add","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setAdjustment"},{"inputs":[{"internalType":"address","name":"newAuthority","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAuthority"},{"inputs":[{"internalType":"uint256","name":"_bounty","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBounty"},{"inputs":[{"internalType":"address[]","name":"_pools","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"setPools"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.0.2/=dependencies/@openzeppelin-contracts-5.0.2/","@openzeppelin-contracts/=dependencies/@openzeppelin-contracts-5.0.2/","@uniswap-v2-core-1.0.1/=dependencies/@uniswap-v2-core-1.0.1/contracts/","@uniswap-v2-core/=dependencies/@uniswap-v2-core-1.0.1/contracts/","@uniswap-v2-periphery-1.1.0-beta.0/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/contracts/","@uniswap/=dependencies/@uniswap-v2-periphery-1.1.0-beta.0/node_modules/@uniswap/","forge-std-1.9.2/=dependencies/forge-std-1.9.2/","forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":10000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/StakingDistributor.sol":"GhostDistributor"},"evmVersion":"shanghai","libraries":{}},"sources":{"dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"dependencies/@uniswap-v2-core-1.0.1/contracts/interfaces/IUniswapV2Pair.sol":{"keccak256":"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b","urls":["bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf","dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH"],"license":null},"src/StakingDistributor.sol":{"keccak256":"0xa4d7a2f732b6fe575ea98f02ead5acc39cbe6d4c442e29939950d40ccdb46581","urls":["bzz-raw://9ce66a44a9f6a590bedc6bbc41d5c75efc5f5a38d2d9b70ec1dfb472dcb8a939","dweb:/ipfs/QmawqjLmUbDfkUxP9LU3yR8UjU3AMYLWPR2M6RXVhy5ez4"],"license":"MIT"},"src/interfaces/IDistributor.sol":{"keccak256":"0xeba8d720033c8e83c503709daae40d80a4202448159e253dd595b69e12ba4897","urls":["bzz-raw://984ef89362970b30ba773007ea5c41fe50fb9eca15189bedba03fecad13408ce","dweb:/ipfs/QmPwDdgCguczJ253idKMMSSmkUYkTLpotXiVhJq4bk39kS"],"license":"MIT"},"src/interfaces/IGhostAuthority.sol":{"keccak256":"0xaa4a6a627f5745686400519a9c26a7a17ecb01b0f3bf361d83d905eee8dec37b","urls":["bzz-raw://2aa06c129e2e28b8b7e3742c33782c90dd9a26eb169f0fe2f4865f5d96cb3f5b","dweb:/ipfs/QmZLEwNyYnoHP1FBpzSzCyEJjju3bkps7GCLiySc1dK3Xd"],"license":"MIT"},"src/interfaces/IStaking.sol":{"keccak256":"0xddb2379c3041c3d93179336d51a97a2eec9cccd7db9eb442a6b1912050cbbdd8","urls":["bzz-raw://2dcbcf7988a8de40b4f050fce6f5be95aaebf7696258257fc445d12428b5976b","dweb:/ipfs/QmPZRF3dfGFkAhuQs6XgJ1HNbZRBR7rN9ZHTobUsexDkY4"],"license":"MIT"},"src/interfaces/ITreasury.sol":{"keccak256":"0xd1d69ec10aa6f19bc3775c19341b60af9324c0596671d30de5ae97604d3ee800","urls":["bzz-raw://6dfb466171b0e6f08d3e577ffdf457d3a12a8e3f2a41331f0a40a6abddd0c95a","dweb:/ipfs/QmdLJtAFwD2B4tTqdaxAWG3qrR6uJw5nM6NMMJCEU9frVR"],"license":"MIT"},"src/types/GhostAccessControlled.sol":{"keccak256":"0x065897783d98ef086460f7130fda753bca7cdd2ebd9b8011f34e7d4ddcf7211d","urls":["bzz-raw://e912269fb428f1ba2ab14a036125b3d488dcc6b11445e2adb80fefa794674da0","dweb:/ipfs/QmeWbhBZvtkAPieW14gyMzXP26x8A8CXw1NmVPS9uCc5MW"],"license":"MIT"}},"version":1},"id":98} |