Skip to content

Tipe TypeScript

Semua tipe diekspor dari vue-kaspa dan tersedia untuk diimpor:

ts
import type {
  VueKaspaOptions,
  KaspaNetwork,
  // ...
} from 'vue-kaspa'

VueKaspaOptions

Opsi yang diberikan ke app.use(VueKaspa, options) atau kunci kaspa di nuxt.config.ts.

ts
interface VueKaspaOptions {
  network?: KaspaNetwork
  url?: string
  resolver?: boolean
  encoding?: RpcEncoding
  autoConnect?: boolean
  devtools?: boolean
  panicHook?: 'console' | 'browser' | false
}
FieldTipeDefaultDeskripsi
networkKaspaNetwork'mainnet'Jaringan yang akan dihubungkan
urlstringURL WebSocket RPC kustom
resolverbooleantrueGunakan resolver node publik
encodingRpcEncoding'Borsh'Format encoding kawat
autoConnectbooleantrueAuto-init WASM dan hubungkan saat dipasang
devtoolsbooleantrue di devAktifkan integrasi Vue DevTools
panicHook'console' | 'browser' | false'console'Handler panic WASM

KaspaNetwork

ts
type KaspaNetwork = 'mainnet' | 'testnet-10' | 'testnet-12' | 'simnet' | 'devnet'

RpcEncoding

ts
type RpcEncoding = 'Borsh' | 'SerdeJson'

'Borsh' adalah encoding default dan direkomendasikan untuk performa. 'SerdeJson' menghasilkan JSON yang mudah dibaca dan berguna untuk debugging.


WasmStatus

ts
type WasmStatus = 'idle' | 'loading' | 'ready' | 'error'
NilaiArti
'idle'WASM belum dimulai
'loading'Modul WASM sedang diambil dan dikompilasi
'ready'WASM diinisialisasi
'error'Inisialisasi gagal

RpcConnectionState

ts
type RpcConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'error'
NilaiArti
'disconnected'Tidak ada koneksi
'connecting'WebSocket sedang dibuka
'connected'Koneksi aktif
'reconnecting'Mencoba terhubung kembali setelah terputus
'error'Koneksi gagal setelah maksimum percobaan ulang

RpcOptions

ts
interface RpcOptions {
  url?: string
  resolver?: boolean
  network?: KaspaNetwork
  encoding?: RpcEncoding
}

Bagian dari VueKaspaOptions — diberikan ke useRpc().connect(options?) untuk menimpa default plugin untuk satu koneksi.


ServerInfo

Dikembalikan oleh useRpc().getInfo().

ts
interface ServerInfo {
  isUtxoIndexEnabled: boolean
  isSynced: boolean
  hasNotifyCommand: boolean
  hasMessageId: boolean
  serverVersion: string
  networkId: string
}

BlockInfo

Dikembalikan oleh useRpc().getBlock(hash).

ts
interface BlockInfo {
  hash: string
  timestamp: number
  blueScore: bigint
  transactions: string[]  // ID transaksi
}

UtxoEntry

Satu output UTXO. Kompatibel dengan IUtxoEntry dari @vue-kaspa/kaspa-wasm — aman untuk diberikan langsung ke createTransactions().

ts
interface UtxoEntry {
  address?: string
  outpoint: { transactionId: string; index: number }
  amount: bigint
  scriptPublicKey: { version: number; script: string }
  blockDaaScore: bigint
  isCoinbase: boolean
}
FieldDeskripsi
addressAlamat pemilik (mungkin undefined untuk output skrip)
outpointID transaksi + indeks output yang secara unik mengidentifikasi UTXO ini
amountNilai dalam sompi
scriptPublicKeySkrip penguncian
blockDaaScoreSkor DAA dari blok yang menyertakan output ini
isCoinbasetrue untuk hadiah mining (penundaan maturitas berlaku)

UtxoBalance

Saldo reaktif yang dihitung oleh useUtxo() dari entri UTXO yang dilacak.

ts
interface UtxoBalance {
  mature: bigint    // Terkonfirmasi, dapat dibelanjakan (non-coinbase)
  pending: bigint   // Coinbase dengan penundaan maturitas, atau masuk yang belum dikonfirmasi
  outgoing: bigint  // Selalu 0n (dicadangkan)
}

MempoolEntry

ts
interface MempoolEntry {
  fee: bigint
  isOrphan: boolean
  transaction: {
    id: string
    inputs: unknown[]
    outputs: unknown[]
  }
}

