[
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "protocol_version",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "chain_start_timestamp_ms",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "epoch_duration_ms",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_start_epoch",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_initial_distribution_amount",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_period_length",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_decrease_rate",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "name": "max_validator_count",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "min_validator_joining_stake",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_low_stake_threshold",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_very_low_stake_threshold",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_low_stake_grace_period",
              "position": 11,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::GenesisChainParameters",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "genesis",
          "name": "GenesisChainParameters",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "name",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "description",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "image_url",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "project_url",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "sui_address",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "gas_price",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "commission_rate",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "protocol_public_key",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "proof_of_possession",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "network_public_key",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "worker_public_key",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "network_address",
              "position": 11,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "p2p_address",
              "position": 12,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "primary_address",
              "position": 13,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "worker_address",
              "position": 14,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::GenesisValidatorMetadata",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "genesis",
          "name": "GenesisValidatorMetadata",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "recipient_address",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "amount_mist",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "staked_with_validator",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::TokenAllocation",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "genesis",
          "name": "TokenAllocation",
          "kind": 1
        },
        {
          "abilities": [],
          "typeParameters": [],
          "fields": [
            {
              "name": "stake_subsidy_fund_mist",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "allocations",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::TokenAllocation"
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::TokenDistributionSchedule",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "genesis",
          "name": "TokenDistributionSchedule",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::TokenAllocation"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "allocate_tokens",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::GenesisChainParameters"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::GenesisValidatorMetadata"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::genesis::TokenDistributionSchedule"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "genesis"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "balance",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "distribution_counter",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "current_distribution_amount",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_period_length",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_decrease_rate",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "name": "extra_fields",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "stake_subsidy",
          "name": "StakeSubsidy",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "advance_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            }
          ],
          "name": "create",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "current_epoch_subsidy_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_distribution_counter",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "stake_subsidy"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "pool_id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "value",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "staking_pool",
          "name": "FungibleStakedSui",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "total_supply",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "principal",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSuiData",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "staking_pool",
          "name": "FungibleStakedSuiData",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSuiDataKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "staking_pool",
          "name": "FungibleStakedSuiDataKey",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "sui_amount",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "pool_token_amount",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "staking_pool",
          "name": "PoolTokenExchangeRate",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "pool_id",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "stake_activation_epoch",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "principal",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "staking_pool",
          "name": "StakedSui",
          "kind": 1
        },
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "activation_epoch",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "deactivation_epoch",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "sui_balance",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "rewards_pool",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "pool_token_balance",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "exchange_rates",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "name": "pending_stake",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "pending_total_sui_withdraw",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "pending_pool_token_withdraw",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "extra_fields",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "staking_pool",
          "name": "StakingPool",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::UnderflowSuiBalance",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "staking_pool",
          "name": "UnderflowSuiBalance",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "activate_staking_pool",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "activation_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "calculate_fungible_staked_sui_withdraw_amount",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "calculate_rewards",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "check_balance_invariants",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "name": "convert_to_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "deactivate_staking_pool",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [],
          "name": "deposit_rewards",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "name": "exchange_rates",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "fungible_staked_sui_pool_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "fungible_staked_sui_value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_sui_amount",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_token_amount",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            }
          ],
          "name": "initial_exchange_rate",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_equal_staking_metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_inactive",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_preactive",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_preactive_at_epoch",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "returns": [],
          "name": "join_fungible_staked_sui",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "returns": [],
          "name": "join_staked_sui",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "name": "new",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "pending_stake_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "pending_stake_withdraw_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "pool_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "pool_token_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            }
          ],
          "name": "pool_token_exchange_rate_at_epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [],
          "name": "process_pending_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [],
          "name": "process_pending_stake_withdraw",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "process_pending_stakes_and_withdraws",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "redeem_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "name": "request_add_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "request_withdraw_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "name": "split",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "name": "split_fungible_staked_sui",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "split_staked_sui",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "stake_activation_epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "staked_sui_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "sui_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "sui_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "unwrap_staked_sui",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "withdraw_from_principal",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "withdraw_rewards",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "staking_pool"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "total_object_storage_rebates",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "non_refundable_balance",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::storage_fund::StorageFund",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "storage_fund",
          "name": "StorageFund",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::storage_fund::StorageFund"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "advance_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::storage_fund::StorageFund"
              }
            }
          ],
          "name": "new",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::storage_fund::StorageFund"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "total_balance",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::storage_fund::StorageFund"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "total_object_storage_rebates",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "storage_fund"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::AccumulatorStorageCostKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system",
          "name": "AccumulatorStorageCostKey",
          "kind": 1
        },
        {
          "abilities": [
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system",
          "name": "SuiSystemState",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "active_validator_addresses",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "active_validator_addresses_ref",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "active_validator_stake_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "active_validator_voting_powers",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "advance_epoch",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "calculate_rewards",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "name": "convert_to_fungible_staked_sui",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemParameters"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "create",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_accumulator_storage_fund_amount",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "name": "load_inner_maybe_upgrade",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "name": "load_system_state",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "name": "load_system_state_mut",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "name": "load_system_state_ref",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "name": "pool_exchange_rates",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "redeem_fungible_staked_sui",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "report_validator",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_stake",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_stake_mul_coin",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "name": "request_add_stake_non_entry",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_validator",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_validator_candidate",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_remove_validator",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_remove_validator_candidate",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_set_commission_rate",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "request_set_gas_price",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_withdraw_stake",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "request_withdraw_stake_non_entry",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "rotate_operation_cap",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "set_candidate_validator_commission_rate",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "set_candidate_validator_gas_price",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "store_execution_time_estimates",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "store_execution_time_estimates_v2",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "undo_report_validator",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_network_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_network_pubkey",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_p2p_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_primary_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_protocol_pubkey",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_worker_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_worker_pubkey",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_description",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_image_url",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_name",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_network_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_network_pubkey",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_p2p_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_primary_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_protocol_pubkey",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_worker_address",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_worker_pubkey",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_project_url",
          "visibility": 2,
          "isEntry": true
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "validator_address_by_pool_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "validator_voting_powers",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system::SuiSystemState"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "write_accumulator_storage_cost",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "sui_system"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "chunk_index",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::ExecutionTimeObservationChunkKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system_state_inner",
          "name": "ExecutionTimeObservationChunkKey",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "protocol_version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "system_state_version",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validators",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "name": "storage_fund",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::storage_fund::StorageFund"
              }
            },
            {
              "name": "parameters",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemParameters"
              }
            },
            {
              "name": "reference_gas_price",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_report_records",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "name": "stake_subsidy",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            },
            {
              "name": "safe_mode",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "name": "safe_mode_storage_rewards",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "safe_mode_computation_rewards",
              "position": 11,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "safe_mode_storage_rebates",
              "position": 12,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "safe_mode_non_refundable_storage_fee",
              "position": 13,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "epoch_start_timestamp_ms",
              "position": 14,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "extra_fields",
              "position": 15,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInner",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system_state_inner",
          "name": "SuiSystemStateInner",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "protocol_version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "system_state_version",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validators",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "name": "storage_fund",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::storage_fund::StorageFund"
              }
            },
            {
              "name": "parameters",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemParametersV2"
              }
            },
            {
              "name": "reference_gas_price",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_report_records",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "name": "stake_subsidy",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            },
            {
              "name": "safe_mode",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "name": "safe_mode_storage_rewards",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "safe_mode_computation_rewards",
              "position": 11,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "name": "safe_mode_storage_rebates",
              "position": 12,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "safe_mode_non_refundable_storage_fee",
              "position": 13,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "epoch_start_timestamp_ms",
              "position": 14,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "extra_fields",
              "position": 15,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system_state_inner",
          "name": "SuiSystemStateInnerV2",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "protocol_version",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "reference_gas_price",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "total_stake",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "storage_fund_reinvestment",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "storage_charge",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "storage_rebate",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "storage_fund_balance",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_amount",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "total_gas_fees",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "total_stake_rewards_distributed",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "leftover_storage_fund_inflow",
              "position": 11,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemEpochInfoEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system_state_inner",
          "name": "SystemEpochInfoEvent",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch_duration_ms",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_start_epoch",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "max_validator_count",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "min_validator_joining_stake",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_low_stake_threshold",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_very_low_stake_threshold",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_low_stake_grace_period",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "extra_fields",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemParameters",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system_state_inner",
          "name": "SystemParameters",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch_duration_ms",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake_subsidy_start_epoch",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "min_validator_count",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "max_validator_count",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "min_validator_joining_stake",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_low_stake_threshold",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_very_low_stake_threshold",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_low_stake_grace_period",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "extra_fields",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemParametersV2",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "sui_system_state_inner",
          "name": "SystemParametersV2",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "active_validator_addresses",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "active_validator_voting_powers",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "advance_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "name": "convert_to_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemParameters"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::stake_subsidy::StakeSubsidy"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInner"
              }
            }
          ],
          "name": "create",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SystemParameters"
              }
            }
          ],
          "name": "create_system_parameters",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "epoch_start_timestamp_ms",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "name": "extra_fields",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "name": "extra_fields_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "extract_coin_balance",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "genesis_system_state_version",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
              }
            }
          ],
          "name": "get_reporters_of",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_storage_fund_object_rebates",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_storage_fund_total_balance",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "name": "pool_exchange_rates",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "protocol_version",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "redeem_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "report_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [],
          "name": "report_validator_impl",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "name": "request_add_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 10,
                        "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "name": "request_add_stake_mul_coin",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_validator_candidate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_remove_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_remove_validator_candidate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_set_commission_rate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "request_set_gas_price",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "request_withdraw_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "rotate_operation_cap",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "set_candidate_validator_commission_rate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "set_candidate_validator_gas_price",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "store_execution_time_estimates",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "store_execution_time_estimates_v2",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "system_state_version",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "undo_report_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [],
          "name": "undo_report_validator_impl",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_network_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_network_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_p2p_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_primary_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_protocol_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_worker_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_validator_worker_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_description",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_image_url",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_name",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_network_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_network_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_p2p_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_primary_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_protocol_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_worker_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_next_epoch_worker_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "update_validator_project_url",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInner"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "name": "v1_to_v2",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "validator_address_by_pool_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "validator_stake_amount",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "validator_staking_pool_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "name": "validator_staking_pool_mappings",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "name": "validators",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::sui_system_state_inner::SuiSystemStateInnerV2"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "name": "validators_mut",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "sui_system_state_inner"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pool_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "stake_activation_epoch",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "staked_sui_principal_amount",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "fungible_staked_sui_amount",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::ConvertingToFungibleStakedSuiEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator",
          "name": "ConvertingToFungibleStakedSuiEvent",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pool_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "fungible_staked_sui_amount",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "sui_amount",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::RedeemingFungibleStakedSuiEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator",
          "name": "RedeemingFungibleStakedSuiEvent",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pool_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "validator_address",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "staker_address",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "epoch",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "amount",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::StakingRequestEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator",
          "name": "StakingRequestEvent",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pool_id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "validator_address",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "staker_address",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "stake_activation_epoch",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "unstaking_epoch",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "principal_amount",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "reward_amount",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::UnstakingRequestEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator",
          "name": "UnstakingRequestEvent",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "metadata",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::ValidatorMetadata"
              }
            },
            {
              "name": "voting_power",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "operation_cap_id",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "gas_price",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "staking_pool",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            },
            {
              "name": "commission_rate",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "next_epoch_stake",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "next_epoch_gas_price",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "next_epoch_commission_rate",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "extra_fields",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator",
          "name": "Validator",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "sui_address",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "protocol_pubkey_bytes",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "network_pubkey_bytes",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "worker_pubkey_bytes",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "proof_of_possession",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "name",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "description",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "image_url",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            },
            {
              "name": "project_url",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            },
            {
              "name": "net_address",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "p2p_address",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "primary_address",
              "position": 11,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "worker_address",
              "position": 12,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "name": "next_epoch_protocol_pubkey_bytes",
              "position": 13,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next_epoch_proof_of_possession",
              "position": 14,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next_epoch_network_pubkey_bytes",
              "position": 15,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next_epoch_worker_pubkey_bytes",
              "position": 16,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next_epoch_net_address",
              "position": 17,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next_epoch_p2p_address",
              "position": 18,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next_epoch_primary_address",
              "position": 19,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "next_epoch_worker_address",
              "position": 20,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "name": "extra_fields",
              "position": 21,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::ValidatorMetadata",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator",
          "name": "ValidatorMetadata",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "activate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [],
          "name": "adjust_stake_and_gas_price",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "commission_rate",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "name": "convert_to_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "deactivate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "returns": [],
          "name": "deposit_stake_rewards",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "description",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [],
          "name": "effectuate_staged_metadata",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "gas_price",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakingPool"
              }
            }
          ],
          "name": "get_staking_pool_ref",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            }
          ],
          "name": "image_url",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_duplicate",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_preactive",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::ValidatorMetadata"
              }
            }
          ],
          "name": "metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "name",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "network_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "network_pubkey_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "new",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::ValidatorMetadata"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "new_from_metadata",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::ValidatorMetadata"
              }
            }
          ],
          "name": "new_metadata",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "new_unverified_validator_operation_cap_and_transfer",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "next_epoch_gas_price",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_network_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_network_pubkey_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_p2p_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_primary_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_proof_of_possession",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_protocol_pubkey_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_worker_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 3
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "next_epoch_worker_pubkey_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "operation_cap_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "p2p_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "pending_stake_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "pending_stake_withdraw_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            }
          ],
          "name": "pool_token_exchange_rate_at_epoch",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "primary_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "process_pending_stakes_and_withdraws",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::url::Url"
              }
            }
          ],
          "name": "project_url",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "proof_of_possession",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "protocol_pubkey_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "redeem_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "name": "request_add_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_stake_at_genesis",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "request_set_commission_rate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "request_set_gas_price",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "request_withdraw_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "set_candidate_commission_rate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "set_candidate_gas_price",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "set_voting_power",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "stake_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "staking_pool_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "sui_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "total_stake",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "total_stake_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_network_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_network_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_p2p_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_primary_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_protocol_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_worker_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_candidate_worker_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_description",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_image_url",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_name",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_next_epoch_network_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_next_epoch_network_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_next_epoch_p2p_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_next_epoch_primary_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_next_epoch_protocol_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_next_epoch_worker_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_next_epoch_worker_pubkey",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_project_url",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::ValidatorMetadata"
              }
            }
          ],
          "returns": [],
          "name": "validate_metadata",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "validate_metadata_bcs",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "voting_power",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "worker_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "worker_pubkey_bytes",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "validator"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3,
            4
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "id",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID"
              }
            },
            {
              "name": "authorizer_validator_address",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_cap",
          "name": "UnverifiedValidatorOperationCap",
          "kind": 1
        },
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "authorizer_validator_address",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_cap",
          "name": "ValidatorOperationCap",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap"
              }
            }
          ],
          "name": "into_verified",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "new_unverified_validator_operation_cap_and_transfer",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "unverified_operation_cap_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "verified_operation_cap_address",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "validator_cap"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_address",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "reference_gas_survey_quote",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "commission_rate",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "pool_staking_reward",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "storage_fund_staking_reward",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "pool_token_exchange_rate",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            },
            {
              "name": "tallying_rule_reporters",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "tallying_rule_global_score",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorEpochInfoEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_set",
          "name": "ValidatorEpochInfoEvent",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_address",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "reference_gas_survey_quote",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "voting_power",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "commission_rate",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "pool_staking_reward",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "storage_fund_staking_reward",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "pool_token_exchange_rate",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
              }
            },
            {
              "name": "tallying_rule_reporters",
              "position": 9,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "tallying_rule_global_score",
              "position": 10,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorEpochInfoEventV2",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_set",
          "name": "ValidatorEpochInfoEventV2",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_address",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "staking_pool_id",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorJoinEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_set",
          "name": "ValidatorJoinEvent",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "epoch",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "validator_address",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "name": "staking_pool_id",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            },
            {
              "name": "is_voluntary",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorLeaveEvent",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_set",
          "name": "ValidatorLeaveEvent",
          "kind": 1
        },
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "total_stake",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "active_validators",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "pending_active_validators",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            },
            {
              "name": "pending_removals",
              "position": 3,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "name": "staking_pool_mappings",
              "position": 4,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "name": "inactive_validators",
              "position": 5,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "name": "validator_candidates",
              "position": 6,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            },
            {
              "name": "at_risk_validators",
              "position": 7,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "name": "extra_fields",
              "position": 8,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::bag::Bag"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_set",
          "name": "ValidatorSet",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::VotingPowerAdmissionStartEpochKey",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_set",
          "name": "VotingPowerAdmissionStartEpochKey",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "active_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "active_validator_addresses",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "active_validator_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "active_validators",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "advance_epoch",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "any_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "any_validator_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [],
          "name": "assert_no_pending_or_active_duplicates",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "calculate_total_stakes",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "can_join",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "candidate_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "candidate_validator_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [],
          "name": "clean_report_records_leaving_validator",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "compute_adjusted_reward_distribution",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "name": "compute_reward_adjustments",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "compute_slashed_validators",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "compute_unadjusted_reward_distribution",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            }
          ],
          "name": "convert_to_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "derive_reference_gas_price",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "distribute_reward",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "emit_validator_epoch_events",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "find_validator",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table_vec::TableVec"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "find_validator_from_table_vec",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "get_active_or_pending_or_candidate_validator_ref",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "get_active_validator_ref",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "get_candidate_or_active_validator_mut",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "get_pending_validator_ref",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "get_validator_indices",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "get_validator_ref",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_voting_power_thresholds",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_active_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_active_validator_by_sui_address",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_at_risk_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_duplicate_with_active_validator",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_duplicate_with_pending_validator",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_inactive_validator",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_validator_candidate",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "name": "new",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "next_epoch_validator_count",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "pending_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "pending_validator_mut",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::PoolTokenExchangeRate"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "name": "pool_exchange_rates",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "process_pending_removals",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "process_validator_departure",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::FungibleStakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "redeem_fungible_staked_sui",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            }
          ],
          "name": "request_add_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_add_validator_candidate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_remove_validator",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [],
          "name": "request_remove_validator_candidate",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedSui"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance"
              }
            }
          ],
          "name": "request_withdraw_stake",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
                  },
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::table::Table"
              }
            }
          ],
          "name": "staking_pool_mappings",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "sum_voting_power_by_addresses",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "total_stake",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 1
                  },
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 1
                      }
                    ],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_set::VecSet"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::vec_map::VecMap"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "update_validator_positions_and_calculate_total_stake",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "validator_address_by_pool_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "validator_by_pool_id",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "validator_stake_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::object::ID"
              }
            }
          ],
          "name": "validator_staking_pool_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "validator_total_stake_amount",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "validator_voting_power",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_set::ValidatorSet"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::ValidatorOperationCap"
              }
            }
          ],
          "name": "verify_cap",
          "visibility": 3,
          "isEntry": false
        }
      ],
      "name": "validator_set"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "inner",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::versioned::Versioned"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "validator_wrapper",
          "name": "ValidatorWrapper",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            },
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000002::tx_context::TxContext"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper"
              }
            }
          ],
          "name": "create_v1",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "destroy",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
              }
            }
          ],
          "name": "load_validator_maybe_upgrade",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper"
              }
            }
          ],
          "returns": [],
          "name": "upgrade_to_latest",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_wrapper::ValidatorWrapper"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "version",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "validator_wrapper"
    }
  },
  {
    "address": "0x3",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "validator_index",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "voting_power",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::voting_power::VotingPowerInfo",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "voting_power",
          "name": "VotingPowerInfo",
          "kind": 1
        },
        {
          "abilities": [
            2
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "validator_index",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "voting_power",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "stake",
              "position": 2,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::voting_power::VotingPowerInfoV2",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000003",
          "module": "voting_power",
          "name": "VotingPowerInfoV2",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::voting_power::VotingPowerInfoV2"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "adjust_voting_power",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "check_invariants",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "derive_raw_voting_power",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::voting_power::VotingPowerInfoV2"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "init_voting_power_info",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::voting_power::VotingPowerInfoV2"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::voting_power::VotingPowerInfoV2"
              }
            }
          ],
          "returns": [],
          "name": "insert",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "quorum_threshold",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "set_voting_power",
          "visibility": 3,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "total_voting_power",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::validator::Validator"
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000003::voting_power::VotingPowerInfoV2"
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "update_voting_power",
          "visibility": 1,
          "isEntry": false
        }
      ],
      "name": "voting_power"
    }
  }
]