Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
USDRouter
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
// GENERATED CODE - do not edit manually!!
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
contract USDRouter {
error UnknownSelector(bytes4 sel);
address private constant _INITIAL_MODULE_BUNDLE = 0x828EED723cAF0A8F822249231266E38dF614923C;
address private constant _ASSOCIATED_SYSTEMS_MODULE = 0x267Efe904b0d9638bA3EF00Ad814Dd9C9cB4c271;
address private constant _USDTOKEN_MODULE = 0x32044052F1A7fcD0636553c603D575bC6282Bc6D;
fallback() external payable {
// Lookup table: Function selector => implementation contract
bytes4 sig4 = msg.sig;
address implementation;
assembly {
let sig32 := shr(224, sig4)
function findImplementation(sig) -> result {
if lt(sig,0x70a08231) {
if lt(sig,0x3659cfe6) {
switch sig
case 0x06fdde03 { result := _USDTOKEN_MODULE } // USDTokenModule.name()
case 0x095ea7b3 { result := _USDTOKEN_MODULE } // USDTokenModule.approve()
case 0x1624f6c6 { result := _USDTOKEN_MODULE } // USDTokenModule.initialize()
case 0x1627540c { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.nominateNewOwner()
case 0x18160ddd { result := _USDTOKEN_MODULE } // USDTokenModule.totalSupply()
case 0x23b872dd { result := _USDTOKEN_MODULE } // USDTokenModule.transferFrom()
case 0x2d22bef9 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.initOrUpgradeNft()
case 0x313ce567 { result := _USDTOKEN_MODULE } // USDTokenModule.decimals()
leave
}
switch sig
case 0x3659cfe6 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.upgradeTo()
case 0x392e53cd { result := _USDTOKEN_MODULE } // USDTokenModule.isInitialized()
case 0x39509351 { result := _USDTOKEN_MODULE } // USDTokenModule.increaseAllowance()
case 0x40c10f19 { result := _USDTOKEN_MODULE } // USDTokenModule.mint()
case 0x42966c68 { result := _USDTOKEN_MODULE } // USDTokenModule.burn()
case 0x53a47bb7 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.nominatedOwner()
case 0x60988e09 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.getAssociatedSystem()
leave
}
if lt(sig,0xaaa15fd1) {
switch sig
case 0x70a08231 { result := _USDTOKEN_MODULE } // USDTokenModule.balanceOf()
case 0x718fe928 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.renounceNomination()
case 0x79ba5097 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.acceptOwnership()
case 0x8da5cb5b { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.owner()
case 0x95d89b41 { result := _USDTOKEN_MODULE } // USDTokenModule.symbol()
case 0x9dc29fac { result := _USDTOKEN_MODULE } // USDTokenModule.burn()
case 0xa457c2d7 { result := _USDTOKEN_MODULE } // USDTokenModule.decreaseAllowance()
case 0xa9059cbb { result := _USDTOKEN_MODULE } // USDTokenModule.transfer()
leave
}
switch sig
case 0xaaa15fd1 { result := _USDTOKEN_MODULE } // USDTokenModule.burnWithAllowance()
case 0xaaf10f42 { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.getImplementation()
case 0xc6f79537 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.initOrUpgradeToken()
case 0xc7f62cda { result := _INITIAL_MODULE_BUNDLE } // InitialModuleBundle.simulateUpgradeTo()
case 0xd245d983 { result := _ASSOCIATED_SYSTEMS_MODULE } // AssociatedSystemsModule.registerUnmanagedSystem()
case 0xda46098c { result := _USDTOKEN_MODULE } // USDTokenModule.setAllowance()
case 0xdd62ed3e { result := _USDTOKEN_MODULE } // USDTokenModule.allowance()
leave
}
implementation := findImplementation(sig32)
}
if (implementation == address(0)) {
revert UnknownSelector(sig4);
}
// Delegatecall to the implementation contract
assembly {
calldatacopy(0, 0, calldatasize())
let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
returndatacopy(0, 0, returndatasize())
switch result
case 0 {
revert(0, returndatasize())
}
default {
return(0, returndatasize())
}
}
}
}{
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "paris"
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"bytes4","name":"sel","type":"bytes4"}],"name":"UnknownSelector","type":"error"},{"stateMutability":"payable","type":"fallback"}]Contract Creation Code
608060405234801561001057600080fd5b5061063f806100206000396000f3fe6080604052600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060008160e01c610510565b60006370a082318210156102aa57633659cfe682101561019157816306fdde0381146100af5763095ea7b381146100cb57631624f6c681146100e757631627540c8114610103576318160ddd811461011f576323b872dd811461013b57632d22bef981146101575763313ce56781146101735761018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b73828eed723caf0a8f822249231266e38df614923c915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c271915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d91505b5061050b565b81633659cfe681146101e45763392e53cd8114610200576339509351811461021c576340c10f198114610238576342966c688114610254576353a47bb78114610270576360988e09811461028c576102a4565b73828eed723caf0a8f822249231266e38df614923c91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b73828eed723caf0a8f822249231266e38df614923c91506102a4565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c27191505b5061050b565b63aaa15fd18210156103f657816370a0823181146103145763718fe9288114610330576379ba5097811461034c57638da5cb5b8114610368576395d89b41811461038457639dc29fac81146103a05763a457c2d781146103bc5763a9059cbb81146103d8576103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b73828eed723caf0a8f822249231266e38df614923c91506103f0565b73828eed723caf0a8f822249231266e38df614923c91506103f0565b73828eed723caf0a8f822249231266e38df614923c91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91505b5061050b565b8163aaa15fd181146104495763aaf10f4281146104655763c6f7953781146104815763c7f62cda811461049d5763d245d98381146104b95763da46098c81146104d55763dd62ed3e81146104f157610509565b7332044052f1a7fcd0636553c603d575bc6282bc6d9150610509565b73828eed723caf0a8f822249231266e38df614923c9150610509565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c2719150610509565b73828eed723caf0a8f822249231266e38df614923c9150610509565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c2719150610509565b7332044052f1a7fcd0636553c603d575bc6282bc6d9150610509565b7332044052f1a7fcd0636553c603d575bc6282bc6d91505b505b919050565b61051981610037565b915050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361058d57816040517fc2a825f500000000000000000000000000000000000000000000000000000000815260040161058491906105ee565b60405180910390fd5b3660008037600080366000845af43d6000803e80600081146105ae573d6000f35b3d6000fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6105e8816105b3565b82525050565b600060208201905061060360008301846105df565b9291505056fea2646970667358221220948dae5685cd401be1a19dab409e97282553ce083afb351b6aa49ba2482c13e064736f6c63430008150033
Deployed Bytecode
0x6080604052600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060008160e01c610510565b60006370a082318210156102aa57633659cfe682101561019157816306fdde0381146100af5763095ea7b381146100cb57631624f6c681146100e757631627540c8114610103576318160ddd811461011f576323b872dd811461013b57632d22bef981146101575763313ce56781146101735761018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b73828eed723caf0a8f822249231266e38df614923c915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d915061018b565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c271915061018b565b7332044052f1a7fcd0636553c603d575bc6282bc6d91505b5061050b565b81633659cfe681146101e45763392e53cd8114610200576339509351811461021c576340c10f198114610238576342966c688114610254576353a47bb78114610270576360988e09811461028c576102a4565b73828eed723caf0a8f822249231266e38df614923c91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506102a4565b73828eed723caf0a8f822249231266e38df614923c91506102a4565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c27191505b5061050b565b63aaa15fd18210156103f657816370a0823181146103145763718fe9288114610330576379ba5097811461034c57638da5cb5b8114610368576395d89b41811461038457639dc29fac81146103a05763a457c2d781146103bc5763a9059cbb81146103d8576103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b73828eed723caf0a8f822249231266e38df614923c91506103f0565b73828eed723caf0a8f822249231266e38df614923c91506103f0565b73828eed723caf0a8f822249231266e38df614923c91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91506103f0565b7332044052f1a7fcd0636553c603d575bc6282bc6d91505b5061050b565b8163aaa15fd181146104495763aaf10f4281146104655763c6f7953781146104815763c7f62cda811461049d5763d245d98381146104b95763da46098c81146104d55763dd62ed3e81146104f157610509565b7332044052f1a7fcd0636553c603d575bc6282bc6d9150610509565b73828eed723caf0a8f822249231266e38df614923c9150610509565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c2719150610509565b73828eed723caf0a8f822249231266e38df614923c9150610509565b73267efe904b0d9638ba3ef00ad814dd9c9cb4c2719150610509565b7332044052f1a7fcd0636553c603d575bc6282bc6d9150610509565b7332044052f1a7fcd0636553c603d575bc6282bc6d91505b505b919050565b61051981610037565b915050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361058d57816040517fc2a825f500000000000000000000000000000000000000000000000000000000815260040161058491906105ee565b60405180910390fd5b3660008037600080366000845af43d6000803e80600081146105ae573d6000f35b3d6000fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6105e8816105b3565b82525050565b600060208201905061060360008301846105df565b9291505056fea2646970667358221220948dae5685cd401be1a19dab409e97282553ce083afb351b6aa49ba2482c13e064736f6c63430008150033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.