Skip to content

Latest commit

 

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

evm-txs-core

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

Installation

After the package is published to Mops:

mops add evm-txs-core

Until then, consumers can pin an immutable commit from this repository.

References

Dependencies

Features

  • 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

Examples

See e2e/tx_tools for a complete example

Testing

  • 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

Notes

  • Address, Transaction, Contract, and Transfer are the intended high-level entry points for normal library use.
  • The low-allocation recovery helpers in Address.mo are an intentional advanced API used by downstream engine code that needs tight control over allocation and reuse.
  • Context and utils/IcEcdsaApi are convenience integration helpers for wiring libsecp256k1 contexts and IC ECDSA calls; many consumers will not need them directly.

Todo

Licensing

Distributed under the terms of the Apache License (Version 2.0).

See LICENSE for details.

About

ICDevs-maintained Motoko EVM transaction encoding, decoding, and signing library

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages