syntax = "proto3";

package org.xrpl.rpc.v1;
option java_package = "org.xrpl.rpc.v1";
option java_multiple_files = true;

import "org/xrpl/rpc/v1/ledger.proto";

// Get the state map difference between the two specified ledgers
message GetLedgerDiffRequest {
  LedgerSpecifier base_ledger = 1;

  LedgerSpecifier desired_ledger = 2;

  // If true, include the full ledger object. If false, only keys are included.
  bool include_blobs = 3;

  // If the request needs to be forwarded from a reporting node to a p2p node,
  // the reporting node will set this field. Clients should not set this
  // field.
  string client_ip = 4;
}

message GetLedgerDiffResponse {
  // All ledger objects that were added, modified or deleted between
  // base_ledger and desired_ledger
  RawLedgerObjects ledger_objects = 1;
}
