@uniswap/client-liquidity 1.4.4 → 1.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
2
- import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
2
+ import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsBalanceRequest, GetWalletPositionsBalanceResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
3
3
  /**
4
4
  * @generated from rpc uniswap.liquidity.v2.LiquidityService.MigrateV2ToV3LPPosition
5
5
  */
@@ -210,3 +210,17 @@ export declare const getWalletPositions: {
210
210
  readonly typeName: "uniswap.liquidity.v2.LiquidityService";
211
211
  };
212
212
  };
213
+ /**
214
+ * @generated from rpc uniswap.liquidity.v2.LiquidityService.GetWalletPositionsBalance
215
+ */
216
+ export declare const getWalletPositionsBalance: {
217
+ readonly localName: "getWalletPositionsBalance";
218
+ readonly name: "GetWalletPositionsBalance";
219
+ readonly kind: MethodKind.Unary;
220
+ readonly I: typeof GetWalletPositionsBalanceRequest;
221
+ readonly O: typeof GetWalletPositionsBalanceResponse;
222
+ readonly idempotency: MethodIdempotency.NoSideEffects;
223
+ readonly service: {
224
+ readonly typeName: "uniswap.liquidity.v2.LiquidityService";
225
+ };
226
+ };
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
6
- import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
6
+ import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsBalanceRequest, GetWalletPositionsBalanceResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
7
7
  /**
8
8
  * @generated from rpc uniswap.liquidity.v2.LiquidityService.MigrateV2ToV3LPPosition
9
9
  */
@@ -214,3 +214,17 @@ export const getWalletPositions = {
214
214
  typeName: "uniswap.liquidity.v2.LiquidityService"
215
215
  }
216
216
  };
217
+ /**
218
+ * @generated from rpc uniswap.liquidity.v2.LiquidityService.GetWalletPositionsBalance
219
+ */
220
+ export const getWalletPositionsBalance = {
221
+ localName: "getWalletPositionsBalance",
222
+ name: "GetWalletPositionsBalance",
223
+ kind: MethodKind.Unary,
224
+ I: GetWalletPositionsBalanceRequest,
225
+ O: GetWalletPositionsBalanceResponse,
226
+ idempotency: MethodIdempotency.NoSideEffects,
227
+ service: {
228
+ typeName: "uniswap.liquidity.v2.LiquidityService"
229
+ }
230
+ };
@@ -1,4 +1,4 @@
1
- import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
1
+ import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsBalanceRequest, GetWalletPositionsBalanceResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
2
2
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
3
3
  /**
4
4
  * @generated from service uniswap.liquidity.v2.LiquidityService
@@ -156,5 +156,15 @@ export declare const LiquidityService: {
156
156
  readonly kind: MethodKind.Unary;
157
157
  readonly idempotency: MethodIdempotency.NoSideEffects;
158
158
  };
159
+ /**
160
+ * @generated from rpc uniswap.liquidity.v2.LiquidityService.GetWalletPositionsBalance
161
+ */
162
+ readonly getWalletPositionsBalance: {
163
+ readonly name: "GetWalletPositionsBalance";
164
+ readonly I: typeof GetWalletPositionsBalanceRequest;
165
+ readonly O: typeof GetWalletPositionsBalanceResponse;
166
+ readonly kind: MethodKind.Unary;
167
+ readonly idempotency: MethodIdempotency.NoSideEffects;
168
+ };
159
169
  };
160
170
  };
@@ -2,7 +2,7 @@
2
2
  // @generated from file uniswap/liquidity/v2/api.proto (package uniswap.liquidity.v2, syntax proto3)
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
- import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
5
+ import { ClaimFeesRequest, ClaimFeesResponse, CreateClassicPositionRequest, CreateClassicPositionResponse, CreatePositionRequest, CreatePositionResponse, DecreasePositionRequest, DecreasePositionResponse, GetPoolHistoryPriceRequest, GetPoolHistoryPriceResponse, GetPoolHistoryVolumeRequest, GetPoolHistoryVolumeResponse, GetPoolRequest, GetPoolResponse, GetPoolTicksRequest, GetPoolTicksResponse, GetPositionRequest, GetPositionResponse, GetWalletPositionsBalanceRequest, GetWalletPositionsBalanceResponse, GetWalletPositionsRequest, GetWalletPositionsResponse, HookListRequest, HookListResponse, IncreasePositionRequest, IncreasePositionResponse, ListPoolsRequest, ListPoolsResponse, LPApprovalRequest, LPApprovalResponse, MigrateV2ToV3LPPositionRequest, MigrateV2ToV3LPPositionResponse } from "./api_pb.js";
6
6
  import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf";
