clanker-sdk 4.2.9 → 4.2.10

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.
@@ -5839,6 +5839,892 @@ declare class Clanker {
5839
5839
  txHash: undefined;
5840
5840
  error: ClankerError;
5841
5841
  }>;
5842
+ /**
5843
+ * Get the transaction config for reading token rewards information from the locker contract.
5844
+ *
5845
+ * @param token The token address to get rewards info for
5846
+ * @param options Optional chain configuration
5847
+ * @returns Abi transaction config for reading token rewards
5848
+ */
5849
+ getTokenRewardsTransaction({ token }: {
5850
+ token: `0x${string}`;
5851
+ }, options?: {
5852
+ chain?: Chain;
5853
+ }): Promise<{
5854
+ readonly address: `0x${string}`;
5855
+ readonly abi: readonly [{
5856
+ readonly type: "constructor";
5857
+ readonly inputs: readonly [{
5858
+ readonly name: "owner_";
5859
+ readonly type: "address";
5860
+ readonly internalType: "address";
5861
+ }, {
5862
+ readonly name: "factory_";
5863
+ readonly type: "address";
5864
+ readonly internalType: "address";
5865
+ }, {
5866
+ readonly name: "feeLocker_";
5867
+ readonly type: "address";
5868
+ readonly internalType: "address";
5869
+ }, {
5870
+ readonly name: "positionManager_";
5871
+ readonly type: "address";
5872
+ readonly internalType: "address";
5873
+ }, {
5874
+ readonly name: "permit2_";
5875
+ readonly type: "address";
5876
+ readonly internalType: "address";
5877
+ }, {
5878
+ readonly name: "universalRouter_";
5879
+ readonly type: "address";
5880
+ readonly internalType: "address";
5881
+ }, {
5882
+ readonly name: "poolManager_";
5883
+ readonly type: "address";
5884
+ readonly internalType: "address";
5885
+ }];
5886
+ readonly stateMutability: "nonpayable";
5887
+ }, {
5888
+ readonly type: "function";
5889
+ readonly name: "BASIS_POINTS";
5890
+ readonly inputs: readonly [];
5891
+ readonly outputs: readonly [{
5892
+ readonly name: "";
5893
+ readonly type: "uint256";
5894
+ readonly internalType: "uint256";
5895
+ }];
5896
+ readonly stateMutability: "view";
5897
+ }, {
5898
+ readonly type: "function";
5899
+ readonly name: "MAX_LP_POSITIONS";
5900
+ readonly inputs: readonly [];
5901
+ readonly outputs: readonly [{
5902
+ readonly name: "";
5903
+ readonly type: "uint256";
5904
+ readonly internalType: "uint256";
5905
+ }];
5906
+ readonly stateMutability: "view";
5907
+ }, {
5908
+ readonly type: "function";
5909
+ readonly name: "MAX_REWARD_PARTICIPANTS";
5910
+ readonly inputs: readonly [];
5911
+ readonly outputs: readonly [{
5912
+ readonly name: "";
5913
+ readonly type: "uint256";
5914
+ readonly internalType: "uint256";
5915
+ }];
5916
+ readonly stateMutability: "view";
5917
+ }, {
5918
+ readonly type: "function";
5919
+ readonly name: "collectRewards";
5920
+ readonly inputs: readonly [{
5921
+ readonly name: "token";
5922
+ readonly type: "address";
5923
+ readonly internalType: "address";
5924
+ }];
5925
+ readonly outputs: readonly [];
5926
+ readonly stateMutability: "nonpayable";
5927
+ }, {
5928
+ readonly type: "function";
5929
+ readonly name: "collectRewardsWithoutUnlock";
5930
+ readonly inputs: readonly [{
5931
+ readonly name: "token";
5932
+ readonly type: "address";
5933
+ readonly internalType: "address";
5934
+ }];
5935
+ readonly outputs: readonly [];
5936
+ readonly stateMutability: "nonpayable";
5937
+ }, {
5938
+ readonly type: "function";
5939
+ readonly name: "factory";
5940
+ readonly inputs: readonly [];
5941
+ readonly outputs: readonly [{
5942
+ readonly name: "";
5943
+ readonly type: "address";
5944
+ readonly internalType: "address";
5945
+ }];
5946
+ readonly stateMutability: "view";
5947
+ }, {
5948
+ readonly type: "function";
5949
+ readonly name: "feeLocker";
5950
+ readonly inputs: readonly [];
5951
+ readonly outputs: readonly [{
5952
+ readonly name: "";
5953
+ readonly type: "address";
5954
+ readonly internalType: "contract IClankerFeeLocker";
5955
+ }];
5956
+ readonly stateMutability: "view";
5957
+ }, {
5958
+ readonly type: "function";
5959
+ readonly name: "feePreferences";
5960
+ readonly inputs: readonly [{
5961
+ readonly name: "token";
5962
+ readonly type: "address";
5963
+ readonly internalType: "address";
5964
+ }, {
5965
+ readonly name: "";
5966
+ readonly type: "uint256";
5967
+ readonly internalType: "uint256";
5968
+ }];
5969
+ readonly outputs: readonly [{
5970
+ readonly name: "feePreference";
5971
+ readonly type: "uint8";
5972
+ readonly internalType: "enum IClankerLpLockerFeeConversion.FeeIn";
5973
+ }];
5974
+ readonly stateMutability: "view";
5975
+ }, {
5976
+ readonly type: "function";
5977
+ readonly name: "onERC721Received";
5978
+ readonly inputs: readonly [{
5979
+ readonly name: "";
5980
+ readonly type: "address";
5981
+ readonly internalType: "address";
5982
+ }, {
5983
+ readonly name: "from";
5984
+ readonly type: "address";
5985
+ readonly internalType: "address";
5986
+ }, {
5987
+ readonly name: "id";
5988
+ readonly type: "uint256";
5989
+ readonly internalType: "uint256";
5990
+ }, {
5991
+ readonly name: "";
5992
+ readonly type: "bytes";
5993
+ readonly internalType: "bytes";
5994
+ }];
5995
+ readonly outputs: readonly [{
5996
+ readonly name: "";
5997
+ readonly type: "bytes4";
5998
+ readonly internalType: "bytes4";
5999
+ }];
6000
+ readonly stateMutability: "nonpayable";
6001
+ }, {
6002
+ readonly type: "function";
6003
+ readonly name: "owner";
6004
+ readonly inputs: readonly [];
6005
+ readonly outputs: readonly [{
6006
+ readonly name: "";
6007
+ readonly type: "address";
6008
+ readonly internalType: "address";
6009
+ }];
6010
+ readonly stateMutability: "view";
6011
+ }, {
6012
+ readonly type: "function";
6013
+ readonly name: "permit2";
6014
+ readonly inputs: readonly [];
6015
+ readonly outputs: readonly [{
6016
+ readonly name: "";
6017
+ readonly type: "address";
6018
+ readonly internalType: "contract IPermit2";
6019
+ }];
6020
+ readonly stateMutability: "view";
6021
+ }, {
6022
+ readonly type: "function";
6023
+ readonly name: "placeLiquidity";
6024
+ readonly inputs: readonly [{
6025
+ readonly name: "lockerConfig";
6026
+ readonly type: "tuple";
6027
+ readonly internalType: "struct IClanker.LockerConfig";
6028
+ readonly components: readonly [{
6029
+ readonly name: "locker";
6030
+ readonly type: "address";
6031
+ readonly internalType: "address";
6032
+ }, {
6033
+ readonly name: "rewardAdmins";
6034
+ readonly type: "address[]";
6035
+ readonly internalType: "address[]";
6036
+ }, {
6037
+ readonly name: "rewardRecipients";
6038
+ readonly type: "address[]";
6039
+ readonly internalType: "address[]";
6040
+ }, {
6041
+ readonly name: "rewardBps";
6042
+ readonly type: "uint16[]";
6043
+ readonly internalType: "uint16[]";
6044
+ }, {
6045
+ readonly name: "tickLower";
6046
+ readonly type: "int24[]";
6047
+ readonly internalType: "int24[]";
6048
+ }, {
6049
+ readonly name: "tickUpper";
6050
+ readonly type: "int24[]";
6051
+ readonly internalType: "int24[]";
6052
+ }, {
6053
+ readonly name: "positionBps";
6054
+ readonly type: "uint16[]";
6055
+ readonly internalType: "uint16[]";
6056
+ }, {
6057
+ readonly name: "lockerData";
6058
+ readonly type: "bytes";
6059
+ readonly internalType: "bytes";
6060
+ }];
6061
+ }, {
6062
+ readonly name: "poolConfig";
6063
+ readonly type: "tuple";
6064
+ readonly internalType: "struct IClanker.PoolConfig";
6065
+ readonly components: readonly [{
6066
+ readonly name: "hook";
6067
+ readonly type: "address";
6068
+ readonly internalType: "address";
6069
+ }, {
6070
+ readonly name: "pairedToken";
6071
+ readonly type: "address";
6072
+ readonly internalType: "address";
6073
+ }, {
6074
+ readonly name: "tickIfToken0IsClanker";
6075
+ readonly type: "int24";
6076
+ readonly internalType: "int24";
6077
+ }, {
6078
+ readonly name: "tickSpacing";
6079
+ readonly type: "int24";
6080
+ readonly internalType: "int24";
6081
+ }, {
6082
+ readonly name: "poolData";
6083
+ readonly type: "bytes";
6084
+ readonly internalType: "bytes";
6085
+ }];
6086
+ }, {
6087
+ readonly name: "poolKey";
6088
+ readonly type: "tuple";
6089
+ readonly internalType: "struct PoolKey";
6090
+ readonly components: readonly [{
6091
+ readonly name: "currency0";
6092
+ readonly type: "address";
6093
+ readonly internalType: "Currency";
6094
+ }, {
6095
+ readonly name: "currency1";
6096
+ readonly type: "address";
6097
+ readonly internalType: "Currency";
6098
+ }, {
6099
+ readonly name: "fee";
6100
+ readonly type: "uint24";
6101
+ readonly internalType: "uint24";
6102
+ }, {
6103
+ readonly name: "tickSpacing";
6104
+ readonly type: "int24";
6105
+ readonly internalType: "int24";
6106
+ }, {
6107
+ readonly name: "hooks";
6108
+ readonly type: "address";
6109
+ readonly internalType: "contract IHooks";
6110
+ }];
6111
+ }, {
6112
+ readonly name: "poolSupply";
6113
+ readonly type: "uint256";
6114
+ readonly internalType: "uint256";
6115
+ }, {
6116
+ readonly name: "token";
6117
+ readonly type: "address";
6118
+ readonly internalType: "address";
6119
+ }];
6120
+ readonly outputs: readonly [{
6121
+ readonly name: "positionId";
6122
+ readonly type: "uint256";
6123
+ readonly internalType: "uint256";
6124
+ }];
6125
+ readonly stateMutability: "nonpayable";
6126
+ }, {
6127
+ readonly type: "function";
6128
+ readonly name: "poolManager";
6129
+ readonly inputs: readonly [];
6130
+ readonly outputs: readonly [{
6131
+ readonly name: "";
6132
+ readonly type: "address";
6133
+ readonly internalType: "contract IPoolManager";
6134
+ }];
6135
+ readonly stateMutability: "view";
6136
+ }, {
6137
+ readonly type: "function";
6138
+ readonly name: "positionManager";
6139
+ readonly inputs: readonly [];
6140
+ readonly outputs: readonly [{
6141
+ readonly name: "";
6142
+ readonly type: "address";
6143
+ readonly internalType: "contract IPositionManager";
6144
+ }];
6145
+ readonly stateMutability: "view";
6146
+ }, {
6147
+ readonly type: "function";
6148
+ readonly name: "renounceOwnership";
6149
+ readonly inputs: readonly [];
6150
+ readonly outputs: readonly [];
6151
+ readonly stateMutability: "nonpayable";
6152
+ }, {
6153
+ readonly type: "function";
6154
+ readonly name: "supportsInterface";
6155
+ readonly inputs: readonly [{
6156
+ readonly name: "interfaceId";
6157
+ readonly type: "bytes4";
6158
+ readonly internalType: "bytes4";
6159
+ }];
6160
+ readonly outputs: readonly [{
6161
+ readonly name: "";
6162
+ readonly type: "bool";
6163
+ readonly internalType: "bool";
6164
+ }];
6165
+ readonly stateMutability: "pure";
6166
+ }, {
6167
+ readonly type: "function";
6168
+ readonly name: "tokenRewards";
6169
+ readonly inputs: readonly [{
6170
+ readonly name: "token";
6171
+ readonly type: "address";
6172
+ readonly internalType: "address";
6173
+ }];
6174
+ readonly outputs: readonly [{
6175
+ readonly name: "";
6176
+ readonly type: "tuple";
6177
+ readonly internalType: "struct IClankerLpLocker.TokenRewardInfo";
6178
+ readonly components: readonly [{
6179
+ readonly name: "token";
6180
+ readonly type: "address";
6181
+ readonly internalType: "address";
6182
+ }, {
6183
+ readonly name: "poolKey";
6184
+ readonly type: "tuple";
6185
+ readonly internalType: "struct PoolKey";
6186
+ readonly components: readonly [{
6187
+ readonly name: "currency0";
6188
+ readonly type: "address";
6189
+ readonly internalType: "Currency";
6190
+ }, {
6191
+ readonly name: "currency1";
6192
+ readonly type: "address";
6193
+ readonly internalType: "Currency";
6194
+ }, {
6195
+ readonly name: "fee";
6196
+ readonly type: "uint24";
6197
+ readonly internalType: "uint24";
6198
+ }, {
6199
+ readonly name: "tickSpacing";
6200
+ readonly type: "int24";
6201
+ readonly internalType: "int24";
6202
+ }, {
6203
+ readonly name: "hooks";
6204
+ readonly type: "address";
6205
+ readonly internalType: "contract IHooks";
6206
+ }];
6207
+ }, {
6208
+ readonly name: "positionId";
6209
+ readonly type: "uint256";
6210
+ readonly internalType: "uint256";
6211
+ }, {
6212
+ readonly name: "numPositions";
6213
+ readonly type: "uint256";
6214
+ readonly internalType: "uint256";
6215
+ }, {
6216
+ readonly name: "rewardBps";
6217
+ readonly type: "uint16[]";
6218
+ readonly internalType: "uint16[]";
6219
+ }, {
6220
+ readonly name: "rewardAdmins";
6221
+ readonly type: "address[]";
6222
+ readonly internalType: "address[]";
6223
+ }, {
6224
+ readonly name: "rewardRecipients";
6225
+ readonly type: "address[]";
6226
+ readonly internalType: "address[]";
6227
+ }];
6228
+ }];
6229
+ readonly stateMutability: "view";
6230
+ }, {
6231
+ readonly type: "function";
6232
+ readonly name: "transferOwnership";
6233
+ readonly inputs: readonly [{
6234
+ readonly name: "newOwner";
6235
+ readonly type: "address";
6236
+ readonly internalType: "address";
6237
+ }];
6238
+ readonly outputs: readonly [];
6239
+ readonly stateMutability: "nonpayable";
6240
+ }, {
6241
+ readonly type: "function";
6242
+ readonly name: "universalRouter";
6243
+ readonly inputs: readonly [];
6244
+ readonly outputs: readonly [{
6245
+ readonly name: "";
6246
+ readonly type: "address";
6247
+ readonly internalType: "contract IUniversalRouter";
6248
+ }];
6249
+ readonly stateMutability: "view";
6250
+ }, {
6251
+ readonly type: "function";
6252
+ readonly name: "updateFeePreference";
6253
+ readonly inputs: readonly [{
6254
+ readonly name: "token";
6255
+ readonly type: "address";
6256
+ readonly internalType: "address";
6257
+ }, {
6258
+ readonly name: "rewardIndex";
6259
+ readonly type: "uint256";
6260
+ readonly internalType: "uint256";
6261
+ }, {
6262
+ readonly name: "newFeePreference";
6263
+ readonly type: "uint8";
6264
+ readonly internalType: "enum IClankerLpLockerFeeConversion.FeeIn";
6265
+ }];
6266
+ readonly outputs: readonly [];
6267
+ readonly stateMutability: "nonpayable";
6268
+ }, {
6269
+ readonly type: "function";
6270
+ readonly name: "updateRewardAdmin";
6271
+ readonly inputs: readonly [{
6272
+ readonly name: "token";
6273
+ readonly type: "address";
6274
+ readonly internalType: "address";
6275
+ }, {
6276
+ readonly name: "rewardIndex";
6277
+ readonly type: "uint256";
6278
+ readonly internalType: "uint256";
6279
+ }, {
6280
+ readonly name: "newAdmin";
6281
+ readonly type: "address";
6282
+ readonly internalType: "address";
6283
+ }];
6284
+ readonly outputs: readonly [];
6285
+ readonly stateMutability: "nonpayable";
6286
+ }, {
6287
+ readonly type: "function";
6288
+ readonly name: "updateRewardRecipient";
6289
+ readonly inputs: readonly [{
6290
+ readonly name: "token";
6291
+ readonly type: "address";
6292
+ readonly internalType: "address";
6293
+ }, {
6294
+ readonly name: "rewardIndex";
6295
+ readonly type: "uint256";
6296
+ readonly internalType: "uint256";
6297
+ }, {
6298
+ readonly name: "newRecipient";
6299
+ readonly type: "address";
6300
+ readonly internalType: "address";
6301
+ }];
6302
+ readonly outputs: readonly [];
6303
+ readonly stateMutability: "nonpayable";
6304
+ }, {
6305
+ readonly type: "function";
6306
+ readonly name: "version";
6307
+ readonly inputs: readonly [];
6308
+ readonly outputs: readonly [{
6309
+ readonly name: "";
6310
+ readonly type: "string";
6311
+ readonly internalType: "string";
6312
+ }];
6313
+ readonly stateMutability: "view";
6314
+ }, {
6315
+ readonly type: "function";
6316
+ readonly name: "withdrawERC20";
6317
+ readonly inputs: readonly [{
6318
+ readonly name: "token";
6319
+ readonly type: "address";
6320
+ readonly internalType: "address";
6321
+ }, {
6322
+ readonly name: "recipient";
6323
+ readonly type: "address";
6324
+ readonly internalType: "address";
6325
+ }];
6326
+ readonly outputs: readonly [];
6327
+ readonly stateMutability: "nonpayable";
6328
+ }, {
6329
+ readonly type: "function";
6330
+ readonly name: "withdrawETH";
6331
+ readonly inputs: readonly [{
6332
+ readonly name: "recipient";
6333
+ readonly type: "address";
6334
+ readonly internalType: "address";
6335
+ }];
6336
+ readonly outputs: readonly [];
6337
+ readonly stateMutability: "nonpayable";
6338
+ }, {
6339
+ readonly type: "event";
6340
+ readonly name: "ClaimedRewards";
6341
+ readonly inputs: readonly [{
6342
+ readonly name: "token";
6343
+ readonly type: "address";
6344
+ readonly indexed: true;
6345
+ readonly internalType: "address";
6346
+ }, {
6347
+ readonly name: "amount0";
6348
+ readonly type: "uint256";
6349
+ readonly indexed: false;
6350
+ readonly internalType: "uint256";
6351
+ }, {
6352
+ readonly name: "amount1";
6353
+ readonly type: "uint256";
6354
+ readonly indexed: false;
6355
+ readonly internalType: "uint256";
6356
+ }, {
6357
+ readonly name: "rewards0";
6358
+ readonly type: "uint256[]";
6359
+ readonly indexed: false;
6360
+ readonly internalType: "uint256[]";
6361
+ }, {
6362
+ readonly name: "rewards1";
6363
+ readonly type: "uint256[]";
6364
+ readonly indexed: false;
6365
+ readonly internalType: "uint256[]";
6366
+ }];
6367
+ readonly anonymous: false;
6368
+ }, {
6369
+ readonly type: "event";
6370
+ readonly name: "FeePreferenceUpdated";
6371
+ readonly inputs: readonly [{
6372
+ readonly name: "token";
6373
+ readonly type: "address";
6374
+ readonly indexed: true;
6375
+ readonly internalType: "address";
6376
+ }, {
6377
+ readonly name: "rewardIndex";
6378
+ readonly type: "uint256";
6379
+ readonly indexed: true;
6380
+ readonly internalType: "uint256";
6381
+ }, {
6382
+ readonly name: "oldFeePreference";
6383
+ readonly type: "uint8";
6384
+ readonly indexed: false;
6385
+ readonly internalType: "enum IClankerLpLockerFeeConversion.FeeIn";
6386
+ }, {
6387
+ readonly name: "newFeePreference";
6388
+ readonly type: "uint8";
6389
+ readonly indexed: true;
6390
+ readonly internalType: "enum IClankerLpLockerFeeConversion.FeeIn";
6391
+ }];
6392
+ readonly anonymous: false;
6393
+ }, {
6394
+ readonly type: "event";
6395
+ readonly name: "FeesSwapped";
6396
+ readonly inputs: readonly [{
6397
+ readonly name: "token";
6398
+ readonly type: "address";
6399
+ readonly indexed: true;
6400
+ readonly internalType: "address";
6401
+ }, {
6402
+ readonly name: "rewardToken";
6403
+ readonly type: "address";
6404
+ readonly indexed: true;
6405
+ readonly internalType: "address";
6406
+ }, {
6407
+ readonly name: "amountSwapped";
6408
+ readonly type: "uint256";
6409
+ readonly indexed: false;
6410
+ readonly internalType: "uint256";
6411
+ }, {
6412
+ readonly name: "swappedToken";
6413
+ readonly type: "address";
6414
+ readonly indexed: true;
6415
+ readonly internalType: "address";
6416
+ }, {
6417
+ readonly name: "amountOut";
6418
+ readonly type: "uint256";
6419
+ readonly indexed: false;
6420
+ readonly internalType: "uint256";
6421
+ }];
6422
+ readonly anonymous: false;
6423
+ }, {
6424
+ readonly type: "event";
6425
+ readonly name: "InitialFeePreferences";
6426
+ readonly inputs: readonly [{
6427
+ readonly name: "token";
6428
+ readonly type: "address";
6429
+ readonly indexed: true;
6430
+ readonly internalType: "address";
6431
+ }, {
6432
+ readonly name: "feePreference";
6433
+ readonly type: "uint8[]";
6434
+ readonly indexed: false;
6435
+ readonly internalType: "enum IClankerLpLockerFeeConversion.FeeIn[]";
6436
+ }];
6437
+ readonly anonymous: false;
6438
+ }, {
6439
+ readonly type: "event";
6440
+ readonly name: "OwnershipTransferred";
6441
+ readonly inputs: readonly [{
6442
+ readonly name: "previousOwner";
6443
+ readonly type: "address";
6444
+ readonly indexed: true;
6445
+ readonly internalType: "address";
6446
+ }, {
6447
+ readonly name: "newOwner";
6448
+ readonly type: "address";
6449
+ readonly indexed: true;
6450
+ readonly internalType: "address";
6451
+ }];
6452
+ readonly anonymous: false;
6453
+ }, {
6454
+ readonly type: "event";
6455
+ readonly name: "Received";
6456
+ readonly inputs: readonly [{
6457
+ readonly name: "from";
6458
+ readonly type: "address";
6459
+ readonly indexed: true;
6460
+ readonly internalType: "address";
6461
+ }, {
6462
+ readonly name: "positionId";
6463
+ readonly type: "uint256";
6464
+ readonly indexed: false;
6465
+ readonly internalType: "uint256";
6466
+ }];
6467
+ readonly anonymous: false;
6468
+ }, {
6469
+ readonly type: "event";
6470
+ readonly name: "RewardAdminUpdated";
6471
+ readonly inputs: readonly [{
6472
+ readonly name: "token";
6473
+ readonly type: "address";
6474
+ readonly indexed: true;
6475
+ readonly internalType: "address";
6476
+ }, {
6477
+ readonly name: "rewardIndex";
6478
+ readonly type: "uint256";
6479
+ readonly indexed: true;
6480
+ readonly internalType: "uint256";
6481
+ }, {
6482
+ readonly name: "oldAdmin";
6483
+ readonly type: "address";
6484
+ readonly indexed: false;
6485
+ readonly internalType: "address";
6486
+ }, {
6487
+ readonly name: "newAdmin";
6488
+ readonly type: "address";
6489
+ readonly indexed: false;
6490
+ readonly internalType: "address";
6491
+ }];
6492
+ readonly anonymous: false;
6493
+ }, {
6494
+ readonly type: "event";
6495
+ readonly name: "RewardRecipientUpdated";
6496
+ readonly inputs: readonly [{
6497
+ readonly name: "token";
6498
+ readonly type: "address";
6499
+ readonly indexed: true;
6500
+ readonly internalType: "address";
6501
+ }, {
6502
+ readonly name: "rewardIndex";
6503
+ readonly type: "uint256";
6504
+ readonly indexed: true;
6505
+ readonly internalType: "uint256";
6506
+ }, {
6507
+ readonly name: "oldRecipient";
6508
+ readonly type: "address";
6509
+ readonly indexed: false;
6510
+ readonly internalType: "address";
6511
+ }, {
6512
+ readonly name: "newRecipient";
6513
+ readonly type: "address";
6514
+ readonly indexed: false;
6515
+ readonly internalType: "address";
6516
+ }];
6517
+ readonly anonymous: false;
6518
+ }, {
6519
+ readonly type: "event";
6520
+ readonly name: "TokenRewardAdded";
6521
+ readonly inputs: readonly [{
6522
+ readonly name: "token";
6523
+ readonly type: "address";
6524
+ readonly indexed: false;
6525
+ readonly internalType: "address";
6526
+ }, {
6527
+ readonly name: "poolKey";
6528
+ readonly type: "tuple";
6529
+ readonly indexed: false;
6530
+ readonly internalType: "struct PoolKey";
6531
+ readonly components: readonly [{
6532
+ readonly name: "currency0";
6533
+ readonly type: "address";
6534
+ readonly internalType: "Currency";
6535
+ }, {
6536
+ readonly name: "currency1";
6537
+ readonly type: "address";
6538
+ readonly internalType: "Currency";
6539
+ }, {
6540
+ readonly name: "fee";
6541
+ readonly type: "uint24";
6542
+ readonly internalType: "uint24";
6543
+ }, {
6544
+ readonly name: "tickSpacing";
6545
+ readonly type: "int24";
6546
+ readonly internalType: "int24";
6547
+ }, {
6548
+ readonly name: "hooks";
6549
+ readonly type: "address";
6550
+ readonly internalType: "contract IHooks";
6551
+ }];
6552
+ }, {
6553
+ readonly name: "poolSupply";
6554
+ readonly type: "uint256";
6555
+ readonly indexed: false;
6556
+ readonly internalType: "uint256";
6557
+ }, {
6558
+ readonly name: "positionId";
6559
+ readonly type: "uint256";
6560
+ readonly indexed: false;
6561
+ readonly internalType: "uint256";
6562
+ }, {
6563
+ readonly name: "numPositions";
6564
+ readonly type: "uint256";
6565
+ readonly indexed: false;
6566
+ readonly internalType: "uint256";
6567
+ }, {
6568
+ readonly name: "rewardBps";
6569
+ readonly type: "uint16[]";
6570
+ readonly indexed: false;
6571
+ readonly internalType: "uint16[]";
6572
+ }, {
6573
+ readonly name: "rewardAdmins";
6574
+ readonly type: "address[]";
6575
+ readonly indexed: false;
6576
+ readonly internalType: "address[]";
6577
+ }, {
6578
+ readonly name: "rewardRecipients";
6579
+ readonly type: "address[]";
6580
+ readonly indexed: false;
6581
+ readonly internalType: "address[]";
6582
+ }, {
6583
+ readonly name: "tickLower";
6584
+ readonly type: "int24[]";
6585
+ readonly indexed: false;
6586
+ readonly internalType: "int24[]";
6587
+ }, {
6588
+ readonly name: "tickUpper";
6589
+ readonly type: "int24[]";
6590
+ readonly indexed: false;
6591
+ readonly internalType: "int24[]";
6592
+ }, {
6593
+ readonly name: "positionBps";
6594
+ readonly type: "uint16[]";
6595
+ readonly indexed: false;
6596
+ readonly internalType: "uint16[]";
6597
+ }];
6598
+ readonly anonymous: false;
6599
+ }, {
6600
+ readonly type: "error";
6601
+ readonly name: "InvalidPositionBps";
6602
+ readonly inputs: readonly [];
6603
+ }, {
6604
+ readonly type: "error";
6605
+ readonly name: "InvalidRewardBps";
6606
+ readonly inputs: readonly [];
6607
+ }, {
6608
+ readonly type: "error";
6609
+ readonly name: "MismatchedPositionInfos";
6610
+ readonly inputs: readonly [];
6611
+ }, {
6612
+ readonly type: "error";
6613
+ readonly name: "MismatchedRewardArrays";
6614
+ readonly inputs: readonly [];
6615
+ }, {
6616
+ readonly type: "error";
6617
+ readonly name: "NoPositions";
6618
+ readonly inputs: readonly [];
6619
+ }, {
6620
+ readonly type: "error";
6621
+ readonly name: "NoRewardRecipients";
6622
+ readonly inputs: readonly [];
6623
+ }, {
6624
+ readonly type: "error";
6625
+ readonly name: "OwnableInvalidOwner";
6626
+ readonly inputs: readonly [{
6627
+ readonly name: "owner";
6628
+ readonly type: "address";
6629
+ readonly internalType: "address";
6630
+ }];
6631
+ }, {
6632
+ readonly type: "error";
6633
+ readonly name: "OwnableUnauthorizedAccount";
6634
+ readonly inputs: readonly [{
6635
+ readonly name: "account";
6636
+ readonly type: "address";
6637
+ readonly internalType: "address";
6638
+ }];
6639
+ }, {
6640
+ readonly type: "error";
6641
+ readonly name: "ReentrancyGuardReentrantCall";
6642
+ readonly inputs: readonly [];
6643
+ }, {
6644
+ readonly type: "error";
6645
+ readonly name: "SafeERC20FailedOperation";
6646
+ readonly inputs: readonly [{
6647
+ readonly name: "token";
6648
+ readonly type: "address";
6649
+ readonly internalType: "address";
6650
+ }];
6651
+ }, {
6652
+ readonly type: "error";
6653
+ readonly name: "TickRangeLowerThanStartingTick";
6654
+ readonly inputs: readonly [];
6655
+ }, {
6656
+ readonly type: "error";
6657
+ readonly name: "TicksBackwards";
6658
+ readonly inputs: readonly [];
6659
+ }, {
6660
+ readonly type: "error";
6661
+ readonly name: "TicksNotMultipleOfTickSpacing";
6662
+ readonly inputs: readonly [];
6663
+ }, {
6664
+ readonly type: "error";
6665
+ readonly name: "TicksOutOfTickBounds";
6666
+ readonly inputs: readonly [];
6667
+ }, {
6668
+ readonly type: "error";
6669
+ readonly name: "TokenAlreadyHasRewards";
6670
+ readonly inputs: readonly [];
6671
+ }, {
6672
+ readonly type: "error";
6673
+ readonly name: "TooManyPositions";
6674
+ readonly inputs: readonly [];
6675
+ }, {
6676
+ readonly type: "error";
6677
+ readonly name: "TooManyRewardParticipants";
6678
+ readonly inputs: readonly [];
6679
+ }, {
6680
+ readonly type: "error";
6681
+ readonly name: "Unauthorized";
6682
+ readonly inputs: readonly [];
6683
+ }, {
6684
+ readonly type: "error";
6685
+ readonly name: "ZeroRewardAddress";
6686
+ readonly inputs: readonly [];
6687
+ }, {
6688
+ readonly type: "error";
6689
+ readonly name: "ZeroRewardAmount";
6690
+ readonly inputs: readonly [];
6691
+ }];
6692
+ readonly functionName: "tokenRewards";
6693
+ readonly args: readonly [`0x${string}`];
6694
+ }>;
6695
+ /**
6696
+ * Get the token rewards information from the locker contract.
6697
+ * This is useful for obtaining the rewardIndex needed for updateRewardRecipient and updateRewardAdmin.
6698
+ *
6699
+ * The returned object contains:
6700
+ * - token: The token address
6701
+ * - poolKey: The Uniswap V4 pool key
6702
+ * - positionId: The LP position ID
6703
+ * - numPositions: Number of LP positions
6704
+ * - rewardBps: Array of reward basis points for each recipient
6705
+ * - rewardAdmins: Array of admin addresses (index = rewardIndex)
6706
+ * - rewardRecipients: Array of recipient addresses (index = rewardIndex)
6707
+ *
6708
+ * @param token The token address to get rewards info for
6709
+ * @returns Token rewards information including rewardAdmins and rewardRecipients arrays
6710
+ */
6711
+ getTokenRewards({ token }: {
6712
+ token: `0x${string}`;
6713
+ }): Promise<{
6714
+ token: `0x${string}`;
6715
+ poolKey: {
6716
+ currency0: `0x${string}`;
6717
+ currency1: `0x${string}`;
6718
+ fee: number;
6719
+ tickSpacing: number;
6720
+ hooks: `0x${string}`;
6721
+ };
6722
+ positionId: bigint;
6723
+ numPositions: bigint;
6724
+ rewardBps: readonly number[];
6725
+ rewardAdmins: readonly `0x${string}`[];
6726
+ rewardRecipients: readonly `0x${string}`[];
6727
+ }>;
5842
6728
  }
