{
  "contractName": "BLS",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes",
          "name": "message",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "secretKey",
          "type": "uint256"
        }
      ],
      "name": "sign",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes",
          "name": "publicKey",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "message",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "verify",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes",
          "name": "publicKey",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "message",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "verifyBytes",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x610cc3610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063afef5d3314610050578063de8f50a11461016b578063e71b17c41461032d575b600080fd5b6100f66004803603604081101561006657600080fd5b810190602081018135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506104db915050565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610130578181015183820152602001610118565b50505050905090810190601f16801561015d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103196004803603606081101561018157600080fd5b810190602081018135600160201b81111561019b57600080fd5b8201836020820111156101ad57600080fd5b803590602001918460018302840111600160201b831117156101ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561022057600080fd5b82018360208201111561023257600080fd5b803590602001918460018302840111600160201b8311171561025357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156102a557600080fd5b8201836020820111156102b757600080fd5b803590602001918460018302840111600160201b831117156102d857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610518945050505050565b604080519115158252519081900360200190f35b6103196004803603606081101561034357600080fd5b810190602081018135600160201b81111561035d57600080fd5b82018360208201111561036f57600080fd5b803590602001918460018302840111600160201b8311171561039057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103e257600080fd5b8201836020820111156103f457600080fd5b803590602001918460018302840111600160201b8311171561041557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460018302840111600160201b8311171561049a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061057d945050505050565b60606104e5610c4f565b6104ee846105b4565b90506104f8610c4f565b61050282856106aa565b905061050d816106e5565b925050505b92915050565b6000610522610c4f565b61052b8361071e565b9050610574604051806040016040528083600001518152602001836020015161055261079b565b03905261055d6107bf565b6105668761071e565b61056f8961087f565b610925565b95945050505050565b6000610587610c4f565b610590846105b4565b9050606061059d826106e5565b90506105aa868286610518565b9695505050505050565b6105bc610c4f565b60006002836040518082805190602001908083835b602083106105f05780518252601f1990920191602091820191016105d1565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561062f573d6000803e3d6000fd5b5050506040513d602081101561064457600080fd5b505190507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47810660005b610677826109cd565b9050801561069a5760408051808201909152918252602082015291506106a59050565b60018201915061066e565b919050565b6106b2610c4f565b60405183518152602084015160208201528260408201526040826060836007600019fa6106de57600080fd5b5092915050565b60408051818152606081810183529182919060208201818038833950508451602095860151958301525060408101939093525090919050565b610726610c4f565b815160401461077c576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964204731206279746573206c656e677468000000000000000000604482015290519081900360640190fd5b5060208181015160409283015183518085019094529083529082015290565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4790565b6107c7610c69565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b82527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60208381019190915281019190915290565b610887610c69565b81516080146108dd576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964204732206279746573206c656e677468000000000000000000604482015290519081900360640190fd5b50602081810151604080840151606080860151608096870151845197880185528785019586529187019290925292855281518083019092528152808301919091529082015290565b60008060405160208101875181526020880151602082015286518051604083015260208101516060830152602088015180516080840152602081015160a0840152875160c0840152602088015160e0840152865180516101008501526020810151610120850152602088015180516101408601526020810151610160860152602086610180876008600019fa6109ba57600080fd5b5050925115159998505050505050505050565b60006105127f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610a068560038363ffffffff610a1d16565b60030181610a1057fe5b069063ffffffff610a6816565b60006040516020810160208152602080820152602060408201528560608201528460808201528360a082015260208260c0836005600019fa610a5e57600080fd5b5051949350505050565b6000610a748383610bbc565b600114610a8357506000610512565b82610a9057506000610512565b6004820660031415610ab457610aad836004600185010484610a1d565b9050610512565b600019820160005b60028206610ad257600282049150600101610abc565b60025b610adf8186610bbc565b60001914610aef57600101610ad5565b6000610b02876002600187010488610a1d565b90506000610b11888689610a1d565b90506000610b2084878a610a1d565b905084600080845b5060009050845b83821015610b5e578060011415610b4557610b5e565b610b518160028e610a1d565b6001909201919050610b2f565b81610b7557869a5050505050505050505050610512565b610b888560018487030360020a8e610a1d565b92508b83840281610b9557fe5b0694508b83880281610ba357fe5b0696508b85870281610bb157fe5b069550819350610b28565b600080610bd184600260001986010485610a1d565b9050801580610be05750806001145b15610bec579050610512565b60018303811415610c0257600019915050610512565b6040805162461bcd60e51b815260206004820152601d60248201527f4661696c656420746f2063616c63756c617465206c6567656e6472652e000000604482015290519081900360640190fd5b604051806040016040528060008152602001600081525090565b6040518060400160405280610c7c610c4f565b8152602001610c89610c4f565b90529056fea265627a7a72315820e0d7be9f4e75bbc20269d73267be89a95ef7bd7d0aee33ab47159c8a54ad7b1f64736f6c63430005110032",
  "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063afef5d3314610050578063de8f50a11461016b578063e71b17c41461032d575b600080fd5b6100f66004803603604081101561006657600080fd5b810190602081018135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506104db915050565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610130578181015183820152602001610118565b50505050905090810190601f16801561015d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103196004803603606081101561018157600080fd5b810190602081018135600160201b81111561019b57600080fd5b8201836020820111156101ad57600080fd5b803590602001918460018302840111600160201b831117156101ce57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561022057600080fd5b82018360208201111561023257600080fd5b803590602001918460018302840111600160201b8311171561025357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156102a557600080fd5b8201836020820111156102b757600080fd5b803590602001918460018302840111600160201b831117156102d857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610518945050505050565b604080519115158252519081900360200190f35b6103196004803603606081101561034357600080fd5b810190602081018135600160201b81111561035d57600080fd5b82018360208201111561036f57600080fd5b803590602001918460018302840111600160201b8311171561039057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156103e257600080fd5b8201836020820111156103f457600080fd5b803590602001918460018302840111600160201b8311171561041557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460018302840111600160201b8311171561049a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061057d945050505050565b60606104e5610c4f565b6104ee846105b4565b90506104f8610c4f565b61050282856106aa565b905061050d816106e5565b925050505b92915050565b6000610522610c4f565b61052b8361071e565b9050610574604051806040016040528083600001518152602001836020015161055261079b565b03905261055d6107bf565b6105668761071e565b61056f8961087f565b610925565b95945050505050565b6000610587610c4f565b610590846105b4565b9050606061059d826106e5565b90506105aa868286610518565b9695505050505050565b6105bc610c4f565b60006002836040518082805190602001908083835b602083106105f05780518252601f1990920191602091820191016105d1565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa15801561062f573d6000803e3d6000fd5b5050506040513d602081101561064457600080fd5b505190507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47810660005b610677826109cd565b9050801561069a5760408051808201909152918252602082015291506106a59050565b60018201915061066e565b919050565b6106b2610c4f565b60405183518152602084015160208201528260408201526040826060836007600019fa6106de57600080fd5b5092915050565b60408051818152606081810183529182919060208201818038833950508451602095860151958301525060408101939093525090919050565b610726610c4f565b815160401461077c576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964204731206279746573206c656e677468000000000000000000604482015290519081900360640190fd5b5060208181015160409283015183518085019094529083529082015290565b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4790565b6107c7610c69565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b82527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60208381019190915281019190915290565b610887610c69565b81516080146108dd576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964204732206279746573206c656e677468000000000000000000604482015290519081900360640190fd5b50602081810151604080840151606080860151608096870151845197880185528785019586529187019290925292855281518083019092528152808301919091529082015290565b60008060405160208101875181526020880151602082015286518051604083015260208101516060830152602088015180516080840152602081015160a0840152875160c0840152602088015160e0840152865180516101008501526020810151610120850152602088015180516101408601526020810151610160860152602086610180876008600019fa6109ba57600080fd5b5050925115159998505050505050505050565b60006105127f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4780610a068560038363ffffffff610a1d16565b60030181610a1057fe5b069063ffffffff610a6816565b60006040516020810160208152602080820152602060408201528560608201528460808201528360a082015260208260c0836005600019fa610a5e57600080fd5b5051949350505050565b6000610a748383610bbc565b600114610a8357506000610512565b82610a9057506000610512565b6004820660031415610ab457610aad836004600185010484610a1d565b9050610512565b600019820160005b60028206610ad257600282049150600101610abc565b60025b610adf8186610bbc565b60001914610aef57600101610ad5565b6000610b02876002600187010488610a1d565b90506000610b11888689610a1d565b90506000610b2084878a610a1d565b905084600080845b5060009050845b83821015610b5e578060011415610b4557610b5e565b610b518160028e610a1d565b6001909201919050610b2f565b81610b7557869a5050505050505050505050610512565b610b888560018487030360020a8e610a1d565b92508b83840281610b9557fe5b0694508b83880281610ba357fe5b0696508b85870281610bb157fe5b069550819350610b28565b600080610bd184600260001986010485610a1d565b9050801580610be05750806001145b15610bec579050610512565b60018303811415610c0257600019915050610512565b6040805162461bcd60e51b815260206004820152601d60248201527f4661696c656420746f2063616c63756c617465206c6567656e6472652e000000604482015290519081900360640190fd5b604051806040016040528060008152602001600081525090565b6040518060400160405280610c7c610c4f565b8152602001610c89610c4f565b90529056fea265627a7a72315820e0d7be9f4e75bbc20269d73267be89a95ef7bd7d0aee33ab47159c8a54ad7b1f64736f6c63430005110032",
  "networks": {
    "1": {
      "events": {},
      "links": {},
      "address": "0xa10aD2570ea7b93d19fDae6Bd7189fF4929Bc747",
      "transactionHash": "0x137810d5318e46816c3271a5816e135bb6e0735e8912f650092a3fe4d9727d08"
    }
  },
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-09-10T12:50:58.955Z",
  "networkType": "ethereum"
}