Source code for zero_ex.contract_wrappers.tx_params

"""Transaction parameters for use with contract wrappers."""

from typing import Optional

import attr


[docs]@attr.s(kw_only=True) class TxParams: """Transaction parameters for use with contract wrappers. :param from_: default None, string of account address to initiate tx from :param value: default None, integer of amount of ETH in Wei for transfer :param gas: default None, integer maximum amount of ETH in Wei for gas :param grasPrice: default None, integer price of unit of gas :param nonce: default None, integer nonce for account """ from_: Optional[str] = attr.ib(default=None) value: Optional[int] = attr.ib( default=None, converter=attr.converters.optional(int) ) gas: Optional[int] = attr.ib( default=None, converter=attr.converters.optional(int) ) gas_price: Optional[int] = attr.ib( default=None, converter=attr.converters.optional(int) ) nonce: Optional[int] = attr.ib( default=None, converter=attr.converters.optional(int) )
[docs] def as_dict(self): """Get transaction params as dict appropriate for web3.""" res = {k: v for k, v in attr.asdict(self).items() if v is not None} if "from_" in res: res["from"] = res["from_"] del res["from_"] if "gas_price" in res: res["gasPrice"] = res["gas_price"] del res["gas_price"] return res