0 txs
3 calls
constructor
constructor()
functions
afterCreatePoolHook
viewfunction afterCreatePoolHook(address, address, address) view
ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR
viewfunction ALGEBRA_BASE_PLUGIN_FACTORY_ADMINISTRATOR() view returns (bytes32)
algebraFactory
viewfunction algebraFactory() view returns (address)
defaultCommunityFeeForCustomPool
viewfunction defaultCommunityFeeForCustomPool() view returns (uint16)
defaultFeeConfiguration
viewfunction defaultFeeConfiguration() view returns (uint16 alpha1, uint16 alpha2, uint32 beta1, uint32 beta2, uint16 gamma1, uint16 gamma2, uint16 baseFee)
farmingAddress
viewfunction farmingAddress() view returns (address)
pluginByPool
viewfunction pluginByPool(address poolAddress) view returns (address pluginAddress)
pluginImplementation
viewfunction pluginImplementation() view returns (bytes)
beforeCreatePoolHook
nonpayablefunction beforeCreatePoolHook(address pool, address, address, address, address, bytes) returns (address)
createCustomPoolAndInitialize
nonpayablefunction createCustomPoolAndInitialize(uint160 sqrtX96price, address token0, address token1) returns (address)
createPlugin
nonpayablefunction createPlugin(address pool, address, address) returns (address)
initialize
nonpayablefunction initialize(address _algebraFactory, address _farmingCenter)
pausePlugin
nonpayablefunction pausePlugin(address[] plugins)
setDefaultCommunityFeeForCustomPool
nonpayablefunction setDefaultCommunityFeeForCustomPool(uint16 _defaultCommunityFeeForCustomPool)
setDefaultFeeConfiguration
nonpayablefunction setDefaultFeeConfiguration(tuple newConfig)
setFeeType
nonpayablefunction setFeeType(address[] plugins, bool feeType)
setPluginImplementation
nonpayablefunction setPluginImplementation(bytes _pluginImplementation)
unpausePlugin
nonpayablefunction unpausePlugin(address[] plugins)
updatePluginForPool
nonpayablefunction updatePluginForPool(address[] _pools)
events
DefaultFeeConfiguration
event DefaultFeeConfiguration((uint16 alpha1, uint16 alpha2, uint32 beta1, uint32 beta2, uint16 gamma1, uint16 gamma2, uint16 baseFee) newConfig)
Initialized
event Initialized(uint8 version)
errors
CommunityFeeAmount
error CommunityFeeAmount()
NotAdministrator
error NotAdministrator()
NotFactory
error NotFactory()
PluginExists
error PluginExists()
ZeroAddress
error ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b50611b7e806100206000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c80638a2ade58116100cd578063cddff26911610081578063f344401311610066578063f344401314610393578063f44b9f4f146103a6578063f718949a146103b957600080fd5b8063cddff26914610335578063cdef16f61461036a57600080fd5b80639533ff10116100b25780639533ff10146102f6578063a7b64b0414610309578063c95a26181461032257600080fd5b80638a2ade58146102d05780638d5ef8d1146102e357600080fd5b8063485cc9551161012457806352f517971161010957806352f5179714610287578063738da58d1461029a57806375831f50146102af57600080fd5b8063485cc955146101c15780634e09a96a146101d457600080fd5b806308633f91146101565780631d0338d91461016b5780632616d1731461019b5780633f56325d146101ae575b600080fd5b6101696101643660046112e5565b6103cc565b005b61017e610179366004611351565b61047c565b6040516001600160a01b0390911681526020015b60405180910390f35b6101696101a9366004611421565b61049b565b6101696101bc366004611421565b6105b6565b6101696101cf366004611463565b610655565b60015461023f9061ffff8082169162010000810482169163ffffffff6401000000008304811692680100000000000000008104909116916c0100000000000000000000000082048116916e0100000000000000000000000000008104821691600160801b9091041687565b6040805161ffff9889168152968816602088015263ffffffff9586169087015293909216606085015284166080840152831660a08301529190911660c082015260e001610192565b6101696102953660046114b2565b610989565b6102a26109a1565b6040516101929190611563565b6002546102bd9061ffff1681565b60405161ffff9091168152602001610192565b60035461017e906001600160a01b031681565b6101696102f13660046115b1565b610a2f565b61017e6103043660046115b1565b610a37565b60025461017e906201000090046001600160a01b031681565b610169610330366004611611565b610a7c565b61035c7f267da724c255813ae00f4522fe843cb70148a4b8099cbc5af64f9a4151e55ed681565b604051908152602001610192565b61017e61037836600461162e565b6004602052600090815260409020546001600160a01b031681565b6101696103a1366004611421565b610ac3565b61017e6103b43660046115b1565b610b62565b6101696103c736600461164b565b610cd7565b6103d4610d40565b60005b82811015610476578383828181106103f1576103f1611663565b9050602002016020810190610406919061162e565b604051630e81171760e11b815283151560048201526001600160a01b039190911690631d022e2e90602401600060405180830381600087803b15801561044b57600080fd5b505af115801561045f573d6000803e3d6000fd5b50505050808061046e9061168f565b9150506103d7565b50505050565b6000610486610d40565b61048f88610df6565b98975050505050505050565b6104a3610d40565b60005b818110156105b1578282828181106104c0576104c0611663565b90506020020160208101906104d5919061162e565b6001600160a01b031663ef01df4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610512573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053691906116a8565b6004600085858581811061054c5761054c611663565b9050602002016020810190610561919061162e565b6001600160a01b0390811682526020820192909252604001600020805473ffffffffffffffffffffffffffffffffffffffff191692909116919091179055806105a98161168f565b9150506104a6565b505050565b6105be610d40565b60005b818110156105b1578282828181106105db576105db611663565b90506020020160208101906105f0919061162e565b6001600160a01b0316638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561062a57600080fd5b505af115801561063e573d6000803e3d6000fd5b50505050808061064d9061168f565b9150506105c1565b600054610100900460ff16158080156106755750600054600160ff909116105b8061068f5750303b15801561068f575060005460ff166001145b6107065760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610729576000805461ff0019166101001790555b61073283611036565b61073b82611036565b60028054600380546001600160a01b0386811673ffffffffffffffffffffffffffffffffffffffff199092169190911790915561ffff199086166201000002167fffffffffffffffffffff000000000000000000000000000000000000000000009091161760c81790556107ad611060565b80516001805460208401516040808601516060870151608088015160a089015160c09099015161ffff908116600160801b0261ffff60801b199a82166e010000000000000000000000000000026fffff0000000000000000000000000000199383166c0100000000000000000000000002939093166fffffffff0000000000000000000000001963ffffffff95861668010000000000000000026bffffffff0000000000000000199690971664010000000002959095166bffffffffffffffff0000000019988416620100000263ffffffff19909a1693909b16929092179790971795909516979097179190911716919091179390931793909316929092178255517fe04232512a5cb82c08e0f9b1f51432930cd7a0b7ea9f9f916f080cb0b4ac644b9161093791600060e082019050825461ffff8082168452808260101c16602085015263ffffffff808360201c166040860152808360401c16606086015250808260601c166080850152808260701c1660a0850152808260801c1660c0850152505092915050565b60405180910390a180156105b1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610991610d40565b600661099d8282611747565b5050565b600680546109ae906116c5565b80601f01602080910402602001604051908101604052809291908181526020018280546109da906116c5565b8015610a275780601f106109fc57610100808354040283529160200191610a27565b820191906000526020600020905b815481529060010190602001808311610a0a57829003601f168201915b505050505081565b6105b1610d40565b6002546000906201000090046001600160a01b03163314610a6b57604051631966391b60e11b815260040160405180910390fd5b610a7484610df6565b949350505050565b610a84610d40565b6103e88161ffff161115610aab57604051635f0b514d60e11b815260040160405180910390fd5b6002805461ffff191661ffff92909216919091179055565b610acb610d40565b60005b818110156105b157828282818110610ae857610ae8611663565b9050602002016020810190610afd919061162e565b6001600160a01b0316633f4ba83a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b3757600080fd5b505af1158015610b4b573d6000803e3d6000fd5b505050508080610b5a9061168f565b915050610ace565b6002546040516336efcf6d60e21b81523060048201523360248201526001600160a01b038481166044830152838116606483015260a06084830152600060a48301819052928392620100009091049091169063dbbf3db49060c4016020604051808303816000875af1158015610bdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0091906116a8565b90506001600160a01b03851615610c6d5760405163f637731d60e01b81526001600160a01b03868116600483015282169063f637731d90602401600060405180830381600087803b158015610c5457600080fd5b505af1158015610c68573d6000803e3d6000fd5b505050505b60025460405163120543ad60e11b815261ffff90911660048201526001600160a01b0382169063240a875a90602401600060405180830381600087803b158015610cb657600080fd5b505af1158015610cca573d6000803e3d6000fd5b5092979650505050505050565b610cdf610d40565b610cf6610cf136839003830183611819565b6110e8565b806001610d0382826118eb565b9050507fe04232512a5cb82c08e0f9b1f51432930cd7a0b7ea9f9f916f080cb0b4ac644b81604051610d359190611a53565b60405180910390a150565b60025460405163e8ae2b6960e01b81527f267da724c255813ae00f4522fe843cb70148a4b8099cbc5af64f9a4151e55ed66004820152336024820152620100009091046001600160a01b03169063e8ae2b6990604401602060405180830381865afa158015610db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd79190611afd565b610df45760405163e85bbb2160e01b815260040160405180910390fd5b565b6001600160a01b0381811660009081526004602052604081205490911615610e315760405163d8c7ab2b60e01b815260040160405180910390fd5b6005805460009184919083610e458361168f565b909155506040517f506c7567696e5f00000000000000000000000000000000000000000000000000602082015260609290921b6bffffffffffffffffffffffff19166027830152603b820152605b016040516020818303038152906040528051906020012090506000610f4260068054610ebe906116c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610eea906116c5565b8015610f375780601f10610f0c57610100808354040283529160200191610f37565b820191906000526020600020905b815481529060010190602001808311610f1a57829003601f168201915b5050505050836111cc565b60408051630e9c90af60e11b815260015461ffff8082166004840152601082901c8116602484015263ffffffff602083901c811660448501529382901c9093166064830152606081901c83166084830152607081901c831660a483015260801c90911660c48201529091506001600160a01b03821690631d39215e9060e401600060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506001600160a01b039384166000908152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff1916948216949094179093555090919050565b6001600160a01b03811661105d5760405163d92e233d60e01b815260040160405180910390fd5b50565b6040805160e08082018352600080835260208301819052828401819052606083018190526080830181905260a0830181905260c0830152825190810190925290806110ae6064610bb8611b1a565b61ffff168152612ee06020820152610168604082015261ea606060820152603b608082015261213460a0820152606460c090910152919050565b60c08101516020820151825161ffff9283169161110a91908416908416611b35565b6111149190611b35565b11156111625760405162461bcd60e51b815260206004820152601060248201527f4d6178206665652065786365656465640000000000000000000000000000000060448201526064016106fd565b608081015161ffff1615801590611180575060a081015161ffff1615155b61105d5760405162461bcd60e51b815260206004820152601260248201527f47616d6d6173206d757374206265203e2030000000000000000000000000000060448201526064016106fd565b60008060008451116112205760405162461bcd60e51b815260206004820152600f60248201527f21496d706c656d656e746174696f6e000000000000000000000000000000000060448201526064016106fd565b828451602086016000f590506001600160a01b0381166112825760405162461bcd60e51b815260206004820152600860248201527f214372656174653200000000000000000000000000000000000000000000000060448201526064016106fd565b90505b92915050565b60008083601f84011261129d57600080fd5b50813567ffffffffffffffff8111156112b557600080fd5b6020830191508360208260051b85010111156112d057600080fd5b9250929050565b801515811461105d57600080fd5b6000806000604084860312156112fa57600080fd5b833567ffffffffffffffff81111561131157600080fd5b61131d8682870161128b565b9094509250506020840135611331816112d7565b809150509250925092565b6001600160a01b038116811461105d57600080fd5b600080600080600080600060c0888a03121561136c57600080fd5b87356113778161133c565b965060208801356113878161133c565b955060408801356113978161133c565b945060608801356113a78161133c565b935060808801356113b78161133c565b925060a088013567ffffffffffffffff808211156113d457600080fd5b818a0191508a601f8301126113e857600080fd5b8135818111156113f757600080fd5b8b602082850101111561140957600080fd5b60208301945080935050505092959891949750929550565b6000806020838503121561143457600080fd5b823567ffffffffffffffff81111561144b57600080fd5b6114578582860161128b565b90969095509350505050565b6000806040838503121561147657600080fd5b82356114818161133c565b915060208301356114918161133c565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156114c457600080fd5b813567ffffffffffffffff808211156114dc57600080fd5b818401915084601f8301126114f057600080fd5b8135818111156115025761150261149c565b604051601f8201601f19908116603f0116810190838211818310171561152a5761152a61149c565b8160405282815287602084870101111561154357600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b8181101561159057858101830151858201604001528201611574565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806000606084860312156115c657600080fd5b83356115d18161133c565b925060208401356115e18161133c565b915060408401356113318161133c565b61ffff8116811461105d57600080fd5b803561160c816115f1565b919050565b60006020828403121561162357600080fd5b8135611282816115f1565b60006020828403121561164057600080fd5b81356112828161133c565b600060e0828403121561165d57600080fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016116a1576116a1611679565b5060010190565b6000602082840312156116ba57600080fd5b81516112828161133c565b600181811c908216806116d957607f821691505b60208210810361165d57634e487b7160e01b600052602260045260246000fd5b601f8211156105b157600081815260208120601f850160051c810160208610156117205750805b601f850160051c820191505b8181101561173f5782815560010161172c565b505050505050565b815167ffffffffffffffff8111156117615761176161149c565b6117758161176f84546116c5565b846116f9565b602080601f8311600181146117aa57600084156117925750858301515b600019600386901b1c1916600185901b17855561173f565b600085815260208120601f198616915b828110156117d9578886015182559484019460019091019084016117ba565b50858210156117f75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b63ffffffff8116811461105d57600080fd5b600060e0828403121561182b57600080fd5b60405160e0810181811067ffffffffffffffff8211171561184e5761184e61149c565b604052823561185c816115f1565b8152602083013561186c816115f1565b6020820152604083013561187f81611807565b6040820152606083013561189281611807565b60608201526118a360808401611601565b60808201526118b460a08401611601565b60a08201526118c560c08401611601565b60c08201529392505050565b60008135611285816115f1565b6000813561128581611807565b81356118f6816115f1565b61ffff8116905081548161ffff1982161783556020840135611917816115f1565b63ffff00008160101b169050808363ffffffff19841617178455604085013561193f81611807565b67ffffffff000000008160201b168467ffffffffffffffff1985161783171785555050505061199d611973606084016118de565b82546bffffffff0000000000000000191660409190911b6bffffffff000000000000000016178255565b6119da6119ac608084016118d1565b82546dffff000000000000000000000000191660609190911b6dffff00000000000000000000000016178255565b611a1b6119e960a084016118d1565b82546fffff0000000000000000000000000000191660709190911b6fffff000000000000000000000000000016178255565b61099d611a2a60c084016118d1565b825461ffff60801b191660809190911b71ffff0000000000000000000000000000000016178255565b60e081018235611a62816115f1565b61ffff9081168352602084013590611a79826115f1565b9081166020840152604084013590611a9082611807565b63ffffffff9182166040850152606085013591611aac83611807565b919091166060840152608084013590611ac4826115f1565b166080830152611ad660a08401611601565b61ffff1660a0830152611aeb60c08401611601565b61ffff811660c08401525b5092915050565b600060208284031215611b0f57600080fd5b8151611282816112d7565b61ffff828116828216039080821115611af657611af6611679565b808201808211156112855761128561167956fea2646970667358221220b5bbbbce3732c88e49beccc15c32ce0500d0d7183e9a769c75e819a445ae9c9e64736f6c63430008140033