@gearbox-protocol/sdk 3.0.0-next.63 → 3.0.0-next.65
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.
- package/contracts/index.sol +2 -0
- package/lib/types/IBotListV3.sol/IBotListV3.d.ts +286 -0
- package/lib/types/IBotListV3.sol/IBotListV3.js +2 -0
- package/lib/types/IBotListV3.sol/IBotListV3Events.d.ts +103 -0
- package/lib/types/IBotListV3.sol/IBotListV3Events.js +2 -0
- package/lib/types/IBotListV3.sol/index.d.ts +2 -0
- package/lib/types/IBotListV3.sol/index.js +2 -0
- package/lib/types/IZapperRegister.d.ts +62 -0
- package/lib/types/IZapperRegister.js +2 -0
- package/lib/types/factories/IBotListV3.sol/IBotListV3Events__factory.d.ts +103 -0
- package/lib/types/factories/IBotListV3.sol/IBotListV3Events__factory.js +138 -0
- package/lib/types/factories/IBotListV3.sol/IBotListV3__factory.d.ts +315 -0
- package/lib/types/factories/IBotListV3.sol/IBotListV3__factory.js +416 -0
- package/lib/types/factories/IBotListV3.sol/index.d.ts +2 -0
- package/lib/types/factories/IBotListV3.sol/index.js +10 -0
- package/lib/types/factories/IZapperRegister__factory.d.ts +42 -0
- package/lib/types/factories/IZapperRegister__factory.js +64 -0
- package/lib/types/factories/index.d.ts +2 -0
- package/lib/types/factories/index.js +5 -2
- package/lib/types/index.d.ts +8 -0
- package/lib/types/index.js +9 -3
- package/package.json +1 -1
package/contracts/index.sol
CHANGED
|
@@ -20,7 +20,9 @@ import {IERC20ZapperDeposits} from
|
|
|
20
20
|
"@gearbox-protocol/integrations-v3/contracts/interfaces/zappers/IERC20ZapperDeposits.sol";
|
|
21
21
|
import {IETHZapperDeposits} from "@gearbox-protocol/integrations-v3/contracts/interfaces/zappers/IETHZapperDeposits.sol";
|
|
22
22
|
import {IZapper} from "@gearbox-protocol/integrations-v3/contracts/interfaces/zappers/IZapper.sol";
|
|
23
|
+
import {IZapperRegister} from "@gearbox-protocol/periphery-v3/contracts/interfaces/IZapperRegister.sol";
|
|
23
24
|
import {IDegenNFTV2} from "@gearbox-protocol/core-v2/contracts/interfaces/IDegenNFTV2.sol";
|
|
25
|
+
import {IBotListV3} from "@gearbox-protocol/core-v3/contracts/interfaces/IBotListV3.sol";
|
|
24
26
|
|
|
25
27
|
import {IGearStakingV3} from "@gearbox-protocol/core-v3/contracts/interfaces/IGearStakingV3.sol";
|
|
26
28
|
|
|
@@ -0,0 +1,286 @@
|
|
|
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 IBotListV3Interface extends utils.Interface {
|
|
6
|
+
functions: {
|
|
7
|
+
"activeBots(address,address)": FunctionFragment;
|
|
8
|
+
"approvedCreditManager(address)": FunctionFragment;
|
|
9
|
+
"botForbiddenStatus(address)": FunctionFragment;
|
|
10
|
+
"botPermissions(address,address,address)": FunctionFragment;
|
|
11
|
+
"botSpecialPermissions(address,address)": FunctionFragment;
|
|
12
|
+
"eraseAllBotPermissions(address,address)": FunctionFragment;
|
|
13
|
+
"getBotStatus(address,address,address)": FunctionFragment;
|
|
14
|
+
"setBotForbiddenStatus(address,bool)": FunctionFragment;
|
|
15
|
+
"setBotPermissions(address,address,address,uint192)": FunctionFragment;
|
|
16
|
+
"setBotSpecialPermissions(address,address,uint192)": FunctionFragment;
|
|
17
|
+
"setCreditManagerApprovedStatus(address,bool)": FunctionFragment;
|
|
18
|
+
"version()": FunctionFragment;
|
|
19
|
+
};
|
|
20
|
+
getFunction(nameOrSignatureOrTopic: "activeBots" | "approvedCreditManager" | "botForbiddenStatus" | "botPermissions" | "botSpecialPermissions" | "eraseAllBotPermissions" | "getBotStatus" | "setBotForbiddenStatus" | "setBotPermissions" | "setBotSpecialPermissions" | "setCreditManagerApprovedStatus" | "version"): FunctionFragment;
|
|
21
|
+
encodeFunctionData(functionFragment: "activeBots", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
22
|
+
encodeFunctionData(functionFragment: "approvedCreditManager", values: [PromiseOrValue<string>]): string;
|
|
23
|
+
encodeFunctionData(functionFragment: "botForbiddenStatus", values: [PromiseOrValue<string>]): string;
|
|
24
|
+
encodeFunctionData(functionFragment: "botPermissions", values: [
|
|
25
|
+
PromiseOrValue<string>,
|
|
26
|
+
PromiseOrValue<string>,
|
|
27
|
+
PromiseOrValue<string>
|
|
28
|
+
]): string;
|
|
29
|
+
encodeFunctionData(functionFragment: "botSpecialPermissions", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
30
|
+
encodeFunctionData(functionFragment: "eraseAllBotPermissions", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
31
|
+
encodeFunctionData(functionFragment: "getBotStatus", values: [
|
|
32
|
+
PromiseOrValue<string>,
|
|
33
|
+
PromiseOrValue<string>,
|
|
34
|
+
PromiseOrValue<string>
|
|
35
|
+
]): string;
|
|
36
|
+
encodeFunctionData(functionFragment: "setBotForbiddenStatus", values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
|
|
37
|
+
encodeFunctionData(functionFragment: "setBotPermissions", values: [
|
|
38
|
+
PromiseOrValue<string>,
|
|
39
|
+
PromiseOrValue<string>,
|
|
40
|
+
PromiseOrValue<string>,
|
|
41
|
+
PromiseOrValue<BigNumberish>
|
|
42
|
+
]): string;
|
|
43
|
+
encodeFunctionData(functionFragment: "setBotSpecialPermissions", values: [
|
|
44
|
+
PromiseOrValue<string>,
|
|
45
|
+
PromiseOrValue<string>,
|
|
46
|
+
PromiseOrValue<BigNumberish>
|
|
47
|
+
]): string;
|
|
48
|
+
encodeFunctionData(functionFragment: "setCreditManagerApprovedStatus", values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
|
|
49
|
+
encodeFunctionData(functionFragment: "version", values?: undefined): string;
|
|
50
|
+
decodeFunctionResult(functionFragment: "activeBots", data: BytesLike): Result;
|
|
51
|
+
decodeFunctionResult(functionFragment: "approvedCreditManager", data: BytesLike): Result;
|
|
52
|
+
decodeFunctionResult(functionFragment: "botForbiddenStatus", data: BytesLike): Result;
|
|
53
|
+
decodeFunctionResult(functionFragment: "botPermissions", data: BytesLike): Result;
|
|
54
|
+
decodeFunctionResult(functionFragment: "botSpecialPermissions", data: BytesLike): Result;
|
|
55
|
+
decodeFunctionResult(functionFragment: "eraseAllBotPermissions", data: BytesLike): Result;
|
|
56
|
+
decodeFunctionResult(functionFragment: "getBotStatus", data: BytesLike): Result;
|
|
57
|
+
decodeFunctionResult(functionFragment: "setBotForbiddenStatus", data: BytesLike): Result;
|
|
58
|
+
decodeFunctionResult(functionFragment: "setBotPermissions", data: BytesLike): Result;
|
|
59
|
+
decodeFunctionResult(functionFragment: "setBotSpecialPermissions", data: BytesLike): Result;
|
|
60
|
+
decodeFunctionResult(functionFragment: "setCreditManagerApprovedStatus", data: BytesLike): Result;
|
|
61
|
+
decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
|
|
62
|
+
events: {
|
|
63
|
+
"EraseBot(address,address,address)": EventFragment;
|
|
64
|
+
"SetBotForbiddenStatus(address,bool)": EventFragment;
|
|
65
|
+
"SetBotPermissions(address,address,address,uint192)": EventFragment;
|
|
66
|
+
"SetBotSpecialPermissions(address,address,uint192)": EventFragment;
|
|
67
|
+
"SetCreditManagerApprovedStatus(address,bool)": EventFragment;
|
|
68
|
+
};
|
|
69
|
+
getEvent(nameOrSignatureOrTopic: "EraseBot"): EventFragment;
|
|
70
|
+
getEvent(nameOrSignatureOrTopic: "SetBotForbiddenStatus"): EventFragment;
|
|
71
|
+
getEvent(nameOrSignatureOrTopic: "SetBotPermissions"): EventFragment;
|
|
72
|
+
getEvent(nameOrSignatureOrTopic: "SetBotSpecialPermissions"): EventFragment;
|
|
73
|
+
getEvent(nameOrSignatureOrTopic: "SetCreditManagerApprovedStatus"): EventFragment;
|
|
74
|
+
}
|
|
75
|
+
export interface EraseBotEventObject {
|
|
76
|
+
bot: string;
|
|
77
|
+
creditManager: string;
|
|
78
|
+
creditAccount: string;
|
|
79
|
+
}
|
|
80
|
+
export type EraseBotEvent = TypedEvent<[
|
|
81
|
+
string,
|
|
82
|
+
string,
|
|
83
|
+
string
|
|
84
|
+
], EraseBotEventObject>;
|
|
85
|
+
export type EraseBotEventFilter = TypedEventFilter<EraseBotEvent>;
|
|
86
|
+
export interface SetBotForbiddenStatusEventObject {
|
|
87
|
+
bot: string;
|
|
88
|
+
forbidden: boolean;
|
|
89
|
+
}
|
|
90
|
+
export type SetBotForbiddenStatusEvent = TypedEvent<[
|
|
91
|
+
string,
|
|
92
|
+
boolean
|
|
93
|
+
], SetBotForbiddenStatusEventObject>;
|
|
94
|
+
export type SetBotForbiddenStatusEventFilter = TypedEventFilter<SetBotForbiddenStatusEvent>;
|
|
95
|
+
export interface SetBotPermissionsEventObject {
|
|
96
|
+
bot: string;
|
|
97
|
+
creditManager: string;
|
|
98
|
+
creditAccount: string;
|
|
99
|
+
permissions: BigNumber;
|
|
100
|
+
}
|
|
101
|
+
export type SetBotPermissionsEvent = TypedEvent<[
|
|
102
|
+
string,
|
|
103
|
+
string,
|
|
104
|
+
string,
|
|
105
|
+
BigNumber
|
|
106
|
+
], SetBotPermissionsEventObject>;
|
|
107
|
+
export type SetBotPermissionsEventFilter = TypedEventFilter<SetBotPermissionsEvent>;
|
|
108
|
+
export interface SetBotSpecialPermissionsEventObject {
|
|
109
|
+
bot: string;
|
|
110
|
+
creditManager: string;
|
|
111
|
+
permissions: BigNumber;
|
|
112
|
+
}
|
|
113
|
+
export type SetBotSpecialPermissionsEvent = TypedEvent<[
|
|
114
|
+
string,
|
|
115
|
+
string,
|
|
116
|
+
BigNumber
|
|
117
|
+
], SetBotSpecialPermissionsEventObject>;
|
|
118
|
+
export type SetBotSpecialPermissionsEventFilter = TypedEventFilter<SetBotSpecialPermissionsEvent>;
|
|
119
|
+
export interface SetCreditManagerApprovedStatusEventObject {
|
|
120
|
+
creditManager: string;
|
|
121
|
+
approved: boolean;
|
|
122
|
+
}
|
|
123
|
+
export type SetCreditManagerApprovedStatusEvent = TypedEvent<[
|
|
124
|
+
string,
|
|
125
|
+
boolean
|
|
126
|
+
], SetCreditManagerApprovedStatusEventObject>;
|
|
127
|
+
export type SetCreditManagerApprovedStatusEventFilter = TypedEventFilter<SetCreditManagerApprovedStatusEvent>;
|
|
128
|
+
export interface IBotListV3 extends BaseContract {
|
|
129
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
130
|
+
attach(addressOrName: string): this;
|
|
131
|
+
deployed(): Promise<this>;
|
|
132
|
+
interface: IBotListV3Interface;
|
|
133
|
+
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
|
|
134
|
+
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
|
|
135
|
+
listeners(eventName?: string): Array<Listener>;
|
|
136
|
+
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
|
|
137
|
+
removeAllListeners(eventName?: string): this;
|
|
138
|
+
off: OnEvent<this>;
|
|
139
|
+
on: OnEvent<this>;
|
|
140
|
+
once: OnEvent<this>;
|
|
141
|
+
removeListener: OnEvent<this>;
|
|
142
|
+
functions: {
|
|
143
|
+
activeBots(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]]>;
|
|
144
|
+
approvedCreditManager(creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
|
|
145
|
+
botForbiddenStatus(bot: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
|
|
146
|
+
botPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
147
|
+
botSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
148
|
+
eraseAllBotPermissions(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: Overrides & {
|
|
149
|
+
from?: PromiseOrValue<string>;
|
|
150
|
+
}): Promise<ContractTransaction>;
|
|
151
|
+
getBotStatus(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
|
|
152
|
+
BigNumber,
|
|
153
|
+
boolean,
|
|
154
|
+
boolean
|
|
155
|
+
] & {
|
|
156
|
+
permissions: BigNumber;
|
|
157
|
+
forbidden: boolean;
|
|
158
|
+
hasSpecialPermissions: boolean;
|
|
159
|
+
}>;
|
|
160
|
+
setBotForbiddenStatus(bot: PromiseOrValue<string>, forbidden: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
161
|
+
from?: PromiseOrValue<string>;
|
|
162
|
+
}): Promise<ContractTransaction>;
|
|
163
|
+
setBotPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
164
|
+
from?: PromiseOrValue<string>;
|
|
165
|
+
}): Promise<ContractTransaction>;
|
|
166
|
+
setBotSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
167
|
+
from?: PromiseOrValue<string>;
|
|
168
|
+
}): Promise<ContractTransaction>;
|
|
169
|
+
setCreditManagerApprovedStatus(creditManager: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
170
|
+
from?: PromiseOrValue<string>;
|
|
171
|
+
}): Promise<ContractTransaction>;
|
|
172
|
+
version(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
173
|
+
};
|
|
174
|
+
activeBots(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
|
|
175
|
+
approvedCreditManager(creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
|
|
176
|
+
botForbiddenStatus(bot: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
|
|
177
|
+
botPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
178
|
+
botSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
179
|
+
eraseAllBotPermissions(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: Overrides & {
|
|
180
|
+
from?: PromiseOrValue<string>;
|
|
181
|
+
}): Promise<ContractTransaction>;
|
|
182
|
+
getBotStatus(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
|
|
183
|
+
BigNumber,
|
|
184
|
+
boolean,
|
|
185
|
+
boolean
|
|
186
|
+
] & {
|
|
187
|
+
permissions: BigNumber;
|
|
188
|
+
forbidden: boolean;
|
|
189
|
+
hasSpecialPermissions: boolean;
|
|
190
|
+
}>;
|
|
191
|
+
setBotForbiddenStatus(bot: PromiseOrValue<string>, forbidden: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
192
|
+
from?: PromiseOrValue<string>;
|
|
193
|
+
}): Promise<ContractTransaction>;
|
|
194
|
+
setBotPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
195
|
+
from?: PromiseOrValue<string>;
|
|
196
|
+
}): Promise<ContractTransaction>;
|
|
197
|
+
setBotSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
198
|
+
from?: PromiseOrValue<string>;
|
|
199
|
+
}): Promise<ContractTransaction>;
|
|
200
|
+
setCreditManagerApprovedStatus(creditManager: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
201
|
+
from?: PromiseOrValue<string>;
|
|
202
|
+
}): Promise<ContractTransaction>;
|
|
203
|
+
version(overrides?: CallOverrides): Promise<BigNumber>;
|
|
204
|
+
callStatic: {
|
|
205
|
+
activeBots(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
|
|
206
|
+
approvedCreditManager(creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
|
|
207
|
+
botForbiddenStatus(bot: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
|
|
208
|
+
botPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
209
|
+
botSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
210
|
+
eraseAllBotPermissions(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
|
|
211
|
+
getBotStatus(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
|
|
212
|
+
BigNumber,
|
|
213
|
+
boolean,
|
|
214
|
+
boolean
|
|
215
|
+
] & {
|
|
216
|
+
permissions: BigNumber;
|
|
217
|
+
forbidden: boolean;
|
|
218
|
+
hasSpecialPermissions: boolean;
|
|
219
|
+
}>;
|
|
220
|
+
setBotForbiddenStatus(bot: PromiseOrValue<string>, forbidden: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
|
|
221
|
+
setBotPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
222
|
+
setBotSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
|
|
223
|
+
setCreditManagerApprovedStatus(creditManager: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
|
|
224
|
+
version(overrides?: CallOverrides): Promise<BigNumber>;
|
|
225
|
+
};
|
|
226
|
+
filters: {
|
|
227
|
+
"EraseBot(address,address,address)"(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null): EraseBotEventFilter;
|
|
228
|
+
EraseBot(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null): EraseBotEventFilter;
|
|
229
|
+
"SetBotForbiddenStatus(address,bool)"(bot?: PromiseOrValue<string> | null, forbidden?: null): SetBotForbiddenStatusEventFilter;
|
|
230
|
+
SetBotForbiddenStatus(bot?: PromiseOrValue<string> | null, forbidden?: null): SetBotForbiddenStatusEventFilter;
|
|
231
|
+
"SetBotPermissions(address,address,address,uint192)"(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null, permissions?: null): SetBotPermissionsEventFilter;
|
|
232
|
+
SetBotPermissions(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null, permissions?: null): SetBotPermissionsEventFilter;
|
|
233
|
+
"SetBotSpecialPermissions(address,address,uint192)"(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, permissions?: null): SetBotSpecialPermissionsEventFilter;
|
|
234
|
+
SetBotSpecialPermissions(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, permissions?: null): SetBotSpecialPermissionsEventFilter;
|
|
235
|
+
"SetCreditManagerApprovedStatus(address,bool)"(creditManager?: PromiseOrValue<string> | null, approved?: null): SetCreditManagerApprovedStatusEventFilter;
|
|
236
|
+
SetCreditManagerApprovedStatus(creditManager?: PromiseOrValue<string> | null, approved?: null): SetCreditManagerApprovedStatusEventFilter;
|
|
237
|
+
};
|
|
238
|
+
estimateGas: {
|
|
239
|
+
activeBots(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
240
|
+
approvedCreditManager(creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
241
|
+
botForbiddenStatus(bot: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
242
|
+
botPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
243
|
+
botSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
244
|
+
eraseAllBotPermissions(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: Overrides & {
|
|
245
|
+
from?: PromiseOrValue<string>;
|
|
246
|
+
}): Promise<BigNumber>;
|
|
247
|
+
getBotStatus(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
248
|
+
setBotForbiddenStatus(bot: PromiseOrValue<string>, forbidden: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
249
|
+
from?: PromiseOrValue<string>;
|
|
250
|
+
}): Promise<BigNumber>;
|
|
251
|
+
setBotPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
252
|
+
from?: PromiseOrValue<string>;
|
|
253
|
+
}): Promise<BigNumber>;
|
|
254
|
+
setBotSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
255
|
+
from?: PromiseOrValue<string>;
|
|
256
|
+
}): Promise<BigNumber>;
|
|
257
|
+
setCreditManagerApprovedStatus(creditManager: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
258
|
+
from?: PromiseOrValue<string>;
|
|
259
|
+
}): Promise<BigNumber>;
|
|
260
|
+
version(overrides?: CallOverrides): Promise<BigNumber>;
|
|
261
|
+
};
|
|
262
|
+
populateTransaction: {
|
|
263
|
+
activeBots(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
264
|
+
approvedCreditManager(creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
265
|
+
botForbiddenStatus(bot: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
266
|
+
botPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
267
|
+
botSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
268
|
+
eraseAllBotPermissions(creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: Overrides & {
|
|
269
|
+
from?: PromiseOrValue<string>;
|
|
270
|
+
}): Promise<PopulatedTransaction>;
|
|
271
|
+
getBotStatus(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
272
|
+
setBotForbiddenStatus(bot: PromiseOrValue<string>, forbidden: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
273
|
+
from?: PromiseOrValue<string>;
|
|
274
|
+
}): Promise<PopulatedTransaction>;
|
|
275
|
+
setBotPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
276
|
+
from?: PromiseOrValue<string>;
|
|
277
|
+
}): Promise<PopulatedTransaction>;
|
|
278
|
+
setBotSpecialPermissions(bot: PromiseOrValue<string>, creditManager: PromiseOrValue<string>, permissions: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
279
|
+
from?: PromiseOrValue<string>;
|
|
280
|
+
}): Promise<PopulatedTransaction>;
|
|
281
|
+
setCreditManagerApprovedStatus(creditManager: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
|
|
282
|
+
from?: PromiseOrValue<string>;
|
|
283
|
+
}): Promise<PopulatedTransaction>;
|
|
284
|
+
version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
285
|
+
};
|
|
286
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { BaseContract, BigNumber, Signer, utils } from "ethers";
|
|
2
|
+
import type { 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 IBotListV3EventsInterface extends utils.Interface {
|
|
6
|
+
functions: {};
|
|
7
|
+
events: {
|
|
8
|
+
"EraseBot(address,address,address)": EventFragment;
|
|
9
|
+
"SetBotForbiddenStatus(address,bool)": EventFragment;
|
|
10
|
+
"SetBotPermissions(address,address,address,uint192)": EventFragment;
|
|
11
|
+
"SetBotSpecialPermissions(address,address,uint192)": EventFragment;
|
|
12
|
+
"SetCreditManagerApprovedStatus(address,bool)": EventFragment;
|
|
13
|
+
};
|
|
14
|
+
getEvent(nameOrSignatureOrTopic: "EraseBot"): EventFragment;
|
|
15
|
+
getEvent(nameOrSignatureOrTopic: "SetBotForbiddenStatus"): EventFragment;
|
|
16
|
+
getEvent(nameOrSignatureOrTopic: "SetBotPermissions"): EventFragment;
|
|
17
|
+
getEvent(nameOrSignatureOrTopic: "SetBotSpecialPermissions"): EventFragment;
|
|
18
|
+
getEvent(nameOrSignatureOrTopic: "SetCreditManagerApprovedStatus"): EventFragment;
|
|
19
|
+
}
|
|
20
|
+
export interface EraseBotEventObject {
|
|
21
|
+
bot: string;
|
|
22
|
+
creditManager: string;
|
|
23
|
+
creditAccount: string;
|
|
24
|
+
}
|
|
25
|
+
export type EraseBotEvent = TypedEvent<[
|
|
26
|
+
string,
|
|
27
|
+
string,
|
|
28
|
+
string
|
|
29
|
+
], EraseBotEventObject>;
|
|
30
|
+
export type EraseBotEventFilter = TypedEventFilter<EraseBotEvent>;
|
|
31
|
+
export interface SetBotForbiddenStatusEventObject {
|
|
32
|
+
bot: string;
|
|
33
|
+
forbidden: boolean;
|
|
34
|
+
}
|
|
35
|
+
export type SetBotForbiddenStatusEvent = TypedEvent<[
|
|
36
|
+
string,
|
|
37
|
+
boolean
|
|
38
|
+
], SetBotForbiddenStatusEventObject>;
|
|
39
|
+
export type SetBotForbiddenStatusEventFilter = TypedEventFilter<SetBotForbiddenStatusEvent>;
|
|
40
|
+
export interface SetBotPermissionsEventObject {
|
|
41
|
+
bot: string;
|
|
42
|
+
creditManager: string;
|
|
43
|
+
creditAccount: string;
|
|
44
|
+
permissions: BigNumber;
|
|
45
|
+
}
|
|
46
|
+
export type SetBotPermissionsEvent = TypedEvent<[
|
|
47
|
+
string,
|
|
48
|
+
string,
|
|
49
|
+
string,
|
|
50
|
+
BigNumber
|
|
51
|
+
], SetBotPermissionsEventObject>;
|
|
52
|
+
export type SetBotPermissionsEventFilter = TypedEventFilter<SetBotPermissionsEvent>;
|
|
53
|
+
export interface SetBotSpecialPermissionsEventObject {
|
|
54
|
+
bot: string;
|
|
55
|
+
creditManager: string;
|
|
56
|
+
permissions: BigNumber;
|
|
57
|
+
}
|
|
58
|
+
export type SetBotSpecialPermissionsEvent = TypedEvent<[
|
|
59
|
+
string,
|
|
60
|
+
string,
|
|
61
|
+
BigNumber
|
|
62
|
+
], SetBotSpecialPermissionsEventObject>;
|
|
63
|
+
export type SetBotSpecialPermissionsEventFilter = TypedEventFilter<SetBotSpecialPermissionsEvent>;
|
|
64
|
+
export interface SetCreditManagerApprovedStatusEventObject {
|
|
65
|
+
creditManager: string;
|
|
66
|
+
approved: boolean;
|
|
67
|
+
}
|
|
68
|
+
export type SetCreditManagerApprovedStatusEvent = TypedEvent<[
|
|
69
|
+
string,
|
|
70
|
+
boolean
|
|
71
|
+
], SetCreditManagerApprovedStatusEventObject>;
|
|
72
|
+
export type SetCreditManagerApprovedStatusEventFilter = TypedEventFilter<SetCreditManagerApprovedStatusEvent>;
|
|
73
|
+
export interface IBotListV3Events extends BaseContract {
|
|
74
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
75
|
+
attach(addressOrName: string): this;
|
|
76
|
+
deployed(): Promise<this>;
|
|
77
|
+
interface: IBotListV3EventsInterface;
|
|
78
|
+
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
|
|
79
|
+
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
|
|
80
|
+
listeners(eventName?: string): Array<Listener>;
|
|
81
|
+
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
|
|
82
|
+
removeAllListeners(eventName?: string): this;
|
|
83
|
+
off: OnEvent<this>;
|
|
84
|
+
on: OnEvent<this>;
|
|
85
|
+
once: OnEvent<this>;
|
|
86
|
+
removeListener: OnEvent<this>;
|
|
87
|
+
functions: {};
|
|
88
|
+
callStatic: {};
|
|
89
|
+
filters: {
|
|
90
|
+
"EraseBot(address,address,address)"(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null): EraseBotEventFilter;
|
|
91
|
+
EraseBot(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null): EraseBotEventFilter;
|
|
92
|
+
"SetBotForbiddenStatus(address,bool)"(bot?: PromiseOrValue<string> | null, forbidden?: null): SetBotForbiddenStatusEventFilter;
|
|
93
|
+
SetBotForbiddenStatus(bot?: PromiseOrValue<string> | null, forbidden?: null): SetBotForbiddenStatusEventFilter;
|
|
94
|
+
"SetBotPermissions(address,address,address,uint192)"(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null, permissions?: null): SetBotPermissionsEventFilter;
|
|
95
|
+
SetBotPermissions(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, creditAccount?: PromiseOrValue<string> | null, permissions?: null): SetBotPermissionsEventFilter;
|
|
96
|
+
"SetBotSpecialPermissions(address,address,uint192)"(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, permissions?: null): SetBotSpecialPermissionsEventFilter;
|
|
97
|
+
SetBotSpecialPermissions(bot?: PromiseOrValue<string> | null, creditManager?: PromiseOrValue<string> | null, permissions?: null): SetBotSpecialPermissionsEventFilter;
|
|
98
|
+
"SetCreditManagerApprovedStatus(address,bool)"(creditManager?: PromiseOrValue<string> | null, approved?: null): SetCreditManagerApprovedStatusEventFilter;
|
|
99
|
+
SetCreditManagerApprovedStatus(creditManager?: PromiseOrValue<string> | null, approved?: null): SetCreditManagerApprovedStatusEventFilter;
|
|
100
|
+
};
|
|
101
|
+
estimateGas: {};
|
|
102
|
+
populateTransaction: {};
|
|
103
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { BaseContract, BigNumber, BytesLike, CallOverrides, 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 IZapperRegisterInterface extends utils.Interface {
|
|
6
|
+
functions: {
|
|
7
|
+
"zappers(address)": FunctionFragment;
|
|
8
|
+
};
|
|
9
|
+
getFunction(nameOrSignatureOrTopic: "zappers"): FunctionFragment;
|
|
10
|
+
encodeFunctionData(functionFragment: "zappers", values: [PromiseOrValue<string>]): string;
|
|
11
|
+
decodeFunctionResult(functionFragment: "zappers", data: BytesLike): Result;
|
|
12
|
+
events: {
|
|
13
|
+
"AddZapper(address)": EventFragment;
|
|
14
|
+
"RemoveZapper(address)": EventFragment;
|
|
15
|
+
};
|
|
16
|
+
getEvent(nameOrSignatureOrTopic: "AddZapper"): EventFragment;
|
|
17
|
+
getEvent(nameOrSignatureOrTopic: "RemoveZapper"): EventFragment;
|
|
18
|
+
}
|
|
19
|
+
export interface AddZapperEventObject {
|
|
20
|
+
arg0: string;
|
|
21
|
+
}
|
|
22
|
+
export type AddZapperEvent = TypedEvent<[string], AddZapperEventObject>;
|
|
23
|
+
export type AddZapperEventFilter = TypedEventFilter<AddZapperEvent>;
|
|
24
|
+
export interface RemoveZapperEventObject {
|
|
25
|
+
arg0: string;
|
|
26
|
+
}
|
|
27
|
+
export type RemoveZapperEvent = TypedEvent<[string], RemoveZapperEventObject>;
|
|
28
|
+
export type RemoveZapperEventFilter = TypedEventFilter<RemoveZapperEvent>;
|
|
29
|
+
export interface IZapperRegister extends BaseContract {
|
|
30
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
31
|
+
attach(addressOrName: string): this;
|
|
32
|
+
deployed(): Promise<this>;
|
|
33
|
+
interface: IZapperRegisterInterface;
|
|
34
|
+
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
|
|
35
|
+
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
|
|
36
|
+
listeners(eventName?: string): Array<Listener>;
|
|
37
|
+
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
|
|
38
|
+
removeAllListeners(eventName?: string): this;
|
|
39
|
+
off: OnEvent<this>;
|
|
40
|
+
on: OnEvent<this>;
|
|
41
|
+
once: OnEvent<this>;
|
|
42
|
+
removeListener: OnEvent<this>;
|
|
43
|
+
functions: {
|
|
44
|
+
zappers(pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]]>;
|
|
45
|
+
};
|
|
46
|
+
zappers(pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
|
|
47
|
+
callStatic: {
|
|
48
|
+
zappers(pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
|
|
49
|
+
};
|
|
50
|
+
filters: {
|
|
51
|
+
"AddZapper(address)"(arg0?: null): AddZapperEventFilter;
|
|
52
|
+
AddZapper(arg0?: null): AddZapperEventFilter;
|
|
53
|
+
"RemoveZapper(address)"(arg0?: null): RemoveZapperEventFilter;
|
|
54
|
+
RemoveZapper(arg0?: null): RemoveZapperEventFilter;
|
|
55
|
+
};
|
|
56
|
+
estimateGas: {
|
|
57
|
+
zappers(pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
58
|
+
};
|
|
59
|
+
populateTransaction: {
|
|
60
|
+
zappers(pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Signer } from "ethers";
|
|
2
|
+
import type { Provider } from "@ethersproject/providers";
|
|
3
|
+
import type { IBotListV3Events, IBotListV3EventsInterface } from "../../IBotListV3.sol/IBotListV3Events";
|
|
4
|
+
export declare class IBotListV3Events__factory {
|
|
5
|
+
static readonly abi: readonly [{
|
|
6
|
+
readonly anonymous: false;
|
|
7
|
+
readonly inputs: readonly [{
|
|
8
|
+
readonly indexed: true;
|
|
9
|
+
readonly internalType: "address";
|
|
10
|
+
readonly name: "bot";
|
|
11
|
+
readonly type: "address";
|
|
12
|
+
}, {
|
|
13
|
+
readonly indexed: true;
|
|
14
|
+
readonly internalType: "address";
|
|
15
|
+
readonly name: "creditManager";
|
|
16
|
+
readonly type: "address";
|
|
17
|
+
}, {
|
|
18
|
+
readonly indexed: true;
|
|
19
|
+
readonly internalType: "address";
|
|
20
|
+
readonly name: "creditAccount";
|
|
21
|
+
readonly type: "address";
|
|
22
|
+
}];
|
|
23
|
+
readonly name: "EraseBot";
|
|
24
|
+
readonly type: "event";
|
|
25
|
+
}, {
|
|
26
|
+
readonly anonymous: false;
|
|
27
|
+
readonly inputs: readonly [{
|
|
28
|
+
readonly indexed: true;
|
|
29
|
+
readonly internalType: "address";
|
|
30
|
+
readonly name: "bot";
|
|
31
|
+
readonly type: "address";
|
|
32
|
+
}, {
|
|
33
|
+
readonly indexed: false;
|
|
34
|
+
readonly internalType: "bool";
|
|
35
|
+
readonly name: "forbidden";
|
|
36
|
+
readonly type: "bool";
|
|
37
|
+
}];
|
|
38
|
+
readonly name: "SetBotForbiddenStatus";
|
|
39
|
+
readonly type: "event";
|
|
40
|
+
}, {
|
|
41
|
+
readonly anonymous: false;
|
|
42
|
+
readonly inputs: readonly [{
|
|
43
|
+
readonly indexed: true;
|
|
44
|
+
readonly internalType: "address";
|
|
45
|
+
readonly name: "bot";
|
|
46
|
+
readonly type: "address";
|
|
47
|
+
}, {
|
|
48
|
+
readonly indexed: true;
|
|
49
|
+
readonly internalType: "address";
|
|
50
|
+
readonly name: "creditManager";
|
|
51
|
+
readonly type: "address";
|
|
52
|
+
}, {
|
|
53
|
+
readonly indexed: true;
|
|
54
|
+
readonly internalType: "address";
|
|
55
|
+
readonly name: "creditAccount";
|
|
56
|
+
readonly type: "address";
|
|
57
|
+
}, {
|
|
58
|
+
readonly indexed: false;
|
|
59
|
+
readonly internalType: "uint192";
|
|
60
|
+
readonly name: "permissions";
|
|
61
|
+
readonly type: "uint192";
|
|
62
|
+
}];
|
|
63
|
+
readonly name: "SetBotPermissions";
|
|
64
|
+
readonly type: "event";
|
|
65
|
+
}, {
|
|
66
|
+
readonly anonymous: false;
|
|
67
|
+
readonly inputs: readonly [{
|
|
68
|
+
readonly indexed: true;
|
|
69
|
+
readonly internalType: "address";
|
|
70
|
+
readonly name: "bot";
|
|
71
|
+
readonly type: "address";
|
|
72
|
+
}, {
|
|
73
|
+
readonly indexed: true;
|
|
74
|
+
readonly internalType: "address";
|
|
75
|
+
readonly name: "creditManager";
|
|
76
|
+
readonly type: "address";
|
|
77
|
+
}, {
|
|
78
|
+
readonly indexed: false;
|
|
79
|
+
readonly internalType: "uint192";
|
|
80
|
+
readonly name: "permissions";
|
|
81
|
+
readonly type: "uint192";
|
|
82
|
+
}];
|
|
83
|
+
readonly name: "SetBotSpecialPermissions";
|
|
84
|
+
readonly type: "event";
|
|
85
|
+
}, {
|
|
86
|
+
readonly anonymous: false;
|
|
87
|
+
readonly inputs: readonly [{
|
|
88
|
+
readonly indexed: true;
|
|
89
|
+
readonly internalType: "address";
|
|
90
|
+
readonly name: "creditManager";
|
|
91
|
+
readonly type: "address";
|
|
92
|
+
}, {
|
|
93
|
+
readonly indexed: false;
|
|
94
|
+
readonly internalType: "bool";
|
|
95
|
+
readonly name: "approved";
|
|
96
|
+
readonly type: "bool";
|
|
97
|
+
}];
|
|
98
|
+
readonly name: "SetCreditManagerApprovedStatus";
|
|
99
|
+
readonly type: "event";
|
|
100
|
+
}];
|
|
101
|
+
static createInterface(): IBotListV3EventsInterface;
|
|
102
|
+
static connect(address: string, signerOrProvider: Signer | Provider): IBotListV3Events;
|
|
103
|
+
}
|