PERI Finance
Search…
Development Resources
AddressResolver

Description

This contract is a type of Service Locator pattern that allows for easier interaction between multiple contracts. Instead of contract A needing references to contracts B and C (and updating every release), contract A can refer to an AddressResolver and query for B and C at transaction time. Then, during a release, the AddressResolver is updated with the latest B and C contract. Thus this ensures that contract A always has the latest B and C contracts.

Variables

repository

Source
The mapping of contract name to address
Type: mapping(bytes32 => address)

Constructor

constructor

Source
Signature
constructor(address _owner)
Visibility
public
State Mutability

Views

areAddressesImported

Signature
areAddressesImported(bytes32[] names, address[] destinations) view returns (bool)
Visibility
external
State Mutability
view

getAddress

Returns a single address by it's bytes32 key.Details

getPynth

Returns Issuer address
Signature
getSynth(bytes32 key) view returns (address)
Visibility
external
State Mutability
view
Requires
  • require(..., "Cannot find Issuer address")

requireAndGetAddress

Signature
requireAndGetAddress(bytes32 name, string reason) view returns (address)
Visibility
external
State Mutability
view
Requires

Restricted Functions

importAddresses

Import one or more addresses into the system for the given keys. Note: this function will overwrite any previous entries with the same key names, allowing for inline updates.
Signature
importAddresses(bytes32[] names, address[] destinations)
Visibility
external
State Mutability
Requires
Modifiers
  • onlyOwner

External Functions

rebuildCaches

Signature
rebuildCaches(contract MixinResolver[] destinations)
Visibility
external
State Mutability

Events

AddressImported

Signature: AddressImported(bytes32 name, address destination)