7
7
  /**
8
8
  * @generated from service uniswap.liquidity.v2.LiquidityService
@@ -160,5 +160,15 @@ export const LiquidityService = {
160
160
  kind: MethodKind.Unary,
161
161
  idempotency: MethodIdempotency.NoSideEffects,
162
162
  },
163
+ /**
164
+ * @generated from rpc uniswap.liquidity.v2.LiquidityService.GetWalletPositionsBalance
165
+ */
166
+ getWalletPositionsBalance: {
167
+ name: "GetWalletPositionsBalance",
168
+ I: GetWalletPositionsBalanceRequest,
169
+ O: GetWalletPositionsBalanceResponse,
170
+ kind: MethodKind.Unary,
171
+ idempotency: MethodIdempotency.NoSideEffects,
172
+ },
163
173
  }
164
174
  };
@@ -1,7 +1,7 @@
1
1
  import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
2
  import { Message, proto3 } from "@bufbuild/protobuf";
3
3
  import { ChainId, NFTPermitData, PermitBatchData, Protocols, TransactionRequest, V3Position } from "../v1/types_pb.js";
4
- import { ApprovalTransactionRequest, CreatePoolParameters, CreatePositionExistingPoolParameters, CreateToken, GasUrgency, HistoryDuration, HookEntry, LPAction, LPToken, PoolListCursor, PoolPricePoint, PoolReference, PoolSortBy, PoolSummary, PoolTick, PoolVolumeBucket, Position, PositionListCursor, PositionPriceBounds, PositionStatus, PositionTickBounds, V2PoolParameters } from "./types_pb.js";
4
+ import { ApprovalTransactionRequest, CreatePoolParameters, CreatePositionExistingPoolParameters, CreateToken, GasUrgency, HistoryDuration, HookEntry, LPAction, LPToken, PoolListCursor, PoolPricePoint, PoolReference, PoolSortBy, PoolSummary, PoolTick, PoolVolumeBucket, Position, PositionListCursor, PositionModifier, PositionPriceBounds, PositionStatus, PositionTickBounds, RangeStatus, V2PoolParameters } from "./types_pb.js";
5
5
  /**
6
6
  * MigrateV2ToV3LPPosition
7
7
  *
@@ -1118,7 +1118,9 @@ export declare class GetWalletPositionsRequest extends Message<GetWalletPosition
1118
1118
  */
1119
1119
  walletAddress: string;
1120
1120
  /**
1121
- * Empty = all chains with positions data.
1121
+ * Required, non-empty: clients must be explicit about which chains they want
1122
+ * positions for. There is deliberately no "all chains" default — an implicit
1123
+ * set silently drifts as new chains are added.
1122
1124
  *
1123
1125
  * @generated from field: repeated uniswap.liquidity.v1.ChainId chain_ids = 2;
1124
1126
  */
@@ -1140,11 +1142,28 @@ export declare class GetWalletPositionsRequest extends Message<GetWalletPosition
1140
1142
  */
1141
1143
  cursor?: PositionListCursor;
1142
1144
  /**
1143
- * Empty = all statuses (open and closed) the behavior before this field.
1145
+ * Lifecycle filter. Empty = both OPEN and CLOSED. Values union. Spam is not a
1146
+ * status — control it via `modifier` (see PositionModifier).
1144
1147
  *
1145
1148
  * @generated from field: repeated uniswap.liquidity.v2.PositionStatus statuses = 6;
1146
1149
  */
1147
1150
  statuses: PositionStatus[];
1151
+ /**
1152
+ * Include/exclude overrides and spam visibility. Absent = spam-flagged pools
1153
+ * are hidden and no per-pool overrides apply.
1154
+ *
1155
+ * @generated from field: optional uniswap.liquidity.v2.PositionModifier modifier = 7;
1156
+ */
1157
+ modifier?: PositionModifier;
1158
+ /**
1159
+ * In/out-of-range filter over open concentrated (V3/V4) positions. Empty = no
1160
+ * range filter. Values union. Composes with `statuses` and `modifier`: e.g.
1161
+ * statuses=[OPEN] + range_statuses=[IN_RANGE] returns open, in-range,
1162
+ * non-spam positions. V2 matches no range bucket.
1163
+ *
1164
+ * @generated from field: repeated uniswap.liquidity.v2.RangeStatus range_statuses = 8;
1165
+ */
1166
+ rangeStatuses: RangeStatus[];
1148
1167
  constructor(data?: PartialMessage<GetWalletPositionsRequest>);
1149
1168
  static readonly runtime: typeof proto3;
1150
1169
  static readonly typeName = "uniswap.liquidity.v2.GetWalletPositionsRequest";
@@ -1175,3 +1194,74 @@ export declare class GetWalletPositionsResponse extends Message<GetWalletPositio
1175
1194
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetWalletPositionsResponse;
1176
1195
  static equals(a: GetWalletPositionsResponse | PlainMessage<GetWalletPositionsResponse> | undefined, b: GetWalletPositionsResponse | PlainMessage<GetWalletPositionsResponse> | undefined): boolean;
