@uniswap/client-data-api 0.0.179 → 0.0.183

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.
@@ -1627,9 +1627,49 @@ export declare class CreatorFeeTotals extends Message<CreatorFeeTotals> {
1627
1627
  * LP position), NOT per-beneficiary — whoever holds the vault NFT at
1628
1628
  * claim time receives it.
1629
1629
  *
1630
+ * SETTLED-ONLY. Fees reach the beneficiary vault only when somebody calls
1631
+ * the permissionless FeeSplitter.collectFees(tokenIds), so this
1632
+ * UNDERSTATES the creator's earnings by everything the launch's Uniswap
1633
+ * v4 position has accrued since the last collect. Its meaning is
1634
+ * unchanged and will not change — see claimable_including_uncollected for
1635
+ * the figure to show a creator as "your earnings".
1636
+ *
1630
1637
  * @generated from field: data.v2.LaunchCreatorFeeAmounts claimable = 3;
1631
1638
  */
1632
1639
  claimable?: LaunchCreatorFeeAmounts;
1640
+ /**
1641
+ * `claimable` PLUS the creator's share of the fees still sitting
1642
+ * uncollected in the launch's Uniswap v4 position: what a
1643
+ * collectFees + claim sent right now would actually pay out.
1644
+ *
1645
+ * Computed by simulating FeeSplitter.collectFees(tokenIds) against the
1646
+ * chain head (eth_simulateV1) and reading the beneficiary vault's
1647
+ * amounts(tokenId) inside that same simulated state — no transaction is
1648
+ * sent and no state is written. Aggregated across every LP position of
1649
+ * the launch, exactly like `claimable`.
1650
+ *
1651
+ * Always populated: when the simulation cannot run (RPC error, or a
1652
+ * collect that reverts) this degrades to the vault's settled on-chain
1653
+ * balance, and finally to `claimable` itself, so a creator sees a
1654
+ * slightly stale number rather than an error.
1655
+ *
1656
+ * Read claimable_includes_uncollected before deciding how to treat this.
1657
+ *
1658
+ * WHEN IT IS TRUE this is the post-collect figure: normally >=
1659
+ * `claimable`, but it comes from chain state rather than indexed events,
1660
+ * so it can also come in LOWER when the indexer is behind a claim that
1661
+ * already landed. It is the authoritative figure in that case — do not
1662
+ * max() the two.
1663
+ *
1664
+ * WHEN IT IS FALSE the collect could not be simulated and this degraded
1665
+ * to a settled balance (or to `claimable` itself). It then carries no
1666
+ * uncollected remainder and can only UNDERSTATE the creator's earnings,
1667
+ * so max() with `claimable` is the right defence and the number must not
1668
+ * be labelled "your earnings".
1669
+ *
1670
+ * @generated from field: data.v2.LaunchCreatorFeeAmounts claimable_including_uncollected = 4;
1671
+ */
1672
+ claimableIncludingUncollected?: LaunchCreatorFeeAmounts;
1633
1673
  constructor(data?: PartialMessage<CreatorFeeTotals>);
1634
1674
  static readonly runtime: typeof proto3;
1635
1675
  static readonly typeName = "data.v2.CreatorFeeTotals";
@@ -1688,11 +1728,13 @@ export declare class GetLaunchCreatorFeesResponse extends Message<GetLaunchCreat
1688
1728
  */
1689
1729
  positionTokenId?: string;
1690
1730
  /**
1691
- * Current beneficiary: the vault-NFT holder (EIP-55) of the
1692
- * position_token_id position, who may claim and re-point the fee stream
1693
- * by transferring the NFT. Unset when creator fees are off, while vault
1694
- * ingestion lags (for a CCA launch: until the creator's graffiti claim
1695
- * mints the vault NFT), or transiently mid re-registration (NFT burned).
1731
+ * Current beneficiary: the CREATOR'S WALLET (EIP-55) — the holder of the
1732
+ * beneficiary ERC721 for the position_token_id position, who may claim
1733
+ * and re-point the fee stream by transferring the NFT. This is NOT the
1734
+ * vault contract; that is beneficiary_vault. Unset when creator fees are
1735
+ * off, while vault ingestion lags (for a CCA launch: until the creator's
1736
+ * graffiti claim mints the vault NFT), or transiently mid re-registration
1737
+ * (NFT burned).
1696
1738
  *
1697
1739
  * @generated from field: optional string fee_beneficiary = 5;
1698
1740
  */
