{
  "contractName": "FDTFactory",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "distributor",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "creator",
          "type": "address"
        }
      ],
      "name": "DeployedDistributor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "proxy",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "logic",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "salt",
          "type": "uint256"
        }
      ],
      "name": "NewEip1167Proxy",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "initialSupply",
          "type": "uint256"
        },
        {
          "internalType": "contract IERC20",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "salt",
          "type": "uint256"
        }
      ],
      "name": "createERC20Distributor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "initialSupply",
          "type": "uint256"
        },
        {
          "internalType": "contract IERC20",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "salt",
          "type": "uint256"
        }
      ],
      "name": "createRestrictedERC20Distributor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061053d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634a6660251461003b57806384fb160414610050575b600080fd5b61004e6100493660046102e5565b610063565b005b61004e61005e3660046102e5565b610094565b73__$841be2597f4d9c69c442725b7c2d682d84$__61008989898989898989888a6100b6565b505050505050505050565b73__$8e30c1edc2e8ce660a2408600808dad003$__61008989898989898989888a5b6001600160a01b0384166100e55760405162461bcd60e51b81526004016100dc90610441565b60405180910390fd5b60006100f183836101a3565b6040516364d5d05560e11b81529091506001600160a01b0382169063c9aba0aa9061012c908d908d908d908d908c908c908f906004016103f3565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b505050507f82f3582e365923e3007601a66bd8388dec15b8f9ee46cd2e527c4e28fbe9847c813360405161018f9291906103b5565b60405180910390a150505050505050505050565b60006101b7836001600160a01b0316610262565b6101d35760405162461bcd60e51b81526004016100dc90610492565b60008360601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b6028820152836037826000f59250507fc2c29c3f81ba655872ca88b28cde4cf13490e4c739b8da06ba28c0978590e6e0828585604051610253939291906103cf565b60405180910390a15092915050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061029657508115155b949350505050565b60008083601f8401126102af578182fd5b50813567ffffffffffffffff8111156102c6578182fd5b6020830191508360208285010111156102de57600080fd5b9250929050565b60008060008060008060008060c0898b031215610300578384fd5b883567ffffffffffffffff80821115610317578586fd5b6103238c838d0161029e565b909a50985060208b013591508082111561033b578586fd5b506103488b828c0161029e565b909750955050604089013593506060890135610363816104ef565b92506080890135610373816104ef565b8092505060a089013590509295985092959890939650565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060a0825261040760a08301898b61038b565b828103602084015261041a81888a61038b565b6001600160a01b039687166040850152949095166060830152506080015295945050505050565b60208082526031908201527f464454466163746f72792e6372656174654644543a20494e56414c49445f46556040820152704e4354494f4e5f504152414d455445525360781b606082015260800190565b6020808252603d908201527f50726f7879466163746f72792e637265617465324569703131363750726f787960408201527f3a20494e56414c49445f46554e4354494f4e5f504152414d4554455253000000606082015260800190565b6001600160a01b038116811461050457600080fd5b5056fea2646970667358221220cc0a263fc44230a7bf574dbde8216b94a7f8712a96c1857be6bb8615f33ff9b564736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80634a6660251461003b57806384fb160414610050575b600080fd5b61004e6100493660046102e5565b610063565b005b61004e61005e3660046102e5565b610094565b73__$841be2597f4d9c69c442725b7c2d682d84$__61008989898989898989888a6100b6565b505050505050505050565b73__$8e30c1edc2e8ce660a2408600808dad003$__61008989898989898989888a5b6001600160a01b0384166100e55760405162461bcd60e51b81526004016100dc90610441565b60405180910390fd5b60006100f183836101a3565b6040516364d5d05560e11b81529091506001600160a01b0382169063c9aba0aa9061012c908d908d908d908d908c908c908f906004016103f3565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b505050507f82f3582e365923e3007601a66bd8388dec15b8f9ee46cd2e527c4e28fbe9847c813360405161018f9291906103b5565b60405180910390a150505050505050505050565b60006101b7836001600160a01b0316610262565b6101d35760405162461bcd60e51b81526004016100dc90610492565b60008360601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b6028820152836037826000f59250507fc2c29c3f81ba655872ca88b28cde4cf13490e4c739b8da06ba28c0978590e6e0828585604051610253939291906103cf565b60405180910390a15092915050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061029657508115155b949350505050565b60008083601f8401126102af578182fd5b50813567ffffffffffffffff8111156102c6578182fd5b6020830191508360208285010111156102de57600080fd5b9250929050565b60008060008060008060008060c0898b031215610300578384fd5b883567ffffffffffffffff80821115610317578586fd5b6103238c838d0161029e565b909a50985060208b013591508082111561033b578586fd5b506103488b828c0161029e565b909750955050604089013593506060890135610363816104ef565b92506080890135610373816104ef565b8092505060a089013590509295985092959890939650565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060a0825261040760a08301898b61038b565b828103602084015261041a81888a61038b565b6001600160a01b039687166040850152949095166060830152506080015295945050505050565b60208082526031908201527f464454466163746f72792e6372656174654644543a20494e56414c49445f46556040820152704e4354494f4e5f504152414d455445525360781b606082015260800190565b6020808252603d908201527f50726f7879466163746f72792e637265617465324569703131363750726f787960408201527f3a20494e56414c49445f46554e4354494f4e5f504152414d4554455253000000606082015260800190565b6001600160a01b038116811461050457600080fd5b5056fea2646970667358221220cc0a263fc44230a7bf574dbde8216b94a7f8712a96c1857be6bb8615f33ff9b564736f6c634300060b0033",
  "linkReferences": {
    "contracts/FDT/FDTFactory.sol": {
      "SimpleRestrictedFDTLogic": [
        {
          "length": 20,
          "start": 182
        }
      ],
      "VanillaFDTLogic": [
        {
          "length": 20,
          "start": 133
        }
      ]
    }
  },
  "deployedLinkReferences": {
    "contracts/FDT/FDTFactory.sol": {
      "SimpleRestrictedFDTLogic": [
        {
          "length": 20,
          "start": 150
        }
      ],
      "VanillaFDTLogic": [
        {
          "length": 20,
          "start": 101
        }
      ]
    }
  }
}
