@bananapus/nana-sdk-core 2.9.0 → 2.11.0

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.
Files changed (41) hide show
  1. package/dist/cjs/contracts.d.ts +8 -1
  2. package/dist/cjs/contracts.d.ts.map +1 -1
  3. package/dist/cjs/contracts.js +9 -1
  4. package/dist/cjs/contracts.js.map +1 -1
  5. package/dist/cjs/generated/juicebox.d.ts +3846 -0
  6. package/dist/cjs/generated/juicebox.d.ts.map +1 -1
  7. package/dist/cjs/generated/juicebox.js +2802 -2
  8. package/dist/cjs/generated/juicebox.js.map +1 -1
  9. package/dist/cjs/jbcenter/decode.d.ts +0 -10
  10. package/dist/cjs/jbcenter/decode.d.ts.map +1 -1
  11. package/dist/cjs/jbcenter/decode.js +0 -45
  12. package/dist/cjs/jbcenter/decode.js.map +1 -1
  13. package/dist/cjs/jbcenter/ensureDeployed.d.ts +25 -6
  14. package/dist/cjs/jbcenter/ensureDeployed.d.ts.map +1 -1
  15. package/dist/cjs/jbcenter/ensureDeployed.js +111 -25
  16. package/dist/cjs/jbcenter/ensureDeployed.js.map +1 -1
  17. package/dist/cjs/jbcenter.d.ts +51 -2
  18. package/dist/cjs/jbcenter.d.ts.map +1 -1
  19. package/dist/cjs/jbcenter.js +79 -6
  20. package/dist/cjs/jbcenter.js.map +1 -1
  21. package/dist/esm/contracts.d.ts +8 -1
  22. package/dist/esm/contracts.d.ts.map +1 -1
  23. package/dist/esm/contracts.js +8 -0
  24. package/dist/esm/contracts.js.map +1 -1
  25. package/dist/esm/generated/juicebox.d.ts +3846 -0
  26. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  27. package/dist/esm/generated/juicebox.js +2800 -0
  28. package/dist/esm/generated/juicebox.js.map +1 -1
  29. package/dist/esm/jbcenter/decode.d.ts +0 -10
  30. package/dist/esm/jbcenter/decode.d.ts.map +1 -1
  31. package/dist/esm/jbcenter/decode.js +1 -46
  32. package/dist/esm/jbcenter/decode.js.map +1 -1
  33. package/dist/esm/jbcenter/ensureDeployed.d.ts +25 -6
  34. package/dist/esm/jbcenter/ensureDeployed.d.ts.map +1 -1
  35. package/dist/esm/jbcenter/ensureDeployed.js +113 -27
  36. package/dist/esm/jbcenter/ensureDeployed.js.map +1 -1
  37. package/dist/esm/jbcenter.d.ts +51 -2
  38. package/dist/esm/jbcenter.d.ts.map +1 -1
  39. package/dist/esm/jbcenter.js +77 -6
  40. package/dist/esm/jbcenter.js.map +1 -1
  41. package/package.json +1 -1
@@ -65832,6 +65832,2756 @@ export const revOwnerAbi = [
65832
65832
  name: 'SafeERC20FailedOperation',
65833
65833
  },
65834
65834
  ];