5843
6729
 
5844
6730
  export { Clanker };
package/dist/v4/index.js CHANGED
@@ -7787,6 +7787,48 @@ var Clanker = class {
7787
7787
  const input = await this.getUpdateMetadataTransaction({ token, metadata });
7788
7788
  return writeClankerContract(this.publicClient, this.wallet, input);
7789
7789
  }
7790
+ /**
7791
+ * Get the transaction config for reading token rewards information from the locker contract.
7792
+ *
7793
+ * @param token The token address to get rewards info for
7794
+ * @param options Optional chain configuration
7795
+ * @returns Abi transaction config for reading token rewards
7796
+ */
7797
+ async getTokenRewardsTransaction({ token }, options) {
7798
+ const chain = this.publicClient?.chain || options?.chain || base3;
7799
+ const config = clankerConfigFor(
7800
+ chain.id,
7801
+ "clanker_v4"
7802
+ );
7803
+ if (!config) throw new Error(`Clanker is not ready on ${chain.id}`);
7804
+ return {
7805
+ address: config.related.locker,
7806
+ abi: ClankerLocker_v4_abi,
7807
+ functionName: "tokenRewards",
7808
+ args: [token]
7809
+ };
7810
+ }
7811
+ /**
7812
+ * Get the token rewards information from the locker contract.
7813
+ * This is useful for obtaining the rewardIndex needed for updateRewardRecipient and updateRewardAdmin.
7814
+ *
7815
+ * The returned object contains:
7816
+ * - token: The token address
7817
+ * - poolKey: The Uniswap V4 pool key
7818
+ * - positionId: The LP position ID
7819
+ * - numPositions: Number of LP positions
7820
+ * - rewardBps: Array of reward basis points for each recipient
7821
+ * - rewardAdmins: Array of admin addresses (index = rewardIndex)
7822
+ * - rewardRecipients: Array of recipient addresses (index = rewardIndex)
7823
+ *
7824
+ * @param token The token address to get rewards info for
7825
+ * @returns Token rewards information including rewardAdmins and rewardRecipients arrays
7826
+ */
7827
+ async getTokenRewards({ token }) {
7828
+ if (!this.publicClient) throw new Error("Public client required");
7829
+ const tx = await this.getTokenRewardsTransaction({ token });
7830
+ return this.publicClient.readContract(tx);
7831
+ }
7790
7832
  };
7791
7833
  export {
7792
7834
  Clanker,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clanker-sdk",
3
- "version": "4.2.9",
3
+ "version": "4.2.10",
4
4
  "description": "SDK for deploying tokens using Clanker",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",