// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
contract Mapping {
// Mapping from address to uint
mapping(address => uint256) public myMap;
// Mapping from nft address and user address to his nft id
mapping(address => mapping(address => uint256)) public addressNFTIds;
struct myStruct {
address NFT;
address Operator;
}
// Mapping from nft address and user address to his approvor
mapping(address => myStruct) public addressApprovedInfo;
function updateMapping(
address nft,
address operator,
uint256 id
) public {
myMap[msg.sender] = id;
addressNFTIds[nft][msg.sender] = id;
addressApprovedInfo[msg.sender] = myStruct(nft, operator);
}
function updateOperatorNFT(
address nft,
address operator,
uint256 id
) public {
mapping(address => uint256) storage _tokensByNft = addressNFTIds[nft];
_tokensByNft[operator] = id;
}
}