@uniswap/client-platform-service 0.0.18 → 0.0.21

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.
@@ -374,6 +374,10 @@ export declare class ApiKeyDataStruct extends Message<ApiKeyDataStruct> {
374
374
  * @generated from field: optional string analytics_id = 10;
375
375
  */
376
376
  analyticsId?: string;
377
+ /**
378
+ * @generated from field: optional uniswap.platformservice.v1.ApiKeyTier tier = 11;
379
+ */
380
+ tier?: ApiKeyTier;
377
381
  constructor(data?: PartialMessage<ApiKeyDataStruct>);
378
382
  static readonly runtime: typeof proto3;
379
383
  static readonly typeName = "uniswap.platformservice.v1.ApiKeyDataStruct";
@@ -522,6 +526,7 @@ export declare class InternalModifyApiKeyResponse extends Message<InternalModify
522
526
  /**
523
527
  * Internal Modify API Key V2 request/response (VPN-restricted admin endpoint)
524
528
  * Identifies key by hashed_api_key; no cap on rate_limit_config (admin override).
529
+ * tier is optional; if omitted, the existing tier is preserved.
525
530
  *
526
531
  * @generated from message uniswap.platformservice.v1.InternalModifyApiKeyV2Request
527
532
  */
@@ -531,9 +536,13 @@ export declare class InternalModifyApiKeyV2Request extends Message<InternalModif
531
536
  */
532
537
  hashedApiKey: string;
533
538
  /**
534
- * @generated from field: int32 target_rps = 2;
539
+ * @generated from field: optional int32 target_rps = 2;
540
+ */
541
+ targetRps?: number;
542
+ /**
543
+ * @generated from field: optional uniswap.platformservice.v1.ApiKeyTier tier = 3;
535
544
  */
536
- targetRps: number;
545
+ tier?: ApiKeyTier;
537
546
  constructor(data?: PartialMessage<InternalModifyApiKeyV2Request>);
538
547
  static readonly runtime: typeof proto3;
539
548
  static readonly typeName = "uniswap.platformservice.v1.InternalModifyApiKeyV2Request";
@@ -677,6 +686,10 @@ export declare class InternalMigrateRequest extends Message<InternalMigrateReque
677
686
  * @generated from field: string email = 2;
678
687
  */
679
688
  email: string;
689
+ /**
690
+ * @generated from field: string raw_api_key = 3;
691
+ */
692
+ rawApiKey: string;
680
693
  constructor(data?: PartialMessage<InternalMigrateRequest>);
681
694
  static readonly runtime: typeof proto3;
682
695
  static readonly typeName = "uniswap.platformservice.v1.InternalMigrateRequest";
@@ -513,6 +513,7 @@ ApiKeyDataStruct.fields = proto3.util.newFieldList(() => [
513
513
  { no: 8, name: "last_modified_at", kind: "message", T: Timestamp },
514
514
  { no: 9, name: "creation_time", kind: "message", T: Timestamp },
515
515
  { no: 10, name: "analytics_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
516
+ { no: 11, name: "tier", kind: "enum", T: proto3.getEnumType(ApiKeyTier), opt: true },
516
517
  ]);
517
518
  /**
518
519
  * @generated from message uniswap.platformservice.v1.ListApiKeyRequest
@@ -722,6 +723,7 @@ InternalModifyApiKeyResponse.fields = proto3.util.newFieldList(() => []);
722
723
  /**
723
724
  * Internal Modify API Key V2 request/response (VPN-restricted admin endpoint)
724
725
  * Identifies key by hashed_api_key; no cap on rate_limit_config (admin override).
726
+ * tier is optional; if omitted, the existing tier is preserved.
725
727
  *
726
728
  * @generated from message uniswap.platformservice.v1.InternalModifyApiKeyV2Request
727
729
  */
@@ -732,10 +734,6 @@ export class InternalModifyApiKeyV2Request extends Message {
732
734
  * @generated from field: string hashed_api_key = 1;
733
735
  */
734
736
  this.hashedApiKey = "";
735
- /**
736
- * @generated from field: int32 target_rps = 2;
737
- */
738
- this.targetRps = 0;
739
737
  proto3.util.initPartial(data, this);
740
738
  }
741
739
  static fromBinary(bytes, options) {
@@ -755,7 +753,8 @@ InternalModifyApiKeyV2Request.runtime = proto3;
755
753
  InternalModifyApiKeyV2Request.typeName = "uniswap.platformservice.v1.InternalModifyApiKeyV2Request";
756
754
  InternalModifyApiKeyV2Request.fields = proto3.util.newFieldList(() => [
757
755
  { no: 1, name: "hashed_api_key", kind: "scalar", T: 9 /* ScalarType.STRING */ },
758
- { no: 2, name: "target_rps", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
756
+ { no: 2, name: "target_rps", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
757
+ { no: 3, name: "tier", kind: "enum", T: proto3.getEnumType(ApiKeyTier), opt: true },
759
758
  ]);
760
759
  /**
761
760
  * @generated from message uniswap.platformservice.v1.InternalModifyApiKeyV2Response
@@ -979,6 +978,10 @@ export class InternalMigrateRequest extends Message {
979
978
  * @generated from field: string email = 2;
980
979
  */
981
980
  this.email = "";
981
+ /**
982
+ * @generated from field: string raw_api_key = 3;
983
+ */
984
+ this.rawApiKey = "";
982
985
  proto3.util.initPartial(data, this);
983
986
  }
984
987
  static fromBinary(bytes, options) {
@@ -999,6 +1002,7 @@ InternalMigrateRequest.typeName = "uniswap.platformservice.v1.InternalMigrateReq
999
1002
  InternalMigrateRequest.fields = proto3.util.newFieldList(() => [
1000
1003
  { no: 1, name: "analytics_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1001
1004
  { no: 2, name: "email", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1005
+ { no: 3, name: "raw_api_key", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1002
1006
  ]);
1003
1007
  /**
1004
1008
  * @generated from message uniswap.platformservice.v1.InternalMigrateResponse
@@ -0,0 +1,28 @@
1
+ import { MethodKind } from "@bufbuild/protobuf";
2
+ import { ListEligibleGasFeeSponsorshipCampaignsRequest, ListEligibleGasFeeSponsorshipCampaignsResponse, PaymasterRpcCallRequest, PaymasterRpcCallResponse } from "./gasFeeSponsorshipService_pb.js";
3
+ /**
4
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.ListEligibleGasFeeSponsorshipCampaigns
5
+ */
6
+ export declare const listEligibleGasFeeSponsorshipCampaigns: {
7
+ readonly localName: "listEligibleGasFeeSponsorshipCampaigns";
8
+ readonly name: "ListEligibleGasFeeSponsorshipCampaigns";
9
+ readonly kind: MethodKind.Unary;
10
+ readonly I: typeof ListEligibleGasFeeSponsorshipCampaignsRequest;
11
+ readonly O: typeof ListEligibleGasFeeSponsorshipCampaignsResponse;
12
+ readonly service: {
13
+ readonly typeName: "uniswap.platformservice.v1.GasFeeSponsorshipService";
14
+ };
15
+ };
16
+ /**
17
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.PaymasterRpcCall
18
+ */
19
+ export declare const paymasterRpcCall: {
20
+ readonly localName: "paymasterRpcCall";
21
+ readonly name: "PaymasterRpcCall";
22
+ readonly kind: MethodKind.Unary;
23
+ readonly I: typeof PaymasterRpcCallRequest;
24
+ readonly O: typeof PaymasterRpcCallResponse;
25
+ readonly service: {
26
+ readonly typeName: "uniswap.platformservice.v1.GasFeeSponsorshipService";
27
+ };
28
+ };
@@ -0,0 +1,32 @@
1
+ // @generated by protoc-gen-connect-query v1.4.2 with parameter "target=ts"
2
+ // @generated from file uniswap/platformservice/v1/gasFeeSponsorshipService.proto (package uniswap.platformservice.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+ import { MethodKind } from "@bufbuild/protobuf";
6
+ import { ListEligibleGasFeeSponsorshipCampaignsRequest, ListEligibleGasFeeSponsorshipCampaignsResponse, PaymasterRpcCallRequest, PaymasterRpcCallResponse } from "./gasFeeSponsorshipService_pb.js";
7
+ /**
8
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.ListEligibleGasFeeSponsorshipCampaigns
9
+ */
10
+ export const listEligibleGasFeeSponsorshipCampaigns = {
11
+ localName: "listEligibleGasFeeSponsorshipCampaigns",
12
+ name: "ListEligibleGasFeeSponsorshipCampaigns",
13
+ kind: MethodKind.Unary,
14
+ I: ListEligibleGasFeeSponsorshipCampaignsRequest,
15
+ O: ListEligibleGasFeeSponsorshipCampaignsResponse,
16
+ service: {
17
+ typeName: "uniswap.platformservice.v1.GasFeeSponsorshipService"
18
+ }
19
+ };
20
+ /**
21
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.PaymasterRpcCall
22
+ */
23
+ export const paymasterRpcCall = {
24
+ localName: "paymasterRpcCall",
25
+ name: "PaymasterRpcCall",
26
+ kind: MethodKind.Unary,
27
+ I: PaymasterRpcCallRequest,
28
+ O: PaymasterRpcCallResponse,
29
+ service: {
30
+ typeName: "uniswap.platformservice.v1.GasFeeSponsorshipService"
31
+ }
32
+ };
@@ -0,0 +1,28 @@
1
+ import { ListEligibleGasFeeSponsorshipCampaignsRequest, ListEligibleGasFeeSponsorshipCampaignsResponse, PaymasterRpcCallRequest, PaymasterRpcCallResponse } from "./gasFeeSponsorshipService_pb.js";
2
+ import { MethodKind } from "@bufbuild/protobuf";
3
+ /**
4
+ * @generated from service uniswap.platformservice.v1.GasFeeSponsorshipService
5
+ */
6
+ export declare const GasFeeSponsorshipService: {
7
+ readonly typeName: "uniswap.platformservice.v1.GasFeeSponsorshipService";
8
+ readonly methods: {
9
+ /**
10
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.ListEligibleGasFeeSponsorshipCampaigns
11
+ */
12
+ readonly listEligibleGasFeeSponsorshipCampaigns: {
13
+ readonly name: "ListEligibleGasFeeSponsorshipCampaigns";
14
+ readonly I: typeof ListEligibleGasFeeSponsorshipCampaignsRequest;
15
+ readonly O: typeof ListEligibleGasFeeSponsorshipCampaignsResponse;
16
+ readonly kind: MethodKind.Unary;
17
+ };
18
+ /**
19
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.PaymasterRpcCall
20
+ */
21
+ readonly paymasterRpcCall: {
22
+ readonly name: "PaymasterRpcCall";
23
+ readonly I: typeof PaymasterRpcCallRequest;
24
+ readonly O: typeof PaymasterRpcCallResponse;
25
+ readonly kind: MethodKind.Unary;
26
+ };
27
+ };
28
+ };
@@ -0,0 +1,32 @@
1
+ // @generated by protoc-gen-connect-es v1.7.0 with parameter "target=ts"
2
+ // @generated from file uniswap/platformservice/v1/gasFeeSponsorshipService.proto (package uniswap.platformservice.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+ import { ListEligibleGasFeeSponsorshipCampaignsRequest, ListEligibleGasFeeSponsorshipCampaignsResponse, PaymasterRpcCallRequest, PaymasterRpcCallResponse } from "./gasFeeSponsorshipService_pb.js";
6
+ import { MethodKind } from "@bufbuild/protobuf";
7
+ /**
8
+ * @generated from service uniswap.platformservice.v1.GasFeeSponsorshipService
9
+ */
10
+ export const GasFeeSponsorshipService = {
11
+ typeName: "uniswap.platformservice.v1.GasFeeSponsorshipService",
12
+ methods: {
13
+ /**
14
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.ListEligibleGasFeeSponsorshipCampaigns
15
+ */
16
+ listEligibleGasFeeSponsorshipCampaigns: {
17
+ name: "ListEligibleGasFeeSponsorshipCampaigns",
18
+ I: ListEligibleGasFeeSponsorshipCampaignsRequest,
19
+ O: ListEligibleGasFeeSponsorshipCampaignsResponse,
20
+ kind: MethodKind.Unary,
21
+ },
22
+ /**
23
+ * @generated from rpc uniswap.platformservice.v1.GasFeeSponsorshipService.PaymasterRpcCall
24
+ */
25
+ paymasterRpcCall: {
26
+ name: "PaymasterRpcCall",
27
+ I: PaymasterRpcCallRequest,
28
+ O: PaymasterRpcCallResponse,
29
+ kind: MethodKind.Unary,
30
+ },
31
+ }
32
+ };
@@ -0,0 +1,438 @@
1
+ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
+ import { Message, proto3, Timestamp, Value } from "@bufbuild/protobuf";
3
+ /**
4
+ * @generated from message uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsRequest
5
+ */
6
+ export declare class ListEligibleGasFeeSponsorshipCampaignsRequest extends Message<ListEligibleGasFeeSponsorshipCampaignsRequest> {
7
+ /**
8
+ * The user-intended on-chain action being evaluated for sponsorship.
9
+ * Variants cover swap/wrap/bridge today; additional types such as liquidity
10
+ * provision will be added as new cases.
11
+ *
12
+ * @generated from oneof uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsRequest.intent
13
+ */
14
+ intent: {
15
+ /**
16
+ * @generated from field: uniswap.platformservice.v1.ClassicQuote classic_quote = 1;
17
+ */
18
+ value: ClassicQuote;
19
+ case: "classicQuote";
20
+ } | {
21
+ /**
22
+ * @generated from field: uniswap.platformservice.v1.WrapUnwrapQuote wrap_unwrap_quote = 2;
23
+ */
24
+ value: WrapUnwrapQuote;
25
+ case: "wrapUnwrapQuote";
26
+ } | {
27
+ /**
28
+ * @generated from field: uniswap.platformservice.v1.BridgeQuote bridge_quote = 3;
29
+ */
30
+ value: BridgeQuote;
31
+ case: "bridgeQuote";
32
+ } | {
33
+ case: undefined;
34
+ value?: undefined;
35
+ };
36
+ constructor(data?: PartialMessage<ListEligibleGasFeeSponsorshipCampaignsRequest>);
37
+ static readonly runtime: typeof proto3;
38
+ static readonly typeName = "uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsRequest";
39
+ static readonly fields: FieldList;
40
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListEligibleGasFeeSponsorshipCampaignsRequest;
41
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListEligibleGasFeeSponsorshipCampaignsRequest;
42
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListEligibleGasFeeSponsorshipCampaignsRequest;
43
+ static equals(a: ListEligibleGasFeeSponsorshipCampaignsRequest | PlainMessage<ListEligibleGasFeeSponsorshipCampaignsRequest> | undefined, b: ListEligibleGasFeeSponsorshipCampaignsRequest | PlainMessage<ListEligibleGasFeeSponsorshipCampaignsRequest> | undefined): boolean;
44
+ }
45
+ /**
46
+ * @generated from message uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsResponse
47
+ */
48
+ export declare class ListEligibleGasFeeSponsorshipCampaignsResponse extends Message<ListEligibleGasFeeSponsorshipCampaignsResponse> {
49
+ /**
50
+ * Eligible campaigns, sorted by priority.
51
+ *
52
+ * @generated from field: repeated uniswap.platformservice.v1.Campaign campaigns = 1;
53
+ */
54
+ campaigns: Campaign[];
55
+ constructor(data?: PartialMessage<ListEligibleGasFeeSponsorshipCampaignsResponse>);
56
+ static readonly runtime: typeof proto3;
57
+ static readonly typeName = "uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsResponse";
58
+ static readonly fields: FieldList;
59
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListEligibleGasFeeSponsorshipCampaignsResponse;
60
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListEligibleGasFeeSponsorshipCampaignsResponse;
61
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListEligibleGasFeeSponsorshipCampaignsResponse;
62
+ static equals(a: ListEligibleGasFeeSponsorshipCampaignsResponse | PlainMessage<ListEligibleGasFeeSponsorshipCampaignsResponse> | undefined, b: ListEligibleGasFeeSponsorshipCampaignsResponse | PlainMessage<ListEligibleGasFeeSponsorshipCampaignsResponse> | undefined): boolean;
63
+ }
64
+ /**
65
+ * @generated from message uniswap.platformservice.v1.Campaign
66
+ */
67
+ export declare class Campaign extends Message<Campaign> {
68
+ /**
69
+ * Machine-readable unique identifier, e.g. "unichain-free-swap-2026-q1".
70
+ *
71
+ * @generated from field: string name = 1;
72
+ */
73
+ name: string;
74
+ /**
75
+ * Human-readable description.
76
+ * Example: "Free gas for Unichain swaps in Q1 2026"
77
+ *
78
+ * @generated from field: string description = 2;
79
+ */
80
+ description: string;
81
+ /**
82
+ * All criteria must match (AND logic).
83
+ *
84
+ * @generated from field: repeated uniswap.platformservice.v1.Criterion criteria = 3;
85
+ */
86
+ criteria: Criterion[];
87
+ /**
88
+ * @generated from oneof uniswap.platformservice.v1.Campaign.policyId
89
+ */
90
+ policyId: {
91
+ /**
92
+ * @generated from field: string alchemy_policy_id = 4;
93
+ */
94
+ value: string;
95
+ case: "alchemyPolicyId";
96
+ } | {
97
+ case: undefined;
98
+ value?: undefined;
99
+ };
100
+ constructor(data?: PartialMessage<Campaign>);
101
+ static readonly runtime: typeof proto3;
102
+ static readonly typeName = "uniswap.platformservice.v1.Campaign";
103
+ static readonly fields: FieldList;
104
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Campaign;
105
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Campaign;
106
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Campaign;
107
+ static equals(a: Campaign | PlainMessage<Campaign> | undefined, b: Campaign | PlainMessage<Campaign> | undefined): boolean;
108
+ }
109
+ /**
110
+ * @generated from message uniswap.platformservice.v1.Criterion
111
+ */
112
+ export declare class Criterion extends Message<Criterion> {
113
+ /**
114
+ * @generated from oneof uniswap.platformservice.v1.Criterion.criterion
115
+ */
116
+ criterion: {
117
+ /**
118
+ * @generated from field: uniswap.platformservice.v1.SameChainSwapOrWrapUnwrapOn same_chain_swap_or_wrap_unwrap_on = 1;
119
+ */
120
+ value: SameChainSwapOrWrapUnwrapOn;
121
+ case: "sameChainSwapOrWrapUnwrapOn";
122
+ } | {
123
+ /**
124
+ * @generated from field: uniswap.platformservice.v1.AlwaysReject always_reject = 2;
125
+ */
126
+ value: AlwaysReject;
127
+ case: "alwaysReject";
128
+ } | {
129
+ /**
130
+ * @generated from field: uniswap.platformservice.v1.MaxSponseesPerWallet max_sponsees_per_wallet = 3;
131
+ */
132
+ value: MaxSponseesPerWallet;
133
+ case: "maxSponseesPerWallet";
134
+ } | {
135
+ /**
136
+ * @generated from field: uniswap.platformservice.v1.EffectiveTime effective_time = 4;
137
+ */
138
+ value: EffectiveTime;
139
+ case: "effectiveTime";
140
+ } | {
141
+ case: undefined;
142
+ value?: undefined;
143
+ };
144
+ constructor(data?: PartialMessage<Criterion>);
145
+ static readonly runtime: typeof proto3;
146
+ static readonly typeName = "uniswap.platformservice.v1.Criterion";
147
+ static readonly fields: FieldList;
148
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Criterion;
149
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Criterion;
150
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Criterion;
151
+ static equals(a: Criterion | PlainMessage<Criterion> | undefined, b: Criterion | PlainMessage<Criterion> | undefined): boolean;
152
+ }
153
+ /**
154
+ * Matches same-chain classic swaps and wrap/unwrap operations on the listed chains.
155
+ * Cross-chain bridges never match.
156
+ *
157
+ * @generated from message uniswap.platformservice.v1.SameChainSwapOrWrapUnwrapOn
158
+ */
159
+ export declare class SameChainSwapOrWrapUnwrapOn extends Message<SameChainSwapOrWrapUnwrapOn> {
160
+ /**
161
+ * @generated from field: repeated uint32 chain_ids = 1;
162
+ */
163
+ chainIds: number[];
164
+ constructor(data?: PartialMessage<SameChainSwapOrWrapUnwrapOn>);
165
+ static readonly runtime: typeof proto3;
166
+ static readonly typeName = "uniswap.platformservice.v1.SameChainSwapOrWrapUnwrapOn";
167
+ static readonly fields: FieldList;
168
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SameChainSwapOrWrapUnwrapOn;
169
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SameChainSwapOrWrapUnwrapOn;
170
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SameChainSwapOrWrapUnwrapOn;
171
+ static equals(a: SameChainSwapOrWrapUnwrapOn | PlainMessage<SameChainSwapOrWrapUnwrapOn> | undefined, b: SameChainSwapOrWrapUnwrapOn | PlainMessage<SameChainSwapOrWrapUnwrapOn> | undefined): boolean;
172
+ }
173
+ /**
174
+ * Always evaluates to false. Useful for disabling a campaign without removing it from the list.
175
+ *
176
+ * @generated from message uniswap.platformservice.v1.AlwaysReject
177
+ */
178
+ export declare class AlwaysReject extends Message<AlwaysReject> {
179
+ /**
180
+ * @generated from field: string reason = 1;
181
+ */
182
+ reason: string;
183
+ constructor(data?: PartialMessage<AlwaysReject>);
184
+ static readonly runtime: typeof proto3;
185
+ static readonly typeName = "uniswap.platformservice.v1.AlwaysReject";
186
+ static readonly fields: FieldList;
187
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AlwaysReject;
188
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AlwaysReject;
189
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AlwaysReject;
190
+ static equals(a: AlwaysReject | PlainMessage<AlwaysReject> | undefined, b: AlwaysReject | PlainMessage<AlwaysReject> | undefined): boolean;
191
+ }
192
+ /**
193
+ * Caps the number of sponsorships a single wallet address can receive under
194
+ * this campaign. Wallet address is sourced from quote.swapper. Evaluated
195
+ * asynchronously against the GasFeeSponsee store (count non-expired/reverted
196
+ * entries where address == swapper and campaign_name == campaign.name).
197
+ *
198
+ * @generated from message uniswap.platformservice.v1.MaxSponseesPerWallet
199
+ */
200
+ export declare class MaxSponseesPerWallet extends Message<MaxSponseesPerWallet> {
201
+ /**
202
+ * @generated from field: uint32 max_count = 1;
203
+ */
204
+ maxCount: number;
205
+ constructor(data?: PartialMessage<MaxSponseesPerWallet>);
206
+ static readonly runtime: typeof proto3;
207
+ static readonly typeName = "uniswap.platformservice.v1.MaxSponseesPerWallet";
208
+ static readonly fields: FieldList;
209
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MaxSponseesPerWallet;
210
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MaxSponseesPerWallet;
211
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MaxSponseesPerWallet;
212
+ static equals(a: MaxSponseesPerWallet | PlainMessage<MaxSponseesPerWallet> | undefined, b: MaxSponseesPerWallet | PlainMessage<MaxSponseesPerWallet> | undefined): boolean;
213
+ }
214
+ /**
215
+ * Matches when now() falls within [start_at, expire_at).
216
+ * start_at inclusive — campaign becomes eligible AT this instant
217
+ * expire_at exclusive — campaign stops being eligible AT this instant
218
+ * Either bound is optional: omit start_at for "always been active",
219
+ * omit expire_at for "never expires". Both omitted → always matches.
220
+ *
221
+ * @generated from message uniswap.platformservice.v1.EffectiveTime
222
+ */
223
+ export declare class EffectiveTime extends Message<EffectiveTime> {
224
+ /**
225
+ * @generated from field: optional google.protobuf.Timestamp start_at = 1;
226
+ */
227
+ startAt?: Timestamp;
228
+ /**
229
+ * @generated from field: optional google.protobuf.Timestamp expire_at = 2;
230
+ */
231
+ expireAt?: Timestamp;
232
+ constructor(data?: PartialMessage<EffectiveTime>);
233
+ static readonly runtime: typeof proto3;
234
+ static readonly typeName = "uniswap.platformservice.v1.EffectiveTime";
235
+ static readonly fields: FieldList;
236
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): EffectiveTime;
237
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): EffectiveTime;
238
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): EffectiveTime;
239
+ static equals(a: EffectiveTime | PlainMessage<EffectiveTime> | undefined, b: EffectiveTime | PlainMessage<EffectiveTime> | undefined): boolean;
240
+ }
241
+ /**
242
+ * Slimmed copies of trading.v1 quote messages, keeping only fields used by
243
+ * sponsorship eligibility evaluation.
244
+ *
245
+ * @generated from message uniswap.platformservice.v1.ClassicQuote
246
+ */
247
+ export declare class ClassicQuote extends Message<ClassicQuote> {
248
+ /**
249
+ * @generated from field: uint32 chain_id = 1;
250
+ */
251
+ chainId: number;
252
+ /**
253
+ * @generated from field: string swapper = 2;
254
+ */
255
+ swapper: string;
256
+ /**
257
+ * @generated from field: string token_in = 3;
258
+ */
259
+ tokenIn: string;
260
+ /**
261
+ * @generated from field: string token_out = 4;
262
+ */
263
+ tokenOut: string;
264
+ constructor(data?: PartialMessage<ClassicQuote>);
265
+ static readonly runtime: typeof proto3;
266
+ static readonly typeName = "uniswap.platformservice.v1.ClassicQuote";
267
+ static readonly fields: FieldList;
268
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ClassicQuote;
269
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ClassicQuote;
270
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ClassicQuote;
271
+ static equals(a: ClassicQuote | PlainMessage<ClassicQuote> | undefined, b: ClassicQuote | PlainMessage<ClassicQuote> | undefined): boolean;
272
+ }
273
+ /**
274
+ * @generated from message uniswap.platformservice.v1.WrapUnwrapQuote
275
+ */
276
+ export declare class WrapUnwrapQuote extends Message<WrapUnwrapQuote> {
277
+ /**
278
+ * @generated from field: uint32 chain_id = 1;
279
+ */
280
+ chainId: number;
281
+ /**
282
+ * @generated from field: string swapper = 2;
283
+ */
284
+ swapper: string;
285
+ /**
286
+ * @generated from field: string token_in = 3;
287
+ */
288
+ tokenIn: string;
289
+ /**
290
+ * @generated from field: string token_out = 4;
291
+ */
292
+ tokenOut: string;
293
+ constructor(data?: PartialMessage<WrapUnwrapQuote>);
294
+ static readonly runtime: typeof proto3;
295
+ static readonly typeName = "uniswap.platformservice.v1.WrapUnwrapQuote";
296
+ static readonly fields: FieldList;
297
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): WrapUnwrapQuote;
298
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): WrapUnwrapQuote;
299
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): WrapUnwrapQuote;
300
+ static equals(a: WrapUnwrapQuote | PlainMessage<WrapUnwrapQuote> | undefined, b: WrapUnwrapQuote | PlainMessage<WrapUnwrapQuote> | undefined): boolean;
301
+ }
302
+ /**
303
+ * @generated from message uniswap.platformservice.v1.BridgeQuote
304
+ */
305
+ export declare class BridgeQuote extends Message<BridgeQuote> {
306
+ /**
307
+ * @generated from field: uint32 chain_id = 1;
308
+ */
309
+ chainId: number;
310
+ /**
311
+ * @generated from field: uint32 destination_chain_id = 2;
312
+ */
313
+ destinationChainId: number;
314
+ /**
315
+ * @generated from field: string swapper = 3;
316
+ */
317
+ swapper: string;
318
+ /**
319
+ * @generated from field: string token_in = 4;
320
+ */
321
+ tokenIn: string;
322
+ /**
323
+ * @generated from field: string token_out = 5;
324
+ */
325
+ tokenOut: string;
326
+ constructor(data?: PartialMessage<BridgeQuote>);
327
+ static readonly runtime: typeof proto3;
328
+ static readonly typeName = "uniswap.platformservice.v1.BridgeQuote";
329
+ static readonly fields: FieldList;
330
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BridgeQuote;
331
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BridgeQuote;
332
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BridgeQuote;
333
+ static equals(a: BridgeQuote | PlainMessage<BridgeQuote> | undefined, b: BridgeQuote | PlainMessage<BridgeQuote> | undefined): boolean;
334
+ }
335
+ /**
336
+ * Standard JSON-RPC envelope for paymaster-only methods.
337
+ *
338
+ * `method` is restricted to the paymaster RPC family — anything outside this
339
+ * allow-list is rejected at the BL layer:
340
+ * - pm_getPaymasterStubData (EIP-7677)
341
+ * - pm_getPaymasterData (EIP-7677)
342
+ * - pm_sponsorUserOperation (Pimlico combined sponsor + sign)
343
+ * - alchemy_requestGasAndPaymasterAndData (Alchemy combined)
344
+ * - additional vendor methods may be added; keep the list in BL.
345
+ *
346
+ * Field semantics match unirpc-v2 UniRpcRequest:
347
+ * - `id` is `optional int32` so id=0 survives proto3 JSON serialization
348
+ * (default scalars get dropped without explicit presence; viem's HTTP
349
+ * transport starts numbering at 0, breaking id correlation otherwise).
350
+ *
351
+ * @generated from message uniswap.platformservice.v1.PaymasterRpcCallRequest
352
+ */
353
+ export declare class PaymasterRpcCallRequest extends Message<PaymasterRpcCallRequest> {
354
+ /**
355
+ * @generated from field: string jsonrpc = 1;
356
+ */
357
+ jsonrpc: string;
358
+ /**
359
+ * @generated from field: optional int32 id = 2;
360
+ */
361
+ id?: number;
362
+ /**
363
+ * @generated from field: string method = 3;
364
+ */
365
+ method: string;
366
+ /**
367
+ * @generated from field: google.protobuf.Value params = 4;
368
+ */
369
+ params?: Value;
370
+ constructor(data?: PartialMessage<PaymasterRpcCallRequest>);
371
+ static readonly runtime: typeof proto3;
372
+ static readonly typeName = "uniswap.platformservice.v1.PaymasterRpcCallRequest";
373
+ static readonly fields: FieldList;
374
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): PaymasterRpcCallRequest;
375
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): PaymasterRpcCallRequest;
376
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PaymasterRpcCallRequest;
377
+ static equals(a: PaymasterRpcCallRequest | PlainMessage<PaymasterRpcCallRequest> | undefined, b: PaymasterRpcCallRequest | PlainMessage<PaymasterRpcCallRequest> | undefined): boolean;
378
+ }
379
+ /**
380
+ * @generated from message uniswap.platformservice.v1.PaymasterRpcCallResponse
381
+ */
382
+ export declare class PaymasterRpcCallResponse extends Message<PaymasterRpcCallResponse> {
383
+ /**
384
+ * @generated from field: string jsonrpc = 1;
385
+ */
386
+ jsonrpc: string;
387
+ /**
388
+ * @generated from field: optional int32 id = 2;
389
+ */
390
+ id?: number;
391
+ /**
392
+ * @generated from field: google.protobuf.Value result = 3;
393
+ */
394
+ result?: Value;
395
+ /**
396
+ * @generated from field: uniswap.platformservice.v1.PaymasterRpcError error = 4;
397
+ */
398
+ error?: PaymasterRpcError;
399
+ constructor(data?: PartialMessage<PaymasterRpcCallResponse>);
400
+ static readonly runtime: typeof proto3;
401
+ static readonly typeName = "uniswap.platformservice.v1.PaymasterRpcCallResponse";
402
+ static readonly fields: FieldList;
403
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): PaymasterRpcCallResponse;
404
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): PaymasterRpcCallResponse;
405
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PaymasterRpcCallResponse;
406
+ static equals(a: PaymasterRpcCallResponse | PlainMessage<PaymasterRpcCallResponse> | undefined, b: PaymasterRpcCallResponse | PlainMessage<PaymasterRpcCallResponse> | undefined): boolean;
407
+ }
408
+ /**
409
+ * JSON-RPC error object — code/message/data mirror the spec.
410
+ * `code` ranges:
411
+ * -32700 .. -32603 reserved JSON-RPC parse / invalid-request errors
412
+ * -32000 .. -32099 application-defined server errors (sponsorship denied,
413
+ * campaign exhausted, calldata mismatch, etc.)
414
+ *
415
+ * @generated from message uniswap.platformservice.v1.PaymasterRpcError
416
+ */
417
+ export declare class PaymasterRpcError extends Message<PaymasterRpcError> {
418
+ /**
419
+ * @generated from field: int32 code = 1;
420
+ */
421
+ code: number;
422
+ /**
423
+ * @generated from field: string message = 2;
424
+ */
425
+ message: string;
426
+ /**
427
+ * @generated from field: google.protobuf.Value data = 3;
428
+ */
429
+ data?: Value;
430
+ constructor(data?: PartialMessage<PaymasterRpcError>);
431
+ static readonly runtime: typeof proto3;
432
+ static readonly typeName = "uniswap.platformservice.v1.PaymasterRpcError";
433
+ static readonly fields: FieldList;
434
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): PaymasterRpcError;
435
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): PaymasterRpcError;
436
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): PaymasterRpcError;
437
+ static equals(a: PaymasterRpcError | PlainMessage<PaymasterRpcError> | undefined, b: PaymasterRpcError | PlainMessage<PaymasterRpcError> | undefined): boolean;
438
+ }
@@ -0,0 +1,561 @@
1
+ // @generated by protoc-gen-es v1.10.1 with parameter "target=ts"
2
+ // @generated from file uniswap/platformservice/v1/gasFeeSponsorshipService.proto (package uniswap.platformservice.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+ import { Message, proto3, Timestamp, Value } from "@bufbuild/protobuf";
6
+ /**
7
+ * @generated from message uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsRequest
8
+ */
9
+ export class ListEligibleGasFeeSponsorshipCampaignsRequest extends Message {
10
+ constructor(data) {
11
+ super();
12
+ /**
13
+ * The user-intended on-chain action being evaluated for sponsorship.
14
+ * Variants cover swap/wrap/bridge today; additional types such as liquidity
15
+ * provision will be added as new cases.
16
+ *
17
+ * @generated from oneof uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsRequest.intent
18
+ */
19
+ this.intent = { case: undefined };
20
+ proto3.util.initPartial(data, this);
21
+ }
22
+ static fromBinary(bytes, options) {
23
+ return new ListEligibleGasFeeSponsorshipCampaignsRequest().fromBinary(bytes, options);
24
+ }
25
+ static fromJson(jsonValue, options) {
26
+ return new ListEligibleGasFeeSponsorshipCampaignsRequest().fromJson(jsonValue, options);
27
+ }
28
+ static fromJsonString(jsonString, options) {
29
+ return new ListEligibleGasFeeSponsorshipCampaignsRequest().fromJsonString(jsonString, options);
30
+ }
31
+ static equals(a, b) {
32
+ return proto3.util.equals(ListEligibleGasFeeSponsorshipCampaignsRequest, a, b);
33
+ }
34
+ }
35
+ ListEligibleGasFeeSponsorshipCampaignsRequest.runtime = proto3;
36
+ ListEligibleGasFeeSponsorshipCampaignsRequest.typeName = "uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsRequest";
37
+ ListEligibleGasFeeSponsorshipCampaignsRequest.fields = proto3.util.newFieldList(() => [
38
+ { no: 1, name: "classic_quote", kind: "message", T: ClassicQuote, oneof: "intent" },
39
+ { no: 2, name: "wrap_unwrap_quote", kind: "message", T: WrapUnwrapQuote, oneof: "intent" },
40
+ { no: 3, name: "bridge_quote", kind: "message", T: BridgeQuote, oneof: "intent" },
41
+ ]);
42
+ /**
43
+ * @generated from message uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsResponse
44
+ */
45
+ export class ListEligibleGasFeeSponsorshipCampaignsResponse extends Message {
46
+ constructor(data) {
47
+ super();
48
+ /**
49
+ * Eligible campaigns, sorted by priority.
50
+ *
51
+ * @generated from field: repeated uniswap.platformservice.v1.Campaign campaigns = 1;
52
+ */
53
+ this.campaigns = [];
54
+ proto3.util.initPartial(data, this);
55
+ }
56
+ static fromBinary(bytes, options) {
57
+ return new ListEligibleGasFeeSponsorshipCampaignsResponse().fromBinary(bytes, options);
58
+ }
59
+ static fromJson(jsonValue, options) {
60
+ return new ListEligibleGasFeeSponsorshipCampaignsResponse().fromJson(jsonValue, options);
61
+ }
62
+ static fromJsonString(jsonString, options) {
63
+ return new ListEligibleGasFeeSponsorshipCampaignsResponse().fromJsonString(jsonString, options);
64
+ }
65
+ static equals(a, b) {
66
+ return proto3.util.equals(ListEligibleGasFeeSponsorshipCampaignsResponse, a, b);
67
+ }
68
+ }
69
+ ListEligibleGasFeeSponsorshipCampaignsResponse.runtime = proto3;
70
+ ListEligibleGasFeeSponsorshipCampaignsResponse.typeName = "uniswap.platformservice.v1.ListEligibleGasFeeSponsorshipCampaignsResponse";
71
+ ListEligibleGasFeeSponsorshipCampaignsResponse.fields = proto3.util.newFieldList(() => [
72
+ { no: 1, name: "campaigns", kind: "message", T: Campaign, repeated: true },
73
+ ]);
74
+ /**
75
+ * @generated from message uniswap.platformservice.v1.Campaign
76
+ */
77
+ export class Campaign extends Message {
78
+ constructor(data) {
79
+ super();
80
+ /**
81
+ * Machine-readable unique identifier, e.g. "unichain-free-swap-2026-q1".
82
+ *
83
+ * @generated from field: string name = 1;
84
+ */
85
+ this.name = "";
86
+ /**
87
+ * Human-readable description.
88
+ * Example: "Free gas for Unichain swaps in Q1 2026"
89
+ *
90
+ * @generated from field: string description = 2;
91
+ */
92
+ this.description = "";
93
+ /**
94
+ * All criteria must match (AND logic).
95
+ *
96
+ * @generated from field: repeated uniswap.platformservice.v1.Criterion criteria = 3;
97
+ */
98
+ this.criteria = [];
99
+ /**
100
+ * @generated from oneof uniswap.platformservice.v1.Campaign.policyId
101
+ */
102
+ this.policyId = { case: undefined };
103
+ proto3.util.initPartial(data, this);
104
+ }
105
+ static fromBinary(bytes, options) {
106
+ return new Campaign().fromBinary(bytes, options);
107
+ }
108
+ static fromJson(jsonValue, options) {
109
+ return new Campaign().fromJson(jsonValue, options);
110
+ }
111
+ static fromJsonString(jsonString, options) {
112
+ return new Campaign().fromJsonString(jsonString, options);
113
+ }
114
+ static equals(a, b) {
115
+ return proto3.util.equals(Campaign, a, b);
116
+ }
117
+ }
118
+ Campaign.runtime = proto3;
119
+ Campaign.typeName = "uniswap.platformservice.v1.Campaign";
120
+ Campaign.fields = proto3.util.newFieldList(() => [
121
+ { no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
122
+ { no: 2, name: "description", kind: "scalar", T: 9 /* ScalarType.STRING */ },
123
+ { no: 3, name: "criteria", kind: "message", T: Criterion, repeated: true },
124
+ { no: 4, name: "alchemy_policy_id", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "policyId" },
125
+ ]);
126
+ /**
127
+ * @generated from message uniswap.platformservice.v1.Criterion
128
+ */
129
+ export class Criterion extends Message {
130
+ constructor(data) {
131
+ super();
132
+ /**
133
+ * @generated from oneof uniswap.platformservice.v1.Criterion.criterion
134
+ */
135
+ this.criterion = { case: undefined };
136
+ proto3.util.initPartial(data, this);
137
+ }
138
+ static fromBinary(bytes, options) {
139
+ return new Criterion().fromBinary(bytes, options);
140
+ }
141
+ static fromJson(jsonValue, options) {
142
+ return new Criterion().fromJson(jsonValue, options);
143
+ }
144
+ static fromJsonString(jsonString, options) {
145
+ return new Criterion().fromJsonString(jsonString, options);
146
+ }
147
+ static equals(a, b) {
148
+ return proto3.util.equals(Criterion, a, b);
149
+ }
150
+ }
151
+ Criterion.runtime = proto3;
152
+ Criterion.typeName = "uniswap.platformservice.v1.Criterion";
153
+ Criterion.fields = proto3.util.newFieldList(() => [
154
+ { no: 1, name: "same_chain_swap_or_wrap_unwrap_on", kind: "message", T: SameChainSwapOrWrapUnwrapOn, oneof: "criterion" },
155
+ { no: 2, name: "always_reject", kind: "message", T: AlwaysReject, oneof: "criterion" },
156
+ { no: 3, name: "max_sponsees_per_wallet", kind: "message", T: MaxSponseesPerWallet, oneof: "criterion" },
157
+ { no: 4, name: "effective_time", kind: "message", T: EffectiveTime, oneof: "criterion" },
158
+ ]);
159
+ /**
160
+ * Matches same-chain classic swaps and wrap/unwrap operations on the listed chains.
161
+ * Cross-chain bridges never match.
162
+ *
163
+ * @generated from message uniswap.platformservice.v1.SameChainSwapOrWrapUnwrapOn
164
+ */
165
+ export class SameChainSwapOrWrapUnwrapOn extends Message {
166
+ constructor(data) {
167
+ super();
168
+ /**
169
+ * @generated from field: repeated uint32 chain_ids = 1;
170
+ */
171
+ this.chainIds = [];
172
+ proto3.util.initPartial(data, this);
173
+ }
174
+ static fromBinary(bytes, options) {
175
+ return new SameChainSwapOrWrapUnwrapOn().fromBinary(bytes, options);
176
+ }
177
+ static fromJson(jsonValue, options) {
178
+ return new SameChainSwapOrWrapUnwrapOn().fromJson(jsonValue, options);
179
+ }
180
+ static fromJsonString(jsonString, options) {
181
+ return new SameChainSwapOrWrapUnwrapOn().fromJsonString(jsonString, options);
182
+ }
183
+ static equals(a, b) {
184
+ return proto3.util.equals(SameChainSwapOrWrapUnwrapOn, a, b);
185
+ }
186
+ }
187
+ SameChainSwapOrWrapUnwrapOn.runtime = proto3;
188
+ SameChainSwapOrWrapUnwrapOn.typeName = "uniswap.platformservice.v1.SameChainSwapOrWrapUnwrapOn";
189
+ SameChainSwapOrWrapUnwrapOn.fields = proto3.util.newFieldList(() => [
190
+ { no: 1, name: "chain_ids", kind: "scalar", T: 13 /* ScalarType.UINT32 */, repeated: true },
191
+ ]);
192
+ /**
193
+ * Always evaluates to false. Useful for disabling a campaign without removing it from the list.
194
+ *
195
+ * @generated from message uniswap.platformservice.v1.AlwaysReject
196
+ */
197
+ export class AlwaysReject extends Message {
198
+ constructor(data) {
199
+ super();
200
+ /**
201
+ * @generated from field: string reason = 1;
202
+ */
203
+ this.reason = "";
204
+ proto3.util.initPartial(data, this);
205
+ }
206
+ static fromBinary(bytes, options) {
207
+ return new AlwaysReject().fromBinary(bytes, options);
208
+ }
209
+ static fromJson(jsonValue, options) {
210
+ return new AlwaysReject().fromJson(jsonValue, options);
211
+ }
212
+ static fromJsonString(jsonString, options) {
213
+ return new AlwaysReject().fromJsonString(jsonString, options);
214
+ }
215
+ static equals(a, b) {
216
+ return proto3.util.equals(AlwaysReject, a, b);
217
+ }
218
+ }
219
+ AlwaysReject.runtime = proto3;
220
+ AlwaysReject.typeName = "uniswap.platformservice.v1.AlwaysReject";
221
+ AlwaysReject.fields = proto3.util.newFieldList(() => [
222
+ { no: 1, name: "reason", kind: "scalar", T: 9 /* ScalarType.STRING */ },
223
+ ]);
224
+ /**
225
+ * Caps the number of sponsorships a single wallet address can receive under
226
+ * this campaign. Wallet address is sourced from quote.swapper. Evaluated
227
+ * asynchronously against the GasFeeSponsee store (count non-expired/reverted
228
+ * entries where address == swapper and campaign_name == campaign.name).
229
+ *
230
+ * @generated from message uniswap.platformservice.v1.MaxSponseesPerWallet
231
+ */
232
+ export class MaxSponseesPerWallet extends Message {
233
+ constructor(data) {
234
+ super();
235
+ /**
236
+ * @generated from field: uint32 max_count = 1;
237
+ */
238
+ this.maxCount = 0;
239
+ proto3.util.initPartial(data, this);
240
+ }
241
+ static fromBinary(bytes, options) {
242
+ return new MaxSponseesPerWallet().fromBinary(bytes, options);
243
+ }
244
+ static fromJson(jsonValue, options) {
245
+ return new MaxSponseesPerWallet().fromJson(jsonValue, options);
246
+ }
247
+ static fromJsonString(jsonString, options) {
248
+ return new MaxSponseesPerWallet().fromJsonString(jsonString, options);
249
+ }
250
+ static equals(a, b) {
251
+ return proto3.util.equals(MaxSponseesPerWallet, a, b);
252
+ }
253
+ }
254
+ MaxSponseesPerWallet.runtime = proto3;
255
+ MaxSponseesPerWallet.typeName = "uniswap.platformservice.v1.MaxSponseesPerWallet";
256
+ MaxSponseesPerWallet.fields = proto3.util.newFieldList(() => [
257
+ { no: 1, name: "max_count", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
258
+ ]);
259
+ /**
260
+ * Matches when now() falls within [start_at, expire_at).
261
+ * start_at inclusive — campaign becomes eligible AT this instant
262
+ * expire_at exclusive — campaign stops being eligible AT this instant
263
+ * Either bound is optional: omit start_at for "always been active",
264
+ * omit expire_at for "never expires". Both omitted → always matches.
265
+ *
266
+ * @generated from message uniswap.platformservice.v1.EffectiveTime
267
+ */
268
+ export class EffectiveTime extends Message {
269
+ constructor(data) {
270
+ super();
271
+ proto3.util.initPartial(data, this);
272
+ }
273
+ static fromBinary(bytes, options) {
274
+ return new EffectiveTime().fromBinary(bytes, options);
275
+ }
276
+ static fromJson(jsonValue, options) {
277
+ return new EffectiveTime().fromJson(jsonValue, options);
278
+ }
279
+ static fromJsonString(jsonString, options) {
280
+ return new EffectiveTime().fromJsonString(jsonString, options);
281
+ }
282
+ static equals(a, b) {
283
+ return proto3.util.equals(EffectiveTime, a, b);
284
+ }
285
+ }
286
+ EffectiveTime.runtime = proto3;
287
+ EffectiveTime.typeName = "uniswap.platformservice.v1.EffectiveTime";
288
+ EffectiveTime.fields = proto3.util.newFieldList(() => [
289
+ { no: 1, name: "start_at", kind: "message", T: Timestamp, opt: true },
290
+ { no: 2, name: "expire_at", kind: "message", T: Timestamp, opt: true },
291
+ ]);
292
+ /**
293
+ * Slimmed copies of trading.v1 quote messages, keeping only fields used by
294
+ * sponsorship eligibility evaluation.
295
+ *
296
+ * @generated from message uniswap.platformservice.v1.ClassicQuote
297
+ */
298
+ export class ClassicQuote extends Message {
299
+ constructor(data) {
300
+ super();
301
+ /**
302
+ * @generated from field: uint32 chain_id = 1;
303
+ */
304
+ this.chainId = 0;
305
+ /**
306
+ * @generated from field: string swapper = 2;
307
+ */
308
+ this.swapper = "";
309
+ /**
310
+ * @generated from field: string token_in = 3;
311
+ */
312
+ this.tokenIn = "";
313
+ /**
314
+ * @generated from field: string token_out = 4;
315
+ */
316
+ this.tokenOut = "";
317
+ proto3.util.initPartial(data, this);
318
+ }
319
+ static fromBinary(bytes, options) {
320
+ return new ClassicQuote().fromBinary(bytes, options);
321
+ }
322
+ static fromJson(jsonValue, options) {
323
+ return new ClassicQuote().fromJson(jsonValue, options);
324
+ }
325
+ static fromJsonString(jsonString, options) {
326
+ return new ClassicQuote().fromJsonString(jsonString, options);
327
+ }
328
+ static equals(a, b) {
329
+ return proto3.util.equals(ClassicQuote, a, b);
330
+ }
331
+ }
332
+ ClassicQuote.runtime = proto3;
333
+ ClassicQuote.typeName = "uniswap.platformservice.v1.ClassicQuote";
334
+ ClassicQuote.fields = proto3.util.newFieldList(() => [
335
+ { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
336
+ { no: 2, name: "swapper", kind: "scalar", T: 9 /* ScalarType.STRING */ },
337
+ { no: 3, name: "token_in", kind: "scalar", T: 9 /* ScalarType.STRING */ },
338
+ { no: 4, name: "token_out", kind: "scalar", T: 9 /* ScalarType.STRING */ },
339
+ ]);
340
+ /**
341
+ * @generated from message uniswap.platformservice.v1.WrapUnwrapQuote
342
+ */
343
+ export class WrapUnwrapQuote extends Message {
344
+ constructor(data) {
345
+ super();
346
+ /**
347
+ * @generated from field: uint32 chain_id = 1;
348
+ */
349
+ this.chainId = 0;
350
+ /**
351
+ * @generated from field: string swapper = 2;
352
+ */
353
+ this.swapper = "";
354
+ /**
355
+ * @generated from field: string token_in = 3;
356
+ */
357
+ this.tokenIn = "";
358
+ /**
359
+ * @generated from field: string token_out = 4;
360
+ */
361
+ this.tokenOut = "";
362
+ proto3.util.initPartial(data, this);
363
+ }
364
+ static fromBinary(bytes, options) {
365
+ return new WrapUnwrapQuote().fromBinary(bytes, options);
366
+ }
367
+ static fromJson(jsonValue, options) {
368
+ return new WrapUnwrapQuote().fromJson(jsonValue, options);
369
+ }
370
+ static fromJsonString(jsonString, options) {
371
+ return new WrapUnwrapQuote().fromJsonString(jsonString, options);
372
+ }
373
+ static equals(a, b) {
374
+ return proto3.util.equals(WrapUnwrapQuote, a, b);
375
+ }
376
+ }
377
+ WrapUnwrapQuote.runtime = proto3;
378
+ WrapUnwrapQuote.typeName = "uniswap.platformservice.v1.WrapUnwrapQuote";
379
+ WrapUnwrapQuote.fields = proto3.util.newFieldList(() => [
380
+ { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
381
+ { no: 2, name: "swapper", kind: "scalar", T: 9 /* ScalarType.STRING */ },
382
+ { no: 3, name: "token_in", kind: "scalar", T: 9 /* ScalarType.STRING */ },
383
+ { no: 4, name: "token_out", kind: "scalar", T: 9 /* ScalarType.STRING */ },
384
+ ]);
385
+ /**
386
+ * @generated from message uniswap.platformservice.v1.BridgeQuote
387
+ */
388
+ export class BridgeQuote extends Message {
389
+ constructor(data) {
390
+ super();
391
+ /**
392
+ * @generated from field: uint32 chain_id = 1;
393
+ */
394
+ this.chainId = 0;
395
+ /**
396
+ * @generated from field: uint32 destination_chain_id = 2;
397
+ */
398
+ this.destinationChainId = 0;
399
+ /**
400
+ * @generated from field: string swapper = 3;
401
+ */
402
+ this.swapper = "";
403
+ /**
404
+ * @generated from field: string token_in = 4;
405
+ */
406
+ this.tokenIn = "";
407
+ /**
408
+ * @generated from field: string token_out = 5;
409
+ */
410
+ this.tokenOut = "";
411
+ proto3.util.initPartial(data, this);
412
+ }
413
+ static fromBinary(bytes, options) {
414
+ return new BridgeQuote().fromBinary(bytes, options);
415
+ }
416
+ static fromJson(jsonValue, options) {
417
+ return new BridgeQuote().fromJson(jsonValue, options);
418
+ }
419
+ static fromJsonString(jsonString, options) {
420
+ return new BridgeQuote().fromJsonString(jsonString, options);
421
+ }
422
+ static equals(a, b) {
423
+ return proto3.util.equals(BridgeQuote, a, b);
424
+ }
425
+ }
426
+ BridgeQuote.runtime = proto3;
427
+ BridgeQuote.typeName = "uniswap.platformservice.v1.BridgeQuote";
428
+ BridgeQuote.fields = proto3.util.newFieldList(() => [
429
+ { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
430
+ { no: 2, name: "destination_chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
431
+ { no: 3, name: "swapper", kind: "scalar", T: 9 /* ScalarType.STRING */ },
432
+ { no: 4, name: "token_in", kind: "scalar", T: 9 /* ScalarType.STRING */ },
433
+ { no: 5, name: "token_out", kind: "scalar", T: 9 /* ScalarType.STRING */ },
434
+ ]);
435
+ /**
436
+ * Standard JSON-RPC envelope for paymaster-only methods.
437
+ *
438
+ * `method` is restricted to the paymaster RPC family — anything outside this
439
+ * allow-list is rejected at the BL layer:
440
+ * - pm_getPaymasterStubData (EIP-7677)
441
+ * - pm_getPaymasterData (EIP-7677)
442
+ * - pm_sponsorUserOperation (Pimlico combined sponsor + sign)
443
+ * - alchemy_requestGasAndPaymasterAndData (Alchemy combined)
444
+ * - additional vendor methods may be added; keep the list in BL.
445
+ *
446
+ * Field semantics match unirpc-v2 UniRpcRequest:
447
+ * - `id` is `optional int32` so id=0 survives proto3 JSON serialization
448
+ * (default scalars get dropped without explicit presence; viem's HTTP
449
+ * transport starts numbering at 0, breaking id correlation otherwise).
450
+ *
451
+ * @generated from message uniswap.platformservice.v1.PaymasterRpcCallRequest
452
+ */
453
+ export class PaymasterRpcCallRequest extends Message {
454
+ constructor(data) {
455
+ super();
456
+ /**
457
+ * @generated from field: string jsonrpc = 1;
458
+ */
459
+ this.jsonrpc = "";
460
+ /**
461
+ * @generated from field: string method = 3;
462
+ */
463
+ this.method = "";
464
+ proto3.util.initPartial(data, this);
465
+ }
466
+ static fromBinary(bytes, options) {
467
+ return new PaymasterRpcCallRequest().fromBinary(bytes, options);
468
+ }
469
+ static fromJson(jsonValue, options) {
470
+ return new PaymasterRpcCallRequest().fromJson(jsonValue, options);
471
+ }
472
+ static fromJsonString(jsonString, options) {
473
+ return new PaymasterRpcCallRequest().fromJsonString(jsonString, options);
474
+ }
475
+ static equals(a, b) {
476
+ return proto3.util.equals(PaymasterRpcCallRequest, a, b);
477
+ }
478
+ }
479
+ PaymasterRpcCallRequest.runtime = proto3;
480
+ PaymasterRpcCallRequest.typeName = "uniswap.platformservice.v1.PaymasterRpcCallRequest";
481
+ PaymasterRpcCallRequest.fields = proto3.util.newFieldList(() => [
482
+ { no: 1, name: "jsonrpc", kind: "scalar", T: 9 /* ScalarType.STRING */ },
483
+ { no: 2, name: "id", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
484
+ { no: 3, name: "method", kind: "scalar", T: 9 /* ScalarType.STRING */ },
485
+ { no: 4, name: "params", kind: "message", T: Value },
486
+ ]);
487
+ /**
488
+ * @generated from message uniswap.platformservice.v1.PaymasterRpcCallResponse
489
+ */
490
+ export class PaymasterRpcCallResponse extends Message {
491
+ constructor(data) {
492
+ super();
493
+ /**
494
+ * @generated from field: string jsonrpc = 1;
495
+ */
496
+ this.jsonrpc = "";
497
+ proto3.util.initPartial(data, this);
498
+ }
499
+ static fromBinary(bytes, options) {
500
+ return new PaymasterRpcCallResponse().fromBinary(bytes, options);
501
+ }
502
+ static fromJson(jsonValue, options) {
503
+ return new PaymasterRpcCallResponse().fromJson(jsonValue, options);
504
+ }
505
+ static fromJsonString(jsonString, options) {
506
+ return new PaymasterRpcCallResponse().fromJsonString(jsonString, options);
507
+ }
508
+ static equals(a, b) {
509
+ return proto3.util.equals(PaymasterRpcCallResponse, a, b);
510
+ }
511
+ }
512
+ PaymasterRpcCallResponse.runtime = proto3;
513
+ PaymasterRpcCallResponse.typeName = "uniswap.platformservice.v1.PaymasterRpcCallResponse";
514
+ PaymasterRpcCallResponse.fields = proto3.util.newFieldList(() => [
515
+ { no: 1, name: "jsonrpc", kind: "scalar", T: 9 /* ScalarType.STRING */ },
516
+ { no: 2, name: "id", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
517
+ { no: 3, name: "result", kind: "message", T: Value },
518
+ { no: 4, name: "error", kind: "message", T: PaymasterRpcError },
519
+ ]);
520
+ /**
521
+ * JSON-RPC error object — code/message/data mirror the spec.
522
+ * `code` ranges:
523
+ * -32700 .. -32603 reserved JSON-RPC parse / invalid-request errors
524
+ * -32000 .. -32099 application-defined server errors (sponsorship denied,
525
+ * campaign exhausted, calldata mismatch, etc.)
526
+ *
527
+ * @generated from message uniswap.platformservice.v1.PaymasterRpcError
528
+ */
529
+ export class PaymasterRpcError extends Message {
530
+ constructor(data) {
531
+ super();
532
+ /**
533
+ * @generated from field: int32 code = 1;
534
+ */
535
+ this.code = 0;
536
+ /**
537
+ * @generated from field: string message = 2;
538
+ */
539
+ this.message = "";
540
+ proto3.util.initPartial(data, this);
541
+ }
542
+ static fromBinary(bytes, options) {
543
+ return new PaymasterRpcError().fromBinary(bytes, options);
544
+ }
545
+ static fromJson(jsonValue, options) {
546
+ return new PaymasterRpcError().fromJson(jsonValue, options);
547
+ }
548
+ static fromJsonString(jsonString, options) {
549
+ return new PaymasterRpcError().fromJsonString(jsonString, options);
550
+ }
551
+ static equals(a, b) {
552
+ return proto3.util.equals(PaymasterRpcError, a, b);
553
+ }
554
+ }
555
+ PaymasterRpcError.runtime = proto3;
556
+ PaymasterRpcError.typeName = "uniswap.platformservice.v1.PaymasterRpcError";
557
+ PaymasterRpcError.fields = proto3.util.newFieldList(() => [
558
+ { no: 1, name: "code", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
559
+ { no: 2, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */ },
560
+ { no: 3, name: "data", kind: "message", T: Value },
561
+ ]);
@@ -1,5 +1,6 @@
1
1
  import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
2
  import { Message, proto3 } from "@bufbuild/protobuf";
3
+ import { ApiKeyDataStruct } from "./apiKeyService_pb.js";
3
4
  /**
4
5
  * @generated from message uniswap.platformservice.v1.OrganizationServiceError
5
6
  */
@@ -325,9 +326,9 @@ export declare class InternalGetOrganizationResponse extends Message<InternalGet
325
326
  */
326
327
  users: InternalOrgMember[];
327
328
  /**
328
- * @generated from field: repeated uniswap.platformservice.v1.InternalOrgApiKey api_keys = 5;
329
+ * @generated from field: repeated uniswap.platformservice.v1.ApiKeyDataStruct api_keys = 5;
329
330
  */
330
- apiKeys: InternalOrgApiKey[];
331
+ apiKeys: ApiKeyDataStruct[];
331
332
  constructor(data?: PartialMessage<InternalGetOrganizationResponse>);
332
333
  static readonly runtime: typeof proto3;
333
334
  static readonly typeName = "uniswap.platformservice.v1.InternalGetOrganizationResponse";
@@ -3,6 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
  import { Message, proto3 } from "@bufbuild/protobuf";
6
+ import { ApiKeyDataStruct } from "./apiKeyService_pb.js";
6
7
  /**
7
8
  * @generated from message uniswap.platformservice.v1.OrganizationServiceError
8
9
  */
@@ -486,7 +487,7 @@ export class InternalGetOrganizationResponse extends Message {
486
487
  */
487
488
  this.users = [];
488
489
  /**
489
- * @generated from field: repeated uniswap.platformservice.v1.InternalOrgApiKey api_keys = 5;
490
+ * @generated from field: repeated uniswap.platformservice.v1.ApiKeyDataStruct api_keys = 5;
490
491
  */
491
492
  this.apiKeys = [];
492
493
  proto3.util.initPartial(data, this);
@@ -511,7 +512,7 @@ InternalGetOrganizationResponse.fields = proto3.util.newFieldList(() => [
511
512
  { no: 2, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
512
513
  { no: 3, name: "created_at", kind: "scalar", T: 9 /* ScalarType.STRING */ },
513
514
  { no: 4, name: "users", kind: "message", T: InternalOrgMember, repeated: true },
514
- { no: 5, name: "api_keys", kind: "message", T: InternalOrgApiKey, repeated: true },
515
+ { no: 5, name: "api_keys", kind: "message", T: ApiKeyDataStruct, repeated: true },
515
516
  ]);
516
517
  /**
517
518
  * @generated from message uniswap.platformservice.v1.InternalDeleteOrganizationRequest
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniswap/client-platform-service",
3
- "version": "0.0.18",
3
+ "version": "0.0.21",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },