0x7A7Fb6c946AFc8747c8FbC7301a2b9b84FC9Ed8B
on Celo Alfajores Testnet (44787)
Exact Match
Runtime Bytecode
Creation Bytecode
Warning: This contract is only matched with runtime bytecode. The constructor may be different from the original one, which could affect the contract's functionality.
- Contract Name
- ExchangeRateService
- Compilation Target
- contracts/ExchangeRateService.sol:ExchangeRateService
- Language
- Solidity
- Compiler
- solc 0.8.13+commit.abaa5c0e
- EVM Version
- london
- Verified At
- 2024-08-08 12:28:23 UTC
- Deployer
- Deployment Transaction
- Block Number
- Transaction Index
ABI
Expand to view
Source Code
- contracts/Maths.sol
- contracts/Nylon.sol
- contracts/BasketService.sol
- contracts/ExchangeRateService.sol
- @openzeppelin/contracts/utils/Address.sol
- @openzeppelin/contracts/utils/Context.sol
- @openzeppelin/contracts/access/Ownable.sol
- @openzeppelin/contracts/token/ERC20/ERC20.sol
- @openzeppelin/contracts/token/ERC20/IERC20.sol
- @openzeppelin/contracts/utils/math/SafeMath.sol
- ado-contracts/contracts/interfaces/IERC2362.sol
- @openzeppelin/contracts/security/ReentrancyGuard.sol
- @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
- witnet-solidity-bridge/contracts/interfaces/IERC165.sol
- witnet-solidity-bridge/contracts/interfaces/IWitnetPriceFeed.sol
- @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
- witnet-solidity-bridge/contracts/interfaces/IWitnetPriceRouter.sol
- @openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol
Loading...
Compiler Settings
Loading...
Contract Metadata
Loading...
Contract couldn't be verified with the creation bytecode but with the runtime bytecode. Below is what was found at the time of verification.
Creation Bytecode
0x60c06040523480156200001157600080fd5b50604051620012553803806200125583398181016040528101906200003791906200031a565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620000b7639ed884be60e01b6200015660201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200010e6321a7982160e01b6200015660201b60201c565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620004ef565b60008060a05173ffffffffffffffffffffffffffffffffffffffff16638c0adf62846040518263ffffffff1660e01b8152600401620001969190620003b2565b602060405180830381865afa158015620001b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001da919062000414565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200024e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024590620004cd565b60405180910390fd5b80915050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000289826200025c565b9050919050565b60006200029d826200027c565b9050919050565b620002af8162000290565b8114620002bb57600080fd5b50565b600081519050620002cf81620002a4565b92915050565b6000620002e2826200027c565b9050919050565b620002f481620002d5565b81146200030057600080fd5b50565b6000815190506200031481620002e9565b92915050565b6000806040838503121562000334576200033362000257565b5b60006200034485828601620002be565b9250506020620003578582860162000303565b9150509250929050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60006200039a8262000361565b9050919050565b620003ac816200038d565b82525050565b6000602082019050620003c96000830184620003a1565b92915050565b6000620003dc826200027c565b9050919050565b620003ee81620003cf565b8114620003fa57600080fd5b50565b6000815190506200040e81620003e3565b92915050565b6000602082840312156200042d576200042c62000257565b5b60006200043d84828501620003fd565b91505092915050565b600082825260208201905092915050565b7f4661696c656420746f2061646420707269636520666565642e2050726963652060008201527f66656564206164647265737320697320696e76616c6964210000000000000000602082015250565b6000620004b560388362000446565b9150620004c28262000457565b604082019050919050565b60006020820190508181036000830152620004e881620004a6565b9050919050565b60805160a051610d3a6200051b600039600061043e01526000818160ff01526105ad0152610d3a6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631a4541b7146100515780634fc87f2414610082578063978aa122146100a0578063edc832b3146100be575b600080fd5b61006b600480360381019061006691906107f7565b6100dc565b604051610079929190610846565b60405180910390f35b61008a61043c565b60405161009791906108ee565b60405180910390f35b6100a8610460565b6040516100b59190610909565b60405180910390f35b6100c66105ab565b6040516100d39190610945565b60405180910390f35b6000806000670de0b6b3a7640000905060006100f6610460565b905060008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bc54082a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018c9190610975565b92509250925087156103a057600081036101ff576000858a8b6101af91906109f7565b6101b99190610a80565b905060006101d086836105cf90919063ffffffff16565b925050506101dd816106da565b97508686896101ec91906109f7565b6101f69190610a80565b985050506102a8565b600061021485856105cf90919063ffffffff16565b92505050600061022d838c6105cf90919063ffffffff16565b9250505060008785846102409190610ab1565b8361024b91906109f7565b6102559190610a80565b9050876002888361026691906109f7565b6102709190610a80565b61027a9190610a80565b995061029b88600261028c91906109f7565b826105cf90919063ffffffff16565b9091509050809950505050505b60008560016102b791906109f7565b90508085106103225760006102eb82876102d19190610ab1565b83886102dd9190610b07565b6105cf90919063ffffffff16565b92505050600087828a6102fe91906109f7565b6103089190610a80565b905080896103169190610ab1565b9950899850505061039a565b600061033786836105cf90919063ffffffff16565b925050506000610366838361034c9190610ab1565b84846103589190610b07565b6105cf90919063ffffffff16565b92505050600088828c61037991906109f7565b6103839190610a80565b9050808b6103919190610ab1565b9950899a505050505b50610430565b888110156103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da90610bbe565b60405180910390fd5b60006103f8828b6105cf90919063ffffffff16565b9250505085818561040991906109f7565b6104139190610a80565b975085818461042291906109f7565b61042c9190610a80565b9650505b50505050509250929050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053f14da6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610c14565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053f14da6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105889190610c14565b905061059d82826105cf90919063ffffffff16565b909150905080935050505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060008360008111610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060f90610cb3565b60405180910390fd5b61062b858761075890919063ffffffff16565b9350670de0b6b3a764000085670de0b6b3a76400008861064b91906109f7565b6106559190610a80565b61065f9190610cd3565b925060008586670de0b6b3a76400008961067991906109f7565b6106839190610cd3565b600261068f91906109f7565b1015905080156106a9576001846106a69190610ab1565b93505b836106c5670de0b6b3a76400008761076e90919063ffffffff16565b6106cf9190610ab1565b925050509250925092565b6000670de0b6b3a7640000826106f091906109f7565b91506003821115610753578190506000600160028461070f9190610a80565b6107199190610ab1565b90505b818110156107515780915060028182856107369190610a80565b6107409190610ab1565b61074a9190610a80565b905061071c565b505b919050565b600081836107669190610a80565b905092915050565b6000818361077c91906109f7565b905092915050565b600080fd5b6000819050919050565b61079c81610789565b81146107a757600080fd5b50565b6000813590506107b981610793565b92915050565b60008115159050919050565b6107d4816107bf565b81146107df57600080fd5b50565b6000813590506107f1816107cb565b92915050565b6000806040838503121561080e5761080d610784565b5b600061081c858286016107aa565b925050602061082d858286016107e2565b9150509250929050565b61084081610789565b82525050565b600060408201905061085b6000830185610837565b6108686020830184610837565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006108b46108af6108aa8461086f565b61088f565b61086f565b9050919050565b60006108c682610899565b9050919050565b60006108d8826108bb565b9050919050565b6108e8816108cd565b82525050565b600060208201905061090360008301846108df565b92915050565b600060208201905061091e6000830184610837565b92915050565b600061092f826108bb565b9050919050565b61093f81610924565b82525050565b600060208201905061095a6000830184610936565b92915050565b60008151905061096f81610793565b92915050565b60008060006060848603121561098e5761098d610784565b5b600061099c86828701610960565b93505060206109ad86828701610960565b92505060406109be86828701610960565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a0282610789565b9150610a0d83610789565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a4657610a456109c8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610a8b82610789565b9150610a9683610789565b925082610aa657610aa5610a51565b5b828204905092915050565b6000610abc82610789565b9150610ac783610789565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610afc57610afb6109c8565b5b828201905092915050565b6000610b1282610789565b9150610b1d83610789565b925082821015610b3057610b2f6109c8565b5b828203905092915050565b600082825260208201905092915050565b7f496e73756666696369656e7420616d6f756e74206f66204e796c6f6e20696e2060008201527f63697263756c6174696f6e210000000000000000000000000000000000000000602082015250565b6000610ba8602c83610b3b565b9150610bb382610b4c565b604082019050919050565b60006020820190508181036000830152610bd781610b9b565b9050919050565b6000819050919050565b610bf181610bde565b8114610bfc57600080fd5b50565b600081519050610c0e81610be8565b92915050565b600060208284031215610c2a57610c29610784565b5b6000610c3884828501610bff565b91505092915050565b7f496e70757420706172616d65746572206e6565647320746f2062652061626f7660008201527f6520302e00000000000000000000000000000000000000000000000000000000602082015250565b6000610c9d602483610b3b565b9150610ca882610c41565b604082019050919050565b60006020820190508181036000830152610ccc81610c90565b9050919050565b6000610cde82610789565b9150610ce983610789565b925082610cf957610cf8610a51565b5b82820690509291505056fea2646970667358221220afba140d0782ae5e6ff53c44dac2990e5d33199caa5e199a2daf91126260c02f64736f6c634300080d0033
CBOR Auxdata
These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.
CBOR Auxdata id: 1
View on
Solidity metadata.json IPFS hash: QmaAcdDdAfyVdj3kYymMRShD56cyhqMQwHCRwtb5EUgLtE

