> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arksat.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 方法契约

> 查看 SDK 0.1.0 配套 Provider 方法的权限、确认要求、金额单位、原始 RPC 参数与返回语义，区分提交结果和最终交易状态。

SDK 0.1.0 · extension 1.0.32 · Provider API 2 · events 2.

以下为原始 Provider 的权限与返回语义。Client 的发送和签名结果使用具名字段，见 [API 参考](https://docs.arksat.xyz/api.md)。所有金额均无隐式换算。读取不会主动申请权限；资金操作不自动重试。除 sendSwapFunding 仅支持 mutinynet 外，方法用于 mainnet / mutinynet；具体能力以 getCapabilities 为准。

| 方法 | 权限 | 确认 | 单位 | 返回语义 |
| - | - | - | - | - |
| connect | connect | 授权 | — | 已授权账户 |
| disconnect | connection | 否 | — | 来源连接已撤销 |
| isConnected | 无 | 否 | — | 连接状态 |
| getAccounts | accounts | 否 | — | 未授权或锁定时为空 |
| getAddress | accounts | 否 | — | 当前地址 |
| getPublicKey | accounts | 否 | hex | 公钥 |
| getNetwork | network | 否 | — | 网络信息 |
| getProviderState | 无 | 否 | — | 未连接时隐藏钱包上下文 |
| getCapabilities | 无 | 否 | — | 支持的方法 |
| getWalletSession | accounts + network + boardingAddress | 否 | — | 公开会话快照 |
| getBalance | balance | 否 | 代币最小单位字符串 | 钱包余额快照 |
| getAssets | assets | 否 | 最小单位整数字符串 | 持有资产 |
| getAssetDetails | assets | 否 | 最小单位整数字符串 | 持有资产或 null |
| getAssetMetadata | assets + accounts + network | 否 | 供应量最小单位字符串 | 元数据不代表持有量 |
| issueAsset | issueAsset (显式) | 每次 | 最小单位整数字符串 | 提交结果，不代表最终到账 |
| reissueAsset | reissueAsset (显式) | 每次 | 最小单位整数字符串 | 提交结果，不代表最终到账 |
| burnAsset | burnAsset (显式) | 每次 | 最小单位整数字符串 | 提交结果，不代表最终到账 |
| getTransactionHistory | transactions (显式) | 否 | 代币最小单位字符串 | 钱包保留的活动记录 |
| getTransaction | transactions (显式) | 否 | 代币最小单位字符串 | 保留的记录或 null，不是链上证明 |
| sendToAddress | sendToAddress | 每次 | 整数 sats | 已提交交易 ID |
| sendAsset | sendAsset | 每次 | 代币最小单位字符串，BTC 为 sats | 已提交交易 ID |
| sendSwapFunding | sendAsset | 每次 | 代币最小单位字符串，BTC 为 sats | 出资交易 ID，不代表兑换完成 |
| signTransaction | signTransaction | 每次 | base64 PSBT | 已签名 PSBT，不广播 |
| signTransactions | signTransactions | 每次 | base64 PSBT\[] | 已签名 PSBT 列表，不广播 |
| signMessage | signMessage | 每次 | utf8 or hex | 十六进制签名 |
| switchNetwork | switchNetwork | 发生切换时 | mainnet / mutinynet | 已选择网络 |

## 原始 RPC 参数与返回类型

```ts theme={null}
export interface ArksatRpcMap {
  connect: { params: [options?: ArksatConnectOptions]; result: string[] }
  disconnect: { params: []; result: void }
  isConnected: { params: []; result: boolean }
  getAccounts: { params: []; result: string[] }
  getAddress: { params: []; result: string }
  getPublicKey: { params: []; result: string }
  getNetwork: { params: []; result: ArksatNetworkInfo }
  getProviderState: { params: []; result: ArksatProviderState }
  getCapabilities: { params: []; result: ArksatCapabilities }
  getWalletSession: { params: []; result: ArksatWalletSession }
  getBalance: { params: []; result: ArksatBalance }
  getAssets: { params: []; result: ArksatAssetBalance[] }
  getAssetDetails: { params: [input: { assetId: string }]; result: ArksatAssetBalance | null }
  getAssetMetadata: { params: [input: { assetId: string }]; result: ArksatAssetDetails }
  issueAsset: { params: [input: ArksatIssueAssetParams]; result: ArksatIssueAssetResult }
  reissueAsset: { params: [input: ArksatAssetAmountParams]; result: { txid: string } }
  burnAsset: { params: [input: ArksatAssetAmountParams]; result: { txid: string } }
  getTransactionHistory: { params: [options?: ArksatHistoryOptions]; result: ArksatTransaction[] }
  getTransaction: { params: [input: { txid: string }]; result: ArksatTransaction | null }
  sendToAddress: { params: [address: string, amount: number]; result: string }
  sendAsset: { params: [address: string, assets: ArksatAssetTransfer[], bitcoinAmount?: number]; result: string }
  sendSwapFunding: { params: [input: ArksatSwapFundingParams]; result: string }
  signTransaction: { params: [input: ArksatSignTransactionParams & ArksatSessionGuard]; result: string }
  signTransactions: { params: [input: ArksatSignTransactionsParams & ArksatSessionGuard]; result: string[] }
  signMessage: { params: [message: string, type?: ArksatSignMessageType, encoding?: 'utf8' | 'hex', expected?: ArksatSessionGuard]; result: string }
  switchNetwork: { params: [network: ArksatNetwork]; result: void }
}
```

参数无效返回 INVALID\_PARAMS；未授权返回 UNAUTHORIZED；锁定返回 WALLET\_LOCKED；会话变化返回 CONTEXT\_CHANGED。用户取消需确认的操作返回 USER\_REJECTED。上游请求还可能返回 NETWORK\_ERROR、RATE\_LIMITED 或 TIMEOUT；完整处理见 [错误文档](https://docs.arksat.xyz/errors.md)。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.