@avalanche-sdk/client
Version:
A TypeScript SDK for interacting with the Avalanche network through JSON-RPC APIs. This SDK provides a comprehensive set of tools to interact with all Avalanche chains (P-Chain, X-Chain, C-Chain) and various APIs, including wallet functionality for transa
2 lines (1 loc) • 2.06 kB
JavaScript
;exports.acps=async function(e){const t=await e.request({method:"info.acps",params:{}});return Object.keys(t.acps).reduce((e,r)=>{const n=parseInt(r);return e.acps.set(n,{supportWeight:BigInt(t.acps?.[n]?.supportWeight||0n),supporters:new Set(t.acps?.[n]?.supporters||[]),objectWeight:BigInt(t.acps?.[n]?.objectWeight||0n),objectors:new Set(t.acps?.[n]?.objectors||[]),abstainWeight:BigInt(t.acps?.[n]?.abstainWeight||0n)}),e},{acps:new Map})},exports.getBlockchainID=async function(e,t){return e.request({method:"info.getBlockchainID",params:t})},exports.getNetworkID=async function(e){return e.request({method:"info.getNetworkID",params:{}})},exports.getNetworkName=async function(e){return e.request({method:"info.getNetworkName",params:{}})},exports.getNodeID=async function(e){return e.request({method:"info.getNodeID",params:{}})},exports.getNodeIP=async function(e){return e.request({method:"info.getNodeIP",params:{}})},exports.getNodeVersion=async function(e){return e.request({method:"info.getNodeVersion",params:{}})},exports.getTxFee=async function(e){const t=await e.request({method:"info.getTxFee",params:{}});return{txFee:BigInt(t.txFee),createAssetTxFee:BigInt(t.createAssetTxFee),createSubnetTxFee:BigInt(t.createSubnetTxFee),transformSubnetTxFee:BigInt(t.transformSubnetTxFee),createBlockchainTxFee:BigInt(t.createBlockchainTxFee),addPrimaryNetworkValidatorFee:BigInt(t.addPrimaryNetworkValidatorFee),addPrimaryNetworkDelegatorFee:BigInt(t.addPrimaryNetworkDelegatorFee),addSubnetValidatorFee:BigInt(t.addSubnetValidatorFee),addSubnetDelegatorFee:BigInt(t.addSubnetDelegatorFee)}},exports.getVMs=async function(e){return e.request({method:"info.getVMs",params:{}})},exports.isBootstrapped=async function(e,t){return e.request({method:"info.isBootstrapped",params:t})},exports.peers=async function(e,t){return e.request({method:"info.peers",params:t})},exports.upgrades=async function(e){return e.request({method:"info.upgrades",params:{}})},exports.uptime=async function(e){return e.request({method:"info.uptime",params:{}})};