Last updated
Last updated
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.
Source:
repository
The mapping of contract name to address
Type: mapping(bytes32 => address)
constructor
Signature
constructor(address _owner)
Visibility
public
State Mutability
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
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
rebuildCaches
Signature
rebuildCaches(contract MixinResolver[] destinations)
Visibility
external
State Mutability
AddressImported
Signature: AddressImported(bytes32 name, address destination)