{"compiler":{"version":"0.6.11+commit.5ef660b1"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator_address","type":"address"},{"internalType":"address","name":"_timelock_address","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FRAXBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FRAXMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"COLLATERAL_RATIO_PAUSER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool_address","type":"address"}],"name":"addPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collateral_ratio_paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"controller_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creator_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"eth_usd_consumer_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eth_usd_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"frax_eth_oracle_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"frax_info","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"frax_pools","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"frax_pools_array","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"frax_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"frax_step","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fxs_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fxs_eth_oracle_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fxs_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalCollateralValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"global_collateral_ratio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"last_call_time","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minting_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"b_address","type":"address"},{"internalType":"uint256","name":"b_amount","type":"uint256"}],"name":"pool_burn_from","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"m_address","type":"address"},{"internalType":"uint256","name":"m_amount","type":"uint256"}],"name":"pool_mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"price_band","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price_target","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redemption_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"refreshCollateralRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"refresh_cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool_address","type":"address"}],"name":"removePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_controller_address","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_eth_usd_consumer_address","type":"address"}],"name":"setETHUSDOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_frax_oracle_addr","type":"address"},{"internalType":"address","name":"_weth_address","type":"address"}],"name":"setFRAXEthOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fxs_address","type":"address"}],"name":"setFXSAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fxs_oracle_addr","type":"address"},{"internalType":"address","name":"_weth_address","type":"address"}],"name":"setFXSEthOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new_step","type":"uint256"}],"name":"setFraxStep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"min_fee","type":"uint256"}],"name":"setMintingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner_address","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price_band","type":"uint256"}],"name":"setPriceBand","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new_price_target","type":"uint256"}],"name":"setPriceTarget","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"red_fee","type":"uint256"}],"name":"setRedemptionFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new_cooldown","type":"uint256"}],"name":"setRefreshCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"new_timelock","type":"address"}],"name":"setTimelock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timelock_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleCollateralRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth_address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.approve(address spender, uint256 amount)"},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"burn(uint256)":{"details":"Destroys `amount` tokens from the caller. See {ERC20-_burn}."},"burnFrom(address,uint256)":{"details":"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for `accounts`'s tokens of at least `amount`."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getRoleMember(bytes32,uint256)":{"details":"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information."},"getRoleMemberCount(bytes32)":{"details":"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"Frax.sol":"FRAXStablecoin"},"evmVersion":"istanbul","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":100000},"remappings":[]},"sources":{"AccessControl.sol":{"keccak256":"0xb02c9f3577139a10bdf4e6ffc1969100559645089ae9ebf6c850982ecca37524","license":"MIT","urls":["bzz-raw://338fdc6400fd91cbfe1601339819dedaba41177028d3252eaa00805a340aa39d","dweb:/ipfs/QmdqqTh1HozstUrWnXG8dREsGZhJxi5rsjMVZhuf5SSmEK"]},"Address.sol":{"keccak256":"0x575884da86647cef4f5517212498dea9ec0389302d508ebc3ce19a0bbb74a897","license":"MIT","urls":["bzz-raw://b802e6616c96e4b9ccbd468e16af361de597eb831630f9ffc30bf6e09b9e2619","dweb:/ipfs/QmTbTjqi3gsAxTSsSdZhAbXe2SodL1ogZhwDi4DgRoJyau"]},"AggregatorV3Interface.sol":{"keccak256":"0x5e7761d06fea8192b159f3e287600cba23c5bdbe3a1bbe1050cc3ab9ed4273a4","license":"MIT","urls":["bzz-raw://1b6956df5c8ad84b2aba10e7d07c9f4976ae9ebdd65509729e752900a6f6475d","dweb:/ipfs/QmP2MJZdZsJWRozMHmCtq4SU5ePKEHxCzhyqtBFpAjCDny"]},"Babylonian.sol":{"keccak256":"0xa1e89976edb3fd1bbace40d41cbc3cc077544130213115d1d8f1bb33febeeb7d","license":"MIT","urls":["bzz-raw://125cfe54f365063eb84515238c92137b8723b072d6ca6350fabc9ed570abea53","dweb:/ipfs/QmNg3xCU5DcXBkA48ZQ3xwqGSMh5hymYJ8SiQvHCDKaLiK"]},"ChainlinkETHUSDPriceConsumer.sol":{"keccak256":"0x79e4e84dc26263f60e5fdbd898a12a8f45c9d14f4625b2817730bcc1b7cf17ea","license":"MIT","urls":["bzz-raw://622ae8d439e0d57b2b6e38612dc1f0479e64b9062d26e37b2c8b9ad427d12f6d","dweb:/ipfs/QmczC89nV4wJXCmu551JcjQBWpVnUJ6cbbcGn8Jj9kaEps"]},"Context.sol":{"keccak256":"0xab7f5e4a82f376a8889907d757e75d56fd78cba9192f9433593b55aed67f2a2d","license":"MIT","urls":["bzz-raw://f4f8c30d9a8abbe57c9ec8e58ce1f00651794271d5855223169f187f44b4c816","dweb:/ipfs/QmRvXhREFK6ZrLMwYyqagwCLmBEkDXo5BRjXZW3JigiZ28"]},"ERC20.sol":{"keccak256":"0x001cb8905368f3191437da88f7819093fe40b36007e97222e03f16b03c356b2c","license":"MIT","urls":["bzz-raw://f97e039a87b9c56e9658187671fb13e37a70161d10766f3eb19d2e8fce40a71a","dweb:/ipfs/QmNQx63AuZj7FCrLoVdLXCE3Tm2eL5DdTz9fG8mfReeXze"]},"ERC20Custom.sol":{"keccak256":"0xe10b2ea827c51e8513764209b4fc25ff36636639af69458c2ddb41295d4cd656","license":"MIT","urls":["bzz-raw://ead6efcb49a98c489dade6fae570aa89eef7b266e761f3ec1016ddf4db817524","dweb:/ipfs/QmdA9M7yfyWpFvVtB92ugiv5eCXNB9h5fAdKMN7v3UZRjE"]},"EnumerableSet.sol":{"keccak256":"0xb2a11b236f073662f5a196995863f51c11d006bf7c3de158b316dfa1506c4b79","license":"MIT","urls":["bzz-raw://8651649cf0b9efa18c3b01c030276fa320d41adbdc286833417e7f36e357b2f3","dweb:/ipfs/QmafhM2Nd1aP43QVB1eRRZaqRXQKswNfQcWi8U8xjrxCfN"]},"FXS.sol":{"keccak256":"0x38ce7ede21e44053f8da8373da40d75815fe7e500795abcdd02f55fb3c18b8e4","license":"MIT","urls":["bzz-raw://ac6174d537e0827d98050611f970e337589ddcc441f6460f3eb7642714cf820b","dweb:/ipfs/Qmdtrb9XkGq9YrsgQDRFvzngxmRpREQQAyMBQ2h6Fpz5tj"]},"FixedPoint.sol":{"keccak256":"0x07984ef65b9a050fb37357afb0da79c7b0c5e76b6ef1670bd54cc879e8805e47","license":"MIT","urls":["bzz-raw://cd6e634dc0e1b3862128925a62d2e5494ed324f38132e542642bb4cee3ab5834","dweb:/ipfs/QmW6NVWeMiWP3YrKu8Qz79dto675jwpcD1LcvvLARSCK3t"]},"Frax.sol":{"keccak256":"0xda453768d430440d1c672aab2427a72ce91efbde14ae1609f69cc443228005ca","license":"MIT","urls":["bzz-raw://61682d9ba3487bffb7e5db7e221beb0c7c0cd60eabbc40d0917f56ef1f1fd0d3","dweb:/ipfs/QmZFb7C4xVrrnZXTLABeEBiZ1xVtDrCCJuCG2VXsJoDP3d"]},"FraxPool.sol":{"keccak256":"0xe208b77f3d71987f9ed8a1dc367edd6e728c986b1b39c284e8fc4f475d3b2965","license":"MIT","urls":["bzz-raw://92089907f353b0adba280a294d625a4a337ba30f22dcefd15ad35bfc418a99c3","dweb:/ipfs/QmYVB1hhvLVopCme2aiYmcqTV172RDRJsurS2JktdtP6RQ"]},"FraxPoolLibrary.sol":{"keccak256":"0x01dcdaad03d56b69b1caa276eb7263dda13ebe73176f5e63032ee46c6f27d783","license":"MIT","urls":["bzz-raw://96ec6d873bad82d2d525723fcbab7bd2d130793dc831b23c578072f6c2a416b5","dweb:/ipfs/QmfGrYkpwQtaAwDbLHVdqZLoYmPCaBRMfe3D1kyv5tyWnN"]},"IERC20.sol":{"keccak256":"0xdbb00a32f5b51e22d7e483dbcff15965ea6be896e4298f41908754b9d9c834c2","license":"MIT","urls":["bzz-raw://7c62335285e3164c783bb0cfdea0652f51826797c702a9bf998db5e99331dffd","dweb:/ipfs/QmRDUmfKwfX8eHukiWz9pCKPWTeMen7Zw9kp5XMztv9W7n"]},"IUniswapV2Factory.sol":{"keccak256":"0x828962f151f90d86141bc2ad011a88d851a865f0c97197f4fd4df7ebe0e0acc6","license":"MIT","urls":["bzz-raw://ac3c147ba07efb47fb11c123483c90b642b0174b838f5cde2da5b8b9cef568c0","dweb:/ipfs/QmRhgTjKMBzc3bp3Yk91rtQgTJmbqriqH2D9hTaXzVn5Hi"]},"IUniswapV2Pair.sol":{"keccak256":"0x1d3a96a0bd3f27fa1aab5bcf5d7b8f765424d8ff10c79b011b75d58ef6740421","license":"MIT","urls":["bzz-raw://0628996ffb6620cfe96c718dbb17c65de41bc7ee54881f6a4327021ea0c01dc9","dweb:/ipfs/QmZZ5yA7fE7fdcLXmoiRfb6hLxCRPGH4vqTrNc74q52UXs"]},"SafeMath.sol":{"keccak256":"0xd59454f079791fa65de99df4f72d7efc0443657dacff0a1e41fcd0542bb5ee71","license":"MIT","urls":["bzz-raw://a3cafa7e188fccb7da079c1fe94d02b62d9c137246e68fe5b309802195247416","dweb:/ipfs/QmdWqMsPT4xbBGTHQ7HuBrGD5rjHjvZ3yehs5QAviQvvoK"]},"UniswapPairOracle.sol":{"keccak256":"0x188ec74eef9cb47ec81f86e69cbfc3e6796329307651d411df4b54271941048f","license":"MIT","urls":["bzz-raw://4b1afa24a68e9e9c05fe72d6da87c7815681a3bd0edaa213a7fd50d87a27b160","dweb:/ipfs/QmcegyXfCKyXRVfVaiKXzREe5WNroMdE3p18iecViqQR9r"]},"UniswapV2Library.sol":{"keccak256":"0xacf9178a4bda51e2262a568070e7471c80362967ece709882083a4ec7cc4758b","license":"MIT","urls":["bzz-raw://c0960f32ea45d725e0e7a50fb2258e1e73e5b15c338234f0bd44b64e93a8ae28","dweb:/ipfs/QmPYaoYCMRb1ntQBDhdRs5wZsgVqSEbf2mqn4529CUTtne"]},"UniswapV2OracleLibrary.sol":{"keccak256":"0x930c11fe4fd40567241666d19d5cfb5c9855266421295b0762647386c4e093c6","license":"MIT","urls":["bzz-raw://5a3e74bd30ab8c0bc8fad5a7568744fc5b4dff61f22043bbf5b77e88709be6d7","dweb:/ipfs/QmXJ7TXzhM8EDL4HrAmqFuKAmW39mS4f5H85VPofpLVFnz"]}},"version":1}