@exodus/models
Exodus钱包野外世界常见商业物品的容器. 这些功能通常提供一些基本功能,例如:永续性(调用方法返回新实例)、验证、序列化和比较.
用于收集的容器通常具有通过某些语义参数访问元素的方便方法,并与其他收集物合并。 这些往往是所收集的商业对象所特有的.
安装/使用
pnpm add @exodus/models
这个库将每个模型导出为命名导出. 用法示例:
import { WalletAccount } from '@exodus/models'
const investments = new WalletAccount({
source: WalletAccount.EXODUS_SRC,
index: 0,
label: 'Not investment advice',
})
const updatedInvestments = investments.update({ label: 'Still not investment advice' })
investments.equals(updatedInvestments) // false
investments instanceof WalletAccount // true
investments.toJSON() // serialize for storage
WalletAccount.fromJSON(investments.toJSON()) // deserialize from storage
const safeInvestments = new WalletAccount({
id: '1234', // comes from device
source: WalletAccount.TREZOR_SRC,
index: 0,
label: 'Really not investment advice',
})
收藏使用实例 :
const myPortfolios = new WalletAccountSet({ [investments]: investments })
const myUpdatedPortfolios = myPortfolios.update({ [safeInvestments]: safeInvestments })
myUpdatedPortfolios.toJSON() // serialize for storage
请参看模型特定测试中的更多实例.
共享接口
所有模型都有静态方法 .[Symbol.hasInstance](obj) 返回时 true 若为 obj 这是模型的一例。 这样一来 instanceof 检查返回 true 即使是来自不同版本的模型 @exodus/models 软件包.
AccountState
资产区块链状态的容器,如余额,令牌余额,utxos等. 这是一个基础类别,所有特定资产账户类别都从这一类别延伸。 无法直接初始化 .
Address
块链地址串和相关元数据的容器,例如: 键标识符 那个地址.
AddressSet
收缴 Address对.
FiatOrder
与 " -- -- " 密码买卖有关的数据容器.
FiatOrderSet
收缴 FiatOrder编号.
Order
用于交换一个密码资产和另一个密码资产的数据的容器.
OrderSet
收缴 Order编号.
PersonalNote
用于交易的用户个人票据的容器,例如"pizza"
PersonalNoteSet
收集资料 PersonalNote编号.
Tx
与区块链交易有关的数据容器,例如交易编号、金额、确认、来源地址、目的地地址等.
TxSet
收缴 Txs. (中文(简体) ). 无法直接构造, 因此从 TxSet.EMPTY 或使用静态方法 TxSet.fromArray()说明: txSet.equals(otherSet) 只比较交易编号; 使用 txSet.deepEquals(otherSet) 用于全面交易比较.
UtxoCollection
收集UTXOs. 没有相应的 UTXO 型号。 使用 utxoCollection.select(amount, feeEstimator) 以选择要发送的给定数量.
WalletAccount
A/ 集装箱 bip44 账户指数 和用户特有的组合元数据。 稍有反感,如果看bip44路径,出奥多斯钱包中每个组合对应一篮子资产,即以下两个路径都将对应一篮子"
m/44'/0'/7'/0/0: 组合 7 的第一个比特币地址m/44'/60'/7'/0/0: 组合 7 的第一个电子地址
WalletAccountSet
收缴 WalletAccount编号.