1177
1196
  }
1197
+ /**
1198
+ * GetWalletPositionsBalance — aggregate USD value of a wallet's LP positions
1199
+ * across the given chains, filtered by the same modifier as GetWalletPositions.
1200
+ *
1201
+ * @generated from message uniswap.liquidity.v2.GetWalletPositionsBalanceRequest
1202
+ */
1203
+ export declare class GetWalletPositionsBalanceRequest extends Message<GetWalletPositionsBalanceRequest> {
1204
+ /**
1205
+ * @generated from field: string wallet_address = 1;
1206
+ */
1207
+ walletAddress: string;
1208
+ /**
1209
+ * Required, non-empty: clients name the chains they want (no implicit "all
1210
+ * chains" default). Mirrors GetWalletPositions.
1211
+ *
1212
+ * @generated from field: repeated uniswap.liquidity.v1.ChainId chain_ids = 2;
1213
+ */
1214
+ chainIds: ChainId[];
1215
+ /**
1216
+ * Empty = all protocol versions.
1217
+ *
1218
+ * @generated from field: repeated uniswap.liquidity.v1.Protocols versions = 3;
1219
+ */
1220
+ versions: Protocols[];
1221
+ /**
1222
+ * Include/exclude overrides and spam visibility. Absent = spam-flagged pools
1223
+ * are hidden and no per-pool overrides apply.
1224
+ *
1225
+ * @generated from field: optional uniswap.liquidity.v2.PositionModifier modifier = 4;
1226
+ */
1227
+ modifier?: PositionModifier;
1228
+ constructor(data?: PartialMessage<GetWalletPositionsBalanceRequest>);
1229
+ static readonly runtime: typeof proto3;
1230
+ static readonly typeName = "uniswap.liquidity.v2.GetWalletPositionsBalanceRequest";
1231
+ static readonly fields: FieldList;
1232
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetWalletPositionsBalanceRequest;
1233
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetWalletPositionsBalanceRequest;
1234
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetWalletPositionsBalanceRequest;
1235
+ static equals(a: GetWalletPositionsBalanceRequest | PlainMessage<GetWalletPositionsBalanceRequest> | undefined, b: GetWalletPositionsBalanceRequest | PlainMessage<GetWalletPositionsBalanceRequest> | undefined): boolean;
1236
+ }
1237
+ /**
1238
+ * @generated from message uniswap.liquidity.v2.GetWalletPositionsBalanceResponse
1239
+ */
1240
+ export declare class GetWalletPositionsBalanceResponse extends Message<GetWalletPositionsBalanceResponse> {
1241
+ /**
1242
+ * Sum of position principal value across all matched positions.
1243
+ *
1244
+ * @generated from field: double total_liquidity_usd = 1;
1245
+ */
1246
+ totalLiquidityUsd: number;
1247
+ /**
1248
+ * Uncollected fees, USD. Always 0 until the fees pipeline lands (TODO).
1249
+ *
1250
+ * @generated from field: double total_fees_usd = 2;
1251
+ */
1252
+ totalFeesUsd: number;
1253
+ /**
1254
+ * Unclaimed Merkl rewards, USD.
1255
+ *
1256
+ * @generated from field: double total_rewards_usd = 3;
1257
+ */
1258
+ totalRewardsUsd: number;
1259
+ constructor(data?: PartialMessage<GetWalletPositionsBalanceResponse>);
1260
+ static readonly runtime: typeof proto3;
1261
+ static readonly typeName = "uniswap.liquidity.v2.GetWalletPositionsBalanceResponse";
1262
+ static readonly fields: FieldList;
1263
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetWalletPositionsBalanceResponse;
1264
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetWalletPositionsBalanceResponse;
1265
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetWalletPositionsBalanceResponse;
1266
+ static equals(a: GetWalletPositionsBalanceResponse | PlainMessage<GetWalletPositionsBalanceResponse> | undefined, b: GetWalletPositionsBalanceResponse | PlainMessage<GetWalletPositionsBalanceResponse> | undefined): boolean;
1267
+ }
@@ -4,7 +4,7 @@
4
4
  // @ts-nocheck
5
5
  import { Message, proto3 } from "@bufbuild/protobuf";
6
6
  import { ChainId, NFTPermitData, PermitBatchData, Protocols, TransactionRequest, V3Position } from "../v1/types_pb.js";
