pendzl 0.1.0-alpha1

pendzl library for smart contract development on ink!.
Documentation

Summary

pendzl is a library for smart contract development on ink!.

Why use this library?

  • To make contracts interoperable to do safe cross-contracts calls (by having the same functions signature among every contracts)
  • To ensure the usage of Polkadot Standards Proposals
  • To ensure the usage of the latest & most secure implementation
  • Useful contracts that provide custom logic to be implemented in contracts
  • To save time by not writing boilerplate code
  • Useful features which can simplify development
  • All contracts are upgradeable by default

Which Standard tokens & useful contracts does it provide?

  • PSP22 - Fungible Token (ERC20 equivalent) with some extensions
  • PSP34 - Non-Fungible Token (ERC721 equivalent) with some extensions
  • (not yet supported) PSP37 - ERC1155 equivalent with extensions
  • Ownable Restrict access to action for non-owners
  • Access Control Define set of roles and restrict access to action by roles
  • Pausable Pause/Unpause the contract to disable/enable some operations
  • (not yet supported) Timelock Controller Execute transactions with some delay
  • (not yet supported) Governor Govern

This library was created based on some of openbrush-contracts, Pendzlis using openbrush's implementation macro, Storage trait, examples and testsof features pendzl provides.

Additional stuff

Installation & Testing

To work with project you need to install ink! toolchain and NodeJS's dependencies.

  1. So, you need an actual installer rustup.
  2. ink! toolchain
  3. NodeJS deps you can install via yarn command

Build

$ yarn build

If you want to build in release mode, you can use this command

$ yarn build:release

Tests

You can run unit tests by RUSTFLAGS="-D warnings" cargo test --workspace --features test-all -- --test-threads=10 command from the root of the directory.

After you can run tests by npm run test command. It will build all contracts required for integration tests and run them.

FAQ

Was it audited?

Contracts in this repository have not yet been audited and may contain several vulnerabilities.

License

pendzl is released under the MIT License.