Source Code
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
Contract Name:
VNXAnyTransferProvider
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity Standard Json-Input format)
/**
* VNX Transfer Provider Smart Contract
* Updated: 23.07.2025
* (c) Copyright by VNX S.A, Luxembourg.
**/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "./ITransferProvider.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
/* Any transfer provider: allows any transfer */
contract VNXAnyTransferProvider is Ownable, ITransferProvider {
constructor() Ownable(){}
/*
Function in its simplest form just emits Approve event and returns true.
*/
function approveTransfer(address from, address to, uint256 value, address spender) external pure override returns(bool)
{
return true;
}
/*
Function in its simplest form just returns true.
*/
function considerTransfer(address from, address to, uint256 value) external pure override returns(bool)
{
return true;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
import "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract 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() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(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");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol)
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface ITransferProvider {
event TransferApproved(address indexed from, address indexed to, uint256 value);
event TransferDeclined(address indexed from, address indexed to, uint256 value);
/* function approve transfer upon its own rules and return true or false */
function approveTransfer(address from, address to, uint256 value, address spender) external returns(bool);
/* function to inform provider about transfer on admin behalf to take it into providers account */
function considerTransfer(address from, address to, uint256 value) external returns(bool);
}{
"remappings": [],
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"viaIR": true,
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferApproved","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":"value","type":"uint256"}],"name":"TransferDeclined","type":"event"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"spender","type":"address"}],"name":"approveTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"considerTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080806040523461005b5760008054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36102c790816100618239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c8063715018a6146101ae5780638da5cb5b14610187578063afe9a9a514610146578063b900f040146101175763f2fde38b1461005457600080fd5b346101145760203660031901126101145761006d610208565b610075610239565b6001600160a01b039081169081156100c05782546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b503461011457606036600319011261011457610131610208565b5061013a610223565b50602060405160018152f35b503461011457608036600319011261011457610160610208565b50610169610223565b506064356001600160a01b0381160361011457602060405160018152f35b5034610114578060031936011261011457546040516001600160a01b039091168152602090f35b50346101145780600319360112610114576101c7610239565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b600435906001600160a01b038216820361021e57565b600080fd5b602435906001600160a01b038216820361021e57565b6000546001600160a01b0316330361024d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea2646970667358221220def21e83beec0b0aa1969a64e28de05ac2d6e55fdd3917592cbe457cf90dab4c64736f6c63430008140033
Deployed Bytecode
0x6080604052600436101561001257600080fd5b6000803560e01c8063715018a6146101ae5780638da5cb5b14610187578063afe9a9a514610146578063b900f040146101175763f2fde38b1461005457600080fd5b346101145760203660031901126101145761006d610208565b610075610239565b6001600160a01b039081169081156100c05782546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b503461011457606036600319011261011457610131610208565b5061013a610223565b50602060405160018152f35b503461011457608036600319011261011457610160610208565b50610169610223565b506064356001600160a01b0381160361011457602060405160018152f35b5034610114578060031936011261011457546040516001600160a01b039091168152602090f35b50346101145780600319360112610114576101c7610239565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b600435906001600160a01b038216820361021e57565b600080fd5b602435906001600160a01b038216820361021e57565b6000546001600160a01b0316330361024d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea2646970667358221220def21e83beec0b0aa1969a64e28de05ac2d6e55fdd3917592cbe457cf90dab4c64736f6c63430008140033
Deployed Bytecode Sourcemap
323:549:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;323:549:2;;;;;;:::i;:::-;1063:62:0;;:::i;:::-;-1:-1:-1;;;;;323:549:2;;;;2162:22:0;;323:549:2;;;;-1:-1:-1;;;;;;323:549:2;;;;;;;2566:40:0;323:549:2;;2566:40:0;323:549:2;;;;;-1:-1:-1;;;323:549:2;;;;;;;;;;;;;;;;;-1:-1:-1;;;323:549:2;;;;;;;;;;;;;;;;;-1:-1:-1;;323:549:2;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;323:549:2;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;323:549:2;;-1:-1:-1;;;;;323:549:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;323:549:2;;;;;;;;;;;;;;;;;;;;;1063:62:0;;:::i;:::-;323:549:2;;-1:-1:-1;;;;;;323:549:2;;;;;;-1:-1:-1;;;;;323:549:2;2566:40:0;323:549:2;;2566:40:0;323:549:2;;;;;;-1:-1:-1;;;;;323:549:2;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;323:549:2;;;;;;:::o;1359:130:0:-;1273:6;323:549:2;-1:-1:-1;;;;;323:549:2;734:10:1;1422:23:0;323:549:2;;1359:130:0:o;323:549:2:-;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
ipfs://def21e83beec0b0aa1969a64e28de05ac2d6e55fdd3917592cbe457cf90dab4c
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in FRAX
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.