Spark 钱包 SDK 完整文档
SparkWallet
类是与 Spark 网络交互的主要接口。它提供了创建和管理钱包、处理存款、执行转账以及与闪电网络交互的方法。
initialize({ mnemonicOrSeed, signer, options }: SparkWalletProps)
props
: 包含:
mnemonicOrSeed
: (可选) BIP-39 助记词短语或原始种子accountNumber
: (可选) 账户编号signer
: (可选) 自定义签名者实现options
: (可选) 钱包配置选项wallet
: 初始化的 SparkWallet 实例mnemonic
: 如果生成了助记词,则为助记词(对于原始种子为未定义)getIdentityPublicKey()
Promise<string>
: 十六进制字符串形式的身份公钥getSparkAddress()
Promise<SparkAddressFormat>
: Spark 地址getTransfers(limit?: number, offset?: number)
limit
: (可选,默认: 20) 返回的最大转账数量offset
: (可选,默认: 0) 分页的偏移量Promise<{ transfers: WalletTransfer[]; offset: number; }>
: 包含转账列表和偏移量的响应getBalance()
balance
: 钱包当前的余额(以聪为单位)tokenBalances
: 代币公钥到代币余额的映射getSingleUseDepositAddress()
Promise<string>
: 用于存入资金的比特币地址getUnusedDepositAddresses()
Promise<string[]>
: 未使用存款地址的数组transfer(params)
params
: 包含:
receiverSparkAddress
: 接收者的 Spark 地址amountSats
: 要转账的金额(以聪为单位)Promise<WalletTransfer>
: 完成的转账详情payLightningInvoice(params: PayLightningInvoiceParams)
params
: 包含:
invoice
: 要支付的 BOLT11 编码的闪电网络发票。maxFeeSats
: 支付发票的最大费用(以聪为单位)。amountSatsToSend
: (可选) 要发送的金额(以聪为单位)。此参数仅用于零金额发票。对于有固定金额的普通发票,此参数将被忽略。Promise<LightningSendRequest>
: 闪电网络支付请求详情transferTokens(params)
params
: 包含:
tokenPublicKey
: 要转账的代币的公钥tokenAmount
: 要转账的代币数量receiverSparkAddress
: 接收者的 Spark 地址selectedOutputs
: (可选) 用于转账的特定输出Promise<string>
: 代币转账的交易 IDgetTokenInfo()
Promise<TokenInfo[]>
: 代币信息对象的数组ownerPublicKeys
、issuerPublicKeys
、tokenTransactionHashes
、tokenIdentifiers
或 outputIds
进行过滤。
ownerPublicKeys
: (可选) 用于过滤的持有者公钥数组issuerPublicKeys
: (可选) 用于过滤的发行者公钥数组tokenTransactionHashes
: (可选) 用于过滤的代币交易哈希数组tokenIdentifiers
: (可选) 用于过滤的代币标识符数组outputIds
: (可选) 用于过滤的输出 ID 数组Promise<TokenTransactionWithStatus[]>
: 带状态的代币交易数组getTokenL1Address()
Promise<string>
: 第 1 层比特币地址createLightningInvoice(params)
params
: 包含:
amountSats
: 金额(以聪为单位)memo
: (可选) 发票的描述expirySeconds
: (可选) 过期时间(以秒为单位),默认为 30 天Promise<LightningReceiveRequest>
: 闪电网络接收请求详情getLightningReceiveRequest(id: string)
id
: 要检查的发票的 ID。Promise<LightningReceiveRequest | null>
: 闪电网络接收请求详情,如果未找到则返回 null。getLightningSendRequest(id: string)
id
: 要检查的闪电网络发送请求的 ID。Promise<LightningSendRequest | null>
: 闪电网络发送请求详情,如果未找到则返回 null。getLightningSendFeeEstimate(params)
params
: 包含:
encodedInvoice
: BOLT11 编码的闪电网络发票。Promise<number>
: 估算的费用(以聪为单位)。withdraw(params)
params
: 包含以下属性的对象:
onchainAddress
: (必需) 资金应发送到的比特币地址。exitSpeed
: (必需) 退出的期望速度(FAST, MEDIUM, SLOW)。amountSats
: (可选) 要提取的金额(以聪为单位)。如果未指定,尝试提取所有可用资金。Promise<CoopExitRequest | null | undefined>
: 提款请求详情,如果请求无法完成则返回 null/undefined。getWithdrawalFeeEstimate(params)
params
: 包含:
amountSats
: 要提取的金额(以聪为单位)。withdrawalAddress
: 资金应发送到的比特币地址。Promise<CoopExitFeeEstimatesOutput | null>
: 提款的费用估算,如果不可用则返回 null。getCoopExitRequest(id: string)
id
: 合作退出请求的 ID。Promise<CoopExitRequest | null>
: 合作退出请求详情,如果未找到则返回 null。claimDeposit(txId: string)
txId
: 要认领的存款交易的 ID。Promise<DepositClaimResult>
: 存款认领的结果。isValidSparkAddress(address: string)
address
: 要验证的地址。boolean
: 如果地址是有效的 Spark 地址则为 true,否则为 false。