2个版本
0.2.7 |
|
---|
#607 in #module
每月27次下载
72KB
1.5K SLoC
◦ Mito协议
◦ 用于与Mito协议交互的包。
📖 目录
📍 概述
该仓库概述了与Mito合约交互的接口。
📂 仓库结构
└── /
├── Cargo.toml
└── src/
├── launchpad.rs
├── lib.rs
├── master.rs
├── staking.rs
├── test_utils.rs
├── vault.rs
└── vesting_errors.rs
⚙️ 模块
根目录
文件 | 摘要 |
---|---|
Cargo.toml | Cargo.toml 文件定义了Rust包 mito-protocol ,适用于与Mito协议交互。它使用工作区配置来定义包元数据和依赖项,暗示了多crate结构。该包包括在测试期间启用回溯的功能。对cosmwasm-std 、cw-utils 等crate的依赖表明了使用CosmWasm智能合约框架和附加实用工具,可能用于区块链相关操作。源代码组织为多个Rust模块,如vault.rs 和staking.rs ,表明其范围可能围绕区块链质押和金融交易。 |
Src
文件 | 摘要 |
---|---|
launchpad.rs | Rust代码定义了基于cosmwasm的DeFi启动平台的智能合约逻辑,包括实例化、执行消息和查询。它包含用于设置和配置启动平台的结构,如FactoryInstantiateMsg 和InstantiateMsg ,包括对货币、质押订阅和启动费用的验证。它支持多个递增的时间表(Schedule ),可以转换为单调曲线。合约允许注册库、更新配置和使用FactoryExecuteMsg 和ExecuteMsg 结构启动项目。它还定义了查询如FactoryConfigResponse 和LaunchpadConfigResponse 的响应结构,以及管理函数和迁移实用工具。 |
lib.rs | lib.rs 文件作为Rust项目的主体库模块,公开导出六个子模块:launchpad 、master 、staking 、test_utils 、vault 和vesting_errors ,它们分别定义在src 目录下的相应文件中。 |
staking.rs | Rust代码定义了去中心化金融(DeFi)质押平台的结构和行为,允许用户实例化分配器/质押合约、更新配置、质押/赎回代币以及管理奖励仪表板。仪表板代表具有验证规则和时序的奖励机制。使用枚举定义了用于查询和执行动作的消息,可序列化的结构封装了配置、用户动作(如质押和赎回)以及相关的元数据。此外,代码还包括了奖励仪表板的验证逻辑,确保遵守指定的规则和时序。 |
vesting_errors.rs | src/vesting_errors.rs 中的Rust代码定义了ContractError ,这是CosmWasm智能合约生态系统内质押合约的自定义错误类型枚举。它包括标准、曲线和面值问题、错误的资金金额、零或即时质押、未经授权的操作、资金状态、失败的委托、提款限制以及不支持的CW20代币面值等错误。每个变体都注解以生成描述性错误消息,利用thiserror crate进行惯用错误处理。 |
test_utils.rs | 该代码提供了创建与Injective区块链上的自动化市场制造者(AMM)、现货和衍生品市场相关的模拟消息和响应的实用函数。它定义了用于以各种参数(如市场ID、杠杆、定价敏感性和名义价值上限)实例化这些市场类型的消息。此外,代码还包括了自定义消息格式的序列化,并将其作为合约响应包装,支持根据二进制编码模式的可变长度字段。还指定了用于测试的预定义常量,包括模拟所有者、主地址和用户账户。 |
vault.rs | vault.rs 源代码定义了用于在区块链平台上管理自动化市场制造者(AMM)、现货市场和衍生品市场的数据结构、消息和枚举。它包括配置、保险库/实例化信息、执行消息和查询消息,用于处理离链和链上保险库的订阅、赎回、所有权、价格调整和奖励分配。功能包括带有市场和预言机详情的保险库实例化、滑点设置、奖励佣金和管理参数。执行消息便于执行管理任务、市场制造和转让能力。查询消息检索配置和市场数据。响应和日志特性确保数据被检索和格式化。该文件利用TypeScript风格的装饰器进行序列化和模式化。 |
master.rs | Rust模块master.rs 定义了用于管理区块链智能合约交互的数据结构和枚举。它包括实例化消息(InstantiateMsg )、执行相关注入任务的消息(InjectiveForwardExec 、AmmInjectiveForwardExec 、MasterAmmExecuteMsg 、ExecuteMsg )、查询数据(QueryMsg )以及注册保险库和配置的响应(RegisteredVaultsResponse 、ConfigResponse )。具体操作包括保险库注册、配置更新、执行保险库管理消息以及查询以获取保险库和合约配置,利用CosmWasm和Injective CosmWasm标准进行区块链智能合约。 |
依赖
~7–10MB
~209K SLoC