Skip to content

Sync indexer proto: GetVtxoChain/GetVirtualTxs auth fields (arkd#904) #201

@arkanaai

Description

@arkanaai

Context

arkd#904 merged (aff0d89679) adding indexer exposure and auth to GetVtxoChain and GetVirtualTxs.

Proto changes in arkd

ark/v1/indexer.proto now has:

message IndexerIntent {
  string proof = 1;
  string message = 2;
}

message GetVtxoChainRequest {
  // ... existing fields ...
  oneof auth {
    IndexerIntent intent = 3;
    string token = 4;
  }
}

message GetVtxoChainResponse {
  // ... existing fields ...
  string auth_token = 3;
}

message GetVirtualTxsRequest {
  // ... existing fields ...
  oneof auth {
    IndexerIntent intent = 3;
    string token = 4;
  }
}

message GetVirtualTxsResponse {
  // ... existing fields ...
  string auth_token = 3;
}

What needs updating in rust-sdk

  1. ark-grpc/proto/ark/v1/indexer.proto — sync from arkd
  2. ark-grpc/src/generated/ark.v1.rs — regenerate from updated proto
  3. ark-rest/docs/GetVtxoChainRequest.md — update REST docs
  4. ark-rest/docs/IndexerServiceApi.md — update REST docs
  5. ark-rest/src/apis/indexer_service_api.rs — add intent_proof, intent_message, token query params; surface auth_token from responses

Behavioral notes

  • Changes are additive — existing calls without auth fields still work (default exposure is public)
  • When arkd is configured with INDEXER_EXPOSURE=withheld or INDEXER_EXPOSURE=private, callers must provide an intent or valid token
  • Tokens from GetVtxoChain can be recycled for GetVirtualTxs and vice versa

Reference

[from: cross-repo-impact agent, 2026-04-02]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions