* init 2503 upgrade for evm template need to upgrade frontier forks * start upgrading frontier * wip upgrading tanssi deps and synchronizing deps therein * update tanssi wip * fix dep tree for evm template and move onto resolving errors * resolve 17 of 29 compilation errors 12 remaining most related to updating weight files * resolve weight related compilation errors and evm abstraction and proc macro require updates * impl DecodeWithMemTracking for custom origins 5 errors left requiring changes to astractions * update evm abstraction runtime compiles * node in progress frontier txpool requires more changes * update txpool for node and node release compiles * remove unused code commented out * fix tanssi registrar benchmarking compilation * fix pallet registrar benchmarks and unit tests * update tanssi runtime apis to have benchmark features * clean and fix some errors tests are recently requiring benchmark hidden impls oddly * combine ci steps for running test and checking benchmark compilation to see if output changes * update xcm core buyer 2412 dep to 2503 release ty @KitHat * rm conditional compilation for runtime benchmarks inside a few declarative macro definitions * apply clippy fix * move runtime benchmarks declarations for referenda conviction voting and assets common into the runtime not sure why only those require explicit feature declaration * break build but apply suggestions from @KitHat * fix build * fix toml sort * fix tanssi build
OpenZeppelin Runtime Templates for Substrate
Polkadot SDK has a steep learning curve. In order to make it easier for newcomers to get started, OpenZeppelin is providing runtime templates that can be used to quickly bootstrap a Substrate project using Polkadot SDK.
Along with the templates, OpenZeppelin also provides a documentation website that explains the templates and the details.
About this repository and templates
This repository contains all of our templates. Each template has its own sub-directory, is completely standalone, and can be used independently.
For example: if you want to use our generic runtime template, you can just copy that subdirectory, and it will work on its own. You don't need anything from other templates nor from the root directory of this repository for your selected template to work.
Warning
Avoid using
mainfor production deployments and use release branches instead.mainis a development branch that should be avoided in favor of tagged releases. The release process involves security measures that themainbranch does not guarantee.
Generic Runtime Template
This template has all the basic features you expect to find on a typical L1 blockchain or parachain. Basic, yet preserving the most important pallets that are used in the Polkadot ecosystem today and a safe runtime base configuration. You can find a full list of the pallets included in this template in our docs
EVM template
This template uses frontier pallets and has EVM compatibility out of the box. You can migrate your solidity contracts or EVM compatible dapps easily to your parachain using this template. Here are some of the key features included:
- 20 byte addresses: Existing tooling works out of the box, no more awkward conversion, this template handles that for you.
- Account Abstraction support: The Entrypoint contract is included as part of the pre-deployed contracts that will be in the genesis block.
- Extensible pre-deployed contracts: In addition to the entrypoint, you can add your own smart contract to be included in the genesis block.
For a step by step guide on how to deploy this to your own local environment using Zombienet check this tutorial
How to use
Please refer to our docs for a quick start guide.
Security
Past audits can be found in /audits directory in the respective template's directory.
Refer to SECURITY.md for more details.
License
OpenZeppelin Runtime Templates are released under the GNU v3 License.