{"compiler":{"version":"0.7.6+commit.7338295f"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IVault","name":"vault","type":"address"},{"internalType":"uint256","name":"maxYieldValue","type":"uint256"},{"internalType":"uint256","name":"maxAUMValue","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"feeType","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"ProtocolFeePercentageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"feeType","type":"uint256"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"uint256","name":"maximumPercentage","type":"uint256"}],"name":"ProtocolFeeTypeRegistered","type":"event"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"getActionId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAuthorizer","outputs":[{"internalType":"contract IAuthorizer","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"}],"name":"getFeeTypeMaximumPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"}],"name":"getFeeTypeName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"}],"name":"getFeeTypePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVault","outputs":[{"internalType":"contract IVault","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"}],"name":"isValidFeeType","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"isValidFeeTypePercentage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"maximumValue","type":"uint256"},{"internalType":"uint256","name":"initialValue","type":"uint256"}],"name":"registerFeeType","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"},{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setFeeTypePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"getActionId(bytes4)":{"details":"Returns the action identifier associated with the external function described by `selector`."},"getFeeTypeMaximumPercentage(uint256)":{"details":"Returns `feeType`'s maximum value."},"getFeeTypeName(uint256)":{"details":"Returns `feeType`'s name."},"getFeeTypePercentage(uint256)":{"details":"Returns the current percentage value for `feeType`. This is the preferred mechanism for querying these - whenever possible, use this fucntion instead of e.g. querying the ProtocolFeesCollector."},"isValidFeeType(uint256)":{"details":"Returns true if `feeType` has been registered and can be queried."},"isValidFeeTypePercentage(uint256,uint256)":{"details":"Returns true if `value` is a valid percentage value for `feeType`."},"registerFeeType(uint256,string,uint256,uint256)":{"details":"Registers a new fee type in the system, making it queryable via `getFeeTypePercentage` and `getFeeTypeName`, as well as configurable via `setFeeTypePercentage`. `feeType` can be any arbitrary value (that is not in use). It is not possible to de-register fee types, nor change their name or maximum value."},"setFeeTypePercentage(uint256,uint256)":{"details":"Sets the percentage value for `feeType` to `newValue`. IMPORTANT: it is possible for a third party to modify the SWAP and FLASH_LOAN fee type values directly in the ProtocolFeesCollector, without invoking this function. This will result in the `ProtocolFeePercentageChanged` event not being emitted despite their value changing. Such usage of the ProtocolFeesCollector is however discouraged: only this contract should be granted permission to call `setSwapFeePercentage` and `setFlashLoanFeePercentage`."}},"version":1},"userdoc":{"kind":"user","methods":{"getAuthorizer()":{"notice":"Returns the Authorizer"},"getVault()":{"notice":"Returns the Balancer Vault"}},"version":1}},"settings":{"compilationTarget":{"pkg/standalone-utils/contracts/ProtocolFeePercentagesProvider.sol":"ProtocolFeePercentagesProvider"},"evmVersion":"istanbul","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":999},"remappings":[]},"sources":{"pkg/interfaces/contracts/liquidity-mining/IAuthorizerAdaptor.sol":{"keccak256":"0xb42807a027f1fc13dd78c3d790652e9f6877609514f8732c52dac31147a48b94","license":"GPL-3.0-or-later","urls":["bzz-raw://6fc7df0a1b3554ce77abb142edd3a754d5d51702d22b8d104a25faa682091784","dweb:/ipfs/QmQk3ef1tTsGDdSJrfS2fiBEnjwvBUoeN5jpA6Ze9qa7Qk"]},"pkg/interfaces/contracts/solidity-utils/helpers/BalancerErrors.sol":{"keccak256":"0xf8eeb6c6ad4a8a5a0b72eec1fcae67df37b4682be1fa87ab41dc9ce09f02a7f8","license":"GPL-3.0-or-later","urls":["bzz-raw://fe6d060b6d4c8b237a55c33fb6d5cd959491bd815e92e7d9c15c03c3a9a6a064","dweb:/ipfs/QmRAMquirua4mrTYSXFHquMJmgD35Dri5XFjHdpT2ny8bN"]},"pkg/interfaces/contracts/solidity-utils/helpers/IAuthentication.sol":{"keccak256":"0x2d45ea7c14dc950acf5917377d9eb67d2b1d9f8b8d81fa60eeaad345cf257655","license":"GPL-3.0-or-later","urls":["bzz-raw://c387331bc3da670d45d54af96b067ea6fce6f3e0e5fac53b86fba73d5e9e874a","dweb:/ipfs/QmYkY4d2TDA4BXpjz1RPQn8rdWvZVTi3pSBbiUSaPFKwtM"]},"pkg/interfaces/contracts/solidity-utils/helpers/ISignaturesValidator.sol":{"keccak256":"0x571907ff5a68a10937b13e0828dd78bf9508f6e74eaafe7faf525453160c3627","license":"GPL-3.0-or-later","urls":["bzz-raw://afb73b213075954086eb7fa4eb4fac4962b779c8dd8c9c72902336d64c13210e","dweb:/ipfs/QmNWFPnoPxo8ToVHrqXaQQF8RPYeNNhV2eZN9EwFS3iHpz"]},"pkg/interfaces/contracts/solidity-utils/helpers/ITemporarilyPausable.sol":{"keccak256":"0x7d98e4751329dd9effc016cbc5acdf6399d3592407b9d3e28b38c10c621e56a3","license":"GPL-3.0-or-later","urls":["bzz-raw://a70c4c16829f31c75dd0a3987137ed1572a0343ff933dcdcfbef17d5d63307ae","dweb:/ipfs/QmSGBafawe525NbvK8LVN1rsD2yJxaS83QoTNC84evwM2E"]},"pkg/interfaces/contracts/solidity-utils/misc/IWETH.sol":{"keccak256":"0x41c26d92fde92c927352c447ff80e3b2216d076662f2b222b735e4c865a481dc","license":"GPL-3.0-or-later","urls":["bzz-raw://291a4b4f141ea187a61c3bb1ab16b370012e7e80ddc045671015ab2bfaf3c52c","dweb:/ipfs/QmXvvVdfZC3pAqLst3bW9Fbj8mS9y1t1k7Zqr9BXuKdUHP"]},"pkg/interfaces/contracts/solidity-utils/openzeppelin/IERC20.sol":{"keccak256":"0x3c415102b8b53a3efe0209b7fa4fd052a48b35a1df99e1b37572597d25030249","license":"MIT","urls":["bzz-raw://8aac0d9f5ff03e0edeb07e1c400b78edea5948acff7e113ba52fd32f86cad72d","dweb:/ipfs/Qmbh6C53fCjvjoHEVZHNadpRq5KZJzfHpDeR3qYfPgKvZt"]},"pkg/interfaces/contracts/standalone-utils/IProtocolFeePercentagesProvider.sol":{"keccak256":"0x7f25d72cd80f6799d94edcc724c7b5ca799f60f0bf3867a849732aba8476c966","license":"GPL-3.0-or-later","urls":["bzz-raw://01ed22fafc52ebd42d56712cf1a5d4f7b4afef1269abc8ceaa3ce8d303544ded","dweb:/ipfs/QmXR2nHPDmKQg4HA3NjqxHTn7GXtvDgaDhY6Vy2SYvvQ8T"]},"pkg/interfaces/contracts/vault/IAsset.sol":{"keccak256":"0x780769a0bd8655d8a05a75b062b32a65b775b9deb923b2e8f42f57a0ee263a2d","license":"GPL-3.0-or-later","urls":["bzz-raw://b63d22729102954a657432d81b31764e6dbdc7216a6deb991499a73dc4ebbd7b","dweb:/ipfs/QmWRyByegCCJr37yesLi7urtzNk2BBiDEjzbkPpV8TKy1X"]},"pkg/interfaces/contracts/vault/IAuthorizer.sol":{"keccak256":"0x1407e18b806b109e6a878697d2942eeb17bfc6cc601da725941658b90dc9dcc6","license":"GPL-3.0-or-later","urls":["bzz-raw://e2695f5ae435de2de9fa9dc3b165f05b5bf876217aba0e4bcbd20943a23fc831","dweb:/ipfs/QmYTmazrQQqjb4znByMiUUviqbXKTebrhpP8MDERZ5PLxz"]},"pkg/interfaces/contracts/vault/IFlashLoanRecipient.sol":{"keccak256":"0xadcf6e9f8677de9ec51a1bbb419da349b7c0c17af8b8cddad85ee0e80107036e","license":"GPL-3.0-or-later","urls":["bzz-raw://e9b30c1b15e3d0990a4a343fac14d2263c4bae4c3bdbeb38489103b4f6f66c39","dweb:/ipfs/QmeQjBDidkLAoq4nknwPPPmunSTvQEZ9shaAhPiJAPmbk6"]},"pkg/interfaces/contracts/vault/IProtocolFeesCollector.sol":{"keccak256":"0xe18a4e04a4a4e828c81548cc50d9d8ab6461dafbe88929c0342fa2b6c08e0d76","license":"GPL-3.0-or-later","urls":["bzz-raw://7056ea1221db4eacc3e263ea8b9d741c11b1871f745169a39c6f926dab9c403f","dweb:/ipfs/QmabGZff9x43RJUororFfmMzocB2UuZDDBMhhfELEeSJue"]},"pkg/interfaces/contracts/vault/IVault.sol":{"keccak256":"0x63425148b27356cee63cf843ef8918d3ff6cdd8d5c00371326bca8b4331b773c","license":"GPL-3.0-or-later","urls":["bzz-raw://6764d2a22a2e23de5235ceb0d06ebb9006f694c59547b8dc82dbc2e215d1f230","dweb:/ipfs/Qmb6BQBgUQno6RAqPPR8qeC3smNEC3Bm6y8ZcWEWZKAfhF"]},"pkg/solidity-utils/contracts/helpers/Authentication.sol":{"keccak256":"0xa10f4649d5178ff468c2cd433e04092222802f94c0991e1738881b766870c523","license":"GPL-3.0-or-later","urls":["bzz-raw://d923a86fd3933cdbd50b0afa7bde1a8c4e241f013b7a8261066566aa988baf11","dweb:/ipfs/QmUnA6sK4BeJmBYF8JmjR7R1HsFK5Pw5qmHsHyR8br5nj4"]},"pkg/solidity-utils/contracts/helpers/SingletonAuthentication.sol":{"keccak256":"0x45a894183c9560f8a9c580807cd8366bce8fa487aea0d490afc6ee8efca78b75","license":"GPL-3.0-or-later","urls":["bzz-raw://cc62200026dd1f09ae4024bcb827797d168245a0ecb3c3fc8d339a6e4b2b07b9","dweb:/ipfs/QmZodMmtgZLAWfwZBkiYrDmmZTNBFUhaSjUnhjvyJR1q74"]},"pkg/solidity-utils/contracts/openzeppelin/SafeCast.sol":{"keccak256":"0xe181042e6d15a5afb023bd74c5619567b67900a47675f2b2c589a8f9d18abe7e","license":"MIT","urls":["bzz-raw://9b865130409adce7ce5aeb3b00a72f1e1048b52668dbc28c77edc70eb5f8c745","dweb:/ipfs/QmVzJzeCPkoGiqjhw9ijnVmNFP43aS6nxjRayeWRu7N1xK"]},"pkg/standalone-utils/contracts/ProtocolFeePercentagesProvider.sol":{"keccak256":"0xd8f25e58ab48365ac1808aa754da11fb56f52bf4b1e1d192eb75c7f170072f17","license":"GPL-3.0-or-later","urls":["bzz-raw://f18b393b98b30fa9b47795b9e8278e6231238244cbb1cc47871f2ae277fcd036","dweb:/ipfs/QmQm5WzJkqmrAPw3S1XwrHHmP53moLMptEAsKXjY3xp7nC"]}},"version":1}