ETH Price: $4,417.58 (-1.33%)

Contract

0x657e8C867D8B37dCC18fA4Caead9C45EB088C642
 

More Info

Private Name Tags

TokenTracker

ether.fi BTC (eBTC) ($120,974.00)

Multichain Info

Transaction Hash
Method
Block
Age
From
To
Approve235388702025-10-09 8:05:233 mins ago1759997123IN
ether.fi: eBTC Token
0 ETH0.000007390.16026477
Transfer235380682025-10-09 5:23:232 hrs ago1759987403IN
ether.fi: eBTC Token
0 ETH0.000005020.11404191
Approve235378672025-10-09 4:42:593 hrs ago1759984979IN
ether.fi: eBTC Token
0 ETH0.000028430.61626343
Approve235378082025-10-09 4:30:593 hrs ago1759984259IN
ether.fi: eBTC Token
0 ETH0.000043610.94514168
Transfer235365892025-10-09 0:25:477 hrs ago1759969547IN
ether.fi: eBTC Token
0 ETH0.000043091.10670688
Transfer235365872025-10-09 0:25:237 hrs ago1759969523IN
ether.fi: eBTC Token
0 ETH0.000061291.00189928
Approve235364692025-10-09 0:01:478 hrs ago1759968107IN
ether.fi: eBTC Token
0 ETH0.00007441.60036448
Approve235357552025-10-08 21:38:1110 hrs ago1759959491IN
ether.fi: eBTC Token
0 ETH0.000056661.22046419
Approve235357362025-10-08 21:34:1110 hrs ago1759959251IN
ether.fi: eBTC Token
0 ETH0.000005060.19316675
Approve235357352025-10-08 21:33:5910 hrs ago1759959239IN
ether.fi: eBTC Token
0 ETH0.000008570.18589829
Approve235344552025-10-08 17:15:5914 hrs ago1759943759IN
ether.fi: eBTC Token
0 ETH0.000052152.15474712
Approve235341492025-10-08 16:13:5915 hrs ago1759940039IN
ether.fi: eBTC Token
0 ETH0.000105562.28774688
Approve235340982025-10-08 16:03:4716 hrs ago1759939427IN
ether.fi: eBTC Token
0 ETH0.000018430.63476833
Transfer235338162025-10-08 15:06:4717 hrs ago1759936007IN
ether.fi: eBTC Token
0 ETH0.000047890.78284866
Approve235335882025-10-08 14:20:5917 hrs ago1759933259IN
ether.fi: eBTC Token
0 ETH0.000109012.36249548
Approve235333202025-10-08 13:26:5918 hrs ago1759930019IN
ether.fi: eBTC Token
0 ETH0.000048791.05081393
Approve235332972025-10-08 13:22:2318 hrs ago1759929743IN
ether.fi: eBTC Token
0 ETH0.000011740.25447443
Approve235332952025-10-08 13:21:5918 hrs ago1759929719IN
ether.fi: eBTC Token
0 ETH0.000030661.26676168
Approve235332942025-10-08 13:21:4718 hrs ago1759929707IN
ether.fi: eBTC Token
0 ETH0.000030611.2648878
Approve235331392025-10-08 12:50:2319 hrs ago1759927823IN
ether.fi: eBTC Token
0 ETH0.000056491.21684746
Approve235323872025-10-08 10:17:2321 hrs ago1759918643IN
ether.fi: eBTC Token
0 ETH0.000009980.2164658
Approve235323542025-10-08 10:10:4721 hrs ago1759918247IN
ether.fi: eBTC Token
0 ETH0.000009030.1957448
Approve235323532025-10-08 10:10:3521 hrs ago1759918235IN
ether.fi: eBTC Token
0 ETH0.000009680.21031659
Transfer235323282025-10-08 10:05:3522 hrs ago1759917935IN
ether.fi: eBTC Token
0 ETH0.000067071.72282174
Transfer235323272025-10-08 10:05:2322 hrs ago1759917923IN
ether.fi: eBTC Token
0 ETH0.000050010.81757243
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
Age
From
To
0x60e06040205234552024-08-14 1:01:47421 days ago1723597307
 Contract Creation
0 ETH
Cross-Chain Transactions

Block Age Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Age Amount
View All Withdrawals

