#protocols #module #package #mito

mito-protocol

用于与Mito协议交互的包

2个版本

0.2.7 2024年6月27日

#607 in #module

每月27次下载

Apache-2.0

72KB
1.5K SLoC


◦ Mito协议

◦ 用于与Mito协议交互的包。

Rust


📖 目录


📍 概述

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

返回


依赖

~7–10MB
~209K SLoC