BalanceResult

Dikembalikan oleh useRpc().getBalanceByAddress() dan getBalancesByAddresses().

ts
interface BalanceResult {
  address: string
  balance: bigint  // dalam sompi
}

FeeEstimate

Dikembalikan oleh useRpc().getFeeEstimate(). Menyediakan bucket tarif biaya pada berbagai tingkat prioritas.

ts
interface FeeEstimate {
  priorityBucket: { feerate: number; estimatedSeconds: number }
  normalBuckets:  Array<{ feerate: number; estimatedSeconds: number }>
  lowBuckets:     Array<{ feerate: number; estimatedSeconds: number }>
}

feerate dalam sompi per gram massa transaksi. Gunakan dengan pengaturan feeRate di useTransaction().


RpcEventType

ts
type RpcEventType =
  | 'connect'
  | 'disconnect'
  | 'block-added'
  | 'virtual-chain-changed'
  | 'utxos-changed'
  | 'finality-conflict'
  | 'finality-conflict-resolved'
  | 'sink-blue-score-changed'
  | 'virtual-daa-score-changed'
  | 'new-block-template'
  | 'pruning-point-utxo-set-override'

RpcEvent<T>

Envelope event generik. Tipe dari data tergantung pada tipe event.

ts
interface RpcEvent<T = unknown> {
  type: RpcEventType
  data: T
  timestamp: number  // Unix milidetik
}

PaymentOutput

Satu penerima dalam sebuah transaksi.

ts
interface PaymentOutput {
  address: string  // Alamat Kaspa
  amount: bigint   // dalam sompi
}

TransactionSummary

Dikembalikan oleh useTransaction().estimate() dan create().

ts
interface TransactionSummary {
  fees: bigint                  // Total biaya dalam sompi
  mass: bigint                  // Total massa dalam gram
  transactions: number          // Jumlah transaksi (>1 = compounding)
  finalTransactionId?: string   // Diset setelah pengiriman melalui send()
  finalAmount?: bigint          // Jumlah output final setelah biaya
}

CreateTransactionSettings

Input ke useTransaction().estimate(), create(), dan send().

ts
interface CreateTransactionSettings {
  entries: UtxoEntry[]
  outputs?: PaymentOutput[]
  changeAddress: string
  priorityFee?: bigint
  feeRate?: number
  payload?: string
  networkId?: string
}
FieldWajibDeskripsi
entriesYaInput UTXO — berikan useUtxo().entries.value
outputsTidakPenerima. Abaikan untuk konsolidasi UTXO sendiri.
changeAddressYaAlamat pengembalian kembalian
priorityFeeTidakBiaya tetap dalam sompi
feeRateTidakBiaya dinamis dalam sompi/gram (alternatif dari priorityFee)
payloadTidakPayload data yang di-encode hex
networkIdTidak*Diperlukan ketika entries adalah array biasa

PendingTx

Transaksi yang belum ditandatangani (atau sebagian ditandatangani) yang dikembalikan oleh useTransaction().create().

ts
interface PendingTx {
  sign(privateKeys: string[]): void
  submit(): Promise<string>
  serialize(): unknown
  addresses(): string[]
}
MetodeDeskripsi
sign(privateKeys)Tandatangani dengan satu atau beberapa kunci privat hex
submit()Kirimkan ke jaringan, mengembalikan ID transaksi
serialize()Dapatkan objek plain untuk inspeksi atau pengiriman eksternal
addresses()Alamat input — berguna untuk memilih kunci penandatanganan yang diperlukan

KeypairInfo

ts
interface KeypairInfo {
  privateKeyHex: string   // Kunci privat 32 byte dalam hex
  publicKeyHex: string    // Kunci publik terkompresi dalam hex
  address: string         // Alamat Kaspa spesifik jaringan
}

MnemonicInfo

ts
interface MnemonicInfo {
  phrase: string          // Kata-kata BIP-39 yang dipisahkan spasi
  wordCount: 12 | 24
}

DerivedKey

Satu kunci dari derivasi HD wallet.

ts
interface DerivedKey {
  index: number           // Posisi dalam rantai derivasi (berbasis 0)
  publicKeyHex: string
  address: string
}

SignMessageResult

ts
interface SignMessageResult {
  message: string
  signature: string       // Tanda tangan yang di-encode hex
  publicKeyHex: string
}

Tipe kembalian composable

Setiap composable memiliki antarmuka tipe kembalian yang sesuai:

