10 txs
365 calls
constructor
constructor(address _admin)
functions
admin
viewfunction admin() view returns (address)
fallbackOracle
viewfunction fallbackOracle() view returns (address)
pendingAdmin
viewfunction pendingAdmin() view returns (address)
tokenSources
viewfunction tokenSources(address) view returns (address)
verifyTokenSource
viewfunction verifyTokenSource() view returns (bool)
_acceptAdmin
nonpayablefunction _acceptAdmin()
_addTokenSources
nonpayablefunction _addTokenSources(address[] tokens, address[] sources)
_setFallbackOracle
nonpayablefunction _setFallbackOracle(address newFallbackOracle)
_setPendingAdmin
nonpayablefunction _setPendingAdmin(address newPendingAdmin)
_setVerifyTokenSource
nonpayablefunction _setVerifyTokenSource(bool enable)
oraclePriceSqrtX96
nonpayablefunction oraclePriceSqrtX96(address token0, address token1) returns (uint256 priceSqrtX96)
events
NewAdmin
event NewAdmin(address oldAdmin, address newAdmin)
NewFallbackOracle
event NewFallbackOracle(address oldFallbackOracle, address newFallbackOracle)
NewPendingAdmin
event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin)
SetVerifyTokenSource
event SetVerifyTokenSource(bool enable)
TokenSourceCreated
event TokenSourceCreated(address token, address source)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001ea238038062001ea28339810160408190526200003491620000ea565b600080546001600160a01b0319166001600160a01b0383161781556004805460ff191660011790556040517ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc916200008e9184906200013a565b60405180910390a17fcb3f3417c3e726f5ba9b551cca8e4e7922d9f18f90ad7eb7f63524f99a4a27a36001604051620000c8919062000160565b60405180910390a150620001bc565b8051620000e481620001a2565b92915050565b600060208284031215620000fd57600080fd5b60006200010b8484620000d7565b949350505050565b6200011e816200018e565b82525050565b6200011e8162000170565b6200011e816200017d565b604081016200014a828562000113565b62000159602083018462000124565b9392505050565b60208101620000e482846200012f565b6000620000e48262000182565b151590565b6001600160a01b031690565b6000620000e4826000620000e48262000170565b620001ad8162000170565b8114620001b957600080fd5b50565b611cd680620001cc6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063b71d1a0c11610081578063dc2ff3221161005b578063dc2ff3221461016a578063e9c714f21461018a578063f851a44014610192576100c9565b8063b71d1a0c14610131578063c03244cb14610144578063daa6394914610157576100c9565b806351df2b5d116100b257806351df2b5d146101015780635f755bef14610116578063629838e514610129576100c9565b80631d4a3546146100ce57806326782247146100e3575b600080fd5b6100e16100dc3660046114e0565b61019a565b005b6100eb610278565b6040516100f89190611a4b565b60405180910390f35b610109610294565b6040516100f89190611a8f565b6100eb6101243660046114e0565b61029d565b6100eb6102c5565b6100e161013f3660046114e0565b6102e1565b6100e1610152366004611540565b6103aa565b6100e16101653660046115b0565b610a95565b61017d610178366004611506565b610b4d565b6040516100f89190611b3e565b6100e1611122565b6100eb611236565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611b2e565b60405180910390fd5b6002805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff00000000000000000000000000000000000000008316179092556040519116907f379f1615b15e3f2750f7ef864f7d02e409d8a4e92f520417fb766f8174b767fd9061026c9083908590611a59565b60405180910390a15050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60045460ff1681565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff163314610332576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611b2e565b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff00000000000000000000000000000000000000008316179092556040519116907fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99061026c9083908590611a59565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611b2e565b828114610434576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611aae565b60005b83811015610a8e57600060038187878581811061045057fe5b905060200201602061046591908101906114e0565b73ffffffffffffffffffffffffffffffffffffffff908116825260208201929092526040016000205416146104c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611afe565b60045460ff16156109715760008383838181106104df57fe5b90506020020160206104f491908101906114e0565b73ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561053957600080fd5b505afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061057191908101906115ce565b905060648113801561059157506e01000000000000000000000000000081125b6105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611b0e565b60008484848181106105d557fe5b90506020020160206105ea91908101906114e0565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561062f57600080fd5b505afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106679190810190611621565b60ff1687878581811061067657fe5b905060200201602061068b91908101906114e0565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d057600080fd5b505afa1580156106e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107089190810190611621565b60ff1601905060088112158015610720575060308113155b610756576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611abe565b606087878581811061076457fe5b905060200201602061077991908101906114e0565b73ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156107be57600080fd5b505afa1580156107d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261081891908101906115ec565b9050606086868681811061082857fe5b905060200201602061083d91908101906114e0565b73ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b815260040160006040518083038186803b15801561088257600080fd5b505afa158015610896573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108dc91908101906115ec565b90506109366109296040518060400160405280600681526020017f202f2055534400000000000000000000000000000000000000000000000000008152508461125290919063ffffffff16565b829063ffffffff61127e16565b61096c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611ace565b505050505b82828281811061097d57fe5b905060200201602061099291908101906114e0565b600360008787858181106109a257fe5b90506020020160206109b791908101906114e0565b73ffffffffffffffffffffffffffffffffffffffff9081168252602082019290925260400160002080547fffffffffffffffffffffffff000000000000000000000000000000000000000016929091169190911790557f93a7feea75d2faef33075632d02ad48d1e221db504801ec84c48a0c51d52e12d858583818110610a3a57fe5b9050602002016020610a4f91908101906114e0565b848484818110610a5b57fe5b9050602002016020610a7091908101906114e0565b604051610a7e929190611a59565b60405180910390a1600101610437565b5050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ae6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611b2e565b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215151790556040517fcb3f3417c3e726f5ba9b551cca8e4e7922d9f18f90ad7eb7f63524f99a4a27a390610b42908390611a8f565b60405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600360205260408082205484841683529082205491929081169116811580610ba6575073ffffffffffffffffffffffffffffffffffffffff8116155b15610bdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611ade565b60008273ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2557600080fd5b505afa158015610c39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5d91908101906115ce565b905060008273ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca757600080fd5b505afa158015610cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cdf91908101906115ce565b9050600082131580610cf2575060008113155b15610dfb5760025473ffffffffffffffffffffffffffffffffffffffff16610d46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611b1e565b6002546040517fdc2ff32200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063dc2ff32290610d9e908a908a90600401611a59565b602060405180830381600087803b158015610db857600080fd5b505af1158015610dcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610df091908101906115ce565b94505050505061111c565b60008473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610e4357600080fd5b505afa158015610e57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e7b9190810190611621565b60ff168873ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec457600080fd5b505afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610efc9190810190611621565b60ff1601905060008473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4a57600080fd5b505afa158015610f5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f829190810190611621565b60ff168873ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610fcb57600080fd5b505afa158015610fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110039190810190611621565b60ff1601905080820361105a64010000000061104e6110498761103d8a70010000000000000000000000000000000063ffffffff6112d716565b9063ffffffff61133216565b611374565b9063ffffffff6112d716565b97506c01000000000000000000000000600080831361107c578260000361107e565b825b905060005b818110156110a65761109c83600a63ffffffff6112d716565b9250600101611083565b506110bb660100000000000061104e84611374565b915060008313156110ee576110e78261103d8c6c0100000000000000000000000063ffffffff6112d716565b9950611112565b61110f6c0100000000000000000000000061103d8c8563ffffffff6112d716565b99505b5050505050505050505b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611173576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611b2e565b600080546001805473ffffffffffffffffffffffffffffffffffffffff8082167fffffffffffffffffffffffff00000000000000000000000000000000000000008086168217968790559092169092556040519282169390927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc926111fc928692911690611a59565b60405180910390a17fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a981600060405161026c929190611a74565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60608282604051602001611267929190611a33565b604051602081830303815290604052905092915050565b6000816040516020016112919190611a27565b60405160208183030381529060405280519060200120836040516020016112b89190611a27565b6040516020818303038152906040528051906020012014905092915050565b6000826112e65750600061111c565b828202828482816112f357fe5b041461132b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb90611aee565b9392505050565b600061132b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c6565b600060038211156113b7575080600160028204015b818110156113b1578091506002818285816113a057fe5b0401816113a957fe5b049050611389565b506113c1565b81156113c1575060015b919050565b60008183611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101eb9190611a9d565b50600083858161140d57fe5b0495945050505050565b803561111c81611c61565b60008083601f84011261143457600080fd5b50813567ffffffffffffffff81111561144c57600080fd5b60208301915083602082028301111561146457600080fd5b9250929050565b803561111c81611c78565b805161111c81611c81565b600082601f83011261149257600080fd5b81516114a56114a082611b73565b611b4c565b915080825260208301602083018583830111156114c157600080fd5b6114cc838284611c09565b50505092915050565b805161111c81611c8a565b6000602082840312156114f257600080fd5b60006114fe8484611417565b949350505050565b6000806040838503121561151957600080fd5b60006115258585611417565b925050602061153685828601611417565b9150509250929050565b6000806000806040858703121561155657600080fd5b843567ffffffffffffffff81111561156d57600080fd5b61157987828801611422565b9450945050602085013567ffffffffffffffff81111561159857600080fd5b6115a487828801611422565b95989497509550505050565b6000602082840312156115c257600080fd5b60006114fe848461146b565b6000602082840312156115e057600080fd5b60006114fe8484611476565b6000602082840312156115fe57600080fd5b815167ffffffffffffffff81111561161557600080fd5b6114fe84828501611481565b60006020828403121561163357600080fd5b60006114fe84846114d5565b61164881611bf8565b82525050565b61164881611bc6565b61164881611bd1565b600061166b82611bb9565b6116758185611bbd565b9350611685818560208601611c09565b61168e81611c39565b9093019392505050565b60006116a382611bb9565b6116ad81856113c1565b93506116bd818560208601611c09565b9290920192915050565b60006116d4603583611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20494e434f4e81527f53495354454e545f504152414d535f4c454e4754480000000000000000000000602082015260400192915050565b6000611733603083611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20444543494d81527f414c535f4f55545f4f465f52414e474500000000000000000000000000000000602082015260400192915050565b6000611792603383611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20494e434f4e81527f53495354454e545f4445534352495054494f4e00000000000000000000000000602082015260400192915050565b60006117f1602b83611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20554e53555081527f504f525445445f50414952000000000000000000000000000000000000000000602082015260400192915050565b6000611850602183611bbd565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006118af602c83611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20544f4b454e81527f5f494e495449414c495a45440000000000000000000000000000000000000000602082015260400192915050565b600061190e602d83611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20505249434581527f5f4f55545f4f465f52414e474500000000000000000000000000000000000000602082015260400192915050565b600061196d603283611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20505249434581527f5f43414c43554c4154494f4e5f4552524f520000000000000000000000000000602082015260400192915050565b60006119cc602783611bbd565b7f496d7065726d617856334f7261636c65436861696e6c696e6b3a20554e41555481527f484f52495a454400000000000000000000000000000000000000000000000000602082015260400192915050565b61164881611bd6565b600061132b8284611698565b6000611a3f8285611698565b91506114fe8284611698565b6020810161111c828461164e565b60408101611a67828561164e565b61132b602083018461164e565b60408101611a82828561164e565b61132b602083018461163f565b6020810161111c8284611657565b6020808252810161132b8184611660565b6020808252810161111c816116c7565b6020808252810161111c81611726565b6020808252810161111c81611785565b6020808252810161111c816117e4565b6020808252810161111c81611843565b6020808252810161111c816118a2565b6020808252810161111c81611901565b6020808252810161111c81611960565b6020808252810161111c816119bf565b6020810161111c8284611a1e565b60405181810167ffffffffffffffff81118282101715611b6b57600080fd5b604052919050565b600067ffffffffffffffff821115611b8a57600080fd5b506020601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b5190565b90815260200190565b600061111c82611bd9565b151590565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60ff1690565b600061111c82600061111c82611bc6565b60005b83811015611c24578181015183820152602001611c0c565b83811115611c33576000848401525b50505050565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b611c6a81611bc6565b8114611c7557600080fd5b50565b611c6a81611bd1565b611c6a81611bd6565b611c6a81611bf256fea365627a7a72315820f9a1ca2ecd1c0856f3935cefff1f82f2b5d1983588a467a0349c694c56c79f606c6578706572696d656e74616cf564736f6c634300051000400000000000000000000000005ec869c1cb378bb77bc55bb56129399f6828c8c5