UNPKG

@perifinance/peri-finance

Version:

The smart contracts which make up the Peri Finance system. (pynths.com)

1,611 lines 1.02 MB
{ "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)",