7
- import { ApprovalTransactionRequest, CreatePoolParameters, CreatePositionExistingPoolParameters, CreateToken, GasUrgency, HistoryDuration, HookEntry, LPAction, LPToken, PoolListCursor, PoolPricePoint, PoolReference, PoolSortBy, PoolSummary, PoolTick, PoolVolumeBucket, Position, PositionListCursor, PositionPriceBounds, PositionStatus, PositionTickBounds, V2PoolParameters } from "./types_pb.js";
7
+ import { ApprovalTransactionRequest, CreatePoolParameters, CreatePositionExistingPoolParameters, CreateToken, GasUrgency, HistoryDuration, HookEntry, LPAction, LPToken, PoolListCursor, PoolPricePoint, PoolReference, PoolSortBy, PoolSummary, PoolTick, PoolVolumeBucket, Position, PositionListCursor, PositionModifier, PositionPriceBounds, PositionStatus, PositionTickBounds, RangeStatus, V2PoolParameters } from "./types_pb.js";
8
8
  /**
9
9
  * MigrateV2ToV3LPPosition
10
10
  *
@@ -1168,7 +1168,9 @@ export class GetWalletPositionsRequest extends Message {
1168
1168
  */
1169
1169
  this.walletAddress = "";
1170
1170
  /**
1171
- * Empty = all chains with positions data.
1171
+ * Required, non-empty: clients must be explicit about which chains they want
1172
+ * positions for. There is deliberately no "all chains" default — an implicit
1173
+ * set silently drifts as new chains are added.
1172
1174
  *
1173
1175
  * @generated from field: repeated uniswap.liquidity.v1.ChainId chain_ids = 2;
1174
1176
  */
@@ -1180,11 +1182,21 @@ export class GetWalletPositionsRequest extends Message {
1180
1182
  */
1181
1183
  this.versions = [];
1182
1184
  /**
1183
- * Empty = all statuses (open and closed) the behavior before this field.
1185
+ * Lifecycle filter. Empty = both OPEN and CLOSED. Values union. Spam is not a
1186
+ * status — control it via `modifier` (see PositionModifier).
1184
1187
  *
1185
1188
  * @generated from field: repeated uniswap.liquidity.v2.PositionStatus statuses = 6;
1186
1189
  */
1187
1190
  this.statuses = [];
1191
+ /**
1192
+ * In/out-of-range filter over open concentrated (V3/V4) positions. Empty = no
1193
+ * range filter. Values union. Composes with `statuses` and `modifier`: e.g.
1194
+ * statuses=[OPEN] + range_statuses=[IN_RANGE] returns open, in-range,
1195
+ * non-spam positions. V2 matches no range bucket.
1196
+ *
1197
+ * @generated from field: repeated uniswap.liquidity.v2.RangeStatus range_statuses = 8;
1198
+ */
1199
+ this.rangeStatuses = [];
1188
1200
  proto3.util.initPartial(data, this);
1189
1201
  }
