UNPKG

synthetix_kds

Version:

The smart contracts which make up the Synthetix system. (synthetix.io)

1,218 lines 1.31 MB
{ "contracts/AddressResolver.sol": { "imports": [ "contracts/Owned.sol", "contracts/interfaces/IAddressResolver.sol", "contracts/interfaces/IIssuer.sol", "contracts/MixinResolver.sol" ], "contracts": { "AddressResolver": { "functions": [ { "name": "constructor", "signature": "(address _owner)", "returns": "()", "events": [], "modifiers": [ "Owned" ], "visibility": "public", "stateMutability": "nonpayable", "requires": [], "lineNumber": 16 }, { "name": "importAddresses", "signature": "importAddresses(bytes32[] names, address[] destinations)", "returns": "()", "events": [], "modifiers": [ "onlyOwner" ], "visibility": "external", "stateMutability": "nonpayable", "requires": [ { "lineNumber": 21, "name": "require(..., Input lengths must match)" } ], "lineNumber": 20 }, { "name": "rebuildCaches", "signature": "rebuildCaches(contract MixinResolver[] destinations)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 33 }, { "name": "areAddressesImported", "signature": "areAddressesImported(bytes32[] names, address[] destinations)", "returns": "(bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 41 }, { "name": "getAddress", "signature": "getAddress(bytes32 name)", "returns": "(address)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 50 }, { "name": "requireAndGetAddress", "signature": "requireAndGetAddress(bytes32 name, string reason)", "returns": "(address)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [ { "lineNumber": 56, "name": "require(..., calldata)" } ], "lineNumber": 54 }, { "name": "getSynth", "signature": "getSynth(bytes32 key)", "returns": "(address)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [ { "lineNumber": 62, "name": "require(..., Cannot find Issuer address)" } ], "lineNumber": 60 } ], "events": [ { "name": "AddressImported", "parameters": "(bytes32 name, address destination)", "lineNumber": 68 } ], "variables": [ { "name": "repository", "constant": false, "type": "mapping(bytes32 => address)", "lineNumber": 14, "visibility": "public" } ], "modifiers": [], "structs": [], "inherits": [ "Owned", "IAddressResolver" ], "libraries": [] } }, "interfaces": {}, "libraries": {} }, "contracts/Owned.sol": { "imports": [], "contracts": { "Owned": { "functions": [ { "name": "constructor", "signature": "(address _owner)", "returns": "()", "events": [ "OwnerChanged" ], "modifiers": [], "visibility": "public", "stateMutability": "nonpayable", "requires": [ { "lineNumber": 10, "name": "require(..., Owner address cannot be 0)" } ], "lineNumber": 9 }, { "name": "nominateNewOwner", "signature": "nominateNewOwner(address _owner)", "returns": "()", "events": [ "OwnerNominated" ], "modifiers": [ "onlyOwner" ], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 15 }, { "name": "acceptOwnership", "signature": "acceptOwnership()", "returns": "()", "events": [ "OwnerChanged" ], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [ { "lineNumber": 21, "name": "require(..., You must be nominated before you can accept ownership)" } ], "lineNumber": 20 }, { "name": "_onlyOwner", "signature": "_onlyOwner()", "returns": "()", "events": [], "modifiers": [], "visibility": "private", "stateMutability": "view", "requires": [ { "lineNumber": 33, "name": "require(..., Only the contract owner may perform this action)" } ], "lineNumber": 32 } ], "events": [ { "name": "OwnerNominated", "parameters": "(address newOwner)", "lineNumber": 36 }, { "name": "OwnerChanged", "parameters": "(address oldOwner, address newOwner)", "lineNumber": 37 } ], "variables": [ { "name": "owner", "constant": false, "type": "address", "lineNumber": 6, "visibility": "public" }, { "name": "nominatedOwner", "constant": false, "type": "address", "lineNumber": 7, "visibility": "public" } ], "modifiers": [ { "name": "onlyOwner", "parameters": "()", "visibility": "internal", "lineNumber": 27 } ], "structs": [], "inherits": [], "libraries": [] } }, "interfaces": {}, "libraries": {} }, "contracts/interfaces/IAddressResolver.sol": { "imports": [], "contracts": {}, "interfaces": { "IAddressResolver": { "functions": [ { "name": "getAddress", "signature": "getAddress(bytes32 name)", "returns": "(address)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 6 }, { "name": "getSynth", "signature": "getSynth(bytes32 key)", "returns": "(address)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 8 }, { "name": "requireAndGetAddress", "signature": "requireAndGetAddress(bytes32 name, string reason)", "returns": "(address)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 10 } ], "events": [], "variables": [], "modifiers": [], "structs": [], "inherits": [], "libraries": [] } }, "libraries": {} }, "contracts/interfaces/IIssuer.sol": { "imports": [ "contracts/interfaces/ISynth.sol" ], "contracts": {}, "interfaces": { "IIssuer": { "functions": [ { "name": "anySynthOrSNXRateIsInvalid", "signature": "anySynthOrSNXRateIsInvalid()", "returns": "(bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 9 }, { "name": "availableCurrencyKeys", "signature": "availableCurrencyKeys()", "returns": "(bytes32[])", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 11 }, { "name": "availableSynthCount", "signature": "availableSynthCount()", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 13 }, { "name": "availableSynths", "signature": "availableSynths(uint256 index)", "returns": "(contract ISynth)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 15 }, { "name": "canBurnSynths", "signature": "canBurnSynths(address account)", "returns": "(bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 17 }, { "name": "collateral", "signature": "collateral(address account)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 19 }, { "name": "collateralisationRatio", "signature": "collateralisationRatio(address issuer)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 21 }, { "name": "collateralisationRatioAndAnyRatesInvalid", "signature": "collateralisationRatioAndAnyRatesInvalid(address _issuer)", "returns": "(uint256, bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 23 }, { "name": "debtBalanceOf", "signature": "debtBalanceOf(address issuer, bytes32 currencyKey)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 28 }, { "name": "issuanceRatio", "signature": "issuanceRatio()", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 30 }, { "name": "lastIssueEvent", "signature": "lastIssueEvent(address account)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 32 }, { "name": "maxIssuableSynths", "signature": "maxIssuableSynths(address issuer)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 34 }, { "name": "minimumStakeTime", "signature": "minimumStakeTime()", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 36 }, { "name": "remainingIssuableSynths", "signature": "remainingIssuableSynths(address issuer)", "returns": "(uint256, uint256, uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 38 }, { "name": "synths", "signature": "synths(bytes32 currencyKey)", "returns": "(contract ISynth)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 47 }, { "name": "getSynths", "signature": "getSynths(bytes32[] currencyKeys)", "returns": "(contract ISynth[])", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 49 }, { "name": "synthsByAddress", "signature": "synthsByAddress(address synthAddress)", "returns": "(bytes32)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 51 }, { "name": "totalIssuedSynths", "signature": "totalIssuedSynths(bytes32 currencyKey, bool excludeEtherCollateral)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 53 }, { "name": "transferableSynthetixAndAnyRateIsInvalid", "signature": "transferableSynthetixAndAnyRateIsInvalid(address account, uint256 balance)", "returns": "(uint256, bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 55 }, { "name": "issueSynths", "signature": "issueSynths(address from, uint256 amount)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 61 }, { "name": "issueSynthsOnBehalf", "signature": "issueSynthsOnBehalf(address issueFor, address from, uint256 amount)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 63 }, { "name": "issueMaxSynths", "signature": "issueMaxSynths(address from)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 69 }, { "name": "issueMaxSynthsOnBehalf", "signature": "issueMaxSynthsOnBehalf(address issueFor, address from)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 71 }, { "name": "burnSynths", "signature": "burnSynths(address from, uint256 amount)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 73 }, { "name": "burnSynthsOnBehalf", "signature": "burnSynthsOnBehalf(address burnForAddress, address from, uint256 amount)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 75 }, { "name": "burnSynthsToTarget", "signature": "burnSynthsToTarget(address from)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 81 }, { "name": "burnSynthsToTargetOnBehalf", "signature": "burnSynthsToTargetOnBehalf(address burnForAddress, address from)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 83 }, { "name": "liquidateDelinquentAccount", "signature": "liquidateDelinquentAccount(address account, uint256 susdAmount, address liquidator)", "returns": "(uint256, uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 85 } ], "events": [], "variables": [], "modifiers": [], "structs": [], "inherits": [], "libraries": [] } }, "libraries": {} }, "contracts/interfaces/ISynth.sol": { "imports": [], "contracts": {}, "interfaces": { "ISynth": { "functions": [ { "name": "currencyKey", "signature": "currencyKey()", "returns": "(bytes32)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 7 }, { "name": "transferableSynths", "signature": "transferableSynths(address account)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 9 }, { "name": "transferAndSettle", "signature": "transferAndSettle(address to, uint256 value)", "returns": "(bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 12 }, { "name": "transferFromAndSettle", "signature": "transferFromAndSettle(address from, address to, uint256 value)", "returns": "(bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 14 }, { "name": "burn", "signature": "burn(address account, uint256 amount)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 21 }, { "name": "issue", "signature": "issue(address account, uint256 amount)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 23 } ], "events": [], "variables": [], "modifiers": [], "structs": [], "inherits": [], "libraries": [] } }, "libraries": {} }, "contracts/MixinResolver.sol": { "imports": [ "contracts/Owned.sol", "contracts/AddressResolver.sol", "contracts/ReadProxy.sol" ], "contracts": { "MixinResolver": { "functions": [ { "name": "constructor", "signature": "(address _resolver)", "returns": "()", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "nonpayable", "requires": [], "lineNumber": 17 }, { "name": "combineArrays", "signature": "combineArrays(bytes32[] first, bytes32[] second)", "returns": "(bytes32[])", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "pure", "requires": [], "lineNumber": 23 }, { "name": "resolverAddressesRequired", "signature": "resolverAddressesRequired()", "returns": "(bytes32[])", "events": [], "modifiers": [], "visibility": "public", "stateMutability": "view", "requires": [], "lineNumber": 42 }, { "name": "rebuildCache", "signature": "rebuildCache()", "returns": "()", "events": [], "modifiers": [], "visibility": "public", "stateMutability": "nonpayable", "requires": [], "lineNumber": 44 }, { "name": "isResolverCached", "signature": "isResolverCached()", "returns": "(bool)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 61 }, { "name": "requireAndGetAddress", "signature": "requireAndGetAddress(bytes32 name)", "returns": "(address)", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "view", "requires": [ { "lineNumber": 78, "name": "require(..., memory)" } ], "lineNumber": 76 } ], "events": [ { "name": "CacheUpdated", "parameters": "(bytes32 name, address destination)", "lineNumber": 84 } ], "variables": [ { "name": "resolver", "constant": false, "type": "contract AddressResolver", "lineNumber": 13, "visibility": "public" }, { "name": "addressCache", "constant": false, "type": "mapping(bytes32 => address)", "lineNumber": 15, "visibility": "private" } ], "modifiers": [], "structs": [], "inherits": [], "libraries": [] } }, "interfaces": {}, "libraries": {} }, "contracts/ReadProxy.sol": { "imports": [ "contracts/Owned.sol" ], "contracts": { "ReadProxy": { "functions": [ { "name": "constructor", "signature": "(address _owner)", "returns": "()", "events": [], "modifiers": [ "Owned" ], "visibility": "public", "stateMutability": "nonpayable", "requires": [], "lineNumber": 12 }, { "name": "setTarget", "signature": "setTarget(address _target)", "returns": "()", "events": [ "TargetUpdated" ], "modifiers": [ "onlyOwner" ], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 14 }, { "name": "fallback", "signature": "()", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 19 } ], "events": [ { "name": "TargetUpdated", "parameters": "(address newTarget)", "lineNumber": 36 } ], "variables": [ { "name": "target", "constant": false, "type": "address", "lineNumber": 10, "visibility": "public" } ], "modifiers": [], "structs": [], "inherits": [ "Owned" ], "libraries": [] } }, "interfaces": {}, "libraries": {} }, "contracts/AddressSetLib.sol": { "imports": [], "contracts": {}, "interfaces": {}, "libraries": { "AddressSetLib": { "functions": [ { "name": "contains", "signature": "contains(struct AddressSetLib.AddressSet set, address candidate)", "returns": "(bool)", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "view", "requires": [], "lineNumber": 11 }, { "name": "getPage", "signature": "getPage(struct AddressSetLib.AddressSet set, uint256 index, uint256 pageSize)", "returns": "(address[])", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "view", "requires": [], "lineNumber": 19 }, { "name": "add", "signature": "add(struct AddressSetLib.AddressSet set, address element)", "returns": "()", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "nonpayable", "requires": [], "lineNumber": 43 }, { "name": "remove", "signature": "remove(struct AddressSetLib.AddressSet set, address element)", "returns": "()", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "nonpayable", "requires": [ { "lineNumber": 52, "name": "require(..., Element not in set.)" } ], "lineNumber": 51 } ], "events": [], "variables": [], "modifiers": [], "structs": [ { "name": "AddressSet", "members": [ { "name": "elements", "type": "address[]" }, { "name": "indices", "type": "mapping(address => uint256)" } ], "lineNumber": 6 } ], "inherits": [], "libraries": [] } } }, "contracts/BaseRewardEscrowV2.sol": { "imports": [ "contracts/Owned.sol", "contracts/MixinResolver.sol", "contracts/LimitedSetup.sol", "contracts/interfaces/IRewardEscrowV2.sol", "contracts/SafeDecimalMath.sol", "contracts/interfaces/IERC20.sol", "contracts/interfaces/IFeePool.sol", "contracts/interfaces/ISynthetix.sol", "contracts/interfaces/IIssuer.sol" ], "contracts": { "BaseRewardEscrowV2": { "functions": [ { "name": "constructor", "signature": "(address _owner, address _resolver)", "returns": "()", "events": [], "modifiers": [ "Owned", "MixinResolver" ], "visibility": "public", "stateMutability": "nonpayable", "requires": [], "lineNumber": 64 }, { "name": "feePool", "signature": "feePool()", "returns": "(contract IFeePool)", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "view", "requires": [], "lineNumber": 70 }, { "name": "synthetix", "signature": "synthetix()", "returns": "(contract ISynthetix)", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "view", "requires": [], "lineNumber": 74 }, { "name": "issuer", "signature": "issuer()", "returns": "(contract IIssuer)", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "view", "requires": [], "lineNumber": 78 }, { "name": "_notImplemented", "signature": "_notImplemented()", "returns": "()", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "pure", "requires": [], "lineNumber": 82 }, { "name": "resolverAddressesRequired", "signature": "resolverAddressesRequired()", "returns": "(bytes32[])", "events": [], "modifiers": [], "visibility": "public", "stateMutability": "view", "requires": [], "lineNumber": 89 }, { "name": "balanceOf", "signature": "balanceOf(address account)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "public", "stateMutability": "view", "requires": [], "lineNumber": 99 }, { "name": "numVestingEntries", "signature": "numVestingEntries(address account)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 106 }, { "name": "getVestingEntry", "signature": "getVestingEntry(address account, uint256 entryID)", "returns": "(uint64, uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 114 }, { "name": "getVestingSchedules", "signature": "getVestingSchedules(address account, uint256 index, uint256 pageSize)", "returns": "(struct VestingEntries.VestingEntryWithID[])", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 119 }, { "name": "getAccountVestingEntryIDs", "signature": "getAccountVestingEntryIDs(address account, uint256 index, uint256 pageSize)", "returns": "(uint256[])", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 152 }, { "name": "getVestingQuantity", "signature": "getVestingQuantity(address account, uint256[] entryIDs)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 175 }, { "name": "getVestingEntryClaimable", "signature": "getVestingEntryClaimable(address account, uint256 entryID)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "view", "requires": [], "lineNumber": 189 }, { "name": "_claimableAmount", "signature": "_claimableAmount(struct VestingEntries.VestingEntry _entry)", "returns": "(uint256)", "events": [], "modifiers": [], "visibility": "internal", "stateMutability": "view", "requires": [], "lineNumber": 194 }, { "name": "vest", "signature": "vest(uint256[] entryIDs)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 210 }, { "name": "createEscrowEntry", "signature": "createEscrowEntry(address beneficiary, uint256 deposit, uint256 duration)", "returns": "()", "events": [], "modifiers": [], "visibility": "external", "stateMutability": "nonpayable", "requires": [ { "lineNumber": 245, "name": "require(..., Cannot create escrow with address(0))" }, { "lineNumber": 248, "name": "require(..., token transfer failed)" } ], "lineNumber": 240 }, { "name": "appendVestingEntry", "signature": "appendVestingEntry(address account, uint256 quantity, uint256 duration)", "returns": "()", "events": [], "modifiers": [ "onlyFeePool" ], "visibility": "external", "stateMutability": "nonpayable", "requires": [], "lineNumber": 262 }, { "name": "_transferVestedTokens", "signature": "_transferVestedTokens(address _account, uint256 _amount)", "returns": "()", "events": [ "Vested" ], "modifiers": [], "visibility": "internal", "stateMutability": "nonpayable", "requires": [], "lineNumber": 271 }, { "name": "_reduceAccountEscrowBalances", "signature": "_reduceAccountEscrowBalances(address _account, uint256 _amount)", "returns": "()", "events": [], "modifiers": [], "visibility": "internal", "stateMutability