TipeKomposabel
UseKaspaReturnuseKaspa()
UseRpcReturnuseRpc()
UseUtxoReturnuseUtxo()
UseTransactionReturnuseTransaction()
UseCryptoReturnuseCrypto()
UseNetworkReturnuseNetwork()
UseVueKaspaReturnuseVueKaspa()

KaspaRestOptions

Opsi yang diberikan ke useKaspaRest().

ts
interface KaspaRestOptions {
  baseUrl?: string
  staleTime?: number
  cacheTime?: number
  headers?: HeadersInit
  fetcher?: typeof fetch
}

KaspaRestRequestOptions

Penyetelan override per-request untuk composable REST.

ts
interface KaspaRestRequestOptions {
  forceRefresh?: boolean
  staleTime?: number
  cache?: boolean
}

KaspaRestResolvePreviousOutpoints

Mengatur seberapa banyak data previous-outpoint yang harus di-resolve oleh REST.

ts
type KaspaRestResolvePreviousOutpoints = 'no' | 'light' | 'full'

KaspaRestError

Error yang dilempar komposabel REST saat permintaan gagal.

ts
class KaspaRestError extends KaspaError {}

KaspaRestTransaction

Payload transaksi yang dikembalikan oleh komposabel REST.

ts
interface KaspaRestTransaction {
  subnetwork_id?: string
  transaction_id?: string
  transactionId?: string
  hash?: string
  mass?: string
  payload?: string
  block_hash?: string[]
  block_time?: number
  version?: number
  is_accepted?: boolean
  accepting_block_hash?: string
  acceptingBlockHash?: string
  accepting_block_blue_score?: number
  acceptingBlockBlueScore?: number
  accepting_block_time?: number
  acceptingBlockTime?: number
  inputs?: unknown[]
  outputs?: unknown[]
  senderAddresses?: string[]
}

KaspaRestSubmitTxScriptPublicKey

Digunakan di dalam KaspaRestSubmitTxOutput.

ts
interface KaspaRestSubmitTxScriptPublicKey {
  version: number
  scriptPublicKey: string
}

KaspaRestSubmitTxOutpoint

Digunakan di dalam KaspaRestSubmitTxInput.

ts
interface KaspaRestSubmitTxOutpoint {
  transactionId: string
  index: number
}

KaspaRestSubmitTxInput

Digunakan di dalam KaspaRestSubmitTxModel.

ts
interface KaspaRestSubmitTxInput {
  previousOutpoint: KaspaRestSubmitTxOutpoint
  signatureScript: string
  sequence: number
  sigOpCount: number
}

KaspaRestSubmitTxOutput

Digunakan di dalam KaspaRestSubmitTxModel.

ts
interface KaspaRestSubmitTxOutput {
  amount: number
  scriptPublicKey: KaspaRestSubmitTxScriptPublicKey
}

KaspaRestTxSearch

Body permintaan untuk searchTransactions().

ts
interface KaspaRestTxSearch {
  transactionIds?: string[]
  acceptingBlueScores?: {
    gte: number
    lt: number
  }
}

KaspaRestTxSearchAcceptingBlueScores

Objek filter yang dipakai oleh KaspaRestTxSearch.

ts
interface KaspaRestTxSearchAcceptingBlueScores {
  gte: number
  lt: number
}

KaspaRestSubmitTxModel

Payload transaksi yang diterima oleh submitTransaction() dan calculateTransactionMass().

ts
interface KaspaRestSubmitTxModel {
  version: number
  inputs: KaspaRestSubmitTxInput[]
  outputs: KaspaRestSubmitTxOutput[]
  lockTime?: number
  subnetworkId?: string
}

KaspaRestSubmitTransactionRequest

Body yang dikirim ke endpoint REST POST /transactions.

ts
interface KaspaRestSubmitTransactionRequest {
  transaction: KaspaRestSubmitTxModel
  allowOrphan?: boolean
}

KaspaRestSubmitTransactionResponse

Nilai return dari submitTransaction().

ts
interface KaspaRestSubmitTransactionResponse {
  transactionId?: string
  error?: string
}

KaspaRestTxMass

Nilai return dari calculateTransactionMass().

ts
interface KaspaRestTxMass {
  mass: number
  storage_mass: number
  compute_mass: number
}

KaspaRestTransactionAcceptance

Nilai return dari getTransactionAcceptance().

ts
interface KaspaRestTransactionAcceptance {
  transactionId: string
  accepted?: boolean
  acceptingBlockHash?: string
  acceptingBlueScore?: number
  acceptingTimestamp?: number
}

