0 txs
0 calls
constructor
constructor(uint256 _minTrialPeriod, uint256 _maxTrialPeriod, uint256 _minPayPeriod, uint256 _maxPayPeriod, uint256 _minPriceChangeBuffer, address _addyRegistry)
functions
ADDY_REGISTRY
viewfunction ADDY_REGISTRY() view returns (address)
agentSubPriceData
viewfunction agentSubPriceData(address arg0) view returns (tuple)
canGovern
viewfunction canGovern(address _address) view returns (bool)
getAgentSubPriceData
viewfunction getAgentSubPriceData(address _agent) view returns (tuple)
getCombinedSubData
viewfunction getCombinedSubData(address _user, address _agent, uint256 _agentPaidThru, uint256 _protocolPaidThru, address _oracleRegistry) view returns (tuple, tuple)
getTransactionFeeData
viewfunction getTransactionFeeData(address _user, uint256 _action) view returns (uint256, address)
govChangeDelay
viewfunction govChangeDelay() view returns (uint256)
governance
viewfunction governance() view returns (address)
hasPendingGovChange
viewfunction hasPendingGovChange() view returns (bool)
isActivated
viewfunction isActivated() view returns (bool)
isAgentSubPricingEnabled
viewfunction isAgentSubPricingEnabled() view returns (bool)
isValidSubPrice
viewfunction isValidSubPrice(address _asset, uint256 _usdValue, uint256 _trialPeriod, uint256 _payPeriod) view returns (bool)
isValidTxPriceSheet
viewfunction isValidTxPriceSheet(uint256 _depositFee, uint256 _withdrawalFee, uint256 _rebalanceFee, uint256 _transferFee, uint256 _swapFee, uint256 _addLiqFee, uint256 _removeLiqFee, uint256 _claimRewardsFee, uint256 _borrowFee, uint256 _repayFee) view returns (bool)
MAX_GOV_CHANGE_DELAY
viewfunction MAX_GOV_CHANGE_DELAY() view returns (uint256)
MAX_PAY_PERIOD
viewfunction MAX_PAY_PERIOD() view returns (uint256)
MAX_TRIAL_PERIOD
viewfunction MAX_TRIAL_PERIOD() view returns (uint256)
MIN_GOV_CHANGE_DELAY
viewfunction MIN_GOV_CHANGE_DELAY() view returns (uint256)
MIN_PAY_PERIOD
viewfunction MIN_PAY_PERIOD() view returns (uint256)
MIN_PRICE_CHANGE_BUFFER
viewfunction MIN_PRICE_CHANGE_BUFFER() view returns (uint256)
MIN_TRIAL_PERIOD
viewfunction MIN_TRIAL_PERIOD() view returns (uint256)
pendingAgentSubPrices
viewfunction pendingAgentSubPrices(address arg0) view returns (tuple)
pendingGov
viewfunction pendingGov() view returns (tuple)
priceChangeDelay
viewfunction priceChangeDelay() view returns (uint256)
protocolRecipient
viewfunction protocolRecipient() view returns (address)
protocolSubPriceData
viewfunction protocolSubPriceData() view returns (tuple)
protocolTxPriceData
viewfunction protocolTxPriceData() view returns (tuple)
activate
nonpayablefunction activate(bool _shouldActivate)
cancelGovernanceChange
nonpayablefunction cancelGovernanceChange()
changeGovernance
nonpayablefunction changeGovernance(address _newGov)
confirmGovernanceChange
nonpayablefunction confirmGovernanceChange()
finalizePendingAgentSubPrice
nonpayablefunction finalizePendingAgentSubPrice(address _agent) returns (bool)
removeAgentSubPrice
nonpayablefunction removeAgentSubPrice(address _agent) returns (bool)
removeProtocolSubPrice
nonpayablefunction removeProtocolSubPrice() returns (bool)
removeProtocolTxPriceSheet
nonpayablefunction removeProtocolTxPriceSheet() returns (bool)
setAgentSubPrice
nonpayablefunction setAgentSubPrice(address _agent, address _asset, uint256 _usdValue, uint256 _trialPeriod, uint256 _payPeriod) returns (bool)
setAgentSubPricingEnabled
nonpayablefunction setAgentSubPricingEnabled(bool _isEnabled) returns (bool)
setGovernanceChangeDelay
nonpayablefunction setGovernanceChangeDelay(uint256 _numBlocks)
setPriceChangeDelay
nonpayablefunction setPriceChangeDelay(uint256 _delayBlocks) returns (bool)
setProtocolRecipient
nonpayablefunction setProtocolRecipient(address _recipient) returns (bool)
setProtocolSubPrice
nonpayablefunction setProtocolSubPrice(address _asset, uint256 _usdValue, uint256 _trialPeriod, uint256 _payPeriod) returns (bool)
setProtocolTxPriceSheet
nonpayablefunction setProtocolTxPriceSheet(uint256 _depositFee, uint256 _withdrawalFee, uint256 _rebalanceFee, uint256 _transferFee, uint256 _swapFee, uint256 _addLiqFee, uint256 _removeLiqFee, uint256 _claimRewardsFee, uint256 _borrowFee, uint256 _repayFee) returns (bool)
events
AgentSubPriceRemoved
event AgentSubPriceRemoved(address indexed agent, address indexed asset, uint256 usdValue, uint256 trialPeriod, uint256 payPeriod)
AgentSubPriceSet
event AgentSubPriceSet(address indexed agent, address indexed asset, uint256 usdValue, uint256 trialPeriod, uint256 payPeriod)
AgentSubPricingEnabled
event AgentSubPricingEnabled(bool isEnabled)
GovChangeCancelled
event GovChangeCancelled(address indexed cancelledGov, uint256 initiatedBlock, uint256 confirmBlock)
GovChangeConfirmed
event GovChangeConfirmed(address indexed prevGov, address indexed newGov, uint256 initiatedBlock, uint256 confirmBlock)
GovChangeDelaySet
event GovChangeDelaySet(uint256 delayBlocks)
GovChangeInitiated
event GovChangeInitiated(address indexed prevGov, address indexed newGov, uint256 confirmBlock)
PendingAgentSubPriceSet
event PendingAgentSubPriceSet(address indexed agent, address indexed asset, uint256 usdValue, uint256 trialPeriod, uint256 payPeriod, uint256 effectiveBlock)
PriceChangeDelaySet
event PriceChangeDelaySet(uint256 delayBlocks)
PriceSheetsActivated
event PriceSheetsActivated(bool isActivated)
ProtocolRecipientSet
event ProtocolRecipientSet(address indexed recipient)
ProtocolSubPriceRemoved
event ProtocolSubPriceRemoved(address indexed asset, uint256 usdValue, uint256 trialPeriod, uint256 payPeriod)
ProtocolSubPriceSet
event ProtocolSubPriceSet(address indexed asset, uint256 usdValue, uint256 trialPeriod, uint256 payPeriod)
ProtocolTxPriceSheetRemoved
event ProtocolTxPriceSheetRemoved(uint256 depositFee, uint256 withdrawalFee, uint256 rebalanceFee, uint256 transferFee, uint256 swapFee, uint256 addLiqFee, uint256 removeLiqFee, uint256 claimRewardsFee, uint256 borrowFee, uint256 repayFee)
ProtocolTxPriceSheetSet
event ProtocolTxPriceSheetSet(uint256 depositFee, uint256 withdrawalFee, uint256 rebalanceFee, uint256 transferFee, uint256 swapFee, uint256 addLiqFee, uint256 removeLiqFee, uint256 claimRewardsFee, uint256 borrowFee, uint256 repayFee)
errors
No errors.
creation bytecode
0x6118705150346101ee576020611a5b5f395f518060a01c6101ee576101405261014051156101ee5761014051635aa6e675610160526020610160600461017c845afa61004d573d5f5f3e3d5ffd5b3d602081183d60201002188061016001610180116101ee57610160518060a01c6101ee576101a052506101a090505160065560016019555f6040526101405160605260403660803761009d6100f8565b610140516117d05260206119bb5f395f516117f05260206119db5f395f516118105260206119fb5f395f51611830526020611a1b5f395f51611850526020611a3b5f395f51611870526117906101f261000039611890610000f35b6040511561010757600161010d565b60605115155b156101ee5760405115610120576040515f555b6060511561012f576060516005555b6040608060c05e60c051610144576001610149565b60e051155b156101c357606051156101ee5760605163ed860576610100526020610100600461011c845afa61017b573d5f5f3e3d5ffd5b60203d106101ee5761010090505160c05260605163c55728b0610100526020610100600461011c845afa6101b1573d5f5f3e3d5ffd5b60203d106101ee5761010090505160e0525b60e05160c05110156101ee5760c0516117905260e0516117b052606051156101ec5760c0516004555b565b5f80fd5f3560e01c60026027820660011b61174201601e395f51565b6353aa430781186100565760243610341761173e576004358060a01c61173e5761026052602061026051610160526100516102806112aa565b610280f35b6399572d6f81186111d65760243610341761173e576004358060a01c61173e57610160526100856101e06111da565b6101e0805160208160051b0180836101805e505050335f6101e0525f610180516002811161173e5780156100da57905b8060051b6101a0015183186100cf5760016101e0526100da565b6001018181186100b5575b50506101e05190501561173e576101605160016101e0525f610180516002811161173e57801561012a57905b8060051b6101a00151831861011f575f6101e05261012a565b600101818118610106575b50506101e05190501561173e57610160513b1561173e5761014c6101e0611309565b6101e0511561015f57610160511561173e575b4360045480820182811061173e57905090506101e05261016051600155436002556101e051600355610160515f547fa8e5a115434955f3c91f53089861da9b575399fbfbc1fc8b345ae6a18b0f193e6101e051610200526020610200a3005b633f561eff81186101dc573461173e57600354151560405260206040f35b63bfc8511c81186111d6573461173e57602061187060403960206040f35b636e4fd9c881186111d6573461173e576001546040526002546060526003546080526040511561173e576080511561023757608051431015610239565b5f5b1561173e57604051331861173e575f5460a0526040515f555f6001555f6002555f60035560405160a0517fb5dfe18540f75a87f8c7963e7f4942e9392be572b787d486d7868ac53a5bdf5b6040606060c05e604060c0a3005b63366836cc811861031b573461173e5733610160526102b26102606112aa565b610260511561173e5760015461026052600254610280526003546102a0526102a0511561173e575f6001555f6002555f600355610260517f4301277e72c59c5071608882749a82a210817721ba94066744cea89211d3838060406102806102c05e60406102c0a2005b63c303731981186111d6573461173e57602061181060403960206040f35b63a908dc8081186103d05760243610341761173e5760035461173e5733610160526103656102606112aa565b610260511561173e5760206117905f395f516004351015610386575f610395565b60206117b05f395f5160043511155b1561173e576004356004557fb8d7f2c6802e04bfd3abb436c2b7b52bd4b37872b53bd1150146816d66ac7de2600435610260526020610260a1005b63a56313ad81186104495760443610341761173e576004358060a01c61173e576101a05260243580600b1c61173e576101c0526101c0516040525f600a905b80600701548160051b6060015260010181811861040f5750506104336101e06115a9565b6101e05161020052600654610220526040610200f35b630f0eda9881186111d65760243610341761173e576004358060a01c61173e5760405260176040516020525f5260405f2080546060526001810154608052600281015460a052600381015460c052600481015460e0525060a06060f35b635aa6e67581186104c1573461173e575f5460405260206040f35b63d58addfa81186111d65760243610341761173e576004358060011c61173e576102605233610160526104f56102806112aa565b610280511561173e57601554610260511461173e57610260516015557f31605a06f92362c867c35d293c76c2d5dba389766a43b0fc5d9e5214d2e5832861026051610280526020610280a16001610280526020610280f35b63252408108118610575573461173e5760015460405260025460605260035460805260606040f35b635057f1e881186111d65760243610341761173e57336101605261059a6102606112aa565b610260511561173e576004356105b15760016105c0565b60206118705f395f5160043510155b1561173e576004356018557fc6f3cd295f2a92b987ccd3a241a4ef32a436dd2a5f73566ef8678abccdc15731600435610260526020610260a16001610260526020610260f35b63f40b169781186111d6573461173e5760045460405260206040f35b63ed86057681186111d6573461173e57602061179060403960206040f35b63c55728b0811861065e573461173e5760206117b060403960206040f35b6394b51d3781186111d6573461173e5760206117d060403960206040f35b63aae7c49b81186111d65760a43610341761173e576004358060a01c61173e57610220526024358060a01c61173e57610240526084358060a01c61173e576102605260643560405260115460605260125460805260135460a05260145460c0526102605160e0526106ee610340611312565b61034060c0816102805e506102c0511561070a57600654610280525b60c03661034037610240511561077c576044356040526016610240516020525f5260405f2080546060526001810154608052600281015460a052600381015460c052506102605160e05261075f610400611312565b61040060c0816104c05e5060c06104c06103405e61024051610340525b60c06102806104005e60c06103406104c05e610180610400f35b631b90b1de81186111d65760243610341761173e576004358060a01c61173e576040526015546107cf5760803660603760806060610800565b60166040516020525f5260405f2080546060526001810154608052600281015460a052600381015460c05250608060605bf35b635ed76d4d81186111d65760843610341761173e576004358060a01c61173e5760c052602060c0516040526060602460603761083e60e0611414565b60e0f35b630325e5ad81186111d65760a43610341761173e576004358060a01c61173e57610260526024358060a01c61173e5761028052610260516040526108876102a0611497565b6102a0511561173e573361026051638da5cb5b6102c05260206102c060046102dc845afa6108b7573d5f5f3e3d5ffd5b3d602081183d6020100218806102c0016102e01161173e576102c0518060a01c61173e576103005250610300905051146102a0526102a05161090c5733610160526109036102c06112aa565b6102c05161090f565b60015b1561173e576102a05115610926576019541561173e575b610260511561173e5761028051604052606060446060376109486102c0611414565b6102c05161095f575f6102e05260206102e0610a41565b610280516102c052606060446102e03760185461034052610340516109a5576102605160405260806102c060605e610995611548565b6001610360526020610360610a41565b436103405180820182811061173e5790509050610360526017610260516020525f5260405f206102c05181556102e05160018201556103005160028201556103205160038201556103605160048201555061028051610260517fdf183c871fe799c55c7b8f8b0ac88b4487c13c381c90194efb25423041acf5b36060604461038037610360516103e0526080610380a360016103805260206103805bf35b634e6255a78118610b145760243610341761173e576004358060a01c61173e57610140526019541561173e576017610140516020525f5260405f2080546101605260018101546101805260028101546101a05260038101546101c05260048101546101e052506101e05115610abe576101e051431015610ac0565b5f5b1561173e576017610140516020525f5260405f205f81555f60018201555f60028201555f60038201555f60048201555061014051604052608061016060605e610b07611548565b6001610200526020610200f35b63c67c8e0f8118610b42573461173e5760115460405260125460605260135460805260145460a05260806040f35b634a8c1fb481186111d6573461173e5760195460405260206040f35b637184406c8118610c7b5760243610341761173e576004358060a01c61173e57610260523361016052610b926102806112aa565b610280511561173e5761026051604052610bad610280611497565b610280511561173e576016610260516020525f5260405f2080546102805260018101546102a05260028101546102c05260038101546102e0525061028051610bf6576001610bfc565b61026051155b15610c10575f610320526020610320610c79565b6016610260516020525f5260405f205f81555f60018201555f60028201555f60038201555061028051610260517f2050e1bdd216362adb1f1aee4c94db2043d8502914bcf1dd8d2ecd54a865ccc160606102a06103005e6060610300a360016103005260206103005bf35b6306746e2c8118610d51576101443610341761173e573361016052610ca16102606112aa565b610260511561173e576101406004604037610cbd61026061168a565b61026051610cd4575f610280526020610280610d4f565b600435600755602435600855604435600955606435600a55608435600b5560a435600c5560c435600d5560e435600e5561010435600f55610124356010557f0944120479231c1f49fc5cc511b2701e56f12f098e707bb129998f3273c9a7d6610140600461026037610140610260a160016102605260206102605bf35b63941f5d2581186111d6573461173e5760065460405260206040f35b639d946c3d81186111d65760843610341761173e576004358060a01c61173e57610260523361016052610da16102806112aa565b610280511561173e576102605160405260606024606037610dc3610280611414565b61028051610dda575f6102a05260206102a0610e32565b61026051601155602435601255604435601355606435601455610260517fab57ff9d09e2ff0eda5bd39950233ab77add65cd20927f9878e2e6a24a56b4a760606024610280376060610280a260016102805260206102805bf35b63da9f9ac38118610ee2573461173e573361016052610e546102606112aa565b610260511561173e5760115461026052601254610280526013546102a0526014546102c05261026051610e90575f6102e05260206102e0610ee0565b5f6011555f6012555f6013555f601455610260517ff7460b11d7693833e02bc9ff9b56ce860d81d333e56e36dbb91b6639fa100c5d60606102806102e05e60606102e0a260016102e05260206102e05bf35b637abea67481186111d6576101443610341761173e5760206101406004604037610f0d61018061168a565b610180f35b63d81126e481186111d6573461173e573361016052610f326102606112aa565b610260511561173e575f600a905b80600701548160051b6102600152600101818118610f405750505f6007555f6008555f6009555f600a555f600b555f600c555f600d555f600e555f600f555f6010557f7b66498a47cb1210951dff4021a8f65bd66ae8e962fe7fb4649018ea0c34e6996101406102606103a05e6101406103a0a160016103a05260206103a0f35b6307ba8a5481186110455760243610341761173e576004358060a01c61173e57610260523361016052610ff56102806112aa565b610280511561173e57610260511561173e5761026051600655610260517ff31805ebffaffe9c515088f2d7445b69c9b286ee994725e81faf8d47683011b25f610280a26001610280526020610280f35b63ce5e84a381186111d65760243610341761173e576004358060011c61173e576102605233610160526110796102806112aa565b610280511561173e57610260516019557f5b01c5cc696ab966a1308a5889aca64e667b4e0dcd556c4add287da3fc58beaf61026051610280526020610280a1005b6358ea85e481186111d6573461173e575f600a905b80600701548160051b604001526001018181186110cf5750506101406040f35b632f05d42c81186111d6573461173e5760155460405260206040f35b635bc55d4081186111605760243610341761173e576004358060a01c61173e5760405260166040516020525f5260405f2080546060526001810154608052600281015460a052600381015460c0525060806060f35b631d60c35381186111d6573461173e57602061185060403960206040f35b63cec4203c81186111d6573461173e5760185460405260206040f35b63808e785281186111d6573461173e5760206117f060403960206040f35b63c927dbde81186111d6573461173e57602061183060403960206040f35b5f5ffd5b5f6040525f5460a05260a0511561120a576040516001811161173e5760a0518160051b6060015260018101604052505b60055460c05260c051156112965760c051635aa6e675610100526020610100600461011c845afa61123d573d5f5f3e3d5ffd5b3d602081183d602010021880610100016101201161173e57610100518060a01c61173e57610140525061014090505160e05260e05115611296576040516001811161173e5760e0518160051b6060015260018101604052505b60405160208160051b01806040845e505050565b610160516112b96101e06111da565b6101e05f610240525f81516002811161173e5780156112fa57905b8060051b60208401015184186112ef576001610240526112fa565b6001018181186112d4575b50506102405190509050815250565b60055415815250565b60c0366101003760405161018052604051611331576080511515611333565b5f5b61135f5760405115611348576080511561134a565b5f5b1561137c575f6101805260016101a05261137c565b4360a05180820182811061173e57905090506101805260016101a0525b610180511561139057610180514311611392565b5f5b1561140a5760e051632c7ddded6101c052604060606101e05e60206101c060446101dc845afa6113c4573d5f5f3e3d5ffd5b60203d1061173e576101c090505161014052610140511561140a574360c05180820182811061173e579050905061018052608051610160526060516101205260016101a0525b60c0610100825e50565b604051611424575f815250611495565b60206118305f395f5160a051106114475760206118505f395f5160a0511161144a565b60015b15611458575f815250611495565b60206117f05f395f516080511061147b5760206118105f395f516080511161147e565b60015b1561148c575f815250611495565b60605115158152505b565b60206117d05f395f516347be091a608052600160a052602060806024609c845afa6114c4573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a01161173e576080518060a01c61173e5760c0525060c0905051606052606051631ffbb06460805260405160a052602060806024609c845afa611519573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a01161173e576080518060011c61173e5760c0525060c0905051815250565b60166040516020525f5260405f206060518155608051600182015560a051600282015560c0516003820155506060516040517fa6240bb3e3d5f5aca311e99ae7806d79c68aedf348769a850feb492f4fca0a106060608060e05e606060e0a3565b6001604051186115be57606051815250611688565b6002604051186115d357608051815250611688565b6004604051186115e85760a051815250611688565b6008604051186115fd5760c051815250611688565b6010604051186116125760e051815250611688565b6040604051186116285761010051815250611688565b60806040511861163e5761012051815250611688565b610100604051186116555761014051815250611688565b6102006040511861166c5761016051815250611688565b610400604051186116835761018051815250611688565b5f8152505b565b6103e8604051111561169c575f611739565b6103e860605111156116ae575f611739565b6103e860805111156116c0575f611739565b6103e860a05111156116d2575f611739565b6103e860c05111156116e4575f611739565b6103e860e05111156116f6575f611739565b6103e8610100511115611709575f611739565b6103e861012051111561171c575f611739565b6103e861014051111561172f575f611739565b6103e86101605111155b815250565b5f80fd033911d60606080211d610ba04a611d611d60d6d110b117e0796119a01be11b811d60a4311d60fc111d611d611d611d611d6054d067c0e3411d6029201fa0f1206400018084206220b5e11d610ef855820feee2d3b373cbd1da58efaf75093c2853e17676731a7e4ed610e4066c562e8ab19179081184e190100a1657679706572830004010039000000000000000000000000000000000000000000000000000000000000a8c0000000000000000000000000000000000000000000000000000000000013c6800000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000000000000000000000000000000000000003b8260000000000000000000000000000000000000000000000000000000000000a8c0000000000000000000000000dccab9855d7ee558409ebdf358a3a44a8b2415b3