// SPDX-LICENSE-IDENTIFIER: UNLICENSED pragma solidity ^0.8.0; import { SendParam } from "@layerzerolabs/oft-evm/contracts/OFTCore.sol"; import { OFTFeeUpgradeable } from "../../contracts/oft/OFTFeeUpgradeable.sol"; contract OFTFeeUpgradeableMock is OFTFeeUpgradeable { constructor( address _lzEndpoint ) OFTFeeUpgradeable(_lzEndpoint) { _disableInitializers(); } function initialize(string memory _name, string memory _symbol, address _delegate) public initializer { __OFTFee_init(_name, _symbol, _delegate); __Ownable_init(_delegate); } function mint(address _to, uint256 _amount) public { _mint(_to, _amount); } // @dev expose internal functions for testing purposes function debit( uint256 _amountToSendLD, uint256 _minAmountToCreditLD, uint32 _dstEid ) public returns (uint256 amountDebitedLD, uint256 amountToCreditLD) { return _debit(msg.sender, _amountToSendLD, _minAmountToCreditLD, _dstEid); } function debitView( uint256 _amountToSendLD, uint256 _minAmountToCreditLD, uint32 _dstEid ) public view returns (uint256 amountDebitedLD, uint256 amountToCreditLD) { return _debitView(_amountToSendLD, _minAmountToCreditLD, _dstEid); } function removeDust(uint256 _amountLD) public view returns (uint256 amountLD) { return _removeDust(_amountLD); } function toLD(uint64 _amountSD) public view returns (uint256 amountLD) { return _toLD(_amountSD); } function toSD(uint256 _amountLD) public view returns (uint64 amountSD) { return _toSD(_amountLD); } function credit(address _to, uint256 _amountToCreditLD, uint32 _srcEid) public returns (uint256 amountReceivedLD) { return _credit(_to, _amountToCreditLD, _srcEid); } function buildMsgAndOptions( SendParam calldata _sendParam, uint256 _amountToCreditLD ) public view returns (bytes memory message, bytes memory options) { return _buildMsgAndOptions(_sendParam, _amountToCreditLD); } }