{
  "_format": "hh-sol-artifact-1",
  "contractName": "FiatTokenFeeAdapterV1",
  "sourceName": "contracts/v2/celo/FiatTokenFeeAdapterV1.sol",
  "abi": [
    {
      "inputs": [],
      "name": "adaptedToken",
      "outputs": [
        {
          "internalType": "contract ICeloGasToken",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "adapterDecimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "refundRecipient",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "feeRecipient",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "gatewayFeeRecipient",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "communityFund",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "refund",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "tipTxFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "gatewayFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "baseTxFee",
          "type": "uint256"
        }
      ],
      "name": "creditGasFees",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "debitGasFees",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_adaptedToken",
          "type": "address"
        },
        {
          "internalType": "uint8",
          "name": "_adapterDecimals",
          "type": "uint8"
        }
      ],
      "name": "initializeV1",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "tokenDecimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "upscaleFactor",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052600060025534801561001557600080fd5b50610cf2806100256000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80636a30b2531161005b5780636a30b2531461010857806370a082311461016e5780637ab4222f146101a1578063989516db146101dd57610088565b80633b97e8561461008d57806358cf9672146100ab57806360e7f8a0146100e6578063647061cb14610100575b600080fd5b61009561020e565b6040805160ff9092168252519081900360200190f35b6100e4600480360360408110156100c157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610231565b005b6100ee610389565b60408051918252519081900360200190f35b61009561038f565b6100e4600480360361010081101561011f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135821691604082013581169160608101359091169060808101359060a08101359060c08101359060e001356103b1565b6100ee6004803603602081101561018457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610605565b6100e4600480360360408110156101b757600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013560ff166106b5565b6101e5610968565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b600054760100000000000000000000000000000000000000000000900460ff1681565b3315610288576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610bff6027913960400191505060405180910390fd5b600254156102e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610b996035913960400191505060405180910390fd5b60006102ec82610984565b60008054604080517f58cf967200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820186905291519495509116926358cf96729260448084019391929182900301818387803b15801561036757600080fd5b505af115801561037b573d6000803e3d6000fd5b505050600291909155505050565b60015481565b6000547501000000000000000000000000000000000000000000900460ff1681565b3315610408576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610bff6027913960400191505060405180910390fd5b600254610414576105fb565b600061041f85610984565b9050600061042c85610984565b9050600061043984610984565b905060006104518261044b868661099b565b9061099b565b90506002548111156104ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610c266036913960400191505060405180910390fd5b6002546000906104be9083610a16565b905080156104d3576104d0838261099b565b92505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a30b2538e8e60008e8a8a60008b6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200182815260200198505050505050505050600060405180830381600087803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b50506000600255505050505050505b5050505050505050565b60008054604080517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291516106af9392909216916370a0823191602480820192602092909190829003018186803b15801561067e57600080fd5b505afa158015610692573d6000803e3d6000fd5b505050506040513d60208110156106a857600080fd5b5051610a8d565b92915050565b60005474010000000000000000000000000000000000000000900460ff16156106dd57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561072357600080fd5b505afa158015610737573d6000803e3d6000fd5b505050506040513d602081101561074d57600080fd5b5051600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff1676010000000000000000000000000000000000000000000060ff938416810291909117918290558383169104909116106107fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180610c7d6040913960400191505060405180910390fd5b600054604e76010000000000000000000000000000000000000000000090910460ff90811683031610610878576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180610bce6031913960400191505060405180910390fd5b60008054760100000000000000000000000000000000000000000000810460ff90811684038116600a0a600155740100000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90921675010000000000000000000000000000000000000000009490911693909302929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16179055565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60006106af60015483610aa490919063ffffffff16565b600082820183811015610a0f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610a8757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006106af60015483610b2590919063ffffffff16565b6000808211610b1457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610b1d57fe5b049392505050565b600082610b34575060006106af565b82820282848281610b4157fe5b0414610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610c5c6021913960400191505060405180910390fdfe46696174546f6b656e4665654164617074657256313a204d7573742066756c6c7920637265646974206265666f726520646562697446696174546f6b656e4665654164617074657256313a20446967697420646966666572656e636520746f6f206c6172676546696174546f6b656e4665654164617074657256313a2063616c6c6572206973206e6f7420564d46696174546f6b656e4665654164617074657256313a2043616e6e6f7420637265646974206d6f7265207468616e2064656269746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696174546f6b656e4665654164617074657256313a20546f6b656e20646563696d616c73206d757374206265203c206164617074657220646563696d616c73a264697066735822122040f2faec086c6697c96afbc39a3c5bf81e23a80e3769e09a68f59fe33d89473764736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80636a30b2531161005b5780636a30b2531461010857806370a082311461016e5780637ab4222f146101a1578063989516db146101dd57610088565b80633b97e8561461008d57806358cf9672146100ab57806360e7f8a0146100e6578063647061cb14610100575b600080fd5b61009561020e565b6040805160ff9092168252519081900360200190f35b6100e4600480360360408110156100c157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610231565b005b6100ee610389565b60408051918252519081900360200190f35b61009561038f565b6100e4600480360361010081101561011f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135821691604082013581169160608101359091169060808101359060a08101359060c08101359060e001356103b1565b6100ee6004803603602081101561018457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610605565b6100e4600480360360408110156101b757600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020013560ff166106b5565b6101e5610968565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b600054760100000000000000000000000000000000000000000000900460ff1681565b3315610288576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610bff6027913960400191505060405180910390fd5b600254156102e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610b996035913960400191505060405180910390fd5b60006102ec82610984565b60008054604080517f58cf967200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820186905291519495509116926358cf96729260448084019391929182900301818387803b15801561036757600080fd5b505af115801561037b573d6000803e3d6000fd5b505050600291909155505050565b60015481565b6000547501000000000000000000000000000000000000000000900460ff1681565b3315610408576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180610bff6027913960400191505060405180910390fd5b600254610414576105fb565b600061041f85610984565b9050600061042c85610984565b9050600061043984610984565b905060006104518261044b868661099b565b9061099b565b90506002548111156104ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610c266036913960400191505060405180910390fd5b6002546000906104be9083610a16565b905080156104d3576104d0838261099b565b92505b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a30b2538e8e60008e8a8a60008b6040518963ffffffff1660e01b8152600401808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200182815260200198505050505050505050600060405180830381600087803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b50506000600255505050505050505b5050505050505050565b60008054604080517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291516106af9392909216916370a0823191602480820192602092909190829003018186803b15801561067e57600080fd5b505afa158015610692573d6000803e3d6000fd5b505050506040513d60208110156106a857600080fd5b5051610a8d565b92915050565b60005474010000000000000000000000000000000000000000900460ff16156106dd57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561072357600080fd5b505afa158015610737573d6000803e3d6000fd5b505050506040513d602081101561074d57600080fd5b5051600080547fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff1676010000000000000000000000000000000000000000000060ff938416810291909117918290558383169104909116106107fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180610c7d6040913960400191505060405180910390fd5b600054604e76010000000000000000000000000000000000000000000090910460ff90811683031610610878576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180610bce6031913960400191505060405180910390fd5b60008054760100000000000000000000000000000000000000000000810460ff90811684038116600a0a600155740100000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90921675010000000000000000000000000000000000000000009490911693909302929092177fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff93909316929092177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16179055565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60006106af60015483610aa490919063ffffffff16565b600082820183811015610a0f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610a8757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006106af60015483610b2590919063ffffffff16565b6000808211610b1457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610b1d57fe5b049392505050565b600082610b34575060006106af565b82820282848281610b4157fe5b0414610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180610c5c6021913960400191505060405180910390fdfe46696174546f6b656e4665654164617074657256313a204d7573742066756c6c7920637265646974206265666f726520646562697446696174546f6b656e4665654164617074657256313a20446967697420646966666572656e636520746f6f206c6172676546696174546f6b656e4665654164617074657256313a2063616c6c6572206973206e6f7420564d46696174546f6b656e4665654164617074657256313a2043616e6e6f7420637265646974206d6f7265207468616e2064656269746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7746696174546f6b656e4665654164617074657256313a20546f6b656e20646563696d616c73206d757374206265203c206164617074657220646563696d616c73a264697066735822122040f2faec086c6697c96afbc39a3c5bf81e23a80e3769e09a68f59fe33d89473764736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
