@zarclays/zswap-trident
Version:
461 lines • 37 kB
JSON
{
"address": "0x93395129bd3fcf49d95730d3c2737c17990ff328",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_barFee",
"type": "uint256"
},
{
"internalType": "address",
"name": "_barFeeTo",
"type": "address"
},
{
"internalType": "address",
"name": "_bento",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "InvalidBarFee",
"type": "error"
},
{
"inputs": [],
"name": "NotWhitelisted",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddress",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "factory",
"type": "address"
}
],
"name": "AddToWhitelist",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "barFeeTo",
"type": "address"
}
],
"name": "BarFeeToUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "barFee",
"type": "uint256"
}
],
"name": "BarFeeUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "factory",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "pool",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "deployData",
"type": "bytes"
}
],
"name": "DeployPool",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "factory",
"type": "address"
}
],
"name": "RemoveFromWhitelist",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "_factory",
"type": "address"
}
],
"name": "addToWhitelist",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "barFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "barFeeTo",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "bento",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_factory",
"type": "address"
},
{
"internalType": "bytes",
"name": "_deployData",
"type": "bytes"
}
],
"name": "deployPool",
"outputs": [
{
"internalType": "address",
"name": "pool",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "pools",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_factory",
"type": "address"
}
],
"name": "removeFromWhitelist",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_barFee",
"type": "uint256"
}
],
"name": "setBarFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_barFeeTo",
"type": "address"
}
],
"name": "setBarFeeTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "whitelistedFactories",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"transactionHash": "0x2f8a1ed035d70bcfaf9f7bef61e7647f73d4f2dcc72721b0ae30992ad1d0b673",
"receipt": {
"to": null,
"from": "0xf87bc5535602077d340806d71f805ea9907a843d",
"contractAddress": "0x93395129bd3fcf49d95730d3c2737c17990ff328",
"transactionIndex": "0x0",
"gasUsed": "0xb8c9b",
"logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000400000000000000000000000000000000000001001000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000080000010000000000000000000000000000000000000000000",
"blockHash": "0xd0d422b959167875b625b25f06ebac6e40bb3baf510577d7c4cd76f63fc27f53",
"transactionHash": "0x2f8a1ed035d70bcfaf9f7bef61e7647f73d4f2dcc72721b0ae30992ad1d0b673",
"logs": [
{
"address": "0x93395129bd3fcf49d95730d3c2737c17990ff328",
"blockHash": "0xd0d422b959167875b625b25f06ebac6e40bb3baf510577d7c4cd76f63fc27f53",
"blockNumber": "0x6a8638",
"data": "0x",
"logIndex": "0x0",
"removed": false,
"topics": [
"0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x000000000000000000000000f87bc5535602077d340806d71f805ea9907a843d"
],
"transactionHash": "0x2f8a1ed035d70bcfaf9f7bef61e7647f73d4f2dcc72721b0ae30992ad1d0b673",
"transactionIndex": "0x0"
}
],
"blockNumber": "0x6a8638",
"cumulativeGasUsed": "0xb8c9b",
"status": "0x1"
},
"args": [
1667,
"0x1136c70afDD5dAD9508C58a8a0D91C574Ad0e1b1",
"0xF5BCE5077908a1b7370B9ae04AdC565EBd643966"
],
"numDeployments": 1,
"solcInputHash": "76e6dc96ea94c96e1c2463853d56dcaa",
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_barFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_barFeeTo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_bento\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidBarFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelisted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"AddToWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"barFeeTo\",\"type\":\"address\"}],\"name\":\"BarFeeToUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"barFee\",\"type\":\"uint256\"}],\"name\":\"BarFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"deployData\",\"type\":\"bytes\"}],\"name\":\"DeployPool\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"RemoveFromWhitelist\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"}],\"name\":\"addToWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"barFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"barFeeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bento\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_deployData\",\"type\":\"bytes\"}],\"name\":\"deployPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"pools\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"}],\"name\":\"removeFromWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_barFee\",\"type\":\"uint256\"}],\"name\":\"setBarFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_barFeeTo\",\"type\":\"address\"}],\"name\":\"setBarFeeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"whitelistedFactories\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Mudit Gupta.\",\"errors\":{\"InvalidBarFee()\":[{\"details\":\"Custom Errors\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Trident pool deployer contract with template factory whitelist.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/deployer/MasterDeployer.sol\":\"MasterDeployer\"},\"evmVersion\":\"london\",\"libraries\":{\":__CACHE_BREAKER__\":\"0x00000000d41867734bbee4c6863d9255b2b06ac1\"},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../utils/Context.sol\\\";\\n\\n/**\\n * @dev Contract module which provides a basic access control mechanism, where\\n * there is an account (an owner) that can be granted exclusive access to\\n * specific functions.\\n *\\n * By default, the owner account will be the one that deploys the contract. This\\n * can later be changed with {transferOwnership}.\\n *\\n * This module is used through inheritance. It will make available the modifier\\n * `onlyOwner`, which can be applied to your functions to restrict their use to\\n * the owner.\\n */\\nabstract contract Ownable is Context {\\n address private _owner;\\n\\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n /**\\n * @dev Initializes the contract setting the deployer as the initial owner.\\n */\\n constructor() {\\n _transferOwnership(_msgSender());\\n }\\n\\n /**\\n * @dev Returns the address of the current owner.\\n */\\n function owner() public view virtual returns (address) {\\n return _owner;\\n }\\n\\n /**\\n * @dev Throws if called by any account other than the owner.\\n */\\n modifier onlyOwner() {\\n require(owner() == _msgSender(), \\\"Ownable: caller is not the owner\\\");\\n _;\\n }\\n\\n /**\\n * @dev Leaves the contract without owner. It will not be possible to call\\n * `onlyOwner` functions anymore. Can only be called by the current owner.\\n *\\n * NOTE: Renouncing ownership will leave the contract without an owner,\\n * thereby removing any functionality that is only available to the owner.\\n */\\n function renounceOwnership() public virtual onlyOwner {\\n _transferOwnership(address(0));\\n }\\n\\n /**\\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\\n * Can only be called by the current owner.\\n */\\n function transferOwnership(address newOwner) public virtual onlyOwner {\\n require(newOwner != address(0), \\\"Ownable: new owner is the zero address\\\");\\n _transferOwnership(newOwner);\\n }\\n\\n /**\\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\\n * Internal function without access restriction.\\n */\\n function _transferOwnership(address newOwner) internal virtual {\\n address oldOwner = _owner;\\n _owner = newOwner;\\n emit OwnershipTransferred(oldOwner, newOwner);\\n }\\n}\\n\",\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\"},\"@openzeppelin/contracts/utils/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Provides information about the current execution context, including the\\n * sender of the transaction and its data. While these are generally available\\n * via msg.sender and msg.data, they should not be accessed in such a direct\\n * manner, since when dealing with meta-transactions the account sending and\\n * paying for execution may not be the actual sender (as far as an application\\n * is concerned).\\n *\\n * This contract is only required for intermediate, library-like contracts.\\n */\\nabstract contract Context {\\n function _msgSender() internal view virtual returns (address) {\\n return msg.sender;\\n }\\n\\n function _msgData() internal view virtual returns (bytes calldata) {\\n return msg.data;\\n }\\n}\\n\",\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\"},\"contracts/deployer/MasterDeployer.sol\":{\"content\":\"// SPDX-License-Identifier: GPL-3.0-or-later\\n\\npragma solidity >=0.8.0;\\n\\nimport \\\"@openzeppelin/contracts/access/Ownable.sol\\\";\\n\\nimport \\\"../interfaces/IPoolFactory.sol\\\";\\n\\n/// @dev Custom Errors\\nerror InvalidBarFee();\\nerror ZeroAddress();\\nerror NotWhitelisted();\\n\\n/// @notice Trident pool deployer contract with template factory whitelist.\\n/// @author Mudit Gupta.\\ncontract MasterDeployer is Ownable {\\n event DeployPool(address indexed factory, address indexed pool, bytes deployData);\\n event AddToWhitelist(address indexed factory);\\n event RemoveFromWhitelist(address indexed factory);\\n event BarFeeUpdated(uint256 indexed barFee);\\n event BarFeeToUpdated(address indexed barFeeTo);\\n\\n uint256 public barFee;\\n address public barFeeTo;\\n address public immutable bento;\\n\\n uint256 internal constant MAX_FEE = 10000; // @dev 100%.\\n\\n mapping(address => bool) public pools;\\n mapping(address => bool) public whitelistedFactories;\\n\\n constructor(\\n uint256 _barFee,\\n address _barFeeTo,\\n address _bento\\n ) {\\n if (_barFee > MAX_FEE) revert InvalidBarFee();\\n if (_barFeeTo == address(0)) revert ZeroAddress();\\n if (_bento == address(0)) revert ZeroAddress();\\n\\n barFee = _barFee;\\n barFeeTo = _barFeeTo;\\n bento = _bento;\\n }\\n\\n function deployPool(address _factory, bytes calldata _deployData) external returns (address pool) {\\n if (!whitelistedFactories[_factory]) revert NotWhitelisted();\\n pool = IPoolFactory(_factory).deployPool(_deployData);\\n pools[pool] = true;\\n emit DeployPool(_factory, pool, _deployData);\\n }\\n\\n function addToWhitelist(address _factory) external onlyOwner {\\n whitelistedFactories[_factory] = true;\\n emit AddToWhitelist(_factory);\\n }\\n\\n function removeFromWhitelist(address _factory) external onlyOwner {\\n whitelistedFactories[_factory] = false;\\n emit RemoveFromWhitelist(_factory);\\n }\\n\\n function setBarFee(uint256 _barFee) external onlyOwner {\\n if (_barFee > MAX_FEE) revert InvalidBarFee();\\n barFee = _barFee;\\n emit BarFeeUpdated(_barFee);\\n }\\n\\n function setBarFeeTo(address _barFeeTo) external onlyOwner {\\n barFeeTo = _barFeeTo;\\n emit BarFeeToUpdated(_barFeeTo);\\n }\\n}\\n\",\"keccak256\":\"0x3e42926b74c5393ee82d62f71aab648b8fabdecc450b0b5296e9e8de289e3c9c\",\"license\":\"GPL-3.0-or-later\"},\"contracts/interfaces/IPoolFactory.sol\":{\"content\":\"// SPDX-License-Identifier: GPL-3.0-or-later\\n\\npragma solidity >=0.8.0;\\n\\n/// @notice Trident pool deployment interface.\\ninterface IPoolFactory {\\n function deployPool(bytes calldata _deployData) external returns (address pool);\\n\\n function configAddress(bytes32 data) external returns (address pool);\\n}\\n\",\"keccak256\":\"0x03b9677a7914f97ca3ae57deb690cb80d0f1ef4d3541573b4dee6d3cebd5df2e\",\"license\":\"GPL-3.0-or-later\"}},\"version\":1}",
"bytecode": "0x60a060405234801561001057600080fd5b50604051610d09380380610d0983398101604081905261002f91610140565b610038336100d4565b61271083111561005b57604051637c2d2d2b60e01b815260040160405180910390fd5b6001600160a01b0382166100825760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a95760405163d92e233d60e01b815260040160405180910390fd5b600192909255600280546001600160a01b0319166001600160a01b039283161790551660805261017c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461013b57600080fd5b919050565b60008060006060848603121561015557600080fd5b8351925061016560208501610124565b915061017360408501610124565b90509250925092565b608051610b72610197600039600061016e0152610b726000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c8063715018a61161008c578063a4063dbc11610066578063a4063dbc146101fc578063c14ad8021461021f578063e43252d714610236578063f2fde38b1461024957600080fd5b8063715018a6146101c35780638ab1d681146101cb5780638da5cb5b146101de57600080fd5b80633dad8acb116100bd5780633dad8acb146101565780634da31827146101695780636f50f2f41461019057600080fd5b806306e22d12146100e45780630c0a0cd2146100f9578063250558dc14610143575b600080fd5b6100f76100f23660046109ee565b61025c565b005b6002546101199073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610119610151366004610a29565b610351565b6100f7610164366004610aae565b6104df565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6101b361019e366004610aae565b60046020526000908152604090205460ff1681565b604051901515815260200161013a565b6100f76105cf565b6100f76101d9366004610aae565b61065c565b60005473ffffffffffffffffffffffffffffffffffffffff16610119565b6101b361020a366004610aae565b60036020526000908152604090205460ff1681565b61022860015481565b60405190815260200161013a565b6100f7610244366004610aae565b610751565b6100f7610257366004610aae565b610849565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61271081111561031e576040517f7c2d2d2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181905560405181907f880a5214911723edb25bb08410581af1de2e40c52eda03920990c4bc27011fb690600090a250565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604081205460ff166103b0576040517f584a793800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27c3cae100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906327c3cae1906104049086908690600401610ad2565b6020604051808303816000875af1158015610423573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104479190610b1f565b73ffffffffffffffffffffffffffffffffffffffff8082166000818152600360205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555192935091908616907fe469f9471ac1d98222517eb2cdff1ef4df5f7880269173bb782bb78e499d9de3906104d09087908790610ad2565b60405180910390a39392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ff774513cf7e21ae3f5ec0ea74c68c431204fb5c1656e7050da0d81ccf9d0831190600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b61065a6000610979565b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b73ffffffffffffffffffffffffffffffffffffffff811660008181526004602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c29190a250565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b73ffffffffffffffffffffffffffffffffffffffff811660008181526004602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c79190a250565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b73ffffffffffffffffffffffffffffffffffffffff811661096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d9565b61097681610979565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610a0057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461097657600080fd5b600080600060408486031215610a3e57600080fd5b8335610a4981610a07565b9250602084013567ffffffffffffffff80821115610a6657600080fd5b818601915086601f830112610a7a57600080fd5b813581811115610a8957600080fd5b876020828501011115610a9b57600080fd5b6020830194508093505050509250925092565b600060208284031215610ac057600080fd5b8135610acb81610a07565b9392505050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600060208284031215610b3157600080fd5b8151610acb81610a0756fea2646970667358221220a25a54a193e15f936ccd9e7c3ac6338ba1aa54a488870e3bd4f20de5ef021e7564736f6c634300080a0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100df5760003560e01c8063715018a61161008c578063a4063dbc11610066578063a4063dbc146101fc578063c14ad8021461021f578063e43252d714610236578063f2fde38b1461024957600080fd5b8063715018a6146101c35780638ab1d681146101cb5780638da5cb5b146101de57600080fd5b80633dad8acb116100bd5780633dad8acb146101565780634da31827146101695780636f50f2f41461019057600080fd5b806306e22d12146100e45780630c0a0cd2146100f9578063250558dc14610143575b600080fd5b6100f76100f23660046109ee565b61025c565b005b6002546101199073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610119610151366004610a29565b610351565b6100f7610164366004610aae565b6104df565b6101197f000000000000000000000000000000000000000000000000000000000000000081565b6101b361019e366004610aae565b60046020526000908152604090205460ff1681565b604051901515815260200161013a565b6100f76105cf565b6100f76101d9366004610aae565b61065c565b60005473ffffffffffffffffffffffffffffffffffffffff16610119565b6101b361020a366004610aae565b60036020526000908152604090205460ff1681565b61022860015481565b60405190815260200161013a565b6100f7610244366004610aae565b610751565b6100f7610257366004610aae565b610849565b60005473ffffffffffffffffffffffffffffffffffffffff1633146102e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61271081111561031e576040517f7c2d2d2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181905560405181907f880a5214911723edb25bb08410581af1de2e40c52eda03920990c4bc27011fb690600090a250565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604081205460ff166103b0576040517f584a793800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27c3cae100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906327c3cae1906104049086908690600401610ad2565b6020604051808303816000875af1158015610423573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104479190610b1f565b73ffffffffffffffffffffffffffffffffffffffff8082166000818152600360205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555192935091908616907fe469f9471ac1d98222517eb2cdff1ef4df5f7880269173bb782bb78e499d9de3906104d09087908790610ad2565b60405180910390a39392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ff774513cf7e21ae3f5ec0ea74c68c431204fb5c1656e7050da0d81ccf9d0831190600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314610650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b61065a6000610979565b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b73ffffffffffffffffffffffffffffffffffffffff811660008181526004602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f1f756c8b089af6b33ee121fee8badac2553a2fa89c0575ea91ff8792617746c29190a250565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b73ffffffffffffffffffffffffffffffffffffffff811660008181526004602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f75b2135d1c8c3519f3c09c43fe6527089ef09f40c7981ebf0ed46e79e79032c79190a250565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d9565b73ffffffffffffffffffffffffffffffffffffffff811661096d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d9565b61097681610979565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610a0057600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461097657600080fd5b600080600060408486031215610a3e57600080fd5b8335610a4981610a07565b9250602084013567ffffffffffffffff80821115610a6657600080fd5b818601915086601f830112610a7a57600080fd5b813581811115610a8957600080fd5b876020828501011115610a9b57600080fd5b6020830194508093505050509250925092565b600060208284031215610ac057600080fd5b8135610acb81610a07565b9392505050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600060208284031215610b3157600080fd5b8151610acb81610a0756fea2646970667358221220a25a54a193e15f936ccd9e7c3ac6338ba1aa54a488870e3bd4f20de5ef021e7564736f6c634300080a0033",
"devdoc": {
"author": "Mudit Gupta.",
"errors": {
"InvalidBarFee()": [
{
"details": "Custom Errors"
}
]
},
"kind": "dev",
"methods": {
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"notice": "Trident pool deployer contract with template factory whitelist.",
"version": 1
},
"storageLayout": {
"storage": [
{
"astId": 7,
"contract": "contracts/deployer/MasterDeployer.sol:MasterDeployer",
"label": "_owner",
"offset": 0,
"slot": "0",
"type": "t_address"
},
{
"astId": 5436,
"contract": "contracts/deployer/MasterDeployer.sol:MasterDeployer",
"label": "barFee",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 5438,
"contract": "contracts/deployer/MasterDeployer.sol:MasterDeployer",
"label": "barFeeTo",
"offset": 0,
"slot": "2",
"type": "t_address"
},
{
"astId": 5447,
"contract": "contracts/deployer/MasterDeployer.sol:MasterDeployer",
"label": "pools",
"offset": 0,
"slot": "3",
"type": "t_mapping(t_address,t_bool)"
},
{
"astId": 5451,
"contract": "contracts/deployer/MasterDeployer.sol:MasterDeployer",
"label": "whitelistedFactories",
"offset": 0,
"slot": "4",
"type": "t_mapping(t_address,t_bool)"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_bool": {
"encoding": "inplace",
"label": "bool",
"numberOfBytes": "1"
},
"t_mapping(t_address,t_bool)": {
"encoding": "mapping",
"key": "t_address",
"label": "mapping(address => bool)",
"numberOfBytes": "32",
"value": "t_bool"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
}
}