{
  "_format": "hh-sol-artifact-1",
  "contractName": "WrappedfCashFactory",
  "sourceName": "contracts/protocol/integration/wrap/notional/WrappedfCashFactory.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_beacon",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "indexed": false,
          "internalType": "uint40",
          "name": "maturity",
          "type": "uint40"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "wrapper",
          "type": "address"
        }
      ],
      "name": "WrapperDeployed",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "BEACON",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "SALT",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint40",
          "name": "maturity",
          "type": "uint40"
        }
      ],
      "name": "computeAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "currencyId",
          "type": "uint16"
        },
        {
          "internalType": "uint40",
          "name": "maturity",
          "type": "uint40"
        }
      ],
      "name": "deployWrapper",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b50604051610f50380380610f5083398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610ebf61009160003960008181609101526102810152610ebf6000f3fe60806040523480156200001157600080fd5b5060043610620000525760003560e01c8063422a73a4146200005757806349493a4d146200008b57806395fd976514620000b3578063ba9a91a514620000ca575b600080fd5b6200006e6200006836600462000406565b620000e2565b6040516001600160a01b0390911681526020015b60405180910390f35b6200006e7f000000000000000000000000000000000000000000000000000000000000000081565b6200006e620000c436600462000406565b6200018c565b620000d3600081565b60405190815260200162000082565b600080620000f184846200018c565b90506001600160a01b0381163b156200010c57905062000186565b600062000126818062000120888862000205565b620002e4565b6040805161ffff8816815264ffffffffff871660208201526001600160a01b0383168183015290519192507fc83ad9c9cf773a3378ccc5ce465c8524049645b2639a8c81816a45812c2b2459919081900360600190a19150620001869050565b92915050565b6000620001fe816200019f858562000205565b80519060200120604080516001600160f81b03196020808301919091523060601b6bffffffffffffffffffffffff1916602183015260358201859052605580830185905283518084039091018152607590920190925280519101206000905b9392505050565b60405161ffff8316602482015264ffffffffff8216604482015260609060009060640160408051601f19818403018152918152602080830180516001600160e01b031663054ae0e360e21b179052905191925062000265908201620003f8565b601f1982820381018352601f909101166040819052620002ac907f000000000000000000000000000000000000000000000000000000000000000090849060200162000486565b60408051601f1981840301815290829052620002cc9291602001620004ca565b60405160208183030381529060405291505092915050565b600080844710156200033d5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b82516200038d5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000334565b8383516020850187f590506001600160a01b038116620003f05760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640162000334565b949350505050565b61098c80620004fe83390190565b600080604083850312156200041a57600080fd5b823561ffff811681146200042d57600080fd5b9150602083013564ffffffffff811681146200044857600080fd5b809150509250929050565b60005b838110156200047057818101518382015260200162000456565b8381111562000480576000848401525b50505050565b60018060a01b03831681526040602082015260008251806040840152620004b581606085016020870162000453565b601f01601f1916919091016060019392505050565b60008351620004de81846020880162000453565b835190830190620004f481836020880162000453565b0194935050505056fe608060405260405161098c38038061098c8339810160408190526100229161048f565b818161004f60017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161054f565b6000805160206109458339815191521461006b5761006b610574565b61007782826000610080565b505050506105f4565b6100898361014b565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a26000825111806100ca5750805b1561014657610144836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610110573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610134919061058a565b836102dc60201b6100271760201c565b505b505050565b61015e8161030860201b6100531760201c565b6101bd5760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b610231816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610222919061058a565b61030860201b6100531760201c565b6102965760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60648201526084016101b4565b806102bb60008051602061094583398151915260001b61031760201b6100621760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b606061030183836040518060600160405280602781526020016109656027913961031a565b9392505050565b6001600160a01b03163b151590565b90565b60606001600160a01b0384163b6103825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016101b4565b600080856001600160a01b03168560405161039d91906105a5565b600060405180830381855af49150503d80600081146103d8576040519150601f19603f3d011682016040523d82523d6000602084013e6103dd565b606091505b5090925090506103ee8282866103f8565b9695505050505050565b60608315610407575081610301565b8251156104175782518084602001fd5b8160405162461bcd60e51b81526004016101b491906105c1565b80516001600160a01b038116811461044857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561047e578181015183820152602001610466565b838111156101445750506000910152565b600080604083850312156104a257600080fd5b6104ab83610431565b60208401519092506001600160401b03808211156104c857600080fd5b818501915085601f8301126104dc57600080fd5b8151818111156104ee576104ee61044d565b604051601f8201601f19908116603f011681019083821181831017156105165761051661044d565b8160405282815288602084870101111561052f57600080fd5b610540836020830160208801610463565b80955050505050509250929050565b60008282101561056f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561059c57600080fd5b61030182610431565b600082516105b7818460208701610463565b9190910192915050565b60208152600082518060208401526105e0816040850160208701610463565b601f01601f19169190910160400192915050565b610342806106036000396000f3fe60806040523661000b57005b610013610015565b005b610025610020610065565b6100fe565b565b606061004c83836040518060600160405280602781526020016102e660279139610122565b9392505050565b6001600160a01b03163b151590565b90565b60006100987fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f9919061023d565b905090565b3660008037600080366000845af43d6000803e80801561011d573d6000f35b3d6000fd5b60606001600160a01b0384163b61018f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101aa9190610296565b600060405180830381855af49150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b50915091506101fa828286610204565b9695505050505050565b6060831561021357508161004c565b8251156102235782518084602001fd5b8160405162461bcd60e51b815260040161018691906102b2565b60006020828403121561024f57600080fd5b81516001600160a01b038116811461004c57600080fd5b60005b83811015610281578181015183820152602001610269565b83811115610290576000848401525b50505050565b600082516102a8818460208701610266565b9190910192915050565b60208152600082518060208401526102d1816040850160208701610266565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220df584e06121e7575b78856bfb9100e501991c5a1d3346e026d24f463feb20c6364736f6c634300080b0033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220629dd22ba28d8483d7b4c845db2fb2f5c003d64070672dca2b6b5849fc56feec64736f6c634300080b0033",
  "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620000525760003560e01c8063422a73a4146200005757806349493a4d146200008b57806395fd976514620000b3578063ba9a91a514620000ca575b600080fd5b6200006e6200006836600462000406565b620000e2565b6040516001600160a01b0390911681526020015b60405180910390f35b6200006e7f000000000000000000000000000000000000000000000000000000000000000081565b6200006e620000c436600462000406565b6200018c565b620000d3600081565b60405190815260200162000082565b600080620000f184846200018c565b90506001600160a01b0381163b156200010c57905062000186565b600062000126818062000120888862000205565b620002e4565b6040805161ffff8816815264ffffffffff871660208201526001600160a01b0383168183015290519192507fc83ad9c9cf773a3378ccc5ce465c8524049645b2639a8c81816a45812c2b2459919081900360600190a19150620001869050565b92915050565b6000620001fe816200019f858562000205565b80519060200120604080516001600160f81b03196020808301919091523060601b6bffffffffffffffffffffffff1916602183015260358201859052605580830185905283518084039091018152607590920190925280519101206000905b9392505050565b60405161ffff8316602482015264ffffffffff8216604482015260609060009060640160408051601f19818403018152918152602080830180516001600160e01b031663054ae0e360e21b179052905191925062000265908201620003f8565b601f1982820381018352601f909101166040819052620002ac907f000000000000000000000000000000000000000000000000000000000000000090849060200162000486565b60408051601f1981840301815290829052620002cc9291602001620004ca565b60405160208183030381529060405291505092915050565b600080844710156200033d5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b82516200038d5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000334565b8383516020850187f590506001600160a01b038116620003f05760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640162000334565b949350505050565b61098c80620004fe83390190565b600080604083850312156200041a57600080fd5b823561ffff811681146200042d57600080fd5b9150602083013564ffffffffff811681146200044857600080fd5b809150509250929050565b60005b838110156200047057818101518382015260200162000456565b8381111562000480576000848401525b50505050565b60018060a01b03831681526040602082015260008251806040840152620004b581606085016020870162000453565b601f01601f1916919091016060019392505050565b60008351620004de81846020880162000453565b835190830190620004f481836020880162000453565b0194935050505056fe608060405260405161098c38038061098c8339810160408190526100229161048f565b818161004f60017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161054f565b6000805160206109458339815191521461006b5761006b610574565b61007782826000610080565b505050506105f4565b6100898361014b565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a26000825111806100ca5750805b1561014657610144836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610110573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610134919061058a565b836102dc60201b6100271760201c565b505b505050565b61015e8161030860201b6100531760201c565b6101bd5760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b610231816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610222919061058a565b61030860201b6100531760201c565b6102965760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60648201526084016101b4565b806102bb60008051602061094583398151915260001b61031760201b6100621760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b606061030183836040518060600160405280602781526020016109656027913961031a565b9392505050565b6001600160a01b03163b151590565b90565b60606001600160a01b0384163b6103825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016101b4565b600080856001600160a01b03168560405161039d91906105a5565b600060405180830381855af49150503d80600081146103d8576040519150601f19603f3d011682016040523d82523d6000602084013e6103dd565b606091505b5090925090506103ee8282866103f8565b9695505050505050565b60608315610407575081610301565b8251156104175782518084602001fd5b8160405162461bcd60e51b81526004016101b491906105c1565b80516001600160a01b038116811461044857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561047e578181015183820152602001610466565b838111156101445750506000910152565b600080604083850312156104a257600080fd5b6104ab83610431565b60208401519092506001600160401b03808211156104c857600080fd5b818501915085601f8301126104dc57600080fd5b8151818111156104ee576104ee61044d565b604051601f8201601f19908116603f011681019083821181831017156105165761051661044d565b8160405282815288602084870101111561052f57600080fd5b610540836020830160208801610463565b80955050505050509250929050565b60008282101561056f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561059c57600080fd5b61030182610431565b600082516105b7818460208701610463565b9190910192915050565b60208152600082518060208401526105e0816040850160208701610463565b601f01601f19169190910160400192915050565b610342806106036000396000f3fe60806040523661000b57005b610013610015565b005b610025610020610065565b6100fe565b565b606061004c83836040518060600160405280602781526020016102e660279139610122565b9392505050565b6001600160a01b03163b151590565b90565b60006100987fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f9919061023d565b905090565b3660008037600080366000845af43d6000803e80801561011d573d6000f35b3d6000fd5b60606001600160a01b0384163b61018f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101aa9190610296565b600060405180830381855af49150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b50915091506101fa828286610204565b9695505050505050565b6060831561021357508161004c565b8251156102235782518084602001fd5b8160405162461bcd60e51b815260040161018691906102b2565b60006020828403121561024f57600080fd5b81516001600160a01b038116811461004c57600080fd5b60005b83811015610281578181015183820152602001610269565b83811115610290576000848401525b50505050565b600082516102a8818460208701610266565b9190910192915050565b60208152600082518060208401526102d1816040850160208701610266565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220df584e06121e7575b78856bfb9100e501991c5a1d3346e026d24f463feb20c6364736f6c634300080b0033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220629dd22ba28d8483d7b4c845db2fb2f5c003d64070672dca2b6b5849fc56feec64736f6c634300080b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
