@venusprotocol/venus-protocol 7.1.0-dev.1 → 7.1.0-dev.2

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 (77) hide show
  1. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
  2. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
  3. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +1 -1
  4. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +1 -1
  5. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +1 -1
  6. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +1 -1
  7. package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +1 -1
  8. package/artifacts/@venusprotocol/solidity-utilities/contracts/TimeManagerV8.sol/TimeManagerV8.dbg.json +1 -1
  9. package/artifacts/build-info/{5158b939f09b056403dc17322b3b5c7a.json → 23955c54eec3e914a4d10c9d990fdb4c.json} +1 -1
  10. package/artifacts/contracts/Admin/VBNBAdmin.sol/VBNBAdmin.dbg.json +1 -1
  11. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/IProtocolShareReserve.dbg.json +1 -1
  12. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/IWBNB.dbg.json +1 -1
  13. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VBNBAdminStorage.dbg.json +1 -1
  14. package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VTokenInterface.dbg.json +1 -1
  15. package/artifacts/contracts/DelegateBorrowers/MoveDebtDelegate.sol/MoveDebtDelegate.dbg.json +1 -1
  16. package/artifacts/contracts/DelegateBorrowers/MoveDebtDelegate.sol/MoveDebtDelegate.json +115 -22
  17. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.dbg.json +1 -1
  18. package/artifacts/contracts/Governance/TokenRedeemer.sol/TokenRedeemer.dbg.json +1 -1
  19. package/artifacts/contracts/InterfacesV8.sol/IComptroller.dbg.json +1 -1
  20. package/artifacts/contracts/InterfacesV8.sol/ILiquidator.dbg.json +1 -1
  21. package/artifacts/contracts/InterfacesV8.sol/IVAIController.dbg.json +1 -1
  22. package/artifacts/contracts/InterfacesV8.sol/IVBNB.dbg.json +1 -1
  23. package/artifacts/contracts/InterfacesV8.sol/IVBep20.dbg.json +1 -1
  24. package/artifacts/contracts/InterfacesV8.sol/IVToken.dbg.json +1 -1
  25. package/artifacts/contracts/Liquidator/BUSDLiquidator.sol/BUSDLiquidator.dbg.json +1 -1
  26. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.dbg.json +1 -1
  27. package/artifacts/contracts/PegStability/IVAI.sol/IVAI.dbg.json +1 -1
  28. package/artifacts/contracts/PegStability/PegStability.sol/PegStability.dbg.json +1 -1
  29. package/artifacts/contracts/Swap/IRouterHelper.sol/IRouterHelper.dbg.json +1 -1
  30. package/artifacts/contracts/Swap/RouterHelper.sol/RouterHelper.dbg.json +1 -1
  31. package/artifacts/contracts/Swap/SwapRouter.sol/SwapRouter.dbg.json +1 -1
  32. package/artifacts/contracts/Swap/interfaces/IPancakePair.sol/IPancakePair.dbg.json +1 -1
  33. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Factory.sol/IPancakeSwapV2Factory.dbg.json +1 -1
  34. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Router.sol/IPancakeSwapV2Router.dbg.json +1 -1
  35. package/artifacts/contracts/Swap/interfaces/IVBNB.sol/IVBNB.dbg.json +1 -1
  36. package/artifacts/contracts/Swap/interfaces/IVtoken.sol/IVToken.dbg.json +1 -1
  37. package/artifacts/contracts/Swap/interfaces/IWBNB.sol/IWBNB.dbg.json +1 -1
  38. package/artifacts/contracts/Swap/interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
  39. package/artifacts/contracts/Swap/lib/PancakeLibrary.sol/PancakeLibrary.dbg.json +1 -1
  40. package/artifacts/contracts/Swap/lib/TransferHelper.sol/TransferHelper.dbg.json +1 -1
  41. package/artifacts/contracts/Tokens/Prime/Interfaces/IPoolRegistry.sol/PoolRegistryInterface.dbg.json +1 -1
  42. package/artifacts/contracts/Tokens/Prime/Interfaces/IPrime.sol/IPrime.dbg.json +1 -1
  43. package/artifacts/contracts/Tokens/Prime/Interfaces/IPrimeLiquidityProvider.sol/IPrimeLiquidityProvider.dbg.json +1 -1
  44. package/artifacts/contracts/Tokens/Prime/Interfaces/IVToken.sol/IVToken.dbg.json +1 -1
  45. package/artifacts/contracts/Tokens/Prime/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +1 -1
  46. package/artifacts/contracts/Tokens/Prime/Interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
  47. package/artifacts/contracts/Tokens/Prime/Prime.sol/Prime.dbg.json +1 -1
  48. package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProvider.sol/PrimeLiquidityProvider.dbg.json +1 -1
  49. package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProviderStorage.sol/PrimeLiquidityProviderStorageV1.dbg.json +1 -1
  50. package/artifacts/contracts/Tokens/Prime/PrimeStorage.sol/PrimeStorageV1.dbg.json +1 -1
  51. package/artifacts/contracts/Tokens/Prime/libs/FixedMath.sol/FixedMath.dbg.json +1 -1
  52. package/artifacts/contracts/Tokens/Prime/libs/FixedMath0x.sol/FixedMath0x.dbg.json +1 -1
  53. package/artifacts/contracts/Tokens/Prime/libs/Scores.sol/Scores.dbg.json +1 -1
  54. package/artifacts/contracts/test/AccessControlManagerMock.sol/AccessControlManagerMock.dbg.json +1 -1
  55. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.dbg.json +1 -1
  56. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IComptroller.dbg.json +1 -1
  57. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IIncomeDestination.dbg.json +1 -1
  58. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IMockProtocolShareReserve.dbg.json +1 -1
  59. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPoolRegistry.dbg.json +1 -1
  60. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPrime.dbg.json +1 -1
  61. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IVToken.dbg.json +1 -1
  62. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MaxLoopsLimitHelper.dbg.json +1 -1
  63. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MockProtocolShareReserve.dbg.json +1 -1
  64. package/artifacts/contracts/test/PrimeScenario.sol/PrimeScenario.dbg.json +1 -1
  65. package/contracts/DelegateBorrowers/MoveDebtDelegate.sol +60 -17
  66. package/deployments/bscmainnet/MoveDebtDelegate.json +592 -0
  67. package/deployments/bscmainnet/MoveDebtDelegate_Implementation.json +766 -0
  68. package/deployments/bscmainnet/MoveDebtDelegate_Proxy.json +253 -0
  69. package/deployments/bscmainnet/solcInputs/03a6c42b57bcdc7c1b76c0f541accfdb.json +69 -0
  70. package/deployments/bscmainnet/solcInputs/1dff3b4c1e459128170e9af3e75c7e17.json +72 -0
  71. package/deployments/bscmainnet.json +1080 -0
  72. package/deployments/bscmainnet_addresses.json +3 -0
  73. package/dist/deployments/bscmainnet.json +1080 -0
  74. package/dist/typechain/contracts/DelegateBorrowers/MoveDebtDelegate.d.ts +64 -20
  75. package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.d.ts +92 -20
  76. package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.js +118 -25
  77. package/package.json +1 -1