RawDecoded
Length: 53 bytes
0xa2646970667358221220afba140d0782ae5e6ff53c44dac2990e5d33199caa5e199a2daf91126260c02f64736f6c634300080d0033
Runtime Bytecode
0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80631a4541b7146100515780634fc87f2414610082578063978aa122146100a0578063edc832b3146100be575b600080fd5b61006b600480360381019061006691906107f7565b6100dc565b604051610079929190610846565b60405180910390f35b61008a61043c565b60405161009791906108ee565b60405180910390f35b6100a8610460565b6040516100b59190610909565b60405180910390f35b6100c66105ab565b6040516100d39190610945565b60405180910390f35b6000806000670de0b6b3a7640000905060006100f6610460565b905060008060007fimmutable0000000000000000000000005499f7b04b8b06ca21b0d9e9238372ea8619b48473ffffffffffffffffffffffffffffffffffffffff1663bc54082a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018c9190610975565b92509250925087156103a057600081036101ff576000858a8b6101af91906109f7565b6101b99190610a80565b905060006101d086836105cf90919063ffffffff16565b925050506101dd816106da565b97508686896101ec91906109f7565b6101f69190610a80565b985050506102a8565b600061021485856105cf90919063ffffffff16565b92505050600061022d838c6105cf90919063ffffffff16565b9250505060008785846102409190610ab1565b8361024b91906109f7565b6102559190610a80565b9050876002888361026691906109f7565b6102709190610a80565b61027a9190610a80565b995061029b88600261028c91906109f7565b826105cf90919063ffffffff16565b9091509050809950505050505b60008560016102b791906109f7565b90508085106103225760006102eb82876102d19190610ab1565b83886102dd9190610b07565b6105cf90919063ffffffff16565b92505050600087828a6102fe91906109f7565b6103089190610a80565b905080896103169190610ab1565b9950899850505061039a565b600061033786836105cf90919063ffffffff16565b925050506000610366838361034c9190610ab1565b84846103589190610b07565b6105cf90919063ffffffff16565b92505050600088828c61037991906109f7565b6103839190610a80565b9050808b6103919190610ab1565b9950899a505050505b50610430565b888110156103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da90610bbe565b60405180910390fd5b60006103f8828b6105cf90919063ffffffff16565b9250505085818561040991906109f7565b6104139190610a80565b975085818461042291906109f7565b61042c9190610a80565b9650505b50505050509250929050565b7fimmutable0000000000000000000000006f8a7e2bbc1edb8782145cd1089251f6e2c738ae81565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053f14da6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610c14565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053f14da6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105889190610c14565b905061059d82826105cf90919063ffffffff16565b909150905080935050505090565b7fimmutable0000000000000000000000005499f7b04b8b06ca21b0d9e9238372ea8619b48481565b60008060008360008111610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060f90610cb3565b60405180910390fd5b61062b858761075890919063ffffffff16565b9350670de0b6b3a764000085670de0b6b3a76400008861064b91906109f7565b6106559190610a80565b61065f9190610cd3565b925060008586670de0b6b3a76400008961067991906109f7565b6106839190610cd3565b600261068f91906109f7565b1015905080156106a9576001846106a69190610ab1565b93505b836106c5670de0b6b3a76400008761076e90919063ffffffff16565b6106cf9190610ab1565b925050509250925092565b6000670de0b6b3a7640000826106f091906109f7565b91506003821115610753578190506000600160028461070f9190610a80565b6107199190610ab1565b90505b818110156107515780915060028182856107369190610a80565b6107409190610ab1565b61074a9190610a80565b905061071c565b505b919050565b600081836107669190610a80565b905092915050565b6000818361077c91906109f7565b905092915050565b600080fd5b6000819050919050565b61079c81610789565b81146107a757600080fd5b50565b6000813590506107b981610793565b92915050565b60008115159050919050565b6107d4816107bf565b81146107df57600080fd5b50565b6000813590506107f1816107cb565b92915050565b6000806040838503121561080e5761080d610784565b5b600061081c858286016107aa565b925050602061082d858286016107e2565b9150509250929050565b61084081610789565b82525050565b600060408201905061085b6000830185610837565b6108686020830184610837565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006108b46108af6108aa8461086f565b61088f565b61086f565b9050919050565b60006108c682610899565b9050919050565b60006108d8826108bb565b9050919050565b6108e8816108cd565b82525050565b600060208201905061090360008301846108df565b92915050565b600060208201905061091e6000830184610837565b92915050565b600061092f826108bb565b9050919050565b61093f81610924565b82525050565b600060208201905061095a6000830184610936565b92915050565b60008151905061096f81610793565b92915050565b60008060006060848603121561098e5761098d610784565b5b600061099c86828701610960565b93505060206109ad86828701610960565b92505060406109be86828701610960565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610a0282610789565b9150610a0d83610789565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a4657610a456109c8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610a8b82610789565b9150610a9683610789565b925082610aa657610aa5610a51565b5b828204905092915050565b6000610abc82610789565b9150610ac783610789565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610afc57610afb6109c8565b5b828201905092915050565b6000610b1282610789565b9150610b1d83610789565b925082821015610b3057610b2f6109c8565b5b828203905092915050565b600082825260208201905092915050565b7f496e73756666696369656e7420616d6f756e74206f66204e796c6f6e20696e2060008201527f63697263756c6174696f6e210000000000000000000000000000000000000000602082015250565b6000610ba8602c83610b3b565b9150610bb382610b4c565b604082019050919050565b60006020820190508181036000830152610bd781610b9b565b9050919050565b6000819050919050565b610bf181610bde565b8114610bfc57600080fd5b50565b600081519050610c0e81610be8565b92915050565b600060208284031215610c2a57610c29610784565b5b6000610c3884828501610bff565b91505092915050565b7f496e70757420706172616d65746572206e6565647320746f2062652061626f7660008201527f6520302e00000000000000000000000000000000000000000000000000000000602082015250565b6000610c9d602483610b3b565b9150610ca882610c41565b604082019050919050565b60006020820190508181036000830152610ccc81610c90565b9050919050565b6000610cde82610789565b9150610ce983610789565b925082610cf957610cf8610a51565b5b82820690509291505056fea2646970667358221220afba140d0782ae5e6ff53c44dac2990e5d33199caa5e199a2daf91126260c02f64736f6c634300080d0033
CBOR Auxdata
These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.
CBOR Auxdata id: 1
View on
Solidity metadata.json IPFS hash: QmaAcdDdAfyVdj3kYymMRShD56cyhqMQwHCRwtb5EUgLtE

RawDecoded
Length: 53 bytes
0xa2646970667358221220afba140d0782ae5e6ff53c44dac2990e5d33199caa5e199a2daf91126260c02f64736f6c634300080d0033
Transformations
Immutable Transformations
ID | Value | Offsets |
---|---|---|
2108 | 0x0000000000000000000000005499f7b04b8b06ca21b0d9e9238372ea8619b484 | 255, 1453 |
2111 | 0x0000000000000000000000006f8a7e2bbc1edb8782145cd1089251f6e2c738ae | 1086 |
Storage Layout
Slot | Offset | Bytes | Label | Type | Contract |
---|---|---|---|---|---|
0 | 0 | 20 | celoUsd | contract IWitnetPriceFeed | contracts/ExchangeRateService.sol:ExchangeRateService |
1 | 0 | 20 | celoEur | contract IWitnetPriceFeed | contracts/ExchangeRateService.sol:ExchangeRateService |
Standard JSON Input
This isn't the original compiler JSON data. Generated for compatibility.
Loading...
Standard JSON Output
This isn't the original compiler JSON data. Generated for compatibility.
Loading...