crane-utilities

Provide reusable Mina/Crane development libraries for typing, math, string manipulation, and DFCore integration.

Updated Jan 22, 2026
One-click install
npx skills add https://github.com/cyotee/cyotee-claude-plugin-crane --skill crane-utilities
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: crane-utilities
Source: https://github.com/cyotee/cyotee-claude-plugin-crane/tree/main/.opencode/skills/crane-utilities
Command: npx skills add https://github.com/cyotee/cyotee-claude-plugin-crane --skill crane-utilities

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Crane development teams often reinvent utilities for diamond storage, math, cryptography, and data handling. This library provides standardized, battle-tested building blocks to accelerate development and reduce risk.

Core Features & Use Cases

  • Collections in Diamond Storage: AddressSet, Bytes32Set, Bytes4Set, StringSet, UInt256Set for efficient on-chain storage patterns.
  • AMM and math utilities: ConstProdUtils and BetterMath support precise, safe math for liquidity pools and complex computations.
  • Cryptography and hashing: EIP712Repo and BetterEfficientHashLib provide typed data, domain separators, and hashing helpers.
  • Strings, bytes, and address helpers: BetterStrings, BetterBytes, and BetterAddress simplify common operations.
  • Real-world use: build governance, access control, or modular protocol components using standardized crates.

Quick Start

Install Crane utilities and import the relevant modules in your DFPkg to start using AddressSetRepo, ConstProdUtils, and BetterMath for storage and math operations.

Frequently Asked Questions about crane-utilities

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage sets in Solidity diamond storage patterns without reinventing the wheel?

You can use standardized collection libraries like AddressSetRepo and Bytes32Set to efficiently manage on-chain data in diamond storage patterns. These modular libraries provide battle-tested building blocks to accelerate development and reduce risk.

What's the best way to implement safe math for AMM liquidity pools in Solidity?

ConstProdUtils and BetterMath provide precise, safe math operations for AMM liquidity pools and complex computations. These utility libraries support constant product calculations required for decentralized exchange implementations.

How does EIP712 typed data hashing work with diamond storage architectures?

EIP712Repo and BetterEfficientHashLib provide typed data structuring, domain separators, and hashing helpers for diamond storage architectures. They standardize cryptography operations to meet Crane Diamond development needs.

Can I use these Solidity utility libraries for governance and access control modules?

Yes, these modular libraries support building governance, access control, and modular protocol components. You import the relevant modules into your DFPkg to leverage the standardized crates across various protocol architectures.

Do I need specific dependencies to implement string and address helpers in my Solidity project?

No external dependencies are required. The library includes BetterStrings, BetterBytes, and BetterAddress to simplify common string, bytes, and address operations natively within your Solidity project environment.

Why use standardized utility libraries instead of custom implementations for diamond development?

Crane development teams often reinvent utilities for math, cryptography, and data handling, introducing risk. Standardized, battle-tested building blocks accelerate development by providing reusable libraries specifically designed for diamond storage patterns.