{
  "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"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.11+commit.5ef660b1\"},\"language\":\"Solidity\",\"output\":{\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"createERC20Distributor(string,string,uint256,address,address,uint256)\":{\"details\":\"mints initial supply after deploying the tokenized distributor contract\",\"params\":{\"initialSupply\":\"of distributor tokens\",\"name\":\"name of the token\",\"symbol\":\"of the token\"}}},\"title\":\"FDTFactory\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"createERC20Distributor(string,string,uint256,address,address,uint256)\":{\"notice\":\"deploys a new tokenized distributor contract for a specified ERC20 token\"}},\"notice\":\"Factory for deploying FDT contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"/Users/johannes/Documents/dev/actus-protocol/ap-monorepo/packages/ap-contracts/contracts/FDT/FDTFactory.sol\":\"FDTFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/johannes/Documents/dev/actus-protocol/ap-monorepo/packages/ap-contracts/contracts/FDT/FDTFactory.sol\":{\"keccak256\":\"0x7488fc2b008a367e19e72a4d6403dc3fc34f7ba4c7250e8f64c4684a1706b2f1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b46e2ce4ccb45eb3247a7a32b02e7c7bdd144b58bf7f1f5c0e849487a8dca01b\",\"dweb:/ipfs/QmSm1evy1eoCBKPwsYe7dZuA4zFV4Mr6zcJKTmHF3DKuMv\"]},\"/Users/johannes/Documents/dev/actus-protocol/ap-monorepo/packages/ap-contracts/contracts/FDT/IInitializableFDT.sol\":{\"keccak256\":\"0x367de24e2fcd7cd02aabe65af0afc0c5184781135bb826835a82d406f33c93b5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f08d02e99e8daf2be5f2067c12f2c81aff1983fa49eebbe9cf5bea75ae4f308c\",\"dweb:/ipfs/QmX1xtraEs8QwFF9tBTBPnuoU5mP3k9X9U1Y9eMoEjNyB7\"]},\"/Users/johannes/Documents/dev/actus-protocol/ap-monorepo/packages/ap-contracts/contracts/proxy/ProxyFactory.sol\":{\"keccak256\":\"0xc3942bee11e73ceca1ef49154ba1a6dbe3ac25ce5e369d72db0f82185d1d10ba\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f1fc9bb98809b73920ac896aa9cbac809f3990a39f10dc06f2f3156f270dee79\",\"dweb:/ipfs/QmVPJojnqGrcMuJ1nvNbxJwLWBsbmkJtWePw55QU5Hk1Xc\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x6cc1cb934a3ac2137a7dcaed018af9e235392236ceecfd3687259702b9c767ad\",\"urls\":[\"bzz-raw://0055fa88138cd1c3c6440370f8580f85857f8fe9dec41c99af9eafbeb8d9c3ce\",\"dweb:/ipfs/QmX1xDh8vwGLLCH8ti45eXjQ7Wcxv1FEGTR3jkFnd5Nv6F\"]},\"@openzeppelin/contracts-ethereum-package/contracts/utils/Address.sol\":{\"keccak256\":\"0x5f7da58ee3d9faa9b8999a93d49c8ff978f1afc88ae9bcfc6f9cbb44da011c2b\",\"urls\":[\"bzz-raw://4f089d954b3ecaa26949412fe63e9a184b056562c6c13dd4a0529a5d9a2e685a\",\"dweb:/ipfs/QmVK5iCNAMcEJQxT59bsC5E53JQASDQPU6khHox3d5ZXCn\"]}},\"version\":1}",
  "bytecode": "0x608060405234801561001057600080fd5b5061053d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634a6660251461003b57806384fb160414610050575b600080fd5b61004e6100493660046102e5565b610063565b005b61004e61005e3660046102e5565b610094565b73__VanillaFDTLogic_______________________61008989898989898989888a6100b6565b505050505050505050565b73__SimpleRestrictedFDTLogic______________61008989898989898989888a5b6001600160a01b0384166100e55760405162461bcd60e51b81526004016100dc90610441565b60405180910390fd5b60006100f183836101a3565b6040516364d5d05560e11b81529091506001600160a01b0382169063c9aba0aa9061012c908d908d908d908d908c908c908f906004016103f3565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b505050507f82f3582e365923e3007601a66bd8388dec15b8f9ee46cd2e527c4e28fbe9847c813360405161018f9291906103b5565b60405180910390a150505050505050505050565b60006101b7836001600160a01b0316610262565b6101d35760405162461bcd60e51b81526004016100dc90610492565b60008360601b9050604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528160148201526e5af43d82803e903d91602b57fd5bf360881b6028820152836037826000f59250507fc2c29c3f81ba655872ca88b28cde4cf13490e4c739b8da06ba28c0978590e6e0828585604051610253939291906103cf565b60405180910390a15092915050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061029657508115155b949350505050565b60008083601f8401126102af578182fd5b50813567ffffffffffffffff8111156102c6578182fd5b6020830191508360208285010111156102de57600080fd5b9250929050565b60008060008060008060008060c0898b031215610300578384fd5b883567ffffffffffffffff80821115610317578586fd5b6103238c838d0161029e565b909a50985060208b013591508082111561033b578586fd5b506103488b828c0161029e565b909750955050604089013593506060890135610363816104ef565b92506080890135610373816104ef565b8092505060a089013590509295985092959890939650565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060a0825261040760a08301898b61038b565b828103602084015261041a81888a61038b565b6001600160a01b039687166040850152949095166060830152506080015295945050505050565b60208082526031908201527f464454466163746f72792e6372656174654644543a20494e56414c49445f46556040820152704e4354494f4e5f504152414d455445525360781b606082015260800190565b6020808252603d908201527f50726f7879466163746f72792e637265617465324569703131363750726f787960408201527f3a20494e56414c49445f46554e4354494f4e5f504152414d4554455253000000606082015260800190565b6001600160a01b038116811461050457600080fd5b5056fea2646970667358221220e671e81d409b71dc581bfcc9eb9dd03a77c82d0b575ca105859b875febd7390c64736f6c634300060b0033",
  "immutableReferences": {},
  "compiler": {
    "name": "solc",
    "version": "0.6.11+commit.5ef660b1.Emscripten.clang"
  },
  "updatedAt": "2020-08-12T09:47:18.066Z"
}
