{
  "_format": "hh-sol-artifact-1",
  "contractName": "DIAChainlinkAdapterFactory",
  "sourceName": "solidity/contracts/adapters/dia-chainlink-adapter/DIAChainlinkAdapterFactory.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "contract DIAChainlinkAdapter",
          "name": "adapter",
          "type": "address"
        }
      ],
      "name": "AdapterCreated",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_diaOracle",
          "type": "address"
        },
        {
          "internalType": "uint8",
          "name": "_oracleDecimals",
          "type": "uint8"
        },
        {
          "internalType": "uint8",
          "name": "_feedDecimals",
          "type": "uint8"
        },
        {
          "internalType": "string",
          "name": "_description",
          "type": "string"
        }
      ],
      "name": "computeAdapterAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "_adapter",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_diaOracle",
          "type": "address"
        },
        {
          "internalType": "uint8",
          "name": "_oracleDecimals",
          "type": "uint8"
        },
        {
          "internalType": "uint8",
          "name": "_feedDecimals",
          "type": "uint8"
        },
        {
          "internalType": "string",
          "name": "_description",
          "type": "string"
        }
      ],
      "name": "createAdapter",
      "outputs": [
        {
          "internalType": "contract DIAChainlinkAdapter",
          "name": "_adapter",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506110de806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806328fcb8c11461003b578063c2540f7b14610077575b600080fd5b61004e610049366004610292565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e610085366004610292565b610125565b60008060001b86868686866040516100a19061026f565b6100af95949392919061034f565b8190604051809103906000f59050801580156100cf573d6000803e3d6000fd5b5060405173ffffffffffffffffffffffffffffffffffffffff821681529091507f26bdcb646ad71620005047421fb0169ac41ef04913ddf770ad9d6625555a4ffc9060200160405180910390a195945050505050565b60006101da6040518060200161013a9061026f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f909101166040819052610183908990899089908990899060200161034f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526101bf92916020016103fd565b604051602081830303815290604052805190602001206101e4565b9695505050505050565b6040517fff0000000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660218201526000603582018190526055820183905290610269906075016040516020818303038152906040528051906020012090565b92915050565b610c8e8061041b83390190565b803560ff8116811461028d57600080fd5b919050565b6000806000806000608086880312156102aa57600080fd5b853573ffffffffffffffffffffffffffffffffffffffff811681146102ce57600080fd5b94506102dc6020870161027c565b93506102ea6040870161027c565b9250606086013567ffffffffffffffff8082111561030757600080fd5b818801915088601f83011261031b57600080fd5b81358181111561032a57600080fd5b89602082850101111561033c57600080fd5b9699959850939650602001949392505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260ff8516602082015260ff8416604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b6000815160005b818110156103ee57602081850181015186830152016103d4565b50600093019283525090919050565b600061041261040c83866103cd565b846103cd565b94935050505056fe6101006040523480156200001257600080fd5b5060405162000c8e38038062000c8e8339810160408190526200003591620000d3565b6001600160a01b03841660805260ff821660a05260006200005782826200027c565b5060a05160ff80851691161160e08190526200007f576200007982846200035e565b6200008b565b6200008b83836200035e565b6200009890600a6200047d565b60c052506200049592505050565b805160ff81168114620000b857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215620000ea57600080fd5b84516001600160a01b03811681146200010257600080fd5b9350602062000113868201620000a6565b93506200012360408701620000a6565b60608701519093506001600160401b03808211156200014157600080fd5b818801915088601f8301126200015657600080fd5b8151818111156200016b576200016b620000bd565b604051601f8201601f19908116603f01168101908382118183101715620001965762000196620000bd565b816040528281528b86848701011115620001af57600080fd5b600093505b82841015620001d35784840186015181850187015292850192620001b4565b600086848301015280965050505050505092959194509250565b600181811c908216806200020257607f821691505b6020821081036200022357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200027757600081815260208120601f850160051c81016020861015620002525750805b601f850160051c820191505b8181101562000273578281556001016200025e565b5050505b505050565b81516001600160401b03811115620002985762000298620000bd565b620002b081620002a98454620001ed565b8462000229565b602080601f831160018114620002e85760008415620002cf5750858301515b600019600386901b1c1916600185901b17855562000273565b600085815260208120601f198616915b828110156200031957888601518255948401946001909101908401620002f8565b5085821015620003385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60ff82811682821603908111156200037a576200037a62000348565b92915050565b600181815b80851115620003c1578160001904821115620003a557620003a562000348565b80851615620003b357918102915b93841c939080029062000385565b509250929050565b600082620003da575060016200037a565b81620003e9575060006200037a565b81600181146200040257600281146200040d576200042d565b60019150506200037a565b60ff84111562000421576200042162000348565b50506001821b6200037a565b5060208310610133831016604e8410600b841016171562000452575081810a6200037a565b6200045e838362000380565b806000190482111562000475576200047562000348565b029392505050565b60006200048e60ff841683620003c9565b9392505050565b60805160a05160c05160e0516107b2620004dc600039600061046f01526000818161049401526104cc0152600060d30152600081816101c201526103d101526107b26000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80638205bf6a11610081578063b633620c1161005b578063b633620c146101aa578063e5576982146101bd578063feaf968c1461020957600080fd5b80638205bf6a146101455780639a6fc8f51461014d578063b5ab58dc1461019757600080fd5b806354fd4d50116100b257806354fd4d5014610122578063668a0f02146101295780637284e4161461013057600080fd5b8063313ce567146100ce57806350d25bcd1461010c575b600080fd5b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b610114610211565b604051908152602001610103565b6004610114565b6000610114565b610138610221565b604051610103919061050d565b6101146102af565b61016061015b366004610579565b6102bf565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610103565b6101146101a53660046105ac565b610323565b6101146101b83660046105ac565b610365565b6101e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610103565b6101606103a7565b600061021b6103c9565b50919050565b6000805461022e906105c5565b80601f016020809104026020016040519081016040528092919081815260200182805461025a906105c5565b80156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b505050505081565b60006102b96103c9565b92915050565b60008080808069ffffffffffffffffffff861615610309576040517fc99b5b3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103116103a7565b939a9299509097509550909350915050565b6000811561035d576040517fc99b5b3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b9610211565b6000811561039f576040517fc99b5b3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b96102af565b60008060008060006103b76103c9565b60009791965094508493508692509050565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663960384a060006040518263ffffffff1660e01b81526004016104299190610612565b6040805180830381865afa158015610445573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610469919061071a565b915091507f00000000000000000000000000000000000000000000000000000000000000006104ca577f000000000000000000000000000000000000000000000000000000000000000082600f0b816104c4576104c461074d565b056104f1565b7f000000000000000000000000000000000000000000000000000000000000000082600f0b025b946fffffffffffffffffffffffffffffffff9091169350915050565b600060208083528351808285015260005b8181101561053a5785810183015185820160400152820161051e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561058b57600080fd5b813569ffffffffffffffffffff811681146105a557600080fd5b9392505050565b6000602082840312156105be57600080fd5b5035919050565b600181811c908216806105d957607f821691505b60208210810361021b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060208083526000845481600182811c91508083168061063457607f831692505b858310810361066a577f4e487b710000000000000000000000000000000000000000000000000000000085526022600452602485fd5b87860183815260200181801561068757600181146106bb576106e6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616825284151560051b820196506106e6565b60008b81526020902060005b868110156106e0578154848201529085019089016106c7565b83019750505b50949998505050505050505050565b80516fffffffffffffffffffffffffffffffff8116811461071557600080fd5b919050565b6000806040838503121561072d57600080fd5b610736836106f5565b9150610744602084016106f5565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220848e1ea9f6f811cf0b46a3123db20a93bb2391423155d2fcf0731554dd255da964736f6c63430008100033a26469706673582212202533c38d8ae1b2f5b326777534bb653fa27e53a8da51ecfa8577e576d2061e3964736f6c63430008100033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806328fcb8c11461003b578063c2540f7b14610077575b600080fd5b61004e610049366004610292565b61008a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004e610085366004610292565b610125565b60008060001b86868686866040516100a19061026f565b6100af95949392919061034f565b8190604051809103906000f59050801580156100cf573d6000803e3d6000fd5b5060405173ffffffffffffffffffffffffffffffffffffffff821681529091507f26bdcb646ad71620005047421fb0169ac41ef04913ddf770ad9d6625555a4ffc9060200160405180910390a195945050505050565b60006101da6040518060200161013a9061026f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f909101166040819052610183908990899089908990899060200161034f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526101bf92916020016103fd565b604051602081830303815290604052805190602001206101e4565b9695505050505050565b6040517fff0000000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b1660218201526000603582018190526055820183905290610269906075016040516020818303038152906040528051906020012090565b92915050565b610c8e8061041b83390190565b803560ff8116811461028d57600080fd5b919050565b6000806000806000608086880312156102aa57600080fd5b853573ffffffffffffffffffffffffffffffffffffffff811681146102ce57600080fd5b94506102dc6020870161027c565b93506102ea6040870161027c565b9250606086013567ffffffffffffffff8082111561030757600080fd5b818801915088601f83011261031b57600080fd5b81358181111561032a57600080fd5b89602082850101111561033c57600080fd5b9699959850939650602001949392505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260ff8516602082015260ff8416604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b6000815160005b818110156103ee57602081850181015186830152016103d4565b50600093019283525090919050565b600061041261040c83866103cd565b846103cd565b94935050505056fe6101006040523480156200001257600080fd5b5060405162000c8e38038062000c8e8339810160408190526200003591620000d3565b6001600160a01b03841660805260ff821660a05260006200005782826200027c565b5060a05160ff80851691161160e08190526200007f576200007982846200035e565b6200008b565b6200008b83836200035e565b6200009890600a6200047d565b60c052506200049592505050565b805160ff81168114620000b857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215620000ea57600080fd5b84516001600160a01b03811681146200010257600080fd5b9350602062000113868201620000a6565b93506200012360408701620000a6565b60608701519093506001600160401b03808211156200014157600080fd5b818801915088601f8301126200015657600080fd5b8151818111156200016b576200016b620000bd565b604051601f8201601f19908116603f01168101908382118183101715620001965762000196620000bd565b816040528281528b86848701011115620001af57600080fd5b600093505b82841015620001d35784840186015181850187015292850192620001b4565b600086848301015280965050505050505092959194509250565b600181811c908216806200020257607f821691505b6020821081036200022357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200027757600081815260208120601f850160051c81016020861015620002525750805b601f850160051c820191505b8181101562000273578281556001016200025e565b5050505b505050565b81516001600160401b03811115620002985762000298620000bd565b620002b081620002a98454620001ed565b8462000229565b602080601f831160018114620002e85760008415620002cf5750858301515b600019600386901b1c1916600185901b17855562000273565b600085815260208120601f198616915b828110156200031957888601518255948401946001909101908401620002f8565b5085821015620003385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60ff82811682821603908111156200037a576200037a62000348565b92915050565b600181815b80851115620003c1578160001904821115620003a557620003a562000348565b80851615620003b357918102915b93841c939080029062000385565b509250929050565b600082620003da575060016200037a565b81620003e9575060006200037a565b81600181146200040257600281146200040d576200042d565b60019150506200037a565b60ff84111562000421576200042162000348565b50506001821b6200037a565b5060208310610133831016604e8410600b841016171562000452575081810a6200037a565b6200045e838362000380565b806000190482111562000475576200047562000348565b029392505050565b60006200048e60ff841683620003c9565b9392505050565b60805160a05160c05160e0516107b2620004dc600039600061046f01526000818161049401526104cc0152600060d30152600081816101c201526103d101526107b26000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80638205bf6a11610081578063b633620c1161005b578063b633620c146101aa578063e5576982146101bd578063feaf968c1461020957600080fd5b80638205bf6a146101455780639a6fc8f51461014d578063b5ab58dc1461019757600080fd5b806354fd4d50116100b257806354fd4d5014610122578063668a0f02146101295780637284e4161461013057600080fd5b8063313ce567146100ce57806350d25bcd1461010c575b600080fd5b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b610114610211565b604051908152602001610103565b6004610114565b6000610114565b610138610221565b604051610103919061050d565b6101146102af565b61016061015b366004610579565b6102bf565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610103565b6101146101a53660046105ac565b610323565b6101146101b83660046105ac565b610365565b6101e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610103565b6101606103a7565b600061021b6103c9565b50919050565b6000805461022e906105c5565b80601f016020809104026020016040519081016040528092919081815260200182805461025a906105c5565b80156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b505050505081565b60006102b96103c9565b92915050565b60008080808069ffffffffffffffffffff861615610309576040517fc99b5b3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103116103a7565b939a9299509097509550909350915050565b6000811561035d576040517fc99b5b3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b9610211565b6000811561039f576040517fc99b5b3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b96102af565b60008060008060006103b76103c9565b60009791965094508493508692509050565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663960384a060006040518263ffffffff1660e01b81526004016104299190610612565b6040805180830381865afa158015610445573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610469919061071a565b915091507f00000000000000000000000000000000000000000000000000000000000000006104ca577f000000000000000000000000000000000000000000000000000000000000000082600f0b816104c4576104c461074d565b056104f1565b7f000000000000000000000000000000000000000000000000000000000000000082600f0b025b946fffffffffffffffffffffffffffffffff9091169350915050565b600060208083528351808285015260005b8181101561053a5785810183015185820160400152820161051e565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561058b57600080fd5b813569ffffffffffffffffffff811681146105a557600080fd5b9392505050565b6000602082840312156105be57600080fd5b5035919050565b600181811c908216806105d957607f821691505b60208210810361021b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060208083526000845481600182811c91508083168061063457607f831692505b858310810361066a577f4e487b710000000000000000000000000000000000000000000000000000000085526022600452602485fd5b87860183815260200181801561068757600181146106bb576106e6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616825284151560051b820196506106e6565b60008b81526020902060005b868110156106e0578154848201529085019089016106c7565b83019750505b50949998505050505050505050565b80516fffffffffffffffffffffffffffffffff8116811461071557600080fd5b919050565b6000806040838503121561072d57600080fd5b610736836106f5565b9150610744602084016106f5565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220848e1ea9f6f811cf0b46a3123db20a93bb2391423155d2fcf0731554dd255da964736f6c63430008100033a26469706673582212202533c38d8ae1b2f5b326777534bb653fa27e53a8da51ecfa8577e576d2061e3964736f6c63430008100033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