1190
1202
  static fromBinary(bytes, options) {
@@ -1209,6 +1221,8 @@ GetWalletPositionsRequest.fields = proto3.util.newFieldList(() => [
1209
1221
  { no: 4, name: "limit", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
1210
1222
  { no: 5, name: "cursor", kind: "message", T: PositionListCursor, opt: true },
1211
1223
  { no: 6, name: "statuses", kind: "enum", T: proto3.getEnumType(PositionStatus), repeated: true },
1224
+ { no: 7, name: "modifier", kind: "message", T: PositionModifier, opt: true },
1225
+ { no: 8, name: "range_statuses", kind: "enum", T: proto3.getEnumType(RangeStatus), repeated: true },
1212
1226
  ]);
1213
1227
  /**
1214
1228
  * @generated from message uniswap.liquidity.v2.GetWalletPositionsResponse
@@ -1241,3 +1255,98 @@ GetWalletPositionsResponse.fields = proto3.util.newFieldList(() => [
1241
1255
  { no: 1, name: "positions", kind: "message", T: Position, repeated: true },
1242
1256
  { no: 2, name: "next_cursor", kind: "message", T: PositionListCursor, opt: true },
1243
1257
  ]);
1258
+ /**
1259
+ * GetWalletPositionsBalance — aggregate USD value of a wallet's LP positions
1260
+ * across the given chains, filtered by the same modifier as GetWalletPositions.
1261
+ *
1262
+ * @generated from message uniswap.liquidity.v2.GetWalletPositionsBalanceRequest
1263
+ */
1264
+ export class GetWalletPositionsBalanceRequest extends Message {
1265
+ constructor(data) {
1266
+ super();
1267
+ /**
1268
+ * @generated from field: string wallet_address = 1;
1269
+ */
1270
+ this.walletAddress = "";
1271
+ /**
1272
+ * Required, non-empty: clients name the chains they want (no implicit "all
1273
+ * chains" default). Mirrors GetWalletPositions.
1274
+ *
1275
+ * @generated from field: repeated uniswap.liquidity.v1.ChainId chain_ids = 2;
1276
+ */
1277
+ this.chainIds = [];
1278
+ /**
1279
+ * Empty = all protocol versions.
1280
+ *
1281
+ * @generated from field: repeated uniswap.liquidity.v1.Protocols versions = 3;
1282
+ */
1283
+ this.versions = [];
1284
+ proto3.util.initPartial(data, this);
1285
+ }
1286
+ static fromBinary(bytes, options) {
1287
+ return new GetWalletPositionsBalanceRequest().fromBinary(bytes, options);
1288
+ }
1289
+ static fromJson(jsonValue, options) {
1290
+ return new GetWalletPositionsBalanceRequest().fromJson(jsonValue, options);
1291
+ }
1292
+ static fromJsonString(jsonString, options) {
1293
+ return new GetWalletPositionsBalanceRequest().fromJsonString(jsonString, options);
1294
+ }
1295
+ static equals(a, b) {
1296
+ return proto3.util.equals(GetWalletPositionsBalanceRequest, a, b);
1297
+ }
1298
+ }
1299
+ GetWalletPositionsBalanceRequest.runtime = proto3;
1300
+ GetWalletPositionsBalanceRequest.typeName = "uniswap.liquidity.v2.GetWalletPositionsBalanceRequest";
1301
+ GetWalletPositionsBalanceRequest.fields = proto3.util.newFieldList(() => [
1302
+ { no: 1, name: "wallet_address", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1303
+ { no: 2, name: "chain_ids", kind: "enum", T: proto3.getEnumType(ChainId), repeated: true },
1304
+ { no: 3, name: "versions", kind: "enum", T: proto3.getEnumType(Protocols), repeated: true },
1305
+ { no: 4, name: "modifier", kind: "message", T: PositionModifier, opt: true },
1306
+ ]);
1307
+ /**
1308
+ * @generated from message uniswap.liquidity.v2.GetWalletPositionsBalanceResponse
1309
+ */
1310
+ export class GetWalletPositionsBalanceResponse extends Message {
1311
+ constructor(data) {
1312
+ super();
1313
+ /**
1314
+ * Sum of position principal value across all matched positions.
1315
+ *
1316
+ * @generated from field: double total_liquidity_usd = 1;
1317
+ */
1318
+ this.totalLiquidityUsd = 0;
1319
+ /**
1320
+ * Uncollected fees, USD. Always 0 until the fees pipeline lands (TODO).
1321
+ *
1322
+ * @generated from field: double total_fees_usd = 2;
1323
+ */
1324
+ this.totalFeesUsd = 0;
1325
+ /**
1326
+ * Unclaimed Merkl rewards, USD.
1327
+ *
1328
+ * @generated from field: double total_rewards_usd = 3;
1329
+ */
1330
+ this.totalRewardsUsd = 0;
1331
+ proto3.util.initPartial(data, this);
1332
+ }
1333
+ static fromBinary(bytes, options) {
1334
+ return new GetWalletPositionsBalanceResponse().fromBinary(bytes, options);
1335
+ }
1336
+ static fromJson(jsonValue, options) {
1337
+ return new GetWalletPositionsBalanceResponse().fromJson(jsonValue, options);
1338
+ }
1339
+ static fromJsonString(jsonString, options) {
1340
+ return new GetWalletPositionsBalanceResponse().fromJsonString(jsonString, options);
1341
+ }
1342
+ static equals(a, b) {
1343
+ return proto3.util.equals(GetWalletPositionsBalanceResponse, a, b);
1344
+ }
1345
+ }
1346
+ GetWalletPositionsBalanceResponse.runtime = proto3;
1347
+ GetWalletPositionsBalanceResponse.typeName = "uniswap.liquidity.v2.GetWalletPositionsBalanceResponse";
1348
+ GetWalletPositionsBalanceResponse.fields = proto3.util.newFieldList(() => [
1349
+ { no: 1, name: "total_liquidity_usd", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1350
+ { no: 2, name: "total_fees_usd", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1351
+ { no: 3, name: "total_rewards_usd", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1352
+ ]);
@@ -143,7 +143,47 @@ export declare enum PositionStatus {
143
143
  /**
144
144
  * @generated from enum value: POSITION_STATUS_CLOSED = 2;
145
145
  */
146
- CLOSED = 2
146
+ CLOSED = 2,
147
+ /**
148
+ * A position whose pool has a spam/unsafe token (canonical safety verdict not
149
+ * BENIGN; native tokens always clean). Spam visibility is controlled by
150
+ * PositionModifier (include_spam_tokens + the per-pool overrides), not by the
151
+ * statuses filter, which carries lifecycle (OPEN/CLOSED) only.
152
+ *
153
+ * @generated from enum value: POSITION_STATUS_HIDDEN = 3;
154
+ */
155
+ HIDDEN = 3
156
+ }
157
+ /**
158
+ * In/out-of-range classification of an open concentrated (V3/V4) position,
159
+ * derived from the pool's current tick. This is a filter dimension separate
160
+ * from PositionStatus (lifecycle) and PositionModifier (spam visibility): a
161
+ * caller can ask for OPEN positions that are additionally IN_RANGE. V2 is
162
+ * full-range with no ticks, so it matches neither bucket.
163
+ *
164
+ * @generated from enum uniswap.liquidity.v2.RangeStatus
165
+ */
166
+ export declare enum RangeStatus {
167
+ /**
168
+ * @generated from enum value: RANGE_STATUS_UNSPECIFIED = 0;
169
+ */
170
+ UNSPECIFIED = 0,
171
+ /**
172
+ * An open concentrated position (V3/V4) whose pool has a current state row
173
+ * with tick within [tick_lower, tick_upper).
174
+ *
175
+ * @generated from enum value: RANGE_STATUS_IN_RANGE = 1;
176
+ */
177
+ IN_RANGE = 1,
178
+ /**
179
+ * An open concentrated position (V3/V4) that is not IN_RANGE: the pool's
180
+ * current tick is outside [tick_lower, tick_upper), OR the pool has no state
181
+ * row yet (so a position is never dropped from both IN_RANGE and
182
+ * OUT_OF_RANGE while its pool awaits its first state event).
183
+ *
184
+ * @generated from enum value: RANGE_STATUS_OUT_OF_RANGE = 2;
185
+ */
186
+ OUT_OF_RANGE = 2
147
187
  }
148
188
  /**
149
189
  * @generated from message uniswap.liquidity.v2.LPToken
@@ -774,6 +814,77 @@ export declare class PoolVolumeBucket extends Message<PoolVolumeBucket> {
774
814
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PoolVolumeBucket;
775
815
  static equals(a: PoolVolumeBucket | PlainMessage<PoolVolumeBucket> | undefined, b: PoolVolumeBucket | PlainMessage<PoolVolumeBucket> | undefined): boolean;
776
816
  }
817
+ /**
818
+ * A pool (optionally a specific position within it), used by PositionModifier
819
+ * overrides. Mirrors data.v1.PoolRef; duplicated because shared data-api protos
820
+ * are not importable from this package (see HistoryDuration above).
821
+ *
822
+ * @generated from message uniswap.liquidity.v2.PoolRef
823
+ */
824
+ export declare class PoolRef extends Message<PoolRef> {
825
+ /**
826
+ * @generated from field: uniswap.liquidity.v1.ChainId chain_id = 1;
827
+ */
828
+ chainId: ChainId;
829
+ /**
830
+ * V2 pair address, V3 pool address, or V4 pool id (0x + 64 hex).
831
+ *
832
+ * @generated from field: string pool_id = 2;
833
+ */
834
+ poolId: string;
835
+ /**
836
+ * Optional V3/V4 NFT token id, to target a single position rather than every
837
+ * position in the pool.
838
+ *
839
+ * @generated from field: optional string position_id = 3;
840
+ */
841
+ positionId?: string;
842
+ constructor(data?: PartialMessage<PoolRef>);
843
+ static readonly runtime: typeof proto3;
844
+ static readonly typeName = "uniswap.liquidity.v2.PoolRef";
845
+ static readonly fields: FieldList;
846
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): PoolRef;
847
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): PoolRef;
848
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PoolRef;
849
+ static equals(a: PoolRef | PlainMessage<PoolRef> | undefined, b: PoolRef | PlainMessage<PoolRef> | undefined): boolean;
850
+ }
851
+ /**
852
+ * Client-supplied filter over a wallet's positions, mirroring the position
853
+ * subset of data.v1.PortfolioValueModifier. The client can override the backend
854
+ * spam verdict: include_spam_tokens reveals spam-flagged pools, and the per-pool
855
+ * override lists force a specific pool shown/hidden regardless of the verdict.
856
+ * Applied by GetWalletPositions and GetWalletPositionsBalance.
857
+ *
858
+ * @generated from message uniswap.liquidity.v2.PositionModifier
859
+ */
860
+ export declare class PositionModifier extends Message<PositionModifier> {
861
+ /**
862
+ * Always show these, even if the backend flags the pool as spam.
863
+ *
864
+ * @generated from field: repeated uniswap.liquidity.v2.PoolRef pool_include_overrides = 1;
865
+ */
866
+ poolIncludeOverrides: PoolRef[];
867
+ /**
868
+ * Always hide these, even if the pool is benign.
869
+ *
870
+ * @generated from field: repeated uniswap.liquidity.v2.PoolRef pool_exclude_overrides = 2;
871
+ */
872
+ poolExcludeOverrides: PoolRef[];
873
+ /**
874
+ * When true, spam-flagged pools are included. Default false hides them.
875
+ *
876
+ * @generated from field: bool include_spam_tokens = 3;
877
+ */
878
+ includeSpamTokens: boolean;
879
+ constructor(data?: PartialMessage<PositionModifier>);
880
+ static readonly runtime: typeof proto3;
881
+ static readonly typeName = "uniswap.liquidity.v2.PositionModifier";
882
+ static readonly fields: FieldList;
883
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): PositionModifier;
884
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): PositionModifier;
885
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PositionModifier;
886
+ static equals(a: PositionModifier | PlainMessage<PositionModifier> | undefined, b: PositionModifier | PlainMessage<PositionModifier> | undefined): boolean;
887
+ }
777
888
  /**
778
889
  * One LP position, as indexed from chain events (raw position state).
779
890
  * Token amounts, uncollected fees, in-range and USD valuation land with the
@@ -190,12 +190,60 @@ export var PositionStatus;
190
190
  * @generated from enum value: POSITION_STATUS_CLOSED = 2;
191
191
  */
192
192
  PositionStatus[PositionStatus["CLOSED"] = 2] = "CLOSED";
193
+ /**
194
+ * A position whose pool has a spam/unsafe token (canonical safety verdict not
195
+ * BENIGN; native tokens always clean). Spam visibility is controlled by
196
+ * PositionModifier (include_spam_tokens + the per-pool overrides), not by the
197
+ * statuses filter, which carries lifecycle (OPEN/CLOSED) only.
198
+ *
199
+ * @generated from enum value: POSITION_STATUS_HIDDEN = 3;
200
+ */
201
+ PositionStatus[PositionStatus["HIDDEN"] = 3] = "HIDDEN";
193
202
  })(PositionStatus || (PositionStatus = {}));
