Transactions

Encode submission

Changed on

This endpoint accepts an EncodeSubmissionRequest, which internally is a UserTransactionRequestInner (and optionally secondary signers) encoded as JSON, validates the request format, and then returns that request encoded in BCS. The client can then use this to create a transaction signature to be used in a SubmitTransactionRequest, which it then passes to the /transactions POST endpoint.

To be clear, this endpoint makes it possible to submit transaction requests to the API from languages that do not have library support for BCS. If you are using an SDK that has BCS support, such as the official Rust, TypeScript, or Python SDKs, you do not need to use this endpoint.

To sign a message using the response from this endpoint:

  • Decode the hex encoded string in the response to bytes.
  • Sign the bytes to create the signature.
  • Use that as the signature field in something like Ed25519Signature, which you then use to build a TransactionSignature.
post/transactions/encode_submission

Request

  • Base URL
    /v1 (relative, and the document was published on a file host, not at the API’s origin)
  • URL
    /v1/transactions/encode_submission
  • Auth
    none declared

Request body

senderstring hex required

A hex encoded 32 byte Lumio account address.

This is represented in a string as a 64 character hex string, sometimes shortened by stripping leading 0s, and adding a 0x.

For example, address 0x0000000000000000000000000000000000000000000000000000000000000001 is represented as 0x1.

sequence_numberstring uint64 required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

max_gas_amountstring uint64 required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

gas_unit_pricestring uint64 required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

expiration_timestamp_secsstring uint64 required

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

replay_protection_noncestring uint64

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatibility with languages such as JavaScript that do not parse u64s in JSON natively.

secondary_signersAddress[]

Secondary signer accounts of the request for Multi-agent

Example request

{
  "sequence_number": "32425224034",
  "max_gas_amount": "32425224034",
  "gas_unit_price": "32425224034",
  "expiration_timestamp_secs": "32425224034",
  "payload": {
    "type": "entry_function_payload",
    "function": "0x1::lumio_coin::transfer"
  },
  "replay_protection_nonce": "32425224034"
}

Response

string hex required

All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with 0x and fulfilled with two hex digits per byte.

Unlike the Address type, HexEncodedBytes will not trim any zeros.

Changes

    • breaking

      the mandatory response header X-APTOS-BLOCK-HEIGHT removed for the status 200

    • breaking

      the mandatory response header X-APTOS-CHAIN-ID removed for the status 200

    • breaking

      the mandatory response header X-APTOS-EPOCH removed for the status 200

    • breaking

      the mandatory response header X-APTOS-LEDGER-OLDEST-VERSION removed for the status 200

    • breaking

      the mandatory response header X-APTOS-LEDGER-TIMESTAMPUSEC removed for the status 200

    • breaking

      the mandatory response header X-APTOS-LEDGER-VERSION removed for the status 200

    • breaking

      the mandatory response header X-APTOS-OLDEST-BLOCK-HEIGHT removed for the status 200

    • warning

      the optional response header X-APTOS-BLOCK-HEIGHT removed for the status 400

    • warning

      the optional response header X-APTOS-BLOCK-HEIGHT removed for the status 403

    • warning

      the optional response header X-APTOS-BLOCK-HEIGHT removed for the status 500

    • warning

      the optional response header X-APTOS-BLOCK-HEIGHT removed for the status 503

    • warning

      the optional response header X-APTOS-CHAIN-ID removed for the status 400

    • warning

      the optional response header X-APTOS-CHAIN-ID removed for the status 403

    • warning

      the optional response header X-APTOS-CHAIN-ID removed for the status 500

    • warning

      the optional response header X-APTOS-CHAIN-ID removed for the status 503

    • warning

      the optional response header X-APTOS-CURSOR removed for the status 200

    • warning

      the optional response header X-APTOS-EPOCH removed for the status 400

    • warning

      the optional response header X-APTOS-EPOCH removed for the status 403

    • warning

      the optional response header X-APTOS-EPOCH removed for the status 500

    • warning

      the optional response header X-APTOS-EPOCH removed for the status 503

    • warning

      the optional response header X-APTOS-GAS-USED removed for the status 200

    • warning

      the optional response header X-APTOS-GAS-USED removed for the status 400

    • warning

      the optional response header X-APTOS-GAS-USED removed for the status 403

    • warning

      the optional response header X-APTOS-GAS-USED removed for the status 500

    • warning

      the optional response header X-APTOS-GAS-USED removed for the status 503

    • warning

      the optional response header X-APTOS-LEDGER-OLDEST-VERSION removed for the status 400

    • warning

      the optional response header X-APTOS-LEDGER-OLDEST-VERSION removed for the status 403

    • warning

      the optional response header X-APTOS-LEDGER-OLDEST-VERSION removed for the status 500

    • warning

      the optional response header X-APTOS-LEDGER-OLDEST-VERSION removed for the status 503

    • warning

      the optional response header X-APTOS-LEDGER-TIMESTAMPUSEC removed for the status 400

    • warning

      the optional response header X-APTOS-LEDGER-TIMESTAMPUSEC removed for the status 403

    • warning

      the optional response header X-APTOS-LEDGER-TIMESTAMPUSEC removed for the status 500

    • warning

      the optional response header X-APTOS-LEDGER-TIMESTAMPUSEC removed for the status 503

    • warning

      the optional response header X-APTOS-LEDGER-VERSION removed for the status 400

    • warning

      the optional response header X-APTOS-LEDGER-VERSION removed for the status 403

    • warning

      the optional response header X-APTOS-LEDGER-VERSION removed for the status 500

    • warning

      the optional response header X-APTOS-LEDGER-VERSION removed for the status 503

    • warning

      the optional response header X-APTOS-OLDEST-BLOCK-HEIGHT removed for the status 400

    • warning

      the optional response header X-APTOS-OLDEST-BLOCK-HEIGHT removed for the status 403

    • warning

      the optional response header X-APTOS-OLDEST-BLOCK-HEIGHT removed for the status 500

    • warning

      the optional response header X-APTOS-OLDEST-BLOCK-HEIGHT removed for the status 503

    • warning

      added the new rejected_by_filter enum value to the response property for the response status

    • warning

      added the new rejected_by_filter enum value to the response property for the response status

    • warning

      added the new rejected_by_filter enum value to the response property for the response status

    • warning

      added the new rejected_by_filter enum value to the response property for the response status