65835
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
65836
+ // StickyAutoStick
65837
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
65838
+ export const stickyAutoStickAbi = [
65839
+ {
65840
+ type: 'constructor',
65841
+ inputs: [
65842
+ {
65843
+ name: 'deployer',
65844
+ internalType: 'contract IStickyDeployer',
65845
+ type: 'address',
65846
+ },
65847
+ {
65848
+ name: 'distributor',
65849
+ internalType: 'contract IStickyDistributor',
65850
+ type: 'address',
65851
+ },
65852
+ ],
65853
+ stateMutability: 'nonpayable',
65854
+ },
65855
+ {
65856
+ type: 'function',
65857
+ inputs: [],
65858
+ name: 'DEPLOYER',
65859
+ outputs: [
65860
+ { name: '', internalType: 'contract IStickyDeployer', type: 'address' },
65861
+ ],
65862
+ stateMutability: 'view',
65863
+ },
65864
+ {
65865
+ type: 'function',
65866
+ inputs: [],
65867
+ name: 'DISTRIBUTOR',
65868
+ outputs: [
65869
+ {
65870
+ name: '',
65871
+ internalType: 'contract IStickyDistributor',
65872
+ type: 'address',
65873
+ },
65874
+ ],
65875
+ stateMutability: 'view',
65876
+ },
65877
+ {
65878
+ type: 'function',
65879
+ inputs: [],
65880
+ name: 'HOOK',
65881
+ outputs: [
65882
+ { name: '', internalType: 'contract IStickyHook', type: 'address' },
65883
+ ],
65884
+ stateMutability: 'view',
65885
+ },
65886
+ {
65887
+ type: 'function',
65888
+ inputs: [],
65889
+ name: 'MAX_COOLDOWN',
65890
+ outputs: [{ name: '', internalType: 'uint48', type: 'uint48' }],
65891
+ stateMutability: 'view',
65892
+ },
65893
+ {
65894
+ type: 'function',
65895
+ inputs: [],
65896
+ name: 'MIN_COOLDOWN',
65897
+ outputs: [{ name: '', internalType: 'uint48', type: 'uint48' }],
65898
+ stateMutability: 'view',
65899
+ },
65900
+ {
65901
+ type: 'function',
65902
+ inputs: [],
65903
+ name: 'TERMINAL',
65904
+ outputs: [
65905
+ { name: '', internalType: 'contract IJBTerminal', type: 'address' },
65906
+ ],
65907
+ stateMutability: 'view',
65908
+ },
65909
+ {
65910
+ type: 'function',
65911
+ inputs: [],
65912
+ name: 'TOKENS',
65913
+ outputs: [
65914
+ { name: '', internalType: 'contract IJBTokens', type: 'address' },
65915
+ ],
65916
+ stateMutability: 'view',
65917
+ },
65918
+ {
65919
+ type: 'function',
65920
+ inputs: [
65921
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
65922
+ { name: 'holder', internalType: 'address', type: 'address' },
65923
+ { name: 'groupIds', internalType: 'uint256[]', type: 'uint256[]' },
65924
+ ],
65925
+ name: 'beginVestingFor',
65926
+ outputs: [],
65927
+ stateMutability: 'nonpayable',
65928
+ },
65929
+ {
65930
+ type: 'function',
65931
+ inputs: [
65932
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
65933
+ { name: 'holder', internalType: 'address', type: 'address' },
65934
+ { name: 'groupIds', internalType: 'uint256[]', type: 'uint256[]' },
65935
+ ],
65936
+ name: 'compoundFor',
65937
+ outputs: [
65938
+ { name: 'underlyingAmount', internalType: 'uint256', type: 'uint256' },
65939
+ { name: 'stickyTokenCount', internalType: 'uint256', type: 'uint256' },
65940
+ ],
65941
+ stateMutability: 'nonpayable',
65942
+ },
65943
+ {
65944
+ type: 'function',
65945
+ inputs: [
65946
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
65947
+ { name: 'holder', internalType: 'address', type: 'address' },
65948
+ ],
65949
+ name: 'configOf',
65950
+ outputs: [
65951
+ { name: 'minimumAmount', internalType: 'uint128', type: 'uint128' },
65952
+ { name: 'cooldown', internalType: 'uint48', type: 'uint48' },
65953
+ { name: 'lastCompoundedAt', internalType: 'uint48', type: 'uint48' },
65954
+ { name: 'enabled', internalType: 'bool', type: 'bool' },
65955
+ ],
65956
+ stateMutability: 'view',
65957
+ },
65958
+ {
65959
+ type: 'function',
65960
+ inputs: [
65961
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
65962
+ { name: 'enabled', internalType: 'bool', type: 'bool' },
65963
+ { name: 'minimumAmount', internalType: 'uint128', type: 'uint128' },
65964
+ { name: 'cooldown', internalType: 'uint48', type: 'uint48' },
65965
+ ],
65966
+ name: 'setConfigFor',
65967
+ outputs: [],
65968
+ stateMutability: 'nonpayable',
65969
+ },
65970
+ {
65971
+ type: 'function',
65972
+ inputs: [
65973
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
65974
+ { name: 'holder', internalType: 'address', type: 'address' },
65975
+ { name: 'groupIds', internalType: 'uint256[]', type: 'uint256[]' },
65976
+ ],
65977
+ name: 'statusOf',
65978
+ outputs: [
65979
+ { name: 'status', internalType: 'enum AutoStickStatus', type: 'uint8' },
65980
+ { name: 'collectableAmount', internalType: 'uint256', type: 'uint256' },
65981
+ { name: 'allowance', internalType: 'uint256', type: 'uint256' },
65982
+ { name: 'nextCompoundAt', internalType: 'uint256', type: 'uint256' },
65983
+ ],
65984
+ stateMutability: 'view',
65985
+ },
65986
+ {
65987
+ type: 'function',
65988
+ inputs: [
65989
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
65990
+ { name: 'groupIds', internalType: 'uint256[]', type: 'uint256[]' },
65991
+ ],
65992
+ name: 'stickRewardsFor',
65993
+ outputs: [
65994
+ { name: 'underlyingAmount', internalType: 'uint256', type: 'uint256' },
65995
+ { name: 'stickyTokenCount', internalType: 'uint256', type: 'uint256' },
65996
+ ],
65997
+ stateMutability: 'nonpayable',
65998
+ },
65999
+ {
66000
+ type: 'event',
66001
+ anonymous: false,
66002
+ inputs: [
66003
+ {
66004
+ name: 'projectId',
66005
+ internalType: 'uint256',
66006
+ type: 'uint256',
66007
+ indexed: true,
66008
+ },
66009
+ {
66010
+ name: 'holder',
66011
+ internalType: 'address',
66012
+ type: 'address',
66013
+ indexed: true,
66014
+ },
66015
+ {
66016
+ name: 'token',
66017
+ internalType: 'address',
66018
+ type: 'address',
66019
+ indexed: true,
66020
+ },
66021
+ {
66022
+ name: 'groupIds',
66023
+ internalType: 'uint256[]',
66024
+ type: 'uint256[]',
66025
+ indexed: false,
66026
+ },
66027
+ {
66028
+ name: 'underlyingAmount',
66029
+ internalType: 'uint256',
66030
+ type: 'uint256',
66031
+ indexed: false,
66032
+ },
66033
+ {
66034
+ name: 'stickyTokenCount',
66035
+ internalType: 'uint256',
66036
+ type: 'uint256',
66037
+ indexed: false,
66038
+ },
66039
+ {
66040
+ name: 'caller',
66041
+ internalType: 'address',
66042
+ type: 'address',
66043
+ indexed: false,
66044
+ },
66045
+ ],
66046
+ name: 'AutoStuck',
66047
+ },
66048
+ {
66049
+ type: 'event',
66050
+ anonymous: false,
66051
+ inputs: [
66052
+ {
66053
+ name: 'projectId',
66054
+ internalType: 'uint256',
66055
+ type: 'uint256',
66056
+ indexed: true,
66057
+ },
66058
+ {
66059
+ name: 'holder',
66060
+ internalType: 'address',
66061
+ type: 'address',
66062
+ indexed: true,
66063
+ },
66064
+ {
66065
+ name: 'token',
66066
+ internalType: 'address',
66067
+ type: 'address',
66068
+ indexed: true,
66069
+ },
66070
+ {
66071
+ name: 'groupIds',
66072
+ internalType: 'uint256[]',
66073
+ type: 'uint256[]',
66074
+ indexed: false,
66075
+ },
66076
+ {
66077
+ name: 'caller',
66078
+ internalType: 'address',
66079
+ type: 'address',
66080
+ indexed: false,
66081
+ },
66082
+ ],
66083
+ name: 'BeganAutoStickVesting',
66084
+ },
66085
+ {
66086
+ type: 'event',
66087
+ anonymous: false,
66088
+ inputs: [
66089
+ {
66090
+ name: 'projectId',
66091
+ internalType: 'uint256',
66092
+ type: 'uint256',
66093
+ indexed: true,
66094
+ },
66095
+ {
66096
+ name: 'holder',
66097
+ internalType: 'address',
66098
+ type: 'address',
66099
+ indexed: true,
66100
+ },
66101
+ { name: 'enabled', internalType: 'bool', type: 'bool', indexed: false },
66102
+ {
66103
+ name: 'minimumAmount',
66104
+ internalType: 'uint128',
66105
+ type: 'uint128',
66106
+ indexed: false,
66107
+ },
66108
+ {
66109
+ name: 'cooldown',
66110
+ internalType: 'uint48',
66111
+ type: 'uint48',
66112
+ indexed: false,
66113
+ },
66114
+ {
66115
+ name: 'caller',
66116
+ internalType: 'address',
66117
+ type: 'address',
66118
+ indexed: false,
66119
+ },
66120
+ ],
66121
+ name: 'SetAutoStick',
66122
+ },
66123
+ { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },
66124
+ {
66125
+ type: 'error',
66126
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
66127
+ name: 'SafeERC20FailedOperation',
66128
+ },
66129
+ {
66130
+ type: 'error',
66131
+ inputs: [
66132
+ { name: 'collectable', internalType: 'uint256', type: 'uint256' },
66133
+ { name: 'minimum', internalType: 'uint256', type: 'uint256' },
66134
+ ],
66135
+ name: 'StickyAutoStick_BelowMinimum',
66136
+ },
66137
+ {
66138
+ type: 'error',
66139
+ inputs: [{ name: 'availableAt', internalType: 'uint256', type: 'uint256' }],
66140
+ name: 'StickyAutoStick_Cooldown',
66141
+ },
66142
+ {
66143
+ type: 'error',
66144
+ inputs: [
66145
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
66146
+ { name: 'holder', internalType: 'address', type: 'address' },
66147
+ ],
66148
+ name: 'StickyAutoStick_Disabled',
66149
+ },
66150
+ {
66151
+ type: 'error',
66152
+ inputs: [{ name: 'count', internalType: 'uint256', type: 'uint256' }],
66153
+ name: 'StickyAutoStick_EmptyGroupIds',
66154
+ },
66155
+ {
66156
+ type: 'error',
66157
+ inputs: [
66158
+ { name: 'previous', internalType: 'uint256', type: 'uint256' },
66159
+ { name: 'next', internalType: 'uint256', type: 'uint256' },
66160
+ ],
66161
+ name: 'StickyAutoStick_GroupIdsNotAscending',
66162
+ },
66163
+ {
66164
+ type: 'error',
66165
+ inputs: [
66166
+ { name: 'allowance', internalType: 'uint256', type: 'uint256' },
66167
+ { name: 'needed', internalType: 'uint256', type: 'uint256' },
66168
+ ],
66169
+ name: 'StickyAutoStick_InsufficientAllowance',
66170
+ },
66171
+ {
66172
+ type: 'error',
66173
+ inputs: [
66174
+ { name: 'received', internalType: 'uint256', type: 'uint256' },
66175
+ { name: 'minimum', internalType: 'uint256', type: 'uint256' },
66176
+ ],
66177
+ name: 'StickyAutoStick_InsufficientStickyTokens',
66178
+ },
66179
+ {
66180
+ type: 'error',
66181
+ inputs: [{ name: 'cooldown', internalType: 'uint256', type: 'uint256' }],
66182
+ name: 'StickyAutoStick_InvalidCooldown',
66183
+ },
66184
+ {
66185
+ type: 'error',
66186
+ inputs: [{ name: 'groupId', internalType: 'uint256', type: 'uint256' }],
66187
+ name: 'StickyAutoStick_InvalidGroupId',
66188
+ },
66189
+ {
66190
+ type: 'error',
66191
+ inputs: [
66192
+ { name: 'minimumAmount', internalType: 'uint256', type: 'uint256' },
66193
+ ],
66194
+ name: 'StickyAutoStick_InvalidMinimum',
66195
+ },
66196
+ {
66197
+ type: 'error',
66198
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
66199
+ name: 'StickyAutoStick_InvalidProject',
66200
+ },
66201
+ {
66202
+ type: 'error',
66203
+ inputs: [
66204
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
66205
+ { name: 'holder', internalType: 'address', type: 'address' },
66206
+ ],
66207
+ name: 'StickyAutoStick_NotTrusted',
66208
+ },
66209
+ {
66210
+ type: 'error',
66211
+ inputs: [
66212
+ { name: 'expected', internalType: 'uint256', type: 'uint256' },
66213
+ { name: 'received', internalType: 'uint256', type: 'uint256' },
66214
+ ],
66215
+ name: 'StickyAutoStick_UnexpectedTokenDelta',
66216
+ },
66217
+ {
66218
+ type: 'error',
66219
+ inputs: [
66220
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
66221
+ { name: 'underlyingAmount', internalType: 'uint256', type: 'uint256' },
66222
+ ],
66223
+ name: 'StickyAutoStick_ZeroIssuance',
66224
+ },
66225
+ ];
66226
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
66227
+ // StickyDeployer
66228
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
66229
+ export const stickyDeployerAbi = [
66230
+ {
66231
+ type: 'constructor',
66232
+ inputs: [
66233
+ {
66234
+ name: 'controller',
66235
+ internalType: 'contract IJBController',
66236
+ type: 'address',
66237
+ },
66238
+ {
66239
+ name: 'terminal',
66240
+ internalType: 'contract IJBTerminal',
66241
+ type: 'address',
66242
+ },
66243
+ ],
66244
+ stateMutability: 'nonpayable',
66245
+ },
66246
+ {
66247
+ type: 'function',
66248
+ inputs: [],
66249
+ name: 'CONTROLLER',
66250
+ outputs: [
66251
+ { name: '', internalType: 'contract IJBController', type: 'address' },
66252
+ ],
66253
+ stateMutability: 'view',
66254
+ },
66255
+ {
66256
+ type: 'function',
66257
+ inputs: [],
66258
+ name: 'HOOK',
66259
+ outputs: [
66260
+ { name: '', internalType: 'contract IStickyHook', type: 'address' },
66261
+ ],
66262
+ stateMutability: 'view',
66263
+ },
66264
+ {
66265
+ type: 'function',
66266
+ inputs: [],
66267
+ name: 'TERMINAL',
66268
+ outputs: [
66269
+ { name: '', internalType: 'contract IJBTerminal', type: 'address' },
66270
+ ],
66271
+ stateMutability: 'view',
66272
+ },
66273
+ {
66274
+ type: 'function',
66275
+ inputs: [],
66276
+ name: 'TOKENS',
66277
+ outputs: [
66278
+ { name: '', internalType: 'contract IJBTokens', type: 'address' },
66279
+ ],
66280
+ stateMutability: 'view',
66281
+ },
66282
+ {
66283
+ type: 'function',
66284
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
66285
+ name: 'cashOutTaxRateOf',
66286
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66287
+ stateMutability: 'view',
66288
+ },
66289
+ {
66290
+ type: 'function',
66291
+ inputs: [
66292
+ {
66293
+ name: 'stakedToken',
66294
+ internalType: 'contract IERC20Metadata',
66295
+ type: 'address',
66296
+ },
66297
+ { name: 'name', internalType: 'string', type: 'string' },
66298
+ { name: 'symbol', internalType: 'string', type: 'string' },
66299
+ { name: 'projectUri', internalType: 'string', type: 'string' },
66300
+ { name: 'cashOutTaxRate', internalType: 'uint256', type: 'uint256' },
66301
+ { name: 'granters', internalType: 'address[]', type: 'address[]' },
66302
+ { name: 'soulbound', internalType: 'bool', type: 'bool' },
66303
+ ],
66304
+ name: 'deployStickyFor',
66305
+ outputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
66306
+ stateMutability: 'payable',
66307
+ },
66308
+ {
66309
+ type: 'function',
66310
+ inputs: [
66311
+ { name: '', internalType: 'address', type: 'address' },
66312
+ { name: 'from', internalType: 'address', type: 'address' },
66313
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66314
+ { name: '', internalType: 'bytes', type: 'bytes' },
66315
+ ],
66316
+ name: 'onERC721Received',
66317
+ outputs: [{ name: 'selector', internalType: 'bytes4', type: 'bytes4' }],
66318
+ stateMutability: 'view',
66319
+ },
66320
+ {
66321
+ type: 'function',
66322
+ inputs: [],
66323
+ name: 'originalPayer',
66324
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
66325
+ stateMutability: 'view',
66326
+ },
66327
+ {
66328
+ type: 'function',
66329
+ inputs: [
66330
+ { name: 'launcher', internalType: 'address', type: 'address' },
66331
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
66332
+ {
66333
+ name: 'stakedToken',
66334
+ internalType: 'contract IERC20Metadata',
66335
+ type: 'address',
66336
+ },
66337
+ { name: 'name', internalType: 'string', type: 'string' },
66338
+ { name: 'symbol', internalType: 'string', type: 'string' },
66339
+ { name: 'projectUri', internalType: 'string', type: 'string' },
66340
+ { name: 'cashOutTaxRate', internalType: 'uint256', type: 'uint256' },
66341
+ { name: 'granters', internalType: 'address[]', type: 'address[]' },
66342
+ { name: 'soulbound', internalType: 'bool', type: 'bool' },
66343
+ ],
66344
+ name: 'predictStickyTokenOf',
66345
+ outputs: [{ name: 'token', internalType: 'address', type: 'address' }],
66346
+ stateMutability: 'view',
66347
+ },
66348
+ {
66349
+ type: 'function',
66350
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
66351
+ name: 'priceFeedOf',
66352
+ outputs: [
66353
+ { name: '', internalType: 'contract IJBPriceFeed', type: 'address' },
66354
+ ],
66355
+ stateMutability: 'view',
66356
+ },
66357
+ {
66358
+ type: 'function',
66359
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
66360
+ name: 'stakedTokenOf',
66361
+ outputs: [
66362
+ { name: '', internalType: 'contract IERC20Metadata', type: 'address' },
66363
+ ],
66364
+ stateMutability: 'view',
66365
+ },
66366
+ {
66367
+ type: 'event',
66368
+ anonymous: false,
66369
+ inputs: [
66370
+ {
66371
+ name: 'projectId',
66372
+ internalType: 'uint256',
66373
+ type: 'uint256',
66374
+ indexed: true,
66375
+ },
66376
+ {
66377
+ name: 'stakedToken',
66378
+ internalType: 'contract IERC20Metadata',
66379
+ type: 'address',
66380
+ indexed: true,
66381
+ },
66382
+ {
66383
+ name: 'token',
66384
+ internalType: 'contract IJBToken',
66385
+ type: 'address',
66386
+ indexed: false,
66387
+ },
66388
+ {
66389
+ name: 'cashOutTaxRate',
66390
+ internalType: 'uint256',
66391
+ type: 'uint256',
66392
+ indexed: false,
66393
+ },
66394
+ { name: 'soulbound', internalType: 'bool', type: 'bool', indexed: false },
66395
+ {
66396
+ name: 'caller',
66397
+ internalType: 'address',
66398
+ type: 'address',
66399
+ indexed: false,
66400
+ },
66401
+ ],
66402
+ name: 'DeploySticky',
66403
+ },
66404
+ {
66405
+ type: 'error',
66406
+ inputs: [
66407
+ { name: 'rate', internalType: 'uint256', type: 'uint256' },
66408
+ { name: 'max', internalType: 'uint256', type: 'uint256' },
66409
+ ],
66410
+ name: 'StickyDeployer_InvalidCashOutTaxRate',
66411
+ },
66412
+ {
66413
+ type: 'error',
66414
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
66415
+ name: 'StickyDeployer_InvalidCurrency',
66416
+ },
66417
+ {
66418
+ type: 'error',
66419
+ inputs: [
66420
+ { name: 'controllerPrices', internalType: 'address', type: 'address' },
66421
+ { name: 'terminalPrices', internalType: 'address', type: 'address' },
66422
+ ],
66423
+ name: 'StickyDeployer_PriceRegistryMismatch',
66424
+ },
66425
+ {
66426
+ type: 'error',
66427
+ inputs: [
66428
+ { name: 'token', internalType: 'address', type: 'address' },
66429
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
66430
+ ],
66431
+ name: 'StickyDeployer_StakedTokenIsSticky',
66432
+ },
66433
+ {
66434
+ type: 'error',
66435
+ inputs: [
66436
+ { name: 'collection', internalType: 'address', type: 'address' },
66437
+ { name: 'from', internalType: 'address', type: 'address' },
66438
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66439
+ ],
66440
+ name: 'StickyDeployer_UnexpectedNft',
66441
+ },
66442
+ ];
66443
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
66444
+ // StickyDistributor
66445
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
66446
+ export const stickyDistributorAbi = [
66447
+ {
66448
+ type: 'constructor',
66449
+ inputs: [
66450
+ {
66451
+ name: 'controller',
66452
+ internalType: 'contract IJBController',
66453
+ type: 'address',
66454
+ },
66455
+ {
66456
+ name: 'directory',
66457
+ internalType: 'contract IJBDirectory',
66458
+ type: 'address',
66459
+ },
66460
+ {
66461
+ name: 'stickyHook',
66462
+ internalType: 'contract IStickyHook',
66463
+ type: 'address',
66464
+ },
66465
+ {
66466
+ name: 'initialRoundDuration',
66467
+ internalType: 'uint256',
66468
+ type: 'uint256',
66469
+ },
66470
+ {
66471
+ name: 'initialVestingRounds',
66472
+ internalType: 'uint256',
66473
+ type: 'uint256',
66474
+ },
66475
+ { name: 'initialClaimDuration', internalType: 'uint48', type: 'uint48' },
66476
+ ],
66477
+ stateMutability: 'nonpayable',
66478
+ },
66479
+ { type: 'receive', stateMutability: 'payable' },
66480
+ {
66481
+ type: 'function',
66482
+ inputs: [],
66483
+ name: 'CLAIM_DURATION',
66484
+ outputs: [{ name: '', internalType: 'uint48', type: 'uint48' }],
66485
+ stateMutability: 'view',
66486
+ },
66487
+ {
66488
+ type: 'function',
66489
+ inputs: [],
66490
+ name: 'CONTROLLER',
66491
+ outputs: [
66492
+ { name: '', internalType: 'contract IJBController', type: 'address' },
66493
+ ],
66494
+ stateMutability: 'view',
66495
+ },
66496
+ {
66497
+ type: 'function',
66498
+ inputs: [],
66499
+ name: 'CRITERIA_BASE',
66500
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66501
+ stateMutability: 'view',
66502
+ },
66503
+ {
66504
+ type: 'function',
66505
+ inputs: [],
66506
+ name: 'DIRECTORY',
66507
+ outputs: [
66508
+ { name: '', internalType: 'contract IJBDirectory', type: 'address' },
66509
+ ],
66510
+ stateMutability: 'view',
66511
+ },
66512
+ {
66513
+ type: 'function',
66514
+ inputs: [],
66515
+ name: 'EPOCH_DURATION',
66516
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66517
+ stateMutability: 'view',
66518
+ },
66519
+ {
66520
+ type: 'function',
66521
+ inputs: [],
66522
+ name: 'MAX_CRITERIA_WEEKS',
66523
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66524
+ stateMutability: 'view',
66525
+ },
66526
+ {
66527
+ type: 'function',
66528
+ inputs: [],
66529
+ name: 'MAX_SHARE',
66530
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66531
+ stateMutability: 'view',
66532
+ },
66533
+ {
66534
+ type: 'function',
66535
+ inputs: [],
66536
+ name: 'REV_LOANS',
66537
+ outputs: [
66538
+ { name: '', internalType: 'contract IREVLoans', type: 'address' },
66539
+ ],
66540
+ stateMutability: 'view',
66541
+ },
66542
+ {
66543
+ type: 'function',
66544
+ inputs: [],
66545
+ name: 'REV_OWNER',
66546
+ outputs: [
66547
+ { name: '', internalType: 'contract IREVOwner', type: 'address' },
66548
+ ],
66549
+ stateMutability: 'view',
66550
+ },
66551
+ {
66552
+ type: 'function',
66553
+ inputs: [],
66554
+ name: 'ROUND_DURATION',
66555
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66556
+ stateMutability: 'view',
66557
+ },
66558
+ {
66559
+ type: 'function',
66560
+ inputs: [],
66561
+ name: 'STARTING_TIMESTAMP',
66562
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66563
+ stateMutability: 'view',
66564
+ },
66565
+ {
66566
+ type: 'function',
66567
+ inputs: [],
66568
+ name: 'STICKY_HOOK',
66569
+ outputs: [
66570
+ { name: '', internalType: 'contract IStickyHook', type: 'address' },
66571
+ ],
66572
+ stateMutability: 'view',
66573
+ },
66574
+ {
66575
+ type: 'function',
66576
+ inputs: [],
66577
+ name: 'VESTING_ROUNDS',
66578
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66579
+ stateMutability: 'view',
66580
+ },
66581
+ {
66582
+ type: 'function',
66583
+ inputs: [
66584
+ { name: 'hook', internalType: 'address', type: 'address' },
66585
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66586
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66587
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66588
+ ],
66589
+ name: 'activeVestingLoanIdOf',
66590
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66591
+ stateMutability: 'view',
66592
+ },
66593
+ {
66594
+ type: 'function',
66595
+ inputs: [
66596
+ { name: 'hook', internalType: 'address', type: 'address' },
66597
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66598
+ ],
66599
+ name: 'balanceOf',
66600
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66601
+ stateMutability: 'view',
66602
+ },
66603
+ {
66604
+ type: 'function',
66605
+ inputs: [
66606
+ { name: 'hook', internalType: 'address', type: 'address' },
66607
+ { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },
66608
+ { name: 'tokens', internalType: 'contract IERC20[]', type: 'address[]' },
66609
+ ],
66610
+ name: 'beginVesting',
66611
+ outputs: [],
66612
+ stateMutability: 'nonpayable',
66613
+ },
66614
+ {
66615
+ type: 'function',
66616
+ inputs: [
66617
+ { name: 'hook', internalType: 'address', type: 'address' },
66618
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66619
+ { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },
66620
+ { name: 'tokens', internalType: 'contract IERC20[]', type: 'address[]' },
66621
+ ],
66622
+ name: 'beginVesting',
66623
+ outputs: [],
66624
+ stateMutability: 'nonpayable',
66625
+ },
66626
+ {
66627
+ type: 'function',
66628
+ inputs: [
66629
+ { name: 'hook', internalType: 'address', type: 'address' },
66630
+ { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },
66631
+ { name: 'tokens', internalType: 'contract IERC20[]', type: 'address[]' },
66632
+ { name: 'sourceToken', internalType: 'address', type: 'address' },
66633
+ { name: 'minBorrowAmount', internalType: 'uint256', type: 'uint256' },
66634
+ { name: 'prepaidFeePercent', internalType: 'uint256', type: 'uint256' },
66635
+ { name: 'beneficiary', internalType: 'address payable', type: 'address' },
66636
+ ],
66637
+ name: 'borrowAgainstVesting',
66638
+ outputs: [
66639
+ { name: 'loanId', internalType: 'uint256', type: 'uint256' },
66640
+ { name: 'collateralCount', internalType: 'uint256', type: 'uint256' },
66641
+ ],
66642
+ stateMutability: 'nonpayable',
66643
+ },
66644
+ {
66645
+ type: 'function',
66646
+ inputs: [
66647
+ { name: 'hook', internalType: 'address', type: 'address' },
66648
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66649
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66650
+ ],
66651
+ name: 'claimedFor',
66652
+ outputs: [
66653
+ { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' },
66654
+ ],
66655
+ stateMutability: 'view',
66656
+ },
66657
+ {
66658
+ type: 'function',
66659
+ inputs: [
66660
+ { name: 'hook', internalType: 'address', type: 'address' },
66661
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66662
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66663
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66664
+ ],
66665
+ name: 'claimedFor',
66666
+ outputs: [
66667
+ { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' },
66668
+ ],
66669
+ stateMutability: 'view',
66670
+ },
66671
+ {
66672
+ type: 'function',
66673
+ inputs: [
66674
+ { name: 'hook', internalType: 'address', type: 'address' },
66675
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66676
+ { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },
66677
+ { name: 'tokens', internalType: 'contract IERC20[]', type: 'address[]' },
66678
+ { name: 'beneficiary', internalType: 'address', type: 'address' },
66679
+ ],
66680
+ name: 'collectVestedRewards',
66681
+ outputs: [],
66682
+ stateMutability: 'nonpayable',
66683
+ },
66684
+ {
66685
+ type: 'function',
66686
+ inputs: [
66687
+ { name: 'hook', internalType: 'address', type: 'address' },
66688
+ { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },
66689
+ { name: 'tokens', internalType: 'contract IERC20[]', type: 'address[]' },
66690
+ { name: 'beneficiary', internalType: 'address', type: 'address' },
66691
+ ],
66692
+ name: 'collectVestedRewards',
66693
+ outputs: [],
66694
+ stateMutability: 'nonpayable',
66695
+ },
66696
+ {
66697
+ type: 'function',
66698
+ inputs: [
66699
+ { name: 'hook', internalType: 'address', type: 'address' },
66700
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66701
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66702
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66703
+ ],
66704
+ name: 'collectableFor',
66705
+ outputs: [
66706
+ { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' },
66707
+ ],
66708
+ stateMutability: 'view',
66709
+ },
66710
+ {
66711
+ type: 'function',
66712
+ inputs: [
66713
+ { name: 'hook', internalType: 'address', type: 'address' },
66714
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66715
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66716
+ ],
66717
+ name: 'collectableFor',
66718
+ outputs: [
66719
+ { name: 'tokenAmount', internalType: 'uint256', type: 'uint256' },
66720
+ ],
66721
+ stateMutability: 'view',
66722
+ },
66723
+ {
66724
+ type: 'function',
66725
+ inputs: [],
66726
+ name: 'currentRound',
66727
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66728
+ stateMutability: 'view',
66729
+ },
66730
+ {
66731
+ type: 'function',
66732
+ inputs: [
66733
+ { name: 'hook', internalType: 'address', type: 'address' },
66734
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66735
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
66736
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66737
+ ],
66738
+ name: 'fund',
66739
+ outputs: [],
66740
+ stateMutability: 'payable',
66741
+ },
66742
+ {
66743
+ type: 'function',
66744
+ inputs: [
66745
+ { name: 'hook', internalType: 'address', type: 'address' },
66746
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66747
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
66748
+ ],
66749
+ name: 'fund',
66750
+ outputs: [],
66751
+ stateMutability: 'payable',
66752
+ },
66753
+ {
66754
+ type: 'function',
66755
+ inputs: [{ name: 'groupId', internalType: 'uint256', type: 'uint256' }],
66756
+ name: 'isValidGroupId',
66757
+ outputs: [{ name: 'isValid', internalType: 'bool', type: 'bool' }],
66758
+ stateMutability: 'pure',
66759
+ },
66760
+ {
66761
+ type: 'function',
66762
+ inputs: [
66763
+ { name: 'hook', internalType: 'address', type: 'address' },
66764
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66765
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66766
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66767
+ ],
66768
+ name: 'latestVestedIndexOf',
66769
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66770
+ stateMutability: 'view',
66771
+ },
66772
+ {
66773
+ type: 'function',
66774
+ inputs: [
66775
+ { name: 'hook', internalType: 'address', type: 'address' },
66776
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66777
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66778
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66779
+ ],
66780
+ name: 'nextClaimRoundOf',
66781
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66782
+ stateMutability: 'view',
66783
+ },
66784
+ {
66785
+ type: 'function',
66786
+ inputs: [],
66787
+ name: 'poke',
66788
+ outputs: [],
66789
+ stateMutability: 'nonpayable',
66790
+ },
66791
+ {
66792
+ type: 'function',
66793
+ inputs: [
66794
+ {
66795
+ name: 'context',
66796
+ internalType: 'struct JBSplitHookContext',
66797
+ type: 'tuple',
66798
+ components: [
66799
+ { name: 'token', internalType: 'address', type: 'address' },
66800
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
66801
+ { name: 'decimals', internalType: 'uint256', type: 'uint256' },
66802
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
66803
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66804
+ {
66805
+ name: 'split',
66806
+ internalType: 'struct JBSplit',
66807
+ type: 'tuple',
66808
+ components: [
66809
+ { name: 'percent', internalType: 'uint32', type: 'uint32' },
66810
+ { name: 'projectId', internalType: 'uint64', type: 'uint64' },
66811
+ {
66812
+ name: 'beneficiary',
66813
+ internalType: 'address payable',
66814
+ type: 'address',
66815
+ },
66816
+ {
66817
+ name: 'preferAddToBalance',
66818
+ internalType: 'bool',
66819
+ type: 'bool',
66820
+ },
66821
+ { name: 'lockedUntil', internalType: 'uint48', type: 'uint48' },
66822
+ {
66823
+ name: 'hook',
66824
+ internalType: 'contract IJBSplitHook',
66825
+ type: 'address',
66826
+ },
66827
+ ],
66828
+ },
66829
+ ],
66830
+ },
66831
+ ],
66832
+ name: 'processSplitWith',
66833
+ outputs: [],
66834
+ stateMutability: 'payable',
66835
+ },
66836
+ {
66837
+ type: 'function',
66838
+ inputs: [
66839
+ { name: 'hook', internalType: 'address', type: 'address' },
66840
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66841
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66842
+ { name: 'rounds', internalType: 'uint256[]', type: 'uint256[]' },
66843
+ ],
66844
+ name: 'recycleExpiredRewards',
66845
+ outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
66846
+ stateMutability: 'nonpayable',
66847
+ },
66848
+ {
66849
+ type: 'function',
66850
+ inputs: [
66851
+ { name: 'hook', internalType: 'address', type: 'address' },
66852
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66853
+ { name: 'rounds', internalType: 'uint256[]', type: 'uint256[]' },
66854
+ ],
66855
+ name: 'recycleExpiredRewards',
66856
+ outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
66857
+ stateMutability: 'nonpayable',
66858
+ },
66859
+ {
66860
+ type: 'function',
66861
+ inputs: [
66862
+ { name: 'hook', internalType: 'address', type: 'address' },
66863
+ { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },
66864
+ { name: 'tokens', internalType: 'contract IERC20[]', type: 'address[]' },
66865
+ { name: 'beneficiary', internalType: 'address', type: 'address' },
66866
+ ],
66867
+ name: 'releaseForfeitedRewards',
66868
+ outputs: [],
66869
+ stateMutability: 'nonpayable',
66870
+ },
66871
+ {
66872
+ type: 'function',
66873
+ inputs: [
66874
+ { name: 'loanId', internalType: 'uint256', type: 'uint256' },
66875
+ {
66876
+ name: 'maxRepayBorrowAmount',
66877
+ internalType: 'uint256',
66878
+ type: 'uint256',
66879
+ },
66880
+ ],
66881
+ name: 'repayVestingLoan',
66882
+ outputs: [
66883
+ { name: 'paidOffLoanId', internalType: 'uint256', type: 'uint256' },
66884
+ ],
66885
+ stateMutability: 'payable',
66886
+ },
66887
+ {
66888
+ type: 'function',
66889
+ inputs: [
66890
+ { name: 'hook', internalType: 'address', type: 'address' },
66891
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66892
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66893
+ { name: 'round', internalType: 'uint256', type: 'uint256' },
66894
+ ],
66895
+ name: 'rewardRoundOf',
66896
+ outputs: [
66897
+ { name: 'amount', internalType: 'uint208', type: 'uint208' },
66898
+ { name: 'snapshotBlock', internalType: 'uint48', type: 'uint48' },
66899
+ { name: 'claimedAmount', internalType: 'uint208', type: 'uint208' },
66900
+ { name: 'claimDeadline', internalType: 'uint48', type: 'uint48' },
66901
+ { name: 'totalStake', internalType: 'uint208', type: 'uint208' },
66902
+ ],
66903
+ stateMutability: 'view',
66904
+ },
66905
+ {
66906
+ type: 'function',
66907
+ inputs: [{ name: 'round', internalType: 'uint256', type: 'uint256' }],
66908
+ name: 'roundSnapshotBlock',
66909
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66910
+ stateMutability: 'view',
66911
+ },
66912
+ {
66913
+ type: 'function',
66914
+ inputs: [{ name: 'round', internalType: 'uint256', type: 'uint256' }],
66915
+ name: 'roundStartTimestamp',
66916
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
66917
+ stateMutability: 'view',
66918
+ },
66919
+ {
66920
+ type: 'function',
66921
+ inputs: [{ name: 'round', internalType: 'uint256', type: 'uint256' }],
66922
+ name: 'snapshotEpochOf',
66923
+ outputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }],
66924
+ stateMutability: 'view',
66925
+ },
66926
+ {
66927
+ type: 'function',
66928
+ inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
66929
+ name: 'supportsInterface',
66930
+ outputs: [{ name: 'supported', internalType: 'bool', type: 'bool' }],
66931
+ stateMutability: 'pure',
66932
+ },
66933
+ {
66934
+ type: 'function',
66935
+ inputs: [
66936
+ { name: 'hook', internalType: 'address', type: 'address' },
66937
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66938
+ ],
66939
+ name: 'totalLoanedVestingAmountOf',
66940
+ outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
66941
+ stateMutability: 'view',
66942
+ },
66943
+ {
66944
+ type: 'function',
66945
+ inputs: [
66946
+ { name: 'hook', internalType: 'address', type: 'address' },
66947
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66948
+ ],
66949
+ name: 'totalVestingAmountOf',
66950
+ outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
66951
+ stateMutability: 'view',
66952
+ },
66953
+ {
66954
+ type: 'function',
66955
+ inputs: [
66956
+ { name: 'hook', internalType: 'address', type: 'address' },
66957
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66958
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66959
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66960
+ { name: '', internalType: 'uint256', type: 'uint256' },
66961
+ ],
66962
+ name: 'vestingDataOf',
66963
+ outputs: [
66964
+ { name: 'releaseRound', internalType: 'uint256', type: 'uint256' },
66965
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
66966
+ { name: 'shareClaimed', internalType: 'uint256', type: 'uint256' },
66967
+ ],
66968
+ stateMutability: 'view',
66969
+ },
66970
+ {
66971
+ type: 'function',
66972
+ inputs: [{ name: 'loanId', internalType: 'uint256', type: 'uint256' }],
66973
+ name: 'vestingLoanOf',
66974
+ outputs: [
66975
+ {
66976
+ name: '',
66977
+ internalType: 'struct JBVestingLoan',
66978
+ type: 'tuple',
66979
+ components: [
66980
+ { name: 'hook', internalType: 'address', type: 'address' },
66981
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
66982
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
66983
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
66984
+ { name: 'vestingDataCount', internalType: 'uint48', type: 'uint48' },
66985
+ { name: 'collateralCount', internalType: 'uint256', type: 'uint256' },
66986
+ ],
66987
+ },
66988
+ ],
66989
+ stateMutability: 'view',
66990
+ },
66991
+ {
66992
+ type: 'function',
66993
+ inputs: [{ name: 'loanId', internalType: 'uint256', type: 'uint256' }],
66994
+ name: 'writeOffLiquidatedVestingLoan',
66995
+ outputs: [
66996
+ { name: 'collateralCount', internalType: 'uint256', type: 'uint256' },
66997
+ ],
66998
+ stateMutability: 'nonpayable',
66999
+ },
67000
+ {
67001
+ type: 'event',
67002
+ anonymous: false,
67003
+ inputs: [
67004
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
67005
+ {
67006
+ name: 'tokenId',
67007
+ internalType: 'uint256',
67008
+ type: 'uint256',
67009
+ indexed: true,
67010
+ },
67011
+ {
67012
+ name: 'token',
67013
+ internalType: 'contract IERC20',
67014
+ type: 'address',
67015
+ indexed: true,
67016
+ },
67017
+ {
67018
+ name: 'loanId',
67019
+ internalType: 'uint256',
67020
+ type: 'uint256',
67021
+ indexed: false,
67022
+ },
67023
+ {
67024
+ name: 'revnetId',
67025
+ internalType: 'uint256',
67026
+ type: 'uint256',
67027
+ indexed: false,
67028
+ },
67029
+ {
67030
+ name: 'collateralCount',
67031
+ internalType: 'uint256',
67032
+ type: 'uint256',
67033
+ indexed: false,
67034
+ },
67035
+ {
67036
+ name: 'sourceToken',
67037
+ internalType: 'address',
67038
+ type: 'address',
67039
+ indexed: false,
67040
+ },
67041
+ {
67042
+ name: 'minBorrowAmount',
67043
+ internalType: 'uint256',
67044
+ type: 'uint256',
67045
+ indexed: false,
67046
+ },
67047
+ {
67048
+ name: 'prepaidFeePercent',
67049
+ internalType: 'uint256',
67050
+ type: 'uint256',
67051
+ indexed: false,
67052
+ },
67053
+ {
67054
+ name: 'beneficiary',
67055
+ internalType: 'address',
67056
+ type: 'address',
67057
+ indexed: false,
67058
+ },
67059
+ {
67060
+ name: 'caller',
67061
+ internalType: 'address',
67062
+ type: 'address',
67063
+ indexed: false,
67064
+ },
67065
+ ],
67066
+ name: 'BorrowAgainstVesting',
67067
+ },
67068
+ {
67069
+ type: 'event',
67070
+ anonymous: false,
67071
+ inputs: [
67072
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
67073
+ {
67074
+ name: 'tokenId',
67075
+ internalType: 'uint256',
67076
+ type: 'uint256',
67077
+ indexed: true,
67078
+ },
67079
+ {
67080
+ name: 'groupId',
67081
+ internalType: 'uint256',
67082
+ type: 'uint256',
67083
+ indexed: false,
67084
+ },
67085
+ {
67086
+ name: 'token',
67087
+ internalType: 'contract IERC20',
67088
+ type: 'address',
67089
+ indexed: false,
67090
+ },
67091
+ {
67092
+ name: 'amount',
67093
+ internalType: 'uint256',
67094
+ type: 'uint256',
67095
+ indexed: false,
67096
+ },
67097
+ {
67098
+ name: 'vestingReleaseRound',
67099
+ internalType: 'uint256',
67100
+ type: 'uint256',
67101
+ indexed: false,
67102
+ },
67103
+ {
67104
+ name: 'caller',
67105
+ internalType: 'address',
67106
+ type: 'address',
67107
+ indexed: false,
67108
+ },
67109
+ ],
67110
+ name: 'Claimed',
67111
+ },
67112
+ {
67113
+ type: 'event',
67114
+ anonymous: false,
67115
+ inputs: [
67116
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
67117
+ {
67118
+ name: 'tokenId',
67119
+ internalType: 'uint256',
67120
+ type: 'uint256',
67121
+ indexed: true,
67122
+ },
67123
+ {
67124
+ name: 'groupId',
67125
+ internalType: 'uint256',
67126
+ type: 'uint256',
67127
+ indexed: false,
67128
+ },
67129
+ {
67130
+ name: 'token',
67131
+ internalType: 'contract IERC20',
67132
+ type: 'address',
67133
+ indexed: false,
67134
+ },
67135
+ {
67136
+ name: 'amount',
67137
+ internalType: 'uint256',
67138
+ type: 'uint256',
67139
+ indexed: false,
67140
+ },
67141
+ {
67142
+ name: 'vestingReleaseRound',
67143
+ internalType: 'uint256',
67144
+ type: 'uint256',
67145
+ indexed: false,
67146
+ },
67147
+ {
67148
+ name: 'caller',
67149
+ internalType: 'address',
67150
+ type: 'address',
67151
+ indexed: false,
67152
+ },
67153
+ ],
67154
+ name: 'Collected',
67155
+ },
67156
+ {
67157
+ type: 'event',
67158
+ anonymous: false,
67159
+ inputs: [
67160
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
67161
+ {
67162
+ name: 'fromRound',
67163
+ internalType: 'uint256',
67164
+ type: 'uint256',
67165
+ indexed: true,
67166
+ },
67167
+ {
67168
+ name: 'toRound',
67169
+ internalType: 'uint256',
67170
+ type: 'uint256',
67171
+ indexed: true,
67172
+ },
67173
+ {
67174
+ name: 'token',
67175
+ internalType: 'contract IERC20',
67176
+ type: 'address',
67177
+ indexed: false,
67178
+ },
67179
+ {
67180
+ name: 'amount',
67181
+ internalType: 'uint256',
67182
+ type: 'uint256',
67183
+ indexed: false,
67184
+ },
67185
+ {
67186
+ name: 'caller',
67187
+ internalType: 'address',
67188
+ type: 'address',
67189
+ indexed: false,
67190
+ },
67191
+ ],
67192
+ name: 'ExpiredRewardsRecycled',
67193
+ },
67194
+ {
67195
+ type: 'event',
67196
+ anonymous: false,
67197
+ inputs: [
67198
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
67199
+ {
67200
+ name: 'round',
67201
+ internalType: 'uint256',
67202
+ type: 'uint256',
67203
+ indexed: true,
67204
+ },
67205
+ {
67206
+ name: 'token',
67207
+ internalType: 'contract IERC20',
67208
+ type: 'address',
67209
+ indexed: true,
67210
+ },
67211
+ {
67212
+ name: 'amount',
67213
+ internalType: 'uint256',
67214
+ type: 'uint256',
67215
+ indexed: false,
67216
+ },
67217
+ {
67218
+ name: 'caller',
67219
+ internalType: 'address',
67220
+ type: 'address',
67221
+ indexed: false,
67222
+ },
67223
+ ],
67224
+ name: 'ForfeitedRewardsRecycled',
67225
+ },
67226
+ {
67227
+ type: 'event',
67228
+ anonymous: false,
67229
+ inputs: [
67230
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
67231
+ {
67232
+ name: 'groupId',
67233
+ internalType: 'uint256',
67234
+ type: 'uint256',
67235
+ indexed: true,
67236
+ },
67237
+ {
67238
+ name: 'token',
67239
+ internalType: 'contract IERC20',
67240
+ type: 'address',
67241
+ indexed: true,
67242
+ },
67243
+ {
67244
+ name: 'round',
67245
+ internalType: 'uint256',
67246
+ type: 'uint256',
67247
+ indexed: false,
67248
+ },
67249
+ {
67250
+ name: 'amount',
67251
+ internalType: 'uint256',
67252
+ type: 'uint256',
67253
+ indexed: false,
67254
+ },
67255
+ {
67256
+ name: 'caller',
67257
+ internalType: 'address',
67258
+ type: 'address',
67259
+ indexed: false,
67260
+ },
67261
+ ],
67262
+ name: 'Fund',
67263
+ },
67264
+ {
67265
+ type: 'event',
67266
+ anonymous: false,
67267
+ inputs: [
67268
+ { name: 'hook', internalType: 'address', type: 'address', indexed: true },
67269
+ {
67270
+ name: 'tokenId',
67271
+ internalType: 'uint256',
67272
+ type: 'uint256',
67273
+ indexed: true,
67274
+ },
67275
+ {
67276
+ name: 'token',
67277
+ internalType: 'contract IERC20',
67278
+ type: 'address',
67279
+ indexed: true,
67280
+ },
67281
+ {
67282
+ name: 'loanId',
67283
+ internalType: 'uint256',
67284
+ type: 'uint256',
67285
+ indexed: false,
67286
+ },
67287
+ {
67288
+ name: 'collateralCount',
67289
+ internalType: 'uint256',
67290
+ type: 'uint256',
67291
+ indexed: false,
67292
+ },
67293
+ {
67294
+ name: 'caller',
67295
+ internalType: 'address',
67296
+ type: 'address',
67297
+ indexed: false,
67298
+ },
67299
+ ],
67300
+ name: 'LiquidatedVestingLoanWrittenOff',
67301
+ },
67302
+ {
67303
+ type: 'event',
67304
+ anonymous: false,
67305
+ inputs: [
67306
+ {
67307
+ name: 'loanId',
67308
+ internalType: 'uint256',
67309
+ type: 'uint256',
67310
+ indexed: true,
67311
+ },
67312
+ {
67313
+ name: 'paidOffLoanId',
67314
+ internalType: 'uint256',
67315
+ type: 'uint256',
67316
+ indexed: true,
67317
+ },
67318
+ {
67319
+ name: 'token',
67320
+ internalType: 'contract IERC20',
67321
+ type: 'address',
67322
+ indexed: true,
67323
+ },
67324
+ {
67325
+ name: 'collateralCount',
67326
+ internalType: 'uint256',
67327
+ type: 'uint256',
67328
+ indexed: false,
67329
+ },
67330
+ {
67331
+ name: 'repayBorrowAmount',
67332
+ internalType: 'uint256',
67333
+ type: 'uint256',
67334
+ indexed: false,
67335
+ },
67336
+ {
67337
+ name: 'caller',
67338
+ internalType: 'address',
67339
+ type: 'address',
67340
+ indexed: false,
67341
+ },
67342
+ ],
67343
+ name: 'RepayVestingLoan',
67344
+ },
67345
+ {
67346
+ type: 'event',
67347
+ anonymous: false,
67348
+ inputs: [
67349
+ {
67350
+ name: 'round',
67351
+ internalType: 'uint256',
67352
+ type: 'uint256',
67353
+ indexed: true,
67354
+ },
67355
+ {
67356
+ name: 'snapshotBlock',
67357
+ internalType: 'uint256',
67358
+ type: 'uint256',
67359
+ indexed: false,
67360
+ },
67361
+ {
67362
+ name: 'caller',
67363
+ internalType: 'address',
67364
+ type: 'address',
67365
+ indexed: false,
67366
+ },
67367
+ ],
67368
+ name: 'RoundSnapshotRecorded',
67369
+ },
67370
+ {
67371
+ type: 'error',
67372
+ inputs: [
67373
+ { name: 'tokenIdCount', internalType: 'uint256', type: 'uint256' },
67374
+ ],
67375
+ name: 'JBDistributor_EmptyTokenIds',
67376
+ },
67377
+ {
67378
+ type: 'error',
67379
+ inputs: [
67380
+ { name: 'expectedAmount', internalType: 'uint256', type: 'uint256' },
67381
+ { name: 'actualAmount', internalType: 'uint256', type: 'uint256' },
67382
+ ],
67383
+ name: 'JBDistributor_InsufficientRepaidCollateral',
67384
+ },
67385
+ {
67386
+ type: 'error',
67387
+ inputs: [
67388
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
67389
+ { name: 'requiredAmount', internalType: 'uint256', type: 'uint256' },
67390
+ ],
67391
+ name: 'JBDistributor_InsufficientRepayAmount',
67392
+ },
67393
+ {
67394
+ type: 'error',
67395
+ inputs: [
67396
+ { name: 'roundDuration', internalType: 'uint256', type: 'uint256' },
67397
+ ],
67398
+ name: 'JBDistributor_InvalidRoundDuration',
67399
+ },
67400
+ {
67401
+ type: 'error',
67402
+ inputs: [{ name: 'loanId', internalType: 'uint256', type: 'uint256' }],
67403
+ name: 'JBDistributor_InvalidVestingLoanId',
67404
+ },
67405
+ {
67406
+ type: 'error',
67407
+ inputs: [
67408
+ { name: 'beneficiary', internalType: 'address', type: 'address' },
67409
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
67410
+ ],
67411
+ name: 'JBDistributor_NativeTransferFailed',
67412
+ },
67413
+ {
67414
+ type: 'error',
67415
+ inputs: [
67416
+ { name: 'hook', internalType: 'address', type: 'address' },
67417
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
67418
+ { name: 'account', internalType: 'address', type: 'address' },
67419
+ ],
67420
+ name: 'JBDistributor_NoAccess',
67421
+ },
67422
+ {
67423
+ type: 'error',
67424
+ inputs: [{ name: 'loanId', internalType: 'uint256', type: 'uint256' }],
67425
+ name: 'JBDistributor_NoVestingLoan',
67426
+ },
67427
+ {
67428
+ type: 'error',
67429
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
67430
+ name: 'JBDistributor_NotRevnetRewardToken',
67431
+ },
67432
+ {
67433
+ type: 'error',
67434
+ inputs: [
67435
+ { name: 'hook', internalType: 'address', type: 'address' },
67436
+ { name: 'token', internalType: 'address', type: 'address' },
67437
+ ],
67438
+ name: 'JBDistributor_NothingToBorrow',
67439
+ },
67440
+ {
67441
+ type: 'error',
67442
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
67443
+ name: 'JBDistributor_ReentrantTokenTransfer',
67444
+ },
67445
+ { type: 'error', inputs: [], name: 'JBDistributor_RevnetLoansNotConfigured' },
67446
+ {
67447
+ type: 'error',
67448
+ inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],
67449
+ name: 'JBDistributor_Uint208Overflow',
67450
+ },
67451
+ {
67452
+ type: 'error',
67453
+ inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],
67454
+ name: 'JBDistributor_Uint48Overflow',
67455
+ },
67456
+ {
67457
+ type: 'error',
67458
+ inputs: [
67459
+ { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
67460
+ { name: 'token', internalType: 'address', type: 'address' },
67461
+ ],
67462
+ name: 'JBDistributor_UnexpectedNativeValue',
67463
+ },
67464
+ {
67465
+ type: 'error',
67466
+ inputs: [
67467
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
67468
+ { name: 'expectedAmount', internalType: 'uint256', type: 'uint256' },
67469
+ ],
67470
+ name: 'JBDistributor_UnexpectedRepayAmount',
67471
+ },
67472
+ {
67473
+ type: 'error',
67474
+ inputs: [{ name: 'tokenCount', internalType: 'uint256', type: 'uint256' }],
67475
+ name: 'JBDistributor_UnexpectedTokenCount',
67476
+ },
67477
+ {
67478
+ type: 'error',
67479
+ inputs: [{ name: 'loanId', internalType: 'uint256', type: 'uint256' }],
67480
+ name: 'JBDistributor_VestingLoanNotLiquidated',
67481
+ },
67482
+ {
67483
+ type: 'error',
67484
+ inputs: [
67485
+ { name: 'hook', internalType: 'address', type: 'address' },
67486
+ { name: 'tokenId', internalType: 'uint256', type: 'uint256' },
67487
+ { name: 'token', internalType: 'address', type: 'address' },
67488
+ { name: 'loanId', internalType: 'uint256', type: 'uint256' },
67489
+ ],
67490
+ name: 'JBDistributor_VestingLoanOutstanding',
67491
+ },
67492
+ { type: 'error', inputs: [], name: 'JBDistributor_VestingLoansDisabled' },
67493
+ {
67494
+ type: 'error',
67495
+ inputs: [
67496
+ { name: 'x', internalType: 'uint256', type: 'uint256' },
67497
+ { name: 'y', internalType: 'uint256', type: 'uint256' },
67498
+ { name: 'denominator', internalType: 'uint256', type: 'uint256' },
67499
+ ],
67500
+ name: 'PRBMath_MulDiv_Overflow',
67501
+ },
67502
+ {
67503
+ type: 'error',
67504
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
67505
+ name: 'SafeERC20FailedOperation',
67506
+ },
67507
+ {
67508
+ type: 'error',
67509
+ inputs: [
67510
+ { name: 'expected', internalType: 'uint256', type: 'uint256' },
67511
+ { name: 'actual', internalType: 'uint256', type: 'uint256' },
67512
+ ],
67513
+ name: 'StickyDistributor_EpochDurationMismatch',
67514
+ },
67515
+ {
67516
+ type: 'error',
67517
+ inputs: [{ name: 'groupId', internalType: 'uint256', type: 'uint256' }],
67518
+ name: 'StickyDistributor_InvalidGroupId',
67519
+ },
67520
+ {
67521
+ type: 'error',
67522
+ inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],
67523
+ name: 'StickyDistributor_InvalidTokenId',
67524
+ },
67525
+ {
67526
+ type: 'error',
67527
+ inputs: [
67528
+ { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
67529
+ { name: 'contextAmount', internalType: 'uint256', type: 'uint256' },
67530
+ ],
67531
+ name: 'StickyDistributor_NativeAmountMismatch',
67532
+ },
67533
+ {
67534
+ type: 'error',
67535
+ inputs: [
67536
+ { name: 'hook', internalType: 'address', type: 'address' },
67537
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67538
+ ],
67539
+ name: 'StickyDistributor_PaymentInProgress',
67540
+ },
67541
+ {
67542
+ type: 'error',
67543
+ inputs: [
67544
+ { name: 'token', internalType: 'address', type: 'address' },
67545
+ { name: 'expectedToken', internalType: 'address', type: 'address' },
67546
+ { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
67547
+ ],
67548
+ name: 'StickyDistributor_TokenMismatch',
67549
+ },
67550
+ {
67551
+ type: 'error',
67552
+ inputs: [
67553
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67554
+ { name: 'caller', internalType: 'address', type: 'address' },
67555
+ ],
67556
+ name: 'StickyDistributor_Unauthorized',
67557
+ },
67558
+ {
67559
+ type: 'error',
67560
+ inputs: [{ name: 'hook', internalType: 'address', type: 'address' }],
67561
+ name: 'StickyDistributor_UnregisteredStickyToken',
67562
+ },
67563
+ { type: 'error', inputs: [], name: 'StickyDistributor_ZeroClaimDuration' },
67564
+ ];
67565
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
67566
+ // StickyHook
67567
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
67568
+ export const stickyHookAbi = [
67569
+ {
67570
+ type: 'constructor',
67571
+ inputs: [
67572
+ {
67573
+ name: 'directory',
67574
+ internalType: 'contract IJBDirectory',
67575
+ type: 'address',
67576
+ },
67577
+ { name: 'deployer', internalType: 'address', type: 'address' },
67578
+ ],
67579
+ stateMutability: 'nonpayable',
67580
+ },
67581
+ {
67582
+ type: 'function',
67583
+ inputs: [],
67584
+ name: 'DEPLOYER',
67585
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
67586
+ stateMutability: 'view',
67587
+ },
67588
+ {
67589
+ type: 'function',
67590
+ inputs: [],
67591
+ name: 'DIRECTORY',
67592
+ outputs: [
67593
+ { name: '', internalType: 'contract IJBDirectory', type: 'address' },
67594
+ ],
67595
+ stateMutability: 'view',
67596
+ },
67597
+ {
67598
+ type: 'function',
67599
+ inputs: [],
67600
+ name: 'EPOCH_DURATION',
67601
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
67602
+ stateMutability: 'view',
67603
+ },
67604
+ {
67605
+ type: 'function',
67606
+ inputs: [
67607
+ {
67608
+ name: 'context',
67609
+ internalType: 'struct JBAfterCashOutRecordedContext',
67610
+ type: 'tuple',
67611
+ components: [
67612
+ { name: 'holder', internalType: 'address', type: 'address' },
67613
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67614
+ { name: 'rulesetId', internalType: 'uint256', type: 'uint256' },
67615
+ { name: 'cashOutCount', internalType: 'uint256', type: 'uint256' },
67616
+ {
67617
+ name: 'reclaimedAmount',
67618
+ internalType: 'struct JBTokenAmount',
67619
+ type: 'tuple',
67620
+ components: [
67621
+ { name: 'token', internalType: 'address', type: 'address' },
67622
+ { name: 'decimals', internalType: 'uint8', type: 'uint8' },
67623
+ { name: 'currency', internalType: 'uint32', type: 'uint32' },
67624
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
67625
+ ],
67626
+ },
67627
+ {
67628
+ name: 'forwardedAmount',
67629
+ internalType: 'struct JBTokenAmount',
67630
+ type: 'tuple',
67631
+ components: [
67632
+ { name: 'token', internalType: 'address', type: 'address' },
67633
+ { name: 'decimals', internalType: 'uint8', type: 'uint8' },
67634
+ { name: 'currency', internalType: 'uint32', type: 'uint32' },
67635
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
67636
+ ],
67637
+ },
67638
+ { name: 'cashOutTaxRate', internalType: 'uint256', type: 'uint256' },
67639
+ {
67640
+ name: 'beneficiary',
67641
+ internalType: 'address payable',
67642
+ type: 'address',
67643
+ },
67644
+ { name: 'hookMetadata', internalType: 'bytes', type: 'bytes' },
67645
+ { name: 'cashOutMetadata', internalType: 'bytes', type: 'bytes' },
67646
+ ],
67647
+ },
67648
+ ],
67649
+ name: 'afterCashOutRecordedWith',
67650
+ outputs: [],
67651
+ stateMutability: 'payable',
67652
+ },
67653
+ {
67654
+ type: 'function',
67655
+ inputs: [
67656
+ {
67657
+ name: 'context',
67658
+ internalType: 'struct JBAfterPayRecordedContext',
67659
+ type: 'tuple',
67660
+ components: [
67661
+ { name: 'payer', internalType: 'address', type: 'address' },
67662
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67663
+ { name: 'rulesetId', internalType: 'uint256', type: 'uint256' },
67664
+ {
67665
+ name: 'amount',
67666
+ internalType: 'struct JBTokenAmount',
67667
+ type: 'tuple',
67668
+ components: [
67669
+ { name: 'token', internalType: 'address', type: 'address' },
67670
+ { name: 'decimals', internalType: 'uint8', type: 'uint8' },
67671
+ { name: 'currency', internalType: 'uint32', type: 'uint32' },
67672
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
67673
+ ],
67674
+ },
67675
+ {
67676
+ name: 'forwardedAmount',
67677
+ internalType: 'struct JBTokenAmount',
67678
+ type: 'tuple',
67679
+ components: [
67680
+ { name: 'token', internalType: 'address', type: 'address' },
67681
+ { name: 'decimals', internalType: 'uint8', type: 'uint8' },
67682
+ { name: 'currency', internalType: 'uint32', type: 'uint32' },
67683
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
67684
+ ],
67685
+ },
67686
+ { name: 'weight', internalType: 'uint256', type: 'uint256' },
67687
+ {
67688
+ name: 'newlyIssuedTokenCount',
67689
+ internalType: 'uint256',
67690
+ type: 'uint256',
67691
+ },
67692
+ { name: 'beneficiary', internalType: 'address', type: 'address' },
67693
+ { name: 'hookMetadata', internalType: 'bytes', type: 'bytes' },
67694
+ { name: 'payerMetadata', internalType: 'bytes', type: 'bytes' },
67695
+ ],
67696
+ },
67697
+ ],
67698
+ name: 'afterPayRecordedWith',
67699
+ outputs: [],
67700
+ stateMutability: 'payable',
67701
+ },
67702
+ {
67703
+ type: 'function',
67704
+ inputs: [
67705
+ {
67706
+ name: 'context',
67707
+ internalType: 'struct JBBeforeCashOutRecordedContext',
67708
+ type: 'tuple',
67709
+ components: [
67710
+ { name: 'terminal', internalType: 'address', type: 'address' },
67711
+ { name: 'holder', internalType: 'address', type: 'address' },
67712
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67713
+ { name: 'rulesetId', internalType: 'uint256', type: 'uint256' },
67714
+ { name: 'cashOutCount', internalType: 'uint256', type: 'uint256' },
67715
+ { name: 'totalSupply', internalType: 'uint256', type: 'uint256' },
67716
+ {
67717
+ name: 'surplus',
67718
+ internalType: 'struct JBTokenAmount',
67719
+ type: 'tuple',
67720
+ components: [
67721
+ { name: 'token', internalType: 'address', type: 'address' },
67722
+ { name: 'decimals', internalType: 'uint8', type: 'uint8' },
67723
+ { name: 'currency', internalType: 'uint32', type: 'uint32' },
67724
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
67725
+ ],
67726
+ },
67727
+ {
67728
+ name: 'scopeCashOutsToLocalBalances',
67729
+ internalType: 'bool',
67730
+ type: 'bool',
67731
+ },
67732
+ { name: 'cashOutTaxRate', internalType: 'uint256', type: 'uint256' },
67733
+ { name: 'beneficiaryIsFeeless', internalType: 'bool', type: 'bool' },
67734
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
67735
+ ],
67736
+ },
67737
+ ],
67738
+ name: 'beforeCashOutRecordedWith',
67739
+ outputs: [
67740
+ { name: 'cashOutTaxRate', internalType: 'uint256', type: 'uint256' },
67741
+ {
67742
+ name: 'effectiveCashOutCount',
67743
+ internalType: 'uint256',
67744
+ type: 'uint256',
67745
+ },
67746
+ {
67747
+ name: 'effectiveTotalSupply',
67748
+ internalType: 'uint256',
67749
+ type: 'uint256',
67750
+ },
67751
+ {
67752
+ name: 'effectiveSurplusValue',
67753
+ internalType: 'uint256',
67754
+ type: 'uint256',
67755
+ },
67756
+ {
67757
+ name: 'hookSpecifications',
67758
+ internalType: 'struct JBCashOutHookSpecification[]',
67759
+ type: 'tuple[]',
67760
+ components: [
67761
+ {
67762
+ name: 'hook',
67763
+ internalType: 'contract IJBCashOutHook',
67764
+ type: 'address',
67765
+ },
67766
+ { name: 'noop', internalType: 'bool', type: 'bool' },
67767
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
67768
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
67769
+ ],
67770
+ },
67771
+ ],
67772
+ stateMutability: 'view',
67773
+ },
67774
+ {
67775
+ type: 'function',
67776
+ inputs: [
67777
+ {
67778
+ name: 'context',
67779
+ internalType: 'struct JBBeforePayRecordedContext',
67780
+ type: 'tuple',
67781
+ components: [
67782
+ { name: 'terminal', internalType: 'address', type: 'address' },
67783
+ { name: 'payer', internalType: 'address', type: 'address' },
67784
+ {
67785
+ name: 'amount',
67786
+ internalType: 'struct JBTokenAmount',
67787
+ type: 'tuple',
67788
+ components: [
67789
+ { name: 'token', internalType: 'address', type: 'address' },
67790
+ { name: 'decimals', internalType: 'uint8', type: 'uint8' },
67791
+ { name: 'currency', internalType: 'uint32', type: 'uint32' },
67792
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
67793
+ ],
67794
+ },
67795
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67796
+ { name: 'rulesetId', internalType: 'uint256', type: 'uint256' },
67797
+ { name: 'beneficiary', internalType: 'address', type: 'address' },
67798
+ { name: 'weight', internalType: 'uint256', type: 'uint256' },
67799
+ { name: 'reservedPercent', internalType: 'uint256', type: 'uint256' },
67800
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
67801
+ ],
67802
+ },
67803
+ ],
67804
+ name: 'beforePayRecordedWith',
67805
+ outputs: [
67806
+ { name: 'weight', internalType: 'uint256', type: 'uint256' },
67807
+ {
67808
+ name: 'hookSpecifications',
67809
+ internalType: 'struct JBPayHookSpecification[]',
67810
+ type: 'tuple[]',
67811
+ components: [
67812
+ {
67813
+ name: 'hook',
67814
+ internalType: 'contract IJBPayHook',
67815
+ type: 'address',
67816
+ },
67817
+ { name: 'noop', internalType: 'bool', type: 'bool' },
67818
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
67819
+ { name: 'metadata', internalType: 'bytes', type: 'bytes' },
67820
+ ],
67821
+ },
67822
+ ],
67823
+ stateMutability: 'view',
67824
+ },
67825
+ {
67826
+ type: 'function',
67827
+ inputs: [
67828
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67829
+ { name: 'holder', internalType: 'address', type: 'address' },
67830
+ ],
67831
+ name: 'currentStreakOf',
67832
+ outputs: [{ name: 'duration', internalType: 'uint256', type: 'uint256' }],
67833
+ stateMutability: 'view',
67834
+ },
67835
+ {
67836
+ type: 'function',
67837
+ inputs: [
67838
+ { name: '', internalType: 'uint256', type: 'uint256' },
67839
+ {
67840
+ name: '',
67841
+ internalType: 'struct JBRuleset',
67842
+ type: 'tuple',
67843
+ components: [
67844
+ { name: 'cycleNumber', internalType: 'uint48', type: 'uint48' },
67845
+ { name: 'id', internalType: 'uint48', type: 'uint48' },
67846
+ { name: 'basedOnId', internalType: 'uint48', type: 'uint48' },
67847
+ { name: 'start', internalType: 'uint48', type: 'uint48' },
67848
+ { name: 'duration', internalType: 'uint32', type: 'uint32' },
67849
+ { name: 'weight', internalType: 'uint112', type: 'uint112' },
67850
+ { name: 'weightCutPercent', internalType: 'uint32', type: 'uint32' },
67851
+ {
67852
+ name: 'approvalHook',
67853
+ internalType: 'contract IJBRulesetApprovalHook',
67854
+ type: 'address',
67855
+ },
67856
+ { name: 'metadata', internalType: 'uint256', type: 'uint256' },
67857
+ ],
67858
+ },
67859
+ { name: '', internalType: 'address', type: 'address' },
67860
+ ],
67861
+ name: 'hasMintPermissionFor',
67862
+ outputs: [{ name: 'permitted', internalType: 'bool', type: 'bool' }],
67863
+ stateMutability: 'pure',
67864
+ },
67865
+ {
67866
+ type: 'function',
67867
+ inputs: [
67868
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67869
+ { name: 'granter', internalType: 'address', type: 'address' },
67870
+ ],
67871
+ name: 'isGranterOf',
67872
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
67873
+ stateMutability: 'view',
67874
+ },
67875
+ {
67876
+ type: 'function',
67877
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
67878
+ name: 'isPayingFor',
67879
+ outputs: [{ name: 'isPaying', internalType: 'bool', type: 'bool' }],
67880
+ stateMutability: 'view',
67881
+ },
67882
+ {
67883
+ type: 'function',
67884
+ inputs: [
67885
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67886
+ { name: 'holder', internalType: 'address', type: 'address' },
67887
+ { name: 'sender', internalType: 'address', type: 'address' },
67888
+ ],
67889
+ name: 'isTrustedSenderOf',
67890
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
67891
+ stateMutability: 'view',
67892
+ },
67893
+ {
67894
+ type: 'function',
67895
+ inputs: [
67896
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67897
+ { name: 'holder', internalType: 'address', type: 'address' },
67898
+ ],
67899
+ name: 'longestStreakOf',
67900
+ outputs: [{ name: 'duration', internalType: 'uint256', type: 'uint256' }],
67901
+ stateMutability: 'view',
67902
+ },
67903
+ {
67904
+ type: 'function',
67905
+ inputs: [
67906
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67907
+ { name: 'epoch', internalType: 'uint256', type: 'uint256' },
67908
+ ],
67909
+ name: 'netStakedIn',
67910
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
67911
+ stateMutability: 'view',
67912
+ },
67913
+ {
67914
+ type: 'function',
67915
+ inputs: [
67916
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67917
+ { name: 'fromEpoch', internalType: 'uint256', type: 'uint256' },
67918
+ { name: 'toEpoch', internalType: 'uint256', type: 'uint256' },
67919
+ ],
67920
+ name: 'netStakedWithin',
67921
+ outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
67922
+ stateMutability: 'view',
67923
+ },
67924
+ {
67925
+ type: 'function',
67926
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
67927
+ name: 'orphanedBalanceOf',
67928
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
67929
+ stateMutability: 'view',
67930
+ },
67931
+ {
67932
+ type: 'function',
67933
+ inputs: [
67934
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67935
+ { name: 'holder', internalType: 'address', type: 'address' },
67936
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
67937
+ ],
67938
+ name: 'recordBurn',
67939
+ outputs: [],
67940
+ stateMutability: 'nonpayable',
67941
+ },
67942
+ {
67943
+ type: 'function',
67944
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
67945
+ name: 'recordMint',
67946
+ outputs: [],
67947
+ stateMutability: 'nonpayable',
67948
+ },
67949
+ {
67950
+ type: 'function',
67951
+ inputs: [
67952
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67953
+ { name: 'from', internalType: 'address', type: 'address' },
67954
+ { name: 'to', internalType: 'address', type: 'address' },
67955
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
67956
+ ],
67957
+ name: 'recordTransfer',
67958
+ outputs: [],
67959
+ stateMutability: 'nonpayable',
67960
+ },
67961
+ {
67962
+ type: 'function',
67963
+ inputs: [
67964
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67965
+ { name: 'granters', internalType: 'address[]', type: 'address[]' },
67966
+ ],
67967
+ name: 'setGrantersFor',
67968
+ outputs: [],
67969
+ stateMutability: 'nonpayable',
67970
+ },
67971
+ {
67972
+ type: 'function',
67973
+ inputs: [
67974
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67975
+ { name: 'token', internalType: 'address', type: 'address' },
67976
+ ],
67977
+ name: 'setTokenFor',
67978
+ outputs: [],
67979
+ stateMutability: 'nonpayable',
67980
+ },
67981
+ {
67982
+ type: 'function',
67983
+ inputs: [
67984
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67985
+ { name: 'sender', internalType: 'address', type: 'address' },
67986
+ { name: 'trusted', internalType: 'bool', type: 'bool' },
67987
+ ],
67988
+ name: 'setTrustedSenderFor',
67989
+ outputs: [],
67990
+ stateMutability: 'nonpayable',
67991
+ },
67992
+ {
67993
+ type: 'function',
67994
+ inputs: [
67995
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
67996
+ { name: 'holder', internalType: 'address', type: 'address' },
67997
+ ],
67998
+ name: 'stakedBalanceOf',
67999
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
68000
+ stateMutability: 'view',
68001
+ },
68002
+ {
68003
+ type: 'function',
68004
+ inputs: [
68005
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68006
+ { name: 'holder', internalType: 'address', type: 'address' },
68007
+ { name: 'epoch', internalType: 'uint256', type: 'uint256' },
68008
+ ],
68009
+ name: 'stakedBalanceThroughEpochOf',
68010
+ outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }],
68011
+ stateMutability: 'view',
68012
+ },
68013
+ {
68014
+ type: 'function',
68015
+ inputs: [
68016
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68017
+ { name: 'holder', internalType: 'address', type: 'address' },
68018
+ ],
68019
+ name: 'streakStartOf',
68020
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
68021
+ stateMutability: 'view',
68022
+ },
68023
+ {
68024
+ type: 'function',
68025
+ inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
68026
+ name: 'supportsInterface',
68027
+ outputs: [{ name: 'supported', internalType: 'bool', type: 'bool' }],
68028
+ stateMutability: 'view',
68029
+ },
68030
+ {
68031
+ type: 'function',
68032
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
68033
+ name: 'tokenOf',
68034
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
68035
+ stateMutability: 'view',
68036
+ },
68037
+ {
68038
+ type: 'function',
68039
+ inputs: [
68040
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68041
+ { name: 'holder', internalType: 'address', type: 'address' },
68042
+ ],
68043
+ name: 'trancheCountOf',
68044
+ outputs: [{ name: 'count', internalType: 'uint256', type: 'uint256' }],
68045
+ stateMutability: 'view',
68046
+ },
68047
+ {
68048
+ type: 'function',
68049
+ inputs: [
68050
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68051
+ { name: 'holder', internalType: 'address', type: 'address' },
68052
+ ],
68053
+ name: 'tranchesOf',
68054
+ outputs: [
68055
+ {
68056
+ name: 'tranches',
68057
+ internalType: 'struct StickyTranche[]',
68058
+ type: 'tuple[]',
68059
+ components: [
68060
+ { name: 'amount', internalType: 'uint208', type: 'uint208' },
68061
+ { name: 'timestamp', internalType: 'uint48', type: 'uint48' },
68062
+ ],
68063
+ },
68064
+ ],
68065
+ stateMutability: 'view',
68066
+ },
68067
+ {
68068
+ type: 'function',
68069
+ inputs: [
68070
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68071
+ { name: 'holder', internalType: 'address', type: 'address' },
68072
+ { name: 'start', internalType: 'uint256', type: 'uint256' },
68073
+ { name: 'count', internalType: 'uint256', type: 'uint256' },
68074
+ ],
68075
+ name: 'tranchesOf',
68076
+ outputs: [
68077
+ {
68078
+ name: 'tranches',
68079
+ internalType: 'struct StickyTranche[]',
68080
+ type: 'tuple[]',
68081
+ components: [
68082
+ { name: 'amount', internalType: 'uint208', type: 'uint208' },
68083
+ { name: 'timestamp', internalType: 'uint48', type: 'uint48' },
68084
+ ],
68085
+ },
68086
+ ],
68087
+ stateMutability: 'view',
68088
+ },
68089
+ {
68090
+ type: 'event',
68091
+ anonymous: false,
68092
+ inputs: [
68093
+ {
68094
+ name: 'projectId',
68095
+ internalType: 'uint256',
68096
+ type: 'uint256',
68097
+ indexed: true,
68098
+ },
68099
+ {
68100
+ name: 'amount',
68101
+ internalType: 'uint256',
68102
+ type: 'uint256',
68103
+ indexed: false,
68104
+ },
68105
+ {
68106
+ name: 'caller',
68107
+ internalType: 'address',
68108
+ type: 'address',
68109
+ indexed: false,
68110
+ },
68111
+ ],
68112
+ name: 'ExcludeOrphanedBalance',
68113
+ },
68114
+ {
68115
+ type: 'event',
68116
+ anonymous: false,
68117
+ inputs: [
68118
+ {
68119
+ name: 'projectId',
68120
+ internalType: 'uint256',
68121
+ type: 'uint256',
68122
+ indexed: true,
68123
+ },
68124
+ {
68125
+ name: 'granter',
68126
+ internalType: 'address',
68127
+ type: 'address',
68128
+ indexed: true,
68129
+ },
68130
+ {
68131
+ name: 'caller',
68132
+ internalType: 'address',
68133
+ type: 'address',
68134
+ indexed: false,
68135
+ },
68136
+ ],
68137
+ name: 'SetGranter',
68138
+ },
68139
+ {
68140
+ type: 'event',
68141
+ anonymous: false,
68142
+ inputs: [
68143
+ {
68144
+ name: 'projectId',
68145
+ internalType: 'uint256',
68146
+ type: 'uint256',
68147
+ indexed: true,
68148
+ },
68149
+ {
68150
+ name: 'token',
68151
+ internalType: 'address',
68152
+ type: 'address',
68153
+ indexed: false,
68154
+ },
68155
+ {
68156
+ name: 'caller',
68157
+ internalType: 'address',
68158
+ type: 'address',
68159
+ indexed: false,
68160
+ },
68161
+ ],
68162
+ name: 'SetToken',
68163
+ },
68164
+ {
68165
+ type: 'event',
68166
+ anonymous: false,
68167
+ inputs: [
68168
+ {
68169
+ name: 'projectId',
68170
+ internalType: 'uint256',
68171
+ type: 'uint256',
68172
+ indexed: true,
68173
+ },
68174
+ {
68175
+ name: 'holder',
68176
+ internalType: 'address',
68177
+ type: 'address',
68178
+ indexed: true,
68179
+ },
68180
+ {
68181
+ name: 'sender',
68182
+ internalType: 'address',
68183
+ type: 'address',
68184
+ indexed: true,
68185
+ },
68186
+ { name: 'trusted', internalType: 'bool', type: 'bool', indexed: false },
68187
+ ],
68188
+ name: 'SetTrustedSender',
68189
+ },
68190
+ {
68191
+ type: 'event',
68192
+ anonymous: false,
68193
+ inputs: [
68194
+ {
68195
+ name: 'projectId',
68196
+ internalType: 'uint256',
68197
+ type: 'uint256',
68198
+ indexed: true,
68199
+ },
68200
+ {
68201
+ name: 'holder',
68202
+ internalType: 'address',
68203
+ type: 'address',
68204
+ indexed: true,
68205
+ },
68206
+ {
68207
+ name: 'payer',
68208
+ internalType: 'address',
68209
+ type: 'address',
68210
+ indexed: false,
68211
+ },
68212
+ {
68213
+ name: 'count',
68214
+ internalType: 'uint256',
68215
+ type: 'uint256',
68216
+ indexed: false,
68217
+ },
68218
+ {
68219
+ name: 'stakedBalance',
68220
+ internalType: 'uint256',
68221
+ type: 'uint256',
68222
+ indexed: false,
68223
+ },
68224
+ {
68225
+ name: 'caller',
68226
+ internalType: 'address',
68227
+ type: 'address',
68228
+ indexed: false,
68229
+ },
68230
+ ],
68231
+ name: 'Staked',
68232
+ },
68233
+ {
68234
+ type: 'event',
68235
+ anonymous: false,
68236
+ inputs: [
68237
+ {
68238
+ name: 'projectId',
68239
+ internalType: 'uint256',
68240
+ type: 'uint256',
68241
+ indexed: true,
68242
+ },
68243
+ {
68244
+ name: 'holder',
68245
+ internalType: 'address',
68246
+ type: 'address',
68247
+ indexed: true,
68248
+ },
68249
+ {
68250
+ name: 'duration',
68251
+ internalType: 'uint256',
68252
+ type: 'uint256',
68253
+ indexed: false,
68254
+ },
68255
+ {
68256
+ name: 'caller',
68257
+ internalType: 'address',
68258
+ type: 'address',
68259
+ indexed: false,
68260
+ },
68261
+ ],
68262
+ name: 'StreakEnded',
68263
+ },
68264
+ {
68265
+ type: 'event',
68266
+ anonymous: false,
68267
+ inputs: [
68268
+ {
68269
+ name: 'projectId',
68270
+ internalType: 'uint256',
68271
+ type: 'uint256',
68272
+ indexed: true,
68273
+ },
68274
+ {
68275
+ name: 'holder',
68276
+ internalType: 'address',
68277
+ type: 'address',
68278
+ indexed: true,
68279
+ },
68280
+ {
68281
+ name: 'caller',
68282
+ internalType: 'address',
68283
+ type: 'address',
68284
+ indexed: false,
68285
+ },
68286
+ ],
68287
+ name: 'StreakStarted',
68288
+ },
68289
+ {
68290
+ type: 'event',
68291
+ anonymous: false,
68292
+ inputs: [
68293
+ {
68294
+ name: 'projectId',
68295
+ internalType: 'uint256',
68296
+ type: 'uint256',
68297
+ indexed: true,
68298
+ },
68299
+ {
68300
+ name: 'holder',
68301
+ internalType: 'address',
68302
+ type: 'address',
68303
+ indexed: true,
68304
+ },
68305
+ {
68306
+ name: 'count',
68307
+ internalType: 'uint256',
68308
+ type: 'uint256',
68309
+ indexed: false,
68310
+ },
68311
+ {
68312
+ name: 'stakedBalance',
68313
+ internalType: 'uint256',
68314
+ type: 'uint256',
68315
+ indexed: false,
68316
+ },
68317
+ {
68318
+ name: 'caller',
68319
+ internalType: 'address',
68320
+ type: 'address',
68321
+ indexed: false,
68322
+ },
68323
+ ],
68324
+ name: 'Unstaked',
68325
+ },
68326
+ {
68327
+ type: 'error',
68328
+ inputs: [
68329
+ { name: 'bits', internalType: 'uint8', type: 'uint8' },
68330
+ { name: 'value', internalType: 'uint256', type: 'uint256' },
68331
+ ],
68332
+ name: 'SafeCastOverflowedUintDowncast',
68333
+ },
68334
+ {
68335
+ type: 'error',
68336
+ inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
68337
+ name: 'StickyHook_CallerNotTerminal',
68338
+ },
68339
+ {
68340
+ type: 'error',
68341
+ inputs: [
68342
+ { name: 'caller', internalType: 'address', type: 'address' },
68343
+ { name: 'token', internalType: 'address', type: 'address' },
68344
+ ],
68345
+ name: 'StickyHook_CallerNotToken',
68346
+ },
68347
+ {
68348
+ type: 'error',
68349
+ inputs: [
68350
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68351
+ { name: 'holder', internalType: 'address', type: 'address' },
68352
+ { name: 'balance', internalType: 'uint256', type: 'uint256' },
68353
+ { name: 'count', internalType: 'uint256', type: 'uint256' },
68354
+ ],
68355
+ name: 'StickyHook_InsufficientStakedBalance',
68356
+ },
68357
+ {
68358
+ type: 'error',
68359
+ inputs: [
68360
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68361
+ { name: 'backing', internalType: 'uint256', type: 'uint256' },
68362
+ { name: 'orphanedBalance', internalType: 'uint256', type: 'uint256' },
68363
+ ],
68364
+ name: 'StickyHook_InvalidBacking',
68365
+ },
68366
+ {
68367
+ type: 'error',
68368
+ inputs: [
68369
+ { name: 'fromEpoch', internalType: 'uint256', type: 'uint256' },
68370
+ { name: 'toEpoch', internalType: 'uint256', type: 'uint256' },
68371
+ ],
68372
+ name: 'StickyHook_InvalidEpochRange',
68373
+ },
68374
+ {
68375
+ type: 'error',
68376
+ inputs: [
68377
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68378
+ { name: 'length', internalType: 'uint256', type: 'uint256' },
68379
+ ],
68380
+ name: 'StickyHook_InvalidPricingMetadata',
68381
+ },
68382
+ {
68383
+ type: 'error',
68384
+ inputs: [
68385
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68386
+ { name: 'expectedSupply', internalType: 'uint256', type: 'uint256' },
68387
+ { name: 'actualSupply', internalType: 'uint256', type: 'uint256' },
68388
+ { name: 'expectedBacking', internalType: 'uint256', type: 'uint256' },
68389
+ { name: 'actualBacking', internalType: 'uint256', type: 'uint256' },
68390
+ ],
68391
+ name: 'StickyHook_PricingStateChanged',
68392
+ },
68393
+ {
68394
+ type: 'error',
68395
+ inputs: [
68396
+ { name: 'payer', internalType: 'address', type: 'address' },
68397
+ { name: 'beneficiary', internalType: 'address', type: 'address' },
68398
+ ],
68399
+ name: 'StickyHook_SenderNotTrusted',
68400
+ },
68401
+ {
68402
+ type: 'error',
68403
+ inputs: [
68404
+ { name: 'caller', internalType: 'address', type: 'address' },
68405
+ { name: 'deployer', internalType: 'address', type: 'address' },
68406
+ ],
68407
+ name: 'StickyHook_Unauthorized',
68408
+ },
68409
+ {
68410
+ type: 'error',
68411
+ inputs: [
68412
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68413
+ { name: 'expected', internalType: 'uint256', type: 'uint256' },
68414
+ { name: 'actual', internalType: 'uint256', type: 'uint256' },
68415
+ ],
68416
+ name: 'StickyHook_UnexpectedIssuedCount',
68417
+ },
68418
+ {
68419
+ type: 'error',
68420
+ inputs: [{ name: 'value', internalType: 'uint256', type: 'uint256' }],
68421
+ name: 'StickyHook_UnexpectedValue',
68422
+ },
68423
+ {
68424
+ type: 'error',
68425
+ inputs: [{ name: 'projectId', internalType: 'uint256', type: 'uint256' }],
68426
+ name: 'StickyHook_UnknownProject',
68427
+ },
68428
+ {
68429
+ type: 'error',
68430
+ inputs: [
68431
+ { name: 'projectId', internalType: 'uint256', type: 'uint256' },
68432
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
68433
+ ],
68434
+ name: 'StickyHook_ZeroIssuance',
68435
+ },
68436
+ {
68437
+ type: 'error',
68438
+ inputs: [{ name: 'decimals', internalType: 'uint256', type: 'uint256' }],
68439
+ name: 'StickyPricing_UnsupportedDecimals',
68440
+ },
68441
+ ];
68442
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
68443
+ // StickyRewardReceiverFactory
68444
+ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
68445
+ export const stickyRewardReceiverFactoryAbi = [
68446
+ {
68447
+ type: 'constructor',
68448
+ inputs: [
68449
+ {
68450
+ name: 'distributor',
68451
+ internalType: 'contract IStickyDistributor',
68452
+ type: 'address',
68453
+ },
68454
+ ],
68455
+ stateMutability: 'nonpayable',
68456
+ },
68457
+ {
68458
+ type: 'function',
68459
+ inputs: [],
68460
+ name: 'DISTRIBUTOR',
68461
+ outputs: [
68462
+ {
68463
+ name: '',
68464
+ internalType: 'contract IStickyDistributor',
68465
+ type: 'address',
68466
+ },
68467
+ ],
68468
+ stateMutability: 'view',
68469
+ },
68470
+ {
68471
+ type: 'function',
68472
+ inputs: [
68473
+ { name: 'stickyToken', internalType: 'address', type: 'address' },
68474
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
68475
+ ],
68476
+ name: 'deployReceiverFor',
68477
+ outputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],
68478
+ stateMutability: 'nonpayable',
68479
+ },
68480
+ {
68481
+ type: 'function',
68482
+ inputs: [
68483
+ { name: 'stickyToken', internalType: 'address', type: 'address' },
68484
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
68485
+ ],
68486
+ name: 'predictReceiverOf',
68487
+ outputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],
68488
+ stateMutability: 'view',
68489
+ },
68490
+ {
68491
+ type: 'function',
68492
+ inputs: [
68493
+ { name: 'stickyToken', internalType: 'address', type: 'address' },
68494
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
68495
+ ],
68496
+ name: 'receiverOf',
68497
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
68498
+ stateMutability: 'view',
68499
+ },
68500
+ {
68501
+ type: 'function',
68502
+ inputs: [
68503
+ { name: 'stickyToken', internalType: 'address', type: 'address' },
68504
+ { name: 'groupId', internalType: 'uint256', type: 'uint256' },
68505
+ { name: 'token', internalType: 'contract IERC20', type: 'address' },
68506
+ ],
68507
+ name: 'settleFor',
68508
+ outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],
68509
+ stateMutability: 'nonpayable',
68510
+ },
68511
+ {
68512
+ type: 'event',
68513
+ anonymous: false,
68514
+ inputs: [
68515
+ {
68516
+ name: 'stickyToken',
68517
+ internalType: 'address',
68518
+ type: 'address',
68519
+ indexed: true,
68520
+ },
68521
+ {
68522
+ name: 'groupId',
68523
+ internalType: 'uint256',
68524
+ type: 'uint256',
68525
+ indexed: true,
68526
+ },
68527
+ {
68528
+ name: 'receiver',
68529
+ internalType: 'address',
68530
+ type: 'address',
68531
+ indexed: false,
68532
+ },
68533
+ {
68534
+ name: 'caller',
68535
+ internalType: 'address',
68536
+ type: 'address',
68537
+ indexed: false,
68538
+ },
68539
+ ],
68540
+ name: 'DeployReceiver',
68541
+ },
68542
+ {
68543
+ type: 'event',
68544
+ anonymous: false,
68545
+ inputs: [
68546
+ {
68547
+ name: 'stickyToken',
68548
+ internalType: 'address',
68549
+ type: 'address',
68550
+ indexed: true,
68551
+ },
68552
+ {
68553
+ name: 'groupId',
68554
+ internalType: 'uint256',
68555
+ type: 'uint256',
68556
+ indexed: true,
68557
+ },
68558
+ {
68559
+ name: 'token',
68560
+ internalType: 'contract IERC20',
68561
+ type: 'address',
68562
+ indexed: true,
68563
+ },
68564
+ {
68565
+ name: 'amount',
68566
+ internalType: 'uint256',
68567
+ type: 'uint256',
68568
+ indexed: false,
68569
+ },
68570
+ {
68571
+ name: 'caller',
68572
+ internalType: 'address',
68573
+ type: 'address',
68574
+ indexed: false,
68575
+ },
68576
+ ],
68577
+ name: 'Settle',
68578
+ },
68579
+ {
68580
+ type: 'error',
68581
+ inputs: [{ name: 'groupId', internalType: 'uint256', type: 'uint256' }],
68582
+ name: 'StickyRewardReceiverFactory_InvalidGroupId',
68583
+ },
68584
+ ];
65835
68585
  /**
65836
68586
  * Addresses to use in JB project deployments.
65837
68587
  */