KaspaRestAddressesActiveResponse

Nilai return dari endpoint eksperimental POST /addresses/active.

ts
interface KaspaRestAddressesActiveResponse {
  address: string
  active: boolean
  lastTxBlockTime?: number
}

KaspaRestAddressesActiveCountResponse

Nilai return dari endpoint hitung active-address yang bersifat eksperimental.

ts
interface KaspaRestAddressesActiveCountResponse {
  timestamp: number
  dateTime: string
  count: number
}

KaspaRestDistributionTier

Digunakan oleh KaspaRestDistributionTiers.

ts
interface KaspaRestDistributionTier {
  tier: number
  count: number
  amount: number
}

KaspaRestDistributionTiers

Nilai return dari endpoint distribusi alamat yang bersifat eksperimental.

ts
interface KaspaRestDistributionTiers {
  timestamp: number
  tiers: KaspaRestDistributionTier[]
}

KaspaRestOutpoint

Digunakan oleh KaspaRestUtxoResponse.

ts
interface KaspaRestOutpoint {
  transactionId?: string
  index?: number
}

KaspaRestScriptPublicKey

Digunakan oleh KaspaRestUtxoModel.

ts
interface KaspaRestScriptPublicKey {
  version?: number
  script?: string
}

KaspaRestUtxoModel

Digunakan oleh KaspaRestUtxoResponse.

ts
interface KaspaRestUtxoModel {
  amount?: string
  scriptPublicKey: KaspaRestScriptPublicKey
  blockDaaScore?: string
  isCoinbase?: boolean
}

KaspaRestUtxoCountResponse

Nilai return dari useKaspaRest().getUtxoCountByAddress().

ts
interface KaspaRestUtxoCountResponse {
  count: number
}

KaspaRestBalancesByAddressEntry

Nilai return dari useKaspaRest().getBalancesByAddresses().

ts
interface KaspaRestBalancesByAddressEntry {
  address: string
  balance: number
}

KaspaRestBlockHeader

Digunakan oleh KaspaRestBlock dan KaspaRestMaxHashrateResponse.

ts
interface KaspaRestBlockHeader {
  version?: number
  hashMerkleRoot?: string
  acceptedIdMerkleRoot?: string
  utxoCommitment?: string
  timestamp?: string
  bits?: number
  nonce?: string
  daaScore?: string
  blueWork?: string
  parents?: KaspaRestParentHash[]
  blueScore?: string
  pruningPoint?: string
}

KaspaRestParentHash

Digunakan oleh KaspaRestBlockHeader.

ts
interface KaspaRestParentHash {
  parentHashes?: string[]
}

KaspaRestVerboseData

Digunakan oleh KaspaRestBlock.

ts
interface KaspaRestVerboseData {
  hash?: string
  difficulty?: number
  selectedParentHash?: string
  transactionIds?: string[]
  blueScore?: string
  childrenHashes?: string[]
  mergeSetBluesHashes?: string[]
  mergeSetRedsHashes?: string[]
  isChainBlock?: boolean
}

KaspaRestBlockTxInputPreviousOutpoint

Digunakan oleh KaspaRestBlockTxInput.

ts
interface KaspaRestBlockTxInputPreviousOutpoint {
  transactionId?: string
  index?: number
}

KaspaRestBlockTxInput

Digunakan oleh KaspaRestBlockTx.

ts
interface KaspaRestBlockTxInput {
  previousOutpoint?: KaspaRestBlockTxInputPreviousOutpoint
  signatureScript?: string
  sigOpCount?: number
  sequence?: number
}

KaspaRestBlockTxOutputScriptPublicKey

Digunakan oleh KaspaRestBlockTxOutput.

ts
interface KaspaRestBlockTxOutputScriptPublicKey {
  scriptPublicKey?: string
  version?: number
}

KaspaRestBlockTxOutputVerboseData

Digunakan oleh KaspaRestBlockTxOutput.

ts
interface KaspaRestBlockTxOutputVerboseData {
  scriptPublicKeyType?: string
  scriptPublicKeyAddress?: string
}

KaspaRestBlockTxOutput

Digunakan oleh KaspaRestBlockTx.

ts
interface KaspaRestBlockTxOutput {
  amount?: number
  scriptPublicKey?: KaspaRestBlockTxOutputScriptPublicKey
  verboseData?: KaspaRestBlockTxOutputVerboseData
}

