EVM transaction creation, encoding, and decoding in Motoko, maintained for
the modern mo:core ecosystem by ICDevs.org.
This is the history-preserving successor to
av1ctor/evm-txs.mo. It retains the
original authorship and attribution while moving maintenance to ICDevs.
ICDevs.org bounty #32, see: https://forum.dfinity.org/t/open-icdevs-org-bounty-32-evm-transactions-motoko-8-000/17884
After the package is published to Mops:
mops add evm-txs-coreUntil then, consumers can pin an immutable commit from this repository.
- Ported from https://github.com/nikolas-con/ic-evm-sign
- Supports legacy, EIP2930, EIP1559, EIP4844, and EIP7702 transactions
- The chain id is user-defined
- Includes ergonomic signing/serialization helpers plus lower-level address recovery APIs for performance-sensitive integrators
See e2e/tx_tools for a complete example
- Run the library test suite with
mops test --reporter files - Or use the repo wrapper:
make -C test test - Compare performance with the checked-in baseline using
mops bench --compare --replica pocket-ic
Address,Transaction,Contract, andTransferare the intended high-level entry points for normal library use.- The low-allocation recovery helpers in
Address.moare an intentional advanced API used by downstream engine code that needs tight control over allocation and reuse. Contextandutils/IcEcdsaApiare convenience integration helpers for wiring libsecp256k1 contexts and IC ECDSA calls; many consumers will not need them directly.
Distributed under the terms of the Apache License (Version 2.0).
See LICENSE for details.