/zink

zink! is a library for developing ink! smart contracts with useful Rust macros that extend functionality and reduce boilerplate code.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Zink Banner

zink! Smart Contract Macros

License: GPL v3 Built with ink! Rust

This is a helper library for developing ink! smart contracts. It contains useful Rust macros that extend functionality and reduce boilerplate code.

The project is part of a Scio Labs initiative to improve the developer experience in the ink! ecosystem. Other projects include:

Join the discussion in our Telegram Group 💬

Macros

Note

This library still has a very limited scope, please submit an issue to suggest new modules or get help.

Macros Description Audited
Ownable2Step This module provides a two-step ownership transfer mechanism. It includes methods for getting the current and pending admin, transferring ownership, and accepting ownership. The ownership transfer is not immediate but requires the new owner to accept the ownership. This adds an extra layer of security to the contract.
Upgradable This module provides a mechanism for upgrading the contract. It includes a method for setting a new code hash, effectively upgrading the contract to a new version. This is useful for contracts that may need to be updated or fixed after they have been deployed.