Registry.vy
Functions
setGovernance
function setGovernance(address)
Starts the 1st phase of the governance transfer.
Throws if the caller is not current governance.
Parameters:
Name | Type | Description |
---|---|---|
* governance * | * * | * The next governance address * |
acceptGovernance
function acceptGovernance()
Completes the 2nd phase of the governance transfer.
Throws if the caller is not the pending caller. Emits a NewGovernance
event.
latestRelease
function latestRelease()
Returns the api version of the latest release.
Throws if no releases are registered yet.
Return Values:
Description |
---|
* The api version of the latest release. * |
latestVault
function latestVault(address)
Returns the latest deployed vault for the given token.
Throws if no vaults are endorsed yet for the given token.
Parameters:
Name | Type | Description |
---|---|---|
* token * | * * | * The token address to find the latest vault for. * |
Return Values:
Description |
---|
* The address of the latest vault for the given token. * |
newRelease
function newRelease(address)
Add a previously deployed Vault as the template contract for the latest release, to be used by further "forwarder-style" delegatecall proxy contracts that can be deployed from the registry throw other methods (to save gas).
Throws if caller isn't self.governance
. Throws if vault
's governance isn't self.governance
. Throws if the api version is the same as the previous release. Emits a NewVault
event.
Parameters:
Name | Type | Description |
---|---|---|
* vault * | * * | * The vault that will be used as the template contract for the next release. * |
newVault
function newVault(address,address,address,string,string)
Create a new vault for the given token using the latest release in the registry, as a simple "forwarder-style" delegatecall proxy to the latest release. Also adds the new vault to the list of "endorsed" vaults for that token.
governance
is set in the new vault as self.governance
, with no ability to override. Throws if caller isn't self.governance
. Throws if no releases are registered yet. Throws if there already is a registered vault for the given token with the latest api version. Emits a NewVault
event.
Parameters:
Name | Type | Description |
---|---|---|
* token * | * * | * The token that may be deposited into the new Vault. * |
* guardian * | * * | * The address authorized for guardian interactions in the new Vault. * |
* rewards * | * * | * The address to use for collecting rewards in the new Vault * |
* name * | * * | * Specify a custom Vault name. Set to empty string for default choice. * |
* symbol * | * * | * Specify a custom Vault symbol name. Set to empty string for default choice. * |
* releaseDelta * | * * | * Specify the number of releases prior to the latest to use as a target. Default is latest. * |
Return Values:
Description |
---|
* The address of the newly-deployed vault * |
newVault
function newVault(address,address,address,string,string,uint256)
governance
is set in the new vault as self.governance
, with no ability to override. Throws if caller isn't self.governance
. Throws if no releases are registered yet. Throws if there already is a registered vault for the given token with the latest api version. Emits a NewVault
event.
Parameters:
Name | Type | Description |
---|---|---|
* token * | * * | * The token that may be deposited into the new Vault. * |
* guardian * | * * | * The address authorized for guardian interactions in the new Vault. * |
* rewards * | * * | * The address to use for collecting rewards in the new Vault * |
* name * | * * | * Specify a custom Vault name. Set to empty string for default choice. * |
* symbol * | * * | * Specify a custom Vault symbol name. Set to empty string for default choice. * |
* releaseDelta * | * * | * Specify the number of releases prior to the latest to use as a target. Default is latest. * |
Return Values:
Description |
---|
* The address of the newly-deployed vault * |
newExperimentalVault
function newExperimentalVault(address,address,address,address,string,string)
Create a new vault for the given token using the latest release in the registry, as a simple "forwarder-style" delegatecall proxy to the latest release. Does not add the new vault to the list of "endorsed" vaults for that token.
Throws if no releases are registered yet. Emits a NewExperimentalVault
event.
Parameters:
Name | Type | Description |
---|---|---|
* token * | * * | * The token that may be deposited into the new Vault. * |
* governance * | * * | * The address authorized for governance interactions in the new Vault. * |
* guardian * | * * | * The address authorized for guardian interactions in the new Vault. * |
* rewards * | * * | * The address to use for collecting rewards in the new Vault * |
* name * | * * | * Specify a custom Vault name. Set to empty string for default choice. * |
* symbol * | * * | * Specify a custom Vault symbol name. Set to empty string for default choice. * |
* releaseDelta * | * * | * Specify the number of releases prior to the latest to use as a target. Default is latest. * |
Return Values:
Description |
---|
* The address of the newly-deployed vault * |
newExperimentalVault
function newExperimentalVault(address,address,address,address,string,string,uint256)
Throws if no releases are registered yet. Emits a NewExperimentalVault
event.
Parameters:
Name | Type | Description |
---|---|---|
* token * | * * | * The token that may be deposited into the new Vault. * |
* governance * | * * | * The address authorized for governance interactions in the new Vault. * |
* guardian * | * * | * The address authorized for guardian interactions in the new Vault. * |
* rewards * | * * | * The address to use for collecting rewards in the new Vault * |
* name * | * * | * Specify a custom Vault name. Set to empty string for default choice. * |
* symbol * | * * | * Specify a custom Vault symbol name. Set to empty string for default choice. * |
* releaseDelta * | * * | * Specify the number of releases prior to the latest to use as a target. Default is latest. * |
Return Values:
Description |
---|
* The address of the newly-deployed vault * |
endorseVault
function endorseVault(address)
Adds an existing vault to the list of "endorsed" vaults for that token.
governance
is set in the new vault as self.governance
, with no ability to override. Throws if caller isn't self.governance
. Throws if vault
's governance isn't self.governance
. Throws if no releases are registered yet. Throws if vault
's api version does not match latest release. Throws if there already is a deployment for the vault's token with the latest api version. Emits a NewVault
event.
Parameters:
Name | Type | Description |
---|---|---|
* vault * | * * | * The vault that will be endorsed by the Registry. * |
* releaseDelta * | * * | * Specify the number of releases prior to the latest to use as a target. Default is latest. * |
endorseVault
function endorseVault(address,uint256)
governance
is set in the new vault as self.governance
, with no ability to override. Throws if caller isn't self.governance
. Throws if vault
's governance isn't self.governance
. Throws if no releases are registered yet. Throws if vault
's api version does not match latest release. Throws if there already is a deployment for the vault's token with the latest api version. Emits a NewVault
event.
Parameters:
Name | Type | Description |
---|---|---|
* vault * | * * | * The vault that will be endorsed by the Registry. * |
* releaseDelta * | * * | * Specify the number of releases prior to the latest to use as a target. Default is latest. * |
setBanksy
function setBanksy(address)
Set the ability of a particular tagger to tag current vaults.
Throws if caller is not self.governance
.
Parameters:
Name | Type | Description |
---|---|---|
* tagger * | * * | * The address to approve or deny access to tagging. * |
* allowed * | * * | * Whether to approve or deny tagger . Defaults to approve. * |
setBanksy
function setBanksy(address,bool)
Throws if caller is not self.governance
.
Parameters:
Name | Type | Description |
---|---|---|
* tagger * | * * | * The address to approve or deny access to tagging. * |
* allowed * | * * | * Whether to approve or deny tagger . Defaults to approve. * |
tagVault
function tagVault(address,string)
Tag a Vault with a message.
Throws if caller is not self.governance
or an approved tagger. Emits a VaultTagged
event.
Parameters:
Name | Type | Description |
---|---|---|
* vault * | * * | * The address to tag with the given tag message. * |
* tag * | * * | * The message to tag vault with. * |
Events
NewRelease
release_id
: uint256, indexedtemplate
: address, notIndexedapi_version
: string, notIndexed
NewVault
token
: address, indexedvault_id
: uint256, indexedvault
: address, notIndexedapi_version
: string, notIndexed
NewExperimentalVault
token
: address, indexeddeployer
: address, indexedvault
: address, notIndexedapi_version
: string, notIndexed
NewGovernance
governance
: address, notIndexed
VaultTagged
vault
: address, notIndexedtag
: string, notIndexed