Skip to content

Latest commit

 

History

History
101 lines (67 loc) · 2.59 KB

cast-send.md

File metadata and controls

101 lines (67 loc) · 2.59 KB

cast send

NAME

cast-send - Sign and publish a transaction.

SYNOPSIS

cast send [options] to [sig] [args...]

DESCRIPTION

Sign and publish a transaction.

The destination (to) can be an ENS name or an address.

{{#include sig-description.md}}

OPTIONS

{{#include ../common/transaction-options.md}}

--resend
    Reuse the latest nonce of the sending account.

--create code [sig args...]
    Deploy a contract by specifying raw bytecode, in place of specifying a to address.

Receipt Options

--async
--cast-async
    Do not wait for the transaction receipt if it does not exist yet.
    Environment: CAST_ASYNC

-c confirmations
--confirmations confirmations
    Wait a number of confirmations before exiting. Default: 1.

{{#include ../common/wallet-options.md}}

--unlocked
    Send via eth_sendTransaction using the --from argument or $ETH_FROM as sender.

{{#include ../common/rpc-options.md}}

{{#include ../common/etherscan-options.md}}

{{#include ../common/display-options.md}}

{{#include common-options.md}}

EXAMPLES

  1. Send some ether to Vitalik using your Ledger:

    cast send --ledger vitalik.eth --value 0.1ether
  2. Call deposit(address token, uint256 amount) on a contract:

    cast send --ledger 0x... "deposit(address,uint256)" 0x... 1
  3. Call a function that expects a struct:

    contract Test {
        struct MyStruct {
            address addr;
            uint256 amount;
        }
        function myfunction(MyStruct memory t) public pure {}
    }

    Structs are encoded as tuples (see struct encoding)

    cast send 0x... "myfunction((address,uint256))" "(0x...,1)"
  4. Send a transaction with hex data in the input field of the transaction object:

    cast send 0x... 0x68656c6c6f20776f726c64
  5. Sign an EIP-7702 authorization and attach it to a transaction from a different sender:

    cast send $(cast az) --private-key <sender-pk> --auth $(cast wallet sign-auth <address> --private-key <delegator-pk>)
  6. Send an EIP-7702 transaction delegating the sender to <address>:

    cast send $(cast az) --auth <address>

SEE ALSO

cast, cast call, cast publish, cast receipt, cast mktx, struct encoding