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