@@ -1708,6 +1750,50 @@ export declare class GetLaunchCreatorFeesResponse extends Message<GetLaunchCreat
1708
1750
  * @generated from field: int64 as_of_timestamp = 6;
1709
1751
  */
1710
1752
  asOfTimestamp: bigint;
1753
+ /**
1754
+ * The launch's own FeeSplitter (EIP-55) — the contract to send the
1755
+ * permissionless collectFees([position_token_id]) to, which sweeps the v4
1756
+ * position's fees into the beneficiary vault and is what makes
1757
+ * creator.claimable_including_uncollected actually claimable.
1758
+ *
1759
+ * PER LAUNCH, NOT A CHAIN CONSTANT: several FeeSplitter generations are
1760
+ * deployed and live on the same chain (Robinhood Chain runs two), and a
1761
+ * launch's fees only ever flow through the one its strategy was wired to.
1762
+ * Clients MUST call the address in this field — a hardcoded per-chain
1763
+ * splitter silently targets the wrong generation. Unset when the launch
1764
+ * has neither an indexed launch row nor a fee event yet.
1765
+ *
1766
+ * @generated from field: optional string fee_splitter = 7;
1767
+ */
1768
+ feeSplitter?: string;
1769
+ /**
1770
+ * The launch's own UERC20BeneficiaryVault (EIP-55) — the contract that
1771
+ * custodies the creator's share and that claim(position_token_id, 0, 0)
1772
+ * is sent to. Per launch for the same reason fee_splitter is. Unset until
1773
+ * the position's beneficiary NFT has been ingested.
1774
+ *
1775
+ * @generated from field: optional string beneficiary_vault = 8;
1776
+ */
1777
+ beneficiaryVault?: string;
1778
+ /**
1779
+ * False when the collect could not be simulated and
1780
+ * creator.claimable_including_uncollected is a settled balance (or the
1781
+ * event-derived claimable) rather than the post-collect figure. Clients
1782
+ * should not present it as "your earnings" when false.
1783
+ *
1784
+ * as_of_timestamp does NOT cover for this: that marker is computed from
1785
+ * indexed events only, so it reads perfectly fresh during an RPC outage
1786
+ * while the amount beside it has silently gone stale. This is the only
1787
+ * signal that distinguishes the two.
1788
+ *
1789
+ * `optional` is load-bearing. A bare proto3 bool reads as false when
1790
+ * absent, so a client built against <= 0.0.180 would see "degraded" on
1791
+ * every response; the presence bit separates "this server does not send
1792
+ * it" from "this response is degraded".
1793
+ *
1794
+ * @generated from field: optional bool claimable_includes_uncollected = 9;
1795
+ */
1796
+ claimableIncludesUncollected?: boolean;
1711
1797
  constructor(data?: PartialMessage<GetLaunchCreatorFeesResponse>);
1712
1798
  static readonly runtime: typeof proto3;
1713
1799
  static readonly typeName = "data.v2.GetLaunchCreatorFeesResponse";
@@ -2045,6 +2045,7 @@ CreatorFeeTotals.fields = proto3.util.newFieldList(() => [
2045
2045
  { no: 1, name: "accumulated", kind: "message", T: LaunchCreatorFeeAmounts },
2046
2046
  { no: 2, name: "claimed", kind: "message", T: LaunchCreatorFeeAmounts },
2047
2047
  { no: 3, name: "claimable", kind: "message", T: LaunchCreatorFeeAmounts },
2048
+ { no: 4, name: "claimable_including_uncollected", kind: "message", T: LaunchCreatorFeeAmounts },
2048
2049
  ]);
