Telemetry event definitions and emission helpers for x402 operations.
All events emitted by this library use the [:x402, module, operation] format
and include %{count: 1} as measurements.
Emitted events:
[:x402, :payment_required, :encode][:x402, :payment_required, :decode][:x402, :payment_signature, :decode][:x402, :payment_signature, :validate][:x402, :payment_signature, :decode_and_validate][:x402, :payment_response, :encode][:x402, :payment_response, :decode][:x402, :client, :select][:x402, :client, :sign][:x402, :client, :build][:x402, :client, :request][:x402, :rpc, :request][:x402, :verify, :evm][:x402, :verify, :svm][:x402, :facilitator_engine, :verify][:x402, :facilitator_engine, :settle]
Metadata always includes :status (:ok or :error) and may include
additional operation-specific fields such as :reason, :header, or
:fields.
Summary
Functions
Emits an x402 telemetry event.
Returns the telemetry event name for a module and operation.
Types
@type module_name() ::
:payment_required
| :payment_signature
| :payment_response
| :client
| :rpc
| :verify
| :facilitator_engine
@type operation() ::
:encode
| :decode
| :validate
| :decode_and_validate
| :select
| :sign
| :build
| :request
| :evm
| :svm
| :verify
| :settle
@type status() :: :ok | :error
Functions
@spec emit(module_name(), operation(), status(), map()) :: :ok
Emits an x402 telemetry event.
Examples
iex> X402.Telemetry.emit(:payment_required, :encode, :ok, %{header: "PAYMENT-REQUIRED"})
:ok
@spec event_name(module_name(), operation()) :: [atom()]
Returns the telemetry event name for a module and operation.
Examples
iex> X402.Telemetry.event_name(:payment_required, :encode)
[:x402, :payment_required, :encode]