@ichidao/ichi-vaults-sdk 0.0.113 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +161 -0
  2. package/dist/abis/types/MultiFeeDistributer.d.ts +475 -0
  3. package/dist/abis/types/MultiFeeDistributer.js +3 -0
  4. package/dist/abis/types/MultiFeeDistributer.js.map +1 -0
  5. package/dist/abis/types/factories/MultiFeeDistributer__factory.d.ts +451 -0
  6. package/dist/abis/types/factories/MultiFeeDistributer__factory.js +596 -0
  7. package/dist/abis/types/factories/MultiFeeDistributer__factory.js.map +1 -0
  8. package/dist/abis/types/factories/index.d.ts +1 -0
  9. package/dist/abis/types/factories/index.js +3 -1
  10. package/dist/abis/types/factories/index.js.map +1 -1
  11. package/dist/abis/types/index.d.ts +2 -0
  12. package/dist/abis/types/index.js +3 -1
  13. package/dist/abis/types/index.js.map +1 -1
  14. package/dist/src/__tests__/index.test.js +74 -1
  15. package/dist/src/__tests__/index.test.js.map +1 -1
  16. package/dist/src/abis/types/MultiFeeDistributer.d.ts +475 -0
  17. package/dist/src/abis/types/factories/MultiFeeDistributer__factory.d.ts +451 -0
  18. package/dist/src/abis/types/factories/index.d.ts +1 -0
  19. package/dist/src/abis/types/index.d.ts +2 -0
  20. package/dist/src/contracts/index.d.ts +2 -1
  21. package/dist/src/contracts/index.js +11 -1
  22. package/dist/src/contracts/index.js.map +1 -1
  23. package/dist/src/functions/claimRewards.d.ts +14 -0
  24. package/dist/src/functions/claimRewards.js +108 -0
  25. package/dist/src/functions/claimRewards.js.map +1 -0
  26. package/dist/src/functions/rewardInfo.d.ts +3 -0
  27. package/dist/src/functions/rewardInfo.js +176 -0
  28. package/dist/src/functions/rewardInfo.js.map +1 -0
  29. package/dist/src/functions/userBalances.d.ts +1 -1
  30. package/dist/src/functions/userBalances.js +64 -29
  31. package/dist/src/functions/userBalances.js.map +1 -1
  32. package/dist/src/functions/userRewards.d.ts +7 -0
  33. package/dist/src/functions/userRewards.js +132 -0
  34. package/dist/src/functions/userRewards.js.map +1 -0
  35. package/dist/src/functions/vault.d.ts +2 -1
  36. package/dist/src/functions/vault.js +75 -26
  37. package/dist/src/functions/vault.js.map +1 -1
  38. package/dist/src/graphql/constants.js +2 -2
  39. package/dist/src/graphql/constants.js.map +1 -1
  40. package/dist/src/graphql/queries.d.ts +14 -1
  41. package/dist/src/graphql/queries.js +57 -18
  42. package/dist/src/graphql/queries.js.map +1 -1
  43. package/dist/src/index.cjs.js +4 -1
  44. package/dist/src/index.d.ts +3 -0
  45. package/dist/src/index.esm.js +4 -1
  46. package/dist/src/index.js +3 -0
  47. package/dist/src/index.js.map +1 -1
  48. package/dist/src/src/contracts/index.d.ts +2 -1
  49. package/dist/src/src/functions/claimRewards.d.ts +14 -0
  50. package/dist/src/src/functions/rewardInfo.d.ts +3 -0
  51. package/dist/src/src/functions/userBalances.d.ts +1 -1
  52. package/dist/src/src/functions/userRewards.d.ts +7 -0
  53. package/dist/src/src/functions/vault.d.ts +2 -1
  54. package/dist/src/src/graphql/queries.d.ts +14 -1
  55. package/dist/src/src/index.d.ts +3 -0
  56. package/dist/src/src/types/index.d.ts +37 -0
  57. package/dist/src/src/types/vaultQueryData.d.ts +10 -1
  58. package/dist/src/src/utils/isVelodrome.d.ts +2 -0
  59. package/dist/src/src/utils/multicallUtils.d.ts +2 -0
  60. package/dist/src/types/index.d.ts +37 -0
  61. package/dist/src/types/vaultQueryData.d.ts +10 -1
  62. package/dist/src/utils/isVelodrome.d.ts +2 -0
  63. package/dist/src/utils/isVelodrome.js +11 -0
  64. package/dist/src/utils/isVelodrome.js.map +1 -0
  65. package/dist/src/utils/multicallUtils.d.ts +2 -0
  66. package/dist/src/utils/multicallUtils.js +19 -1
  67. package/dist/src/utils/multicallUtils.js.map +1 -1
  68. package/package.json +1 -1