@@ -66825,6 +69575,56 @@ export const jbContractAddress = {
66825
69575
  "11155111": "0xb853758a70a6b4216c09f1d071ea2344aba0a34f",
66826
69576
  "11155420": "0xb853758a70a6b4216c09f1d071ea2344aba0a34f"
66827
69577
  },
69578
+ "StickyDeployer": {
69579
+ "1": "0x2d31dd23aeeb021669e18070a46af34d856b2e29",
69580
+ "10": "0x2d31dd23aeeb021669e18070a46af34d856b2e29",
69581
+ "8453": "0x2d31dd23aeeb021669e18070a46af34d856b2e29",
69582
+ "42161": "0x2d31dd23aeeb021669e18070a46af34d856b2e29",
69583
+ "84532": "0x2d31dd23aeeb021669e18070a46af34d856b2e29",
69584
+ "421614": "0x2d31dd23aeeb021669e18070a46af34d856b2e29",
69585
+ "11155111": "0x2d31dd23aeeb021669e18070a46af34d856b2e29",
69586
+ "11155420": "0x2d31dd23aeeb021669e18070a46af34d856b2e29"
69587
+ },
69588
+ "StickyHook": {
69589
+ "1": "0x965444ab0bea878cdd3fc12b86a0762350de70e6",
69590
+ "10": "0x965444ab0bea878cdd3fc12b86a0762350de70e6",
69591
+ "8453": "0x965444ab0bea878cdd3fc12b86a0762350de70e6",
69592
+ "42161": "0x965444ab0bea878cdd3fc12b86a0762350de70e6",
69593
+ "84532": "0x965444ab0bea878cdd3fc12b86a0762350de70e6",
69594
+ "421614": "0x965444ab0bea878cdd3fc12b86a0762350de70e6",
69595
+ "11155111": "0x965444ab0bea878cdd3fc12b86a0762350de70e6",
69596
+ "11155420": "0x965444ab0bea878cdd3fc12b86a0762350de70e6"
69597
+ },
69598
+ "StickyDistributor": {
69599
+ "1": "0x9862b5aad5a139271be57fc82fced9146add0d0f",
69600
+ "10": "0x9862b5aad5a139271be57fc82fced9146add0d0f",
69601
+ "8453": "0x9862b5aad5a139271be57fc82fced9146add0d0f",
69602
+ "42161": "0x9862b5aad5a139271be57fc82fced9146add0d0f",
69603
+ "84532": "0x9862b5aad5a139271be57fc82fced9146add0d0f",
69604
+ "421614": "0x9862b5aad5a139271be57fc82fced9146add0d0f",
69605
+ "11155111": "0x9862b5aad5a139271be57fc82fced9146add0d0f",
69606
+ "11155420": "0x9862b5aad5a139271be57fc82fced9146add0d0f"
69607
+ },
69608
+ "StickyRewardReceiverFactory": {
69609
+ "1": "0x56c0bffc3fe135719c22541b11c15157142fade0",
69610
+ "10": "0x56c0bffc3fe135719c22541b11c15157142fade0",
69611
+ "8453": "0x56c0bffc3fe135719c22541b11c15157142fade0",
69612
+ "42161": "0x56c0bffc3fe135719c22541b11c15157142fade0",
69613
+ "84532": "0x56c0bffc3fe135719c22541b11c15157142fade0",
69614
+ "421614": "0x56c0bffc3fe135719c22541b11c15157142fade0",
69615
+ "11155111": "0x56c0bffc3fe135719c22541b11c15157142fade0",
69616
+ "11155420": "0x56c0bffc3fe135719c22541b11c15157142fade0"
69617
+ },
69618
+ "StickyAutoStick": {
69619
+ "1": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5",
69620
+ "10": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5",
69621
+ "8453": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5",
69622
+ "42161": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5",
69623
+ "84532": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5",
69624
+ "421614": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5",
69625
+ "11155111": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5",
69626
+ "11155420": "0xc6f0b98534d6a3884a823c8717c9312d2a7782e5"
69627
+ },
66828
69628
  "REVDeployer": {
66829
69629
  "1": "0xb552eb94284f94b833837d4b2cbb237128415d4e",
66830
69630
  "10": "0xb552eb94284f94b833837d4b2cbb237128415d4e",