0 txs
19 calls
constructor
No constructor.
functions
app
viewfunction app() view returns (address)
appOracle
viewfunction appOracle() view returns (address)
authority
viewfunction authority() view returns (address)
calculateReserves
viewfunction calculateReserves() view returns (uint256 usdReserves, uint256 rzrReserves)
enabledTokens
viewfunction enabledTokens(address _token) view returns (bool)
enabledTokensLength
viewfunction enabledTokensLength() view returns (uint256)
reserveFee
viewfunction reserveFee() view returns (uint256)
tokenAt
viewfunction tokenAt(uint256 _index) view returns (address)
tokens
viewfunction tokens() view returns (address[])
tokenValueE18
viewfunction tokenValueE18(address _token, uint256 _amount) view returns (uint256 rzrValue, uint256 usdValue)
tokenValueE18
viewfunction tokenValueE18(address _token) view returns (uint256 rzrValue, uint256 usdValue)
totalReservesRzr
viewfunction totalReservesRzr() view returns (uint256)
totalReservesUsd
viewfunction totalReservesUsd() view returns (uint256)
deposit
nonpayablefunction deposit(uint256 _amount, address _token, uint256 _profit) returns (uint256 send_)
disable
nonpayablefunction disable(address _toDisable)
enable
nonpayablefunction enable(address _address)
execute
nonpayablefunction execute(address _to, uint256 _value, bytes _data)
initialize
nonpayablefunction initialize(address _app, address _appOracle, address _authority)
manage
nonpayablefunction manage(address _token, uint256 _amount, address _recipient) returns (uint256 rzrValue, uint256 usdValue)
setAuthority
nonpayablefunction setAuthority(address _newAuthority)
setFeeMProjectId
nonpayablefunction setFeeMProjectId(address registry, uint256 projectID)
setReserveFee
nonpayablefunction setReserveFee(uint256 _reserveFee)
syncReserves
nonpayablefunction syncReserves() returns (uint256 usdReserves, uint256 rzrReserves)
events
AuthorityUpdated
event AuthorityUpdated(address indexed authority)
Deposit
event Deposit(address indexed token, uint256 amount, uint256 usdValue, uint256 rzrValue)
Initialized
event Initialized(uint64 version)
Managed
event Managed(address indexed token, uint256 amount)
Minted
event Minted(address indexed caller, address indexed recipient, uint256 amount)
ReserveFeeSet
event ReserveFeeSet(uint256 newFee, uint256 oldFee)
ReservesAudited
event ReservesAudited(uint256 indexed totalReserves, uint256 indexed totalReservesWithCredit)
TokenEnabled
event TokenEnabled(address addr, bool result)
Withdrawal
event Withdrawal(address indexed token, uint256 amount, uint256 usdValue, uint256 rzrValue)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080604052348015600f57600080fd5b5061221a8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80639d63848a116100e3578063bc157ac11161008c578063e4628c3811610066578063e4628c3814610333578063e4669f981461033b578063e6c09edf1461034357600080fd5b8063bc157ac1146102fa578063bf7e214f1461030d578063c0c53b8b1461032057600080fd5b8063b451cecc116100bd578063b451cecc146102b1578063b61d27f6146102d4578063b76564bd146102e757600080fd5b80639d63848a14610280578063a311936814610295578063a73e0f3b146102a857600080fd5b80635249f13e11610145578063785e48141161011f578063785e4814146102475780637a9e5e4b1461025a57806392a91a3a1461026d57600080fd5b80635249f13e1461021957806352d20ab9146102215780635bfa1b681461023457600080fd5b8063191b87a311610176578063191b87a3146101d45780631e42f9d4146101ff5780634bab08cc1461021157600080fd5b806302a82dc1146101925780630f93b45e146101bf575b600080fd5b6101a56101a0366004611e8a565b610356565b604080519283526020830191909152015b60405180910390f35b6101d26101cd366004611ea7565b61047b565b005b6006546101e7906001600160a01b031681565b6040516001600160a01b0390911681526020016101b6565b6001545b6040519081526020016101b6565b61020361059e565b6101a56105af565b6101d261022f366004611ed3565b61068a565b6101d2610242366004611e8a565b6107cb565b6101a5610255366004611ea7565b610a24565b6101d2610268366004611e8a565b610a7a565b6101e761027b366004611ed3565b610b2d565b610288610b40565b6040516101b69190611eec565b6101a56102a3366004611f38565b610b4c565b61020360075481565b6102c46102bf366004611e8a565b610cff565b60405190151581526020016101b6565b6101d26102e2366004611f7a565b610d1f565b6005546101e7906001600160a01b031681565b610203610308366004612006565b610e7d565b6000546101e7906001600160a01b031681565b6101d261032e36600461203e565b61126b565b6101a5611487565b600254610203565b6101d2610351366004611e8a565b611573565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819081906001600160a01b038516906370a0823190602401602060405180830381865afa1580156103ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103de919061207e565b6006546040517f3e8600170000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201849052929350911690633e860017906044015b606060405180830381865afa15801561044b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046f9190612097565b50909590945092505050565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e791906120c5565b6105275760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b6040517f1e60fd14000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b03831690631e60fd1490602401600060405180830381600087803b15801561058257600080fd5b505af1158015610596573d6000803e3d6000fd5b505050505050565b60006105aa60036116f6565b905090565b600080336001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa15801561060d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063191906120e7565b6001600160a01b0316146106765760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b61067e611700565b50506001546002549091565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f691906120c5565b6107315760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b670de0b6b3a76400008111156107895760405162461bcd60e51b815260206004820152601360248201527f496e76616c696420726573657276652066656500000000000000000000000000604482015260640161051e565b6007546040805183815260208101929092527fcd0ac3be6b9a5650a585596334bd31f323880012e6f10e3bf0264d7779871b04910160405180910390a1600755565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906120c5565b6108725760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b6001600160a01b0381166108c85760405162461bcd60e51b815260206004820152600c60248201527f5a65726f20616464726573730000000000000000000000000000000000000000604482015260640161051e565b6001600160a01b0381166000908152600460205260409020546108f2576108f060038261174b565b505b6006546040517f41976e090000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015260009283929116906341976e0990602401606060405180830381865afa158015610959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097d9190612097565b509150915060008211806109915750600081115b6109dd5760405162461bcd60e51b815260206004820152600d60248201527f496e76616c696420707269636500000000000000000000000000000000000000604482015260640161051e565b604080516001600160a01b0385168152600160208201527fdaf9101d1252b2a64d581ac74c5158c51129acca2ba55c45d3477163f7070fba910160405180910390a1505050565b6006546040517f3e8600170000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490526000928392911690633e8600179060440161042e565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa158015610ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae691906120c5565b610b215760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b610b2a81611760565b50565b6000610b3a6003836117c0565b92915050565b60606105aa60036117cc565b600080610b576117d9565b610b5f61185a565b6000546040517febd83cd80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039091169063ebd83cd890602401602060405180830381865afa158015610bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be491906120c5565b610c1f5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b6001600160a01b03851660009081526004602052604090205415610c6f57610c478585610a24565b6001549193509150610c5a90829061211a565b600155600254610c6b90839061211a565b6002555b610c836001600160a01b038616848661191e565b846001600160a01b03167fb4460e34f1e91c4fa28eb7fac4cbd88cf530ef54a67e1978cd5edd9f77033ead85604051610cbe91815260200190565b60405180910390a2610cce611700565b610cf760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b935093915050565b6001600160a01b0381166000908152600460205260408120541515610b3a565b600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b91906120c5565b610dc65760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b6000846001600160a01b0316848484604051610de392919061212d565b60006040518083038185875af1925050503d8060008114610e20576040519150601f19603f3d011682016040523d82523d6000602084013e610e25565b606091505b5050905080610e765760405162461bcd60e51b815260206004820152601860248201527f54726561737572793a2065786563757465206661696c65640000000000000000604482015260640161051e565b5050505050565b6000610e876117d9565b610e8f61185a565b6000546040517f124154ca0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039091169063124154ca90602401602060405180830381865afa158015610ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1491906120c5565b610f4f5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b6001600160a01b038316600090815260046020526040902054610fb45760405162461bcd60e51b815260206004820152601760248201527f54726561737572793a20696e76616c696420746f6b656e000000000000000000604482015260640161051e565b610fc96001600160a01b0384163330876119bd565b6000670de0b6b3a764000060075486610fe2919061213d565b610fec9190612154565b905061107760008054906101000a90046001600160a01b03166001600160a01b031663e0f6e7306040518163ffffffff1660e01b8152600401602060405180830381865afa158015611042573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106691906120e7565b6001600160a01b038616908361191e565b611081818661211a565b94506000806110908688610a24565b91509150816000146110e45760405162461bcd60e51b815260206004820152600f60248201527f61766f696420727a722076616c75650000000000000000000000000000000000604482015260640161051e565b600081116111345760405162461bcd60e51b815260206004820152601160248201527f696e76616c6964207573642076616c7565000000000000000000000000000000604482015260640161051e565b61113e858261211a565b6005546040517f40c10f19000000000000000000000000000000000000000000000000000000008152336004820152602481018390529195506001600160a01b0316906340c10f1990604401600060405180830381600087803b1580156111a457600080fd5b505af11580156111b8573d6000803e3d6000fd5b5050505080600160008282546111ce9190612176565b9250508190555081600260008282546111e79190612176565b909155505060408051888152602081018390529081018390526001600160a01b038716907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a250505061126460017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9392505050565b600d60006112776119fc565b805490915068010000000000000000900460ff16806112a45750805467ffffffffffffffff808416911610155b156112db576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001667ffffffffffffffff831617680100000000000000001781556001600160a01b03851661136e5760405162461bcd60e51b815260206004820152601160248201527f5a65726f20616464726573733a20617070000000000000000000000000000000604482015260640161051e565b6001600160a01b0384166113c45760405162461bcd60e51b815260206004820152601760248201527f5a65726f20616464726573733a206170704f7261636c65000000000000000000604482015260640161051e565b600580546001600160a01b038088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600680549287169290911691909117905561141583610b21565b61141d611a25565b80547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050565b60008060005b61149760036116f6565b81101561156e5760006114ab6003836117c0565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561150e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611532919061207e565b90506000806115418484610a24565b90925090506115508188612176565b965061155c8287612176565b9550506001909301925061148d915050565b509091565b6000546040517f0c68ba210000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0390911690630c68ba2190602401602060405180830381865afa1580156115d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f891906120c5565b8061166a5750600054604051631c86b03760e31b81523360048201526001600160a01b039091169063e43581b890602401602060405180830381865afa158015611646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166a91906120c5565b6116a55760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640161051e565b6116b0600382611a35565b50604080516001600160a01b0383168152600060208201527fdaf9101d1252b2a64d581ac74c5158c51129acca2ba55c45d3477163f7070fba910160405180910390a150565b6000610b3a825490565b60008061170b611487565b600182905560028190556040519193509150819083907f40008cf4352b5a56df10f04490bb1cda3a3ac615fcd3400d77672759b407848790600090a35050565b6000611264836001600160a01b038416611a4a565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117825560405190917f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad91a250565b60006112648383611a99565b6060600061126483611ac3565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01611854576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b60008054906101000a90046001600160a01b03166001600160a01b031663aced55d26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cf91906120c5565b1561191c5760405162461bcd60e51b815260206004820152600660248201527f5041555345440000000000000000000000000000000000000000000000000000604482015260640161051e565b565b6040516001600160a01b0383811660248301526044820183905261199291859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611b1f565b505050565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6040516001600160a01b0384811660248301528381166044830152606482018390526119f69186918216906323b872dd9060840161194b565b50505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610b3a565b611a2d611b9b565b61191c611bd9565b6000611264836001600160a01b038416611be1565b6000818152600183016020526040812054611a9157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b3a565b506000610b3a565b6000826000018281548110611ab057611ab0612189565b9060005260206000200154905092915050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611b1357602002820191906000526020600020905b815481526020019060010190808311611aff575b50505050509050919050565b6000611b346001600160a01b03841683611cd4565b90508051600014158015611b59575080806020019051810190611b5791906120c5565b155b15611992576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161051e565b611ba3611ce2565b61191c576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611997611b9b565b60008181526001830160205260408120548015611cca576000611c0560018361211a565b8554909150600090611c199060019061211a565b9050808214611c7e576000866000018281548110611c3957611c39612189565b9060005260206000200154905080876000018481548110611c5c57611c5c612189565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c8f57611c8f61219f565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b3a565b6000915050610b3a565b606061126483836000611d01565b6000611cec6119fc565b5468010000000000000000900460ff16919050565b606081471015611d46576040517fcf4791810000000000000000000000000000000000000000000000000000000081524760048201526024810183905260440161051e565b600080856001600160a01b03168486604051611d6291906121b5565b60006040518083038185875af1925050503d8060008114611d9f576040519150601f19603f3d011682016040523d82523d6000602084013e611da4565b606091505b5091509150611db4868383611dbe565b9695505050505050565b606082611dd357611dce82611e33565b611264565b8151158015611dea57506001600160a01b0384163b155b15611e2c576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161051e565b5080611264565b805115611e435780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381168114610b2a57600080fd5b600060208284031215611e9c57600080fd5b813561126481611e75565b60008060408385031215611eba57600080fd5b8235611ec581611e75565b946020939093013593505050565b600060208284031215611ee557600080fd5b5035919050565b602080825282518282018190526000918401906040840190835b81811015611f2d5783516001600160a01b0316835260209384019390920191600101611f06565b509095945050505050565b600080600060608486031215611f4d57600080fd5b8335611f5881611e75565b9250602084013591506040840135611f6f81611e75565b809150509250925092565b60008060008060608587031215611f9057600080fd5b8435611f9b81611e75565b935060208501359250604085013567ffffffffffffffff811115611fbe57600080fd5b8501601f81018713611fcf57600080fd5b803567ffffffffffffffff811115611fe657600080fd5b876020828401011115611ff857600080fd5b949793965060200194505050565b60008060006060848603121561201b57600080fd5b83359250602084013561202d81611e75565b929592945050506040919091013590565b60008060006060848603121561205357600080fd5b833561205e81611e75565b9250602084013561206e81611e75565b91506040840135611f6f81611e75565b60006020828403121561209057600080fd5b5051919050565b6000806000606084860312156120ac57600080fd5b5050815160208301516040909301519094929350919050565b6000602082840312156120d757600080fd5b8151801515811461126457600080fd5b6000602082840312156120f957600080fd5b815161126481611e75565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b3a57610b3a612104565b8183823760009101908152919050565b8082028115828204841417610b3a57610b3a612104565b60008261217157634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b3a57610b3a612104565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6000825160005b818110156121d657602081860181015185830152016121bc565b50600092019182525091905056fea2646970667358221220bb43483855ccc7a11d4d7982457a690db37244a425d7d79e09c5db91875539e964736f6c634300081c0033