Quickstart
yarn add @depay/web3-assets
or
npm install --save @depay/web3-assets
import { getAssets } from '@depay/web3-assets'
let assets = await getAssets({
accounts: {
ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950',
bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950'
}
})
import { dripAssets } from '@depay/web3-assets'
let allAssets = await dripAssets({
accounts: { ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950', bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950' },
priority: [
{ blockchain: 'ethereum', address: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb' },
{ blockchain: 'bsc', address: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb' },
{ blockchain: 'ethereum', address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' },
{ blockchain: 'bsc', address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c' }
],
drip: (asset)=>{
}
})
Support
This library supports the following blockchains:
Platform specific packaging
In case you want to use and package only specific platforms, use the platform-specific package:
EVM (Ethereum Virtual Machine) platform specific packaging
import { getAssets } from '@depay/web3-assets-evm'
SVM (Solana Virtual Machine) platform specific packaging
import { getAssets } from '@depay/web3-assets-svm'
Functionalities
getAssets
Retrieves all assets of the given account on the given blockchains:
import { getAssets } from '@depay/web3-assets'
let assets = await getAssets({
accounts: {
ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950',
bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950'
}
})
Timeout happens after 10s and []
will be returned in cases the assets for the given addresses can't be retrieved within 10s.
only (getAssets)
Only gets assets and balances for given token addresses.
import { getAssets } from '@depay/web3-assets'
let assets = await getAssets({
accounts: {
ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950',
bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950'
},
only: {
ethereum: ['0x6B175474E89094C44Da98b954EedeAC495271d0F'],
bsc: ['0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82']
}
})
exclude (getAssets)
Excludes given assets
import { getAssets } from '@depay/web3-assets'
let assets = await getAssets({
accounts: {
ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950',
bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950'
},
exclude: {
ethereum: ['0x6B175474E89094C44Da98b954EedeAC495271d0F'],
bsc: ['0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82']
}
})
dripAssets
Drips every single asset immediately after resolved and all assets after all assets have been resolved (just as getAssets):
import { dripAssets } from '@depay/web3-assets'
let allAssets = await dripAssets({
accounts: { ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950', bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950' },
priority: [
{ blockchain: 'ethereum', address: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb' },
{ blockchain: 'bsc', address: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb' },
{ blockchain: 'ethereum', address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' },
{ blockchain: 'bsc', address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c' },
],
drip: (asset)=>{
}
})
only (dripAssets)
Only drips assets and balances for given token addresses.
import { dripAssets } from '@depay/web3-assets'
let assets = await dripAssets({
accounts: {
ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950',
bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950'
},
only: {
ethereum: ['0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb'],
bsc: ['0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb']
},
drip: (asset)=>{
}
})
exclude (dripAssets)
Drips all assets except the ones you "exclude":
import { dripAssets } from '@depay/web3-assets'
let assets = await dripAssets({
accounts: {
ethereum: '0x08B277154218CCF3380CAE48d630DA13462E3950',
bsc: '0x08B277154218CCF3380CAE48d630DA13462E3950'
},
exclude: {
ethereum: ['0x6B175474E89094C44Da98b954EedeAC495271d0F'],
bsc: ['0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82']
},
drip: (asset)=>{
}
})
Development
Get started
yarn install
yarn dev
Release
npm publish