Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 58 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Deposit | 10978423 | 1639 days ago | IN | 0.30182 ETH | 0.01336142 | ||||
Deposit | 10978381 | 1639 days ago | IN | 0.02998541 ETH | 0.016615 | ||||
Deposit | 10978215 | 1639 days ago | IN | 0.04844612 ETH | 0.01934005 | ||||
Deposit | 10977818 | 1639 days ago | IN | 0.01658 ETH | 0.0312362 | ||||
Deposit | 10977601 | 1639 days ago | IN | 0 ETH | 0.03495748 | ||||
Deposit | 10977599 | 1639 days ago | IN | 0 ETH | 0.03495748 | ||||
Deposit | 10977362 | 1639 days ago | IN | 0 ETH | 0.00592243 | ||||
Deposit | 10976877 | 1639 days ago | IN | 0.04250551 ETH | 0.01755941 | ||||
Deposit | 10976654 | 1639 days ago | IN | 0.00729564 ETH | 0.03588969 | ||||
Deposit | 10976247 | 1639 days ago | IN | 0.679878 ETH | 0.0455159 | ||||
Deposit | 10975217 | 1640 days ago | IN | 0 ETH | 0.02934916 | ||||
Deposit | 10975139 | 1640 days ago | IN | 0.15249478 ETH | 0.0297773 | ||||
Deposit | 10975113 | 1640 days ago | IN | 0 ETH | 0.05412443 | ||||
Deposit | 10975066 | 1640 days ago | IN | 0 ETH | 0.04573608 | ||||
Deposit | 10974581 | 1640 days ago | IN | 0 ETH | 0.01600813 | ||||
Deposit | 10974546 | 1640 days ago | IN | 0.01362084 ETH | 0.01827782 | ||||
Deposit | 10973805 | 1640 days ago | IN | 0 ETH | 0.02477449 | ||||
Deposit | 10972487 | 1640 days ago | IN | 0.00598526 ETH | 0.01694791 | ||||
Deposit | 10970586 | 1640 days ago | IN | 1.007444 ETH | 0.02758289 | ||||
Deposit | 10968243 | 1641 days ago | IN | 0.00918 ETH | 0.0196868 | ||||
Deposit | 10967626 | 1641 days ago | IN | 0 ETH | 0.03239741 | ||||
Deposit | 10966566 | 1641 days ago | IN | 0.01578 ETH | 0.02824652 | ||||
Deposit | 10963959 | 1641 days ago | IN | 0.01514187 ETH | 0.03413692 | ||||
Deposit | 10957469 | 1642 days ago | IN | 0 ETH | 0.04383179 | ||||
Deposit | 10954258 | 1643 days ago | IN | 0 ETH | 0.05488675 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 10978423 | 1639 days ago | 0.30182 ETH | ||||
- | 10978381 | 1639 days ago | 0.02998541 ETH | ||||
- | 10978215 | 1639 days ago | 0.04844612 ETH | ||||
- | 10977818 | 1639 days ago | 0.01658 ETH | ||||
- | 10976877 | 1639 days ago | 0.04250551 ETH | ||||
- | 10976654 | 1639 days ago | 0.00729564 ETH | ||||
- | 10976247 | 1639 days ago | 0.679878 ETH | ||||
- | 10975139 | 1640 days ago | 0.15249478 ETH | ||||
- | 10974546 | 1640 days ago | 0.01362084 ETH | ||||
- | 10972487 | 1640 days ago | 0.00598526 ETH | ||||
- | 10970586 | 1640 days ago | 1.007444 ETH | ||||
- | 10968243 | 1641 days ago | 0.00918 ETH | ||||
- | 10966566 | 1641 days ago | 0.01578 ETH | ||||
- | 10963959 | 1641 days ago | 0.01514187 ETH | ||||
- | 10947173 | 1644 days ago | 0.01318 ETH | ||||
- | 10942481 | 1645 days ago | 0.01226244 ETH | ||||
- | 10927834 | 1647 days ago | 0.03360541 ETH | ||||
- | 10925638 | 1647 days ago | 0.00804367 ETH | ||||
- | 10925486 | 1647 days ago | 0.05487 ETH | ||||
- | 10924897 | 1647 days ago | 0.01531 ETH | ||||
- | 10923853 | 1648 days ago | 0.01191639 ETH | ||||
- | 10919367 | 1648 days ago | 0.017205 ETH | ||||
- | 10918231 | 1649 days ago | 0.03775977 ETH | ||||
- | 10912526 | 1649 days ago | 0.02203 ETH | ||||
- | 10910767 | 1650 days ago | 0.08578 ETH |
Loading...
Loading
Contract Name:
BatchZkSyncDeposit
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-08 */ pragma solidity 0.6.12; pragma experimental ABIEncoderV2; contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor () internal { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Pausable is Context { /** * @dev Emitted when the pause is triggered by `account`. */ event Paused(address account); /** * @dev Emitted when the pause is lifted by `account`. */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. */ constructor () internal { _paused = false; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view returns (bool) { return _paused; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { require(!_paused, "Pausable: paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { require(_paused, "Pausable: not paused"); _; } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IERC20-approve}, and its usage is discouraged. * * Whenever possible, use {safeIncreaseAllowance} and * {safeDecreaseAllowance} instead. */ function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero"); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that // the target address contains contract code and also asserts for success in the low-level call. bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } interface IZkSync { function depositETH(address _franklinAddr) external payable; function depositERC20( IERC20 _token, uint104 _amount, address _franklinAddr ) external; } contract BatchZkSyncDeposit is Ownable, Pausable, ReentrancyGuard { using SafeERC20 for IERC20; // Placeholder token address to represent ETH deposits IERC20 private constant ETH_TOKEN_PLACEHOLDER = IERC20( 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE ); // Instance of the zkSync contract IZkSync public immutable zkSync; // Required parameters for each deposit struct Deposit { IERC20 token; // address of the token to deposit uint104 amount; // amount of tokens to deposit (uint104 because that's what zkSync uses) } // Emitted on each deposit event DepositMade(IERC20 indexed token, uint104 indexed amount, address indexed user); // Emitted when allowances are changed event AllowanceSet(IERC20 indexed token, uint256 amount); /** * @notice Sets address of the zkSync contract and approves zkSync contract to spend our tokens * @param _zkSync Address of the zkSync contract * @param _tokens Array of token address to approve */ constructor(address _zkSync, IERC20[] memory _tokens) public { zkSync = IZkSync(_zkSync); for (uint256 i = 0; i < _tokens.length; i += 1) { // To use safeApprove, we must use solc 0.6.8 or above due to a constructor-related bug // fix in that version. See details at: // Issue: https://github.com/ethereum/solidity/issues/8656 // Led to PR: https://github.com/ethereum/solidity/pull/8849 // Released in: https://github.com/ethereum/solidity/releases/tag/v0.6.8 _tokens[i].safeApprove(_zkSync, uint256(-1)); } } /** * @notice Sets allowance of zkSync to spend the specified token * @param _token Address of token to set allowance for * @param _amount Value to set allowance to */ function setAllowance(IERC20 _token, uint256 _amount) external onlyOwner { _token.safeApprove(address(zkSync), _amount); emit AllowanceSet(_token, _amount); } /** * @notice Performs deposits to the zkSync contract * @dev We assume (1) all token approvals were already executed, and (2) all deposits go to * the same recipient * @param _recipient Address of the account that should receive the funds on zkSync * @param _deposits Array of deposit structs. A token address should only be present one time * in this array to minimize gas costs */ function deposit(address _recipient, Deposit[] calldata _deposits) external payable nonReentrant whenNotPaused { for (uint256 i = 0; i < _deposits.length; i++) { emit DepositMade(_deposits[i].token, _deposits[i].amount, msg.sender); if (_deposits[i].token != ETH_TOKEN_PLACEHOLDER) { // Token deposit _deposits[i].token.safeTransferFrom(msg.sender, address(this), _deposits[i].amount); zkSync.depositERC20(_deposits[i].token, _deposits[i].amount, _recipient); } else { // ETH deposit // Make sure the value sent equals the specified deposit amount require(msg.value == _deposits[i].amount, "BatchZkSyncDeposit: ETH value mismatch"); zkSync.depositETH{value: msg.value}(_recipient); } } } /** * @notice Pause contract */ function pause() external onlyOwner whenNotPaused { _pause(); } /** * @notice Unpause contract */ function unpause() external onlyOwner whenPaused { _unpause(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_zkSync","type":"address"},{"internalType":"contract IERC20[]","name":"_tokens","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AllowanceSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":true,"internalType":"uint104","name":"amount","type":"uint104"},{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DepositMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"components":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint104","name":"amount","type":"uint104"}],"internalType":"struct BatchZkSyncDeposit.Deposit[]","name":"_deposits","type":"tuple[]"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setAllowance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zkSync","outputs":[{"internalType":"contract IZkSync","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b5060405162002856380380620028568339818101604052810190620000379190620006a1565b600062000049620001c760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060008060146101000a81548160ff021916908315150217905550600180819055508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b8152505060005b8151811015620001be57620001b2837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484815181106200017f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16620001cf60201b62000c83179092919060201c565b60018101905062000142565b50505062000b92565b600033905090565b60008114806200026f575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016200021992919062000918565b60206040518083038186803b1580156200023257600080fd5b505afa15801562000247573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026d919062000727565b145b620002b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002a890620009da565b60405180910390fd5b6200033c8363095ea7b360e01b8484604051602401620002d392919062000945565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506200034160201b60201c565b505050565b6060620003aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166200041560201b62000de1179092919060201c565b9050600081511115620004105780806020019051810190620003cd9190620006fb565b6200040f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200040690620009b8565b60405180910390fd5b5b505050565b60606200042c84846000856200043560201b60201c565b90509392505050565b606062000448856200056c60201b60201c565b6200048a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004819062000996565b60405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff168587604051620004b69190620008ff565b60006040518083038185875af1925050503d8060008114620004f5576040519150601f19603f3d011682016040523d82523d6000602084013e620004fa565b606091505b509150915081156200051157809250505062000564565b600081511115620005255780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200055b919062000972565b60405180910390fd5b949350505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f9150808214158015620005af57506000801b8214155b92505050919050565b600081519050620005c98162000b2a565b92915050565b600082601f830112620005e157600080fd5b8151620005f8620005f28262000a2a565b620009fc565b915081818352602084019350602081019050838560208402820111156200061e57600080fd5b60005b8381101562000652578162000637888262000673565b84526020840193506020830192505060018101905062000621565b5050505092915050565b6000815190506200066d8162000b44565b92915050565b600081519050620006848162000b5e565b92915050565b6000815190506200069b8162000b78565b92915050565b60008060408385031215620006b557600080fd5b6000620006c585828601620005b8565b925050602083015167ffffffffffffffff811115620006e357600080fd5b620006f185828601620005cf565b9150509250929050565b6000602082840312156200070e57600080fd5b60006200071e848285016200065c565b91505092915050565b6000602082840312156200073a57600080fd5b60006200074a848285016200068a565b91505092915050565b6200075e8162000a85565b82525050565b6000620007718262000a53565b6200077d818562000a69565b93506200078f81856020860162000ae3565b80840191505092915050565b6000620007a88262000a5e565b620007b4818562000a74565b9350620007c681856020860162000ae3565b620007d18162000b19565b840191505092915050565b6000620007eb601d8362000a74565b91507f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006000830152602082019050919050565b60006200082d602a8362000a74565b91507f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b60006200089560368362000a74565b91507f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008301527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006020830152604082019050919050565b620008f98162000ad9565b82525050565b60006200090d828462000764565b915081905092915050565b60006040820190506200092f600083018562000753565b6200093e602083018462000753565b9392505050565b60006040820190506200095c600083018562000753565b6200096b6020830184620008ee565b9392505050565b600060208201905081810360008301526200098e81846200079b565b905092915050565b60006020820190508181036000830152620009b181620007dc565b9050919050565b60006020820190508181036000830152620009d3816200081e565b9050919050565b60006020820190508181036000830152620009f58162000886565b9050919050565b6000604051905081810181811067ffffffffffffffff8211171562000a2057600080fd5b8060405250919050565b600067ffffffffffffffff82111562000a4257600080fd5b602082029050602081019050919050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600062000a928262000ab9565b9050919050565b60008115159050919050565b600062000ab28262000a85565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000b0357808201518184015260208101905062000ae6565b8381111562000b13576000848401525b50505050565b6000601f19601f8301169050919050565b62000b358162000a85565b811462000b4157600080fd5b50565b62000b4f8162000a99565b811462000b5b57600080fd5b50565b62000b698162000aa5565b811462000b7557600080fd5b50565b62000b838162000ad9565b811462000b8f57600080fd5b50565b60805160601c611c9762000bbf60003980610259528061054a52806108ce5280610a1c5250611c976000f3fe6080604052600436106100865760003560e01c80637c19f005116100595780637c19f0051461010d5780638456cb59146101385780638da5cb5b1461014f578063bfc859241461017a578063f2fde38b1461019657610086565b8063310ec4a71461008b5780633f4ba83a146100b45780635c975abb146100cb578063715018a6146100f6575b600080fd5b34801561009757600080fd5b506100b260048036038101906100ad91906113ae565b6101bf565b005b3480156100c057600080fd5b506100c96102f1565b005b3480156100d757600080fd5b506100e06103df565b6040516100ed91906118bd565b60405180910390f35b34801561010257600080fd5b5061010b6103f5565b005b34801561011957600080fd5b50610122610548565b60405161012f919061190f565b60405180910390f35b34801561014457600080fd5b5061014d61056c565b005b34801561015b57600080fd5b5061016461065b565b60405161017191906117fe565b60405180910390f35b610194600480360381019061018f9190611304565b610684565b005b3480156101a257600080fd5b506101bd60048036038101906101b891906112db565b610ac1565b005b6101c7610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906119cc565b60405180910390fd5b61029f7f0000000000000000000000000000000000000000000000000000000000000000828473ffffffffffffffffffffffffffffffffffffffff16610c839092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167ffe8c0d8594f34b56806542999bd528bee3ffe8a95e165d8e5c104f0b97cf8962826040516102e59190611a6c565b60405180910390a25050565b6102f9610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037d906119cc565b60405180910390fd5b600060149054906101000a900460ff166103d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cc9061196c565b60405180910390fd5b6103dd610e01565b565b60008060149054906101000a900460ff16905090565b6103fd610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461048a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610481906119cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b610574610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f8906119cc565b60405180910390fd5b600060149054906101000a900460ff1615610651576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610648906119ac565b60405180910390fd5b610659610eaa565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260015414156106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c190611a2c565b60405180910390fd5b6002600181905550600060149054906101000a900460ff1615610722576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610719906119ac565b60405180910390fd5b60005b82829050811015610ab4573373ffffffffffffffffffffffffffffffffffffffff1683838381811061075357fe5b905060400201602001602081019061076b91906113ea565b6cffffffffffffffffffffffffff1684848481811061078657fe5b905060400201600001602081019061079e9190611385565b73ffffffffffffffffffffffffffffffffffffffff167faeaa89719c8721f9ce0829dc20d61960b122e6b24d566b7c12dc87243fbe89ba60405160405180910390a473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff1683838381811061081757fe5b905060400201600001602081019061082f9190611385565b73ffffffffffffffffffffffffffffffffffffffff16146109a6576108cc333085858581811061085b57fe5b905060400201602001602081019061087391906113ea565b6cffffffffffffffffffffffffff1686868681811061088e57fe5b90506040020160000160208101906108a69190611385565b73ffffffffffffffffffffffffffffffffffffffff16610f55909392919063ffffffff16565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e17376b584848481811061091457fe5b905060400201600001602081019061092c9190611385565b85858581811061093857fe5b905060400201602001602081019061095091906113ea565b876040518463ffffffff1660e01b815260040161096f939291906118d8565b600060405180830381600087803b15801561098957600080fd5b505af115801561099d573d6000803e3d6000fd5b50505050610aa7565b8282828181106109b257fe5b90506040020160200160208101906109ca91906113ea565b6cffffffffffffffffffffffffff163414610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a119061194c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632d2da80634866040518363ffffffff1660e01b8152600401610a7491906117fe565b6000604051808303818588803b158015610a8d57600080fd5b505af1158015610aa1573d6000803e3d6000fd5b50505050505b8080600101915050610725565b5060018081905550505050565b610ac9610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4d906119cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd9061198c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000811480610d1c575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610cca929190611834565b60206040518083038186803b158015610ce257600080fd5b505afa158015610cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1a9190611413565b145b610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290611a4c565b60405180910390fd5b610ddc8363095ea7b360e01b8484604051602401610d7a929190611894565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610fde565b505050565b6060610df084846000856110a5565b90509392505050565b600033905090565b600060149054906101000a900460ff16610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e479061196c565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610e93610df9565b604051610ea09190611819565b60405180910390a1565b600060149054906101000a900460ff1615610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef1906119ac565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f3e610df9565b604051610f4b9190611819565b60405180910390a1565b610fd8846323b872dd60e01b858585604051602401610f769392919061185d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610fde565b50505050565b6060611040826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610de19092919063ffffffff16565b90506000815111156110a05780806020019051810190611060919061135c565b61109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690611a0c565b60405180910390fd5b5b505050565b60606110b0856111c8565b6110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906119ec565b60405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff16858760405161111991906117e7565b60006040518083038185875af1925050503d8060008114611156576040519150601f19603f3d011682016040523d82523d6000602084013e61115b565b606091505b509150915081156111705780925050506111c0565b6000815111156111835780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b7919061192a565b60405180910390fd5b949350505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561120a57506000801b8214155b92505050919050565b60008135905061122281611bee565b92915050565b60008083601f84011261123a57600080fd5b8235905067ffffffffffffffff81111561125357600080fd5b60208301915083604082028301111561126b57600080fd5b9250929050565b60008151905061128181611c05565b92915050565b60008135905061129681611c1c565b92915050565b6000813590506112ab81611c33565b92915050565b6000813590506112c081611c4a565b92915050565b6000815190506112d581611c4a565b92915050565b6000602082840312156112ed57600080fd5b60006112fb84828501611213565b91505092915050565b60008060006040848603121561131957600080fd5b600061132786828701611213565b935050602084013567ffffffffffffffff81111561134457600080fd5b61135086828701611228565b92509250509250925092565b60006020828403121561136e57600080fd5b600061137c84828501611272565b91505092915050565b60006020828403121561139757600080fd5b60006113a584828501611287565b91505092915050565b600080604083850312156113c157600080fd5b60006113cf85828601611287565b92505060206113e0858286016112b1565b9150509250929050565b6000602082840312156113fc57600080fd5b600061140a8482850161129c565b91505092915050565b60006020828403121561142557600080fd5b6000611433848285016112c6565b91505092915050565b61144581611b2c565b82525050565b61145481611ab9565b82525050565b61146381611acb565b82525050565b600061147482611a87565b61147e8185611a9d565b935061148e818560208601611baa565b80840191505092915050565b6114a381611b3e565b82525050565b6114b281611b62565b82525050565b60006114c382611a92565b6114cd8185611aa8565b93506114dd818560208601611baa565b6114e681611bdd565b840191505092915050565b60006114fe602683611aa8565b91507f42617463685a6b53796e634465706f7369743a204554482076616c7565206d6960008301527f736d6174636800000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611564601483611aa8565b91507f5061757361626c653a206e6f74207061757365640000000000000000000000006000830152602082019050919050565b60006115a4602683611aa8565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061160a601083611aa8565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b600061164a602083611aa8565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061168a601d83611aa8565b91507f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006000830152602082019050919050565b60006116ca602a83611aa8565b91507f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b6000611730601f83611aa8565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000611770603683611aa8565b91507f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008301527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006020830152604082019050919050565b6117d281611ae9565b82525050565b6117e181611b22565b82525050565b60006117f38284611469565b915081905092915050565b6000602082019050611813600083018461144b565b92915050565b600060208201905061182e600083018461143c565b92915050565b6000604082019050611849600083018561144b565b611856602083018461144b565b9392505050565b6000606082019050611872600083018661144b565b61187f602083018561144b565b61188c60408301846117d8565b949350505050565b60006040820190506118a9600083018561144b565b6118b660208301846117d8565b9392505050565b60006020820190506118d2600083018461145a565b92915050565b60006060820190506118ed600083018661149a565b6118fa60208301856117c9565b611907604083018461144b565b949350505050565b600060208201905061192460008301846114a9565b92915050565b6000602082019050818103600083015261194481846114b8565b905092915050565b60006020820190508181036000830152611965816114f1565b9050919050565b6000602082019050818103600083015261198581611557565b9050919050565b600060208201905081810360008301526119a581611597565b9050919050565b600060208201905081810360008301526119c5816115fd565b9050919050565b600060208201905081810360008301526119e58161163d565b9050919050565b60006020820190508181036000830152611a058161167d565b9050919050565b60006020820190508181036000830152611a25816116bd565b9050919050565b60006020820190508181036000830152611a4581611723565b9050919050565b60006020820190508181036000830152611a6581611763565b9050919050565b6000602082019050611a8160008301846117d8565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611ac482611b02565b9050919050565b60008115159050919050565b6000611ae282611ab9565b9050919050565b60006cffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611b3782611b86565b9050919050565b6000611b4982611b50565b9050919050565b6000611b5b82611b02565b9050919050565b6000611b6d82611b74565b9050919050565b6000611b7f82611b02565b9050919050565b6000611b9182611b98565b9050919050565b6000611ba382611b02565b9050919050565b60005b83811015611bc8578082015181840152602081019050611bad565b83811115611bd7576000848401525b50505050565b6000601f19601f8301169050919050565b611bf781611ab9565b8114611c0257600080fd5b50565b611c0e81611acb565b8114611c1957600080fd5b50565b611c2581611ad7565b8114611c3057600080fd5b50565b611c3c81611ae9565b8114611c4757600080fd5b50565b611c5381611b22565b8114611c5e57600080fd5b5056fea2646970667358221220a1e2fceafe761745d415f5bf95633449785ca992ee0d63a3dd1525a5d3e6b6f964736f6c634300060c0033000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000050000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599
Deployed Bytecode
0x6080604052600436106100865760003560e01c80637c19f005116100595780637c19f0051461010d5780638456cb59146101385780638da5cb5b1461014f578063bfc859241461017a578063f2fde38b1461019657610086565b8063310ec4a71461008b5780633f4ba83a146100b45780635c975abb146100cb578063715018a6146100f6575b600080fd5b34801561009757600080fd5b506100b260048036038101906100ad91906113ae565b6101bf565b005b3480156100c057600080fd5b506100c96102f1565b005b3480156100d757600080fd5b506100e06103df565b6040516100ed91906118bd565b60405180910390f35b34801561010257600080fd5b5061010b6103f5565b005b34801561011957600080fd5b50610122610548565b60405161012f919061190f565b60405180910390f35b34801561014457600080fd5b5061014d61056c565b005b34801561015b57600080fd5b5061016461065b565b60405161017191906117fe565b60405180910390f35b610194600480360381019061018f9190611304565b610684565b005b3480156101a257600080fd5b506101bd60048036038101906101b891906112db565b610ac1565b005b6101c7610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906119cc565b60405180910390fd5b61029f7f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef828473ffffffffffffffffffffffffffffffffffffffff16610c839092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167ffe8c0d8594f34b56806542999bd528bee3ffe8a95e165d8e5c104f0b97cf8962826040516102e59190611a6c565b60405180910390a25050565b6102f9610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037d906119cc565b60405180910390fd5b600060149054906101000a900460ff166103d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103cc9061196c565b60405180910390fd5b6103dd610e01565b565b60008060149054906101000a900460ff16905090565b6103fd610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461048a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610481906119cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b7f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef81565b610574610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f8906119cc565b60405180910390fd5b600060149054906101000a900460ff1615610651576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610648906119ac565b60405180910390fd5b610659610eaa565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260015414156106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c190611a2c565b60405180910390fd5b6002600181905550600060149054906101000a900460ff1615610722576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610719906119ac565b60405180910390fd5b60005b82829050811015610ab4573373ffffffffffffffffffffffffffffffffffffffff1683838381811061075357fe5b905060400201602001602081019061076b91906113ea565b6cffffffffffffffffffffffffff1684848481811061078657fe5b905060400201600001602081019061079e9190611385565b73ffffffffffffffffffffffffffffffffffffffff167faeaa89719c8721f9ce0829dc20d61960b122e6b24d566b7c12dc87243fbe89ba60405160405180910390a473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff1683838381811061081757fe5b905060400201600001602081019061082f9190611385565b73ffffffffffffffffffffffffffffffffffffffff16146109a6576108cc333085858581811061085b57fe5b905060400201602001602081019061087391906113ea565b6cffffffffffffffffffffffffff1686868681811061088e57fe5b90506040020160000160208101906108a69190611385565b73ffffffffffffffffffffffffffffffffffffffff16610f55909392919063ffffffff16565b7f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef73ffffffffffffffffffffffffffffffffffffffff1663e17376b584848481811061091457fe5b905060400201600001602081019061092c9190611385565b85858581811061093857fe5b905060400201602001602081019061095091906113ea565b876040518463ffffffff1660e01b815260040161096f939291906118d8565b600060405180830381600087803b15801561098957600080fd5b505af115801561099d573d6000803e3d6000fd5b50505050610aa7565b8282828181106109b257fe5b90506040020160200160208101906109ca91906113ea565b6cffffffffffffffffffffffffff163414610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a119061194c565b60405180910390fd5b7f000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef73ffffffffffffffffffffffffffffffffffffffff16632d2da80634866040518363ffffffff1660e01b8152600401610a7491906117fe565b6000604051808303818588803b158015610a8d57600080fd5b505af1158015610aa1573d6000803e3d6000fd5b50505050505b8080600101915050610725565b5060018081905550505050565b610ac9610df9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4d906119cc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbd9061198c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000811480610d1c575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401610cca929190611834565b60206040518083038186803b158015610ce257600080fd5b505afa158015610cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1a9190611413565b145b610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290611a4c565b60405180910390fd5b610ddc8363095ea7b360e01b8484604051602401610d7a929190611894565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610fde565b505050565b6060610df084846000856110a5565b90509392505050565b600033905090565b600060149054906101000a900460ff16610e50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e479061196c565b60405180910390fd5b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610e93610df9565b604051610ea09190611819565b60405180910390a1565b600060149054906101000a900460ff1615610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef1906119ac565b60405180910390fd5b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f3e610df9565b604051610f4b9190611819565b60405180910390a1565b610fd8846323b872dd60e01b858585604051602401610f769392919061185d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610fde565b50505050565b6060611040826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610de19092919063ffffffff16565b90506000815111156110a05780806020019051810190611060919061135c565b61109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690611a0c565b60405180910390fd5b5b505050565b60606110b0856111c8565b6110ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e6906119ec565b60405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff16858760405161111991906117e7565b60006040518083038185875af1925050503d8060008114611156576040519150601f19603f3d011682016040523d82523d6000602084013e61115b565b606091505b509150915081156111705780925050506111c0565b6000815111156111835780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b7919061192a565b60405180910390fd5b949350505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561120a57506000801b8214155b92505050919050565b60008135905061122281611bee565b92915050565b60008083601f84011261123a57600080fd5b8235905067ffffffffffffffff81111561125357600080fd5b60208301915083604082028301111561126b57600080fd5b9250929050565b60008151905061128181611c05565b92915050565b60008135905061129681611c1c565b92915050565b6000813590506112ab81611c33565b92915050565b6000813590506112c081611c4a565b92915050565b6000815190506112d581611c4a565b92915050565b6000602082840312156112ed57600080fd5b60006112fb84828501611213565b91505092915050565b60008060006040848603121561131957600080fd5b600061132786828701611213565b935050602084013567ffffffffffffffff81111561134457600080fd5b61135086828701611228565b92509250509250925092565b60006020828403121561136e57600080fd5b600061137c84828501611272565b91505092915050565b60006020828403121561139757600080fd5b60006113a584828501611287565b91505092915050565b600080604083850312156113c157600080fd5b60006113cf85828601611287565b92505060206113e0858286016112b1565b9150509250929050565b6000602082840312156113fc57600080fd5b600061140a8482850161129c565b91505092915050565b60006020828403121561142557600080fd5b6000611433848285016112c6565b91505092915050565b61144581611b2c565b82525050565b61145481611ab9565b82525050565b61146381611acb565b82525050565b600061147482611a87565b61147e8185611a9d565b935061148e818560208601611baa565b80840191505092915050565b6114a381611b3e565b82525050565b6114b281611b62565b82525050565b60006114c382611a92565b6114cd8185611aa8565b93506114dd818560208601611baa565b6114e681611bdd565b840191505092915050565b60006114fe602683611aa8565b91507f42617463685a6b53796e634465706f7369743a204554482076616c7565206d6960008301527f736d6174636800000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611564601483611aa8565b91507f5061757361626c653a206e6f74207061757365640000000000000000000000006000830152602082019050919050565b60006115a4602683611aa8565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061160a601083611aa8565b91507f5061757361626c653a20706175736564000000000000000000000000000000006000830152602082019050919050565b600061164a602083611aa8565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600061168a601d83611aa8565b91507f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006000830152602082019050919050565b60006116ca602a83611aa8565b91507f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b6000611730601f83611aa8565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b6000611770603683611aa8565b91507f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008301527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006020830152604082019050919050565b6117d281611ae9565b82525050565b6117e181611b22565b82525050565b60006117f38284611469565b915081905092915050565b6000602082019050611813600083018461144b565b92915050565b600060208201905061182e600083018461143c565b92915050565b6000604082019050611849600083018561144b565b611856602083018461144b565b9392505050565b6000606082019050611872600083018661144b565b61187f602083018561144b565b61188c60408301846117d8565b949350505050565b60006040820190506118a9600083018561144b565b6118b660208301846117d8565b9392505050565b60006020820190506118d2600083018461145a565b92915050565b60006060820190506118ed600083018661149a565b6118fa60208301856117c9565b611907604083018461144b565b949350505050565b600060208201905061192460008301846114a9565b92915050565b6000602082019050818103600083015261194481846114b8565b905092915050565b60006020820190508181036000830152611965816114f1565b9050919050565b6000602082019050818103600083015261198581611557565b9050919050565b600060208201905081810360008301526119a581611597565b9050919050565b600060208201905081810360008301526119c5816115fd565b9050919050565b600060208201905081810360008301526119e58161163d565b9050919050565b60006020820190508181036000830152611a058161167d565b9050919050565b60006020820190508181036000830152611a25816116bd565b9050919050565b60006020820190508181036000830152611a4581611723565b9050919050565b60006020820190508181036000830152611a6581611763565b9050919050565b6000602082019050611a8160008301846117d8565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000611ac482611b02565b9050919050565b60008115159050919050565b6000611ae282611ab9565b9050919050565b60006cffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000611b3782611b86565b9050919050565b6000611b4982611b50565b9050919050565b6000611b5b82611b02565b9050919050565b6000611b6d82611b74565b9050919050565b6000611b7f82611b02565b9050919050565b6000611b9182611b98565b9050919050565b6000611ba382611b02565b9050919050565b60005b83811015611bc8578082015181840152602081019050611bad565b83811115611bd7576000848401525b50505050565b6000601f19601f8301169050919050565b611bf781611ab9565b8114611c0257600080fd5b50565b611c0e81611acb565b8114611c1957600080fd5b50565b611c2581611ad7565b8114611c3057600080fd5b50565b611c3c81611ae9565b8114611c4757600080fd5b50565b611c5381611b22565b8114611c5e57600080fd5b5056fea2646970667358221220a1e2fceafe761745d415f5bf95633449785ca992ee0d63a3dd1525a5d3e6b6f964736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000050000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599
-----Decoded View---------------
Arg [0] : _zkSync (address): 0xaBEA9132b05A70803a4E85094fD0e1800777fBEF
Arg [1] : _tokens (address[]): 0x6B175474E89094C44Da98b954EedeAC495271d0F,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,0xdAC17F958D2ee523a2206206994597C13D831ec7,0x514910771AF9Ca656af840dff83E8264EcF986CA,0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000abea9132b05a70803a4e85094fd0e1800777fbef
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [3] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Arg [4] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [5] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Arg [6] : 000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
Arg [7] : 0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599
Deployed Bytecode Sourcemap
22484:3441:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24273:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25850:72;;;;;;;;;;;;;:::i;:::-;;2808:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5125:148;;;;;;;;;;;;;:::i;:::-;;22799:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25728:71;;;;;;;;;;;;;:::i;:::-;;4483:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24865:814;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5428:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24273:171;4705:12;:10;:12::i;:::-;4695:22;;:6;;;;;;;;;;:22;;;4687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24353:44:::1;24380:6;24389:7;24353:6;:18;;;;:44;;;;;:::i;:::-;24422:6;24409:29;;;24430:7;24409:29;;;;;;:::i;:::-;;;;;;;;24273:171:::0;;:::o;25850:72::-;4705:12;:10;:12::i;:::-;4695:22;;:6;;;;;;;;;;:22;;;4687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3402:7:::1;;;;;;;;;;;3394:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;25906:10:::2;:8;:10::i;:::-;25850:72::o:0;2808:78::-;2847:4;2871:7;;;;;;;;;;;2864:14;;2808:78;:::o;5125:148::-;4705:12;:10;:12::i;:::-;4695:22;;:6;;;;;;;;;;:22;;;4687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5232:1:::1;5195:40;;5216:6;::::0;::::1;;;;;;;;5195:40;;;;;;;;;;;;5263:1;5246:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5125:148::o:0;22799:31::-;;;:::o;25728:71::-;4705:12;:10;:12::i;:::-;4695:22;;:6;;;;;;;;;;:22;;;4687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3126:7:::1;;;;;;;;;;;3125:8;3117:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;25785:8:::2;:6;:8::i;:::-;25728:71::o:0;4483:79::-;4521:7;4548:6;;;;;;;;;;;4541:13;;4483:79;:::o;24865:814::-;935:1;1541:7;;:19;;1533:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;935:1;1674:7;:18;;;;3126:7:::1;;;;;;;;;;;3125:8;3117:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;25011:9:::2;25006:668;25030:9;;:16;;25026:1;:20;25006:668;;;25120:10;25067:64;;25099:9;;25109:1;25099:12;;;;;;;;;;;;:19;;;;;;;;;;:::i;:::-;25067:64;;25079:9;;25089:1;25079:12;;;;;;;;;;;;:18;;;;;;;;;;:::i;:::-;25067:64;;;;;;;;;;;;22707:42;25144:43;;:9;;25154:1;25144:12;;;;;;;;;;;;:18;;;;;;;;;;:::i;:::-;:43;;;25140:527;;25226:83;25262:10;25282:4;25289:9;;25299:1;25289:12;;;;;;;;;;;;:19;;;;;;;;;;:::i;:::-;25226:83;;:9;;25236:1;25226:12;;;;;;;;;;;;:18;;;;;;;;;;:::i;:::-;:35;;;;:83;;;;;;:::i;:::-;25320:6;:19;;;25340:9;;25350:1;25340:12;;;;;;;;;;;;:18;;;;;;;;;;:::i;:::-;25360:9;;25370:1;25360:12;;;;;;;;;;;;:19;;;;;;;;;;:::i;:::-;25381:10;25320:72;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;25140:527;;;25537:9;;25547:1;25537:12;;;;;;;;;;;;:19;;;;;;;;;;:::i;:::-;25524:32;;:9;:32;25516:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;25610:6;:17;;;25635:9;25646:10;25610:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;25140:527;25048:3;;;;;;;25006:668;;;;891:1:::0;1853:7;:22;;;;24865:814;;;:::o;5428:244::-;4705:12;:10;:12::i;:::-;4695:22;;:6;;;;;;;;;;:22;;;4687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5537:1:::1;5517:22;;:8;:22;;;;5509:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5627:8;5598:38;;5619:6;::::0;::::1;;;;;;;;5598:38;;;;;;;;;;;;5656:8;5647:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5428:244:::0;:::o;19872:622::-;20251:1;20242:5;:10;20241:62;;;;20301:1;20258:5;:15;;;20282:4;20289:7;20258:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;20241:62;20233:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;20396:90;20416:5;20446:22;;;20470:7;20479:5;20423:62;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20396:19;:90::i;:::-;19872:622;;;:::o;12039:196::-;12142:12;12174:53;12197:6;12205:4;12211:1;12214:12;12174:22;:53::i;:::-;12167:60;;12039:196;;;;;:::o;1921:106::-;1974:15;2009:10;2002:17;;1921:106;:::o;3857:120::-;3402:7;;;;;;;;;;;3394:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;3926:5:::1;3916:7:::0;::::1;:15;;;;;;;;;;;;;;;;;;3947:22;3956:12;:10;:12::i;:::-;3947:22;;;;;;:::i;:::-;;;;;;;;3857:120::o:0;3598:118::-;3126:7;;;;;;;;;;;3125:8;3117:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;3668:4:::1;3658:7;;:14;;;;;;;;;;;;;;;;;;3688:20;3695:12;:10;:12::i;:::-;3688:20;;;;;;:::i;:::-;;;;;;;;3598:118::o:0;19398:205::-;19499:96;19519:5;19549:27;;;19578:4;19584:2;19588:5;19526:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19499:19;:96::i;:::-;19398:205;;;;:::o;21518:761::-;21942:23;21968:69;21996:4;21968:69;;;;;;;;;;;;;;;;;21976:5;21968:27;;;;:69;;;;;:::i;:::-;21942:95;;22072:1;22052:10;:17;:21;22048:224;;;22194:10;22183:30;;;;;;;;;;;;:::i;:::-;22175:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;22048:224;21518:761;;;:::o;13416:979::-;13546:12;13579:18;13590:6;13579:10;:18::i;:::-;13571:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13705:12;13719:23;13746:6;:11;;13766:8;13777:4;13746:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13704:78;;;;13797:7;13793:595;;;13828:10;13821:17;;;;;;13793:595;13962:1;13942:10;:17;:21;13938:439;;;14205:10;14199:17;14266:15;14253:10;14249:2;14245:19;14238:44;14153:148;14348:12;14341:20;;;;;;;;;;;:::i;:::-;;;;;;;;13416:979;;;;;;;:::o;8924:619::-;8984:4;9246:16;9273:19;9295:66;9273:88;;;;9464:7;9452:20;9440:32;;9504:11;9492:8;:23;;:42;;;;;9531:3;9519:15;;:8;:15;;9492:42;9484:51;;;;8924:619;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;:::i;:::-;57:78;;;;:::o;186:378::-;;;342:3;335:4;327:6;323:17;319:27;309:2;;360:1;357;350:12;309:2;393:6;380:20;370:30;;420:18;412:6;409:30;406:2;;;452:1;449;442:12;406:2;486:4;478:6;474:17;462:29;;537:3;529:4;521:6;517:17;507:8;503:32;500:41;497:2;;;554:1;551;544:12;497:2;302:262;;;;;:::o;572:128::-;;653:6;647:13;638:22;;665:30;689:5;665:30;:::i;:::-;632:68;;;;:::o;707:158::-;;801:6;788:20;779:29;;813:47;854:5;813:47;:::i;:::-;773:92;;;;:::o;872:130::-;;952:6;939:20;930:29;;964:33;991:5;964:33;:::i;:::-;924:78;;;;:::o;1009:130::-;;1089:6;1076:20;1067:29;;1101:33;1128:5;1101:33;:::i;:::-;1061:78;;;;:::o;1146:134::-;;1230:6;1224:13;1215:22;;1242:33;1269:5;1242:33;:::i;:::-;1209:71;;;;:::o;1287:241::-;;1391:2;1379:9;1370:7;1366:23;1362:32;1359:2;;;1407:1;1404;1397:12;1359:2;1442:1;1459:53;1504:7;1495:6;1484:9;1480:22;1459:53;:::i;:::-;1449:63;;1421:97;1353:175;;;;:::o;1535:574::-;;;;1717:2;1705:9;1696:7;1692:23;1688:32;1685:2;;;1733:1;1730;1723:12;1685:2;1768:1;1785:53;1830:7;1821:6;1810:9;1806:22;1785:53;:::i;:::-;1775:63;;1747:97;1903:2;1892:9;1888:18;1875:32;1927:18;1919:6;1916:30;1913:2;;;1959:1;1956;1949:12;1913:2;1987:106;2085:7;2076:6;2065:9;2061:22;1987:106;:::i;:::-;1969:124;;;;1854:245;1679:430;;;;;:::o;2116:257::-;;2228:2;2216:9;2207:7;2203:23;2199:32;2196:2;;;2244:1;2241;2234:12;2196:2;2279:1;2296:61;2349:7;2340:6;2329:9;2325:22;2296:61;:::i;:::-;2286:71;;2258:105;2190:183;;;;:::o;2380:269::-;;2498:2;2486:9;2477:7;2473:23;2469:32;2466:2;;;2514:1;2511;2504:12;2466:2;2549:1;2566:67;2625:7;2616:6;2605:9;2601:22;2566:67;:::i;:::-;2556:77;;2528:111;2460:189;;;;:::o;2656:394::-;;;2791:2;2779:9;2770:7;2766:23;2762:32;2759:2;;;2807:1;2804;2797:12;2759:2;2842:1;2859:67;2918:7;2909:6;2898:9;2894:22;2859:67;:::i;:::-;2849:77;;2821:111;2963:2;2981:53;3026:7;3017:6;3006:9;3002:22;2981:53;:::i;:::-;2971:63;;2942:98;2753:297;;;;;:::o;3057:241::-;;3161:2;3149:9;3140:7;3136:23;3132:32;3129:2;;;3177:1;3174;3167:12;3129:2;3212:1;3229:53;3274:7;3265:6;3254:9;3250:22;3229:53;:::i;:::-;3219:63;;3191:97;3123:175;;;;:::o;3305:263::-;;3420:2;3408:9;3399:7;3395:23;3391:32;3388:2;;;3436:1;3433;3426:12;3388:2;3471:1;3488:64;3544:7;3535:6;3524:9;3520:22;3488:64;:::i;:::-;3478:74;;3450:108;3382:186;;;;:::o;3575:142::-;3666:45;3705:5;3666:45;:::i;:::-;3661:3;3654:58;3648:69;;:::o;3724:113::-;3807:24;3825:5;3807:24;:::i;:::-;3802:3;3795:37;3789:48;;:::o;3844:104::-;3921:21;3936:5;3921:21;:::i;:::-;3916:3;3909:34;3903:45;;:::o;3955:356::-;;4083:38;4115:5;4083:38;:::i;:::-;4133:88;4214:6;4209:3;4133:88;:::i;:::-;4126:95;;4226:52;4271:6;4266:3;4259:4;4252:5;4248:16;4226:52;:::i;:::-;4299:6;4294:3;4290:16;4283:23;;4063:248;;;;;:::o;4318:154::-;4415:51;4460:5;4415:51;:::i;:::-;4410:3;4403:64;4397:75;;:::o;4479:156::-;4577:52;4623:5;4577:52;:::i;:::-;4572:3;4565:65;4559:76;;:::o;4642:347::-;;4754:39;4787:5;4754:39;:::i;:::-;4805:71;4869:6;4864:3;4805:71;:::i;:::-;4798:78;;4881:52;4926:6;4921:3;4914:4;4907:5;4903:16;4881:52;:::i;:::-;4954:29;4976:6;4954:29;:::i;:::-;4949:3;4945:39;4938:46;;4734:255;;;;;:::o;4997:375::-;;5157:67;5221:2;5216:3;5157:67;:::i;:::-;5150:74;;5257:34;5253:1;5248:3;5244:11;5237:55;5326:8;5321:2;5316:3;5312:12;5305:30;5363:2;5358:3;5354:12;5347:19;;5143:229;;;:::o;5381:320::-;;5541:67;5605:2;5600:3;5541:67;:::i;:::-;5534:74;;5641:22;5637:1;5632:3;5628:11;5621:43;5692:2;5687:3;5683:12;5676:19;;5527:174;;;:::o;5710:375::-;;5870:67;5934:2;5929:3;5870:67;:::i;:::-;5863:74;;5970:34;5966:1;5961:3;5957:11;5950:55;6039:8;6034:2;6029:3;6025:12;6018:30;6076:2;6071:3;6067:12;6060:19;;5856:229;;;:::o;6094:316::-;;6254:67;6318:2;6313:3;6254:67;:::i;:::-;6247:74;;6354:18;6350:1;6345:3;6341:11;6334:39;6401:2;6396:3;6392:12;6385:19;;6240:170;;;:::o;6419:332::-;;6579:67;6643:2;6638:3;6579:67;:::i;:::-;6572:74;;6679:34;6675:1;6670:3;6666:11;6659:55;6742:2;6737:3;6733:12;6726:19;;6565:186;;;:::o;6760:329::-;;6920:67;6984:2;6979:3;6920:67;:::i;:::-;6913:74;;7020:31;7016:1;7011:3;7007:11;7000:52;7080:2;7075:3;7071:12;7064:19;;6906:183;;;:::o;7098:379::-;;7258:67;7322:2;7317:3;7258:67;:::i;:::-;7251:74;;7358:34;7354:1;7349:3;7345:11;7338:55;7427:12;7422:2;7417:3;7413:12;7406:34;7468:2;7463:3;7459:12;7452:19;;7244:233;;;:::o;7486:331::-;;7646:67;7710:2;7705:3;7646:67;:::i;:::-;7639:74;;7746:33;7742:1;7737:3;7733:11;7726:54;7808:2;7803:3;7799:12;7792:19;;7632:185;;;:::o;7826:391::-;;7986:67;8050:2;8045:3;7986:67;:::i;:::-;7979:74;;8086:34;8082:1;8077:3;8073:11;8066:55;8155:24;8150:2;8145:3;8141:12;8134:46;8208:2;8203:3;8199:12;8192:19;;7972:245;;;:::o;8225:113::-;8308:24;8326:5;8308:24;:::i;:::-;8303:3;8296:37;8290:48;;:::o;8345:113::-;8428:24;8446:5;8428:24;:::i;:::-;8423:3;8416:37;8410:48;;:::o;8465:271::-;;8618:93;8707:3;8698:6;8618:93;:::i;:::-;8611:100;;8728:3;8721:10;;8599:137;;;;:::o;8743:222::-;;8870:2;8859:9;8855:18;8847:26;;8884:71;8952:1;8941:9;8937:17;8928:6;8884:71;:::i;:::-;8841:124;;;;:::o;8972:238::-;;9107:2;9096:9;9092:18;9084:26;;9121:79;9197:1;9186:9;9182:17;9173:6;9121:79;:::i;:::-;9078:132;;;;:::o;9217:333::-;;9372:2;9361:9;9357:18;9349:26;;9386:71;9454:1;9443:9;9439:17;9430:6;9386:71;:::i;:::-;9468:72;9536:2;9525:9;9521:18;9512:6;9468:72;:::i;:::-;9343:207;;;;;:::o;9557:444::-;;9740:2;9729:9;9725:18;9717:26;;9754:71;9822:1;9811:9;9807:17;9798:6;9754:71;:::i;:::-;9836:72;9904:2;9893:9;9889:18;9880:6;9836:72;:::i;:::-;9919;9987:2;9976:9;9972:18;9963:6;9919:72;:::i;:::-;9711:290;;;;;;:::o;10008:333::-;;10163:2;10152:9;10148:18;10140:26;;10177:71;10245:1;10234:9;10230:17;10221:6;10177:71;:::i;:::-;10259:72;10327:2;10316:9;10312:18;10303:6;10259:72;:::i;:::-;10134:207;;;;;:::o;10348:210::-;;10469:2;10458:9;10454:18;10446:26;;10483:65;10545:1;10534:9;10530:17;10521:6;10483:65;:::i;:::-;10440:118;;;;:::o;10565:472::-;;10762:2;10751:9;10747:18;10739:26;;10776:85;10858:1;10847:9;10843:17;10834:6;10776:85;:::i;:::-;10872:72;10940:2;10929:9;10925:18;10916:6;10872:72;:::i;:::-;10955;11023:2;11012:9;11008:18;10999:6;10955:72;:::i;:::-;10733:304;;;;;;:::o;11044:252::-;;11186:2;11175:9;11171:18;11163:26;;11200:86;11283:1;11272:9;11268:17;11259:6;11200:86;:::i;:::-;11157:139;;;;:::o;11303:310::-;;11450:2;11439:9;11435:18;11427:26;;11500:9;11494:4;11490:20;11486:1;11475:9;11471:17;11464:47;11525:78;11598:4;11589:6;11525:78;:::i;:::-;11517:86;;11421:192;;;;:::o;11620:416::-;;11820:2;11809:9;11805:18;11797:26;;11870:9;11864:4;11860:20;11856:1;11845:9;11841:17;11834:47;11895:131;12021:4;11895:131;:::i;:::-;11887:139;;11791:245;;;:::o;12043:416::-;;12243:2;12232:9;12228:18;12220:26;;12293:9;12287:4;12283:20;12279:1;12268:9;12264:17;12257:47;12318:131;12444:4;12318:131;:::i;:::-;12310:139;;12214:245;;;:::o;12466:416::-;;12666:2;12655:9;12651:18;12643:26;;12716:9;12710:4;12706:20;12702:1;12691:9;12687:17;12680:47;12741:131;12867:4;12741:131;:::i;:::-;12733:139;;12637:245;;;:::o;12889:416::-;;13089:2;13078:9;13074:18;13066:26;;13139:9;13133:4;13129:20;13125:1;13114:9;13110:17;13103:47;13164:131;13290:4;13164:131;:::i;:::-;13156:139;;13060:245;;;:::o;13312:416::-;;13512:2;13501:9;13497:18;13489:26;;13562:9;13556:4;13552:20;13548:1;13537:9;13533:17;13526:47;13587:131;13713:4;13587:131;:::i;:::-;13579:139;;13483:245;;;:::o;13735:416::-;;13935:2;13924:9;13920:18;13912:26;;13985:9;13979:4;13975:20;13971:1;13960:9;13956:17;13949:47;14010:131;14136:4;14010:131;:::i;:::-;14002:139;;13906:245;;;:::o;14158:416::-;;14358:2;14347:9;14343:18;14335:26;;14408:9;14402:4;14398:20;14394:1;14383:9;14379:17;14372:47;14433:131;14559:4;14433:131;:::i;:::-;14425:139;;14329:245;;;:::o;14581:416::-;;14781:2;14770:9;14766:18;14758:26;;14831:9;14825:4;14821:20;14817:1;14806:9;14802:17;14795:47;14856:131;14982:4;14856:131;:::i;:::-;14848:139;;14752:245;;;:::o;15004:416::-;;15204:2;15193:9;15189:18;15181:26;;15254:9;15248:4;15244:20;15240:1;15229:9;15225:17;15218:47;15279:131;15405:4;15279:131;:::i;:::-;15271:139;;15175:245;;;:::o;15427:222::-;;15554:2;15543:9;15539:18;15531:26;;15568:71;15636:1;15625:9;15621:17;15612:6;15568:71;:::i;:::-;15525:124;;;;:::o;15656:121::-;;15749:5;15743:12;15733:22;;15714:63;;;:::o;15784:122::-;;15878:5;15872:12;15862:22;;15843:63;;;:::o;15914:144::-;;16049:3;16034:18;;16027:31;;;;:::o;16067:163::-;;16182:6;16177:3;16170:19;16219:4;16214:3;16210:14;16195:29;;16163:67;;;;:::o;16238:91::-;;16300:24;16318:5;16300:24;:::i;:::-;16289:35;;16283:46;;;:::o;16336:85::-;;16409:5;16402:13;16395:21;16384:32;;16378:43;;;:::o;16428:105::-;;16504:24;16522:5;16504:24;:::i;:::-;16493:35;;16487:46;;;:::o;16540:107::-;;16613:28;16606:5;16602:40;16591:51;;16585:62;;;:::o;16654:121::-;;16727:42;16720:5;16716:54;16705:65;;16699:76;;;:::o;16782:72::-;;16844:5;16833:16;;16827:27;;;:::o;16861:129::-;;16948:37;16979:5;16948:37;:::i;:::-;16935:50;;16929:61;;;:::o;16997:149::-;;17090:51;17135:5;17090:51;:::i;:::-;17077:64;;17071:75;;;:::o;17153:122::-;;17246:24;17264:5;17246:24;:::i;:::-;17233:37;;17227:48;;;:::o;17282:151::-;;17376:52;17422:5;17376:52;:::i;:::-;17363:65;;17357:76;;;:::o;17440:123::-;;17534:24;17552:5;17534:24;:::i;:::-;17521:37;;17515:48;;;:::o;17570:121::-;;17649:37;17680:5;17649:37;:::i;:::-;17636:50;;17630:61;;;:::o;17698:108::-;;17777:24;17795:5;17777:24;:::i;:::-;17764:37;;17758:48;;;:::o;17814:268::-;17879:1;17886:101;17900:6;17897:1;17894:13;17886:101;;;17976:1;17971:3;17967:11;17961:18;17957:1;17952:3;17948:11;17941:39;17922:2;17919:1;17915:10;17910:15;;17886:101;;;18002:6;17999:1;17996:13;17993:2;;;18067:1;18058:6;18053:3;18049:16;18042:27;17993:2;17863:219;;;;:::o;18090:97::-;;18178:2;18174:7;18169:2;18162:5;18158:14;18154:28;18144:38;;18138:49;;;:::o;18195:117::-;18264:24;18282:5;18264:24;:::i;:::-;18257:5;18254:35;18244:2;;18303:1;18300;18293:12;18244:2;18238:74;:::o;18319:111::-;18385:21;18400:5;18385:21;:::i;:::-;18378:5;18375:32;18365:2;;18421:1;18418;18411:12;18365:2;18359:71;:::o;18437:145::-;18520:38;18552:5;18520:38;:::i;:::-;18513:5;18510:49;18500:2;;18573:1;18570;18563:12;18500:2;18494:88;:::o;18589:117::-;18658:24;18676:5;18658:24;:::i;:::-;18651:5;18648:35;18638:2;;18697:1;18694;18687:12;18638:2;18632:74;:::o;18713:117::-;18782:24;18800:5;18782:24;:::i;:::-;18775:5;18772:35;18762:2;;18821:1;18818;18811:12;18762:2;18756:74;:::o
Swarm Source
ipfs://a1e2fceafe761745d415f5bf95633449785ca992ee0d63a3dd1525a5d3e6b6f9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.