@perifinance/peri-finance
Version:
The smart contracts which make up the Peri Finance system. (pynths.com)
1,611 lines • 1.02 MB
JSON
{
"contracts/AddressResolver.sol": {
"imports": [
"./Owned.sol",
"./interfaces/IAddressResolver.sol",
"./interfaces/IIssuer.sol",
"./MixinResolver.sol"
],
"contracts": {
"AddressResolver": {
"functions": [
{
"name": "constructor",
"signature": "constructor(address _owner)",
"returns": "()",
"modifiers": [],
"visibility": "public",
"lineNumber": 15,
"requires": [],
"events": []
},
{
"name": "importAddresses",
"signature": "importAddresses(bytes32[] names, address[] destinations)",
"returns": "()",
"modifiers": [
"onlyOwner"
],
"visibility": "external",
"lineNumber": 19,
"requires": [
{
"name": "require(..., \"Input lengths must match\")",
"lineNumber": 20
}
],
"events": []
},
{
"name": "rebuildCaches",
"signature": "rebuildCaches(contract MixinResolver[] destinations)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 32,
"requires": [],
"events": []
},
{
"name": "areAddressesImported",
"signature": "areAddressesImported(bytes32[] names, address[] destinations) view",
"returns": "(bool)",
"modifiers": [],
"visibility": "external",
"lineNumber": 40,
"requires": [],
"events": []
},
{
"name": "getAddress",
"signature": "getAddress(bytes32 name) view",
"returns": "(address)",
"modifiers": [],
"visibility": "external",
"lineNumber": 49,
"requires": [],
"events": []
},
{
"name": "requireAndGetAddress",
"signature": "requireAndGetAddress(bytes32 name, string reason) view",
"returns": "(address)",
"modifiers": [],
"visibility": "external",
"lineNumber": 53,
"requires": [
{
"name": "require(..., \"string calldata\")",
"lineNumber": 55
}
],
"events": []
},
{
"name": "getPynth",
"signature": "getPynth(bytes32 key) view",
"returns": "(address)",
"modifiers": [],
"visibility": "external",
"lineNumber": 59,
"requires": [
{
"name": "require(..., \"Cannot find Issuer address\")",
"lineNumber": 61
}
],
"events": []
}
],
"events": [
{
"name": "AddressImported",
"parameters": "(bytes32 name, address destination)",
"lineNumber": 67
}
],
"variables": [
{
"name": "repository",
"type": "mapping(bytes32 => address)",
"visibility": "public",
"lineNumber": 13
}
],
"modifiers": [],
"structs": [],
"inherits": [
"Owned",
"IAddressResolver"
]
}
},
"libraries": {},
"interfaces": {}
},
"contracts/AddressSetLib.sol": {
"imports": [],
"contracts": {},
"libraries": {
"AddressSetLib": {
"functions": [
{
"name": "contains",
"signature": "contains(struct AddressSetLib.AddressSet set, address candidate) view",
"returns": "(bool)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 10,
"requires": [],
"events": []
},
{
"name": "getPage",
"signature": "getPage(struct AddressSetLib.AddressSet set, uint256 index, uint256 pageSize) view",
"returns": "(address[])",
"modifiers": [],
"visibility": "internal",
"lineNumber": 18,
"requires": [],
"events": []
},
{
"name": "add",
"signature": "add(struct AddressSetLib.AddressSet set, address element)",
"returns": "()",
"modifiers": [],
"visibility": "internal",
"lineNumber": 42,
"requires": [],
"events": []
},
{
"name": "remove",
"signature": "remove(struct AddressSetLib.AddressSet set, address element)",
"returns": "()",
"modifiers": [],
"visibility": "internal",
"lineNumber": 50,
"requires": [
{
"name": "require(..., \"Element not in set.\")",
"lineNumber": 51
}
],
"events": []
}
],
"events": [],
"variables": [],
"modifiers": [],
"structs": [
{
"name": "AddressSet",
"members": [
{
"name": "elements",
"type": "address[]"
},
{
"name": "indices",
"type": "mapping(address => uint256)"
}
],
"lineNumber": 5
}
],
"inherits": []
}
},
"interfaces": {}
},
"contracts/BaseDebtCache.sol": {
"imports": [
"./Owned.sol",
"./MixinResolver.sol",
"./MixinSystemSettings.sol",
"./interfaces/IDebtCache.sol",
"./SafeDecimalMath.sol",
"./interfaces/IIssuer.sol",
"./interfaces/IExchanger.sol",
"./interfaces/IExchangeRates.sol",
"./interfaces/ISystemStatus.sol",
"./interfaces/IEtherCollateral.sol",
"./interfaces/IEtherCollateralpUSD.sol",
"./interfaces/IERC20.sol",
"./interfaces/ICollateralManager.sol"
],
"contracts": {
"BaseDebtCache": {
"functions": [
{
"name": "constructor",
"signature": "constructor(address _owner, address _resolver)",
"returns": "()",
"modifiers": [],
"visibility": "public",
"lineNumber": 47,
"requires": [],
"events": []
},
{
"name": "resolverAddressesRequired",
"signature": "resolverAddressesRequired() view",
"returns": "(bytes32[] addresses)",
"modifiers": [],
"visibility": "public",
"lineNumber": 51,
"requires": [],
"events": []
},
{
"name": "issuer",
"signature": "issuer() view",
"returns": "(contract IIssuer)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 64,
"requires": [],
"events": []
},
{
"name": "exchanger",
"signature": "exchanger() view",
"returns": "(contract IExchanger)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 68,
"requires": [],
"events": []
},
{
"name": "exchangeRates",
"signature": "exchangeRates() view",
"returns": "(contract IExchangeRates)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 72,
"requires": [],
"events": []
},
{
"name": "systemStatus",
"signature": "systemStatus() view",
"returns": "(contract ISystemStatus)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 76,
"requires": [],
"events": []
},
{
"name": "etherCollateral",
"signature": "etherCollateral() view",
"returns": "(contract IEtherCollateral)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 80,
"requires": [],
"events": []
},
{
"name": "etherCollateralpUSD",
"signature": "etherCollateralpUSD() view",
"returns": "(contract IEtherCollateralpUSD)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 84,
"requires": [],
"events": []
},
{
"name": "collateralManager",
"signature": "collateralManager() view",
"returns": "(contract ICollateralManager)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 88,
"requires": [],
"events": []
},
{
"name": "debtSnapshotStaleTime",
"signature": "debtSnapshotStaleTime() view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 92,
"requires": [],
"events": []
},
{
"name": "cachedDebt",
"signature": "cachedDebt() view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 96,
"requires": [],
"events": []
},
{
"name": "cachedPynthDebt",
"signature": "cachedPynthDebt(bytes32 currencyKey) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 100,
"requires": [],
"events": []
},
{
"name": "cacheTimestamp",
"signature": "cacheTimestamp() view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 104,
"requires": [],
"events": []
},
{
"name": "cacheInvalid",
"signature": "cacheInvalid() view",
"returns": "(bool)",
"modifiers": [],
"visibility": "external",
"lineNumber": 108,
"requires": [],
"events": []
},
{
"name": "_cacheStale",
"signature": "_cacheStale(uint256 timestamp) view",
"returns": "(bool)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 112,
"requires": [],
"events": []
},
{
"name": "cacheStale",
"signature": "cacheStale() view",
"returns": "(bool)",
"modifiers": [],
"visibility": "external",
"lineNumber": 119,
"requires": [],
"events": []
},
{
"name": "_issuedPynthValues",
"signature": "_issuedPynthValues(bytes32[] currencyKeys, uint256[] rates) view",
"returns": "(uint256[])",
"modifiers": [],
"visibility": "internal",
"lineNumber": 123,
"requires": [],
"events": []
},
{
"name": "_currentPynthDebts",
"signature": "_currentPynthDebts(bytes32[] currencyKeys) view",
"returns": "(uint256[] periIssuedDebts, bool anyRateIsInvalid)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 163,
"requires": [],
"events": []
},
{
"name": "currentPynthDebts",
"signature": "currentPynthDebts(bytes32[] currencyKeys) view",
"returns": "(uint256[] debtValues, bool anyRateIsInvalid)",
"modifiers": [],
"visibility": "external",
"lineNumber": 172,
"requires": [],
"events": []
},
{
"name": "_cachedPynthDebts",
"signature": "_cachedPynthDebts(bytes32[] currencyKeys) view",
"returns": "(uint256[])",
"modifiers": [],
"visibility": "internal",
"lineNumber": 180,
"requires": [],
"events": []
},
{
"name": "cachedPynthDebts",
"signature": "cachedPynthDebts(bytes32[] currencyKeys) view",
"returns": "(uint256[] periIssuedDebts)",
"modifiers": [],
"visibility": "external",
"lineNumber": 189,
"requires": [],
"events": []
},
{
"name": "_currentDebt",
"signature": "_currentDebt() view",
"returns": "(uint256 debt, bool anyRateIsInvalid)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 193,
"requires": [],
"events": []
},
{
"name": "currentDebt",
"signature": "currentDebt() view",
"returns": "(uint256 debt, bool anyRateIsInvalid)",
"modifiers": [],
"visibility": "external",
"lineNumber": 211,
"requires": [],
"events": []
},
{
"name": "cacheInfo",
"signature": "cacheInfo() view",
"returns": "(uint256 debt, uint256 timestamp, bool isInvalid, bool isStale)",
"modifiers": [],
"visibility": "external",
"lineNumber": 215,
"requires": [],
"events": []
},
{
"name": "updateCachedPynthDebts",
"signature": "updateCachedPynthDebts(bytes32[] currencyKeys)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 234,
"requires": [],
"events": []
},
{
"name": "updateCachedPynthDebtWithRate",
"signature": "updateCachedPynthDebtWithRate(bytes32 currencyKey, uint256 currencyRate)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 236,
"requires": [],
"events": []
},
{
"name": "updateCachedPynthDebtsWithRates",
"signature": "updateCachedPynthDebtsWithRates(bytes32[] currencyKeys, uint256[] currencyRates)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 238,
"requires": [],
"events": []
},
{
"name": "updateDebtCacheValidity",
"signature": "updateDebtCacheValidity(bool currentlyInvalid)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 240,
"requires": [],
"events": []
},
{
"name": "purgeCachedPynthDebt",
"signature": "purgeCachedPynthDebt(bytes32 currencyKey)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 242,
"requires": [],
"events": []
},
{
"name": "takeDebtSnapshot",
"signature": "takeDebtSnapshot()",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 244,
"requires": [],
"events": []
},
{
"name": "_requireSystemActiveIfNotOwner",
"signature": "_requireSystemActiveIfNotOwner() view",
"returns": "()",
"modifiers": [],
"visibility": "internal",
"lineNumber": 248,
"requires": [],
"events": []
},
{
"name": "_onlyIssuerOrExchangerorPynthpUSD",
"signature": "_onlyIssuerOrExchangerorPynthpUSD() view",
"returns": "()",
"modifiers": [],
"visibility": "internal",
"lineNumber": 259,
"requires": [
{
"name": "require(..., \"Sender is not Issuer or Exchanger or pynthpUSD\")",
"lineNumber": 261
}
],
"events": []
}
],
"events": [],
"variables": [
{
"name": "_cachedDebt",
"type": "uint256",
"visibility": "internal",
"lineNumber": 27
},
{
"name": "_cachedPynthDebt",
"type": "mapping(bytes32 => uint256)",
"visibility": "internal",
"lineNumber": 28
},
{
"name": "_cacheTimestamp",
"type": "uint256",
"visibility": "internal",
"lineNumber": 29
},
{
"name": "_cacheInvalid",
"type": "bool",
"visibility": "internal",
"lineNumber": 30
},
{
"name": "pUSD",
"type": "bytes32",
"visibility": "internal",
"lineNumber": 34
},
{
"name": "pETH",
"type": "bytes32",
"visibility": "internal",
"lineNumber": 35
},
{
"name": "CONTRACT_ISSUER",
"type": "bytes32",
"visibility": "private",
"lineNumber": 39
},
{
"name": "CONTRACT_EXCHANGER",
"type": "bytes32",
"visibility": "private",
"lineNumber": 40
},
{
"name": "CONTRACT_EXRATES",
"type": "bytes32",
"visibility": "private",
"lineNumber": 41
},
{
"name": "CONTRACT_SYSTEMSTATUS",
"type": "bytes32",
"visibility": "private",
"lineNumber": 42
},
{
"name": "CONTRACT_ETHERCOLLATERAL",
"type": "bytes32",
"visibility": "private",
"lineNumber": 43
},
{
"name": "CONTRACT_ETHERCOLLATERAL_PUSD",
"type": "bytes32",
"visibility": "private",
"lineNumber": 44
},
{
"name": "CONTRACT_COLLATERALMANAGER",
"type": "bytes32",
"visibility": "private",
"lineNumber": 45
}
],
"modifiers": [
{
"name": "requireSystemActiveIfNotOwner",
"signature": "requireSystemActiveIfNotOwner()",
"visibility": "internal",
"parameters": "()",
"lineNumber": 254
},
{
"name": "onlyIssuerOrExchangerOrPynthpUSD",
"signature": "onlyIssuerOrExchangerOrPynthpUSD()",
"visibility": "internal",
"parameters": "()",
"lineNumber": 267
}
],
"structs": [],
"inherits": [
"Owned",
"MixinSystemSettings",
"IDebtCache"
]
}
},
"libraries": {},
"interfaces": {}
},
"contracts/BasePeriFinance.sol": {
"imports": [
"./interfaces/IERC20.sol",
"./ExternStateToken.sol",
"./MixinResolver.sol",
"./interfaces/IPeriFinance.sol",
"./SafeDecimalMath.sol",
"./interfaces/IPynth.sol",
"./TokenState.sol",
"./interfaces/IPeriFinanceState.sol",
"./interfaces/ISystemStatus.sol",
"./interfaces/IExchanger.sol",
"./interfaces/IIssuer.sol",
"./interfaces/IRewardsDistribution.sol",
"./interfaces/ISystemSettings.sol",
"./interfaces/IVirtualPynth.sol"
],
"contracts": {
"BasePeriFinance": {
"functions": [
{
"name": "constructor",
"signature": "constructor(address payable _proxy, contract TokenState _tokenState, address _owner, uint256 _totalSupply, address _resolver, address _blacklistManager)",
"returns": "()",
"modifiers": [],
"visibility": "public",
"lineNumber": 51,
"requires": [],
"events": []
},
{
"name": "resolverAddressesRequired",
"signature": "resolverAddressesRequired() view",
"returns": "(bytes32[] addresses)",
"modifiers": [],
"visibility": "public",
"lineNumber": 69,
"requires": [],
"events": []
},
{
"name": "periFinanceState",
"signature": "periFinanceState() view",
"returns": "(contract IPeriFinanceState)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 79,
"requires": [],
"events": []
},
{
"name": "systemStatus",
"signature": "systemStatus() view",
"returns": "(contract ISystemStatus)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 83,
"requires": [],
"events": []
},
{
"name": "exchanger",
"signature": "exchanger() view",
"returns": "(contract IExchanger)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 87,
"requires": [],
"events": []
},
{
"name": "issuer",
"signature": "issuer() view",
"returns": "(contract IIssuer)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 91,
"requires": [],
"events": []
},
{
"name": "rewardsDistribution",
"signature": "rewardsDistribution() view",
"returns": "(contract IRewardsDistribution)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 95,
"requires": [],
"events": []
},
{
"name": "systemSettings",
"signature": "systemSettings() view",
"returns": "(contract ISystemSettings)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 99,
"requires": [],
"events": []
},
{
"name": "getRequiredAddress",
"signature": "getRequiredAddress(bytes32 _contractName) view",
"returns": "(address)",
"modifiers": [],
"visibility": "external",
"lineNumber": 103,
"requires": [],
"events": []
},
{
"name": "debtBalanceOf",
"signature": "debtBalanceOf(address account, bytes32 currencyKey) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 107,
"requires": [],
"events": []
},
{
"name": "totalIssuedPynths",
"signature": "totalIssuedPynths(bytes32 currencyKey) view",
"returns": "(uint256 totalIssued)",
"modifiers": [],
"visibility": "external",
"lineNumber": 111,
"requires": [],
"events": []
},
{
"name": "totalIssuedPynthsExcludeEtherCollateral",
"signature": "totalIssuedPynthsExcludeEtherCollateral(bytes32 currencyKey) view",
"returns": "(uint256 totalIssued)",
"modifiers": [],
"visibility": "external",
"lineNumber": 115,
"requires": [],
"events": []
},
{
"name": "isWaitingPeriod",
"signature": "isWaitingPeriod(bytes32 currencyKey) view",
"returns": "(bool)",
"modifiers": [],
"visibility": "external",
"lineNumber": 139,
"requires": [],
"events": []
},
{
"name": "maxIssuablePynths",
"signature": "maxIssuablePynths(address account) view",
"returns": "(uint256 maxIssuable)",
"modifiers": [],
"visibility": "external",
"lineNumber": 147,
"requires": [],
"events": []
},
{
"name": "remainingIssuablePynths",
"signature": "remainingIssuablePynths(address account) view",
"returns": "(uint256 maxIssuable, uint256 alreadyIssued, uint256 totalSystemDebt)",
"modifiers": [],
"visibility": "external",
"lineNumber": 151,
"requires": [],
"events": []
},
{
"name": "collateralisationRatio",
"signature": "collateralisationRatio(address _issuer) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 163,
"requires": [],
"events": []
},
{
"name": "collateral",
"signature": "collateral(address account) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 167,
"requires": [],
"events": []
},
{
"name": "transferablePeriFinance",
"signature": "transferablePeriFinance(address account) view",
"returns": "(uint256 transferable)",
"modifiers": [],
"visibility": "external",
"lineNumber": 171,
"requires": [],
"events": []
},
{
"name": "amountsToFitClaimable",
"signature": "amountsToFitClaimable(address account) view",
"returns": "(uint256 burnAmount, uint256 exTokenAmountToUnstake)",
"modifiers": [],
"visibility": "external",
"lineNumber": 175,
"requires": [],
"events": []
},
{
"name": "_canTransfer",
"signature": "_canTransfer(address account, uint256 value) view",
"returns": "(bool)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 179,
"requires": [],
"events": []
},
{
"name": "setBlacklistManager",
"signature": "setBlacklistManager(address _blacklistManager)",
"returns": "()",
"modifiers": [
"onlyOwner"
],
"visibility": "external",
"lineNumber": 193,
"requires": [
{
"name": "require(..., \"0 address\")",
"lineNumber": 194
}
],
"events": []
},
{
"name": "exchange",
"signature": "exchange(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey)",
"returns": "(uint256 amountReceived)",
"modifiers": [
"exchangeActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 199,
"requires": [],
"events": []
},
{
"name": "exchangeOnBehalf",
"signature": "exchangeOnBehalf(address exchangeForAddress, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey)",
"returns": "(uint256 amountReceived)",
"modifiers": [
"exchangeActive",
"optionalProxy",
"blacklisted",
"blacklisted"
],
"visibility": "external",
"lineNumber": 213,
"requires": [],
"events": []
},
{
"name": "settle",
"signature": "settle(bytes32 currencyKey)",
"returns": "(uint256 reclaimed, uint256 refunded, uint256 numEntriesSettled)",
"modifiers": [
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 236,
"requires": [],
"events": []
},
{
"name": "exchangeWithTracking",
"signature": "exchangeWithTracking(bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address originator, bytes32 trackingCode)",
"returns": "(uint256 amountReceived)",
"modifiers": [
"exchangeActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 249,
"requires": [],
"events": []
},
{
"name": "exchangeOnBehalfWithTracking",
"signature": "exchangeOnBehalfWithTracking(address exchangeForAddress, bytes32 sourceCurrencyKey, uint256 sourceAmount, bytes32 destinationCurrencyKey, address originator, bytes32 trackingCode)",
"returns": "(uint256 amountReceived)",
"modifiers": [
"exchangeActive",
"optionalProxy",
"blacklisted",
"blacklisted"
],
"visibility": "external",
"lineNumber": 274,
"requires": [],
"events": []
},
{
"name": "transfer",
"signature": "transfer(address to, uint256 value)",
"returns": "(bool)",
"modifiers": [
"optionalProxy",
"systemActive",
"blacklisted"
],
"visibility": "external",
"lineNumber": 301,
"requires": [],
"events": []
},
{
"name": "transferFrom",
"signature": "transferFrom(address from, address to, uint256 value)",
"returns": "(bool)",
"modifiers": [
"optionalProxy",
"systemActive",
"blacklisted",
"blacklisted"
],
"visibility": "external",
"lineNumber": 311,
"requires": [],
"events": []
},
{
"name": "issuePynths",
"signature": "issuePynths(bytes32 _currencyKey, uint256 _issueAmount)",
"returns": "()",
"modifiers": [
"issuanceActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 324,
"requires": [],
"events": []
},
{
"name": "issueMaxPynths",
"signature": "issueMaxPynths()",
"returns": "()",
"modifiers": [
"issuanceActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 333,
"requires": [],
"events": []
},
{
"name": "issuePynthsToMaxQuota",
"signature": "issuePynthsToMaxQuota(bytes32 _currencyKey)",
"returns": "()",
"modifiers": [
"issuanceActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 337,
"requires": [],
"events": []
},
{
"name": "burnPynths",
"signature": "burnPynths(bytes32 _currencyKey, uint256 _burnAmount)",
"returns": "()",
"modifiers": [
"issuanceActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 341,
"requires": [],
"events": []
},
{
"name": "fitToClaimable",
"signature": "fitToClaimable() payable",
"returns": "()",
"modifiers": [
"issuanceActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 350,
"requires": [],
"events": []
},
{
"name": "forceFitToClaimable",
"signature": "forceFitToClaimable(address _target) payable",
"returns": "()",
"modifiers": [
"onlyOwner"
],
"visibility": "external",
"lineNumber": 354,
"requires": [],
"events": []
},
{
"name": "exit",
"signature": "exit()",
"returns": "()",
"modifiers": [
"issuanceActive",
"optionalProxy",
"blacklisted"
],
"visibility": "external",
"lineNumber": 358,
"requires": [],
"events": []
},
{
"name": "exchangeWithVirtual",
"signature": "exchangeWithVirtual(bytes32, uint256, bytes32, bytes32)",
"returns": "(uint256, contract IVirtualPynth)",
"modifiers": [],
"visibility": "external",
"lineNumber": 362,
"requires": [],
"events": []
},
{
"name": "liquidateDelinquentAccount",
"signature": "liquidateDelinquentAccount(address, uint256)",
"returns": "(bool)",
"modifiers": [],
"visibility": "external",
"lineNumber": 371,
"requires": [],
"events": []
},
{
"name": "mintSecondary",
"signature": "mintSecondary(address, uint256)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 375,
"requires": [],
"events": []
},
{
"name": "mintSecondaryRewards",
"signature": "mintSecondaryRewards(uint256)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 379,
"requires": [],
"events": []
},
{
"name": "burnSecondary",
"signature": "burnSecondary(address, uint256)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 383,
"requires": [],
"events": []
},
{
"name": "_notImplemented",
"signature": "_notImplemented() pure",
"returns": "()",
"modifiers": [],
"visibility": "internal",
"lineNumber": 387,
"requires": [],
"events": []
},
{
"name": "_systemActive",
"signature": "_systemActive() view",
"returns": "()",
"modifiers": [],
"visibility": "private",
"lineNumber": 398,
"requires": [],
"events": []
},
{
"name": "_issuanceActive",
"signature": "_issuanceActive() view",
"returns": "()",
"modifiers": [],
"visibility": "private",
"lineNumber": 407,
"requires": [],
"events": []
},
{
"name": "_blacklisted",
"signature": "_blacklisted(address _account) view",
"returns": "()",
"modifiers": [],
"visibility": "private",
"lineNumber": 411,
"requires": [
{
"name": "require(..., \"Contract not setted\")",
"lineNumber": 412
},
{
"name": "require(..., \"Blacklisted\")",
"lineNumber": 413
}
],
"events": []
},
{
"name": "_exchangeActive",
"signature": "_exchangeActive(bytes32 src, bytes32 dest) view",
"returns": "()",
"modifiers": [],
"visibility": "private",
"lineNumber": 426,
"requires": [],
"events": []
},
{
"name": "_onlyExchanger",
"signature": "_onlyExchanger() view",
"returns": "()",
"modifiers": [],
"visibility": "private",
"lineNumber": 435,
"requires": [
{
"name": "require(..., \"OnlyExchanger\")",
"lineNumber": 436
}
],
"events": []
},
{
"name": "emitPynthExchange",
"signature": "emitPynthExchange(address account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)",
"returns": "()",
"modifiers": [
"onlyExchanger"
],
"visibility": "external",
"lineNumber": 451,
"requires": [],
"events": []
},
{
"name": "emitExchangeTracking",
"signature": "emitExchangeTracking(bytes32 trackingCode, bytes32 toCurrencyKey, uint256 toAmount)",
"returns": "()",
"modifiers": [
"onlyExchanger"
],
"visibility": "external",
"lineNumber": 472,
"requires": [],
"events": []
},
{
"name": "emitExchangeReclaim",
"signature": "emitExchangeReclaim(address account, bytes32 currencyKey, uint256 amount)",
"returns": "()",
"modifiers": [
"onlyExchanger"
],
"visibility": "external",
"lineNumber": 483,
"requires": [],
"events": []
},
{
"name": "emitExchangeRebate",
"signature": "emitExchangeRebate(address account, bytes32 currencyKey, uint256 amount)",
"returns": "()",
"modifiers": [
"onlyExchanger"
],
"visibility": "external",
"lineNumber": 494,
"requires": [],
"events": []
}
],
"events": [
{
"name": "PynthExchange",
"parameters": "(address account, bytes32 fromCurrencyKey, uint256 fromAmount, bytes32 toCurrencyKey, uint256 toAmount, address toAddress)",
"lineNumber": 440
},
{
"name": "ExchangeTracking",
"parameters": "(bytes32 trackingCode, bytes32 toCurrencyKey, uint256 toAmount)",
"lineNumber": 469
},
{
"name": "ExchangeReclaim",
"parameters": "(address account, bytes32 currencyKey, uint256 amount)",
"lineNumber": 480
},
{
"name": "ExchangeRebate",
"parameters": "(address account, bytes32 currencyKey, uint256 amount)",
"lineNumber": 491
}
],
"variables": [
{
"name": "TOKEN_NAME",
"type": "string",
"visibility": "public",
"lineNumber": 34
},
{
"name": "TOKEN_SYMBOL",
"type": "string",
"visibility": "public",
"lineNumber": 35
},
{
"name": "DECIMALS",
"type": "uint8",
"visibility": "public",
"lineNumber": 36
},
{
"name": "pUSD",
"type": "bytes32",
"visibility": "public",
"lineNumber": 37
},
{
"name": "CONTRACT_PERIFINANCESTATE",
"type": "bytes32",
"visibility": "private",
"lineNumber": 40
},
{
"name": "CONTRACT_SYSTEMSTATUS",
"type": "bytes32",
"visibility": "private",
"lineNumber": 41
},
{
"name": "CONTRACT_EXCHANGER",
"type": "bytes32",
"visibility": "private",
"lineNumber": 42
},
{
"name": "CONTRACT_ISSUER",
"type": "bytes32",
"visibility": "private",
"lineNumber": 43
},
{
"name": "CONTRACT_REWARDSDISTRIBUTION",
"type": "bytes32",
"visibility": "private",
"lineNumber": 44
},
{
"name": "CONTRACT_SYSTEMSETTINGS",
"type": "bytes32",
"visibility": "private",
"lineNumber": 45
},
{
"name": "blacklistManager",
"type": "contract IBlacklistManager",
"visibility": "public",
"lineNumber": 47
},
{
"name": "PYNTHEXCHANGE_SIG",
"type": "bytes32",
"visibility": "internal",
"lineNumber": 448
},
{
"name": "EXCHANGE_TRACKING_SIG",
"type": "bytes32",
"visibility": "internal",
"lineNumber": 470
},
{
"name": "EXCHANGERECLAIM_SIG",
"type": "bytes32",
"visibility": "internal",
"lineNumber": 481
},
{
"name": "EXCHANGEREBATE_SIG",
"type": "bytes32",
"visibility": "internal",
"lineNumber": 492
}
],
"modifiers": [
{
"name": "systemActive",
"signature": "systemActive()",
"visibility": "internal",
"parameters": "()",
"lineNumber": 393
},
{
"name": "issuanceActive",
"signature": "issuanceActive()",
"visibility": "internal",
"parameters": "()",
"lineNumber": 402
},
{
"name": "blacklisted",
"signature": "blacklisted(address _account)",
"visibility": "internal",
"parameters": "(address _account)",
"lineNumber": 416
},
{
"name": "exchangeActive",
"signature": "exchangeActive(bytes32 src, bytes32 dest)",
"visibility": "internal",
"parameters": "(bytes32 src, bytes32 dest)",
"lineNumber": 421
},
{
"name": "onlyExchanger",
"signature": "onlyExchanger()",
"visibility": "internal",
"parameters": "()",
"lineNumber": 430
}
],
"structs": [],
"inherits": [
"IERC20",
"ExternStateToken",
"MixinResolver",
"IPeriFinance"
]
}
},
"libraries": {},
"interfaces": {
"IBlacklistManager": {
"functions": [
{
"name": "flagged",
"signature": "flagged(address _account) view",
"returns": "(bool)",
"modifiers": [],
"visibility": "external",
"lineNumber": 24,
"requires": [],
"events": []
}
],
"events": [],
"variables": [],
"modifiers": [],
"structs": [],
"inherits": []
}
}
},
"contracts/BaseRewardEscrowV2.sol": {
"imports": [
"./Owned.sol",
"./MixinResolver.sol",
"./LimitedSetup.sol",
"./interfaces/IRewardEscrowV2.sol",
"./SafeDecimalMath.sol",
"./interfaces/IERC20.sol",
"./interfaces/IFeePool.sol",
"./interfaces/IPeriFinance.sol",
"./interfaces/IIssuer.sol"
],
"contracts": {
"BaseRewardEscrowV2": {
"functions": [
{
"name": "constructor",
"signature": "constructor(address _owner, address _resolver)",
"returns": "()",
"modifiers": [],
"visibility": "public",
"lineNumber": 63,
"requires": [],
"events": []
},
{
"name": "feePool",
"signature": "feePool() view",
"returns": "(contract IFeePool)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 69,
"requires": [],
"events": []
},
{
"name": "periFinance",
"signature": "periFinance() view",
"returns": "(contract IPeriFinance)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 73,
"requires": [],
"events": []
},
{
"name": "issuer",
"signature": "issuer() view",
"returns": "(contract IIssuer)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 77,
"requires": [],
"events": []
},
{
"name": "_notImplemented",
"signature": "_notImplemented() pure",
"returns": "()",
"modifiers": [],
"visibility": "internal",
"lineNumber": 81,
"requires": [],
"events": []
},
{
"name": "resolverAddressesRequired",
"signature": "resolverAddressesRequired() view",
"returns": "(bytes32[] addresses)",
"modifiers": [],
"visibility": "public",
"lineNumber": 88,
"requires": [],
"events": []
},
{
"name": "balanceOf",
"signature": "balanceOf(address account) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "public",
"lineNumber": 98,
"requires": [],
"events": []
},
{
"name": "numVestingEntries",
"signature": "numVestingEntries(address account) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 105,
"requires": [],
"events": []
},
{
"name": "getVestingEntry",
"signature": "getVestingEntry(address account, uint256 entryID) view",
"returns": "(uint64 endTime, uint256 escrowAmount)",
"modifiers": [],
"visibility": "external",
"lineNumber": 113,
"requires": [],
"events": []
},
{
"name": "getVestingSchedules",
"signature": "getVestingSchedules(address account, uint256 index, uint256 pageSize) view",
"returns": "(struct VestingEntries.VestingEntryWithID[])",
"modifiers": [],
"visibility": "external",
"lineNumber": 118,
"requires": [],
"events": []
},
{
"name": "getAccountVestingEntryIDs",
"signature": "getAccountVestingEntryIDs(address account, uint256 index, uint256 pageSize) view",
"returns": "(uint256[])",
"modifiers": [],
"visibility": "external",
"lineNumber": 151,
"requires": [],
"events": []
},
{
"name": "getVestingQuantity",
"signature": "getVestingQuantity(address account, uint256[] entryIDs) view",
"returns": "(uint256 total)",
"modifiers": [],
"visibility": "external",
"lineNumber": 174,
"requires": [],
"events": []
},
{
"name": "getVestingEntryClaimable",
"signature": "getVestingEntryClaimable(address account, uint256 entryID) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "external",
"lineNumber": 188,
"requires": [],
"events": []
},
{
"name": "_claimableAmount",
"signature": "_claimableAmount(struct VestingEntries.VestingEntry _entry) view",
"returns": "(uint256)",
"modifiers": [],
"visibility": "internal",
"lineNumber": 193,
"requires": [],
"events": []
},
{
"name": "vest",
"signature": "vest(uint256[] entryIDs)",
"returns": "()",
"modifiers": [],
"visibility": "external",
"lineNumber": 209,
"requires": [],
"events": []
},
{
"name": "createEscrowEntry",
"signature": "createEscrowEntry(address beneficiary, uint256 deposit, uint256 duration)",