#ethereum #transaction #builder #chain

rosetta-tx-ethereum

Ethereum transaction builder

3 releases (breaking)

0.4.0 Jun 29, 2023
0.2.5 May 1, 2023
0.1.0 Mar 30, 2023

#231 in #chain

Download history 25/week @ 2024-03-14 27/week @ 2024-03-21 57/week @ 2024-03-28 34/week @ 2024-04-04 16/week @ 2024-04-11 25/week @ 2024-04-18 21/week @ 2024-04-25 17/week @ 2024-05-02 26/week @ 2024-05-09 22/week @ 2024-05-16 23/week @ 2024-05-23 34/week @ 2024-05-30 16/week @ 2024-06-06 19/week @ 2024-06-13 28/week @ 2024-06-20 12/week @ 2024-06-27

80 downloads per month
Used in 9 crates (via rosetta-client)

MIT license

16KB
274 lines

This project is used to build transactions for ethereum chains.

EthereumTransactionBuilder:

Its implementation of `TransactionBuilder` and implements the following methods:
1. `transfer`
2. `method_call`
3. `create_and_sign`

transfer:

Creates `EthereumMetadataParams` for transfer call.

method_call:

Creates `EthereumMetadataParams` for contract calls. It takes 
`method`: this is a string contraining contract address and method signature with `-` seperation.
`params`: array of json_value with params taken by contract methods in string format.

It returns `EthereumMetadataParams` with `data` field set to the encoded contract call params.

create_and_sign:

When `metadata` is created we use this call to create Ethereum Transaction and sign it. It takes following arguments.
`config`: chain sepecific config.
`metadata_params`: Metadata params which created metadata for this call.
`metadata`: Metadata required make transaction.
`secret_key`: wallet's secret key (used to sign the transaction).

It creates the transaction and signs it and then returns its bytes.

Dependencies

~15–28MB
~432K SLoC