@@ -4,24 +4,28 @@ import type { Listener, Provider } from "@ethersproject/providers";
4
4
  import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
5
5
  export interface MoveDebtDelegateInterface extends utils.Interface {
6
6
  functions: {
7
+ "ANY_USER()": FunctionFragment;
7
8
  "acceptOwnership()": FunctionFragment;
8
9
  "borrowAllowed(address)": FunctionFragment;
9
10
  "initialize()": FunctionFragment;
10
- "moveDebt(address,uint256,address)": FunctionFragment;
11
+ "moveDebt(address,address,uint256,address)": FunctionFragment;
11
12
  "newBorrower()": FunctionFragment;
12
13
  "owner()": FunctionFragment;
13
14
  "pendingOwner()": FunctionFragment;
14
15
  "renounceOwnership()": FunctionFragment;
16
+ "repaymentAllowed(address,address)": FunctionFragment;
15
17
  "setBorrowAllowed(address,bool)": FunctionFragment;
18
+ "setRepaymentAllowed(address,address,bool)": FunctionFragment;
16
19
  "sweepTokens(address)": FunctionFragment;
17
20
  "transferOwnership(address)": FunctionFragment;
18
- "vTokenToRepay()": FunctionFragment;
19
21
  };
20
- getFunction(nameOrSignatureOrTopic: "acceptOwnership" | "borrowAllowed" | "initialize" | "moveDebt" | "newBorrower" | "owner" | "pendingOwner" | "renounceOwnership" | "setBorrowAllowed" | "sweepTokens" | "transferOwnership" | "vTokenToRepay"): FunctionFragment;
22
+ getFunction(nameOrSignatureOrTopic: "ANY_USER" | "acceptOwnership" | "borrowAllowed" | "initialize" | "moveDebt" | "newBorrower" | "owner" | "pendingOwner" | "renounceOwnership" | "repaymentAllowed" | "setBorrowAllowed" | "setRepaymentAllowed" | "sweepTokens" | "transferOwnership"): FunctionFragment;
23
+ encodeFunctionData(functionFragment: "ANY_USER", values?: undefined): string;
21
24
  encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
22
25
  encodeFunctionData(functionFragment: "borrowAllowed", values: [PromiseOrValue<string>]): string;
23
26
  encodeFunctionData(functionFragment: "initialize", values?: undefined): string;
24
27
  encodeFunctionData(functionFragment: "moveDebt", values: [
28
+ PromiseOrValue<string>,
25
29
  PromiseOrValue<string>,
26
30
  PromiseOrValue<BigNumberish>,
27
31
  PromiseOrValue<string>
@@ -30,10 +34,16 @@ export interface MoveDebtDelegateInterface extends utils.Interface {
30
34
  encodeFunctionData(functionFragment: "owner", values?: undefined): string;
31
35
  encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
32
36
  encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
37
+ encodeFunctionData(functionFragment: "repaymentAllowed", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
33
38
  encodeFunctionData(functionFragment: "setBorrowAllowed", values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
39
+ encodeFunctionData(functionFragment: "setRepaymentAllowed", values: [
40
+ PromiseOrValue<string>,
41
+ PromiseOrValue<string>,
42
+ PromiseOrValue<boolean>
43
+ ]): string;
34
44
  encodeFunctionData(functionFragment: "sweepTokens", values: [PromiseOrValue<string>]): string;
35
45
  encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
36
- encodeFunctionData(functionFragment: "vTokenToRepay", values?: undefined): string;
46
+ decodeFunctionResult(functionFragment: "ANY_USER", data: BytesLike): Result;
37
47
  decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result;
38
48
  decodeFunctionResult(functionFragment: "borrowAllowed", data: BytesLike): Result;
39
49
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
@@ -42,16 +52,18 @@ export interface MoveDebtDelegateInterface extends utils.Interface {
42
52
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
43
53
  decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
44
54
  decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
55
+ decodeFunctionResult(functionFragment: "repaymentAllowed", data: BytesLike): Result;
45
56
  decodeFunctionResult(functionFragment: "setBorrowAllowed", data: BytesLike): Result;
57
+ decodeFunctionResult(functionFragment: "setRepaymentAllowed", data: BytesLike): Result;
46
58
  decodeFunctionResult(functionFragment: "sweepTokens", data: BytesLike): Result;
47
59
  decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
48
- decodeFunctionResult(functionFragment: "vTokenToRepay", data: BytesLike): Result;
49
60
  events: {
50
61
  "BorrowAllowedSet(address,bool)": EventFragment;
51
62
  "DebtMoved(address,address,uint256,address,address,uint256)": EventFragment;
52
63
  "Initialized(uint8)": EventFragment;
53
64
  "OwnershipTransferStarted(address,address)": EventFragment;
54
65
  "OwnershipTransferred(address,address)": EventFragment;
66
+ "RepaymentAllowedSet(address,address,bool)": EventFragment;
55
67
  "SweptTokens(address,uint256)": EventFragment;
56
68
  };
57
69
  getEvent(nameOrSignatureOrTopic: "BorrowAllowedSet"): EventFragment;
@@ -59,10 +71,11 @@ export interface MoveDebtDelegateInterface extends utils.Interface {
59
71
  getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
60
72
  getEvent(nameOrSignatureOrTopic: "OwnershipTransferStarted"): EventFragment;
61
73
  getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
74
+ getEvent(nameOrSignatureOrTopic: "RepaymentAllowedSet"): EventFragment;
62
75
  getEvent(nameOrSignatureOrTopic: "SweptTokens"): EventFragment;
63
76
  }
64
77
  export interface BorrowAllowedSetEventObject {
65
- vToken: string;
78
+ vTokenToBorrow: string;
66
79
  allowed: boolean;
67
80
  }
68
81
  export type BorrowAllowedSetEvent = TypedEvent<[
@@ -110,6 +123,17 @@ export type OwnershipTransferredEvent = TypedEvent<[
110
123
  string
111
124
  ], OwnershipTransferredEventObject>;
112
125
  export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
126
+ export interface RepaymentAllowedSetEventObject {
127
+ vTokenToRepay: string;
128
+ originalBorrower: string;
129
+ allowed: boolean;
130
+ }
131
+ export type RepaymentAllowedSetEvent = TypedEvent<[
132
+ string,
133
+ string,
134
+ boolean
135
+ ], RepaymentAllowedSetEventObject>;
136
+ export type RepaymentAllowedSetEventFilter = TypedEventFilter<RepaymentAllowedSetEvent>;
113
137
  export interface SweptTokensEventObject {
114
138
  token: string;
115
139
  amount: BigNumber;
@@ -134,6 +158,7 @@ export interface MoveDebtDelegate extends BaseContract {
134
158
  once: OnEvent<this>;
135
159
  removeListener: OnEvent<this>;
136
160
  functions: {
161
+ ANY_USER(overrides?: CallOverrides): Promise<[string]>;
137
162
  acceptOwnership(overrides?: Overrides & {
138
163
  from?: PromiseOrValue<string>;
139
164
  }): Promise<ContractTransaction>;
@@ -141,7 +166,7 @@ export interface MoveDebtDelegate extends BaseContract {
141
166
  initialize(overrides?: Overrides & {
142
167
  from?: PromiseOrValue<string>;
143
168
  }): Promise<ContractTransaction>;
144
- moveDebt(originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
169
+ moveDebt(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
145
170
  from?: PromiseOrValue<string>;
146
171
  }): Promise<ContractTransaction>;
147
172
  newBorrower(overrides?: CallOverrides): Promise<[string]>;
@@ -150,17 +175,21 @@ export interface MoveDebtDelegate extends BaseContract {
150
175
  renounceOwnership(overrides?: Overrides & {
151
176
  from?: PromiseOrValue<string>;
152
177
  }): Promise<ContractTransaction>;
178
+ repaymentAllowed(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
153
179
  setBorrowAllowed(vTokenToBorrow: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
154
180
  from?: PromiseOrValue<string>;
155
181
  }): Promise<ContractTransaction>;
182
+ setRepaymentAllowed(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
183
+ from?: PromiseOrValue<string>;
184
+ }): Promise<ContractTransaction>;
156
185
  sweepTokens(token: PromiseOrValue<string>, overrides?: Overrides & {
157
186
  from?: PromiseOrValue<string>;
158
187
  }): Promise<ContractTransaction>;
159
188
  transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
160
189
  from?: PromiseOrValue<string>;
161
190
  }): Promise<ContractTransaction>;
162
- vTokenToRepay(overrides?: CallOverrides): Promise<[string]>;
163
191
  };
192
+ ANY_USER(overrides?: CallOverrides): Promise<string>;
164
193
  acceptOwnership(overrides?: Overrides & {
165
194
  from?: PromiseOrValue<string>;
166
195
  }): Promise<ContractTransaction>;
@@ -168,7 +197,7 @@ export interface MoveDebtDelegate extends BaseContract {
168
197
  initialize(overrides?: Overrides & {
169
198
  from?: PromiseOrValue<string>;
170
199
  }): Promise<ContractTransaction>;
171
- moveDebt(originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
200
+ moveDebt(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
172
201
  from?: PromiseOrValue<string>;
173
202
  }): Promise<ContractTransaction>;
174
203
  newBorrower(overrides?: CallOverrides): Promise<string>;
@@ -177,45 +206,53 @@ export interface MoveDebtDelegate extends BaseContract {
177
206
  renounceOwnership(overrides?: Overrides & {
178
207
  from?: PromiseOrValue<string>;
179
208
  }): Promise<ContractTransaction>;
209
+ repaymentAllowed(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
180
210
  setBorrowAllowed(vTokenToBorrow: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
181
211
  from?: PromiseOrValue<string>;
182
212
  }): Promise<ContractTransaction>;
213
+ setRepaymentAllowed(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
214
+ from?: PromiseOrValue<string>;
215
+ }): Promise<ContractTransaction>;
183
216
  sweepTokens(token: PromiseOrValue<string>, overrides?: Overrides & {
184
217
  from?: PromiseOrValue<string>;
185
218
  }): Promise<ContractTransaction>;
186
219
  transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
187
220
  from?: PromiseOrValue<string>;
188
221
  }): Promise<ContractTransaction>;
189
- vTokenToRepay(overrides?: CallOverrides): Promise<string>;
190
222
  callStatic: {
223
+ ANY_USER(overrides?: CallOverrides): Promise<string>;
191
224
  acceptOwnership(overrides?: CallOverrides): Promise<void>;
192
225
  borrowAllowed(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
193
226
  initialize(overrides?: CallOverrides): Promise<void>;
194
- moveDebt(originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
227
+ moveDebt(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
195
228
  newBorrower(overrides?: CallOverrides): Promise<string>;
196
229
  owner(overrides?: CallOverrides): Promise<string>;
197
230
  pendingOwner(overrides?: CallOverrides): Promise<string>;
198
231
  renounceOwnership(overrides?: CallOverrides): Promise<void>;
232
+ repaymentAllowed(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
199
233
  setBorrowAllowed(vTokenToBorrow: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
234
+ setRepaymentAllowed(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
200
235
  sweepTokens(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
201
236
  transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
202
- vTokenToRepay(overrides?: CallOverrides): Promise<string>;
203
237
  };
204
238
  filters: {
205
- "BorrowAllowedSet(address,bool)"(vToken?: PromiseOrValue<string> | null, allowed?: null): BorrowAllowedSetEventFilter;
206
- BorrowAllowedSet(vToken?: PromiseOrValue<string> | null, allowed?: null): BorrowAllowedSetEventFilter;
207
- "DebtMoved(address,address,uint256,address,address,uint256)"(originalBorrower?: PromiseOrValue<string> | null, vTokenRepaid?: null, repaidAmount?: null, newBorrower?: PromiseOrValue<string> | null, vTokenBorrowed?: PromiseOrValue<string> | null, borrowedAmount?: null): DebtMovedEventFilter;
208
- DebtMoved(originalBorrower?: PromiseOrValue<string> | null, vTokenRepaid?: null, repaidAmount?: null, newBorrower?: PromiseOrValue<string> | null, vTokenBorrowed?: PromiseOrValue<string> | null, borrowedAmount?: null): DebtMovedEventFilter;
239
+ "BorrowAllowedSet(address,bool)"(vTokenToBorrow?: PromiseOrValue<string> | null, allowed?: null): BorrowAllowedSetEventFilter;
240
+ BorrowAllowedSet(vTokenToBorrow?: PromiseOrValue<string> | null, allowed?: null): BorrowAllowedSetEventFilter;
241
+ "DebtMoved(address,address,uint256,address,address,uint256)"(originalBorrower?: PromiseOrValue<string> | null, vTokenRepaid?: PromiseOrValue<string> | null, repaidAmount?: null, newBorrower?: null, vTokenBorrowed?: PromiseOrValue<string> | null, borrowedAmount?: null): DebtMovedEventFilter;
242
+ DebtMoved(originalBorrower?: PromiseOrValue<string> | null, vTokenRepaid?: PromiseOrValue<string> | null, repaidAmount?: null, newBorrower?: null, vTokenBorrowed?: PromiseOrValue<string> | null, borrowedAmount?: null): DebtMovedEventFilter;
209
243
  "Initialized(uint8)"(version?: null): InitializedEventFilter;
210
244
  Initialized(version?: null): InitializedEventFilter;
211
245
  "OwnershipTransferStarted(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferStartedEventFilter;
212
246
  OwnershipTransferStarted(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferStartedEventFilter;
213
247
  "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
214
248
  OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
249
+ "RepaymentAllowedSet(address,address,bool)"(vTokenToRepay?: PromiseOrValue<string> | null, originalBorrower?: PromiseOrValue<string> | null, allowed?: null): RepaymentAllowedSetEventFilter;
250
+ RepaymentAllowedSet(vTokenToRepay?: PromiseOrValue<string> | null, originalBorrower?: PromiseOrValue<string> | null, allowed?: null): RepaymentAllowedSetEventFilter;
215
251
  "SweptTokens(address,uint256)"(token?: PromiseOrValue<string> | null, amount?: null): SweptTokensEventFilter;
216
252
  SweptTokens(token?: PromiseOrValue<string> | null, amount?: null): SweptTokensEventFilter;
217
253
  };
218
254
  estimateGas: {
255
+ ANY_USER(overrides?: CallOverrides): Promise<BigNumber>;
219
256
  acceptOwnership(overrides?: Overrides & {
220
257
  from?: PromiseOrValue<string>;
221
258
  }): Promise<BigNumber>;
@@ -223,7 +260,7 @@ export interface MoveDebtDelegate extends BaseContract {
223
260
  initialize(overrides?: Overrides & {
224
261
  from?: PromiseOrValue<string>;
225
262
  }): Promise<BigNumber>;
226
- moveDebt(originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
263
+ moveDebt(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
227
264
  from?: PromiseOrValue<string>;
228
265
  }): Promise<BigNumber>;
229
266
  newBorrower(overrides?: CallOverrides): Promise<BigNumber>;
@@ -232,18 +269,22 @@ export interface MoveDebtDelegate extends BaseContract {
232
269
  renounceOwnership(overrides?: Overrides & {
233
270
  from?: PromiseOrValue<string>;
234
271
  }): Promise<BigNumber>;
272
+ repaymentAllowed(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
235
273
  setBorrowAllowed(vTokenToBorrow: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
236
274
  from?: PromiseOrValue<string>;
237
275
  }): Promise<BigNumber>;
276
+ setRepaymentAllowed(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
277
+ from?: PromiseOrValue<string>;
278
+ }): Promise<BigNumber>;
238
279
  sweepTokens(token: PromiseOrValue<string>, overrides?: Overrides & {
239
280
  from?: PromiseOrValue<string>;
240
281
  }): Promise<BigNumber>;
241
282
  transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
242
283
  from?: PromiseOrValue<string>;
243
284
  }): Promise<BigNumber>;
244
- vTokenToRepay(overrides?: CallOverrides): Promise<BigNumber>;
245
285
  };
246
286
  populateTransaction: {
287
+ ANY_USER(overrides?: CallOverrides): Promise<PopulatedTransaction>;
247
288
  acceptOwnership(overrides?: Overrides & {
248
289
  from?: PromiseOrValue<string>;
249
290
  }): Promise<PopulatedTransaction>;
@@ -251,7 +292,7 @@ export interface MoveDebtDelegate extends BaseContract {
251
292
  initialize(overrides?: Overrides & {
252
293
  from?: PromiseOrValue<string>;
253
294
  }): Promise<PopulatedTransaction>;
254
- moveDebt(originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
295
+ moveDebt(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenToBorrow: PromiseOrValue<string>, overrides?: Overrides & {
255
296
  from?: PromiseOrValue<string>;
256
297
  }): Promise<PopulatedTransaction>;
257
298
  newBorrower(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -260,15 +301,18 @@ export interface MoveDebtDelegate extends BaseContract {
260
301
  renounceOwnership(overrides?: Overrides & {
261
302
  from?: PromiseOrValue<string>;
262
303
  }): Promise<PopulatedTransaction>;
304
+ repaymentAllowed(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
263
305
  setBorrowAllowed(vTokenToBorrow: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
264
306
  from?: PromiseOrValue<string>;
265
307
  }): Promise<PopulatedTransaction>;
308
+ setRepaymentAllowed(vTokenToRepay: PromiseOrValue<string>, originalBorrower: PromiseOrValue<string>, allow: PromiseOrValue<boolean>, overrides?: Overrides & {
309
+ from?: PromiseOrValue<string>;
310
+ }): Promise<PopulatedTransaction>;
266
311
  sweepTokens(token: PromiseOrValue<string>, overrides?: Overrides & {
267
312
  from?: PromiseOrValue<string>;
268
313
  }): Promise<PopulatedTransaction>;
269
314
  transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
270
315
  from?: PromiseOrValue<string>;
271
316
  }): Promise<PopulatedTransaction>;
272
- vTokenToRepay(overrides?: CallOverrides): Promise<PopulatedTransaction>;
273
317
  };
274
318
  }
@@ -5,21 +5,17 @@ import { Signer, ContractFactory, Overrides } from "ethers";
5
5
  type MoveDebtDelegateConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
6
  export declare class MoveDebtDelegate__factory extends ContractFactory {
7
7
  constructor(...args: MoveDebtDelegateConstructorParams);
8
- deploy(vTokenToRepay_: PromiseOrValue<string>, newBorrower_: PromiseOrValue<string>, overrides?: Overrides & {
8
+ deploy(newBorrower_: PromiseOrValue<string>, overrides?: Overrides & {
9
9
  from?: PromiseOrValue<string>;
10
10
  }): Promise<MoveDebtDelegate>;
11
- getDeployTransaction(vTokenToRepay_: PromiseOrValue<string>, newBorrower_: PromiseOrValue<string>, overrides?: Overrides & {
11
+ getDeployTransaction(newBorrower_: PromiseOrValue<string>, overrides?: Overrides & {
12
12
  from?: PromiseOrValue<string>;
13
13
  }): TransactionRequest;
14
14
  attach(address: string): MoveDebtDelegate;
15
15
  connect(signer: Signer): MoveDebtDelegate__factory;
16
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b506040516200191538038062001915833981016040819052620000349162000133565b6001600160a01b03808316608052811660a0526200005162000059565b505062000172565b600054610100900460ff1615620000c65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000118576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013057600080fd5b50565b600080604083850312156200014757600080fd5b825162000154816200011a565b602084015190925062000167816200011a565b809150509250929050565b60805160a051611738620001dd60003960008181610117015281816104f00152610ee101526000818160d30152818161047a015281816104ba015281816107ca0152818161096d015281816109e201528181610a3001528181610ac90152610b1101526117386000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638129fc1c116100715780638129fc1c1461017c5780638da5cb5b14610184578063e30c397814610195578063ea895aef146101a6578063f2fde38b146101b9578063f5f6d3af146101cc57600080fd5b8063227661cb146100b957806328ab4a81146100ce578063416277141461011257806346b119a414610139578063715018a61461016c57806379ba509714610174575b600080fd5b6100cc6100c73660046114dc565b6101df565b005b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b61015c610147366004611515565b60c96020526000908152604090205460ff1681565b6040519015158152602001610109565b6100cc61026e565b6100cc610282565b6100cc610301565b6033546001600160a01b03166100f5565b6065546001600160a01b03166100f5565b6100cc6101b4366004611539565b610419565b6100cc6101c7366004611515565b610554565b6100cc6101da366004611515565b6105c5565b6101e761069b565b6001600160a01b038216600090815260c9602052604090205460ff1615158115151461026a576001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f6c91f18e23863dbfc4ad61ae0f28a4e746dcc4faefa2ec384020e9728c3754b291015b60405180910390a25b5050565b61027661069b565b61028060006106f5565b565b60655433906001600160a01b031681146102f55760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b6102fe816106f5565b50565b600054610100900460ff16158080156103215750600054600160ff909116105b8061033b5750303b15801561033b575060005460ff166001145b61039e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102ec565b6000805460ff1916600117905580156103c1576000805461ff0019166101001790555b6103c961070e565b6103d161073d565b80156102fe576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61042161076c565b6001600160a01b038116600090815260c9602052604090205460ff16610465576040516312ee446d60e21b81526001600160a01b03821660048201526024016102ec565b600061047184846107c5565b905060006104a07f00000000000000000000000000000000000000000000000000000000000000008484610b9a565b90506104ac8382610df8565b604080516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116825260208201859052918101839052848216917f0000000000000000000000000000000000000000000000000000000000000000811691908816907f833ea3dd2030d9e59d6339e1396b89485751296c537f1f863e5aa23d17f29d589060600160405180910390a4505061054f6001609755565b505050565b61055c61069b565b606580546001600160a01b0383166001600160a01b0319909116811790915561058d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6105cd61069b565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610614573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610638919061157b565b905061066061064f6033546001600160a01b031690565b6001600160a01b0384169083611026565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c558260405161026191815260200190565b6033546001600160a01b031633146102805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ec565b606580546001600160a01b03191690556102fe81611089565b600054610100900460ff166107355760405162461bcd60e51b81526004016102ec90611594565b6102806110db565b600054610100900460ff166107645760405162461bcd60e51b81526004016102ec90611594565b61028061110b565b6002609754036107be5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102ec565b6002609755565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610826573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084a91906115df565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b8919061157b565b90506108cf6001600160a01b038316333087611132565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a919061157b565b905060006109488383611612565b6040516305eff7ef60e21b81526001600160a01b0389811660048301529192506000917f000000000000000000000000000000000000000000000000000000000000000016906317bfdfbc906024016020604051808303816000875af11580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da919061157b565b9050610a07857f000000000000000000000000000000000000000000000000000000000000000084611170565b6040516304c11f0360e31b81526001600160a01b038981166004830152602482018490526000917f000000000000000000000000000000000000000000000000000000000000000090911690632608f818906044016020604051808303816000875af1158015610a7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9f919061157b565b90508015610ac35760405163259aff3560e01b8152600481018290526024016102ec565b610aef867f00000000000000000000000000000000000000000000000000000000000000006000611170565b6040516305eff7ef60e21b81526001600160a01b038a811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906317bfdfbc906024016020604051808303816000875af1158015610b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b80919061157b565b9050610b8c8184611612565b9a9950505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bff91906115df565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6391906115df565b6001600160a01b0316816001600160a01b031614610c9457604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906115df565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610d47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6b919061157b565b610d759190611629565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de3919061157b565b610ded9082611648565b979650505050505050565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5c91906115df565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eca919061157b565b60405163856e5bb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905291925060009186169063856e5bb3906044016020604051808303816000875af1158015610f3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f63919061157b565b90508015610f875760405163158f1c0f60e01b8152600481018290526024016102ec565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff2919061157b565b905060006110008483611612565b90506110166001600160a01b0386163383611026565b50505050505050565b6001609755565b6040516001600160a01b03831660248201526044810182905261054f90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611264565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166111025760405162461bcd60e51b81526004016102ec90611594565b610280336106f5565b600054610100900460ff1661101f5760405162461bcd60e51b81526004016102ec90611594565b6040516001600160a01b038085166024830152831660448201526064810182905261116a9085906323b872dd60e01b90608401611052565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151909160009182918716906111ce908590611696565b6000604051808303816000865af19150503d806000811461120b576040519150601f19603f3d011682016040523d82523d6000602084013e611210565b606091505b509150915081158061123e575080511580159061123e57508080602001905181019061123c91906116b2565b155b1561125c57604051633e3f8f7360e01b815260040160405180910390fd5b505050505050565b60006112b9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113399092919063ffffffff16565b90508051600014806112da5750808060200190518101906112da91906116b2565b61054f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102ec565b60606113488484600085611350565b949350505050565b6060824710156113b15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102ec565b600080866001600160a01b031685876040516113cd9190611696565b60006040518083038185875af1925050503d806000811461140a576040519150601f19603f3d011682016040523d82523d6000602084013e61140f565b606091505b5091509150610ded878383876060831561148a578251600003611483576001600160a01b0385163b6114835760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ec565b5081611348565b611348838381511561149f5781518083602001fd5b8060405162461bcd60e51b81526004016102ec91906116cf565b6001600160a01b03811681146102fe57600080fd5b80151581146102fe57600080fd5b600080604083850312156114ef57600080fd5b82356114fa816114b9565b9150602083013561150a816114ce565b809150509250929050565b60006020828403121561152757600080fd5b8135611532816114b9565b9392505050565b60008060006060848603121561154e57600080fd5b8335611559816114b9565b9250602084013591506040840135611570816114b9565b809150509250925092565b60006020828403121561158d57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156115f157600080fd5b8151611532816114b9565b634e487b7160e01b600052601160045260246000fd5b600082821015611624576116246115fc565b500390565b6000816000190483118215151615611643576116436115fc565b500290565b60008261166557634e487b7160e01b600052601260045260246000fd5b500490565b60005b8381101561168557818101518382015260200161166d565b8381111561116a5750506000910152565b600082516116a881846020870161166a565b9190910192915050565b6000602082840312156116c457600080fd5b8151611532816114ce565b60208152600082518060208401526116ee81604085016020870161166a565b601f01601f1916919091016040019291505056fea2646970667358221220cf17d201ce6ec68a503d67f50f979e53362b539b41a9521134edafcf695e593c64736f6c634300080d0033";
16
+ static readonly bytecode = "0x60a06040523480156200001157600080fd5b50604051620019f0380380620019f0833981016040819052620000349162000113565b6001600160a01b0381166080526200004b62000052565b5062000145565b600054610100900460ff1615620000bf5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000111576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012657600080fd5b81516001600160a01b03811681146200013e57600080fd5b9392505050565b6080516118816200016f6000396000818161011c015281816103420152610eae01526118816000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638129fc1c1161008c578063e30c397811610066578063e30c3978146101d2578063f1e3c547146101e3578063f2fde38b14610211578063f5f6d3af1461022457600080fd5b80638129fc1c146101a65780638da5cb5b146101ae578063929f0e4b146101bf57600080fd5b806346b119a4116100c857806346b119a41461015b578063715018a61461018e57806379ba5097146101965780637d0ed4da1461019e57600080fd5b806311cbba09146100ef578063227661cb146101045780634162771414610117575b600080fd5b6101026100fd36600461158d565b610237565b005b6101026101123660046115ee565b6103ba565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61017e610169366004611627565b60c96020526000908152604090205460ff1681565b6040519015158152602001610152565b610102610452565b610102610466565b61013e600181565b6101026104e0565b6033546001600160a01b031661013e565b6101026101cd36600461164b565b6105f8565b6065546001600160a01b031661013e565b61017e6101f1366004611696565b60ca60209081526000928352604080842090915290825290205460ff1681565b61010261021f366004611627565b6106b3565b610102610232366004611627565b610724565b61023f6107fa565b6001600160a01b038116600090815260c9602052604090205460ff16610288576040516312ee446d60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038416600090815260ca6020908152604080832060018452918290529091205460ff161580156102d857506001600160a01b03841660009081526020829052604090205460ff16155b156103095760405163cf3aeddd60e01b81526001600160a01b0380871660048301528516602482015260440161027f565b6000610316868686610853565b90506000610325878584610b67565b90506103318482610dc5565b604080518381526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660208301529181018390528582169189811691908916907f833ea3dd2030d9e59d6339e1396b89485751296c537f1f863e5aa23d17f29d589060600160405180910390a45050506103b46001609755565b50505050565b6103c2610ff3565b6103cb8261104d565b6001600160a01b038216600090815260c9602052604090205460ff1615158115151461044e576001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f6c91f18e23863dbfc4ad61ae0f28a4e746dcc4faefa2ec384020e9728c3754b291015b60405180910390a25b5050565b61045a610ff3565b6104646000611074565b565b60655433906001600160a01b031681146104d45760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161027f565b6104dd81611074565b50565b600054610100900460ff16158080156105005750600054600160ff909116105b8061051a5750303b15801561051a575060005460ff166001145b61057d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161027f565b6000805460ff1916600117905580156105a0576000805461ff0019166101001790555b6105a861108d565b6105b06110bc565b80156104dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b610600610ff3565b6106098361104d565b6106128261104d565b6001600160a01b03808416600090815260ca602090815260408083209386168352929052205460ff161515811515146106ae576001600160a01b03838116600081815260ca6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f011e47116ecd03b7ff3432b8c64a99ef03fedfcfc9c8e637e6d31b5a20d6b109910160405180910390a35b505050565b6106bb610ff3565b606580546001600160a01b0383166001600160a01b031990911681179091556106ec6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61072c610ff3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079791906116c4565b90506107bf6107ae6033546001600160a01b031690565b6001600160a01b03841690836110eb565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c558260405161044591815260200190565b60026097540361084c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027f565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116c4565b905061093d6001600160a01b03831633308761114e565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a891906116c4565b905060006109b68383611710565b6040516305eff7ef60e21b81526001600160a01b0389811660048301529192506000918a16906317bfdfbc906024016020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2891906116c4565b9050610a35858a84611186565b6040516304c11f0360e31b81526001600160a01b03898116600483015260248201849052600091908b1690632608f818906044016020604051808303816000875af1158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac91906116c4565b90508015610ad05760405163259aff3560e01b81526004810182905260240161027f565b610adc868b6000611186565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af1158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c91906116c4565b9050610b588184611710565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc91906116dd565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906116dd565b6001600160a01b0316816001600160a01b031614610c6157604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc591906116dd565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906116c4565b610d429190611727565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db091906116c4565b610dba9082611746565b979650505050505050565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2991906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906116c4565b60405163856e5bb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905291925060009186169063856e5bb3906044016020604051808303816000875af1158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3091906116c4565b90508015610f545760405163158f1c0f60e01b81526004810182905260240161027f565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf91906116c4565b90506000610fcd8483611710565b9050610fe36001600160a01b03861633836110eb565b50505050505050565b6001609755565b6033546001600160a01b031633146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027f565b6001600160a01b0381166104dd576040516342bcdf7f60e11b815260040160405180910390fd5b606580546001600160a01b03191690556104dd8161127a565b600054610100900460ff166110b45760405162461bcd60e51b815260040161027f90611768565b6104646112cc565b600054610100900460ff166110e35760405162461bcd60e51b815260040161027f90611768565b6104646112fc565b6040516001600160a01b0383166024820152604481018290526106ae90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611323565b6040516001600160a01b03808516602483015283166044820152606481018290526103b49085906323b872dd60e01b90608401611117565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151909160009182918716906111e49085906117df565b6000604051808303816000865af19150503d8060008114611221576040519150601f19603f3d011682016040523d82523d6000602084013e611226565b606091505b5091509150811580611254575080511580159061125457508080602001905181019061125291906117fb565b155b1561127257604051633e3f8f7360e01b815260040160405180910390fd5b505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112f35760405162461bcd60e51b815260040161027f90611768565b61046433611074565b600054610100900460ff16610fec5760405162461bcd60e51b815260040161027f90611768565b6000611378826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113f89092919063ffffffff16565b905080516000148061139957508080602001905181019061139991906117fb565b6106ae5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161027f565b6060611407848460008561140f565b949350505050565b6060824710156114705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161027f565b600080866001600160a01b0316858760405161148c91906117df565b60006040518083038185875af1925050503d80600081146114c9576040519150601f19603f3d011682016040523d82523d6000602084013e6114ce565b606091505b5091509150610dba8783838760608315611549578251600003611542576001600160a01b0385163b6115425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027f565b5081611407565b611407838381511561155e5781518083602001fd5b8060405162461bcd60e51b815260040161027f9190611818565b6001600160a01b03811681146104dd57600080fd5b600080600080608085870312156115a357600080fd5b84356115ae81611578565b935060208501356115be81611578565b92506040850135915060608501356115d581611578565b939692955090935050565b80151581146104dd57600080fd5b6000806040838503121561160157600080fd5b823561160c81611578565b9150602083013561161c816115e0565b809150509250929050565b60006020828403121561163957600080fd5b813561164481611578565b9392505050565b60008060006060848603121561166057600080fd5b833561166b81611578565b9250602084013561167b81611578565b9150604084013561168b816115e0565b809150509250925092565b600080604083850312156116a957600080fd5b82356116b481611578565b9150602083013561161c81611578565b6000602082840312156116d657600080fd5b5051919050565b6000602082840312156116ef57600080fd5b815161164481611578565b634e487b7160e01b600052601160045260246000fd5b600082821015611722576117226116fa565b500390565b6000816000190483118215151615611741576117416116fa565b500290565b60008261176357634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156117ce5781810151838201526020016117b6565b838111156103b45750506000910152565b600082516117f18184602087016117b3565b9190910192915050565b60006020828403121561180d57600080fd5b8151611644816115e0565b60208152600082518060208401526118378160408501602087016117b3565b601f01601f1916919091016040019291505056fea2646970667358221220a9bec5f8b8e1f4bd81119772ff9d08b9041150c6425bb9fab4a2201154732f9264736f6c634300080d0033";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [{
19
- readonly internalType: "contract IVBep20";
20
- readonly name: "vTokenToRepay_";
21
- readonly type: "address";
22
- }, {
23
19
  readonly internalType: "address";
24
20
  readonly name: "newBorrower_";
25
21
  readonly type: "address";
@@ -58,12 +54,28 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
58
54
  }];
59
55
  readonly name: "RepaymentFailed";
60
56
  readonly type: "error";
57
+ }, {
58
+ readonly inputs: readonly [{
59
+ readonly internalType: "address";
60
+ readonly name: "vToken";
61
+ readonly type: "address";
62
+ }, {
63
+ readonly internalType: "address";
64
+ readonly name: "borrower";
65
+ readonly type: "address";
66
+ }];
67
+ readonly name: "RepaymentNotAllowed";
68
+ readonly type: "error";
69
+ }, {
70
+ readonly inputs: readonly [];
71
+ readonly name: "ZeroAddressNotAllowed";
72
+ readonly type: "error";
61
73
  }, {
62
74
  readonly anonymous: false;
63
75
  readonly inputs: readonly [{
64
76
  readonly indexed: true;
65
77
  readonly internalType: "address";
66
- readonly name: "vToken";
78
+ readonly name: "vTokenToBorrow";
67
79
  readonly type: "address";
68
80
  }, {
69
81
  readonly indexed: false;
@@ -81,7 +93,7 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
81
93
  readonly name: "originalBorrower";
82
94
  readonly type: "address";
83
95
  }, {
84
- readonly indexed: false;
96
+ readonly indexed: true;
85
97
  readonly internalType: "address";
86
98
  readonly name: "vTokenRepaid";
87
99
  readonly type: "address";
@@ -91,7 +103,7 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
91
103
  readonly name: "repaidAmount";
92
104
  readonly type: "uint256";
93
105
  }, {
94
- readonly indexed: true;
106
+ readonly indexed: false;
95
107
  readonly internalType: "address";
96
108
  readonly name: "newBorrower";
97
109
  readonly type: "address";
@@ -148,6 +160,26 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
148
160
  }];
149
161
  readonly name: "OwnershipTransferred";
150
162
  readonly type: "event";
163
+ }, {
164
+ readonly anonymous: false;
165
+ readonly inputs: readonly [{
166
+ readonly indexed: true;
167
+ readonly internalType: "address";
168
+ readonly name: "vTokenToRepay";
169
+ readonly type: "address";
170
+ }, {
171
+ readonly indexed: true;
172
+ readonly internalType: "address";
173
+ readonly name: "originalBorrower";
174
+ readonly type: "address";
175
+ }, {
176
+ readonly indexed: false;
177
+ readonly internalType: "bool";
178
+ readonly name: "allowed";
179
+ readonly type: "bool";
180
+ }];
181
+ readonly name: "RepaymentAllowedSet";
182
+ readonly type: "event";
151
183
  }, {
152
184
  readonly anonymous: false;
153
185
  readonly inputs: readonly [{
@@ -163,6 +195,16 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
163
195
  }];
164
196
  readonly name: "SweptTokens";
165
197
  readonly type: "event";
198
+ }, {
199
+ readonly inputs: readonly [];
200
+ readonly name: "ANY_USER";
201
+ readonly outputs: readonly [{
202
+ readonly internalType: "address";
203
+ readonly name: "";
204
+ readonly type: "address";
205
+ }];
206
+ readonly stateMutability: "view";
207
+ readonly type: "function";
166
208
  }, {
167
209
  readonly inputs: readonly [];
168
210
  readonly name: "acceptOwnership";
@@ -191,6 +233,10 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
191
233
  readonly type: "function";
192
234
  }, {
193
235
  readonly inputs: readonly [{
236
+ readonly internalType: "contract IVBep20";
237
+ readonly name: "vTokenToRepay";
238
+ readonly type: "address";
239
+ }, {
194
240
  readonly internalType: "address";
195
241
  readonly name: "originalBorrower";
196
242
  readonly type: "address";
@@ -243,6 +289,24 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
243
289
  readonly outputs: readonly [];
244
290
  readonly stateMutability: "nonpayable";
245
291
  readonly type: "function";
292
+ }, {
293
+ readonly inputs: readonly [{
294
+ readonly internalType: "address";
295
+ readonly name: "";
296
+ readonly type: "address";
297
+ }, {
298
+ readonly internalType: "address";
299
+ readonly name: "";
300
+ readonly type: "address";
301
+ }];
302
+ readonly name: "repaymentAllowed";
303
+ readonly outputs: readonly [{
304
+ readonly internalType: "bool";
305
+ readonly name: "";
306
+ readonly type: "bool";
307
+ }];
308
+ readonly stateMutability: "view";
309
+ readonly type: "function";
246
310
  }, {
247
311
  readonly inputs: readonly [{
248
312
  readonly internalType: "address";
@@ -257,6 +321,24 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
257
321
  readonly outputs: readonly [];
258
322
  readonly stateMutability: "nonpayable";
259
323
  readonly type: "function";
324
+ }, {
325
+ readonly inputs: readonly [{
326
+ readonly internalType: "address";
327
+ readonly name: "vTokenToRepay";
328
+ readonly type: "address";
329
+ }, {
330
+ readonly internalType: "address";
331
+ readonly name: "originalBorrower";
332
+ readonly type: "address";
333
+ }, {
334
+ readonly internalType: "bool";
335
+ readonly name: "allow";
336
+ readonly type: "bool";
337
+ }];
338
+ readonly name: "setRepaymentAllowed";
339
+ readonly outputs: readonly [];
340
+ readonly stateMutability: "nonpayable";
341
+ readonly type: "function";
260
342
  }, {
261
343
  readonly inputs: readonly [{
262
344
  readonly internalType: "contract IERC20Upgradeable";
@@ -277,16 +359,6 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
277
359
  readonly outputs: readonly [];
278
360
  readonly stateMutability: "nonpayable";
279
361
  readonly type: "function";
280
- }, {
281
- readonly inputs: readonly [];
282
- readonly name: "vTokenToRepay";
283
- readonly outputs: readonly [{
284
- readonly internalType: "contract IVBep20";
285
- readonly name: "";
286
- readonly type: "address";
287
- }];
288
- readonly stateMutability: "view";
289
- readonly type: "function";
290
362
  }];
291
363
  static createInterface(): MoveDebtDelegateInterface;
292
364
  static connect(address: string, signerOrProvider: Signer | Provider): MoveDebtDelegate;