Blockwell

VIDT Datalink

ERC20

This contract is an ERC20 token.

Name VIDT Datalink
Symbol VIDT
Decimals 18
Total Supply 56,197,116 VIDT

About link description

VIDT Datalink (VIDT) is a cryptocurrency and operates on the Ethereum platform. VIDT Datalink has a current supply of 57,386,799 with 49,428,303.18412282 in circulation. The last known price of VIDT Datalink is 0.36423634 USD and is down -8.01 over the last 24 hours. It is currently trading on 14 active market(s) with $3,138,056.61 traded over the last 24 hours. More information can be found at https://www.vidt-datalink.com.

Stats

Public Functions 51
Event Types 10
Code Size 19,974 bytes

Library Use

Uses SafeMath for uint256.
Uses SafeERC20 for ERC20.

Events (10) keyboard_arrow_up

Approval Event

Parameters help
_owner
address help
_spender
address help
_value
uint256 help

Freeze Event

Parameters help
target
address help
frozen
bool help

ListFile Event

Parameters help
index
uint256 help
data
string help
nft
uint256 help

OwnershipTransferred Event

Parameters help
previousOwner
address help
newOwner
address help

Pause Event

Parameters help

Transfer Event

Parameters help
_from
address help
_to
address help
_value
uint256 help

Unpause Event

Parameters help

ValidateFile Event

Parameters help
index
uint256 help
data
string help
nftID
uint256 help

ValidatePublisher Event

Parameters help
publisherAddress
address help
state
bool help
publisherName
string help

ValidateWallet Event

Parameters help
walletAddress
address help
state
bool help
walletName
string help

fStruct Struct

Members
index
uint256 help
nft
uint256 help

initialSupply Constant

uint256 help
100000000

unused Variable

uint256 help

token_number Variable

uint256 help

paused Variable

bool help

_balances Variable

mapping(address => uint256) help
Internal Variable

_allowances Variable

mapping(address => mapping(address => uint256)) help
Internal Variable

frozenAccounts Variable

mapping(address => bool) help
Internal Variable

verifiedPublishers Variable

mapping(address => bool) help
Internal Variable

verifiedWallets Variable

mapping(address => bool) help
Internal Variable

verifiedNFTs Variable

mapping(uint256 => string) help
Internal Variable

publicNFT Variable

bool help
Internal Variable

fileHashes Variable

mapping(string => fStruct) help
Internal Variable

fileIndex Variable

string[] help
Internal Variable

_name Variable

string help
Internal Variable

_symbol Variable

string help
Internal Variable

_decimals Variable

uint8 help
Internal Variable

_totalSupply Variable

uint256 help
Internal Variable

_validationPrice Variable

uint256 help
Internal Variable

_validationFee Variable

uint256 help
Internal Variable

_validationWallet Variable

address help
Internal Variable

mainWallet Variable

address help
Internal Variable

oldContract Variable

address help
Internal Variable

_nftContract Variable

address help
Internal Variable

_nftdContract Variable

address help
Internal Variable

_owner Variable

address help
Internal Variable

mainWallet Variable

address help
Internal Variable

owner keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function owner() public view returns (address) {
  return _owner;
}

transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transferOwnership(address newOwner) public onlyOwner {
  _transferOwnership(newOwner);
}

pause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function pause() public onlyOwner whenNotPaused {
  paused = true;
  emit Pause();
}

unpause keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
function unpause() public onlyOwner whenPaused {
  paused = false;
  emit Unpause();
}

