When reading and/or writing you will need to define which NFT you are working with.
/*
Before you call any functions on a specific particle, you'll need to specify
which one you are going to work with.
*/
const contractAddress = '0x1234';
const tokenId = 33;
const nft = charged.NFT(contractAddress, tokenId);
// This energizes our nft with 47 DAI tokens.
const txReciept = await nft.energize(
'aave.B',
'0xDAI',
ethers.utils.parseEther('47')
);
// Get the energized mass
const massBN = await nft.getMass('aave.B', '0xDAI');
// Discharges all of the interest accrued by the DAI tokens to my wallet.
const txReceipt2 = await nft.discharge('0xMYADDRESS', 'aave.B', '0xDAI');
Utilities
The SDK provides a set of utility functions. The example below shows the format that all the functions are called by.
// This will fetch the addresses of a contract associated with the main contract
const stateAddress = await charged.utils.getStateAddress()