{
  "contractName": "ECDSAKeepFactoryStub",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "keepAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "keepOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minimumBondableValue",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "stakeLockDuration",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_stakeLockDuration",
          "type": "uint256"
        }
      ],
      "name": "openKeep",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_keepAddress",
          "type": "address"
        }
      ],
      "name": "setKeepAddress",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "openKeepFeeEstimate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_fee",
          "type": "uint256"
        }
      ],
      "name": "setOpenKeepFeeEstimate",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "getSortitionPoolWeight",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "poolWeight",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_minimumBondableValue",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "setMinimumBondableValue",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getSortitionPoolWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolWeight\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"keepAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"keepOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumBondableValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_stakeLockDuration\",\"type\":\"uint256\"}],\"name\":\"openKeep\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"openKeepFeeEstimate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_keepAddress\",\"type\":\"address\"}],\"name\":\"setKeepAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minimumBondableValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"setMinimumBondableValue\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"setOpenKeepFeeEstimate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stakeLockDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/tbtc/tbtc/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol\":\"ECDSAKeepFactoryStub\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/runner/work/tbtc/tbtc/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol\":{\"keccak256\":\"0x95d7f3fddbaee537df5846f37de9d145d41e3c2a5567455b2dc7a91b84c6cd55\",\"urls\":[\"bzz-raw://5c09119db228641505723e5d2b712fb21c4d98bff869231376c15fabb3c022c9\",\"dweb:/ipfs/QmQgEnCHv5xXVC1aLbKCJt7K6p96BqGSg5bkXoFHyZmPMo\"]},\"@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol\":{\"keccak256\":\"0x07ae883d2a0f5b7fe2c0b055206f565da51b04d1ca574ae4d4da3a19e6badcdb\",\"urls\":[\"bzz-raw://038b4f5b45b2d676ef7411b69cadd490d5789e3d245afd78aaa72177ce042572\",\"dweb:/ipfs/QmRaBYU4HCDSH33a3gpLN4t2TsyNaFRxLKv3WeAZEgk9Rr\"]}},\"version\":1}",
  "bytecode": "0x6080604052600180546001600160a01b0319166103781790556103e76003556201e24060045534801561003157600080fd5b50610364806100416000396000f3fe6080604052600436106100915760003560e01c8063b8ee915611610059578063b8ee915614610162578063bc2c289f14610198578063ca050cfd146101ad578063ce01e039146101eb578063ebcbb39f1461020057610091565b8063022d44b714610096578063348d4144146100cb578063597282dd146100f25780636c3b0114146101075780638cf46eb314610138575b600080fd5b3480156100a257600080fd5b506100c9600480360360208110156100b957600080fd5b50356001600160a01b0316610233565b005b3480156100d757600080fd5b506100e0610255565b60408051918252519081900360200190f35b3480156100fe57600080fd5b506100e061025b565b34801561011357600080fd5b5061011c610261565b604080516001600160a01b039092168252519081900360200190f35b34801561014457600080fd5b506100c96004803603602081101561015b57600080fd5b5035610270565b34801561016e57600080fd5b506100c96004803603606081101561018557600080fd5b5080359060208101359060400135610275565b3480156101a457600080fd5b506100e061027c565b61011c600480360360a08110156101c357600080fd5b508035906020810135906001600160a01b036040820135169060608101359060800135610282565b3480156101f757600080fd5b5061011c6102f0565b34801561020c57600080fd5b506100e06004803603602081101561022357600080fd5b50356001600160a01b03166102ff565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60025481565b60035481565b6001546001600160a01b031681565b600455565b5050600355565b60045490565b60006004543410156102c55760405162461bcd60e51b81526004018080602001828103825260288152602001806103086028913960400191505060405180910390fd5b50600080546001600160a01b0319166001600160a01b03948516179055600255506001541692915050565b6000546001600160a01b031681565b50620186a09056fe496e73756666696369656e742076616c756520666f72206e6577206b656570206372656174696f6ea265627a7a72315820bbb4d875c4ce33dbfb4a5806addd7a0426cadd57a23620ff45d4437bfe86abb964736f6c63430005110032",
  "deployedBytecode": "0x6080604052600436106100915760003560e01c8063b8ee915611610059578063b8ee915614610162578063bc2c289f14610198578063ca050cfd146101ad578063ce01e039146101eb578063ebcbb39f1461020057610091565b8063022d44b714610096578063348d4144146100cb578063597282dd146100f25780636c3b0114146101075780638cf46eb314610138575b600080fd5b3480156100a257600080fd5b506100c9600480360360208110156100b957600080fd5b50356001600160a01b0316610233565b005b3480156100d757600080fd5b506100e0610255565b60408051918252519081900360200190f35b3480156100fe57600080fd5b506100e061025b565b34801561011357600080fd5b5061011c610261565b604080516001600160a01b039092168252519081900360200190f35b34801561014457600080fd5b506100c96004803603602081101561015b57600080fd5b5035610270565b34801561016e57600080fd5b506100c96004803603606081101561018557600080fd5b5080359060208101359060400135610275565b3480156101a457600080fd5b506100e061027c565b61011c600480360360a08110156101c357600080fd5b508035906020810135906001600160a01b036040820135169060608101359060800135610282565b3480156101f757600080fd5b5061011c6102f0565b34801561020c57600080fd5b506100e06004803603602081101561022357600080fd5b50356001600160a01b03166102ff565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60025481565b60035481565b6001546001600160a01b031681565b600455565b5050600355565b60045490565b60006004543410156102c55760405162461bcd60e51b81526004018080602001828103825260288152602001806103086028913960400191505060405180910390fd5b50600080546001600160a01b0319166001600160a01b03948516179055600255506001541692915050565b6000546001600160a01b031681565b50620186a09056fe496e73756666696369656e742076616c756520666f72206e6577206b656570206372656174696f6ea265627a7a72315820bbb4d875c4ce33dbfb4a5806addd7a0426cadd57a23620ff45d4437bfe86abb964736f6c63430005110032",
  "sourceMap": "134:1254:34:-;;;227:41;;;-1:-1:-1;;;;;;227:41:34;264:3;227:41;;;350:3;312:41;;381:6;359:28;;134:1254;5:2:-1;;;;30:1;27;20:12;5:2;134:1254:34;;;;;;;",
  "deployedSourceMap": "134:1254:34:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;768:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;768:98:34;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;768:98:34;-1:-1:-1;;;;;768:98:34;;:::i;:::-;;274:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;274:32:34;;;:::i;:::-;;;;;;;;;;;;;;;;312:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;312:41:34;;;:::i;227:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;227:41:34;;;:::i;:::-;;;;-1:-1:-1;;;;;227:41:34;;;;;;;;;;;;;;976:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;976:90:34;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;976:90:34;;:::i;1206:180::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1206:180:34;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1206:180:34;;;;;;;;;;;;:::i;872:98::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;872:98:34;;;:::i;394:368::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;394:368:34;;;;;;;;-1:-1:-1;;;;;394:368:34;;;;;;;;;;;;;;;:::i;197:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;197:24:34;;;:::i;1072:128::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1072:128:34;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1072:128:34;-1:-1:-1;;;;;1072:128:34;;:::i;768:98::-;833:11;:26;;-1:-1:-1;;;;;;833:26:34;-1:-1:-1;;;;;833:26:34;;;;;;;;;;768:98::o;274:32::-;;;;:::o;312:41::-;;;;:::o;227:::-;;;-1:-1:-1;;;;;227:41:34;;:::o;976:90::-;1041:11;:18;976:90::o;1206:180::-;-1:-1:-1;;1335:20:34;:44;1206:180::o;872:98::-;952:11;;872:98;:::o;394:368::-;555:7;595:11;;582:9;:24;;574:77;;;;-1:-1:-1;;;574:77:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;661:9:34;:18;;-1:-1:-1;;;;;;661:18:34;-1:-1:-1;;;;;661:18:34;;;;;;689:17;:38;-1:-1:-1;;744:11:34;;;394:368;-1:-1:-1;;394:368:34:o;197:24::-;;;-1:-1:-1;;;;;197:24:34;;:::o;1072:128::-;-1:-1:-1;1187:6:34;;1072:128::o",
  "source": "pragma solidity 0.5.17;\n\nimport {IBondedECDSAKeepFactory} from \"@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol\";\n\ncontract ECDSAKeepFactoryStub is IBondedECDSAKeepFactory {\n    address public keepOwner;\n    address public keepAddress = address(888);\n    uint256 public stakeLockDuration;\n    uint256 public minimumBondableValue = 999;\n    uint256 feeEstimate = 123456;\n\n    function openKeep(\n        uint256,\n        uint256,\n        address _owner,\n        uint256,\n        uint256 _stakeLockDuration\n    ) external payable returns (address) {\n        require(msg.value >= feeEstimate, \"Insufficient value for new keep creation\");\n        keepOwner = _owner;\n        stakeLockDuration = _stakeLockDuration;\n        return keepAddress;\n    }\n\n    function setKeepAddress(address _keepAddress) external {\n        keepAddress = _keepAddress;\n    }\n\n    function openKeepFeeEstimate() external view returns (uint256) {\n        return feeEstimate;\n    }\n\n    function setOpenKeepFeeEstimate(uint256 _fee) external {\n        feeEstimate = _fee;\n    }\n\n    function getSortitionPoolWeight(\n        address\n    ) external view returns (uint256 poolWeight) {\n        return 100000;\n    }\n\n    function setMinimumBondableValue(\n        uint256 _minimumBondableValue,\n        uint256,\n        uint256\n    ) public {\n        minimumBondableValue = _minimumBondableValue;\n    }\n}\n",
  "sourcePath": "/home/runner/work/tbtc/tbtc/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol",
  "ast": {
    "absolutePath": "/home/runner/work/tbtc/tbtc/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol",
    "exportedSymbols": {
      "ECDSAKeepFactoryStub": [
        10306
      ]
    },
    "id": 10307,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 10200,
        "literals": [
          "solidity",
          "0.5",
          ".17"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:34"
      },
      {
        "absolutePath": "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol",
        "file": "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol",
        "id": 10202,
        "nodeType": "ImportDirective",
        "scope": 10307,
        "sourceUnit": 11468,
        "src": "25:107:34",
        "symbolAliases": [
          {
            "foreign": 10201,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 10203,
              "name": "IBondedECDSAKeepFactory",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 11467,
              "src": "167:23:34",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IBondedECDSAKeepFactory_$11467",
                "typeString": "contract IBondedECDSAKeepFactory"
              }
            },
            "id": 10204,
            "nodeType": "InheritanceSpecifier",
            "src": "167:23:34"
          }
        ],
        "contractDependencies": [
          11467
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 10306,
        "linearizedBaseContracts": [
          10306,
          11467
        ],
        "name": "ECDSAKeepFactoryStub",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 10206,
            "name": "keepOwner",
            "nodeType": "VariableDeclaration",
            "scope": 10306,
            "src": "197:24:34",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 10205,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "197:7:34",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 10211,
            "name": "keepAddress",
            "nodeType": "VariableDeclaration",
            "scope": 10306,
            "src": "227:41:34",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 10207,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "227:7:34",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "hexValue": "383838",
                  "id": 10209,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "264:3:34",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_888_by_1",
                    "typeString": "int_const 888"
                  },
                  "value": "888"
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_rational_888_by_1",
                    "typeString": "int_const 888"
                  }
                ],
                "id": 10208,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "256:7:34",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_address_$",
                  "typeString": "type(address)"
                },
                "typeName": "address"
              },
              "id": 10210,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "256:12:34",
              "typeDescriptions": {
                "typeIdentifier": "t_address_payable",
                "typeString": "address payable"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 10213,
            "name": "stakeLockDuration",
            "nodeType": "VariableDeclaration",
            "scope": 10306,
            "src": "274:32:34",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 10212,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "274:7:34",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 10216,
            "name": "minimumBondableValue",
            "nodeType": "VariableDeclaration",
            "scope": 10306,
            "src": "312:41:34",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 10214,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "312:7:34",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "393939",
              "id": 10215,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "350:3:34",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_999_by_1",
                "typeString": "int_const 999"
              },
              "value": "999"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 10219,
            "name": "feeEstimate",
            "nodeType": "VariableDeclaration",
            "scope": 10306,
            "src": "359:28:34",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 10217,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "359:7:34",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "313233343536",
              "id": 10218,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "381:6:34",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_123456_by_1",
                "typeString": "int_const 123456"
              },
              "value": "123456"
            },
            "visibility": "internal"
          },
          {
            "body": {
              "id": 10252,
              "nodeType": "Block",
              "src": "564:198:34",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 10238,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 10235,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 18360,
                            "src": "582:3:34",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 10236,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "582:9:34",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 10237,
                          "name": "feeEstimate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10219,
                          "src": "595:11:34",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "582:24:34",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e73756666696369656e742076616c756520666f72206e6577206b656570206372656174696f6e",
                        "id": 10239,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "608:42:34",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_60603c34fc7fcad44ea4f2d3446f732192552aec325ff3f07c237db0057e448d",
                          "typeString": "literal_string \"Insufficient value for new keep creation\""
                        },
                        "value": "Insufficient value for new keep creation"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_60603c34fc7fcad44ea4f2d3446f732192552aec325ff3f07c237db0057e448d",
                          "typeString": "literal_string \"Insufficient value for new keep creation\""
                        }
                      ],
                      "id": 10234,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        18363,
                        18364
                      ],
                      "referencedDeclaration": 18364,
                      "src": "574:7:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 10240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "574:77:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 10241,
                  "nodeType": "ExpressionStatement",
                  "src": "574:77:34"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10244,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10242,
                      "name": "keepOwner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10206,
                      "src": "661:9:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10243,
                      "name": "_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10225,
                      "src": "673:6:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "661:18:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 10245,
                  "nodeType": "ExpressionStatement",
                  "src": "661:18:34"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10248,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10246,
                      "name": "stakeLockDuration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10213,
                      "src": "689:17:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10247,
                      "name": "_stakeLockDuration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10229,
                      "src": "709:18:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "689:38:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10249,
                  "nodeType": "ExpressionStatement",
                  "src": "689:38:34"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10250,
                    "name": "keepAddress",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 10211,
                    "src": "744:11:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 10233,
                  "id": 10251,
                  "nodeType": "Return",
                  "src": "737:18:34"
                }
              ]
            },
            "documentation": null,
            "id": 10253,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "openKeep",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10230,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10221,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10253,
                  "src": "421:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10220,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "421:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10223,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10253,
                  "src": "438:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10222,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "438:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10225,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 10253,
                  "src": "455:14:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10224,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "455:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10227,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10253,
                  "src": "479:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10226,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "479:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10229,
                  "name": "_stakeLockDuration",
                  "nodeType": "VariableDeclaration",
                  "scope": 10253,
                  "src": "496:26:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10228,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "496:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "411:117:34"
            },
            "returnParameters": {
              "id": 10233,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10232,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10253,
                  "src": "555:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10231,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "555:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "554:9:34"
            },
            "scope": 10306,
            "src": "394:368:34",
            "stateMutability": "payable",
            "superFunction": 11445,
            "visibility": "external"
          },
          {
            "body": {
              "id": 10262,
              "nodeType": "Block",
              "src": "823:43:34",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10260,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10258,
                      "name": "keepAddress",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10211,
                      "src": "833:11:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10259,
                      "name": "_keepAddress",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10255,
                      "src": "847:12:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "833:26:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 10261,
                  "nodeType": "ExpressionStatement",
                  "src": "833:26:34"
                }
              ]
            },
            "documentation": null,
            "id": 10263,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "setKeepAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10256,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10255,
                  "name": "_keepAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 10263,
                  "src": "792:20:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10254,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "792:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "791:22:34"
            },
            "returnParameters": {
              "id": 10257,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "823:0:34"
            },
            "scope": 10306,
            "src": "768:98:34",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 10270,
              "nodeType": "Block",
              "src": "935:35:34",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10268,
                    "name": "feeEstimate",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 10219,
                    "src": "952:11:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 10267,
                  "id": 10269,
                  "nodeType": "Return",
                  "src": "945:18:34"
                }
              ]
            },
            "documentation": null,
            "id": 10271,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "openKeepFeeEstimate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10264,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "900:2:34"
            },
            "returnParameters": {
              "id": 10267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10266,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10271,
                  "src": "926:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10265,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "926:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "925:9:34"
            },
            "scope": 10306,
            "src": "872:98:34",
            "stateMutability": "view",
            "superFunction": 11450,
            "visibility": "external"
          },
          {
            "body": {
              "id": 10280,
              "nodeType": "Block",
              "src": "1031:35:34",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10278,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10276,
                      "name": "feeEstimate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10219,
                      "src": "1041:11:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10277,
                      "name": "_fee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10273,
                      "src": "1055:4:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1041:18:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10279,
                  "nodeType": "ExpressionStatement",
                  "src": "1041:18:34"
                }
              ]
            },
            "documentation": null,
            "id": 10281,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "setOpenKeepFeeEstimate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10274,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10273,
                  "name": "_fee",
                  "nodeType": "VariableDeclaration",
                  "scope": 10281,
                  "src": "1008:12:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10272,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1008:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1007:14:34"
            },
            "returnParameters": {
              "id": 10275,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1031:0:34"
            },
            "scope": 10306,
            "src": "976:90:34",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 10290,
              "nodeType": "Block",
              "src": "1170:30:34",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "313030303030",
                    "id": 10288,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1187:6:34",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_100000_by_1",
                      "typeString": "int_const 100000"
                    },
                    "value": "100000"
                  },
                  "functionReturnParameters": 10287,
                  "id": 10289,
                  "nodeType": "Return",
                  "src": "1180:13:34"
                }
              ]
            },
            "documentation": null,
            "id": 10291,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getSortitionPoolWeight",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10284,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10283,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10291,
                  "src": "1113:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 10282,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1113:7:34",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1103:23:34"
            },
            "returnParameters": {
              "id": 10287,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10286,
                  "name": "poolWeight",
                  "nodeType": "VariableDeclaration",
                  "scope": 10291,
                  "src": "1150:18:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10285,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1150:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1149:20:34"
            },
            "scope": 10306,
            "src": "1072:128:34",
            "stateMutability": "view",
            "superFunction": 11457,
            "visibility": "external"
          },
          {
            "body": {
              "id": 10304,
              "nodeType": "Block",
              "src": "1325:61:34",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 10302,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 10300,
                      "name": "minimumBondableValue",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10216,
                      "src": "1335:20:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 10301,
                      "name": "_minimumBondableValue",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10293,
                      "src": "1358:21:34",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1335:44:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 10303,
                  "nodeType": "ExpressionStatement",
                  "src": "1335:44:34"
                }
              ]
            },
            "documentation": null,
            "id": 10305,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "setMinimumBondableValue",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 10298,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 10293,
                  "name": "_minimumBondableValue",
                  "nodeType": "VariableDeclaration",
                  "scope": 10305,
                  "src": "1248:29:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10292,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1248:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10295,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10305,
                  "src": "1287:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10294,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1287:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 10297,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 10305,
                  "src": "1304:7:34",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 10296,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1304:7:34",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1238:79:34"
            },
            "returnParameters": {
              "id": 10299,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1325:0:34"
            },
            "scope": 10306,
            "src": "1206:180:34",
            "stateMutability": "nonpayable",
            "superFunction": 11466,
            "visibility": "public"
          }
        ],
        "scope": 10307,
        "src": "134:1254:34"
      }
    ],
    "src": "0:1389:34"
  },
  "legacyAST": {
    "attributes": {
      "absolutePath": "/home/runner/work/tbtc/tbtc/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol",
      "exportedSymbols": {
        "ECDSAKeepFactoryStub": [
          10306
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "0.5",
            ".17"
          ]
        },
        "id": 10200,
        "name": "PragmaDirective",
        "src": "0:23:34"
      },
      {
        "attributes": {
          "SourceUnit": 11468,
          "absolutePath": "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol",
          "file": "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol",
          "scope": 10307,
          "symbolAliases": [
            {
              "foreign": 10201,
              "local": null
            }
          ],
          "unitAlias": ""
        },
        "id": 10202,
        "name": "ImportDirective",
        "src": "25:107:34"
      },
      {
        "attributes": {
          "contractDependencies": [
            11467
          ],
          "contractKind": "contract",
          "documentation": null,
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            10306,
            11467
          ],
          "name": "ECDSAKeepFactoryStub",
          "scope": 10307
        },
        "children": [
          {
            "attributes": {
              "arguments": null
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "IBondedECDSAKeepFactory",
                  "referencedDeclaration": 11467,
                  "type": "contract IBondedECDSAKeepFactory"
                },
                "id": 10203,
                "name": "UserDefinedTypeName",
                "src": "167:23:34"
              }
            ],
            "id": 10204,
            "name": "InheritanceSpecifier",
            "src": "167:23:34"
          },
          {
            "attributes": {
              "constant": false,
              "name": "keepOwner",
              "scope": 10306,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "address",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "address",
                  "stateMutability": "nonpayable",
                  "type": "address"
                },
                "id": 10205,
                "name": "ElementaryTypeName",
                "src": "197:7:34"
              }
            ],
            "id": 10206,
            "name": "VariableDeclaration",
            "src": "197:24:34"
          },
          {
            "attributes": {
              "constant": false,
              "name": "keepAddress",
              "scope": 10306,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "address",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "address",
                  "stateMutability": "nonpayable",
                  "type": "address"
                },
                "id": 10207,
                "name": "ElementaryTypeName",
                "src": "227:7:34"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "isStructConstructorCall": false,
                  "lValueRequested": false,
                  "names": [
                    null
                  ],
                  "type": "address payable",
                  "type_conversion": true
                },
                "children": [
                  {
                    "attributes": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_888_by_1",
                          "typeString": "int_const 888"
                        }
                      ],
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "type": "type(address)",
                      "value": "address"
                    },
                    "id": 10208,
                    "name": "ElementaryTypeNameExpression",
                    "src": "256:7:34"
                  },
                  {
                    "attributes": {
                      "argumentTypes": null,
                      "hexvalue": "383838",
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "subdenomination": null,
                      "token": "number",
                      "type": "int_const 888",
                      "value": "888"
                    },
                    "id": 10209,
                    "name": "Literal",
                    "src": "264:3:34"
                  }
                ],
                "id": 10210,
                "name": "FunctionCall",
                "src": "256:12:34"
              }
            ],
            "id": 10211,
            "name": "VariableDeclaration",
            "src": "227:41:34"
          },
          {
            "attributes": {
              "constant": false,
              "name": "stakeLockDuration",
              "scope": 10306,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 10212,
                "name": "ElementaryTypeName",
                "src": "274:7:34"
              }
            ],
            "id": 10213,
            "name": "VariableDeclaration",
            "src": "274:32:34"
          },
          {
            "attributes": {
              "constant": false,
              "name": "minimumBondableValue",
              "scope": 10306,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 10214,
                "name": "ElementaryTypeName",
                "src": "312:7:34"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "393939",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "number",
                  "type": "int_const 999",
                  "value": "999"
                },
                "id": 10215,
                "name": "Literal",
                "src": "350:3:34"
              }
            ],
            "id": 10216,
            "name": "VariableDeclaration",
            "src": "312:41:34"
          },
          {
            "attributes": {
              "constant": false,
              "name": "feeEstimate",
              "scope": 10306,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "uint256",
              "visibility": "internal"
            },
            "children": [
              {
                "attributes": {
                  "name": "uint256",
                  "type": "uint256"
                },
                "id": 10217,
                "name": "ElementaryTypeName",
                "src": "359:7:34"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "313233343536",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "number",
                  "type": "int_const 123456",
                  "value": "123456"
                },
                "id": 10218,
                "name": "Literal",
                "src": "381:6:34"
              }
            ],
            "id": 10219,
            "name": "VariableDeclaration",
            "src": "359:28:34"
          },
          {
            "attributes": {
              "documentation": null,
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "openKeep",
              "scope": 10306,
              "stateMutability": "payable",
              "superFunction": 11445,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10253,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10220,
                        "name": "ElementaryTypeName",
                        "src": "421:7:34"
                      }
                    ],
                    "id": 10221,
                    "name": "VariableDeclaration",
                    "src": "421:7:34"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10253,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10222,
                        "name": "ElementaryTypeName",
                        "src": "438:7:34"
                      }
                    ],
                    "id": 10223,
                    "name": "VariableDeclaration",
                    "src": "438:7:34"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_owner",
                      "scope": 10253,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 10224,
                        "name": "ElementaryTypeName",
                        "src": "455:7:34"
                      }
                    ],
                    "id": 10225,
                    "name": "VariableDeclaration",
                    "src": "455:14:34"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10253,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10226,
                        "name": "ElementaryTypeName",
                        "src": "479:7:34"
                      }
                    ],
                    "id": 10227,
                    "name": "VariableDeclaration",
                    "src": "479:7:34"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_stakeLockDuration",
                      "scope": 10253,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10228,
                        "name": "ElementaryTypeName",
                        "src": "496:7:34"
                      }
                    ],
                    "id": 10229,
                    "name": "VariableDeclaration",
                    "src": "496:26:34"
                  }
                ],
                "id": 10230,
                "name": "ParameterList",
                "src": "411:117:34"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10253,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 10231,
                        "name": "ElementaryTypeName",
                        "src": "555:7:34"
                      }
                    ],
                    "id": 10232,
                    "name": "VariableDeclaration",
                    "src": "555:7:34"
                  }
                ],
                "id": 10233,
                "name": "ParameterList",
                "src": "554:9:34"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_60603c34fc7fcad44ea4f2d3446f732192552aec325ff3f07c237db0057e448d",
                                  "typeString": "literal_string \"Insufficient value for new keep creation\""
                                }
                              ],
                              "overloadedDeclarations": [
                                18363,
                                18364
                              ],
                              "referencedDeclaration": 18364,
                              "type": "function (bool,string memory) pure",
                              "value": "require"
                            },
                            "id": 10234,
                            "name": "Identifier",
                            "src": "574:7:34"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": ">=",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "value",
                                  "referencedDeclaration": null,
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 18360,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 10235,
                                    "name": "Identifier",
                                    "src": "582:3:34"
                                  }
                                ],
                                "id": 10236,
                                "name": "MemberAccess",
                                "src": "582:9:34"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10219,
                                  "type": "uint256",
                                  "value": "feeEstimate"
                                },
                                "id": 10237,
                                "name": "Identifier",
                                "src": "595:11:34"
                              }
                            ],
                            "id": 10238,
                            "name": "BinaryOperation",
                            "src": "582:24:34"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "496e73756666696369656e742076616c756520666f72206e6577206b656570206372656174696f6e",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "string",
                              "type": "literal_string \"Insufficient value for new keep creation\"",
                              "value": "Insufficient value for new keep creation"
                            },
                            "id": 10239,
                            "name": "Literal",
                            "src": "608:42:34"
                          }
                        ],
                        "id": 10240,
                        "name": "FunctionCall",
                        "src": "574:77:34"
                      }
                    ],
                    "id": 10241,
                    "name": "ExpressionStatement",
                    "src": "574:77:34"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10206,
                              "type": "address",
                              "value": "keepOwner"
                            },
                            "id": 10242,
                            "name": "Identifier",
                            "src": "661:9:34"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10225,
                              "type": "address",
                              "value": "_owner"
                            },
                            "id": 10243,
                            "name": "Identifier",
                            "src": "673:6:34"
                          }
                        ],
                        "id": 10244,
                        "name": "Assignment",
                        "src": "661:18:34"
                      }
                    ],
                    "id": 10245,
                    "name": "ExpressionStatement",
                    "src": "661:18:34"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10213,
                              "type": "uint256",
                              "value": "stakeLockDuration"
                            },
                            "id": 10246,
                            "name": "Identifier",
                            "src": "689:17:34"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10229,
                              "type": "uint256",
                              "value": "_stakeLockDuration"
                            },
                            "id": 10247,
                            "name": "Identifier",
                            "src": "709:18:34"
                          }
                        ],
                        "id": 10248,
                        "name": "Assignment",
                        "src": "689:38:34"
                      }
                    ],
                    "id": 10249,
                    "name": "ExpressionStatement",
                    "src": "689:38:34"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 10233
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 10211,
                          "type": "address",
                          "value": "keepAddress"
                        },
                        "id": 10250,
                        "name": "Identifier",
                        "src": "744:11:34"
                      }
                    ],
                    "id": 10251,
                    "name": "Return",
                    "src": "737:18:34"
                  }
                ],
                "id": 10252,
                "name": "Block",
                "src": "564:198:34"
              }
            ],
            "id": 10253,
            "name": "FunctionDefinition",
            "src": "394:368:34"
          },
          {
            "attributes": {
              "documentation": null,
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setKeepAddress",
              "scope": 10306,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_keepAddress",
                      "scope": 10263,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 10254,
                        "name": "ElementaryTypeName",
                        "src": "792:7:34"
                      }
                    ],
                    "id": 10255,
                    "name": "VariableDeclaration",
                    "src": "792:20:34"
                  }
                ],
                "id": 10256,
                "name": "ParameterList",
                "src": "791:22:34"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10257,
                "name": "ParameterList",
                "src": "823:0:34"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10211,
                              "type": "address",
                              "value": "keepAddress"
                            },
                            "id": 10258,
                            "name": "Identifier",
                            "src": "833:11:34"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10255,
                              "type": "address",
                              "value": "_keepAddress"
                            },
                            "id": 10259,
                            "name": "Identifier",
                            "src": "847:12:34"
                          }
                        ],
                        "id": 10260,
                        "name": "Assignment",
                        "src": "833:26:34"
                      }
                    ],
                    "id": 10261,
                    "name": "ExpressionStatement",
                    "src": "833:26:34"
                  }
                ],
                "id": 10262,
                "name": "Block",
                "src": "823:43:34"
              }
            ],
            "id": 10263,
            "name": "FunctionDefinition",
            "src": "768:98:34"
          },
          {
            "attributes": {
              "documentation": null,
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "openKeepFeeEstimate",
              "scope": 10306,
              "stateMutability": "view",
              "superFunction": 11450,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10264,
                "name": "ParameterList",
                "src": "900:2:34"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10271,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10265,
                        "name": "ElementaryTypeName",
                        "src": "926:7:34"
                      }
                    ],
                    "id": 10266,
                    "name": "VariableDeclaration",
                    "src": "926:7:34"
                  }
                ],
                "id": 10267,
                "name": "ParameterList",
                "src": "925:9:34"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 10267
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 10219,
                          "type": "uint256",
                          "value": "feeEstimate"
                        },
                        "id": 10268,
                        "name": "Identifier",
                        "src": "952:11:34"
                      }
                    ],
                    "id": 10269,
                    "name": "Return",
                    "src": "945:18:34"
                  }
                ],
                "id": 10270,
                "name": "Block",
                "src": "935:35:34"
              }
            ],
            "id": 10271,
            "name": "FunctionDefinition",
            "src": "872:98:34"
          },
          {
            "attributes": {
              "documentation": null,
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setOpenKeepFeeEstimate",
              "scope": 10306,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_fee",
                      "scope": 10281,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10272,
                        "name": "ElementaryTypeName",
                        "src": "1008:7:34"
                      }
                    ],
                    "id": 10273,
                    "name": "VariableDeclaration",
                    "src": "1008:12:34"
                  }
                ],
                "id": 10274,
                "name": "ParameterList",
                "src": "1007:14:34"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10275,
                "name": "ParameterList",
                "src": "1031:0:34"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10219,
                              "type": "uint256",
                              "value": "feeEstimate"
                            },
                            "id": 10276,
                            "name": "Identifier",
                            "src": "1041:11:34"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10273,
                              "type": "uint256",
                              "value": "_fee"
                            },
                            "id": 10277,
                            "name": "Identifier",
                            "src": "1055:4:34"
                          }
                        ],
                        "id": 10278,
                        "name": "Assignment",
                        "src": "1041:18:34"
                      }
                    ],
                    "id": 10279,
                    "name": "ExpressionStatement",
                    "src": "1041:18:34"
                  }
                ],
                "id": 10280,
                "name": "Block",
                "src": "1031:35:34"
              }
            ],
            "id": 10281,
            "name": "FunctionDefinition",
            "src": "976:90:34"
          },
          {
            "attributes": {
              "documentation": null,
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getSortitionPoolWeight",
              "scope": 10306,
              "stateMutability": "view",
              "superFunction": 11457,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10291,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 10282,
                        "name": "ElementaryTypeName",
                        "src": "1113:7:34"
                      }
                    ],
                    "id": 10283,
                    "name": "VariableDeclaration",
                    "src": "1113:7:34"
                  }
                ],
                "id": 10284,
                "name": "ParameterList",
                "src": "1103:23:34"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "poolWeight",
                      "scope": 10291,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10285,
                        "name": "ElementaryTypeName",
                        "src": "1150:7:34"
                      }
                    ],
                    "id": 10286,
                    "name": "VariableDeclaration",
                    "src": "1150:18:34"
                  }
                ],
                "id": 10287,
                "name": "ParameterList",
                "src": "1149:20:34"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 10287
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "313030303030",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "number",
                          "type": "int_const 100000",
                          "value": "100000"
                        },
                        "id": 10288,
                        "name": "Literal",
                        "src": "1187:6:34"
                      }
                    ],
                    "id": 10289,
                    "name": "Return",
                    "src": "1180:13:34"
                  }
                ],
                "id": 10290,
                "name": "Block",
                "src": "1170:30:34"
              }
            ],
            "id": 10291,
            "name": "FunctionDefinition",
            "src": "1072:128:34"
          },
          {
            "attributes": {
              "documentation": null,
              "implemented": true,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setMinimumBondableValue",
              "scope": 10306,
              "stateMutability": "nonpayable",
              "superFunction": 11466,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_minimumBondableValue",
                      "scope": 10305,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10292,
                        "name": "ElementaryTypeName",
                        "src": "1248:7:34"
                      }
                    ],
                    "id": 10293,
                    "name": "VariableDeclaration",
                    "src": "1248:29:34"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10305,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10294,
                        "name": "ElementaryTypeName",
                        "src": "1287:7:34"
                      }
                    ],
                    "id": 10295,
                    "name": "VariableDeclaration",
                    "src": "1287:7:34"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 10305,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 10296,
                        "name": "ElementaryTypeName",
                        "src": "1304:7:34"
                      }
                    ],
                    "id": 10297,
                    "name": "VariableDeclaration",
                    "src": "1304:7:34"
                  }
                ],
                "id": 10298,
                "name": "ParameterList",
                "src": "1238:79:34"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 10299,
                "name": "ParameterList",
                "src": "1325:0:34"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10216,
                              "type": "uint256",
                              "value": "minimumBondableValue"
                            },
                            "id": 10300,
                            "name": "Identifier",
                            "src": "1335:20:34"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10293,
                              "type": "uint256",
                              "value": "_minimumBondableValue"
                            },
                            "id": 10301,
                            "name": "Identifier",
                            "src": "1358:21:34"
                          }
                        ],
                        "id": 10302,
                        "name": "Assignment",
                        "src": "1335:44:34"
                      }
                    ],
                    "id": 10303,
                    "name": "ExpressionStatement",
                    "src": "1335:44:34"
                  }
                ],
                "id": 10304,
                "name": "Block",
                "src": "1325:61:34"
              }
            ],
            "id": 10305,
            "name": "FunctionDefinition",
            "src": "1206:180:34"
          }
        ],
        "id": 10306,
        "name": "ContractDefinition",
        "src": "134:1254:34"
      }
    ],
    "id": 10307,
    "name": "SourceUnit",
    "src": "0:1389:34"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.17+commit.d19bba13.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.3.4",
  "updatedAt": "2021-11-23T11:52:09.356Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}