13 txs
18 calls
constructor
constructor()
functions
getConfigAddress
viewfunction getConfigAddress(bytes32) view returns (address)
getOracleAddress
viewfunction getOracleAddress(address) view returns (address)
hashConfig
viewfunction hashConfig(tuple _config) view returns (bytes32 configId)
nonces
viewfunction nonces(address owner) view returns (uint256)
ORACLE_IMPLEMENTATION
viewfunction ORACLE_IMPLEMENTATION() view returns (address)
verifyConfig
viewfunction verifyConfig(tuple _config) view returns (uint256 secondaryPriceDecimals)
create
nonpayablefunction create(tuple _config, bytes32 _externalSalt) returns (address oracle)
events
NewOracle
event NewOracle(address indexed oracle)
errors
AddressZero
error AddressZero()
AggregatorsAreTheSame
error AggregatorsAreTheSame()
FailedDeployment
error FailedDeployment()
HugeDivider
error HugeDivider()
HugeMultiplier
error HugeMultiplier()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
InvalidAccountNonce
error InvalidAccountNonce(address account, uint256 currentNonce)
MultiplierAndDividerZero
error MultiplierAndDividerZero()
TokensAreTheSame
error TokensAreTheSame()
creation bytecode
0x60a0604052348015600e575f5ffd5b506040516019906089565b604051809103905ff0801580156031573d5f5f3e3d5ffd5b506001600160a01b03811660795760405162461bcd60e51b815260206004820152600b60248201526a5a65726f4164647265737360a81b604482015260640160405180910390fd5b6001600160a01b03166080526096565b6109e980610f1a83390190565b608051610e656100b55f395f818161013701526104200152610e655ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637af14d6e116100585780637af14d6e146100f75780637ecebe001461010a578063a8f39f6614610132578063f896503a14610159575f5ffd5b806328e981661461007e57806354482173146100a45780635b996c42146100e4575b5f5ffd5b61009161008c3660046107d6565b610181565b6040519081526020015b60405180910390f35b6100cc6100b23660046107f1565b60026020525f90815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161009b565b6100cc6100f236600461080c565b610390565b6100916101053660046107d6565b6104b9565b6100916101183660046107f1565b6001600160a01b03165f9081526020819052604090205490565b6100cc7f000000000000000000000000000000000000000000000000000000000000000081565b6100cc610167366004610837565b60016020525f90815260409020546001600160a01b031681565b60208101515f906001600160a01b03166101ae57604051639fabe1c160e01b815260040160405180910390fd5b81516001600160a01b03166101d657604051639fabe1c160e01b815260040160405180910390fd5b815f01516001600160a01b031682602001516001600160a01b03160361020f57604051633d4cfcc560e11b815260040160405180910390fd5b60408201516001600160a01b031661023a57604051639fabe1c160e01b815260040160405180910390fd5b81608001516001600160a01b031682604001516001600160a01b03160361027457604051630e04002960e11b815260040160405180910390fd5b60808201516001600160a01b0316156102f15781608001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102c7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102eb919061084e565b60ff1690505b6ec097ce7bc90715b34b9f10000000008260c00151111561032557604051631fe0fdf560e11b815260040160405180910390fd5b6ec097ce7bc90715b34b9f10000000008260e00151111561035957604051631f604a8560e21b815260040160405180910390fd5b60c082015115801561036d575060e0820151155b1561038b5760405163d156ee7f60e01b815260040160405180910390fd5b919050565b5f5f61039b846104b9565b5f818152600160205260409020549091506001600160a01b031680156103de576001600160a01b039081165f908152600260205260409020541691506104b39050565b6103e785610181565b50846040516103f5906106a7565b6103ff919061086e565b604051809103905ff080158015610418573d5f5f3e3d5ffd5b50905061044d7f0000000000000000000000000000000000000000000000000000000000000000610448866104e8565b610533565b925061045a838284610546565b60405163189acdbd60e31b81526001600160a01b03828116600483015284169063c4d66de8906024015f604051808303815f87803b15801561049a575f5ffd5b505af11580156104ac573d5f5f3e3d5ffd5b5050505050505b92915050565b5f816040516020016104cb919061086e565b604051602081830303815290604052805190602001209050919050565b335f81815260208190526040812080546001810190915590919060405160609290921b6bffffffffffffffffffffffff191660208301526034820152605481018390526074016104cb565b5f61053f83835f610616565b9392505050565b5f818152600160205260409020546001600160a01b0316156105a45760405162461bcd60e51b815260206004820152601260248201527110dbdb999a59d05b1c9958591e515e1a5cdd60721b60448201526064015b60405180910390fd5b5f81815260016020908152604080832080546001600160a01b038088166001600160a01b03199283168117909355918552600290935281842080549188169190931681179092555190917fb3eacd0e351fafdfefdec84e1cd19679b38dbcd63ea7c2c24da17fd2bc3b3c0e91a2505050565b5f814710156106415760405163cf47918160e01b81524760048201526024810183905260440161059b565b6e5af43d82803e903d91602b57fd5bf360205283601152763d602d80600a3d3981f3363d3d373d3d3d363d730000008460881c175f52826037600984f590506001600160a01b03811661053f5760405163b06ebf3d60e01b815260040160405180910390fd5b6104fd8061093383390190565b604051610120810167ffffffffffffffff811182821017156106e457634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b03811681146106fe575f5ffd5b50565b803561038b816106ea565b803563ffffffff8116811461038b575f5ffd5b8035801515811461038b575f5ffd5b5f610120828403121561073f575f5ffd5b6107476106b4565b905061075282610701565b815261076060208301610701565b602082015261077160408301610701565b60408201526107826060830161070c565b606082015261079360808301610701565b60808201526107a460a0830161070c565b60a082015260c0828101359082015260e080830135908201526107ca610100830161071f565b61010082015292915050565b5f61012082840312156107e7575f5ffd5b61053f838361072e565b5f60208284031215610801575f5ffd5b813561053f816106ea565b5f5f610140838503121561081e575f5ffd5b610828848461072e565b94610120939093013593505050565b5f60208284031215610847575f5ffd5b5035919050565b5f6020828403121561085e575f5ffd5b815160ff8116811461053f575f5ffd5b81516001600160a01b0316815260208083015161012083019161089b908401826001600160a01b03169052565b5060408301516108b660408401826001600160a01b03169052565b5060608301516108ce606084018263ffffffff169052565b5060808301516108e960808401826001600160a01b03169052565b5060a083015161090160a084018263ffffffff169052565b5060c083015160c083015260e083015160e083015261010083015161092b61010084018215159052565b509291505056fe6101c0604052348015610010575f5ffd5b506040516104fd3803806104fd83398101604081905261002f9161011d565b80516020820151606083015160c08085015160e08087015160a09283529092526001600160a01b0394851690915291831661010090815263ffffffff918216608090815260408601518516610120528501805185166101405292850151909116610160529051909116151561018052015115156101a0526101c6565b60405161012081016001600160401b03811182821017156100da57634e487b7160e01b5f52604160045260245ffd5b60405290565b80516001600160a01b03811681146100f6575f5ffd5b919050565b805163ffffffff811681146100f6575f5ffd5b805180151581146100f6575f5ffd5b5f61012082840312801561012f575f5ffd5b506101386100ab565b610141836100e0565b815261014f602084016100e0565b6020820152610160604084016100e0565b6040820152610171606084016100fb565b6060820152610182608084016100e0565b608082015261019360a084016100fb565b60a082015260c0838101519082015260e080840151908201526101b9610100840161010e565b6101008201529392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516102cd6102305f395f61019e01525f61017501525f60b401525f606701525f604201525f61014e01525f61012601525f61010001525f60da01525f608f01526102cd5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063c3f909d41461002d575b5f5ffd5b60408051610140810182526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f0000000000000000000000000000000000000000000000000000000000000000811660208301527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301527f000000000000000000000000000000000000000000000000000000000000000060808301527f000000000000000000000000000000000000000000000000000000000000000060a08301527f0000000000000000000000000000000000000000000000000000000000000000811660c08301527f00000000000000000000000000000000000000000000000000000000000000001660e08201527f000000000000000000000000000000000000000000000000000000000000000015156101008201527f0000000000000000000000000000000000000000000000000000000000000000151561012082015290516101d191906101da565b60405180910390f35b81516001600160a01b031681526101408101602083015161020660208401826001600160a01b03169052565b5060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015161024960c08401826001600160a01b03169052565b5060e083015161026460e08401826001600160a01b03169052565b5061010083015161027a61010084018215159052565b5061012083015161029061012084018215159052565b509291505056fea2646970667358221220a27b890a2c25df4451132e760151dcebaf446e03a67ac1340763259ebb2a082364736f6c634300081c0033a26469706673582212204ff69fdc95740263e52bad916ba3720384ecf25cfdb1deb3a4c4a28a9f434a4d64736f6c634300081c00336080604052348015600e575f5ffd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610913806100d65f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806313b0be3314610064578063217a4b701461008a578063324b8d6e146100aa578063c4d66de8146100bc578063c71ed1e6146100d1578063f9fa619a146100fb575b5f5ffd5b6100776100723660046106a9565b61010c565b6040519081526020015b60405180910390f35b6100926102dc565b6040516001600160a01b039091168152602001610081565b5f54610092906001600160a01b031681565b6100cf6100ca3660046106d7565b610352565b005b6100e46100df366004610706565b6104a7565b604080519215158352602083019190915201610081565b6100cf6101093660046106d7565b50565b5f8054604080516330fe427560e21b8152905183926001600160a01b03169163c3f909d4916004808301926101409291908290030181865afa158015610154573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101789190610772565b90508060c001516001600160a01b0316836001600160a01b0316146101b05760405163981a2a2b60e01b815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff8411156101e157604051631df5999960e21b815260040160405180910390fd5b5f5f6101f4835f01518460400151610557565b91509150816102155760405162bfc92160e01b815260040160405180910390fd5b82610100015161025d57610233868285608001518660a001516105e2565b9350835f03610255576040516301a7e28b60e61b815260040160405180910390fd5b5050506102d6565b5f5f61027185602001518660600151610557565b915091508161029357604051637c5ab47160e01b815260040160405180910390fd5b6102ae88848388608001518960a001518a610120015161061c565b9550855f036102d0576040516301a7e28b60e61b815260040160405180910390fd5b50505050505b92915050565b5f8054604080516330fe427560e21b8152905183926001600160a01b03169163c3f909d4916004808301926101409291908290030181865afa158015610324573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103489190610772565b60e0015192915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156103975750825b90505f8267ffffffffffffffff1660011480156103b35750303b155b9050811580156103c1575080155b156103df5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561040957845460ff60401b1916600160401b1785555b5f80546001600160a01b0319166001600160a01b0388169081179091556040519081527f077847d1fadf50041a730385b3d6b2de1cdeb5e078cb933fb091003e7f10e07a9060200160405180910390a1831561049f57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f5f5f5f5f9054906101000a90046001600160a01b03166001600160a01b031663c3f909d46040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051e9190610772565b90508361053c5761053781602001518260600151610557565b61054d565b61054d815f01518260400151610557565b9250925050915091565b5f5f5f846001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610596573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ba9190610839565b5050509150505f8113156105d3576001925090506105db565b5f5f92509250505b9250929050565b5f815f036106035782848602816105fb576105fb610887565b049050610614565b848402610610838261089b565b9150505b949350505050565b8585025f83900361065e578161063b57610636858261089b565b610645565b61064585826108be565b905083818161065657610656610887565b04905061068b565b610668838261089b565b90508161067e57610679858261089b565b610688565b61068885826108be565b90505b9695505050505050565b6001600160a01b0381168114610109575f5ffd5b5f5f604083850312156106ba575f5ffd5b8235915060208301356106cc81610695565b809150509250929050565b5f602082840312156106e7575f5ffd5b81356106f281610695565b9392505050565b8015158114610109575f5ffd5b5f60208284031215610716575f5ffd5b81356106f2816106f9565b604051610140810167ffffffffffffffff8111828210171561075157634e487b7160e01b5f52604160045260245ffd5b60405290565b805161076281610695565b919050565b8051610762816106f9565b5f610140828403128015610784575f5ffd5b5061078d610721565b61079683610757565b81526107a460208401610757565b602082015260408381015190820152606080840151908201526080808401519082015260a080840151908201526107dd60c08401610757565b60c08201526107ee60e08401610757565b60e08201526108006101008401610767565b6101008201526108136101208401610767565b6101208201529392505050565b805169ffffffffffffffffffff81168114610762575f5ffd5b5f5f5f5f5f60a0868803121561084d575f5ffd5b61085686610820565b6020870151604088015160608901519297509095509350915061087b60808701610820565b90509295509295909350565b634e487b7160e01b5f52601260045260245ffd5b80820281158282048414176102d657634e487b7160e01b5f52601160045260245ffd5b5f826108d857634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220494b7186976d28454e8da9cb34d333b2e171a163856c772ca768ffa37149626964736f6c634300081c0033