// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract MintNFTX is Context { NFTX public _nftxVault; constructor(address _vaultAddress){ _nftxVault = NFTX(_vaultAddress); } function _buy(uint256 _tokenId) private { //THIS FUNCTION SUCCESSFULLY PURCHASES THE NFT AND IT IS OWNED BY THIS CONTRACT } function _mintNFTX(uint256 _tokenId) private { uint256[] memory nftIds = new uint256[](1); nftIds[0] = _tokenId; uint256[] memory amounts = new uint256[](1); amounts[0] = 1; console.log("Minting to vault"); _nftxVault.mint(nftIds, amounts); console.log("Minting success"); } function buyAndMint() public payable { console.log("begin buyAndDeposit"); payable(this).transfer(msg.value); console.log("Balance: %s gwei", address(this).balance); //Hard code tokenId for now uint256 tokenId = 72522; //Buy from NFT contract _buy(tokenId); //Deposit it into NTFX _mintNFTX(tokenId); } receive() external payable { } }
0.4.18