Source Code
Overview
HYPE Balance
HYPE Value
$0.00Latest 25 from a total of 1,883 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Deposit | 25181787 | 10 days ago | IN | 0 HYPE | 0.00002543 | ||||
| Deposit | 24213210 | 21 days ago | IN | 0 HYPE | 0.00006362 | ||||
| Deposit | 23727718 | 26 days ago | IN | 0 HYPE | 0.0003819 | ||||
| Deposit | 22892802 | 36 days ago | IN | 0 HYPE | 0.00165627 | ||||
| Deposit | 22824298 | 36 days ago | IN | 0 HYPE | 0.00005922 | ||||
| Deposit | 22279698 | 43 days ago | IN | 0 HYPE | 0.00003975 | ||||
| Deposit | 20579797 | 62 days ago | IN | 0 HYPE | 0.00002069 | ||||
| Deposit | 20231874 | 66 days ago | IN | 0 HYPE | 0.00011848 | ||||
| Deposit | 20098767 | 67 days ago | IN | 0 HYPE | 0.00012497 | ||||
| Deposit | 20064466 | 68 days ago | IN | 0 HYPE | 0.00002519 | ||||
| Deposit | 19952315 | 69 days ago | IN | 0 HYPE | 0.00002205 | ||||
| Deposit | 19713488 | 72 days ago | IN | 0 HYPE | 0.00002678 | ||||
| Deposit | 19713098 | 72 days ago | IN | 0 HYPE | 0.00006363 | ||||
| Deposit | 19255753 | 77 days ago | IN | 0 HYPE | 0.00002638 | ||||
| Deposit | 18818622 | 82 days ago | IN | 0 HYPE | 0.00006362 | ||||
| Deposit | 18418997 | 87 days ago | IN | 0 HYPE | 0.00131479 | ||||
| Deposit | 18351047 | 87 days ago | IN | 0 HYPE | 0.00043866 | ||||
| Deposit | 17708423 | 95 days ago | IN | 0 HYPE | 0.00003952 | ||||
| Deposit | 17708338 | 95 days ago | IN | 0 HYPE | 0.00004708 | ||||
| Deposit | 17055833 | 102 days ago | IN | 0 HYPE | 0.00002962 | ||||
| Deposit | 17038083 | 102 days ago | IN | 0 HYPE | 0.00473063 | ||||
| Deposit | 17013022 | 103 days ago | IN | 0 HYPE | 0.00002973 | ||||
| Deposit | 16954771 | 103 days ago | IN | 0 HYPE | 0.00007522 | ||||
| Deposit | 16951020 | 103 days ago | IN | 0 HYPE | 0.00006362 | ||||
| Deposit | 16928351 | 103 days ago | IN | 0 HYPE | 0.00007693 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers.
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Block | From | To | ||||
|---|---|---|---|---|---|---|---|
| 25181787 | 10 days ago | 0 HYPE | |||||
| 25181787 | 10 days ago | 0 HYPE | |||||
| 25181787 | 10 days ago | 0 HYPE | |||||
| 25181787 | 10 days ago | 0 HYPE | |||||
| 25181787 | 10 days ago | 0 HYPE | |||||
| 24213210 | 21 days ago | 0 HYPE | |||||
| 24213210 | 21 days ago | 0 HYPE | |||||
| 24213210 | 21 days ago | 0 HYPE | |||||
| 24213210 | 21 days ago | 0 HYPE | |||||
| 24213210 | 21 days ago | 0 HYPE | |||||
| 23727718 | 26 days ago | 0 HYPE | |||||
| 23727718 | 26 days ago | 0 HYPE | |||||
| 23727718 | 26 days ago | 0 HYPE | |||||
| 23727718 | 26 days ago | 0 HYPE | |||||
| 23727718 | 26 days ago | 0 HYPE | |||||
| 22892802 | 36 days ago | 0 HYPE | |||||
| 22892802 | 36 days ago | 0 HYPE | |||||
| 22892802 | 36 days ago | 0 HYPE | |||||
| 22892802 | 36 days ago | 0 HYPE | |||||
| 22892802 | 36 days ago | 0 HYPE | |||||
| 22824298 | 36 days ago | 0 HYPE | |||||
| 22824298 | 36 days ago | 0 HYPE | |||||
| 22824298 | 36 days ago | 0 HYPE | |||||
| 22824298 | 36 days ago | 0 HYPE | |||||
| 22824298 | 36 days ago | 0 HYPE |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
stkUSDXLBouncer
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
No with 200 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.28;
import {Owned} from "lib/solmate/src/auth/Owned.sol";
import {ERC20} from "lib/solmate/src/tokens/ERC20.sol";
import {SafeTransferLib} from "lib/solmate/src/utils/SafeTransferLib.sol";
interface ITellerWithMultiAssetSupport {
function authority() external view returns (address);
function vault() external view returns (address);
function deposit(address token, uint256 amount, uint256 minSharesOut) external returns (uint256 sharesOut);
}
contract stkUSDXLBouncer is Owned {
using SafeTransferLib for ERC20;
ITellerWithMultiAssetSupport public immutable teller;
ERC20 public immutable usdxl;
ERC20 public immutable vault;
uint256 public depositLimit;
error DepositLimitExceeded();
error InvalidVault();
event SetDepositLimit(uint256 newLimit);
constructor(address _teller, address _usdxl, uint256 _depositLimit) Owned(msg.sender) {
teller = ITellerWithMultiAssetSupport(_teller);
usdxl = ERC20(_usdxl);
vault = ERC20(teller.vault());
if (address(vault) == address(0)) revert InvalidVault();
depositLimit = _depositLimit;
}
function setDepositLimit(uint256 _newLimit) external onlyOwner {
depositLimit = _newLimit;
emit SetDepositLimit(_newLimit);
}
modifier checkDepositLimit(uint256 _amount) {
// Check that deposit is within limit
if (usdxl.balanceOf(address(vault)) + _amount > depositLimit) revert DepositLimitExceeded();
_;
}
function deposit(uint256 _amount, uint256 _minSharesOut) external checkDepositLimit(_amount) returns (uint256 sharesOut) {
usdxl.safeTransferFrom(msg.sender, address(this), _amount);
usdxl.safeApprove(address(vault), _amount);
sharesOut = teller.deposit(address(usdxl), _amount, _minSharesOut);
vault.safeTransfer(msg.sender, sharesOut);
}
function depositWithPermit(uint256 _amount, uint256 _deadline, uint8 _v, bytes32 _r, bytes32 _s, uint256 _minSharesOut) external checkDepositLimit(_amount) returns (uint256 sharesOut) {
usdxl.permit(msg.sender, address(this), _amount, _deadline, _v, _r, _s);
usdxl.safeTransferFrom(msg.sender, address(this), _amount);
usdxl.safeApprove(address(vault), _amount);
sharesOut = teller.deposit(address(usdxl), _amount, _minSharesOut);
vault.safeTransfer(msg.sender, sharesOut);
}
}// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
/// @notice Simple single owner authorization mixin.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)
abstract contract Owned {
/*//////////////////////////////////////////////////////////////
EVENTS
//////////////////////////////////////////////////////////////*/
event OwnershipTransferred(address indexed user, address indexed newOwner);
/*//////////////////////////////////////////////////////////////
OWNERSHIP STORAGE
//////////////////////////////////////////////////////////////*/
address public owner;
modifier onlyOwner() virtual {
require(msg.sender == owner, "UNAUTHORIZED");
_;
}
/*//////////////////////////////////////////////////////////////
CONSTRUCTOR
//////////////////////////////////////////////////////////////*/
constructor(address _owner) {
owner = _owner;
emit OwnershipTransferred(address(0), _owner);
}
/*//////////////////////////////////////////////////////////////
OWNERSHIP LOGIC
//////////////////////////////////////////////////////////////*/
function transferOwnership(address newOwner) public virtual onlyOwner {
owner = newOwner;
emit OwnershipTransferred(msg.sender, newOwner);
}
}// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
/// @notice Modern and gas efficient ERC20 + EIP-2612 implementation.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)
/// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol)
/// @dev Do not manually set balances without updating totalSupply, as the sum of all user balances must not exceed it.
abstract contract ERC20 {
/*//////////////////////////////////////////////////////////////
EVENTS
//////////////////////////////////////////////////////////////*/
event Transfer(address indexed from, address indexed to, uint256 amount);
event Approval(address indexed owner, address indexed spender, uint256 amount);
/*//////////////////////////////////////////////////////////////
METADATA STORAGE
//////////////////////////////////////////////////////////////*/
string public name;
string public symbol;
uint8 public immutable decimals;
/*//////////////////////////////////////////////////////////////
ERC20 STORAGE
//////////////////////////////////////////////////////////////*/
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
/*//////////////////////////////////////////////////////////////
EIP-2612 STORAGE
//////////////////////////////////////////////////////////////*/
uint256 internal immutable INITIAL_CHAIN_ID;
bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR;
mapping(address => uint256) public nonces;
/*//////////////////////////////////////////////////////////////
CONSTRUCTOR
//////////////////////////////////////////////////////////////*/
constructor(
string memory _name,
string memory _symbol,
uint8 _decimals
) {
name = _name;
symbol = _symbol;
decimals = _decimals;
INITIAL_CHAIN_ID = block.chainid;
INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator();
}
/*//////////////////////////////////////////////////////////////
ERC20 LOGIC
//////////////////////////////////////////////////////////////*/
function approve(address spender, uint256 amount) public virtual returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function transfer(address to, uint256 amount) public virtual returns (bool) {
balanceOf[msg.sender] -= amount;
// Cannot overflow because the sum of all user
// balances can't exceed the max uint256 value.
unchecked {
balanceOf[to] += amount;
}
emit Transfer(msg.sender, to, amount);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) public virtual returns (bool) {
uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals.
if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount;
balanceOf[from] -= amount;
// Cannot overflow because the sum of all user
// balances can't exceed the max uint256 value.
unchecked {
balanceOf[to] += amount;
}
emit Transfer(from, to, amount);
return true;
}
/*//////////////////////////////////////////////////////////////
EIP-2612 LOGIC
//////////////////////////////////////////////////////////////*/
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) public virtual {
require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED");
// Unchecked because the only math done is incrementing
// the owner's nonce which cannot realistically overflow.
unchecked {
address recoveredAddress = ecrecover(
keccak256(
abi.encodePacked(
"\x19\x01",
DOMAIN_SEPARATOR(),
keccak256(
abi.encode(
keccak256(
"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"
),
owner,
spender,
value,
nonces[owner]++,
deadline
)
)
)
),
v,
r,
s
);
require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER");
allowance[recoveredAddress][spender] = value;
}
emit Approval(owner, spender, value);
}
function DOMAIN_SEPARATOR() public view virtual returns (bytes32) {
return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator();
}
function computeDomainSeparator() internal view virtual returns (bytes32) {
return
keccak256(
abi.encode(
keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
keccak256(bytes(name)),
keccak256("1"),
block.chainid,
address(this)
)
);
}
/*//////////////////////////////////////////////////////////////
INTERNAL MINT/BURN LOGIC
//////////////////////////////////////////////////////////////*/
function _mint(address to, uint256 amount) internal virtual {
totalSupply += amount;
// Cannot overflow because the sum of all user
// balances can't exceed the max uint256 value.
unchecked {
balanceOf[to] += amount;
}
emit Transfer(address(0), to, amount);
}
function _burn(address from, uint256 amount) internal virtual {
balanceOf[from] -= amount;
// Cannot underflow because a user's balance
// will never be larger than the total supply.
unchecked {
totalSupply -= amount;
}
emit Transfer(from, address(0), amount);
}
}// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
import {ERC20} from "../tokens/ERC20.sol";
/// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/SafeTransferLib.sol)
/// @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer.
library SafeTransferLib {
/*//////////////////////////////////////////////////////////////
ETH OPERATIONS
//////////////////////////////////////////////////////////////*/
function safeTransferETH(address to, uint256 amount) internal {
bool success;
/// @solidity memory-safe-assembly
assembly {
// Transfer the ETH and store if it succeeded or not.
success := call(gas(), to, amount, 0, 0, 0, 0)
}
require(success, "ETH_TRANSFER_FAILED");
}
/*//////////////////////////////////////////////////////////////
ERC20 OPERATIONS
//////////////////////////////////////////////////////////////*/
function safeTransferFrom(
ERC20 token,
address from,
address to,
uint256 amount
) internal {
bool success;
/// @solidity memory-safe-assembly
assembly {
// Get a pointer to some free memory.
let freeMemoryPointer := mload(0x40)
// Write the abi-encoded calldata into memory, beginning with the function selector.
mstore(freeMemoryPointer, 0x23b872dd00000000000000000000000000000000000000000000000000000000)
mstore(add(freeMemoryPointer, 4), and(from, 0xffffffffffffffffffffffffffffffffffffffff)) // Append and mask the "from" argument.
mstore(add(freeMemoryPointer, 36), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Append and mask the "to" argument.
mstore(add(freeMemoryPointer, 68), amount) // Append the "amount" argument. Masking not required as it's a full 32 byte type.
// We use 100 because the length of our calldata totals up like so: 4 + 32 * 3.
// We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.
success := call(gas(), token, 0, freeMemoryPointer, 100, 0, 32)
// Set success to whether the call reverted, if not we check it either
// returned exactly 1 (can't just be non-zero data), or had no return data and token has code.
if and(iszero(and(eq(mload(0), 1), gt(returndatasize(), 31))), success) {
success := iszero(or(iszero(extcodesize(token)), returndatasize()))
}
}
require(success, "TRANSFER_FROM_FAILED");
}
function safeTransfer(
ERC20 token,
address to,
uint256 amount
) internal {
bool success;
/// @solidity memory-safe-assembly
assembly {
// Get a pointer to some free memory.
let freeMemoryPointer := mload(0x40)
// Write the abi-encoded calldata into memory, beginning with the function selector.
mstore(freeMemoryPointer, 0xa9059cbb00000000000000000000000000000000000000000000000000000000)
mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Append and mask the "to" argument.
mstore(add(freeMemoryPointer, 36), amount) // Append the "amount" argument. Masking not required as it's a full 32 byte type.
// We use 68 because the length of our calldata totals up like so: 4 + 32 * 2.
// We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.
success := call(gas(), token, 0, freeMemoryPointer, 68, 0, 32)
// Set success to whether the call reverted, if not we check it either
// returned exactly 1 (can't just be non-zero data), or had no return data and token has code.
if and(iszero(and(eq(mload(0), 1), gt(returndatasize(), 31))), success) {
success := iszero(or(iszero(extcodesize(token)), returndatasize()))
}
}
require(success, "TRANSFER_FAILED");
}
function safeApprove(
ERC20 token,
address to,
uint256 amount
) internal {
bool success;
/// @solidity memory-safe-assembly
assembly {
// Get a pointer to some free memory.
let freeMemoryPointer := mload(0x40)
// Write the abi-encoded calldata into memory, beginning with the function selector.
mstore(freeMemoryPointer, 0x095ea7b300000000000000000000000000000000000000000000000000000000)
mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Append and mask the "to" argument.
mstore(add(freeMemoryPointer, 36), amount) // Append the "amount" argument. Masking not required as it's a full 32 byte type.
// We use 68 because the length of our calldata totals up like so: 4 + 32 * 2.
// We use 0 and 32 to copy up to 32 bytes of return data into the scratch space.
success := call(gas(), token, 0, freeMemoryPointer, 68, 0, 32)
// Set success to whether the call reverted, if not we check it either
// returned exactly 1 (can't just be non-zero data), or had no return data and token has code.
if and(iszero(and(eq(mload(0), 1), gt(returndatasize(), 31))), success) {
success := iszero(or(iszero(extcodesize(token)), returndatasize()))
}
}
require(success, "APPROVE_FAILED");
}
}{
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"appendCBOR": true,
"bytecodeHash": "ipfs",
"useLiteralContent": false
},
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": [
"ds-test/=lib/solmate/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"solmate/=lib/solmate/src/"
],
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_teller","type":"address"},{"internalType":"address","name":"_usdxl","type":"address"},{"internalType":"uint256","name":"_depositLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"DepositLimitExceeded","type":"error"},{"inputs":[],"name":"InvalidVault","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"SetDepositLimit","type":"event"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_minSharesOut","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"sharesOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"},{"internalType":"uint256","name":"_minSharesOut","type":"uint256"}],"name":"depositWithPermit","outputs":[{"internalType":"uint256","name":"sharesOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLimit","type":"uint256"}],"name":"setDepositLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"teller","outputs":[{"internalType":"contract ITellerWithMultiAssetSupport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"usdxl","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60e060405234801561000f575f5ffd5b5060405161170e38038061170e833981810160405281019061003191906102dd565b33805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a3919061032d565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505f73ffffffffffffffffffffffffffffffffffffffff1660c05173ffffffffffffffffffffffffffffffffffffffff160361023d576040517fd03a632000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600181905550505050610358565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027982610250565b9050919050565b6102898161026f565b8114610293575f5ffd5b50565b5f815190506102a481610280565b92915050565b5f819050919050565b6102bc816102aa565b81146102c6575f5ffd5b50565b5f815190506102d7816102b3565b92915050565b5f5f5f606084860312156102f4576102f361024c565b5b5f61030186828701610296565b935050602061031286828701610296565b9250506040610323868287016102c9565b9150509250925092565b5f602082840312156103425761034161024c565b5b5f61034f84828501610296565b91505092915050565b60805160a05160c0516113156103f95f395f8181610342015281816104500152818161057c0152818161060b015281816107ab015281816108d70152610a5801525f81816101c5015281816103060152818161040601528181610472015281816104f4015281816105cf015281816106c901528181610761015281816107cd015261084f01525f81816101e9015281816104b8015261081301526113155ff3fe608060405234801561000f575f5ffd5b5060043610610091575f3560e01c8063e2bbb15811610064578063e2bbb1581461010b578063e8b07ab71461013b578063ecf708581461016b578063f2fde38b14610189578063fbfa77cf146101a557610091565b806335bb300c1461009557806357edab4e146100b35780638da5cb5b146100d1578063bdc8144b146100ef575b5f5ffd5b61009d6101c3565b6040516100aa9190610d36565b60405180910390f35b6100bb6101e7565b6040516100c89190610d6f565b60405180910390f35b6100d961020b565b6040516100e69190610da8565b60405180910390f35b61010960048036038101906101049190610df8565b61022f565b005b61012560048036038101906101209190610e23565b6102fe565b6040516101329190610e70565b60405180910390f35b61015560048036038101906101509190610ef2565b6105c7565b6040516101629190610e70565b60405180910390f35b610173610926565b6040516101809190610e70565b60405180910390f35b6101a3600480360381019061019e9190610fa5565b61092c565b005b6101ad610a56565b6040516101ba9190610d36565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b49061102a565b60405180910390fd5b806001819055507f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc0816040516102f39190610e70565b60405180910390a150565b5f82600154817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161037d9190610da8565b602060405180830381865afa158015610398573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bc919061105c565b6103c691906110b4565b11156103fe576040517f6adf7e2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61044b3330867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610a7a909392919063ffffffff16565b6104b67f0000000000000000000000000000000000000000000000000000000000000000857f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b4e9092919063ffffffff16565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630efe6a8b7f000000000000000000000000000000000000000000000000000000000000000086866040518463ffffffff1660e01b8152600401610533939291906110e7565b6020604051808303815f875af115801561054f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610573919061105c565b91506105c033837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c059092919063ffffffff16565b5092915050565b5f86600154817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106469190610da8565b602060405180830381865afa158015610661573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610685919061105c565b61068f91906110b4565b11156106c7576040517f6adf7e2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d505accf33308b8b8b8b8b6040518863ffffffff1660e01b815260040161072c979695949392919061113a565b5f604051808303815f87803b158015610743575f5ffd5b505af1158015610755573d5f5f3e3d5ffd5b505050506107a633308a7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610a7a909392919063ffffffff16565b6108117f0000000000000000000000000000000000000000000000000000000000000000897f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b4e9092919063ffffffff16565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630efe6a8b7f00000000000000000000000000000000000000000000000000000000000000008a866040518463ffffffff1660e01b815260040161088e939291906110e7565b6020604051808303815f875af11580156108aa573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ce919061105c565b915061091b33837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c059092919063ffffffff16565b509695505050505050565b60015481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b19061102a565b60405180910390fd5b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015282604482015260205f6064835f8a5af1915081601f3d1160015f511416151615610b06573d863b15171591505b5080610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e906111f1565b60405180910390fd5b5050505050565b5f6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015282602482015260205f6044835f895af1915081601f3d1160015f511416151615610bbe573d853b15171591505b5080610bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf690611259565b60405180910390fd5b50505050565b5f6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015282602482015260205f6044835f895af1915081601f3d1160015f511416151615610c75573d853b15171591505b5080610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad906112c1565b60405180910390fd5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f610cfe610cf9610cf484610cbc565b610cdb565b610cbc565b9050919050565b5f610d0f82610ce4565b9050919050565b5f610d2082610d05565b9050919050565b610d3081610d16565b82525050565b5f602082019050610d495f830184610d27565b92915050565b5f610d5982610d05565b9050919050565b610d6981610d4f565b82525050565b5f602082019050610d825f830184610d60565b92915050565b5f610d9282610cbc565b9050919050565b610da281610d88565b82525050565b5f602082019050610dbb5f830184610d99565b92915050565b5f5ffd5b5f819050919050565b610dd781610dc5565b8114610de1575f5ffd5b50565b5f81359050610df281610dce565b92915050565b5f60208284031215610e0d57610e0c610dc1565b5b5f610e1a84828501610de4565b91505092915050565b5f5f60408385031215610e3957610e38610dc1565b5b5f610e4685828601610de4565b9250506020610e5785828601610de4565b9150509250929050565b610e6a81610dc5565b82525050565b5f602082019050610e835f830184610e61565b92915050565b5f60ff82169050919050565b610e9e81610e89565b8114610ea8575f5ffd5b50565b5f81359050610eb981610e95565b92915050565b5f819050919050565b610ed181610ebf565b8114610edb575f5ffd5b50565b5f81359050610eec81610ec8565b92915050565b5f5f5f5f5f5f60c08789031215610f0c57610f0b610dc1565b5b5f610f1989828a01610de4565b9650506020610f2a89828a01610de4565b9550506040610f3b89828a01610eab565b9450506060610f4c89828a01610ede565b9350506080610f5d89828a01610ede565b92505060a0610f6e89828a01610de4565b9150509295509295509295565b610f8481610d88565b8114610f8e575f5ffd5b50565b5f81359050610f9f81610f7b565b92915050565b5f60208284031215610fba57610fb9610dc1565b5b5f610fc784828501610f91565b91505092915050565b5f82825260208201905092915050565b7f554e415554484f52495a454400000000000000000000000000000000000000005f82015250565b5f611014600c83610fd0565b915061101f82610fe0565b602082019050919050565b5f6020820190508181035f83015261104181611008565b9050919050565b5f8151905061105681610dce565b92915050565b5f6020828403121561107157611070610dc1565b5b5f61107e84828501611048565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6110be82610dc5565b91506110c983610dc5565b92508282019050808211156110e1576110e0611087565b5b92915050565b5f6060820190506110fa5f830186610d99565b6111076020830185610e61565b6111146040830184610e61565b949350505050565b61112581610e89565b82525050565b61113481610ebf565b82525050565b5f60e08201905061114d5f83018a610d99565b61115a6020830189610d99565b6111676040830188610e61565b6111746060830187610e61565b611181608083018661111c565b61118e60a083018561112b565b61119b60c083018461112b565b98975050505050505050565b7f5452414e534645525f46524f4d5f4641494c45440000000000000000000000005f82015250565b5f6111db601483610fd0565b91506111e6826111a7565b602082019050919050565b5f6020820190508181035f830152611208816111cf565b9050919050565b7f415050524f56455f4641494c45440000000000000000000000000000000000005f82015250565b5f611243600e83610fd0565b915061124e8261120f565b602082019050919050565b5f6020820190508181035f83015261127081611237565b9050919050565b7f5452414e534645525f4641494c454400000000000000000000000000000000005f82015250565b5f6112ab600f83610fd0565b91506112b682611277565b602082019050919050565b5f6020820190508181035f8301526112d88161129f565b905091905056fea2646970667358221220fddd86b361d102359b1cc54ad8472edaf5f95c042dea75ef853eafd883def4ac64736f6c634300081c00330000000000000000000000009874a7f2c7b970be421383590e314efd324df188000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64500000000000000000000000000000000000000000000152d02c7e14af6800000
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610091575f3560e01c8063e2bbb15811610064578063e2bbb1581461010b578063e8b07ab71461013b578063ecf708581461016b578063f2fde38b14610189578063fbfa77cf146101a557610091565b806335bb300c1461009557806357edab4e146100b35780638da5cb5b146100d1578063bdc8144b146100ef575b5f5ffd5b61009d6101c3565b6040516100aa9190610d36565b60405180910390f35b6100bb6101e7565b6040516100c89190610d6f565b60405180910390f35b6100d961020b565b6040516100e69190610da8565b60405180910390f35b61010960048036038101906101049190610df8565b61022f565b005b61012560048036038101906101209190610e23565b6102fe565b6040516101329190610e70565b60405180910390f35b61015560048036038101906101509190610ef2565b6105c7565b6040516101629190610e70565b60405180910390f35b610173610926565b6040516101809190610e70565b60405180910390f35b6101a3600480360381019061019e9190610fa5565b61092c565b005b6101ad610a56565b6040516101ba9190610d36565b60405180910390f35b7f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64581565b7f0000000000000000000000009874a7f2c7b970be421383590e314efd324df18881565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b49061102a565b60405180910390fd5b806001819055507f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc0816040516102f39190610e70565b60405180910390a150565b5f82600154817f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64573ffffffffffffffffffffffffffffffffffffffff166370a082317f0000000000000000000000009992ed1214ea2bc91b0587b37c3e03d5e2a242c16040518263ffffffff1660e01b815260040161037d9190610da8565b602060405180830381865afa158015610398573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103bc919061105c565b6103c691906110b4565b11156103fe576040517f6adf7e2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61044b3330867f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64573ffffffffffffffffffffffffffffffffffffffff16610a7a909392919063ffffffff16565b6104b67f0000000000000000000000009992ed1214ea2bc91b0587b37c3e03d5e2a242c1857f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64573ffffffffffffffffffffffffffffffffffffffff16610b4e9092919063ffffffff16565b7f0000000000000000000000009874a7f2c7b970be421383590e314efd324df18873ffffffffffffffffffffffffffffffffffffffff16630efe6a8b7f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64586866040518463ffffffff1660e01b8152600401610533939291906110e7565b6020604051808303815f875af115801561054f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610573919061105c565b91506105c033837f0000000000000000000000009992ed1214ea2bc91b0587b37c3e03d5e2a242c173ffffffffffffffffffffffffffffffffffffffff16610c059092919063ffffffff16565b5092915050565b5f86600154817f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64573ffffffffffffffffffffffffffffffffffffffff166370a082317f0000000000000000000000009992ed1214ea2bc91b0587b37c3e03d5e2a242c16040518263ffffffff1660e01b81526004016106469190610da8565b602060405180830381865afa158015610661573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610685919061105c565b61068f91906110b4565b11156106c7576040517f6adf7e2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64573ffffffffffffffffffffffffffffffffffffffff1663d505accf33308b8b8b8b8b6040518863ffffffff1660e01b815260040161072c979695949392919061113a565b5f604051808303815f87803b158015610743575f5ffd5b505af1158015610755573d5f5f3e3d5ffd5b505050506107a633308a7f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64573ffffffffffffffffffffffffffffffffffffffff16610a7a909392919063ffffffff16565b6108117f0000000000000000000000009992ed1214ea2bc91b0587b37c3e03d5e2a242c1897f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64573ffffffffffffffffffffffffffffffffffffffff16610b4e9092919063ffffffff16565b7f0000000000000000000000009874a7f2c7b970be421383590e314efd324df18873ffffffffffffffffffffffffffffffffffffffff16630efe6a8b7f000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc6458a866040518463ffffffff1660e01b815260040161088e939291906110e7565b6020604051808303815f875af11580156108aa573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ce919061105c565b915061091b33837f0000000000000000000000009992ed1214ea2bc91b0587b37c3e03d5e2a242c173ffffffffffffffffffffffffffffffffffffffff16610c059092919063ffffffff16565b509695505050505050565b60015481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b19061102a565b60405180910390fd5b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b7f0000000000000000000000009992ed1214ea2bc91b0587b37c3e03d5e2a242c181565b5f6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8416602482015282604482015260205f6064835f8a5af1915081601f3d1160015f511416151615610b06573d863b15171591505b5080610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e906111f1565b60405180910390fd5b5050505050565b5f6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015282602482015260205f6044835f895af1915081601f3d1160015f511416151615610bbe573d853b15171591505b5080610bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf690611259565b60405180910390fd5b50505050565b5f6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015282602482015260205f6044835f895af1915081601f3d1160015f511416151615610c75573d853b15171591505b5080610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad906112c1565b60405180910390fd5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f610cfe610cf9610cf484610cbc565b610cdb565b610cbc565b9050919050565b5f610d0f82610ce4565b9050919050565b5f610d2082610d05565b9050919050565b610d3081610d16565b82525050565b5f602082019050610d495f830184610d27565b92915050565b5f610d5982610d05565b9050919050565b610d6981610d4f565b82525050565b5f602082019050610d825f830184610d60565b92915050565b5f610d9282610cbc565b9050919050565b610da281610d88565b82525050565b5f602082019050610dbb5f830184610d99565b92915050565b5f5ffd5b5f819050919050565b610dd781610dc5565b8114610de1575f5ffd5b50565b5f81359050610df281610dce565b92915050565b5f60208284031215610e0d57610e0c610dc1565b5b5f610e1a84828501610de4565b91505092915050565b5f5f60408385031215610e3957610e38610dc1565b5b5f610e4685828601610de4565b9250506020610e5785828601610de4565b9150509250929050565b610e6a81610dc5565b82525050565b5f602082019050610e835f830184610e61565b92915050565b5f60ff82169050919050565b610e9e81610e89565b8114610ea8575f5ffd5b50565b5f81359050610eb981610e95565b92915050565b5f819050919050565b610ed181610ebf565b8114610edb575f5ffd5b50565b5f81359050610eec81610ec8565b92915050565b5f5f5f5f5f5f60c08789031215610f0c57610f0b610dc1565b5b5f610f1989828a01610de4565b9650506020610f2a89828a01610de4565b9550506040610f3b89828a01610eab565b9450506060610f4c89828a01610ede565b9350506080610f5d89828a01610ede565b92505060a0610f6e89828a01610de4565b9150509295509295509295565b610f8481610d88565b8114610f8e575f5ffd5b50565b5f81359050610f9f81610f7b565b92915050565b5f60208284031215610fba57610fb9610dc1565b5b5f610fc784828501610f91565b91505092915050565b5f82825260208201905092915050565b7f554e415554484f52495a454400000000000000000000000000000000000000005f82015250565b5f611014600c83610fd0565b915061101f82610fe0565b602082019050919050565b5f6020820190508181035f83015261104181611008565b9050919050565b5f8151905061105681610dce565b92915050565b5f6020828403121561107157611070610dc1565b5b5f61107e84828501611048565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6110be82610dc5565b91506110c983610dc5565b92508282019050808211156110e1576110e0611087565b5b92915050565b5f6060820190506110fa5f830186610d99565b6111076020830185610e61565b6111146040830184610e61565b949350505050565b61112581610e89565b82525050565b61113481610ebf565b82525050565b5f60e08201905061114d5f83018a610d99565b61115a6020830189610d99565b6111676040830188610e61565b6111746060830187610e61565b611181608083018661111c565b61118e60a083018561112b565b61119b60c083018461112b565b98975050505050505050565b7f5452414e534645525f46524f4d5f4641494c45440000000000000000000000005f82015250565b5f6111db601483610fd0565b91506111e6826111a7565b602082019050919050565b5f6020820190508181035f830152611208816111cf565b9050919050565b7f415050524f56455f4641494c45440000000000000000000000000000000000005f82015250565b5f611243600e83610fd0565b915061124e8261120f565b602082019050919050565b5f6020820190508181035f83015261127081611237565b9050919050565b7f5452414e534645525f4641494c454400000000000000000000000000000000005f82015250565b5f6112ab600f83610fd0565b91506112b682611277565b602082019050919050565b5f6020820190508181035f8301526112d88161129f565b905091905056fea2646970667358221220fddd86b361d102359b1cc54ad8472edaf5f95c042dea75ef853eafd883def4ac64736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009874a7f2c7b970be421383590e314efd324df188000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc64500000000000000000000000000000000000000000000152d02c7e14af6800000
-----Decoded View---------------
Arg [0] : _teller (address): 0x9874a7f2C7b970Be421383590e314EFD324df188
Arg [1] : _usdxl (address): 0xca79db4B49f608eF54a5CB813FbEd3a6387bC645
Arg [2] : _depositLimit (uint256): 100000000000000000000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009874a7f2c7b970be421383590e314efd324df188
Arg [1] : 000000000000000000000000ca79db4b49f608ef54a5cb813fbed3a6387bc645
Arg [2] : 00000000000000000000000000000000000000000000152d02c7e14af6800000
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in HYPE
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
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.