Skip to main content
Version: Next

Supported RPC Blockchain Methods

The RPC APIs will be injected upon startup of your Notifi Hosted routine. The interfaces will be specific to the blockchain your parser is targeting and will be limited to query only.

Supported Chains/RPCs

EVM

  • Ethereum, Polygon, Avalance, Arbitrum, ZKsync, Binance, EVMOS, Optimism

Methods Supported:

getAccountBalance

Parameters

required account: string

The address (20 bytes) to check for balance

required blockNumber: number

The blocknumber is in decimal format. Available through block.blockNumber invoked on injection of Notifi Hosted routine.

 getAccountBalance: (params: {
account: Common.Hex;
blockNumber: number;
}) => Promise<Common.Hex>;

Response

Returns a hex string to be decoded

ethCall

Parameters

required data: string

Data is a hex string of your respective encoded call string

required blockNumber: number

The blocknumber is in decimal format. Available through block.blockNumber invoked on injection of Notifi Hosted routine.

EthCallParams { blockNumber: number; data: string; }

        ethCall: (params: EthCallParams) => Promise<Common.Hex>;

Response

Returns a hex string to be decoded

Sui

Methods Supported:

dryRunTransactionBlock

Parameters

required bytes: string

Bytes is a string of your respective encoded call string utilizing the serialize method on a transaction block

 dryRunTransactionBlock: (
bytes: string,
) => Promise<DryRunTransactionBlockResponse>;

Response

Returns a DryRunTransactionBlockResponse object from the "mysten/sui.js" package.

getObject

Parameters

required objectId: string ObjectId is the string of the respective Object Id

required options: SuiObjectDataOptions Options is a a SuiObjectDataOptions object from the "mysten/sui.js" package.

   getObject: (
objectId: string,
options: SuiObjectDataOptions,
) => Promise<SuiObjectResponse>;

Response

Returns a SuiObjectResponse object from the "mysten/sui.js" package.

getBalance

Parameters

required owner: string Owner is the string of the respective Wallet Id.

required coinType: string CoinType is the string of Coin Type Id.

    getBalance: (owner: string, coinType: string) => Promise<CoinBalance>;

Response

Returns a CoinBalance object from the "mysten/sui.js" package.

getCoinMetadata

Parameters

required coinType: string CoinType is the string of Coin Type Id.

     getCoinMetadata: (coinType: string) => Promise<CoinMetadata>;

Response

Returns a CoinMetadata object from the "mysten/sui.js" package.

getCoinTotalSupply

Parameters

required coinType: string CoinType is the string of Coin Type Id.

 getCoinTotalSupply: (coinType: string) => Promise<{value: Common.IntString;}>;

Response

Returns a Integer string accesible through value

getSuiTransactionBlock

Parameters

required digest: string Digest is the respective Transaction Digest from the respective transaction

required transactionResponseOptions: string TransactionResponseOptions is the SuiTransactionBlockResponseOptions object from the "mysten/sui.js" package

getSuiTransactionBlock: (
digest: string,
transactionResponseOptions: SuiTransactionBlockResponseOptions,
) => Promise<SuiTransactionBlockResponse>;

Response

Returns a SuiTransactionBlockResponse object from the "mysten/sui.js" package

getDynamicFieldObject

Parameters

required parentId: string ParentId is the string of the respective Object Id

required value: string Value is a string of the object value on the respective Object

required type: string Type is the name of the dynamic field on the respective Object

     getDynamicFieldObject: (
parentId: string,
value: string,
type: string,
) => Promise<any>;

Response

Returns a the Dynamic Field Object Response

This method is currently not type safe

runSuiDevInspectTransaction

Parameters

required sender: string Sender is the string of the wallet address of the respective call

required txBytes: string TxBytes is a string of your respective encoded call string utilizing the serialize method on a transaction block

 runSuiDevInspectTransaction: (
sender: string,
txBytes: string,
) => Promise<DevInspectResults>;

Response

Returns a DevInspectResults object from the "mysten/sui.js" package

Solana

Methods Supported:

getSolanaTokenAccountBalance

Parameters

required pubkey: string Pubkey is a string of the respective public key of a user

  getSolanaTokenAccountBalance: (pubkey: string) => Promise<TokenAmount>;

Response

Returns a TokenAmount object from the "solana/web3.js" package

getSolanaBalance

Parameters

required pubkey: string Pubkey is a string of the respective public key of a user

    getSolanaBalance: (pubkey: string) => Promise<number>;

Response

Returns a number.

getSolanaAccountInfo

Parameters

required pubkey: string Pubkey is a string of the respective public key of a user

optional encoding: string Encoding is the data response type based on the encoding string from "solana/web3.js" package. If not defined, it will default as json

optional dataSlice: string DataSlice is the object based on the type from "solana/web3.js" package. If not defined, it will default as undefined.

optional minContextSlot: string MinContextSlot is the minimum slot number to fetch the slot from.

    getSolanaAccountInfo: (
pubkey: string,
encoding: string | undefined,
dataSlice: DataSlice | undefined,
minContextSlot: number | undefined,
) => Promise<AccountInfo<Buffer> | null>;

Response

Returns a AccountInfo object from the "solana/web3.js" package

getSolanaProgramAccounts

Parameters

required pubkey: string Pubkey is a string of the respective public key of a user

optional withContext: boolean Wrap the result in an RpcResponse JSON object if true

optional encoding: string Encoding is the data response type based on the encoding string from "solana/web3.js" package. If not defined, it will default as json

optional filterObject: string FilterObject is based on the FilterObject type from "solana/web3.js" package. If not defined, it will default as undefined

 getSolanaProgramAccounts: (
pubkey: string,
withContext: boolean | undefined,
encoding: string | undefined,
filterObject: ProgramAccountsFilter | undefined,
) => Promise<GetProgramAccountsResponse>;

Response

Returns a GetProgramAccountsResponse object from the "solana/web3.js" package

getSolanaSlot

Parameters

optional minContextSlot: string MinContextSlot is the minimum slot number to fetch the slot from.

     getSolanaSlot: (minContextSlot: number | undefined) => Promise<number>;

Response

Returns a number. If the minContextSlot is not defined, will return the latest slot number.

getSolanaTransaction

Parameters

required signature: string Signature is the string of the respective Transaction Signature

optional encoding: string Encoding is the data response type based on the encoding string from "solana/web3.js" package. If not defined, it will default as json

getSolanaTransaction: (
signature: string,
encoding: string | undefined,
) => Promise<TransactionResponse>;

Response

Returns a TransactionResponse object from the "solana/web3.js" package