RetrieveUser

Description

This function retrieves information about the currently logged in user. The fields returned include the userIdentifier, the user's wallet addresses, and the asset and collectibles balances.

This function should only be invoked once the user has successfully logged in.

Details

Signature

async RetrieveUser(apiKey)

Arguments

Parameter
Type
Definition

apiKey

String

Return Value

This function returns a Promise that resolves to the following object:

{
    "statusCode": 1/0,
    "data": {
        "userIdentifier": "userIdentifier", // the userIdentifier returned from your JWT verification endpoint
        "chainWallets": [
            "eth": [
                "address" // list of addresses for each chain
            ],
            ...
        ], // list of wallet addresses for each chain
        "assets": [
            "eth_eth": { // assetKey
                "totalBalance": "totalBalance", // total balance in BigNumber, across all user accounts
                "accountBalances": [
                    {
                        "address": "address", // wallet address
                        "balance": "balance" // balance in BigNumber
                    },
                ]
            },
            ...
        ], // list of assets owned by user
        "collectibles": [
            {
                /****** Metafi Asset fields *******/
                "symbol": "",
                "chain": {
                    /* Metafi chain Object */
                },
                "decimals": 0,
                "isNative": false,
                "contractAddress": "contractAddress",
                "assetKey": "",
                "className": "Asset",
                "tokenStandard": {
                    "name": "erc1155"
                },
                /****** NFT specific fields *******/
                "name": "name", // name extracted from NFT metadata
                "image": "imageURL", // image URL extracted from NFT metadata
                "description": "description", // description extracted from NFT metadata
                "tokenUri": "tokenUri", // fetched from smart contract
                "metadata": { // raw NFT metadata extracted from token URI
                    "name": "name",
                    "description": "description",
                    "image": "imageURL",
                },
                "tokenId": "tokenId" // fetched from smart contract
              },
            ...
        ],
    }
    "error": "error" // error if any
}

Example

custom-tokens.js
import { RetrieveUser } from '@metafi/metafi-js-package';

function App() {
    // Login logic
    
    const handleRetrieveUser = async () => {
        var result = await RetrieveUser("YOUR-API-KEY");
        console.log("result after retrieving user", result);
    }
    
    return (
        <div>
	    <button onClick={handleRetrieveUser}>Retrieve User Details</button>
        </div>
    );
}

export default App;

Last updated