194
203
  // Retrieve enum metadata with: proto3.getEnumType(PositionStatus)
195
204
  proto3.util.setEnumType(PositionStatus, "uniswap.liquidity.v2.PositionStatus", [
196
205
  { no: 0, name: "POSITION_STATUS_UNSPECIFIED" },
197
206
  { no: 1, name: "POSITION_STATUS_OPEN" },
198
207
  { no: 2, name: "POSITION_STATUS_CLOSED" },
208
+ { no: 3, name: "POSITION_STATUS_HIDDEN" },
209
+ ]);
210
+ /**
211
+ * In/out-of-range classification of an open concentrated (V3/V4) position,
212
+ * derived from the pool's current tick. This is a filter dimension separate
213
+ * from PositionStatus (lifecycle) and PositionModifier (spam visibility): a
214
+ * caller can ask for OPEN positions that are additionally IN_RANGE. V2 is
215
+ * full-range with no ticks, so it matches neither bucket.
216
+ *
217
+ * @generated from enum uniswap.liquidity.v2.RangeStatus
218
+ */
219
+ export var RangeStatus;
220
+ (function (RangeStatus) {
221
+ /**
222
+ * @generated from enum value: RANGE_STATUS_UNSPECIFIED = 0;
223
+ */
224
+ RangeStatus[RangeStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
225
+ /**
226
+ * An open concentrated position (V3/V4) whose pool has a current state row
227
+ * with tick within [tick_lower, tick_upper).
228
+ *
229
+ * @generated from enum value: RANGE_STATUS_IN_RANGE = 1;
230
+ */
231
+ RangeStatus[RangeStatus["IN_RANGE"] = 1] = "IN_RANGE";
232
+ /**
233
+ * An open concentrated position (V3/V4) that is not IN_RANGE: the pool's
234
+ * current tick is outside [tick_lower, tick_upper), OR the pool has no state
235
+ * row yet (so a position is never dropped from both IN_RANGE and
236
+ * OUT_OF_RANGE while its pool awaits its first state event).
237
+ *
238
+ * @generated from enum value: RANGE_STATUS_OUT_OF_RANGE = 2;
239
+ */
240
+ RangeStatus[RangeStatus["OUT_OF_RANGE"] = 2] = "OUT_OF_RANGE";
241
+ })(RangeStatus || (RangeStatus = {}));
242
+ // Retrieve enum metadata with: proto3.getEnumType(RangeStatus)
243
+ proto3.util.setEnumType(RangeStatus, "uniswap.liquidity.v2.RangeStatus", [
244
+ { no: 0, name: "RANGE_STATUS_UNSPECIFIED" },
245
+ { no: 1, name: "RANGE_STATUS_IN_RANGE" },
246
+ { no: 2, name: "RANGE_STATUS_OUT_OF_RANGE" },
199
247
  ]);
200
248
  /**
201
249
  * @generated from message uniswap.liquidity.v2.LPToken
@@ -1045,6 +1093,100 @@ PoolVolumeBucket.fields = proto3.util.newFieldList(() => [
1045
1093
  { no: 2, name: "volume_usd", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1046
1094
  { no: 3, name: "fee_usd", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1047
1095
  ]);
1096
+ /**
1097
+ * A pool (optionally a specific position within it), used by PositionModifier
1098
+ * overrides. Mirrors data.v1.PoolRef; duplicated because shared data-api protos
1099
+ * are not importable from this package (see HistoryDuration above).
1100
+ *
1101
+ * @generated from message uniswap.liquidity.v2.PoolRef
1102
+ */
1103
+ export class PoolRef extends Message {
1104
+ constructor(data) {
1105
+ super();
1106
+ /**
1107
+ * @generated from field: uniswap.liquidity.v1.ChainId chain_id = 1;
1108
+ */
1109
+ this.chainId = ChainId.CHAIN_ID_UNSPECIFIED;
1110
+ /**
1111
+ * V2 pair address, V3 pool address, or V4 pool id (0x + 64 hex).
1112
+ *
1113
+ * @generated from field: string pool_id = 2;
1114
+ */
1115
+ this.poolId = "";
1116
+ proto3.util.initPartial(data, this);
1117
+ }
1118
+ static fromBinary(bytes, options) {
1119
+ return new PoolRef().fromBinary(bytes, options);
1120
+ }
1121
+ static fromJson(jsonValue, options) {
1122
+ return new PoolRef().fromJson(jsonValue, options);
1123
+ }
1124
+ static fromJsonString(jsonString, options) {
1125
+ return new PoolRef().fromJsonString(jsonString, options);
1126
+ }
1127
+ static equals(a, b) {
1128
+ return proto3.util.equals(PoolRef, a, b);
1129
+ }
1130
+ }
1131
+ PoolRef.runtime = proto3;
1132
+ PoolRef.typeName = "uniswap.liquidity.v2.PoolRef";
1133
+ PoolRef.fields = proto3.util.newFieldList(() => [
1134
+ { no: 1, name: "chain_id", kind: "enum", T: proto3.getEnumType(ChainId) },
1135
+ { no: 2, name: "pool_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1136
+ { no: 3, name: "position_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1137
+ ]);
1138
+ /**
1139
+ * Client-supplied filter over a wallet's positions, mirroring the position
1140
+ * subset of data.v1.PortfolioValueModifier. The client can override the backend
1141
+ * spam verdict: include_spam_tokens reveals spam-flagged pools, and the per-pool
1142
+ * override lists force a specific pool shown/hidden regardless of the verdict.
1143
+ * Applied by GetWalletPositions and GetWalletPositionsBalance.
1144
+ *
1145
+ * @generated from message uniswap.liquidity.v2.PositionModifier
1146
+ */
1147
+ export class PositionModifier extends Message {
1148
+ constructor(data) {
1149
+ super();
1150
+ /**
1151
+ * Always show these, even if the backend flags the pool as spam.
1152
+ *
1153
+ * @generated from field: repeated uniswap.liquidity.v2.PoolRef pool_include_overrides = 1;
1154
+ */
1155
+ this.poolIncludeOverrides = [];
1156
+ /**
1157
+ * Always hide these, even if the pool is benign.
1158
+ *
1159
+ * @generated from field: repeated uniswap.liquidity.v2.PoolRef pool_exclude_overrides = 2;
1160
+ */
1161
+ this.poolExcludeOverrides = [];
1162
+ /**
1163
+ * When true, spam-flagged pools are included. Default false hides them.
1164
+ *
1165
+ * @generated from field: bool include_spam_tokens = 3;
1166
+ */
1167
+ this.includeSpamTokens = false;
1168
+ proto3.util.initPartial(data, this);
1169
+ }
1170
+ static fromBinary(bytes, options) {
1171
+ return new PositionModifier().fromBinary(bytes, options);
1172
+ }
1173
+ static fromJson(jsonValue, options) {
1174
+ return new PositionModifier().fromJson(jsonValue, options);
1175
+ }
1176
+ static fromJsonString(jsonString, options) {
1177
+ return new PositionModifier().fromJsonString(jsonString, options);
1178
+ }
1179
+ static equals(a, b) {
1180
+ return proto3.util.equals(PositionModifier, a, b);
1181
+ }
1182
+ }
1183
+ PositionModifier.runtime = proto3;
1184
+ PositionModifier.typeName = "uniswap.liquidity.v2.PositionModifier";
1185
+ PositionModifier.fields = proto3.util.newFieldList(() => [
1186
+ { no: 1, name: "pool_include_overrides", kind: "message", T: PoolRef, repeated: true },
1187
+ { no: 2, name: "pool_exclude_overrides", kind: "message", T: PoolRef, repeated: true },
1188
+ { no: 3, name: "include_spam_tokens", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
1189
+ ]);
1048
1190
  /**
1049
1191
  * One LP position, as indexed from chain events (raw position state).
1050
1192
  * Token amounts, uncollected fees, in-range and USD valuation land with the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniswap/client-liquidity",
3
- "version": "1.4.4",
3
+ "version": "1.4.7",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },