Invoke

An Invoke transaction is used to call a hook, which is a piece of code that is executed in response to certain ledger operations.

[Source]

(Added by the [Hooks amendment][].)

Example

{
    "TransactionType": "Invoke",
    "Account": "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
    "Blob": "697066733A2F2F4445414442454546",
    "Destination": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"
}
FieldJSON Type[Internal Type][]Description

Account

String

AccountID

The address of the account that is invoking the hook.

Blob

String

Blob

(Optional) A blob of data that is passed to the hook. (512 byte max)

Destination

String

AccountID

(Optional) The address of the account that is the target of the hook.

InvoiceID

String

Hash256

(Optional) Arbitrary 256-bit hash representing a specific reason or identifier for this payment.

Special Transaction Cost

The Invoke transaction has a standard transaction cost, plus an additional cost based on the size of the Blob and HookParameters fields.

Error Cases

Besides errors that can occur for all transactions, Invoke transactions can result in the following transaction result codes:

Error CodeDescription

temDISABLED

Occurs if the Hooks amendment is not enabled.

temMALFORMED

Occurs if the Blob field is larger than 128 KiB.

terNO_ACCOUNT

Occurs if the sending account or the destination account does not exist.

Last updated