@fiatsend/resolver
v1.0.1
Published
Phone number and address resolution utilities for the Fiatsend protocol
Readme
Fiatsend Resolver SDK
Overview
The Fiatsend Resolver SDK allows developers to retrieve encrypted phone numbers linked to Fiatsend NFTs. Similar to how ENS resolves addresses, this SDK enables users to set and query a primary mobile number stored as NFT metadata.
Features
- Resolve Mobile Numbers: Retrieve encrypted phone numbers associated with Fiatsend NFTs.
- Set Primary Number: Users can set a primary NFT that resolves their phone number.
- ENS-Like Resolution: Works similarly to ENS by mapping wallet addresses to phone numbers.
- Supports Multiple NFTs: Users can own multiple NFTs but set only one as primary.
Installation
To install the Fiatsend Resolver SDK, run:
npm install @fiatsend/resolveror with Yarn:
yarn add @fiatsend/resolverUsage
Importing the Resolver
import { resolver } from "@fiatsend/resolver";Initialize the Resolver
const provider = new ethers.providers.JsonRpcProvider("https://your_rpc_url");
const contractAddress = "0xYourNFTContractAddress";
const resolverInstance = new resolver(provider, contractAddress);Get Encrypted Phone Number by Token ID
const tokenId = 1;
const phoneNumber = await resolverInstance.getEncryptedPhoneNumber(tokenId);
console.log("Encrypted Phone Number:", phoneNumber);Get Primary Phone Number for a Wallet Address
const userAddress = "0xUserWalletAddress";
const primaryPhoneNumber =
await resolverInstance.getPrimaryEncryptedPhoneNumber(userAddress);
console.log("Primary Encrypted Phone Number:", primaryPhoneNumber);Set Primary NFT for a User
const signer = provider.getSigner();
await resolverInstance.setPrimaryToken(tokenId, signer);
console.log("Primary NFT set successfully");Smart Contract Reference
Ensure the Fiatsend NFT contract implements the following functions:
getEncryptedPhoneNumber(uint256 tokenId) view returns (string memory)getPrimaryEncryptedPhoneNumber(address user) view returns (string memory)setPrimaryToken(uint256 tokenId)
Contributing
We welcome contributions! Feel free to submit issues or pull requests.
License
MIT License