KaspaRestBlockTxVerboseData

Digunakan oleh KaspaRestBlockTx.

ts
interface KaspaRestBlockTxVerboseData {
  transactionId: string
  hash?: string
  computeMass?: number
  blockHash?: string
  blockTime?: number
}

KaspaRestBlockTx

Digunakan oleh KaspaRestBlock.

ts
interface KaspaRestBlockTx {
  inputs?: KaspaRestBlockTxInput[]
  outputs?: KaspaRestBlockTxOutput[]
  subnetworkId?: string
  payload?: string
  verboseData: KaspaRestBlockTxVerboseData
  lockTime?: number
  gas?: number
  mass?: number
  version?: number
}

KaspaRestBlock

Nilai return dari useKaspaRest().getBlock().

ts
interface KaspaRestBlock {
  header: KaspaRestBlockHeader
  transactions?: KaspaRestBlockTx[]
  verboseData: KaspaRestVerboseData
  extra?: Record<string, unknown>
}

KaspaRestBlockResponse

Nilai return dari useKaspaRest().getBlocks().

ts
interface KaspaRestBlockResponse {
  blockHashes?: string[]
  blocks?: KaspaRestBlock[]
}

KaspaRestBlueScoreResponse

Nilai return dari useKaspaRest().getVirtualSelectedParentBlueScore().

ts
interface KaspaRestBlueScoreResponse {
  blueScore: number
}

KaspaRestBlockdagResponse

Nilai return dari useKaspaRest().getBlockDag() dan getNetwork().

ts
interface KaspaRestBlockdagResponse {
  networkName: string
  blockCount: string
  headerCount: string
  tipHashes: string[]
  difficulty: number
  pastMedianTime: string
  virtualParentHashes: string[]
  pruningPointHash: string
  virtualDaaScore: string
  sink: string
}

KaspaRestCoinSupplyResponse

Nilai return dari useKaspaRest().getCoinSupply().

ts
interface KaspaRestCoinSupplyResponse {
  circulatingSupply: string
  maxSupply: string
}

KaspaRestBlockRewardResponse

Nilai return dari useKaspaRest().getBlockReward().

ts
interface KaspaRestBlockRewardResponse {
  blockreward: number
}

KaspaRestHalvingResponse

Nilai return dari useKaspaRest().getHalving().

ts
interface KaspaRestHalvingResponse {
  nextHalvingTimestamp: number
  nextHalvingDate: string
  nextHalvingAmount: number
}

KaspaRestHashrateResponse

Nilai return dari useKaspaRest().getHashrate().

ts
interface KaspaRestHashrateResponse {
  hashrate: number
}

KaspaRestMaxHashrateResponse

Nilai return dari useKaspaRest().getMaxHashrate().

ts
interface KaspaRestMaxHashrateResponse {
  hashrate?: number
  blockheader: KaspaRestBlockHeader
}

KaspaRestHashrateHistoryResponse

Nilai return dari useKaspaRest().getHashrateHistory() dan getHashrateHistoryFor().

ts
interface KaspaRestHashrateHistoryResponse {
  daaScore: number
  blueScore: number
  timestamp: number
  date_time: string
  bits?: number
  difficulty: number
  hashrate_kh: number
}

KaspaRestDBCheckStatus

Digunakan oleh KaspaRestHealthResponse.

ts
interface KaspaRestDBCheckStatus {
  isSynced?: boolean
  blueScore?: number
  blueScoreDiff?: number
  acceptedTxBlockTime?: number
  acceptedTxBlockTimeDiff?: number
}

KaspaRestKaspadResponse

Digunakan oleh KaspaRestHealthResponse.

ts
interface KaspaRestKaspadResponse {
  kaspadHost: string
  serverVersion?: string
  isUtxoIndexed?: boolean
  isSynced?: boolean
  p2pId?: string
  blueScore?: number
}

KaspaRestHealthResponse

Nilai return dari useKaspaRest().getHealth().

ts
interface KaspaRestHealthResponse {
  kaspadServers: KaspaRestKaspadResponse[]
  database: KaspaRestDBCheckStatus
}

KaspaRestKaspadInfoResponse

Nilai return dari useKaspaRest().getKaspadInfo().

ts
interface KaspaRestKaspadInfoResponse {
  mempoolSize: string
  serverVersion: string
  isUtxoIndexed: boolean
  isSynced: boolean
  p2pIdHashed: string
}

KaspaRestPriceResponse

