# UpgradeabilityProxy (UpgradeabilityProxy.sol)

View Source: [contracts/proxy/UpgradeabilityProxy.sol](https://github.com/PolymathNetwork/polymath-core/tree/096ba240a927c98e1f1a182d2efee7c4c4c1dfc5/contracts/proxy/UpgradeabilityProxy.sol)

**↗ Extends:** [**Proxy**](https://github.com/PolymathNetwork/polymath-core/tree/096ba240a927c98e1f1a182d2efee7c4c4c1dfc5/docs/api/Proxy.md) **↘ Derived Contracts:** [**OwnedUpgradeabilityProxy**](https://github.com/PolymathNetwork/polymath-core/tree/096ba240a927c98e1f1a182d2efee7c4c4c1dfc5/docs/api/OwnedUpgradeabilityProxy.md)

**UpgradeabilityProxy**

This contract represents a proxy where the implementation address to which it will delegate can be upgraded

## Contract Members

**Constants & Variables**

```javascript
string internal __version;
address internal __implementation;
```

**Events**

```javascript
event Upgraded(string  _newVersion, address indexed _newImplementation);
```

## Functions

* [\_upgradeTo(string \_newVersion, address \_newImplementation)](/polymath/api/upgradeabilityproxy.md#_upgradeto)

### \_upgradeTo

Upgrades the implementation address

```javascript
function _upgradeTo(string _newVersion, address _newImplementation) internal nonpayable
```

**Arguments**

| Name                | Type    | Description                                                       |
| ------------------- | ------- | ----------------------------------------------------------------- |
| \_newVersion        | string  | representing the version name of the new implementation to be set |
| \_newImplementation | address | representing the address of the new implementation to be set      |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.polymath.network/polymath/api/upgradeabilityproxy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