getOwner keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function getOwner() external view virtual override returns (address) {
  return owner();
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function decimals() external view virtual override returns (uint8) {
  return _decimals;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function symbol() external view virtual override returns (string memory) {
  return _symbol;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function name() external view virtual override returns (string memory) {
  return _name;
}

nameChange keyboard_arrow_up

Parameters help

Name Type
newName
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function nameChange(string memory newName) public onlyOwner {
  _name = newName;
}

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function totalSupply() external view virtual override returns (uint256) {
  return _totalSupply;
}

Parameters help

Name Type
account
address help

Properties

Visibility help public
Mutability help view
Source Code
function balanceOf(address account)
  external
  view
  virtual
  override
  returns (uint256)
{
  return _balances[account];
}

Parameters help

Name Type
recipient
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function transfer(address recipient, uint256 amount)
  external
  override
  whenNotPaused
  returns (bool)
{
  require(
    !frozenAccounts[msg.sender] || recipient == owner(),
    "T1 - The wallet of sender is frozen"
  );
  require(!frozenAccounts[recipient], "T2 - The wallet of recipient is frozen");

  _transfer(_msgSender(), recipient, amount);
  return true;
}

transferToken keyboard_arrow_up

Parameters help

Name Type
tokenAddress
address help
tokens
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferToken(address tokenAddress, uint256 tokens)
  external
  onlyOwner
{
  ERC20(tokenAddress).transfer(owner(), tokens);
}

Parameters help

Name Type
owner
address help
spender
address help

Properties

Visibility help public
Mutability help view
Source Code
function allowance(address owner, address spender)
  external
  view
  override
  returns (uint256)
{
  return _allowances[owner][spender];
}

Parameters help

Name Type
spender
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function approve(address spender, uint256 amount)
  external
  override
  whenNotPaused
  returns (bool)
{
  require(
    (amount == 0) || (_allowances[msg.sender][spender] == 0),
    "A1- Reset allowance to 0 first"
  );

  _approve(_msgSender(), spender, amount);
  return true;
}

Parameters help

Name Type
sender
address help
recipient
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function transferFrom(
  address sender,
  address recipient,
  uint256 amount
) external override whenNotPaused returns (bool) {
  require(!frozenAccounts[sender], "TF1 - The wallet of sender is frozen");
  require(
    !frozenAccounts[recipient] || recipient == owner(),
    "TF2 - The wallet of recipient is frozen"
  );

  _transfer(sender, recipient, amount);
  _approve(
    sender,
    _msgSender(),
    _allowances[sender][_msgSender()].sub(
      amount,
      "TF1 - Transfer amount exceeds allowance"
    )
  );
  return true;
}

Parameters help

Name Type
spender
address help
addedValue
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function increaseAllowance(address spender, uint256 addedValue)
  public
  whenNotPaused
  returns (bool)
{
  _approve(
    _msgSender(),
    spender,
    _allowances[_msgSender()][spender].add(addedValue)
  );
  return true;
}

increaseApproval keyboard_arrow_up

Parameters help

Name Type
spender
address help
addedValue
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function increaseApproval(address spender, uint256 addedValue)
  public
  override
  whenNotPaused
  returns (bool)
{
  _approve(
    _msgSender(),
    spender,
    _allowances[_msgSender()][spender].add(addedValue)
  );
  return true;
}

Parameters help

Name Type
spender
address help
subtractedValue
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function decreaseAllowance(address spender, uint256 subtractedValue)
  public
  whenNotPaused
  returns (bool)
{
  _approve(
    _msgSender(),
    spender,
    _allowances[_msgSender()][spender].sub(
      subtractedValue,
      "DA1 - Decreased allowance below zero"
    )
  );
  return true;
}

decreaseApproval keyboard_arrow_up

Parameters help

Name Type
spender
address help
subtractedValue
uint256 help

Properties

Visibility help public
Mutability help transaction

Modifiers help

Requirements help

Source Code
function decreaseApproval(address spender, uint256 subtractedValue)
  public
  override
  whenNotPaused
  returns (bool)
{
  _approve(
    _msgSender(),
    spender,
    _allowances[_msgSender()][spender].sub(
      subtractedValue,
      "DA1 - Decreased allowance below zero"
    )
  );
  return true;
}

burn keyboard_arrow_up

Parameters help

Name Type
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function burn(uint256 amount) public {
  _burn(_msgSender(), amount);
}

freeze keyboard_arrow_up

Parameters help

Name Type
_address
address help
_state
bool help

Properties

Visibility help public
Mutability help transaction
Source Code
function freeze(address _address, bool _state) public onlyOwner returns (bool) {
  frozenAccounts[_address] = _state;
  emit Freeze(_address, _state);
  return true;
}

burnFrom keyboard_arrow_up

Parameters help

Name Type
account
address help
amount
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function burnFrom(address account, uint256 amount) public {
  uint256 decreasedAllowance = _allowances[account][_msgSender()].sub(
    amount,
    "BF1 - Burn amount exceeds allowance"
  );
  _approve(account, _msgSender(), decreasedAllowance);
  _burn(account, amount);
}

transferByOwner keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function transferByOwner(address _to, uint256 _value)
  public
  onlyOwner
  returns (bool success)
{
  _balances[msg.sender] = _balances[msg.sender].sub(_value);
  _balances[_to] = _balances[_to].add(_value);

  emit Transfer(msg.sender, _to, _value);

  return true;
}

batchTransferByOwner keyboard_arrow_up

Parameters help

Name Type
_addresses
address[] help
_amounts
uint256[] help

Properties

Visibility help public
Mutability help transaction
Source Code
function batchTransferByOwner(
  address[] memory _addresses,
  uint256[] memory _amounts
) public onlyOwner returns (bool success) {
  require(
    _addresses.length == _amounts.length,
    "BT1 - Addresses length must be equal to amounts length"
  );

  uint256 i = 0;
  for (i = 0; i < _addresses.length; i++) {
    _balances[msg.sender] = _balances[msg.sender].sub(_amounts[i]);
    _balances[_addresses[i]] = _balances[_addresses[i]].add(_amounts[i]);
    emit Transfer(msg.sender, _addresses[i], _amounts[i]);
  }
  return true;
}

validatePublisher keyboard_arrow_up

Parameters help

Name Type
Address
address help
State
bool help
Publisher
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function validatePublisher(
  address Address,
  bool State,
  string memory Publisher
) public onlyOwner returns (bool) {
  verifiedPublishers[Address] = State;
  emit ValidatePublisher(Address, State, Publisher);
  return true;
}

validateWallet keyboard_arrow_up

Parameters help

Name Type
Address
address help
State
bool help
Wallet
string help

Properties

Visibility help public
Mutability help transaction
Source Code
function validateWallet(
  address Address,
  bool State,
  string memory Wallet
) public onlyOwner returns (bool) {
  verifiedWallets[Address] = State;
  emit ValidateWallet(Address, State, Wallet);
  return true;
}

validateFile keyboard_arrow_up

Parameters help

Name Type
To
address help
Payment
uint256 help
Data
bytes help
cStore
bool help
eLog
bool help
NFT
bool help

Properties

Visibility help public
Mutability help payable
Source Code
function validateFile(
  address To,
  uint256 Payment,
  bytes calldata Data,
  bool cStore,
  bool eLog,
  bool NFT
) external payable returns (bool) {
  require(
    Payment >= _validationPrice || msg.value >= _validationFee,
    "V1 - Insufficient payment provided"
  );
  require(verifiedPublishers[msg.sender], "V2 - Unverified publisher address");
  require(Data.length == 64, "V3 - Invalid hash provided");

  if (!verifiedWallets[To]) {
    To = _validationWallet;
  }

  uint256 index = 0;
  string memory fileHash = string(Data);

  if (cStore) {
    if (fileIndex.length > 0) {
      require(
        fileHashes[fileHash].index == 0,
        "V4 - This hash was previously validated"
      );
    }

    fileIndex.push(fileHash);
    fileHashes[fileHash].index = fileIndex.length - 1;
    index = fileHashes[fileHash].index;
  }

  bool nft_created = false;
  uint256 nftID = 0;

  if (NFT) {
    bytes memory nft_data = "";
    require(fileHashes[fileHash].nft == 0, "V5 - NFT exists already");
    (nft_created, nft_data) = _nftContract.delegatecall(
      abi.encodeWithSignature("createNFT(bytes)", Data)
    );
    require(nft_created, "V6 - NFT contract call failed");

    nftID = uint256(bytesToBytes32(nft_data, 0));

    verifiedNFTs[nftID] = fileHash;
    fileHashes[fileHash].nft = nftID;
  }

  if (_allowances[To][msg.sender] >= Payment) {
    _allowances[To][msg.sender] = _allowances[To][msg.sender].sub(Payment);
  } else {
    _balances[msg.sender] = _balances[msg.sender].sub(Payment);
    _balances[To] = _balances[To].add(Payment);
  }

  if (eLog) {
    emit ValidateFile(index, fileHash, nftID);
  }

  emit Transfer(msg.sender, To, Payment);
  return true;
}

memoryValidateFile keyboard_arrow_up

Parameters help

Name Type
Payment
uint256 help
Data
bytes help

Properties

Visibility help public
Mutability help payable

Modifiers help

Source Code
function memoryValidateFile(uint256 Payment, bytes calldata Data)
  external
  payable
  whenNotPaused
  returns (bool)
{
  require(
    Payment >= _validationPrice || msg.value >= _validationFee,
    "V1 - Insufficient payment provided"
  );
  require(verifiedPublishers[msg.sender], "V2 - Unverified publisher address");
  require(Data.length == 64, "V3 - Invalid hash provided");

  uint256 index = 0;
  string memory fileHash = string(Data);

  if (fileIndex.length > 0) {
    require(
      fileHashes[fileHash].index == 0,
      "V4 - This hash was previously validated"
    );
  }

  fileIndex.push(fileHash);
  fileHashes[fileHash].index = fileIndex.length - 1;
  index = fileHashes[fileHash].index;

  _balances[msg.sender] = _balances[msg.sender].sub(Payment);
  _balances[_validationWallet] = _balances[_validationWallet].add(Payment);

  emit Transfer(msg.sender, _validationWallet, Payment);
  return true;
}

validateNFT keyboard_arrow_up

Parameters help

Name Type
Payment
uint256 help
Data
bytes help
divisable
bool help

Properties

Visibility help public
Mutability help payable

Modifiers help

Source Code
function validateNFT(
  uint256 Payment,
  bytes calldata Data,
  bool divisable
) external payable whenNotPaused returns (bool) {
  require(
    Payment >= _validationPrice || msg.value >= _validationFee,
    "V1 - Insufficient payment provided"
  );
  require(
    publicNFT || verifiedPublishers[msg.sender],
    "V2 - Unverified publisher address"
  );
  require(Data.length == 64, "V3 - Invalid hash provided");

  uint256 index = 0;
  string memory fileHash = string(Data);
  bool nft_created = false;
  uint256 nftID = 0;
  bytes memory nft_data = "";

  require(fileHashes[fileHash].nft == 0, "V5 - NFT exists already");

  if (divisable) {
    (nft_created, nft_data) = _nftdContract.delegatecall(
      abi.encodeWithSignature("createNFT(bytes)", Data)
    );
  } else {
    (nft_created, nft_data) = _nftContract.delegatecall(
      abi.encodeWithSignature("createNFT(bytes)", Data)
    );
  }
  require(nft_created, "V6 - NFT contract call failed");

  nftID = uint256(bytesToBytes32(nft_data, 0));

  verifiedNFTs[nftID] = fileHash;
  fileHashes[fileHash].nft = nftID;

  _balances[msg.sender] = _balances[msg.sender].sub(Payment);
  _balances[_validationWallet] = _balances[_validationWallet].add(Payment);

  emit Transfer(msg.sender, _validationWallet, Payment);
  emit ValidateFile(index, fileHash, nftID);
  return true;
}

simpleValidateFile keyboard_arrow_up

Parameters help

Name Type
Payment
uint256 help

Properties

Visibility help public
Mutability help payable

Modifiers help

Source Code
function simpleValidateFile(uint256 Payment)
  external
  payable
  whenNotPaused
  returns (bool)
{
  require(
    Payment >= _validationPrice || msg.value >= _validationFee,
    "V1 - Insufficient payment provided"
  );
  require(verifiedPublishers[msg.sender], "V2 - Unverified publisher address");

  _balances[msg.sender] = _balances[msg.sender].sub(Payment);
  _balances[_validationWallet] = _balances[_validationWallet].add(Payment);

  emit Transfer(msg.sender, _validationWallet, Payment);
  return true;
}

covertValidateFile keyboard_arrow_up

Parameters help

Name Type
Payment
uint256 help

Properties

Visibility help public
Mutability help payable

Modifiers help

Source Code
function covertValidateFile(uint256 Payment)
  external
  payable
  whenNotPaused
  returns (bool)
{
  require(
    Payment >= _validationPrice || msg.value >= _validationFee,
    "V1 - Insufficient payment provided"
  );
  require(verifiedPublishers[msg.sender], "V2 - Unverified publisher address");

  _balances[msg.sender] = _balances[msg.sender].sub(Payment);
  _balances[_validationWallet] = _balances[_validationWallet].add(Payment);
  return true;
}

verifyFile keyboard_arrow_up

Parameters help

Name Type
fileHash
string help

Properties

Visibility help public
Mutability help view
Source Code
function verifyFile(string memory fileHash)
  public
  view
  returns (bool verified)
{
  verified = true;
  if (fileIndex.length == 0) {
    verified = false;
  }
  bytes memory a = bytes(fileIndex[fileHashes[fileHash].index]);
  bytes memory b = bytes(fileHash);
  if (a.length != b.length) {
    verified = false;
  }
  if (verified) {
    for (uint256 i = 0; i < a.length; i++) {
      if (a[i] != b[i]) {
        verified = false;
      }
    }
  }
  if (!verified) {
    bool heritage_call = false;
    bytes memory heritage_data = "";
    (heritage_call, heritage_data) = oldContract.staticcall(
      abi.encodeWithSignature("verifyFile(string)", fileHash)
    );
    require(heritage_call, "V0 - Old contract call failed");
    assembly {
      verified := mload(add(heritage_data, 32))
    }
  }
}

verifyPublisher keyboard_arrow_up

Parameters help

Name Type
_publisher
address help

Properties

Visibility help public
Mutability help view
Source Code
function verifyPublisher(address _publisher)
  public
  view
  returns (bool verified)
{
  verified = verifiedPublishers[_publisher];
}

verifyWallet keyboard_arrow_up

Parameters help

Name Type
_wallet
address help

Properties

Visibility help public
Mutability help view
Source Code
function verifyWallet(address _wallet) public view returns (bool verified) {
  verified = verifiedWallets[_wallet];
}

frozenAccount keyboard_arrow_up

Parameters help

Name Type
_account
address help

Properties

Visibility help public
Mutability help view
Source Code
function frozenAccount(address _account) public view returns (bool frozen) {
  frozen = frozenAccounts[_account];
}

verify keyboard_arrow_up

Parameters help

Name Type
fileHash
string help

Properties

Visibility help public
Mutability help view
Source Code
function verify(string memory fileHash) public view returns (bool) {
  if (fileIndex.length == 0) {
    return false;
  }
  bytes memory a = bytes(fileIndex[fileHashes[fileHash].index]);
  bytes memory b = bytes(fileHash);
  if (a.length != b.length) {
    return false;
  }
  for (uint256 i = 0; i < a.length; i++) {
    if (a[i] != b[i]) {
      return false;
    }
  }
  return true;
}

verifyFileNFT keyboard_arrow_up

Parameters help

Name Type
fileHash
string help

Properties

Visibility help public
Mutability help view
Source Code
function verifyFileNFT(string memory fileHash) public view returns (uint256) {
  if (fileIndex.length == 0) {
    return 0;
  }
  bytes memory a = bytes(fileIndex[fileHashes[fileHash].index]);
  bytes memory b = bytes(fileHash);
  if (a.length != b.length) {
    return 0;
  }
  for (uint256 i = 0; i < a.length; i++) {
    if (a[i] != b[i]) {
      return 0;
    }
  }
  return fileHashes[fileHash].nft;
}

verifyNFT keyboard_arrow_up

Parameters help

Name Type
nftID
uint256 help

Properties

Visibility help public
Mutability help view
Source Code
function verifyNFT(uint256 nftID) public view returns (string memory hash) {
  hash = verifiedNFTs[nftID];
}

setPrice keyboard_arrow_up

Parameters help

Name Type
newPrice
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function setPrice(uint256 newPrice) public onlyOwner {
  _validationPrice = newPrice;
}

setFee keyboard_arrow_up

Parameters help

Name Type
newFee
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function setFee(uint256 newFee) public onlyOwner {
  _validationFee = newFee;
}

setWallet keyboard_arrow_up

Parameters help

Name Type
newWallet
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function setWallet(address newWallet) public onlyOwner {
  _validationWallet = newWallet;
}

setContracts keyboard_arrow_up

Parameters help

Name Type
nftContract
address help
nftdContract
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function setContracts(address nftContract, address nftdContract)
  public
  onlyOwner
{
  _nftContract = nftContract;
  _nftdContract = nftdContract;
}

setPublic keyboard_arrow_up

Parameters help

Name Type
_public
bool help

Properties

Visibility help public
Mutability help transaction
Source Code
function setPublic(bool _public) public onlyOwner {
  publicNFT = _public;
}

listFiles keyboard_arrow_up

Parameters help

Name Type
startAt
uint256 help
stopAt
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function listFiles(uint256 startAt, uint256 stopAt)
  public
  onlyOwner
  returns (bool)
{
  if (fileIndex.length == 0) {
    return false;
  }
  require(startAt <= fileIndex.length - 1, "L1 - Please select a valid start");
  if (stopAt > 0) {
    require(
      stopAt > startAt && stopAt <= fileIndex.length - 1,
      "L2 - Please select a valid stop"
    );
  } else {
    stopAt = fileIndex.length - 1;
  }
  for (uint256 i = startAt; i <= stopAt; i++) {
    emit ListFile(i, fileIndex[i], fileHashes[fileIndex[i]].nft);
  }
  return true;
}

withdraw keyboard_arrow_up

Parameters help

Name Type
_ownerAddress
address help

Properties

Visibility help public
Mutability help transaction
Source Code
function withdraw(address payable _ownerAddress) external onlyOwner {
  _ownerAddress.transfer(address(this).balance);
}

validationPrice keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function validationPrice() public view returns (uint256) {
  return _validationPrice;
}

validationFee keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function validationFee() public view returns (uint256) {
  return _validationFee;
}

validationWallet keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function validationWallet() public view returns (address) {
  return _validationWallet;
}

nftContract keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function nftContract() public view returns (address) {
  return _nftContract;
}

nftdContract keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help view
Source Code
function nftdContract() public view returns (address) {
  return _nftdContract;
}

Internal Functions Expand All Collapse All

Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.

internal VIDT._transfer keyboard_arrow_up

Parameters help

Name Type
sender
address help
recipient
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _transfer(
  address sender,
  address recipient,
  uint256 amount
) internal {
  require(sender != address(0), "T1 - Transfer from the zero address");
  require(
    recipient != address(0) || frozenAccounts[sender],
    "T3 - Transfer to the zero address"
  );

  _balances[sender] = _balances[sender].sub(
    amount,
    "T4 - Transfer amount exceeds balance"
  );
  _balances[recipient] = _balances[recipient].add(amount);

  emit Transfer(sender, recipient, amount);
}

internal VIDT._burn keyboard_arrow_up

Parameters help

Name Type
account
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _burn(address account, uint256 amount) internal {
  require(account != address(0), "B1 - Burn from the zero address");

  _balances[account] = _balances[account].sub(
    amount,
    "B2 - Burn amount exceeds balance"
  );
  _totalSupply = _totalSupply.sub(amount);

  emit Transfer(account, address(0), amount);
}

internal VIDT._approve keyboard_arrow_up

Parameters help

Name Type
owner
address help
spender
address help
amount
uint256 help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _approve(
  address owner,
  address spender,
  uint256 amount
) internal {
  require(owner != address(0), "A1 - Approve from the zero address");
  require(spender != address(0), "A2 - Approve to the zero address");

  _allowances[owner][spender] = amount;
  emit Approval(owner, spender, amount);
}

internal VIDT.bytesToBytes32 keyboard_arrow_up

Parameters help

Name Type
b
bytes help
offset
uint help

Properties

Visibility help private
Mutability help pure
Source Code
function bytesToBytes32(bytes memory b, uint256 offset)
  private
  pure
  returns (bytes32)
{
  bytes32 out;
  for (uint256 i = 0; i < 32; i++) {
    out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);
  }
  return out;
}

internal Ownable.constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction
Source Code
constructor() internal {
  address msgSender = _msgSender();
  _owner = msgSender;
  emit OwnershipTransferred(address(0), msgSender);
}

internal Ownable._transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _transferOwnership(address newOwner) internal {
  require(newOwner != address(0), "Ownable: new owner is the zero address");
  emit OwnershipTransferred(_owner, newOwner);
  _owner = newOwner;
}

internal Context.constructor keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help transaction
Source Code
constructor() internal {}

internal Context._msgSender keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help internal
Mutability help view
Source Code
function _msgSender() internal view returns (address) {
  return msg.sender;
}