Digunakan oleh endpoint REST mentah GET /info/price melalui request().

ts
interface KaspaRestPriceResponse {
  price: number
}

KaspaRestMarketCapResponse

Nilai return dari useKaspaRest().getMarketcap() saat respons berupa JSON.

ts
interface KaspaRestMarketCapResponse {
  marketcap: number
}

KaspaRestUtxoResponse

Nilai return dari useKaspaRest().getUtxosByAddress() dan getUtxosByAddresses().

ts
interface KaspaRestUtxoResponse {
  address?: string
  outpoint: {
    transactionId?: string
    index?: number
  }
  utxoEntry: {
    amount?: string
    scriptPublicKey: {
      version?: number
      script?: string
    }
    blockDaaScore?: string
    isCoinbase?: boolean
  }
}

KaspaRestBalanceResponse

Nilai return dari useKaspaRest().getAddressBalance().

ts
interface KaspaRestBalanceResponse {
  address: string
  balance: number
}

KaspaRestAddressBalanceHistory

Nilai return dari useKaspaRest().getAddressBalanceHistory().

ts
interface KaspaRestAddressBalanceHistory {
  timestamp: number
  amount: number
}

KaspaRestAddressName

Nilai return dari useKaspaRest().getAddressName() dan getAddressNames().

ts
interface KaspaRestAddressName {
  address: string
  name: string
}

KaspaRestTopAddresses

Nilai return dari useKaspaRest().getTopAddresses().

ts
interface KaspaRestTopAddresses {
  timestamp: number
  ranking: {
    rank: number
    address: string
    amount: number
  }[]
}

KaspaRestTopAddress

Digunakan oleh KaspaRestTopAddresses.

ts
interface KaspaRestTopAddress {
  rank: number
  address: string
  amount: number
}

KaspaRestTransactionCount

Nilai return dari useKaspaRest().getAddressTransactionCount().

ts
interface KaspaRestTransactionCount {
  total: number
}

KaspaRestTransactionCountResponse

Nilai return dari endpoint hitung transaksi yang bersifat eksperimental.

ts
interface KaspaRestTransactionCountResponse {
  timestamp: number
  dateTime: string
  coinbase: number
  regular: number
}

KaspaRestVcBlock

Nilai return dari useKaspaRest().getVirtualChain().

ts
interface KaspaRestVcBlock {
  hash: string
  blue_score: number
  daa_score?: number
  timestamp?: number
  transactions?: {
    transaction_id: string
    is_accepted?: boolean
  }[]
}

KaspaRestVcTxInput

Digunakan oleh KaspaRestVcTx.

ts
interface KaspaRestVcTxInput {
  previous_outpoint_hash: string
  previous_outpoint_index: number
  signature_script?: string
  previous_outpoint_script?: string
  previous_outpoint_address?: string
  previous_outpoint_amount?: number
}

KaspaRestVcTxOutput

Digunakan oleh KaspaRestVcTx.

ts
interface KaspaRestVcTxOutput {
  script_public_key: string
  script_public_key_address: string
  amount: number
}

KaspaRestVcTx

Digunakan oleh KaspaRestVcBlock.

ts
interface KaspaRestVcTx {
  transaction_id: string
  is_accepted?: boolean
  inputs?: KaspaRestVcTxInput[]
  outputs?: KaspaRestVcTxOutput[]
}

KaspaRestBalanceEntry

Nilai return dari useKaspaRest().getBalancesByAddresses().

ts
interface KaspaRestBalanceEntry {
  address: string
  balance: number
}

UseKaspaRestReturn

Nilai return dari useKaspaRest().

