diff --git a/src/constants/addresses.ts b/src/constants/addresses.ts
index ab0ef33..841a394 100644
--- a/src/constants/addresses.ts
+++ b/src/constants/addresses.ts
@@ -1,16 +1,14 @@
import { Address } from "viem";
-export const ALGEBRA_FARMING_CENTER: Address =
- "0x07B8114E9f6fC41963c060A9fD878977c4093B84";
+export const ALGEBRA_FARMING_CENTER: Address = "0xd5FBdE38734a2E8f28B12B12A3A617979bDe953E";
-export const ALGEBRA_ETERNAL_FARMING: Address =
- "0xf7cA7d0F8Bbef9BBfEB66Cf2c9C84Eeb2dA60b22";
+export const ALGEBRA_ETERNAL_FARMING: Address = "0x3f8350ae86E7ABbE67B1f5Fd1CA6E85c309d4e21";
-export const ALGEBRA_FACTORY: Address =
- "0xcD58521ecaC7724d1752F941C56490c27bAe9ab0";
+export const ALGEBRA_FACTORY: Address = "0xE4e7d1b09faE61B12F07EF86ED7eC590F1B6c6CF";
-export const PLUGIN_FACTORY: Address =
- "0xdFEB2C88C32311792665b8626093193b959138D3";
+export const PLUGIN_FACTORY: Address = "0x9e6Fb37e3d320cc703e884b9A3A17fEc5fb3cDBD";
-export const ALGEBRA_STUB_PLUGIN: Address =
- "0x85dD131EeC48416A3aFFB098140d2bf94c1934ee";
+export const ALGEBRA_STUB_PLUGIN: Address = "0x480b4B4f8F7D3f2ce48e592DBdEA2eFc8e144D68";
+
+/* Ve 33 */
+export const VOTER: Address = "0xb0fF55b399dCfFdffDBCB5C5fDadCa1659910ba8";
diff --git a/src/generated.ts b/src/generated.ts
index 661a04d..8bb0cd1 100644
--- a/src/generated.ts
+++ b/src/generated.ts
@@ -1,4 +1,4 @@
-// Generated by @wagmi/cli@1.0.0 on 8/18/2025 at 4:31:43 PM
+// Generated by @wagmi/cli@1.0.0 on 9/16/2025 at 1:23:56 PM
import {
getContract,
GetContractArgs,
@@ -278,7 +278,7 @@ export const farmingCenterABI = [
] as const
export const farmingCenterAddress =
- '0x07B8114E9f6fC41963c060A9fD878977c4093B84' as const
+ '0xd5FBdE38734a2E8f28B12B12A3A617979bDe953E' as const
export const farmingCenterConfig = {
address: farmingCenterAddress,
@@ -1106,7 +1106,7 @@ export const eternalFarmingABI = [
] as const
export const eternalFarmingAddress =
- '0xf7cA7d0F8Bbef9BBfEB66Cf2c9C84Eeb2dA60b22' as const
+ '0x3f8350ae86E7ABbE67B1f5Fd1CA6E85c309d4e21' as const
export const eternalFarmingConfig = {
address: eternalFarmingAddress,
@@ -1666,7 +1666,7 @@ export const algebraFactoryABI = [
] as const
export const algebraFactoryAddress =
- '0xcD58521ecaC7724d1752F941C56490c27bAe9ab0' as const
+ '0xE4e7d1b09faE61B12F07EF86ED7eC590F1B6c6CF' as const
export const algebraFactoryConfig = {
address: algebraFactoryAddress,
@@ -1804,7 +1804,7 @@ export const pluginFactoryABI = [
] as const
export const pluginFactoryAddress =
- '0xdFEB2C88C32311792665b8626093193b959138D3' as const
+ '0x9e6Fb37e3d320cc703e884b9A3A17fEc5fb3cDBD' as const
export const pluginFactoryConfig = {
address: pluginFactoryAddress,
@@ -3000,7 +3000,7 @@ export const algebraStubPluginABI = [
] as const
export const algebraStubPluginAddress =
- '0x85dD131EeC48416A3aFFB098140d2bf94c1934ee' as const
+ '0x480b4B4f8F7D3f2ce48e592DBdEA2eFc8e144D68' as const
export const algebraStubPluginConfig = {
address: algebraStubPluginAddress,
@@ -3279,7605 +3279,12454 @@ export const algebraVirtualPoolABI = [
] as const
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Core
+// Voter
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+export const voterABI = [
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'AUTHORIZED_ROLE',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'DEFAULT_ADMIN_ROLE',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'DURATION',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'UPGRADE_INTERFACE_VERSION',
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [],
+ name: 'acceptOwnership',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'algb',
+ outputs: [{ name: '', internalType: 'contract IERC20', type: 'address' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'algebraGaugeFactory',
+ outputs: [
+ {
+ name: '',
+ internalType: 'contract AlgebraGaugeFactory',
+ type: 'address',
+ },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'algebraVaultFactory',
+ outputs: [
+ {
+ name: '',
+ internalType: 'contract IAlgebraVaultFactory',
+ type: 'address',
+ },
+ ],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ { name: '_fromPeriod', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'carryVoteForward',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'checkPeriodVoted',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ {
+ name: '_votingRewardList',
+ internalType: 'address[]',
+ type: 'address[]',
+ },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'claimVotingRewardBatch',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_poolAddress', internalType: 'address', type: 'address' },
+ ],
+ name: 'createAlgebraGauge',
+ outputs: [
+ { name: '_gauge', internalType: 'address', type: 'address' },
+ { name: '_votingReward', internalType: 'address', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [],
+ name: 'createGauge',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_gauge', internalType: 'address', type: 'address' }],
+ name: 'distribute',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_gauge', internalType: 'address', type: 'address' },
+ ],
+ name: 'distribute',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [],
+ name: 'distributeAll',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_start', internalType: 'uint256', type: 'uint256' },
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'distributeRange',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'epoch0Period',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_gauge', internalType: 'address', type: 'address' }],
+ name: 'gaugeToPool',
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'getCurrentPeriod',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_pool', internalType: 'address', type: 'address' }],
+ name: 'getGauge',
+ outputs: [
+ {
+ name: '',
+ internalType: 'struct IVoter.Gauge',
+ type: 'tuple',
+ components: [
+ { name: 'gauge', internalType: 'address', type: 'address' },
+ { name: 'isAlgebra', internalType: 'bool', type: 'bool' },
+ { name: 'votingReward', internalType: 'address', type: 'address' },
+ { name: 'isAlive', internalType: 'bool', type: 'bool' },
+ { name: 'vault', internalType: 'address', type: 'address' },
+ ],
+ },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'getGaugeList',
+ outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_period', internalType: 'uint256', type: 'uint256' }],
+ name: 'getPeriodData',
+ outputs: [
+ { name: '_globalTotalVotes', internalType: 'uint256', type: 'uint256' },
+ { name: '_gaugeList', internalType: 'address[]', type: 'address[]' },
+ {
+ name: '_gaugeTotalVotesList',
+ internalType: 'uint256[]',
+ type: 'uint256[]',
+ },
+ { name: '_totalEmissions', internalType: 'uint256', type: 'uint256' },
+ {
+ name: '_gaugeEmissionsList',
+ internalType: 'struct IVoter.Emissions[]',
+ type: 'tuple[]',
+ components: [
+ { name: 'amount', internalType: 'uint256', type: 'uint256' },
+ { name: 'distributed', internalType: 'bool', type: 'bool' },
+ ],
+ },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'getPoolList',
+ outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }],
+ name: 'getRoleAdmin',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'getTokenIdVotes',
+ outputs: [
+ {
+ name: '_tokenIdVotedList',
+ internalType: 'address[]',
+ type: 'address[]',
+ },
+ { name: '_tokenIdVotes', internalType: 'uint256[]', type: 'uint256[]' },
+ ],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'account', internalType: 'address', type: 'address' },
+ ],
+ name: 'grantRole',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'account', internalType: 'address', type: 'address' },
+ ],
+ name: 'hasRole',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_veALGB', internalType: 'address', type: 'address' },
+ { name: '_initialOwner', internalType: 'address', type: 'address' },
+ ],
+ name: 'initialize',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_gauge', internalType: 'address', type: 'address' }],
+ name: 'isAlive',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_gauge', internalType: 'address', type: 'address' }],
+ name: 'isGauge',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_token', internalType: 'address', type: 'address' }],
+ name: 'isWhitelisted',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_gauge', internalType: 'address', type: 'address' }],
+ name: 'killGauge',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'minter',
+ outputs: [{ name: '', internalType: 'contract IMinter', type: 'address' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_amount', internalType: 'uint256', type: 'uint256' }],
+ name: 'notifyRewardAmount',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'owner',
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'pendingOwner',
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_period', internalType: 'uint256', type: 'uint256' }],
+ name: 'period',
+ outputs: [
+ { name: 'globalTotalVotes', internalType: 'uint256', type: 'uint256' },
+ { name: 'totalEmissions', internalType: 'uint256', type: 'uint256' },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'proxiableUUID',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'rebaseReward',
+ outputs: [
+ { name: '', internalType: 'contract IRebaseReward', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [],
+ name: 'renounceOwnership',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'callerConfirmation', internalType: 'address', type: 'address' },
+ ],
+ name: 'renounceRole',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_gauge', internalType: 'address', type: 'address' }],
+ name: 'reviveGauge',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'account', internalType: 'address', type: 'address' },
+ ],
+ name: 'revokeRole',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ {
+ name: '_algebraGaugeFactory',
+ internalType: 'address',
+ type: 'address',
+ },
+ ],
+ name: 'setAlgebraGaugeFactory',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ {
+ name: '_algebraVaultFactory',
+ internalType: 'address',
+ type: 'address',
+ },
+ ],
+ name: 'setAlgebraVaultFactory',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_minter', internalType: 'address', type: 'address' }],
+ name: 'setMinter',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_rebaseReward', internalType: 'address', type: 'address' },
+ ],
+ name: 'setRebaseReward',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_token', internalType: 'address', type: 'address' },
+ { name: '_status', internalType: 'bool', type: 'bool' },
+ ],
+ name: 'setTokenStatus',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ {
+ name: '_votingRewardFactory',
+ internalType: 'address',
+ type: 'address',
+ },
+ ],
+ name: 'setVotingRewardFactory',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [],
+ name: 'start',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
+ name: 'supportsInterface',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
+ name: 'transferOwnership',
+ outputs: [],
+ },
+ {
+ stateMutability: 'payable',
+ type: 'function',
+ inputs: [
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
+ ],
+ name: 'upgradeToAndCall',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'veALGB',
+ outputs: [
+ { name: '', internalType: 'contract IVotingEscrow', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ { name: '_poolList', internalType: 'address[]', type: 'address[]' },
+ { name: 'weightList', internalType: 'uint256[]', type: 'uint256[]' },
+ ],
+ name: 'vote',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'votingRewardFactory',
+ outputs: [
+ {
+ name: '',
+ internalType: 'contract VotingRewardFactory',
+ type: 'address',
+ },
+ ],
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_pool',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: '_amount0',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_amount1',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ ],
+ name: 'DistributeAlgebraFees',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_gauge',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: '_amount',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_period',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ ],
+ name: 'DistributeEmissions',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_gauge',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: '_votingReward',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: '_pool',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ ],
+ name: 'GaugeCreated',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_gauge',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ ],
+ name: 'GaugeKilled',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_gauge',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ ],
+ name: 'GaugeRevived',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'version',
+ internalType: 'uint64',
+ type: 'uint64',
+ indexed: false,
+ },
+ ],
+ name: 'Initialized',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'previousOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'newOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'OwnershipTransferStarted',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'previousOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'newOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'OwnershipTransferred',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
+ {
+ name: 'previousAdminRole',
+ internalType: 'bytes32',
+ type: 'bytes32',
+ indexed: true,
+ },
+ {
+ name: 'newAdminRole',
+ internalType: 'bytes32',
+ type: 'bytes32',
+ indexed: true,
+ },
+ ],
+ name: 'RoleAdminChanged',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
+ {
+ name: 'account',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'sender',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'RoleGranted',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
+ {
+ name: 'account',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'sender',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'RoleRevoked',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_token',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ { name: '_status', internalType: 'bool', type: 'bool', indexed: false },
+ ],
+ name: 'TokenStatus',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'implementation',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'Upgraded',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_tokenId',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_votingPower',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_period',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ ],
+ name: 'Voted',
+ },
+ { type: 'error', inputs: [], name: 'AccessControlBadConfirmation' },
+ {
+ type: 'error',
+ inputs: [
+ { name: 'account', internalType: 'address', type: 'address' },
+ { name: 'neededRole', internalType: 'bytes32', type: 'bytes32' },
+ ],
+ name: 'AccessControlUnauthorizedAccount',
+ },
+ {
+ type: 'error',
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
+ name: 'AddressEmptyCode',
+ },
+ { type: 'error', inputs: [], name: 'AlreadyVotedForPool' },
+ { type: 'error', inputs: [], name: 'AlreadyVotedInPeriod' },
+ {
+ type: 'error',
+ inputs: [
+ { name: 'implementation', internalType: 'address', type: 'address' },
+ ],
+ name: 'ERC1967InvalidImplementation',
+ },
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
+ { type: 'error', inputs: [], name: 'EmissionsAlreadyDistributedForPeriod' },
+ { type: 'error', inputs: [], name: 'FailedCall' },
+ { type: 'error', inputs: [], name: 'GaugeAlreadyExist' },
+ { type: 'error', inputs: [], name: 'GaugeDead' },
+ { type: 'error', inputs: [], name: 'GaugeDoesNotExist' },
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
+ { type: 'error', inputs: [], name: 'InvalidParameters' },
+ { type: 'error', inputs: [], name: 'InvalidPeriod' },
+ { type: 'error', inputs: [], name: 'NotApprovedOrOwner' },
+ { type: 'error', inputs: [], name: 'NotInitializing' },
+ {
+ type: 'error',
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
+ name: 'OwnableInvalidOwner',
+ },
+ {
+ type: 'error',
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
+ name: 'OwnableUnauthorizedAccount',
+ },
+ { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },
+ {
+ type: 'error',
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
+ name: 'SafeERC20FailedOperation',
+ },
+ { type: 'error', inputs: [], name: 'TokenNotWhitelisted' },
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
+ {
+ type: 'error',
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
+ name: 'UUPSUnsupportedProxiableUUID',
+ },
+ { type: 'error', inputs: [], name: 'Unauthorized' },
+ { type: 'error', inputs: [], name: 'ZeroVotes' },
+] as const
+
+export const voterAddress =
+ '0xb0fF55b399dCfFdffDBCB5C5fDadCa1659910ba8' as const
+
+export const voterConfig = { address: voterAddress, abi: voterABI } as const
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// VotingReward
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+export const votingRewardABI = [
+ { stateMutability: 'nonpayable', type: 'constructor', inputs: [] },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'DEFAULT_ADMIN_ROLE',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'DURATION',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'NOTIFY_ROLE',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'PRECISION',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'UPGRADE_INTERFACE_VERSION',
+ outputs: [{ name: '', internalType: 'string', type: 'string' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: '_deposit',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: '_withdraw',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [],
+ name: 'acceptOwnership',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ { name: '_token', internalType: 'address', type: 'address' },
+ ],
+ name: 'earnedForPeriod',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ { name: '_token', internalType: 'address', type: 'address' },
+ ],
+ name: 'earnedForToken',
+ outputs: [{ name: 'reward', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_tokenId', internalType: 'uint256', type: 'uint256' }],
+ name: 'earnedForTokenId',
+ outputs: [
+ { name: 'rewardList', internalType: 'uint256[]', type: 'uint256[]' },
+ { name: 'tokenList', internalType: 'address[]', type: 'address[]' },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'getCurrentPeriod',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_tokenId', internalType: 'uint256', type: 'uint256' }],
+ name: 'getRewardForOwner',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ { name: '_token', internalType: 'address', type: 'address' },
+ ],
+ name: 'getRewardForPeriod',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_tokenId', internalType: 'uint256', type: 'uint256' }],
+ name: 'getRewardForTokenId',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'getRewardList',
+ outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }],
+ name: 'getRoleAdmin',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_account', internalType: 'address', type: 'address' }],
+ name: 'grantNotifyRole',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'account', internalType: 'address', type: 'address' },
+ ],
+ name: 'grantRole',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'account', internalType: 'address', type: 'address' },
+ ],
+ name: 'hasRole',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_token', internalType: 'address', type: 'address' },
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'incentivize',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_voter', internalType: 'address', type: 'address' },
+ { name: '_veALGB', internalType: 'address', type: 'address' },
+ { name: '_initialOwner', internalType: 'address', type: 'address' },
+ ],
+ name: 'initialize',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: '_token', internalType: 'address', type: 'address' },
+ { name: '_amount', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'notifyRewardAmount',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'owner',
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'pendingOwner',
+ outputs: [{ name: '', internalType: 'address', type: 'address' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'periodInit',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'proxiableUUID',
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [],
+ name: 'renounceOwnership',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'callerConfirmation', internalType: 'address', type: 'address' },
+ ],
+ name: 'renounceRole',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32' },
+ { name: 'account', internalType: 'address', type: 'address' },
+ ],
+ name: 'revokeRole',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_reward', internalType: 'address', type: 'address' },
+ ],
+ name: 'rewardForPeriod',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
+ name: 'supportsInterface',
+ outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ { name: '_reward', internalType: 'address', type: 'address' },
+ ],
+ name: 'tokenIdRewardClaimedInPeriod',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [
+ { name: '_period', internalType: 'uint256', type: 'uint256' },
+ { name: '_tokenId', internalType: 'uint256', type: 'uint256' },
+ ],
+ name: 'tokenIdVotesInPeriod',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [{ name: '_period', internalType: 'uint256', type: 'uint256' }],
+ name: 'totalVotesInPeriod',
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: '_token', internalType: 'address', type: 'address' }],
+ name: 'transferERC20',
+ outputs: [],
+ },
+ {
+ stateMutability: 'nonpayable',
+ type: 'function',
+ inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
+ name: 'transferOwnership',
+ outputs: [],
+ },
+ {
+ stateMutability: 'payable',
+ type: 'function',
+ inputs: [
+ { name: 'newImplementation', internalType: 'address', type: 'address' },
+ { name: 'data', internalType: 'bytes', type: 'bytes' },
+ ],
+ name: 'upgradeToAndCall',
+ outputs: [],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'veALGB',
+ outputs: [
+ { name: '', internalType: 'contract IVotingEscrow', type: 'address' },
+ ],
+ },
+ {
+ stateMutability: 'view',
+ type: 'function',
+ inputs: [],
+ name: 'voter',
+ outputs: [{ name: '', internalType: 'contract IVoter', type: 'address' }],
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_period',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_tokenId',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_token',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ { name: '_to', internalType: 'address', type: 'address', indexed: false },
+ ],
+ name: 'ClaimReward',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_period',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_amount',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_tokenId',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ ],
+ name: 'Deposit',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_period',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_from',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: '_token',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: 'amount',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ ],
+ name: 'IncentivizedReward',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'version',
+ internalType: 'uint64',
+ type: 'uint64',
+ indexed: false,
+ },
+ ],
+ name: 'Initialized',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_period',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_from',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: '_token',
+ internalType: 'address',
+ type: 'address',
+ indexed: false,
+ },
+ {
+ name: 'amount',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ ],
+ name: 'NotifyReward',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'previousOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'newOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'OwnershipTransferStarted',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'previousOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'newOwner',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'OwnershipTransferred',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
+ {
+ name: 'previousAdminRole',
+ internalType: 'bytes32',
+ type: 'bytes32',
+ indexed: true,
+ },
+ {
+ name: 'newAdminRole',
+ internalType: 'bytes32',
+ type: 'bytes32',
+ indexed: true,
+ },
+ ],
+ name: 'RoleAdminChanged',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
+ {
+ name: 'account',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'sender',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'RoleGranted',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },
+ {
+ name: 'account',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ {
+ name: 'sender',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'RoleRevoked',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: 'implementation',
+ internalType: 'address',
+ type: 'address',
+ indexed: true,
+ },
+ ],
+ name: 'Upgraded',
+ },
+ {
+ type: 'event',
+ anonymous: false,
+ inputs: [
+ {
+ name: '_period',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_amount',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ {
+ name: '_tokenId',
+ internalType: 'uint256',
+ type: 'uint256',
+ indexed: false,
+ },
+ ],
+ name: 'Withdraw',
+ },
+ { type: 'error', inputs: [], name: 'AccessControlBadConfirmation' },
+ {
+ type: 'error',
+ inputs: [
+ { name: 'account', internalType: 'address', type: 'address' },
+ { name: 'neededRole', internalType: 'bytes32', type: 'bytes32' },
+ ],
+ name: 'AccessControlUnauthorizedAccount',
+ },
+ {
+ type: 'error',
+ inputs: [{ name: 'target', internalType: 'address', type: 'address' }],
+ name: 'AddressEmptyCode',
+ },
+ {
+ type: 'error',
+ inputs: [
+ { name: 'implementation', internalType: 'address', type: 'address' },
+ ],
+ name: 'ERC1967InvalidImplementation',
+ },
+ { type: 'error', inputs: [], name: 'ERC1967NonPayable' },
+ { type: 'error', inputs: [], name: 'FailedCall' },
+ { type: 'error', inputs: [], name: 'FuturePeriodNotClaimable' },
+ { type: 'error', inputs: [], name: 'InvalidInitialization' },
+ { type: 'error', inputs: [], name: 'NotApprovedOrOwner' },
+ { type: 'error', inputs: [], name: 'NotInitializing' },
+ { type: 'error', inputs: [], name: 'NotVoter' },
+ { type: 'error', inputs: [], name: 'NotWhitelistedRewardToken' },
+ {
+ type: 'error',
+ inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
+ name: 'OwnableInvalidOwner',
+ },
+ {
+ type: 'error',
+ inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
+ name: 'OwnableUnauthorizedAccount',
+ },
+ { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },
+ {
+ type: 'error',
+ inputs: [{ name: 'token', internalType: 'address', type: 'address' }],
+ name: 'SafeERC20FailedOperation',
+ },
+ { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },
+ {
+ type: 'error',
+ inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],
+ name: 'UUPSUnsupportedProxiableUUID',
+ },
+] as const
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Core
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link farmingCenterABI}__.
+ */
+export function getFarmingCenter(
+ config: Omit
,
+) {
+ return getContract({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ ...config,
+ })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterABI}__.
+ */
+export function readFarmingCenter<
+ TAbi extends readonly unknown[] = typeof farmingCenterABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi' | 'address'>) {
+ return readContract({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterABI}__.
+ */
+export function writeFarmingCenter(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi' | 'address'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi' | 'address'
+ >,
+) {
+ return writeContract({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link farmingCenterABI}__.
+ */
+export function prepareWriteFarmingCenter<
+ TAbi extends readonly unknown[] = typeof farmingCenterABI,
+ TFunctionName extends string = string,
+>(
+ config: Omit<
+ PrepareWriteContractConfig,
+ 'abi' | 'address'
+ >,
+) {
+ return prepareWriteContract({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link eternalFarmingABI}__.
+ */
+export function getEternalFarming(
+ config: Omit,
+) {
+ return getContract({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ ...config,
+ })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link eternalFarmingABI}__.
+ */
+export function readEternalFarming<
+ TAbi extends readonly unknown[] = typeof eternalFarmingABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi' | 'address'>) {
+ return readContract({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link eternalFarmingABI}__.
+ */
+export function writeEternalFarming(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi' | 'address'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi' | 'address'
+ >,
+) {
+ return writeContract({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link eternalFarmingABI}__.
+ */
+export function prepareWriteEternalFarming<
+ TAbi extends readonly unknown[] = typeof eternalFarmingABI,
+ TFunctionName extends string = string,
+>(
+ config: Omit<
+ PrepareWriteContractConfig,
+ 'abi' | 'address'
+ >,
+) {
+ return prepareWriteContract({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link algebraFactoryABI}__.
+ */
+export function getAlgebraFactory(
+ config: Omit,
+) {
+ return getContract({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ ...config,
+ })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link algebraFactoryABI}__.
+ */
+export function readAlgebraFactory<
+ TAbi extends readonly unknown[] = typeof algebraFactoryABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi' | 'address'>) {
+ return readContract({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraFactoryABI}__.
+ */
+export function writeAlgebraFactory(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi' | 'address'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi' | 'address'
+ >,
+) {
+ return writeContract({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraFactoryABI}__.
+ */
+export function prepareWriteAlgebraFactory<
+ TAbi extends readonly unknown[] = typeof algebraFactoryABI,
+ TFunctionName extends string = string,
+>(
+ config: Omit<
+ PrepareWriteContractConfig,
+ 'abi' | 'address'
+ >,
+) {
+ return prepareWriteContract({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link pluginFactoryABI}__.
+ */
+export function getPluginFactory(
+ config: Omit,
+) {
+ return getContract({
+ abi: pluginFactoryABI,
+ address: pluginFactoryAddress,
+ ...config,
+ })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link pluginFactoryABI}__.
+ */
+export function readPluginFactory<
+ TAbi extends readonly unknown[] = typeof pluginFactoryABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi' | 'address'>) {
+ return readContract({
+ abi: pluginFactoryABI,
+ address: pluginFactoryAddress,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link pluginFactoryABI}__.
+ */
+export function writePluginFactory(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi' | 'address'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi' | 'address'
+ >,
+) {
+ return writeContract({
+ abi: pluginFactoryABI,
+ address: pluginFactoryAddress,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link pluginFactoryABI}__.
+ */
+export function prepareWritePluginFactory<
+ TAbi extends readonly unknown[] = typeof pluginFactoryABI,
+ TFunctionName extends string = string,
+>(
+ config: Omit<
+ PrepareWriteContractConfig,
+ 'abi' | 'address'
+ >,
+) {
+ return prepareWriteContract({
+ abi: pluginFactoryABI,
+ address: pluginFactoryAddress,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link algebraPoolABI}__.
+ */
+export function getAlgebraPool(config: Omit) {
+ return getContract({ abi: algebraPoolABI, ...config })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link algebraPoolABI}__.
+ */
+export function readAlgebraPool<
+ TAbi extends readonly unknown[] = typeof algebraPoolABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return readContract({
+ abi: algebraPoolABI,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraPoolABI}__.
+ */
+export function writeAlgebraPool(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi'
+ >,
+) {
+ return writeContract({
+ abi: algebraPoolABI,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraPoolABI}__.
+ */
+export function prepareWriteAlgebraPool<
+ TAbi extends readonly unknown[] = typeof algebraPoolABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return prepareWriteContract({
+ abi: algebraPoolABI,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link algebraBasePluginABI}__.
+ */
+export function getAlgebraBasePlugin(config: Omit) {
+ return getContract({ abi: algebraBasePluginABI, ...config })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link algebraBasePluginABI}__.
+ */
+export function readAlgebraBasePlugin<
+ TAbi extends readonly unknown[] = typeof algebraBasePluginABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return readContract({
+ abi: algebraBasePluginABI,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraBasePluginABI}__.
+ */
+export function writeAlgebraBasePlugin(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi'
+ >,
+) {
+ return writeContract({
+ abi: algebraBasePluginABI,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraBasePluginABI}__.
+ */
+export function prepareWriteAlgebraBasePlugin<
+ TAbi extends readonly unknown[] = typeof algebraBasePluginABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return prepareWriteContract({
+ abi: algebraBasePluginABI,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link algebraStubPluginABI}__.
+ */
+export function getAlgebraStubPlugin(
+ config: Omit,
+) {
+ return getContract({
+ abi: algebraStubPluginABI,
+ address: algebraStubPluginAddress,
+ ...config,
+ })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link algebraStubPluginABI}__.
+ */
+export function readAlgebraStubPlugin<
+ TAbi extends readonly unknown[] = typeof algebraStubPluginABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi' | 'address'>) {
+ return readContract({
+ abi: algebraStubPluginABI,
+ address: algebraStubPluginAddress,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraStubPluginABI}__.
+ */
+export function writeAlgebraStubPlugin(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi' | 'address'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi' | 'address'
+ >,
+) {
+ return writeContract({
+ abi: algebraStubPluginABI,
+ address: algebraStubPluginAddress,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraStubPluginABI}__.
+ */
+export function prepareWriteAlgebraStubPlugin<
+ TAbi extends readonly unknown[] = typeof algebraStubPluginABI,
+ TFunctionName extends string = string,
+>(
+ config: Omit<
+ PrepareWriteContractConfig,
+ 'abi' | 'address'
+ >,
+) {
+ return prepareWriteContract({
+ abi: algebraStubPluginABI,
+ address: algebraStubPluginAddress,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__.
+ */
+export function getAlgebraVirtualPool(config: Omit) {
+ return getContract({ abi: algebraVirtualPoolABI, ...config })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__.
+ */
+export function readAlgebraVirtualPool<
+ TAbi extends readonly unknown[] = typeof algebraVirtualPoolABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return readContract({
+ abi: algebraVirtualPoolABI,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__.
+ */
+export function writeAlgebraVirtualPool(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs<
+ typeof algebraVirtualPoolABI,
+ TFunctionName
+ >,
+ 'abi'
+ >,
+) {
+ return writeContract({
+ abi: algebraVirtualPoolABI,
+ ...config,
+ } as unknown as WriteContractArgs<
+ typeof algebraVirtualPoolABI,
+ TFunctionName
+ >)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link algebraVirtualPoolABI}__.
+ */
+export function prepareWriteAlgebraVirtualPool<
+ TAbi extends readonly unknown[] = typeof algebraVirtualPoolABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return prepareWriteContract({
+ abi: algebraVirtualPoolABI,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link voterABI}__.
+ */
+export function getVoter(config: Omit) {
+ return getContract({ abi: voterABI, address: voterAddress, ...config })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link voterABI}__.
+ */
+export function readVoter<
+ TAbi extends readonly unknown[] = typeof voterABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi' | 'address'>) {
+ return readContract({
+ abi: voterABI,
+ address: voterAddress,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link voterABI}__.
+ */
+export function writeVoter(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi' | 'address'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi' | 'address'
+ >,
+) {
+ return writeContract({
+ abi: voterABI,
+ address: voterAddress,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link voterABI}__.
+ */
+export function prepareWriteVoter<
+ TAbi extends readonly unknown[] = typeof voterABI,
+ TFunctionName extends string = string,
+>(
+ config: Omit<
+ PrepareWriteContractConfig,
+ 'abi' | 'address'
+ >,
+) {
+ return prepareWriteContract({
+ abi: voterABI,
+ address: voterAddress,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+/**
+ * Wraps __{@link getContract}__ with `abi` set to __{@link votingRewardABI}__.
+ */
+export function getVotingReward(config: Omit) {
+ return getContract({ abi: votingRewardABI, ...config })
+}
+
+/**
+ * Wraps __{@link readContract}__ with `abi` set to __{@link votingRewardABI}__.
+ */
+export function readVotingReward<
+ TAbi extends readonly unknown[] = typeof votingRewardABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return readContract({
+ abi: votingRewardABI,
+ ...config,
+ } as unknown as ReadContractConfig)
+}
+
+/**
+ * Wraps __{@link writeContract}__ with `abi` set to __{@link votingRewardABI}__.
+ */
+export function writeVotingReward(
+ config:
+ | Omit<
+ WriteContractPreparedArgs,
+ 'abi'
+ >
+ | Omit<
+ WriteContractUnpreparedArgs,
+ 'abi'
+ >,
+) {
+ return writeContract({
+ abi: votingRewardABI,
+ ...config,
+ } as unknown as WriteContractArgs)
+}
+
+/**
+ * Wraps __{@link prepareWriteContract}__ with `abi` set to __{@link votingRewardABI}__.
+ */
+export function prepareWriteVotingReward<
+ TAbi extends readonly unknown[] = typeof votingRewardABI,
+ TFunctionName extends string = string,
+>(config: Omit, 'abi'>) {
+ return prepareWriteContract({
+ abi: votingRewardABI,
+ ...config,
+ } as unknown as PrepareWriteContractConfig)
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// React
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__.
+ */
+export function useFarmingCenterRead<
+ TFunctionName extends string,
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ ...config,
+ } as UseContractReadConfig<
+ typeof farmingCenterABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"deposits"`.
+ */
+export function useFarmingCenterDeposits<
+ TFunctionName extends 'deposits',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'deposits',
+ ...config,
+ } as UseContractReadConfig<
+ typeof farmingCenterABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"eternalFarming"`.
+ */
+export function useFarmingCenterEternalFarming<
+ TFunctionName extends 'eternalFarming',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'eternalFarming',
+ ...config,
+ } as UseContractReadConfig<
+ typeof farmingCenterABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"incentiveKeys"`.
+ */
+export function useFarmingCenterIncentiveKeys<
+ TFunctionName extends 'incentiveKeys',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'incentiveKeys',
+ ...config,
+ } as UseContractReadConfig<
+ typeof farmingCenterABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"nonfungiblePositionManager"`.
+ */
+export function useFarmingCenterNonfungiblePositionManager<
+ TFunctionName extends 'nonfungiblePositionManager',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'nonfungiblePositionManager',
+ ...config,
+ } as UseContractReadConfig<
+ typeof farmingCenterABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"virtualPoolAddresses"`.
+ */
+export function useFarmingCenterVirtualPoolAddresses<
+ TFunctionName extends 'virtualPoolAddresses',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'virtualPoolAddresses',
+ ...config,
+ } as UseContractReadConfig<
+ typeof farmingCenterABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__.
+ */
+export function useFarmingCenterWrite<
+ TFunctionName extends string,
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ string
+ >['request']['abi'],
+ TFunctionName,
+ TMode
+ >
+ : UseContractWriteConfig & {
+ abi?: never
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"applyLiquidityDelta"`.
+ */
+export function useFarmingCenterApplyLiquidityDelta<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'applyLiquidityDelta'
+ >['request']['abi'],
+ 'applyLiquidityDelta',
+ TMode
+ > & { functionName?: 'applyLiquidityDelta' }
+ : UseContractWriteConfig<
+ typeof farmingCenterABI,
+ 'applyLiquidityDelta',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'applyLiquidityDelta'
+ } = {} as any,
+) {
+ return useContractWrite<
+ typeof farmingCenterABI,
+ 'applyLiquidityDelta',
+ TMode
+ >({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'applyLiquidityDelta',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"burnPosition"`.
+ */
+export function useFarmingCenterBurnPosition<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'burnPosition'
+ >['request']['abi'],
+ 'burnPosition',
+ TMode
+ > & { functionName?: 'burnPosition' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'burnPosition'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'burnPosition',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"claimReward"`.
+ */
+export function useFarmingCenterClaimReward<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'claimReward'
+ >['request']['abi'],
+ 'claimReward',
+ TMode
+ > & { functionName?: 'claimReward' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'claimReward'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'claimReward',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"collectRewards"`.
+ */
+export function useFarmingCenterCollectRewards<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'collectRewards'
+ >['request']['abi'],
+ 'collectRewards',
+ TMode
+ > & { functionName?: 'collectRewards' }
+ : UseContractWriteConfig<
+ typeof farmingCenterABI,
+ 'collectRewards',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'collectRewards'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'collectRewards',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"connectVirtualPool"`.
+ */
+export function useFarmingCenterConnectVirtualPool<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'connectVirtualPool'
+ >['request']['abi'],
+ 'connectVirtualPool',
+ TMode
+ > & { functionName?: 'connectVirtualPool' }
+ : UseContractWriteConfig<
+ typeof farmingCenterABI,
+ 'connectVirtualPool',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'connectVirtualPool'
+ } = {} as any,
+) {
+ return useContractWrite(
+ {
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'connectVirtualPool',
+ ...config,
+ } as any,
+ )
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"decreaseLiquidity"`.
+ */
+export function useFarmingCenterDecreaseLiquidity<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'decreaseLiquidity'
+ >['request']['abi'],
+ 'decreaseLiquidity',
+ TMode
+ > & { functionName?: 'decreaseLiquidity' }
+ : UseContractWriteConfig<
+ typeof farmingCenterABI,
+ 'decreaseLiquidity',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'decreaseLiquidity'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'decreaseLiquidity',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"enterFarming"`.
+ */
+export function useFarmingCenterEnterFarming<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'enterFarming'
+ >['request']['abi'],
+ 'enterFarming',
+ TMode
+ > & { functionName?: 'enterFarming' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'enterFarming'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'enterFarming',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"exitFarming"`.
+ */
+export function useFarmingCenterExitFarming<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'exitFarming'
+ >['request']['abi'],
+ 'exitFarming',
+ TMode
+ > & { functionName?: 'exitFarming' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'exitFarming'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'exitFarming',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"increaseLiquidity"`.
+ */
+export function useFarmingCenterIncreaseLiquidity<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'increaseLiquidity'
+ >['request']['abi'],
+ 'increaseLiquidity',
+ TMode
+ > & { functionName?: 'increaseLiquidity' }
+ : UseContractWriteConfig<
+ typeof farmingCenterABI,
+ 'increaseLiquidity',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'increaseLiquidity'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'increaseLiquidity',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"multicall"`.
+ */
+export function useFarmingCenterMulticall<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof farmingCenterABI,
+ 'multicall'
+ >['request']['abi'],
+ 'multicall',
+ TMode
+ > & { functionName?: 'multicall' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'multicall'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'multicall',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__.
+ */
+export function usePrepareFarmingCenterWrite(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"applyLiquidityDelta"`.
+ */
+export function usePrepareFarmingCenterApplyLiquidityDelta(
+ config: Omit<
+ UsePrepareContractWriteConfig<
+ typeof farmingCenterABI,
+ 'applyLiquidityDelta'
+ >,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'applyLiquidityDelta',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof farmingCenterABI,
+ 'applyLiquidityDelta'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"burnPosition"`.
+ */
+export function usePrepareFarmingCenterBurnPosition(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'burnPosition',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"claimReward"`.
+ */
+export function usePrepareFarmingCenterClaimReward(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'claimReward',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"collectRewards"`.
+ */
+export function usePrepareFarmingCenterCollectRewards(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'collectRewards',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"connectVirtualPool"`.
+ */
+export function usePrepareFarmingCenterConnectVirtualPool(
+ config: Omit<
+ UsePrepareContractWriteConfig<
+ typeof farmingCenterABI,
+ 'connectVirtualPool'
+ >,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'connectVirtualPool',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof farmingCenterABI,
+ 'connectVirtualPool'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"decreaseLiquidity"`.
+ */
+export function usePrepareFarmingCenterDecreaseLiquidity(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'decreaseLiquidity',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof farmingCenterABI,
+ 'decreaseLiquidity'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"enterFarming"`.
+ */
+export function usePrepareFarmingCenterEnterFarming(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'enterFarming',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"exitFarming"`.
+ */
+export function usePrepareFarmingCenterExitFarming(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'exitFarming',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"increaseLiquidity"`.
+ */
+export function usePrepareFarmingCenterIncreaseLiquidity(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'increaseLiquidity',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof farmingCenterABI,
+ 'increaseLiquidity'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link farmingCenterABI}__ and `functionName` set to `"multicall"`.
+ */
+export function usePrepareFarmingCenterMulticall(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: farmingCenterABI,
+ address: farmingCenterAddress,
+ functionName: 'multicall',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__.
+ */
+export function useEternalFarmingRead<
+ TFunctionName extends string,
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"FARMINGS_ADMINISTRATOR_ROLE"`.
+ */
+export function useEternalFarmingFarmingsAdministratorRole<
+ TFunctionName extends 'FARMINGS_ADMINISTRATOR_ROLE',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'FARMINGS_ADMINISTRATOR_ROLE',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"INCENTIVE_MAKER_ROLE"`.
+ */
+export function useEternalFarmingIncentiveMakerRole<
+ TFunctionName extends 'INCENTIVE_MAKER_ROLE',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'INCENTIVE_MAKER_ROLE',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"farmingCenter"`.
+ */
+export function useEternalFarmingFarmingCenter<
+ TFunctionName extends 'farmingCenter',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'farmingCenter',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"farms"`.
+ */
+export function useEternalFarmingFarms<
+ TFunctionName extends 'farms',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'farms',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"getRewardInfo"`.
+ */
+export function useEternalFarmingGetRewardInfo<
+ TFunctionName extends 'getRewardInfo',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'getRewardInfo',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"incentiveKeys"`.
+ */
+export function useEternalFarmingIncentiveKeys<
+ TFunctionName extends 'incentiveKeys',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'incentiveKeys',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"incentives"`.
+ */
+export function useEternalFarmingIncentives<
+ TFunctionName extends 'incentives',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'incentives',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"isEmergencyWithdrawActivated"`.
+ */
+export function useEternalFarmingIsEmergencyWithdrawActivated<
+ TFunctionName extends 'isEmergencyWithdrawActivated',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'isEmergencyWithdrawActivated',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"isIncentiveDeactivated"`.
+ */
+export function useEternalFarmingIsIncentiveDeactivated<
+ TFunctionName extends 'isIncentiveDeactivated',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'isIncentiveDeactivated',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"nonfungiblePositionManager"`.
+ */
+export function useEternalFarmingNonfungiblePositionManager<
+ TFunctionName extends 'nonfungiblePositionManager',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'nonfungiblePositionManager',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"numOfIncentives"`.
+ */
+export function useEternalFarmingNumOfIncentives<
+ TFunctionName extends 'numOfIncentives',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'numOfIncentives',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"rewards"`.
+ */
+export function useEternalFarmingRewards<
+ TFunctionName extends 'rewards',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'rewards',
+ ...config,
+ } as UseContractReadConfig<
+ typeof eternalFarmingABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__.
+ */
+export function useEternalFarmingWrite<
+ TFunctionName extends string,
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ string
+ >['request']['abi'],
+ TFunctionName,
+ TMode
+ >
+ : UseContractWriteConfig & {
+ abi?: never
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"addRewards"`.
+ */
+export function useEternalFarmingAddRewards<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'addRewards'
+ >['request']['abi'],
+ 'addRewards',
+ TMode
+ > & { functionName?: 'addRewards' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'addRewards'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'addRewards',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimReward"`.
+ */
+export function useEternalFarmingClaimReward<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'claimReward'
+ >['request']['abi'],
+ 'claimReward',
+ TMode
+ > & { functionName?: 'claimReward' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'claimReward'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'claimReward',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimRewardFrom"`.
+ */
+export function useEternalFarmingClaimRewardFrom<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'claimRewardFrom'
+ >['request']['abi'],
+ 'claimRewardFrom',
+ TMode
+ > & { functionName?: 'claimRewardFrom' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'claimRewardFrom',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'claimRewardFrom'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'claimRewardFrom',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"collectRewards"`.
+ */
+export function useEternalFarmingCollectRewards<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'collectRewards'
+ >['request']['abi'],
+ 'collectRewards',
+ TMode
+ > & { functionName?: 'collectRewards' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'collectRewards',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'collectRewards'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'collectRewards',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"createEternalFarming"`.
+ */
+export function useEternalFarmingCreateEternalFarming<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'createEternalFarming'
+ >['request']['abi'],
+ 'createEternalFarming',
+ TMode
+ > & { functionName?: 'createEternalFarming' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'createEternalFarming',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'createEternalFarming'
+ } = {} as any,
+) {
+ return useContractWrite<
+ typeof eternalFarmingABI,
+ 'createEternalFarming',
+ TMode
+ >({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'createEternalFarming',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"deactivateIncentive"`.
+ */
+export function useEternalFarmingDeactivateIncentive<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'deactivateIncentive'
+ >['request']['abi'],
+ 'deactivateIncentive',
+ TMode
+ > & { functionName?: 'deactivateIncentive' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'deactivateIncentive',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'deactivateIncentive'
+ } = {} as any,
+) {
+ return useContractWrite<
+ typeof eternalFarmingABI,
+ 'deactivateIncentive',
+ TMode
+ >({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'deactivateIncentive',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"decreaseRewardsAmount"`.
+ */
+export function useEternalFarmingDecreaseRewardsAmount<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'decreaseRewardsAmount'
+ >['request']['abi'],
+ 'decreaseRewardsAmount',
+ TMode
+ > & { functionName?: 'decreaseRewardsAmount' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'decreaseRewardsAmount',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'decreaseRewardsAmount'
+ } = {} as any,
+) {
+ return useContractWrite<
+ typeof eternalFarmingABI,
+ 'decreaseRewardsAmount',
+ TMode
+ >({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'decreaseRewardsAmount',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"enterFarming"`.
+ */
+export function useEternalFarmingEnterFarming<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'enterFarming'
+ >['request']['abi'],
+ 'enterFarming',
+ TMode
+ > & { functionName?: 'enterFarming' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'enterFarming',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'enterFarming'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'enterFarming',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"exitFarming"`.
+ */
+export function useEternalFarmingExitFarming<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'exitFarming'
+ >['request']['abi'],
+ 'exitFarming',
+ TMode
+ > & { functionName?: 'exitFarming' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'exitFarming'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'exitFarming',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setEmergencyWithdrawStatus"`.
+ */
+export function useEternalFarmingSetEmergencyWithdrawStatus<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'setEmergencyWithdrawStatus'
+ >['request']['abi'],
+ 'setEmergencyWithdrawStatus',
+ TMode
+ > & { functionName?: 'setEmergencyWithdrawStatus' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'setEmergencyWithdrawStatus',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'setEmergencyWithdrawStatus'
+ } = {} as any,
+) {
+ return useContractWrite<
+ typeof eternalFarmingABI,
+ 'setEmergencyWithdrawStatus',
+ TMode
+ >({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'setEmergencyWithdrawStatus',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setFarmingCenterAddress"`.
+ */
+export function useEternalFarmingSetFarmingCenterAddress<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'setFarmingCenterAddress'
+ >['request']['abi'],
+ 'setFarmingCenterAddress',
+ TMode
+ > & { functionName?: 'setFarmingCenterAddress' }
+ : UseContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'setFarmingCenterAddress',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'setFarmingCenterAddress'
+ } = {} as any,
+) {
+ return useContractWrite<
+ typeof eternalFarmingABI,
+ 'setFarmingCenterAddress',
+ TMode
+ >({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'setFarmingCenterAddress',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setRates"`.
+ */
+export function useEternalFarmingSetRates<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof eternalFarmingABI,
+ 'setRates'
+ >['request']['abi'],
+ 'setRates',
+ TMode
+ > & { functionName?: 'setRates' }
+ : UseContractWriteConfig & {
+ abi?: never
+ functionName?: 'setRates'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'setRates',
+ ...config,
+ } as any)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__.
+ */
+export function usePrepareEternalFarmingWrite(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"addRewards"`.
+ */
+export function usePrepareEternalFarmingAddRewards(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'addRewards',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimReward"`.
+ */
+export function usePrepareEternalFarmingClaimReward(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'claimReward',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"claimRewardFrom"`.
+ */
+export function usePrepareEternalFarmingClaimRewardFrom(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'claimRewardFrom',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'claimRewardFrom'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"collectRewards"`.
+ */
+export function usePrepareEternalFarmingCollectRewards(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'collectRewards',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'collectRewards'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"createEternalFarming"`.
+ */
+export function usePrepareEternalFarmingCreateEternalFarming(
+ config: Omit<
+ UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'createEternalFarming'
+ >,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'createEternalFarming',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'createEternalFarming'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"deactivateIncentive"`.
+ */
+export function usePrepareEternalFarmingDeactivateIncentive(
+ config: Omit<
+ UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'deactivateIncentive'
+ >,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'deactivateIncentive',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'deactivateIncentive'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"decreaseRewardsAmount"`.
+ */
+export function usePrepareEternalFarmingDecreaseRewardsAmount(
+ config: Omit<
+ UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'decreaseRewardsAmount'
+ >,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'decreaseRewardsAmount',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'decreaseRewardsAmount'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"enterFarming"`.
+ */
+export function usePrepareEternalFarmingEnterFarming(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'enterFarming',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"exitFarming"`.
+ */
+export function usePrepareEternalFarmingExitFarming(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'exitFarming',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setEmergencyWithdrawStatus"`.
+ */
+export function usePrepareEternalFarmingSetEmergencyWithdrawStatus(
+ config: Omit<
+ UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'setEmergencyWithdrawStatus'
+ >,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'setEmergencyWithdrawStatus',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'setEmergencyWithdrawStatus'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setFarmingCenterAddress"`.
+ */
+export function usePrepareEternalFarmingSetFarmingCenterAddress(
+ config: Omit<
+ UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'setFarmingCenterAddress'
+ >,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'setFarmingCenterAddress',
+ ...config,
+ } as UsePrepareContractWriteConfig<
+ typeof eternalFarmingABI,
+ 'setFarmingCenterAddress'
+ >)
+}
+
+/**
+ * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link eternalFarmingABI}__ and `functionName` set to `"setRates"`.
+ */
+export function usePrepareEternalFarmingSetRates(
+ config: Omit<
+ UsePrepareContractWriteConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return usePrepareContractWrite({
+ abi: eternalFarmingABI,
+ address: eternalFarmingAddress,
+ functionName: 'setRates',
+ ...config,
+ } as UsePrepareContractWriteConfig)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__.
+ */
+export function useAlgebraFactoryRead<
+ TFunctionName extends string,
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"DEFAULT_ADMIN_ROLE"`.
+ */
+export function useAlgebraFactoryDefaultAdminRole<
+ TFunctionName extends 'DEFAULT_ADMIN_ROLE',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'DEFAULT_ADMIN_ROLE',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"POOLS_ADMINISTRATOR_ROLE"`.
+ */
+export function useAlgebraFactoryPoolsAdministratorRole<
+ TFunctionName extends 'POOLS_ADMINISTRATOR_ROLE',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'POOLS_ADMINISTRATOR_ROLE',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"POOL_INIT_CODE_HASH"`.
+ */
+export function useAlgebraFactoryPoolInitCodeHash<
+ TFunctionName extends 'POOL_INIT_CODE_HASH',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'POOL_INIT_CODE_HASH',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"computePoolAddress"`.
+ */
+export function useAlgebraFactoryComputePoolAddress<
+ TFunctionName extends 'computePoolAddress',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'computePoolAddress',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultCommunityFee"`.
+ */
+export function useAlgebraFactoryDefaultCommunityFee<
+ TFunctionName extends 'defaultCommunityFee',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'defaultCommunityFee',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultConfigurationForPool"`.
+ */
+export function useAlgebraFactoryDefaultConfigurationForPool<
+ TFunctionName extends 'defaultConfigurationForPool',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'defaultConfigurationForPool',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultFee"`.
+ */
+export function useAlgebraFactoryDefaultFee<
+ TFunctionName extends 'defaultFee',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'defaultFee',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultPluginFactory"`.
+ */
+export function useAlgebraFactoryDefaultPluginFactory<
+ TFunctionName extends 'defaultPluginFactory',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'defaultPluginFactory',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"defaultTickspacing"`.
+ */
+export function useAlgebraFactoryDefaultTickspacing<
+ TFunctionName extends 'defaultTickspacing',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'defaultTickspacing',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"getRoleAdmin"`.
+ */
+export function useAlgebraFactoryGetRoleAdmin<
+ TFunctionName extends 'getRoleAdmin',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'getRoleAdmin',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"getRoleMember"`.
+ */
+export function useAlgebraFactoryGetRoleMember<
+ TFunctionName extends 'getRoleMember',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'getRoleMember',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"getRoleMemberCount"`.
+ */
+export function useAlgebraFactoryGetRoleMemberCount<
+ TFunctionName extends 'getRoleMemberCount',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'getRoleMemberCount',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
/**
- * Wraps __{@link getContract}__ with `abi` set to __{@link farmingCenterABI}__.
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"hasRole"`.
*/
-export function getFarmingCenter(
- config: Omit,
+export function useAlgebraFactoryHasRole<
+ TFunctionName extends 'hasRole',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'hasRole',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"hasRoleOrOwner"`.
+ */
+export function useAlgebraFactoryHasRoleOrOwner<
+ TFunctionName extends 'hasRoleOrOwner',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'hasRoleOrOwner',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"owner"`.
+ */
+export function useAlgebraFactoryOwner<
+ TFunctionName extends 'owner',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'owner',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"pendingOwner"`.
+ */
+export function useAlgebraFactoryPendingOwner<
+ TFunctionName extends 'pendingOwner',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'pendingOwner',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"poolByPair"`.
+ */
+export function useAlgebraFactoryPoolByPair<
+ TFunctionName extends 'poolByPair',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'poolByPair',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"poolDeployer"`.
+ */
+export function useAlgebraFactoryPoolDeployer<
+ TFunctionName extends 'poolDeployer',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'poolDeployer',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"renounceOwnershipStartTimestamp"`.
+ */
+export function useAlgebraFactoryRenounceOwnershipStartTimestamp<
+ TFunctionName extends 'renounceOwnershipStartTimestamp',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'renounceOwnershipStartTimestamp',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"supportsInterface"`.
+ */
+export function useAlgebraFactorySupportsInterface<
+ TFunctionName extends 'supportsInterface',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'supportsInterface',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractRead}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"vaultFactory"`.
+ */
+export function useAlgebraFactoryVaultFactory<
+ TFunctionName extends 'vaultFactory',
+ TSelectData = ReadContractResult,
+>(
+ config: Omit<
+ UseContractReadConfig,
+ 'abi' | 'address' | 'functionName'
+ > = {} as any,
+) {
+ return useContractRead({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'vaultFactory',
+ ...config,
+ } as UseContractReadConfig<
+ typeof algebraFactoryABI,
+ TFunctionName,
+ TSelectData
+ >)
+}
+
+/**
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__.
+ */
+export function useAlgebraFactoryWrite<
+ TFunctionName extends string,
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof algebraFactoryABI,
+ string
+ >['request']['abi'],
+ TFunctionName,
+ TMode
+ >
+ : UseContractWriteConfig & {
+ abi?: never
+ } = {} as any,
) {
- return getContract({
- abi: farmingCenterABI,
- address: farmingCenterAddress,
+ return useContractWrite({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
...config,
- })
+ } as any)
}
/**
- * Wraps __{@link readContract}__ with `abi` set to __{@link farmingCenterABI}__.
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"acceptOwnership"`.
*/
-export function readFarmingCenter<
- TAbi extends readonly unknown[] = typeof farmingCenterABI,
- TFunctionName extends string = string,
->(config: Omit, 'abi' | 'address'>) {
- return readContract({
- abi: farmingCenterABI,
- address: farmingCenterAddress,
+export function useAlgebraFactoryAcceptOwnership<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof algebraFactoryABI,
+ 'acceptOwnership'
+ >['request']['abi'],
+ 'acceptOwnership',
+ TMode
+ > & { functionName?: 'acceptOwnership' }
+ : UseContractWriteConfig<
+ typeof algebraFactoryABI,
+ 'acceptOwnership',
+ TMode
+ > & {
+ abi?: never
+ functionName?: 'acceptOwnership'
+ } = {} as any,
+) {
+ return useContractWrite({
+ abi: algebraFactoryABI,
+ address: algebraFactoryAddress,
+ functionName: 'acceptOwnership',
...config,
- } as unknown as ReadContractConfig)
+ } as any)
}
/**
- * Wraps __{@link writeContract}__ with `abi` set to __{@link farmingCenterABI}__.
+ * Wraps __{@link useContractWrite}__ with `abi` set to __{@link algebraFactoryABI}__ and `functionName` set to `"createPool"`.
*/
-export function writeFarmingCenter(
- config:
- | Omit<
- WriteContractPreparedArgs,
- 'abi' | 'address'
- >
- | Omit<
- WriteContractUnpreparedArgs,
- 'abi' | 'address'
- >,
+export function useAlgebraFactoryCreatePool<
+ TMode extends WriteContractMode = undefined,
+>(
+ config: TMode extends 'prepared'
+ ? UseContractWriteConfig<
+ PrepareWriteContractResult<
+ typeof algebraFactoryABI,
+ 'createPool'
+ >['request']['abi'],
+ 'createPool',
+ TMode
+ > & { functionName?: 'createPool' }
+ : UseContractWriteConfig