2049
2050
  /**
2050
2051
  * @generated from message data.v2.GetLaunchCreatorFeesResponse
@@ -2096,6 +2097,9 @@ GetLaunchCreatorFeesResponse.fields = proto3.util.newFieldList(() => [
2096
2097
  { no: 4, name: "position_token_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
2097
2098
  { no: 5, name: "fee_beneficiary", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
2098
2099
  { no: 6, name: "as_of_timestamp", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
2100
+ { no: 7, name: "fee_splitter", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
2101
+ { no: 8, name: "beneficiary_vault", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
2102
+ { no: 9, name: "claimable_includes_uncollected", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
2099
2103
  ]);
2100
2104
  /**
2101
2105
  * Server-computed Top Traders leaderboard for a launch token: the token's
@@ -1019,8 +1019,9 @@ export declare class PoolRankStats extends Message<PoolRankStats> {
1019
1019
  static equals(a: PoolRankStats | PlainMessage<PoolRankStats> | undefined, b: PoolRankStats | PlainMessage<PoolRankStats> | undefined): boolean;
1020
1020
  }
1021
1021
  /**
1022
- * A pool's protocol identity, token pair, and current on-chain state. No
1023
- * pipeline-computed stats (TVL/volume/APR) those live on RankedPool.
1022
+ * A pool's protocol identity, token pair, and current on-chain state (state
1023
+ * fields are mirrored from the chain verbatim). No derived stats
1024
+ * (TVL/volume/APR) — those live on RankedPool.
1024
1025
  *
1025
1026
  * @generated from message data.v2.Pool
1026
1027
  */
@@ -1201,6 +1202,18 @@ export declare class PoolListFilter extends Message<PoolListFilter> {
1201
1202
  * @generated from field: repeated uint32 fee_tiers = 5;
1202
1203
  */
1203
1204
  feeTiers: number[];
1205
+ /**
1206
+ * exact match; never matches V2 pools
1207
+ *
1208
+ * @generated from field: optional int32 tick_spacing = 6;
1209
+ */
1210
+ tickSpacing?: number;
1211
+ /**
1212
+ * V4 hook address; the zero address matches hookless V4 pools; never matches V2/V3 pools
1213
+ *
1214
+ * @generated from field: optional string hooks = 7;
1215
+ */
1216
+ hooks?: string;
1204
1217
  constructor(data?: PartialMessage<PoolListFilter>);
1205
1218
  static readonly runtime: typeof proto3;
1206
1219
  static readonly typeName = "data.v2.PoolListFilter";
@@ -1155,8 +1155,9 @@ PoolRankStats.fields = proto3.util.newFieldList(() => [
1155
1155
  { no: 7, name: "volume_1d_tvl_ratio", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
1156
1156
  ]);
1157
1157
  /**
1158
- * A pool's protocol identity, token pair, and current on-chain state. No
1159
- * pipeline-computed stats (TVL/volume/APR) those live on RankedPool.
1158
+ * A pool's protocol identity, token pair, and current on-chain state (state
1159
+ * fields are mirrored from the chain verbatim). No derived stats
1160
+ * (TVL/volume/APR) — those live on RankedPool.
1160
1161
  *
1161
1162
  * @generated from message data.v2.Pool
1162
1163
  */
@@ -1350,6 +1351,8 @@ PoolListFilter.fields = proto3.util.newFieldList(() => [
1350
1351
  { no: 3, name: "token_filter", kind: "message", T: PoolTokenFilter, opt: true },
1351
1352
  { no: 4, name: "stats_filter", kind: "message", T: PoolStatsFilter, opt: true },
1352
1353
  { no: 5, name: "fee_tiers", kind: "scalar", T: 13 /* ScalarType.UINT32 */, repeated: true },
1354
+ { no: 6, name: "tick_spacing", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
1355
+ { no: 7, name: "hooks", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1353
1356
  ]);
1354
1357
  /**
1355
1358
  * Returned by ListPools — wraps a Pool with its ranking stats.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniswap/client-data-api",
3
- "version": "0.0.179",
3
+ "version": "0.0.183",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },