[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "hubAddress",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "oldHubAddress",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [
      {
        "internalType": "uint72",
        "name": "identityId",
        "type": "uint72"
      },
      {
        "internalType": "address",
        "name": "delegator",
        "type": "address"
      }
    ],
    "name": "DelegatorAlreadyMigrated",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DelegatorsMigrationNotInitiated",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint96",
        "name": "expected",
        "type": "uint96"
      },
      {
        "internalType": "uint96",
        "name": "received",
        "type": "uint96"
      }
    ],
    "name": "InvalidTotalStake",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "msg",
        "type": "string"
      }
    ],
    "name": "UnauthorizedAccess",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ZeroAddressHub",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "askStorage",
    "outputs": [
      {
        "internalType": "contract AskStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint72",
        "name": "",
        "type": "uint72"
      },
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "delegatorMigrated",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "delegatorsMigrationInitiated",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "epochStorageV6",
    "outputs": [
      {
        "internalType": "contract EpochStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "finalizeDelegatorsMigration",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "hub",
    "outputs": [
      {
        "internalType": "contract Hub",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initializeNewContracts",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initializeOldContracts",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initiateDelegatorsMigration",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint72",
        "name": "identityId",
        "type": "uint72"
      },
      {
        "internalType": "address",
        "name": "delegator",
        "type": "address"
      }
    ],
    "name": "migrateDelegatorData",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "migratedNodes",
    "outputs": [
      {
        "internalType": "uint72",
        "name": "",
        "type": "uint72"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "migratedStake",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint72",
        "name": "",
        "type": "uint72"
      }
    ],
    "name": "migratedStakes",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "newIdentityStorage",
    "outputs": [
      {
        "internalType": "contract IdentityStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "newParametersStorage",
    "outputs": [
      {
        "internalType": "contract ParametersStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "newProfileStorage",
    "outputs": [
      {
        "internalType": "contract ProfileStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "newShardingTable",
    "outputs": [
      {
        "internalType": "contract ShardingTable",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "newStakingStorage",
    "outputs": [
      {
        "internalType": "contract StakingStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint72",
        "name": "",
        "type": "uint72"
      }
    ],
    "name": "nodeMigrated",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldHub",
    "outputs": [
      {
        "internalType": "contract IOldHub",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldIdentityStorage",
    "outputs": [
      {
        "internalType": "contract IdentityStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldMigratedOperatorFees",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldNodeOperatorFeesStorage",
    "outputs": [
      {
        "internalType": "contract IOldNodeOperatorFeesStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint72",
        "name": "",
        "type": "uint72"
      }
    ],
    "name": "oldNodeStakes",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldNodesCount",
    "outputs": [
      {
        "internalType": "uint72",
        "name": "",
        "type": "uint72"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldOperatorFees",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldProfileStorage",
    "outputs": [
      {
        "internalType": "contract IOldProfileStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldServiceAgreementStorageV1",
    "outputs": [
      {
        "internalType": "contract IOldServiceAgreementStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldServiceAgreementStorageV1U1",
    "outputs": [
      {
        "internalType": "contract IOldServiceAgreementStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldStakingStorage",
    "outputs": [
      {
        "internalType": "contract IOldStakingStorage",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldStakingStorageBalance",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldTotalStake",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "oldTotalUnpaidRewards",
    "outputs": [
      {
        "internalType": "uint96",
        "name": "",
        "type": "uint96"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint72",
        "name": "",
        "type": "uint72"
      }
    ],
    "name": "operatorMigrated",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "_status",
        "type": "bool"
      }
    ],
    "name": "setStatus",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "status",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "token",
    "outputs": [
      {
        "internalType": "contract Token",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]