package/README.md CHANGED
@@ -38,6 +38,11 @@ This sdk contains collection of functions to interact with IchiVault's smart con
38
38
  * [`getVaultPositions()`](#26-getVaultPositions)
39
39
  * [`getSupportedDexes()`](#27-getSupportedDexes)
40
40
  * [`getChainsForDex()`](#28-getChainsForDex)
41
+ * [`getRewardInfo()`](#29-getRewardInfo)
42
+ * [`getAllRewardInfo()`](#30-getAllRewardInfo)
43
+ * [`getAllUserRewards()`](#31-getAllUserRewards)
44
+ * [`getUserRewards()`](#32-getUserRewards)
45
+ * [`claimRewards()`](#33-claimRewards)
41
46
 
42
47
  ## Installation
43
48
  Install with
@@ -1036,6 +1041,116 @@ const dex = SupportedChainId.UniswapV3;
1036
1041
  const chains: SupportedChainId[] = getChainsForDex(dex);
1037
1042
  ```
1038
1043
 
1044
+ #### 29. `getRewardInfo()`
1045
+
1046
+ | param | type | default | required
1047
+ | -------- | -------- | -------- | --------
1048
+ | chainId | SupportedChainId | - | true |
1049
+ | dex | SupportedDex | - | true |
1050
+ | vaultAddress | string | - | true |
1051
+
1052
+ <br/>
1053
+ This function returns information about reward rates and farming contract for the specified vault. This functions is specific for the Velodrome vaults.
1054
+
1055
+ ```typescript
1056
+ import { getRewardInfo, SupportedChainId, SupportedDex } from '@ichidao/ichi-vaults-sdk';
1057
+
1058
+ const vaultAddress = "0x3e4...45a";
1059
+ const chainId = SupportedChainId.Ink;
1060
+ const dex = SupportedDex.Velodrome;
1061
+
1062
+ const rewardInfo: RewardInfo = getRewardInfo(chainId, dex, vaultAddress);
1063
+ ```
1064
+
1065
+ #### 30. `getAllRewardInfo()`
1066
+
1067
+ | param | type | default | required
1068
+ | -------- | -------- | -------- | --------
1069
+ | chainId | SupportedChainId | - | true |
1070
+ | dex | SupportedDex | - | true |
1071
+
1072
+ <br/>
1073
+ This function returns information about reward rates and farming contract for all vaults on the dex. This functions is specific for the Velodrome vaults.
1074
+
1075
+ ```typescript
1076
+ import { getAllRewardInfo, SupportedChainId, SupportedDex } from '@ichidao/ichi-vaults-sdk';
1077
+
1078
+ const chainId = SupportedChainId.Ink;
1079
+ const dex = SupportedDex.Velodrome;
1080
+
1081
+ const chains: RewardInfo[] = getAllRewardInfo(chainId, dex);
1082
+ ```
1083
+
1084
+ #### 31. `getAllUserRewards()`
1085
+
1086
+ | param | type | default | required
1087
+ | -------- | -------- | -------- | --------
1088
+ | accountAddress | string | - | true |
1089
+ | jsonProvider | JsonRpcProvider | - | true |
1090
+ | dex | SupportedDex | - | true |
1091
+ | raw | true | undefined | - | false |
1092
+
1093
+ <br/>
1094
+ This function returns user rewards for all vaults on the dex. This functions is specific for the Velodrome vaults.
1095
+
1096
+ ```typescript
1097
+ import { getAllUserRewards, SupportedDex } from '@ichidao/ichi-vaults-sdk';
1098
+
1099
+ const account = "0x123...890";
1100
+ const provider = new Web3Provider(YOUR_WEB3_PROVIDER);
1101
+ const dex = SupportedDex.Velodrome;
1102
+
1103
+ const rewards: UserRewards[] = await getAllUserRewards(account, provider, dex);
1104
+ ```
1105
+
1106
+ #### 32. `getUserRewards()`
1107
+
1108
+ | param | type | default | required
1109
+ | -------- | -------- | -------- | --------
1110
+ | accountAddress | string | - | true |
1111
+ | vaultAddress | string | - | true |
1112
+ | jsonProvider | JsonRpcProvider | - | true |
1113
+ | dex | SupportedDex | - | true |
1114
+ | raw | true | undefined | - | false |
1115
+
1116
+ <br/>
1117
+ This function returns claimable reward amount for the specified vault and user account. This functions is specific for the Velodrome vaults.
1118
+
1119
+ ```typescript
1120
+ import { getUserRewards, SupportedDex } from '@ichidao/ichi-vaults-sdk';
1121
+
1122
+ const account = "0x123...890";
1123
+ const vaultAddress = "0x3e4...45a";
1124
+ const provider = new Web3Provider(YOUR_WEB3_PROVIDER);
1125
+ const dex = SupportedDex.Velodrome;
1126
+
1127
+ const rewards: string = getUserRewards(account, vaultAddress, provider, dex);
1128
+ const rewardsBN: BigNumber = getUserRewards(account, vaultAddress, provider, dex, true);
1129
+ ```
1130
+
1131
+ #### 33. `claimRewards()`
1132
+
1133
+ | param | type | default | required
1134
+ | -------- | -------- | -------- | --------
1135
+ | accountAddress | string | - | true |
1136
+ | vaultAddress | string | - | true |
1137
+ | jsonProvider | JsonRpcProvider | - | true |
1138
+ | dex | SupportedDex | - | true |
1139
+
1140
+ <br/>
1141
+ This function transfers rewards from the reward contract to the specified account. This functions is specific for the Velodrome vaults.
1142
+
1143
+ ```typescript
1144
+ import { claimRewards, SupportedDex } from '@ichidao/ichi-vaults-sdk';
1145
+
1146
+ const account = "0x123...890";
1147
+ const vaultAddress = "0x3e4...45a";
1148
+ const provider = new Web3Provider(YOUR_WEB3_PROVIDER);
1149
+ const dex = SupportedDex.Velodrome;
1150
+
1151
+ await claimRewards(account, vaultAddress, provider, dex);
1152
+ ```
1153
+
1039
1154
  ## Types
1040
1155
 
1041
1156
  ### SupportedChainId
@@ -1150,6 +1265,9 @@ interface IchiVault {
1150
1265
  allowTokenB: boolean;
1151
1266
  holdersCount?: string // number of vault LP holders
1152
1267
  fee?: string
1268
+ farmingContract?: string; // used for Velodrome vaults only
1269
+ rewardToken?: string; // used for Velodrome vaults only
1270
+ rewardTokenDecimals?: number; // used for Velodrome vaults only
1153
1271
  }
1154
1272
  ```
1155
1273
 
@@ -1251,6 +1369,7 @@ type UserAmountsInVaultBN = {
1251
1369
  type UserBalanceInVault = {
1252
1370
  vaultAddress: string;
1253
1371
  shares: string;
1372
+ stakedShares?: string;
1254
1373
  };
1255
1374
  ```
1256
1375
 
@@ -1260,6 +1379,7 @@ type UserBalanceInVault = {
1260
1379
  type UserBalanceInVaultBN = {
1261
1380
  vaultAddress: string;
1262
1381
  shares: BigNumber;
1382
+ stakedShares?: BigNumber;
1263
1383
  };
1264
1384
  ```
1265
1385
 
@@ -1282,3 +1402,44 @@ type VaultPositionsInfo = {
1282
1402
  } [],
1283
1403
  }
1284
1404
  ```
1405
+
1406
+ ### RewardInfo
1407
+ used for Velodrome vaults only
1408
+
1409
+ ```typescript
1410
+
1411
+ interface RewardInfo {
1412
+ id: string;
1413
+ rewardRatePerToken_1d: string;
1414
+ rewardRatePerToken_3d: string;
1415
+ farmingContract: {
1416
+ id: string;
1417
+ rewardToken: string;
1418
+ rewardTokenDecimals: number;
1419
+ }
1420
+ }
1421
+ ```
1422
+
1423
+ ### UserRewards
1424
+
1425
+ ```typescript
1426
+
1427
+ type UserRewards = {
1428
+ vaultAddress: string;
1429
+ rewardToken: string;
1430
+ rewardTokenDecimals: number;
1431
+ rewardAmount: string;
1432
+ };
1433
+ ```
1434
+
1435
+ ### UserRewardsBN
1436
+
1437
+ ```typescript
1438
+
1439
+ type UserRewardsBN = {
1440
+ vaultAddress: string;
1441
+ rewardToken: string;
1442
+ rewardTokenDecimals: number;
1443
+ rewardAmount: BigNumber;
1444
+ };
1445
+ ```
@@ -0,0 +1,475 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
5
+ export interface MultiFeeDistributerInterface extends utils.Interface {
6
+ functions: {
7
+ "addReward(address)": FunctionFragment;
8
+ "claimable(address,address)": FunctionFragment;
9
+ "claimableRewards(address)": FunctionFragment;
10
+ "getAllRewards()": FunctionFragment;
11
+ "getReward(address,address[])": FunctionFragment;
12
+ "getUserRewardPerToken(address,address)": FunctionFragment;
13
+ "managers(address)": FunctionFragment;
14
+ "owner()": FunctionFragment;
15
+ "pause()": FunctionFragment;
16
+ "paused()": FunctionFragment;
17
+ "recoverERC20(address,uint256)": FunctionFragment;
18
+ "removeManagers(address[])": FunctionFragment;
19
+ "renounceOwnership()": FunctionFragment;
20
+ "rewardData(address)": FunctionFragment;
21
+ "rewardTokens(uint256)": FunctionFragment;
22
+ "setManagers(address[])": FunctionFragment;
23
+ "stake(uint256,address)": FunctionFragment;
24
+ "stakingToken()": FunctionFragment;
25
+ "totalBalance(address)": FunctionFragment;
26
+ "totalStakes()": FunctionFragment;
27
+ "transferOwnership(address)": FunctionFragment;
28
+ "unpause()": FunctionFragment;
29
+ "unstake(uint256)": FunctionFragment;
30
+ "updateReward()": FunctionFragment;
31
+ "userData(address)": FunctionFragment;
32
+ };
33
+ getFunction(nameOrSignatureOrTopic: "addReward" | "claimable" | "claimableRewards" | "getAllRewards" | "getReward" | "getUserRewardPerToken" | "managers" | "owner" | "pause" | "paused" | "recoverERC20" | "removeManagers" | "renounceOwnership" | "rewardData" | "rewardTokens" | "setManagers" | "stake" | "stakingToken" | "totalBalance" | "totalStakes" | "transferOwnership" | "unpause" | "unstake" | "updateReward" | "userData"): FunctionFragment;
34
+ encodeFunctionData(functionFragment: "addReward", values: [PromiseOrValue<string>]): string;
35
+ encodeFunctionData(functionFragment: "claimable", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
36
+ encodeFunctionData(functionFragment: "claimableRewards", values: [PromiseOrValue<string>]): string;
37
+ encodeFunctionData(functionFragment: "getAllRewards", values?: undefined): string;
38
+ encodeFunctionData(functionFragment: "getReward", values: [PromiseOrValue<string>, PromiseOrValue<string>[]]): string;
39
+ encodeFunctionData(functionFragment: "getUserRewardPerToken", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
40
+ encodeFunctionData(functionFragment: "managers", values: [PromiseOrValue<string>]): string;
41
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
42
+ encodeFunctionData(functionFragment: "pause", values?: undefined): string;
43
+ encodeFunctionData(functionFragment: "paused", values?: undefined): string;
44
+ encodeFunctionData(functionFragment: "recoverERC20", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
45
+ encodeFunctionData(functionFragment: "removeManagers", values: [PromiseOrValue<string>[]]): string;
46
+ encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
47
+ encodeFunctionData(functionFragment: "rewardData", values: [PromiseOrValue<string>]): string;
48
+ encodeFunctionData(functionFragment: "rewardTokens", values: [PromiseOrValue<BigNumberish>]): string;
49
+ encodeFunctionData(functionFragment: "setManagers", values: [PromiseOrValue<string>[]]): string;
50
+ encodeFunctionData(functionFragment: "stake", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
51
+ encodeFunctionData(functionFragment: "stakingToken", values?: undefined): string;
52
+ encodeFunctionData(functionFragment: "totalBalance", values: [PromiseOrValue<string>]): string;
53
+ encodeFunctionData(functionFragment: "totalStakes", values?: undefined): string;
54
+ encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
55
+ encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
56
+ encodeFunctionData(functionFragment: "unstake", values: [PromiseOrValue<BigNumberish>]): string;
57
+ encodeFunctionData(functionFragment: "updateReward", values?: undefined): string;
58
+ encodeFunctionData(functionFragment: "userData", values: [PromiseOrValue<string>]): string;
59
+ decodeFunctionResult(functionFragment: "addReward", data: BytesLike): Result;
60
+ decodeFunctionResult(functionFragment: "claimable", data: BytesLike): Result;
61
+ decodeFunctionResult(functionFragment: "claimableRewards", data: BytesLike): Result;
62
+ decodeFunctionResult(functionFragment: "getAllRewards", data: BytesLike): Result;
63
+ decodeFunctionResult(functionFragment: "getReward", data: BytesLike): Result;
64
+ decodeFunctionResult(functionFragment: "getUserRewardPerToken", data: BytesLike): Result;
65
+ decodeFunctionResult(functionFragment: "managers", data: BytesLike): Result;
66
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
67
+ decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
68
+ decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
69
+ decodeFunctionResult(functionFragment: "recoverERC20", data: BytesLike): Result;
70
+ decodeFunctionResult(functionFragment: "removeManagers", data: BytesLike): Result;
71
+ decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
72
+ decodeFunctionResult(functionFragment: "rewardData", data: BytesLike): Result;
73
+ decodeFunctionResult(functionFragment: "rewardTokens", data: BytesLike): Result;
74
+ decodeFunctionResult(functionFragment: "setManagers", data: BytesLike): Result;
75
+ decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result;
76
+ decodeFunctionResult(functionFragment: "stakingToken", data: BytesLike): Result;
77
+ decodeFunctionResult(functionFragment: "totalBalance", data: BytesLike): Result;
78
+ decodeFunctionResult(functionFragment: "totalStakes", data: BytesLike): Result;
79
+ decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
80
+ decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
81
+ decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result;
82
+ decodeFunctionResult(functionFragment: "updateReward", data: BytesLike): Result;
83
+ decodeFunctionResult(functionFragment: "userData", data: BytesLike): Result;
84
+ events: {
85
+ "OwnershipTransferred(address,address)": EventFragment;
86
+ "Paused(address)": EventFragment;
87
+ "Recovered(address,uint256)": EventFragment;
88
+ "RewardPaid(address,address,uint256)": EventFragment;
89
+ "RewardsUpdated()": EventFragment;
90
+ "Stake(address,uint256)": EventFragment;
91
+ "Unpaused(address)": EventFragment;
92
+ "Unstake(address,uint256)": EventFragment;
93
+ };
94
+ getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
95
+ getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment;
96
+ getEvent(nameOrSignatureOrTopic: "Recovered"): EventFragment;
97
+ getEvent(nameOrSignatureOrTopic: "RewardPaid"): EventFragment;
98
+ getEvent(nameOrSignatureOrTopic: "RewardsUpdated"): EventFragment;
99
+ getEvent(nameOrSignatureOrTopic: "Stake"): EventFragment;
100
+ getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment;
101
+ getEvent(nameOrSignatureOrTopic: "Unstake"): EventFragment;
102
+ }
103
+ export interface OwnershipTransferredEventObject {
104
+ previousOwner: string;
105
+ newOwner: string;
106
+ }
107
+ export type OwnershipTransferredEvent = TypedEvent<[
108
+ string,
109
+ string
110
+ ], OwnershipTransferredEventObject>;
111
+ export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
112
+ export interface PausedEventObject {
113
+ account: string;
114
+ }
115
+ export type PausedEvent = TypedEvent<[string], PausedEventObject>;
116
+ export type PausedEventFilter = TypedEventFilter<PausedEvent>;
117
+ export interface RecoveredEventObject {
118
+ token: string;
119
+ amount: BigNumber;
120
+ }
121
+ export type RecoveredEvent = TypedEvent<[
122
+ string,
123
+ BigNumber
124
+ ], RecoveredEventObject>;
125
+ export type RecoveredEventFilter = TypedEventFilter<RecoveredEvent>;
126
+ export interface RewardPaidEventObject {
127
+ user: string;
128
+ rewardToken: string;
129
+ reward: BigNumber;
130
+ }
131
+ export type RewardPaidEvent = TypedEvent<[
132
+ string,
133
+ string,
134
+ BigNumber
135
+ ], RewardPaidEventObject>;
136
+ export type RewardPaidEventFilter = TypedEventFilter<RewardPaidEvent>;
137
+ export interface RewardsUpdatedEventObject {
138
+ }
139
+ export type RewardsUpdatedEvent = TypedEvent<[], RewardsUpdatedEventObject>;
140
+ export type RewardsUpdatedEventFilter = TypedEventFilter<RewardsUpdatedEvent>;
141
+ export interface StakeEventObject {
142
+ user: string;
143
+ amount: BigNumber;
144
+ }
145
+ export type StakeEvent = TypedEvent<[string, BigNumber], StakeEventObject>;
146
+ export type StakeEventFilter = TypedEventFilter<StakeEvent>;
147
+ export interface UnpausedEventObject {
148
+ account: string;
149
+ }
150
+ export type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>;
151
+ export type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>;
152
+ export interface UnstakeEventObject {
153
+ user: string;
154
+ receivedAmount: BigNumber;
155
+ }
156
+ export type UnstakeEvent = TypedEvent<[string, BigNumber], UnstakeEventObject>;
157
+ export type UnstakeEventFilter = TypedEventFilter<UnstakeEvent>;
158
+ export interface MultiFeeDistributer extends BaseContract {
159
+ connect(signerOrProvider: Signer | Provider | string): this;
160
+ attach(addressOrName: string): this;
161
+ deployed(): Promise<this>;
162
+ interface: MultiFeeDistributerInterface;
163
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
164
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
165
+ listeners(eventName?: string): Array<Listener>;
166
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
167
+ removeAllListeners(eventName?: string): this;
168
+ off: OnEvent<this>;
169
+ on: OnEvent<this>;
170
+ once: OnEvent<this>;
171
+ removeListener: OnEvent<this>;
172
+ functions: {
173
+ addReward(_rewardToken: PromiseOrValue<string>, overrides?: Overrides & {
174
+ from?: PromiseOrValue<string>;
175
+ }): Promise<ContractTransaction>;
176
+ claimable(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
177
+ claimableRewards(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[], BigNumber[]]>;
178
+ getAllRewards(overrides?: Overrides & {
179
+ from?: PromiseOrValue<string>;
180
+ }): Promise<ContractTransaction>;
181
+ getReward(_onBehalfOf: PromiseOrValue<string>, _rewardTokens: PromiseOrValue<string>[], overrides?: Overrides & {
182
+ from?: PromiseOrValue<string>;
183
+ }): Promise<ContractTransaction>;
184
+ getUserRewardPerToken(user: PromiseOrValue<string>, rewardToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
185
+ managers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
186
+ owner(overrides?: CallOverrides): Promise<[string]>;
187
+ pause(overrides?: Overrides & {
188
+ from?: PromiseOrValue<string>;
189
+ }): Promise<ContractTransaction>;
190
+ paused(overrides?: CallOverrides): Promise<[boolean]>;
191
+ recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
192
+ from?: PromiseOrValue<string>;
193
+ }): Promise<ContractTransaction>;
194
+ removeManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
195
+ from?: PromiseOrValue<string>;
196
+ }): Promise<ContractTransaction>;
197
+ renounceOwnership(overrides?: Overrides & {
198
+ from?: PromiseOrValue<string>;
199
+ }): Promise<ContractTransaction>;
200
+ rewardData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
201
+ BigNumber,
202
+ BigNumber,
203
+ BigNumber
204
+ ] & {
205
+ amount: BigNumber;
206
+ lastTimeUpdated: BigNumber;
207
+ rewardPerToken: BigNumber;
208
+ }>;
209
+ rewardTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
210
+ setManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
211
+ from?: PromiseOrValue<string>;
212
+ }): Promise<ContractTransaction>;
213
+ stake(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, overrides?: Overrides & {
214
+ from?: PromiseOrValue<string>;
215
+ }): Promise<ContractTransaction>;
216
+ stakingToken(overrides?: CallOverrides): Promise<[string]>;
217
+ totalBalance(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
218
+ totalStakes(overrides?: CallOverrides): Promise<[BigNumber]>;
219
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
220
+ from?: PromiseOrValue<string>;
221
+ }): Promise<ContractTransaction>;
222
+ unpause(overrides?: Overrides & {
223
+ from?: PromiseOrValue<string>;
224
+ }): Promise<ContractTransaction>;
225
+ unstake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
226
+ from?: PromiseOrValue<string>;
227
+ }): Promise<ContractTransaction>;
228
+ updateReward(overrides?: Overrides & {
229
+ from?: PromiseOrValue<string>;
230
+ }): Promise<ContractTransaction>;
231
+ userData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
232
+ BigNumber,
233
+ BigNumber,
234
+ BigNumber
235
+ ] & {
236
+ tokenAmount: BigNumber;
237
+ lastTimeUpdated: BigNumber;
238
+ tokenClaimable: BigNumber;
239
+ }>;
240
+ };
241
+ addReward(_rewardToken: PromiseOrValue<string>, overrides?: Overrides & {
242
+ from?: PromiseOrValue<string>;
243
+ }): Promise<ContractTransaction>;
244
+ claimable(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
245
+ claimableRewards(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[], BigNumber[]]>;
246
+ getAllRewards(overrides?: Overrides & {
247
+ from?: PromiseOrValue<string>;
248
+ }): Promise<ContractTransaction>;
249
+ getReward(_onBehalfOf: PromiseOrValue<string>, _rewardTokens: PromiseOrValue<string>[], overrides?: Overrides & {
250
+ from?: PromiseOrValue<string>;
251
+ }): Promise<ContractTransaction>;
252
+ getUserRewardPerToken(user: PromiseOrValue<string>, rewardToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
253
+ managers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
254
+ owner(overrides?: CallOverrides): Promise<string>;
255
+ pause(overrides?: Overrides & {
256
+ from?: PromiseOrValue<string>;
257
+ }): Promise<ContractTransaction>;
258
+ paused(overrides?: CallOverrides): Promise<boolean>;
259
+ recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
260
+ from?: PromiseOrValue<string>;
261
+ }): Promise<ContractTransaction>;
262
+ removeManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
263
+ from?: PromiseOrValue<string>;
264
+ }): Promise<ContractTransaction>;
265
+ renounceOwnership(overrides?: Overrides & {
266
+ from?: PromiseOrValue<string>;
267
+ }): Promise<ContractTransaction>;
268
+ rewardData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
269
+ BigNumber,
270
+ BigNumber,
271
+ BigNumber
272
+ ] & {
273
+ amount: BigNumber;
274
+ lastTimeUpdated: BigNumber;
275
+ rewardPerToken: BigNumber;
276
+ }>;
277
+ rewardTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
278
+ setManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
279
+ from?: PromiseOrValue<string>;
280
+ }): Promise<ContractTransaction>;
281
+ stake(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, overrides?: Overrides & {
282
+ from?: PromiseOrValue<string>;
283
+ }): Promise<ContractTransaction>;
284
+ stakingToken(overrides?: CallOverrides): Promise<string>;
285
+ totalBalance(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
286
+ totalStakes(overrides?: CallOverrides): Promise<BigNumber>;
287
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
288
+ from?: PromiseOrValue<string>;
289
+ }): Promise<ContractTransaction>;
290
+ unpause(overrides?: Overrides & {
291
+ from?: PromiseOrValue<string>;
292
+ }): Promise<ContractTransaction>;
293
+ unstake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
294
+ from?: PromiseOrValue<string>;
295
+ }): Promise<ContractTransaction>;
296
+ updateReward(overrides?: Overrides & {
297
+ from?: PromiseOrValue<string>;
298
+ }): Promise<ContractTransaction>;
299
+ userData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
300
+ BigNumber,
301
+ BigNumber,
302
+ BigNumber
303
+ ] & {
304
+ tokenAmount: BigNumber;
305
+ lastTimeUpdated: BigNumber;
306
+ tokenClaimable: BigNumber;
307
+ }>;
308
+ callStatic: {
309
+ addReward(_rewardToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
310
+ claimable(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
311
+ claimableRewards(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[], BigNumber[]]>;
312
+ getAllRewards(overrides?: CallOverrides): Promise<BigNumber[]>;
313
+ getReward(_onBehalfOf: PromiseOrValue<string>, _rewardTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<BigNumber[]>;
314
+ getUserRewardPerToken(user: PromiseOrValue<string>, rewardToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
315
+ managers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
316
+ owner(overrides?: CallOverrides): Promise<string>;
317
+ pause(overrides?: CallOverrides): Promise<void>;
318
+ paused(overrides?: CallOverrides): Promise<boolean>;
319
+ recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
320
+ removeManagers(_managers: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
321
+ renounceOwnership(overrides?: CallOverrides): Promise<void>;
322
+ rewardData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
323
+ BigNumber,
324
+ BigNumber,
325
+ BigNumber
326
+ ] & {
327
+ amount: BigNumber;
328
+ lastTimeUpdated: BigNumber;
329
+ rewardPerToken: BigNumber;
330
+ }>;
331
+ rewardTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
332
+ setManagers(_managers: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
333
+ stake(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
334
+ stakingToken(overrides?: CallOverrides): Promise<string>;
335
+ totalBalance(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
336
+ totalStakes(overrides?: CallOverrides): Promise<BigNumber>;
337
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
338
+ unpause(overrides?: CallOverrides): Promise<void>;
339
+ unstake(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
340
+ updateReward(overrides?: CallOverrides): Promise<void>;
341
+ userData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
342
+ BigNumber,
343
+ BigNumber,
344
+ BigNumber
345
+ ] & {
346
+ tokenAmount: BigNumber;
347
+ lastTimeUpdated: BigNumber;
348
+ tokenClaimable: BigNumber;
349
+ }>;
350
+ };
351
+ filters: {
352
+ "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
353
+ OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
354
+ "Paused(address)"(account?: null): PausedEventFilter;
355
+ Paused(account?: null): PausedEventFilter;
356
+ "Recovered(address,uint256)"(token?: PromiseOrValue<string> | null, amount?: null): RecoveredEventFilter;
357
+ Recovered(token?: PromiseOrValue<string> | null, amount?: null): RecoveredEventFilter;
358
+ "RewardPaid(address,address,uint256)"(user?: PromiseOrValue<string> | null, rewardToken?: PromiseOrValue<string> | null, reward?: null): RewardPaidEventFilter;
359
+ RewardPaid(user?: PromiseOrValue<string> | null, rewardToken?: PromiseOrValue<string> | null, reward?: null): RewardPaidEventFilter;
360
+ "RewardsUpdated()"(): RewardsUpdatedEventFilter;
361
+ RewardsUpdated(): RewardsUpdatedEventFilter;
362
+ "Stake(address,uint256)"(user?: PromiseOrValue<string> | null, amount?: null): StakeEventFilter;
363
+ Stake(user?: PromiseOrValue<string> | null, amount?: null): StakeEventFilter;
364
+ "Unpaused(address)"(account?: null): UnpausedEventFilter;
365
+ Unpaused(account?: null): UnpausedEventFilter;
366
+ "Unstake(address,uint256)"(user?: PromiseOrValue<string> | null, receivedAmount?: null): UnstakeEventFilter;
367
+ Unstake(user?: PromiseOrValue<string> | null, receivedAmount?: null): UnstakeEventFilter;
368
+ };
369
+ estimateGas: {
370
+ addReward(_rewardToken: PromiseOrValue<string>, overrides?: Overrides & {
371
+ from?: PromiseOrValue<string>;
372
+ }): Promise<BigNumber>;
373
+ claimable(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
374
+ claimableRewards(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
375
+ getAllRewards(overrides?: Overrides & {
376
+ from?: PromiseOrValue<string>;
377
+ }): Promise<BigNumber>;
378
+ getReward(_onBehalfOf: PromiseOrValue<string>, _rewardTokens: PromiseOrValue<string>[], overrides?: Overrides & {
379
+ from?: PromiseOrValue<string>;
380
+ }): Promise<BigNumber>;
381
+ getUserRewardPerToken(user: PromiseOrValue<string>, rewardToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
382
+ managers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
383
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
384
+ pause(overrides?: Overrides & {
385
+ from?: PromiseOrValue<string>;
386
+ }): Promise<BigNumber>;
387
+ paused(overrides?: CallOverrides): Promise<BigNumber>;
388
+ recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
389
+ from?: PromiseOrValue<string>;
390
+ }): Promise<BigNumber>;
391
+ removeManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
392
+ from?: PromiseOrValue<string>;
393
+ }): Promise<BigNumber>;
394
+ renounceOwnership(overrides?: Overrides & {
395
+ from?: PromiseOrValue<string>;
396
+ }): Promise<BigNumber>;
397
+ rewardData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
398
+ rewardTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
399
+ setManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
400
+ from?: PromiseOrValue<string>;
401
+ }): Promise<BigNumber>;
402
+ stake(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, overrides?: Overrides & {
403
+ from?: PromiseOrValue<string>;
404
+ }): Promise<BigNumber>;
405
+ stakingToken(overrides?: CallOverrides): Promise<BigNumber>;
406
+ totalBalance(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
407
+ totalStakes(overrides?: CallOverrides): Promise<BigNumber>;
408
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
409
+ from?: PromiseOrValue<string>;
410
+ }): Promise<BigNumber>;
411
+ unpause(overrides?: Overrides & {
412
+ from?: PromiseOrValue<string>;
413
+ }): Promise<BigNumber>;
414
+ unstake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
415
+ from?: PromiseOrValue<string>;
416
+ }): Promise<BigNumber>;
417
+ updateReward(overrides?: Overrides & {
418
+ from?: PromiseOrValue<string>;
419
+ }): Promise<BigNumber>;
420
+ userData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
421
+ };
422
+ populateTransaction: {
423
+ addReward(_rewardToken: PromiseOrValue<string>, overrides?: Overrides & {
424
+ from?: PromiseOrValue<string>;
425
+ }): Promise<PopulatedTransaction>;
426
+ claimable(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
427
+ claimableRewards(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
428
+ getAllRewards(overrides?: Overrides & {
429
+ from?: PromiseOrValue<string>;
430
+ }): Promise<PopulatedTransaction>;
431
+ getReward(_onBehalfOf: PromiseOrValue<string>, _rewardTokens: PromiseOrValue<string>[], overrides?: Overrides & {
432
+ from?: PromiseOrValue<string>;
433
+ }): Promise<PopulatedTransaction>;
434
+ getUserRewardPerToken(user: PromiseOrValue<string>, rewardToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
435
+ managers(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
436
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
437
+ pause(overrides?: Overrides & {
438
+ from?: PromiseOrValue<string>;
439
+ }): Promise<PopulatedTransaction>;
440
+ paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
441
+ recoverERC20(tokenAddress: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
442
+ from?: PromiseOrValue<string>;
443
+ }): Promise<PopulatedTransaction>;
444
+ removeManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
445
+ from?: PromiseOrValue<string>;
446
+ }): Promise<PopulatedTransaction>;
447
+ renounceOwnership(overrides?: Overrides & {
448
+ from?: PromiseOrValue<string>;
449
+ }): Promise<PopulatedTransaction>;
450
+ rewardData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
451
+ rewardTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
452
+ setManagers(_managers: PromiseOrValue<string>[], overrides?: Overrides & {
453
+ from?: PromiseOrValue<string>;
454
+ }): Promise<PopulatedTransaction>;
455
+ stake(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, overrides?: Overrides & {
456
+ from?: PromiseOrValue<string>;
457
+ }): Promise<PopulatedTransaction>;
458
+ stakingToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
459
+ totalBalance(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
460
+ totalStakes(overrides?: CallOverrides): Promise<PopulatedTransaction>;
461
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
462
+ from?: PromiseOrValue<string>;
463
+ }): Promise<PopulatedTransaction>;
464
+ unpause(overrides?: Overrides & {
465
+ from?: PromiseOrValue<string>;
466
+ }): Promise<PopulatedTransaction>;
467
+ unstake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
468
+ from?: PromiseOrValue<string>;
469
+ }): Promise<PopulatedTransaction>;
470
+ updateReward(overrides?: Overrides & {
471
+ from?: PromiseOrValue<string>;
472
+ }): Promise<PopulatedTransaction>;
473
+ userData(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
474
+ };
475
+ }