ts
interface UseKaspaRestReturn {
  baseUrl: Readonly<Ref<string>>
  cacheSize: ComputedRef<number>
  clearCache(prefix?: string): void
  request<T>(method: 'GET' | 'POST', path: string, options?: unknown): Promise<T>
  getTransaction(transactionId: string, options?: unknown): Promise<KaspaRestTransaction | null>
  getTransactionById(transactionId: string, options?: unknown): Promise<KaspaRestTransaction | null>
  searchTransactions(request: KaspaRestTxSearch, options?: unknown): Promise<KaspaRestTransaction[]>
  getAddressBalance(address: string, options?: unknown): Promise<KaspaRestBalanceEntry>
  getAddressBalanceHistory(address: string, dayOrMonth: string, options?: unknown): Promise<KaspaRestAddressBalanceHistory[]>
  getAddressNames(options?: unknown): Promise<KaspaRestAddressName[]>
  getAddressName(address: string, options?: unknown): Promise<KaspaRestAddressName>
  getTopAddresses(options?: unknown): Promise<KaspaRestTopAddresses[]>
  getFullTransactionsByAddress(address: string, options?: unknown): Promise<KaspaRestTransaction[]>
  getFullTransactionsByAddressPage(address: string, options?: unknown): Promise<KaspaRestTransaction[]>
  getUtxosByAddress(address: string, options?: unknown): Promise<KaspaRestUtxoResponse[]>
  getBalancesByAddresses(addresses: string[], options?: unknown): Promise<KaspaRestBalanceEntry[]>
  getTransactionAcceptance(transactionIds: string[], options?: unknown): Promise<KaspaRestTransactionAcceptance[]>
  getTransactionsCount(options?: unknown): Promise<KaspaRestTransactionCountResponse>
  getTransactionsCountFor(dayOrMonth: string, options?: unknown): Promise<KaspaRestTransactionCountResponse[]>
  getVirtualChain(options?: unknown): Promise<KaspaRestVcBlock[]>
  submitTransaction(tx: KaspaRestSubmitTxModel, options?: unknown): Promise<KaspaRestSubmitTransactionResponse>
}

RpcEventType

ts
type RpcEventType =
  | 'connect'
  | 'disconnect'
  | 'block-added'
  | 'virtual-chain-changed'
  | 'utxos-changed'
  | 'finality-conflict'
  | 'finality-conflict-resolved'
  | 'sink-blue-score-changed'
  | 'virtual-daa-score-changed'
  | 'new-block-template'
  | 'pruning-point-utxo-set-override'

RpcEvent<T>

Envelope event generik. Tipe data bergantung pada tipe event.

ts
interface RpcEvent<T = unknown> {
  type: RpcEventType
  data: T
  timestamp: number  // Unix milidetik
}

AcceptedTransactionInfo

Digunakan oleh useTransactionListener().acceptedTransactions.

ts
interface AcceptedTransactionInfo {
  transactionId: string
  acceptingBlockHash: string
  senderAddresses: string[]
}

TransactionListenerOptions

Opsi yang diberikan ke useTransactionListener().

ts
interface TransactionListenerOptions {
  maxHistory?: number
  autoSubscribe?: boolean
  includeSenderAddresses?: boolean
}
KolomTipeDefaultDeskripsi
maxHistorynumber100Jumlah maksimum transaksi accepted yang disimpan
autoSubscribebooleantrueSubscribe saat mount
includeSenderAddressesbooleanfalseResolve sender address dari block yang menerima transaksi

UseTransactionListenerReturn

Nilai return dari useTransactionListener().

ts
interface UseTransactionListenerReturn {
  transactions: Readonly<Ref<string[]>>
  acceptedTransactions: Readonly<Ref<AcceptedTransactionInfo[]>>
  isListening: ComputedRef<boolean>
  subscribe(): Promise<void>
  unsubscribe(): Promise<void>
  clear(): void
  resolveSenderAddresses(transactionId: string): Promise<string[]>
}
KolomTipeDeskripsi
transactionsReadonly<Ref<string[]>>ID transaksi yang baru diterima
acceptedTransactionsReadonly<Ref<AcceptedTransactionInfo[]>>Transaksi yang diterima beserta sender address
isListeningComputedRef<boolean>Apakah listener sedang subscribe
subscribe()Promise<void>Mulai mendengarkan virtual-chain-changed
unsubscribe()Promise<void>Hentikan pendengaran
clear()voidHapus histori lokal
resolveSenderAddresses(transactionId)Promise<string[]>Ambil sender address untuk satu transaksi yang dilacak

PaymentOutput

Satu penerima dalam sebuah transaksi.

ts
interface PaymentOutput {
  address: string  // Kaspa address
  amount: bigint   // in sompi
}

TransactionSummary

Nilai return dari useTransaction().estimate() dan create().

ts
interface TransactionSummary {
  fees: bigint                  // Total biaya dalam sompi
  mass: bigint                  // Total massa dalam gram
  transactions: number          // Jumlah transaksi (>1 = compounding)
  finalTransactionId?: string   // Diset setelah pengiriman melalui send()
  finalAmount?: bigint          // Jumlah output final setelah biaya
}

CreateTransactionSettings

Input untuk useTransaction().estimate(), create(), dan send().