Transaction Hash Block Age Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x91588c19...cD52CbA24
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
BoringVault

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
shanghai EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
import {Address} from "@openzeppelin/contracts/utils/Address.sol";
import {ERC721Holder} from "@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol";
import {ERC1155Holder} from "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";
import {FixedPointMathLib} from "@solmate/utils/FixedPointMathLib.sol";
import {SafeTransferLib} from "@solmate/utils/SafeTransferLib.sol";
import {ERC20} from "@solmate/tokens/ERC20.sol";
import {BeforeTransferHook} from "src/interfaces/BeforeTransferHook.sol";
import {Auth, Authority} from "@solmate/auth/Auth.sol";
contract BoringVault is ERC20, Auth, ERC721Holder, ERC1155Holder {
using Address for address;
using SafeTransferLib for ERC20;
using FixedPointMathLib for uint256;
// ========================================= STATE =========================================
/**
* @notice Contract responsbile for implementing `beforeTransfer`.
*/
BeforeTransferHook public hook;
//============================== EVENTS ===============================
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol)
pragma solidity ^0.8.20;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev The ETH balance of the account is not enough to perform the operation.
*/
error AddressInsufficientBalance(address account);
/**
* @dev There's no code at `target` (it is not a contract).
*/
error AddressEmptyCode(address target);
/**
* @dev A call to an address target failed. The target may have reverted.
*/
error FailedInnerCall();
/**
* @dev Replacement for Solidity's `transfer`: sends `amount` wei to
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 13 : ERC721Holder.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/utils/ERC721Holder.sol)
pragma solidity ^0.8.20;
import {IERC721Receiver} from "../IERC721Receiver.sol";
/**
* @dev Implementation of the {IERC721Receiver} interface.
*
* Accepts all token transfers.
* Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or
* {IERC721-setApprovalForAll}.
*/
abstract contract ERC721Holder is IERC721Receiver {
/**
* @dev See {IERC721Receiver-onERC721Received}.
*
* Always returns `IERC721Receiver.onERC721Received.selector`.
*/
function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {
return this.onERC721Received.selector;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/utils/ERC1155Holder.sol)
pragma solidity ^0.8.20;
import {IERC165, ERC165} from "../../../utils/introspection/ERC165.sol";
import {IERC1155Receiver} from "../IERC1155Receiver.sol";
/**
* @dev Simple implementation of `IERC1155Receiver` that will allow a contract to hold ERC1155 tokens.
*
* IMPORTANT: When inheriting this contract, you must include a way to use the received tokens, otherwise they will be
* stuck.
*/
abstract contract ERC1155Holder is ERC165, IERC1155Receiver {
/**
* @dev See {IERC165-supportsInterface}.
*/
function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);
}
function onERC1155Received(
address,
address,
uint256,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
/// @notice Arithmetic library with operations for fixed-point numbers.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/FixedPointMathLib.sol)
/// @author Inspired by USM (https://github.com/usmfum/USM/blob/master/contracts/WadMath.sol)
library FixedPointMathLib {
/*//////////////////////////////////////////////////////////////
SIMPLIFIED FIXED POINT OPERATIONS
//////////////////////////////////////////////////////////////*/
uint256 internal constant MAX_UINT256 = 2**256 - 1;
uint256 internal constant WAD = 1e18; // The scalar of ETH and most ERC20s.
function mulWadDown(uint256 x, uint256 y) internal pure returns (uint256) {
return mulDivDown(x, y, WAD); // Equivalent to (x * y) / WAD rounded down.
}
function mulWadUp(uint256 x, uint256 y) internal pure returns (uint256) {
return mulDivUp(x, y, WAD); // Equivalent to (x * y) / WAD rounded up.
}
function divWadDown(uint256 x, uint256 y) internal pure returns (uint256) {
return mulDivDown(x, WAD, y); // Equivalent to (x * WAD) / y rounded down.
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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.
/// @dev Note that none of the functions in this library check that a token has code at all! That responsibility is delegated to the caller.
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");
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
interface BeforeTransferHook {
function beforeTransfer(address from, address to, address operator) external view;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;
/// @notice Provides a flexible and updatable auth pattern which is completely separate from application logic.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)
/// @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)
abstract contract Auth {
event OwnershipTransferred(address indexed user, address indexed newOwner);
event AuthorityUpdated(address indexed user, Authority indexed newAuthority);
address public owner;
Authority public authority;
constructor(address _owner, Authority _authority) {
owner = _owner;
authority = _authority;
emit OwnershipTransferred(msg.sender, _owner);
emit AuthorityUpdated(msg.sender, _authority);
}
modifier requiresAuth() virtual {
require(isAuthorized(msg.sender, msg.sig), "UNAUTHORIZED");
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 13 : IERC721Receiver.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721Receiver.sol)
pragma solidity ^0.8.20;
/**
* @title ERC721 token receiver interface
* @dev Interface for any contract that wants to support safeTransfers
* from ERC721 asset contracts.
*/
interface IERC721Receiver {
/**
* @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}
* by `operator` from `from`, this function is called.
*
* It must return its Solidity selector to confirm the token transfer.
* If any other value is returned or the interface is not implemented by the recipient, the transfer will be
* reverted.
*
* The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.
*/
function onERC721Received(
address operator,
address from,
uint256 tokenId,
bytes calldata data
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/ERC165.sol)
pragma solidity ^0.8.20;
import {IERC165} from "./IERC165.sol";
/**
* @dev Implementation of the {IERC165} interface.
*
* Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check
* for the additional interface id that will be supported. For example:
*
* ```solidity
* function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
* return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);
* }
* ```
*/
abstract contract ERC165 is IERC165 {
/**
* @dev See {IERC165-supportsInterface}.
*/
function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {
return interfaceId == type(IERC165).interfaceId;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/IERC1155Receiver.sol)
pragma solidity ^0.8.20;
import {IERC165} from "../../utils/introspection/IERC165.sol";
/**
* @dev Interface that must be implemented by smart contracts in order to receive
* ERC-1155 token transfers.
*/
interface IERC1155Receiver is IERC165 {
/**
* @dev Handles the receipt of a single ERC1155 token type. This function is
* called at the end of a `safeTransferFrom` after the balance has been updated.
*
* NOTE: To accept the transfer, this must return
* `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`
* (i.e. 0xf23a6e61, or its own function selector).
*
* @param operator The address which initiated the transfer (i.e. msg.sender)
* @param from The address which previously owned the token
* @param id The ID of the token being transferred
* @param value The amount of tokens being transferred
* @param data Additional data with no specified format
* @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/introspection/IERC165.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC165 standard, as defined in the
* https://eips.ethereum.org/EIPS/eip-165[EIP].
*
* Implementers can declare support of contract interfaces, which can then be
* queried by others ({ERC165Checker}).
*
* For an implementation, see {ERC165}.
*/
interface IERC165 {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
* to learn more about how these ids are created.
*
* This function call must use less than 30 000 gas.
*/
function supportsInterface(bytes4 interfaceId) external view returns (bool);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Settings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"remappings": [
"@solmate/=lib/solmate/src/",
"@forge-std/=lib/forge-std/src/",
"@ds-test/=lib/forge-std/lib/ds-test/src/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"@openzeppelin/=lib/openzeppelin-contracts/",
"@ccip/=lib/ccip/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"LayerZero-v2/=lib/LayerZero-v2/",
"ccip/=lib/ccip/contracts/",
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"solmate/=lib/solmate/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Enter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Exit","type":"event"},{"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"enter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hook","outputs":[{"internalType":"contract BeforeTransferHook","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"data","type":"bytes[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"manage","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"manage","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","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"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_hook","type":"address"}],"name":"setBeforeTransferHook","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

0x60e060405234801562000010575f80fd5b506040516200225338038062002253833981016040819052620000339162000263565b835f848484836200004584826200038c565b5060016200005483826200038c565b5060ff81166080524660a0526200006a6200010b565b60c0525050600680546001600160a01b038086166001600160a01b03199283168117909355600780549186169190921617905560405190915033907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a3505050505050620004ce565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200013d919062000454565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001c9575f80fd5b81516001600160401b0380821115620001e657620001e6620001a5565b604051601f8301601f19908116603f01168101908282118183101715620002115762000211620001a5565b816040528381526020925086838588010111156200022d575f80fd5b5f91505b8382101562000250578582018301518183018401529082019062000231565b5f93810190920192909252949350505050565b5f805f806080858703121562000277575f80fd5b84516001600160a01b03811681146200028e575f80fd5b60208601519094506001600160401b0380821115620002ab575f80fd5b620002b988838901620001b9565b94506040870151915080821115620002cf575f80fd5b50620002de87828801620001b9565b925050606085015160ff81168114620002f5575f80fd5b939692955090935050565b600181811c908216806200031557607f821691505b6020821081036200033457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000387575f81815260208120601f850160051c81016020861015620003625750805b601f850160051c820191505b8181101562000383578281556001016200036e565b5050505b505050565b81516001600160401b03811115620003a857620003a8620001a5565b620003c081620003b9845462000300565b846200033a565b602080601f831160018114620003f6575f8415620003de5750858301515b5f19600386901b1c1916600185901b17855562000383565b5f85815260208120601f198616915b82811015620004265788860151825594840194600190910190840162000405565b50858210156200044457878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f808354620004638162000300565b600182811680156200047e57600181146200049457620004c2565b60ff1984168752821515830287019450620004c2565b875f526020805f205f5b85811015620004b95781548a8201529084019082016200049e565b50505082870194505b50929695505050505050565b60805160a05160c051611d5a620004f95f395f61092901525f6108f401525f6102e00152611d5a5ff3fe60806040526004361061017e575f3560e01c80637ecebe00116100cd578063bc197c8111610087578063dd62ed3e11610062578063dd62ed3e146104cd578063f23a6e6114610503578063f2fde38b1461052e578063f6e715d01461054d575f80fd5b8063bc197c8114610464578063bf7e214f1461048f578063d505accf146104ae575f80fd5b80637ecebe00146103915780637f5a7c7b146103bc5780638929565f146103f35780638da5cb5b1461041257806395d89b4114610431578063a9059cbb14610445575f80fd5b8063224d8703116101385780633644e515116101135780633644e5151461031457806339d6ba321461032857806370a08231146103475780637a9e5e4b14610372575f80fd5b8063224d87031461028457806323b872dd146102b0578063313ce567146102cf575f80fd5b806301ffc9a71461018957806306fdde03146101bd578063095ea7b3146101de578063150b7a02146101fd57806318160ddd1461024057806318457e6114610263575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506101a86101a336600461147e565b61056c565b60405190151581526020015b60405180910390f35b3480156101c8575f80fd5b506101d16105a2565b6040516101b491906114f2565b3480156101e9575f80fd5b506101a86101f8366004611518565b61062d565b348015610208575f80fd5b506102276102173660046115f3565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101b4565b34801561024b575f80fd5b5061025560025481565b6040519081526020016101b4565b34801561026e575f80fd5b5061028261027d36600461165b565b610698565b005b34801561028f575f80fd5b506102a361029e3660046116fa565b61075d565b6040516101b4919061178d565b3480156102bb575f80fd5b506101a86102ca3660046117ed565b6108d1565b3480156102da575f80fd5b506103027f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101b4565b34801561031f575f80fd5b506102556108f1565b348015610333575f80fd5b5061028261034236600461165b565b61094b565b348015610352575f80fd5b5061025561036136600461182b565b60036020525f908152604090205481565b34801561037d575f80fd5b5061028261038c36600461182b565b6109f9565b34801561039c575f80fd5b506102556103ab36600461182b565b60056020525f908152604090205481565b3480156103c7575f80fd5b506008546103db906001600160a01b031681565b6040516001600160a01b0390911681526020016101b4565b3480156103fe575f80fd5b5061028261040d36600461182b565b610ade565b34801561041d575f80fd5b506006546103db906001600160a01b031681565b34801561043c575f80fd5b506101d1610b31565b348015610450575f80fd5b506101a861045f366004611518565b610b3e565b34801561046f575f80fd5b5061022761047e3660046118c3565b63bc197c8160e01b95945050505050565b34801561049a575f80fd5b506007546103db906001600160a01b031681565b3480156104b9575f80fd5b506102826104c836600461196a565b610b53565b3480156104d8575f80fd5b506102556104e73660046119db565b600460209081525f928352604080842090915290825290205481565b34801561050e575f80fd5b5061022761051d366004611a12565b63f23a6e6160e01b95945050505050565b348015610539575f80fd5b5061028261054836600461182b565b610d91565b348015610558575f80fd5b506101d1610567366004611a76565b610e0d565b5f6001600160e01b03198216630271189760e51b148061059c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f80546105ae90611afa565b80601f01602080910402602001604051908101604052809291908181526020018280546105da90611afa565b80156106255780601f106105fc57610100808354040283529160200191610625565b820191905f5260205f20905b81548152906001019060200180831161060857829003601f168201915b505050505081565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106879086815260200190565b60405180910390a350600192915050565b6106ad335f356001600160e01b031916610e93565b6106d25760405162461bcd60e51b81526004016106c990611b32565b60405180910390fd5b6106dc8282610f3a565b82156106f6576106f66001600160a01b0385168685610fa1565b816001600160a01b0316846001600160a01b0316866001600160a01b03167fe0c82280a1164680e0cf43be7db4c4c9f985423623ad7a544fb76c772bdc6043868560405161074e929190918252602082015260400190565b60405180910390a45050505050565b6060610774335f356001600160e01b031916610e93565b6107905760405162461bcd60e51b81526004016106c990611b32565b858067ffffffffffffffff8111156107aa576107aa611542565b6040519080825280602002602001820160405280156107dd57816020015b60608152602001906001900390816107c85790505b5091505f5b818110156108c5576108978787838181106107ff576107ff611b58565b90506020028101906108119190611b6c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525089925088915085905081811061085957610859611b58565b905060200201358b8b8581811061087257610872611b58565b9050602002016020810190610887919061182b565b6001600160a01b03169190611024565b8382815181106108a9576108a9611b58565b6020026020010181905250806108be90611bc3565b90506107e2565b50509695505050505050565b5f6108dc84846110bd565b6108e784848461113a565b90505b9392505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000461461092657610921611214565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b610960335f356001600160e01b031916610e93565b61097c5760405162461bcd60e51b81526004016106c990611b32565b8215610997576109976001600160a01b0385168630866112ac565b6109a18282611344565b816001600160a01b0316846001600160a01b0316866001600160a01b03167fea00f88768a86184a6e515238a549c171769fe7460a011d6fd0bcd48ca078ea4868560405161074e929190918252602082015260400190565b6006546001600160a01b0316331480610a8b575060075460405163b700961360e01b81526001600160a01b039091169063b700961390610a4c90339030906001600160e01b03195f351690600401611bdb565b602060405180830381865afa158015610a67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8b9190611c08565b610a93575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b610af3335f356001600160e01b031916610e93565b610b0f5760405162461bcd60e51b81526004016106c990611b32565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b600180546105ae90611afa565b5f610b4933846110bd565b6108ea8383611393565b42841015610ba35760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016106c9565b5f6001610bae6108f1565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cb6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811615801590610cec5750876001600160a01b0316816001600160a01b0316145b610d295760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b60448201526064016106c9565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b610da6335f356001600160e01b031916610e93565b610dc25760405162461bcd60e51b81526004016106c990611b32565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6060610e24335f356001600160e01b031916610e93565b610e405760405162461bcd60e51b81526004016106c990611b32565b610e8a84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050506001600160a01b03881691905084611024565b95945050505050565b6007545f906001600160a01b03168015801590610f1a575060405163b700961360e01b81526001600160a01b0382169063b700961390610edb90879030908890600401611bdb565b602060405180830381865afa158015610ef6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1a9190611c08565b80610f3257506006546001600160a01b038581169116145b949350505050565b6001600160a01b0382165f9081526003602052604081208054839290610f61908490611c27565b90915550506002805482900390556040518181525f906001600160a01b038416905f80516020611d05833981519152906020015b60405180910390a35050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f51141617169150508061101e5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064016106c9565b50505050565b6060814710156110495760405163cd78605960e01b81523060048201526024016106c9565b5f80856001600160a01b031684866040516110649190611c3a565b5f6040518083038185875af1925050503d805f811461109e576040519150601f19603f3d011682016040523d82523d5f602084013e6110a3565b606091505b50915091506110b38683836113f6565b9695505050505050565b6008546001600160a01b03161561113657600854604051630abd626b60e41b81526001600160a01b03848116600483015283811660248301523360448301529091169063abd626b0906064015f6040518083038186803b15801561111f575f80fd5b505afa158015611131573d5f803e3d5ffd5b505050505b5050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f1981146111935761116f8382611c27565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f90815260036020526040812080548592906111ba908490611c27565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f80516020611d05833981519152906112019087815260200190565b60405180910390a3506001949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516112449190611c55565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af13d15601f3d1160015f51141617169150508061133d5760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b60448201526064016106c9565b5050505050565b8060025f8282546113559190611cf1565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f80516020611d058339815191529101610f95565b335f908152600360205260408120805483919083906113b3908490611c27565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f80516020611d05833981519152906106879086815260200190565b60608261140b5761140682611452565b6108ea565b815115801561142257506001600160a01b0384163b155b1561144b57604051639996b31560e01b81526001600160a01b03851660048201526024016106c9565b50806108ea565b8051156114625780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f6020828403121561148e575f80fd5b81356001600160e01b0319811681146108ea575f80fd5b5f5b838110156114bf5781810151838201526020016114a7565b50505f910152565b5f81518084526114de8160208601602086016114a5565b601f01601f19169290920160200192915050565b602081525f6108ea60208301846114c7565b6001600160a01b038116811461147b575f80fd5b5f8060408385031215611529575f80fd5b823561153481611504565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561157f5761157f611542565b604052919050565b5f82601f830112611596575f80fd5b813567ffffffffffffffff8111156115b0576115b0611542565b6115c3601f8201601f1916602001611556565b8181528460208386010111156115d7575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611606575f80fd5b843561161181611504565b9350602085013561162181611504565b925060408501359150606085013567ffffffffffffffff811115611643575f80fd5b61164f87828801611587565b91505092959194509250565b5f805f805f60a0868803121561166f575f80fd5b853561167a81611504565b9450602086013561168a81611504565b93506040860135925060608601356116a181611504565b949793965091946080013592915050565b5f8083601f8401126116c2575f80fd5b50813567ffffffffffffffff8111156116d9575f80fd5b6020830191508360208260051b85010111156116f3575f80fd5b9250929050565b5f805f805f806060878903121561170f575f80fd5b863567ffffffffffffffff80821115611726575f80fd5b6117328a838b016116b2565b9098509650602089013591508082111561174a575f80fd5b6117568a838b016116b2565b9096509450604089013591508082111561176e575f80fd5b5061177b89828a016116b2565b979a9699509497509295939492505050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b828110156117e057603f198886030184526117ce8583516114c7565b945092850192908501906001016117b2565b5092979650505050505050565b5f805f606084860312156117ff575f80fd5b833561180a81611504565b9250602084013561181a81611504565b929592945050506040919091013590565b5f6020828403121561183b575f80fd5b81356108ea81611504565b5f82601f830112611855575f80fd5b8135602067ffffffffffffffff82111561187157611871611542565b8160051b611880828201611556565b9283528481018201928281019087851115611899575f80fd5b83870192505b848310156118b85782358252918301919083019061189f565b979650505050505050565b5f805f805f60a086880312156118d7575f80fd5b85356118e281611504565b945060208601356118f281611504565b9350604086013567ffffffffffffffff8082111561190e575f80fd5b61191a89838a01611846565b9450606088013591508082111561192f575f80fd5b61193b89838a01611846565b93506080880135915080821115611950575f80fd5b5061195d88828901611587565b9150509295509295909350565b5f805f805f805f60e0888a031215611980575f80fd5b873561198b81611504565b9650602088013561199b81611504565b95506040880135945060608801359350608088013560ff811681146119be575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f80604083850312156119ec575f80fd5b82356119f781611504565b91506020830135611a0781611504565b809150509250929050565b5f805f805f60a08688031215611a26575f80fd5b8535611a3181611504565b94506020860135611a4181611504565b93506040860135925060608601359150608086013567ffffffffffffffff811115611a6a575f80fd5b61195d88828901611587565b5f805f8060608587031215611a89575f80fd5b8435611a9481611504565b9350602085013567ffffffffffffffff80821115611ab0575f80fd5b818701915087601f830112611ac3575f80fd5b813581811115611ad1575f80fd5b886020828501011115611ae2575f80fd5b95986020929092019750949560400135945092505050565b600181811c90821680611b0e57607f821691505b602082108103611b2c57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112611b81575f80fd5b83018035915067ffffffffffffffff821115611b9b575f80fd5b6020019150368190038213156116f3575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611bd457611bd4611baf565b5060010190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611c18575f80fd5b815180151581146108ea575f80fd5b8181038181111561059c5761059c611baf565b5f8251611c4b8184602087016114a5565b9190910192915050565b5f80835481600182811c915080831680611c7057607f831692505b60208084108203611c8f57634e487b7160e01b86526022600452602486fd5b818015611ca35760018114611cb857611ce3565b60ff1986168952841515850289019650611ce3565b5f8a8152602090205f5b86811015611cdb5781548b820152908501908301611cc2565b505084890196505b509498975050505050505050565b8082018082111561059c5761059c611baf56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c52025faf241da0ea893b0ca66e35defdd57dce3c45230d6a57d9cf58c38452664736f6c634300081500330000000000000000000000000463e60c7ce10e57911ab7bd1667eaa21de3e79b000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c65746865722e666920425443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046542544300000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061017e575f3560e01c80637ecebe00116100cd578063bc197c8111610087578063dd62ed3e11610062578063dd62ed3e146104cd578063f23a6e6114610503578063f2fde38b1461052e578063f6e715d01461054d575f80fd5b8063bc197c8114610464578063bf7e214f1461048f578063d505accf146104ae575f80fd5b80637ecebe00146103915780637f5a7c7b146103bc5780638929565f146103f35780638da5cb5b1461041257806395d89b4114610431578063a9059cbb14610445575f80fd5b8063224d8703116101385780633644e515116101135780633644e5151461031457806339d6ba321461032857806370a08231146103475780637a9e5e4b14610372575f80fd5b8063224d87031461028457806323b872dd146102b0578063313ce567146102cf575f80fd5b806301ffc9a71461018957806306fdde03146101bd578063095ea7b3146101de578063150b7a02146101fd57806318160ddd1461024057806318457e6114610263575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506101a86101a336600461147e565b61056c565b60405190151581526020015b60405180910390f35b3480156101c8575f80fd5b506101d16105a2565b6040516101b491906114f2565b3480156101e9575f80fd5b506101a86101f8366004611518565b61062d565b348015610208575f80fd5b506102276102173660046115f3565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016101b4565b34801561024b575f80fd5b5061025560025481565b6040519081526020016101b4565b34801561026e575f80fd5b5061028261027d36600461165b565b610698565b005b34801561028f575f80fd5b506102a361029e3660046116fa565b61075d565b6040516101b4919061178d565b3480156102bb575f80fd5b506101a86102ca3660046117ed565b6108d1565b3480156102da575f80fd5b506103027f000000000000000000000000000000000000000000000000000000000000000881565b60405160ff90911681526020016101b4565b34801561031f575f80fd5b506102556108f1565b348015610333575f80fd5b5061028261034236600461165b565b61094b565b348015610352575f80fd5b5061025561036136600461182b565b60036020525f908152604090205481565b34801561037d575f80fd5b5061028261038c36600461182b565b6109f9565b34801561039c575f80fd5b506102556103ab36600461182b565b60056020525f908152604090205481565b3480156103c7575f80fd5b506008546103db906001600160a01b031681565b6040516001600160a01b0390911681526020016101b4565b3480156103fe575f80fd5b5061028261040d36600461182b565b610ade565b34801561041d575f80fd5b506006546103db906001600160a01b031681565b34801561043c575f80fd5b506101d1610b31565b348015610450575f80fd5b506101a861045f366004611518565b610b3e565b34801561046f575f80fd5b5061022761047e3660046118c3565b63bc197c8160e01b95945050505050565b34801561049a575f80fd5b506007546103db906001600160a01b031681565b3480156104b9575f80fd5b506102826104c836600461196a565b610b53565b3480156104d8575f80fd5b506102556104e73660046119db565b600460209081525f928352604080842090915290825290205481565b34801561050e575f80fd5b5061022761051d366004611a12565b63f23a6e6160e01b95945050505050565b348015610539575f80fd5b5061028261054836600461182b565b610d91565b348015610558575f80fd5b506101d1610567366004611a76565b610e0d565b5f6001600160e01b03198216630271189760e51b148061059c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f80546105ae90611afa565b80601f01602080910402602001604051908101604052809291908181526020018280546105da90611afa565b80156106255780601f106105fc57610100808354040283529160200191610625565b820191905f5260205f20905b81548152906001019060200180831161060857829003601f168201915b505050505081565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106879086815260200190565b60405180910390a350600192915050565b6106ad335f356001600160e01b031916610e93565b6106d25760405162461bcd60e51b81526004016106c990611b32565b60405180910390fd5b6106dc8282610f3a565b82156106f6576106f66001600160a01b0385168685610fa1565b816001600160a01b0316846001600160a01b0316866001600160a01b03167fe0c82280a1164680e0cf43be7db4c4c9f985423623ad7a544fb76c772bdc6043868560405161074e929190918252602082015260400190565b60405180910390a45050505050565b6060610774335f356001600160e01b031916610e93565b6107905760405162461bcd60e51b81526004016106c990611b32565b858067ffffffffffffffff8111156107aa576107aa611542565b6040519080825280602002602001820160405280156107dd57816020015b60608152602001906001900390816107c85790505b5091505f5b818110156108c5576108978787838181106107ff576107ff611b58565b90506020028101906108119190611b6c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525089925088915085905081811061085957610859611b58565b905060200201358b8b8581811061087257610872611b58565b9050602002016020810190610887919061182b565b6001600160a01b03169190611024565b8382815181106108a9576108a9611b58565b6020026020010181905250806108be90611bc3565b90506107e2565b50509695505050505050565b5f6108dc84846110bd565b6108e784848461113a565b90505b9392505050565b5f7f0000000000000000000000000000000000000000000000000000000000000001461461092657610921611214565b905090565b507fbb2ffa1c3da50ec3e68d793c2c1506162025e4f7eff6ed9aeaed96a117c7c90890565b610960335f356001600160e01b031916610e93565b61097c5760405162461bcd60e51b81526004016106c990611b32565b8215610997576109976001600160a01b0385168630866112ac565b6109a18282611344565b816001600160a01b0316846001600160a01b0316866001600160a01b03167fea00f88768a86184a6e515238a549c171769fe7460a011d6fd0bcd48ca078ea4868560405161074e929190918252602082015260400190565b6006546001600160a01b0316331480610a8b575060075460405163b700961360e01b81526001600160a01b039091169063b700961390610a4c90339030906001600160e01b03195f351690600401611bdb565b602060405180830381865afa158015610a67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8b9190611c08565b610a93575f80fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198905f90a350565b610af3335f356001600160e01b031916610e93565b610b0f5760405162461bcd60e51b81526004016106c990611b32565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b600180546105ae90611afa565b5f610b4933846110bd565b6108ea8383611393565b42841015610ba35760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016106c9565b5f6001610bae6108f1565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cb6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811615801590610cec5750876001600160a01b0316816001600160a01b0316145b610d295760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b60448201526064016106c9565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b610da6335f356001600160e01b031916610e93565b610dc25760405162461bcd60e51b81526004016106c990611b32565b600680546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b6060610e24335f356001600160e01b031916610e93565b610e405760405162461bcd60e51b81526004016106c990611b32565b610e8a84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050506001600160a01b03881691905084611024565b95945050505050565b6007545f906001600160a01b03168015801590610f1a575060405163b700961360e01b81526001600160a01b0382169063b700961390610edb90879030908890600401611bdb565b602060405180830381865afa158015610ef6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1a9190611c08565b80610f3257506006546001600160a01b038581169116145b949350505050565b6001600160a01b0382165f9081526003602052604081208054839290610f61908490611c27565b90915550506002805482900390556040518181525f906001600160a01b038416905f80516020611d05833981519152906020015b60405180910390a35050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f51141617169150508061101e5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064016106c9565b50505050565b6060814710156110495760405163cd78605960e01b81523060048201526024016106c9565b5f80856001600160a01b031684866040516110649190611c3a565b5f6040518083038185875af1925050503d805f811461109e576040519150601f19603f3d011682016040523d82523d5f602084013e6110a3565b606091505b50915091506110b38683836113f6565b9695505050505050565b6008546001600160a01b03161561113657600854604051630abd626b60e41b81526001600160a01b03848116600483015283811660248301523360448301529091169063abd626b0906064015f6040518083038186803b15801561111f575f80fd5b505afa158015611131573d5f803e3d5ffd5b505050505b5050565b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f1981146111935761116f8382611c27565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f90815260036020526040812080548592906111ba908490611c27565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716905f80516020611d05833981519152906112019087815260200190565b60405180910390a3506001949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516112449190611c55565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f6040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b038416602482015282604482015260205f6064835f8a5af13d15601f3d1160015f51141617169150508061133d5760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b60448201526064016106c9565b5050505050565b8060025f8282546113559190611cf1565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481525f80516020611d058339815191529101610f95565b335f908152600360205260408120805483919083906113b3908490611c27565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133905f80516020611d05833981519152906106879086815260200190565b60608261140b5761140682611452565b6108ea565b815115801561142257506001600160a01b0384163b155b1561144b57604051639996b31560e01b81526001600160a01b03851660048201526024016106c9565b50806108ea565b8051156114625780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b5f6020828403121561148e575f80fd5b81356001600160e01b0319811681146108ea575f80fd5b5f5b838110156114bf5781810151838201526020016114a7565b50505f910152565b5f81518084526114de8160208601602086016114a5565b601f01601f19169290920160200192915050565b602081525f6108ea60208301846114c7565b6001600160a01b038116811461147b575f80fd5b5f8060408385031215611529575f80fd5b823561153481611504565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561157f5761157f611542565b604052919050565b5f82601f830112611596575f80fd5b813567ffffffffffffffff8111156115b0576115b0611542565b6115c3601f8201601f1916602001611556565b8181528460208386010111156115d7575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611606575f80fd5b843561161181611504565b9350602085013561162181611504565b925060408501359150606085013567ffffffffffffffff811115611643575f80fd5b61164f87828801611587565b91505092959194509250565b5f805f805f60a0868803121561166f575f80fd5b853561167a81611504565b9450602086013561168a81611504565b93506040860135925060608601356116a181611504565b949793965091946080013592915050565b5f8083601f8401126116c2575f80fd5b50813567ffffffffffffffff8111156116d9575f80fd5b6020830191508360208260051b85010111156116f3575f80fd5b9250929050565b5f805f805f806060878903121561170f575f80fd5b863567ffffffffffffffff80821115611726575f80fd5b6117328a838b016116b2565b9098509650602089013591508082111561174a575f80fd5b6117568a838b016116b2565b9096509450604089013591508082111561176e575f80fd5b5061177b89828a016116b2565b979a9699509497509295939492505050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b828110156117e057603f198886030184526117ce8583516114c7565b945092850192908501906001016117b2565b5092979650505050505050565b5f805f606084860312156117ff575f80fd5b833561180a81611504565b9250602084013561181a81611504565b929592945050506040919091013590565b5f6020828403121561183b575f80fd5b81356108ea81611504565b5f82601f830112611855575f80fd5b8135602067ffffffffffffffff82111561187157611871611542565b8160051b611880828201611556565b9283528481018201928281019087851115611899575f80fd5b83870192505b848310156118b85782358252918301919083019061189f565b979650505050505050565b5f805f805f60a086880312156118d7575f80fd5b85356118e281611504565b945060208601356118f281611504565b9350604086013567ffffffffffffffff8082111561190e575f80fd5b61191a89838a01611846565b9450606088013591508082111561192f575f80fd5b61193b89838a01611846565b93506080880135915080821115611950575f80fd5b5061195d88828901611587565b9150509295509295909350565b5f805f805f805f60e0888a031215611980575f80fd5b873561198b81611504565b9650602088013561199b81611504565b95506040880135945060608801359350608088013560ff811681146119be575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f80604083850312156119ec575f80fd5b82356119f781611504565b91506020830135611a0781611504565b809150509250929050565b5f805f805f60a08688031215611a26575f80fd5b8535611a3181611504565b94506020860135611a4181611504565b93506040860135925060608601359150608086013567ffffffffffffffff811115611a6a575f80fd5b61195d88828901611587565b5f805f8060608587031215611a89575f80fd5b8435611a9481611504565b9350602085013567ffffffffffffffff80821115611ab0575f80fd5b818701915087601f830112611ac3575f80fd5b813581811115611ad1575f80fd5b886020828501011115611ae2575f80fd5b95986020929092019750949560400135945092505050565b600181811c90821680611b0e57607f821691505b602082108103611b2c57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112611b81575f80fd5b83018035915067ffffffffffffffff821115611b9b575f80fd5b6020019150368190038213156116f3575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611bd457611bd4611baf565b5060010190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b5f60208284031215611c18575f80fd5b815180151581146108ea575f80fd5b8181038181111561059c5761059c611baf565b5f8251611c4b8184602087016114a5565b9190910192915050565b5f80835481600182811c915080831680611c7057607f831692505b60208084108203611c8f57634e487b7160e01b86526022600452602486fd5b818015611ca35760018114611cb857611ce3565b60ff1986168952841515850289019650611ce3565b5f8a8152602090205f5b86811015611cdb5781548b820152908501908301611cc2565b505084890196505b509498975050505050505050565b8082018082111561059c5761059c611baf56feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c52025faf241da0ea893b0ca66e35defdd57dce3c45230d6a57d9cf58c38452664736f6c63430008150033

Block Age Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

eBTC, ether.fi's Bitcoin-backed liquid restaking token. Created to service the growing demands for alternative collateral within restaking, eBTC simplifies yield optimization and expands utility, bringing a dual-yielding (staking and restaking) Bitcoin product to the market.

0x657e8C867D8B37dCC18fA4Caead9C45EB088C642
Chain Token Portfolio % Price Amount Value
ETH42.00%$121,573122.9644$14,949,156.91
ETH36.76%$121,847107.3692$13,082,614.48
ETH4.22%$121,83812.3155$1,500,495.39
ETH
Ether (ETH)
<0.01%$4,413.270.1549$683.5
BASE5.42%$121,86315.8293$1,929,007.6
BASE5.13%$121,55415.0223$1,826,019.85
BASE0.03%$121,7120.0958$11,661.45
ARB4.49%$121,82913.1264$1,599,173.97
ARB0.82%$121,8222.4016$292,567.4
ARB0.02%$0.0027412,000,000$5,481.05
BERA0.89%$121,9232.5921$316,032.49
BERA0.20%$122,0140.5725$69,851.92
BERA<0.01%$2.81.6063$4.5
BSC0.03%$1.865,018.638$9,355.01
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.