ts
interface CreateTransactionSettings {
  entries: UtxoEntry[]
  outputs?: PaymentOutput[]
  changeAddress: string
  priorityFee?: bigint
  feeRate?: number
  payload?: string
  networkId?: string
}
KolomWajibDeskripsi
entriesYaInput UTXO — berikan useUtxo().entries.value
outputsTidakPenerima. Lewati untuk konsolidasi UTXO sendiri.
changeAddressYaAlamat pengembalian kembalian
priorityFeeTidakBiaya tetap dalam sompi
feeRateTidakBiaya dinamis dalam sompi/gram (alternatif dari priorityFee)
payloadTidakPayload data yang di-encode hex
networkIdTidak*Diperlukan ketika entries adalah array biasa

PendingTx

Transaksi yang belum ditandatangani (atau sebagian ditandatangani) yang dikembalikan oleh useTransaction().create().

ts
interface PendingTx {
  sign(privateKeys: string[]): void
  submit(): Promise<string>
  serialize(): unknown
  addresses(): string[]
}
MetodeDeskripsi
sign(privateKeys)Tandatangani dengan satu atau beberapa kunci privat hex
submit()Kirim ke jaringan, mengembalikan ID transaksi
serialize()Ambil objek plain untuk inspeksi atau pengiriman eksternal
addresses()Alamat input — berguna untuk memilih kunci penandatangan yang diperlukan

KeypairInfo

ts
interface KeypairInfo {
  privateKeyHex: string   // 32-byte private key as hex
  publicKeyHex: string    // Kunci publik terkompresi dalam hex
  address: string         // Alamat Kaspa spesifik jaringan
}

MnemonicInfo

ts
interface MnemonicInfo {
  phrase: string          // Kata-kata BIP-39 yang dipisahkan spasi
  wordCount: 12 | 24
}

DerivedKey

Satu kunci dari derivasi HD wallet.

ts
interface DerivedKey {
  index: number           // Posisi dalam rantai derivasi (berbasis 0)
  publicKeyHex: string
  address: string
}

SignMessageResult

ts
interface SignMessageResult {
  message: string
  signature: string       // Tanda tangan yang di-encode hex
  publicKeyHex: string
}

WalletProvider

ts
type WalletProvider = 'kasware' | 'kastle'

WalletBalance

Saldo yang dilaporkan oleh wallet yang terhubung, dalam sompi.

ts
interface WalletBalance {
  confirmed: bigint
  unconfirmed: bigint
  total: bigint
}

Populated for KasWare. Always null for Kastle (Kastle's API does not expose balance directly).


WalletSendOptions

Opsi untuk useWallet().sendKaspa().

ts
interface WalletSendOptions {
  priorityFee?: bigint  // Biaya ekstra dalam sompi
  payload?: string      // Payload data yang di-encode hex
}

Tipe return composable

Setiap composable punya interface return type yang sesuai:

TipeKomposabel
UseKaspaReturnuseKaspa()
UseRpcReturnuseRpc()
UseUtxoReturnuseUtxo()
UseTransactionReturnuseTransaction()
UseCryptoReturnuseCrypto()
UseNetworkReturnuseNetwork()
UseWalletReturnuseWallet()
UseVueKaspaReturnuseVueKaspa()

Kelas error

Semua kelas error mewarisi KaspaError dan diekspor dari vue-kaspa. Lihat Error Handling untuk pola pemakaian dan contoh lengkap.

KaspaError

Kelas dasar untuk semua error Vue Kaspa.

ts
class KaspaError extends Error {
  readonly cause?: unknown
}

KaspaNotReadyError

Dilempar saat method composable dipanggil sebelum modul WASM diinisialisasi.

ts
class KaspaNotReadyError extends KaspaError {}

KaspaRpcError

Dilempar saat pemanggilan method RPC gagal.

ts
class KaspaRpcError extends KaspaError {
  constructor(method: string, cause?: unknown)
}

err.message adalah "RPC method \"<method>\" failed". Error aslinya ada di err.cause.

KaspaWalletError

Dilempar saat operasi wallet (connect, sendKaspa, signMessage) gagal.

ts
class KaspaWalletError extends KaspaError {
  constructor(operation: string, cause?: unknown)
}

err.message adalah "Wallet operation \"<operation>\" failed".

KaspaCryptoError

Dilempar saat operasi kriptografi gagal.

ts
class KaspaCryptoError extends KaspaError {
  constructor(operation: string, cause?: unknown)
}

err.message adalah "Crypto operation \"<operation>\" failed".

Released under the MIT License.