@venusprotocol/venus-protocol 7.6.0-dev.2 → 7.6.0-dev.4

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 (131) 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/{db82b17d0da6752b00ad696fe36aa8fb.json → f873604cc800d476500cd733aebbcd98.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 +2 -2
  17. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.dbg.json +1 -1
  18. package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.json +2 -2
  19. package/artifacts/contracts/Governance/TokenRedeemer.sol/TokenRedeemer.dbg.json +1 -1
  20. package/artifacts/contracts/Governance/TokenRedeemer.sol/TokenRedeemer.json +71 -5
  21. package/artifacts/contracts/InterfacesV8.sol/IComptroller.dbg.json +1 -1
  22. package/artifacts/contracts/InterfacesV8.sol/ILiquidator.dbg.json +1 -1
  23. package/artifacts/contracts/InterfacesV8.sol/IProtocolShareReserve.dbg.json +1 -1
  24. package/artifacts/contracts/InterfacesV8.sol/IVAIController.dbg.json +1 -1
  25. package/artifacts/contracts/InterfacesV8.sol/IVBNB.dbg.json +1 -1
  26. package/artifacts/contracts/InterfacesV8.sol/IVBNB.json +83 -0
  27. package/artifacts/contracts/InterfacesV8.sol/IVBep20.dbg.json +1 -1
  28. package/artifacts/contracts/InterfacesV8.sol/IVBep20.json +52 -1
  29. package/artifacts/contracts/InterfacesV8.sol/IVToken.dbg.json +1 -1
  30. package/artifacts/contracts/InterfacesV8.sol/IVToken.json +70 -0
  31. package/artifacts/contracts/InterfacesV8.sol/IWBNB.dbg.json +1 -1
  32. package/artifacts/contracts/Liquidator/BUSDLiquidator.sol/BUSDLiquidator.dbg.json +1 -1
  33. package/artifacts/contracts/Liquidator/BUSDLiquidator.sol/BUSDLiquidator.json +2 -2
  34. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.dbg.json +1 -1
  35. package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.json +2 -2
  36. package/artifacts/contracts/Liquidator/LiquidatorStorage.sol/LiquidatorStorage.dbg.json +1 -1
  37. package/artifacts/contracts/PegStability/IVAI.sol/IVAI.dbg.json +1 -1
  38. package/artifacts/contracts/PegStability/PegStability.sol/PegStability.dbg.json +1 -1
  39. package/artifacts/contracts/Swap/IRouterHelper.sol/IRouterHelper.dbg.json +1 -1
  40. package/artifacts/contracts/Swap/RouterHelper.sol/RouterHelper.dbg.json +1 -1
  41. package/artifacts/contracts/Swap/SwapRouter.sol/SwapRouter.dbg.json +1 -1
  42. package/artifacts/contracts/Swap/interfaces/IPancakePair.sol/IPancakePair.dbg.json +1 -1
  43. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Factory.sol/IPancakeSwapV2Factory.dbg.json +1 -1
  44. package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Router.sol/IPancakeSwapV2Router.dbg.json +1 -1
  45. package/artifacts/contracts/Swap/interfaces/IVBNB.sol/IVBNB.dbg.json +1 -1
  46. package/artifacts/contracts/Swap/interfaces/IVtoken.sol/IVToken.dbg.json +1 -1
  47. package/artifacts/contracts/Swap/interfaces/IWBNB.sol/IWBNB.dbg.json +1 -1
  48. package/artifacts/contracts/Swap/interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
  49. package/artifacts/contracts/Swap/lib/PancakeLibrary.sol/PancakeLibrary.dbg.json +1 -1
  50. package/artifacts/contracts/Swap/lib/TransferHelper.sol/TransferHelper.dbg.json +1 -1
  51. package/artifacts/contracts/Tokens/Prime/Interfaces/IPoolRegistry.sol/PoolRegistryInterface.dbg.json +1 -1
  52. package/artifacts/contracts/Tokens/Prime/Interfaces/IPrime.sol/IPrime.dbg.json +1 -1
  53. package/artifacts/contracts/Tokens/Prime/Interfaces/IPrimeLiquidityProvider.sol/IPrimeLiquidityProvider.dbg.json +1 -1
  54. package/artifacts/contracts/Tokens/Prime/Interfaces/IVToken.sol/IVToken.dbg.json +1 -1
  55. package/artifacts/contracts/Tokens/Prime/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +1 -1
  56. package/artifacts/contracts/Tokens/Prime/Interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
  57. package/artifacts/contracts/Tokens/Prime/Prime.sol/Prime.dbg.json +1 -1
  58. package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProvider.sol/PrimeLiquidityProvider.dbg.json +1 -1
  59. package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProviderStorage.sol/PrimeLiquidityProviderStorageV1.dbg.json +1 -1
  60. package/artifacts/contracts/Tokens/Prime/PrimeStorage.sol/PrimeStorageV1.dbg.json +1 -1
  61. package/artifacts/contracts/Tokens/Prime/libs/FixedMath.sol/FixedMath.dbg.json +1 -1
  62. package/artifacts/contracts/Tokens/Prime/libs/FixedMath0x.sol/FixedMath0x.dbg.json +1 -1
  63. package/artifacts/contracts/Tokens/Prime/libs/Scores.sol/Scores.dbg.json +1 -1
  64. package/artifacts/contracts/lib/Currency.sol/CurrencyLibrary.dbg.json +4 -0
  65. package/artifacts/contracts/lib/Currency.sol/CurrencyLibrary.json +29 -0
  66. package/artifacts/contracts/test/AccessControlManagerMock.sol/AccessControlManagerMock.dbg.json +1 -1
  67. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.dbg.json +1 -1
  68. package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.json +2 -2
  69. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IComptroller.dbg.json +1 -1
  70. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IIncomeDestination.dbg.json +1 -1
  71. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IMockProtocolShareReserve.dbg.json +1 -1
  72. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPoolRegistry.dbg.json +1 -1
  73. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPrime.dbg.json +1 -1
  74. package/artifacts/contracts/test/MockProtocolShareReserve.sol/IVToken.dbg.json +1 -1
  75. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MaxLoopsLimitHelper.dbg.json +1 -1
  76. package/artifacts/contracts/test/MockProtocolShareReserve.sol/MockProtocolShareReserve.dbg.json +1 -1
  77. package/artifacts/contracts/test/PrimeScenario.sol/PrimeScenario.dbg.json +1 -1
  78. package/contracts/Governance/TokenRedeemer.sol +126 -20
  79. package/contracts/InterfacesV8.sol +10 -2
  80. package/contracts/lib/Currency.sol +82 -0
  81. package/deploy/012-deploy-token-redeemer.ts +2 -1
  82. package/deployments/bscmainnet/JumpRateModel_base0bps_slope10000bps_jump25000bps_kink8000bps.json +380 -0
  83. package/deployments/bscmainnet/JumpRateModel_base0bps_slope10000bps_jump50000bps_kink8000bps.json +380 -0
  84. package/deployments/bscmainnet/TokenRedeemer.json +105 -34
  85. package/deployments/bscmainnet/solcInputs/2aa2b00074af0ac8497255c1ed59bc86.json +348 -0
  86. package/deployments/bscmainnet/solcInputs/6fc684307aeb3185be94f869ed923bc8.json +348 -0
  87. package/deployments/bscmainnet.json +572 -4
  88. package/deployments/bscmainnet_addresses.json +3 -1
  89. package/dist/deploy/012-deploy-token-redeemer.js +2 -1
  90. package/dist/deployments/bscmainnet.json +572 -4
  91. package/dist/deployments/bscmainnet_addresses.json +3 -1
  92. package/dist/typechain/contracts/Governance/TokenRedeemer.d.ts +29 -1
  93. package/dist/typechain/contracts/InterfacesV8.sol/IVBNB.d.ts +73 -1
  94. package/dist/typechain/contracts/InterfacesV8.sol/IVBep20.d.ts +46 -6
  95. package/dist/typechain/contracts/InterfacesV8.sol/IVToken.d.ts +57 -1
  96. package/dist/typechain/contracts/index.d.ts +2 -0
  97. package/dist/typechain/contracts/lib/Currency.sol/CurrencyLibrary.d.ts +42 -0
  98. package/dist/typechain/contracts/lib/Currency.sol/CurrencyLibrary.js +3 -0
  99. package/dist/typechain/contracts/lib/Currency.sol/index.d.ts +1 -0
  100. package/dist/typechain/contracts/lib/Currency.sol/index.js +2 -0
  101. package/dist/typechain/contracts/lib/index.d.ts +2 -0
  102. package/dist/typechain/contracts/lib/index.js +3 -0
  103. package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.d.ts +1 -1
  104. package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.js +1 -1
  105. package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate__factory.d.ts +1 -1
  106. package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate__factory.js +1 -1
  107. package/dist/typechain/factories/contracts/Governance/TokenRedeemer__factory.d.ts +57 -6
  108. package/dist/typechain/factories/contracts/Governance/TokenRedeemer__factory.js +74 -8
  109. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBNB__factory.d.ts +62 -0
  110. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBNB__factory.js +83 -0
  111. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBep20__factory.d.ts +39 -1
  112. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBep20__factory.js +52 -1
  113. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVToken__factory.d.ts +52 -0
  114. package/dist/typechain/factories/contracts/InterfacesV8.sol/IVToken__factory.js +70 -0
  115. package/dist/typechain/factories/contracts/Liquidator/BUSDLiquidator__factory.d.ts +1 -1
  116. package/dist/typechain/factories/contracts/Liquidator/BUSDLiquidator__factory.js +1 -1
  117. package/dist/typechain/factories/contracts/Liquidator/Liquidator__factory.d.ts +1 -1
  118. package/dist/typechain/factories/contracts/Liquidator/Liquidator__factory.js +1 -1
  119. package/dist/typechain/factories/contracts/index.d.ts +1 -0
  120. package/dist/typechain/factories/contracts/index.js +2 -1
  121. package/dist/typechain/factories/contracts/lib/Currency.sol/CurrencyLibrary__factory.d.ts +35 -0
  122. package/dist/typechain/factories/contracts/lib/Currency.sol/CurrencyLibrary__factory.js +58 -0
  123. package/dist/typechain/factories/contracts/lib/Currency.sol/index.d.ts +1 -0
  124. package/dist/typechain/factories/contracts/lib/Currency.sol/index.js +8 -0
  125. package/dist/typechain/factories/contracts/lib/index.d.ts +1 -0
  126. package/dist/typechain/factories/contracts/lib/index.js +30 -0
  127. package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.d.ts +1 -1
  128. package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.js +1 -1
  129. package/dist/typechain/index.d.ts +2 -0
  130. package/dist/typechain/index.js +6 -4
  131. package/package.json +1 -1
@@ -4,23 +4,31 @@ 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 IVTokenInterface extends utils.Interface {
6
6
  functions: {
7
+ "accrueInterest()": FunctionFragment;
7
8
  "allowance(address,address)": FunctionFragment;
8
9
  "approve(address,uint256)": FunctionFragment;
9
10
  "balanceOf(address)": FunctionFragment;
11
+ "balanceOfUnderlying(address)": FunctionFragment;
10
12
  "borrowBalanceCurrent(address)": FunctionFragment;
13
+ "borrowBalanceStored(address)": FunctionFragment;
11
14
  "comptroller()": FunctionFragment;
12
15
  "redeem(uint256)": FunctionFragment;
16
+ "redeemUnderlying(uint256)": FunctionFragment;
13
17
  "totalSupply()": FunctionFragment;
14
18
  "transfer(address,uint256)": FunctionFragment;
15
19
  "transferFrom(address,address,uint256)": FunctionFragment;
16
20
  };
17
- getFunction(nameOrSignatureOrTopic: "allowance" | "approve" | "balanceOf" | "borrowBalanceCurrent" | "comptroller" | "redeem" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment;
21
+ getFunction(nameOrSignatureOrTopic: "accrueInterest" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrowBalanceCurrent" | "borrowBalanceStored" | "comptroller" | "redeem" | "redeemUnderlying" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment;
22
+ encodeFunctionData(functionFragment: "accrueInterest", values?: undefined): string;
18
23
  encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
19
24
  encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
20
25
  encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string;
26
+ encodeFunctionData(functionFragment: "balanceOfUnderlying", values: [PromiseOrValue<string>]): string;
21
27
  encodeFunctionData(functionFragment: "borrowBalanceCurrent", values: [PromiseOrValue<string>]): string;
28
+ encodeFunctionData(functionFragment: "borrowBalanceStored", values: [PromiseOrValue<string>]): string;
22
29
  encodeFunctionData(functionFragment: "comptroller", values?: undefined): string;
23
30
  encodeFunctionData(functionFragment: "redeem", values: [PromiseOrValue<BigNumberish>]): string;
31
+ encodeFunctionData(functionFragment: "redeemUnderlying", values: [PromiseOrValue<BigNumberish>]): string;
24
32
  encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
25
33
  encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
26
34
  encodeFunctionData(functionFragment: "transferFrom", values: [
@@ -28,12 +36,16 @@ export interface IVTokenInterface extends utils.Interface {
28
36
  PromiseOrValue<string>,
29
37
  PromiseOrValue<BigNumberish>
30
38
  ]): string;
39
+ decodeFunctionResult(functionFragment: "accrueInterest", data: BytesLike): Result;
31
40
  decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
32
41
  decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
33
42
  decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
43
+ decodeFunctionResult(functionFragment: "balanceOfUnderlying", data: BytesLike): Result;
34
44
  decodeFunctionResult(functionFragment: "borrowBalanceCurrent", data: BytesLike): Result;
45
+ decodeFunctionResult(functionFragment: "borrowBalanceStored", data: BytesLike): Result;
35
46
  decodeFunctionResult(functionFragment: "comptroller", data: BytesLike): Result;
36
47
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
48
+ decodeFunctionResult(functionFragment: "redeemUnderlying", data: BytesLike): Result;
37
49
  decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
38
50
  decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
39
51
  decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
@@ -81,18 +93,28 @@ export interface IVToken extends BaseContract {
81
93
  once: OnEvent<this>;
82
94
  removeListener: OnEvent<this>;
83
95
  functions: {
96
+ accrueInterest(overrides?: Overrides & {
97
+ from?: PromiseOrValue<string>;
98
+ }): Promise<ContractTransaction>;
84
99
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
85
100
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
86
101
  from?: PromiseOrValue<string>;
87
102
  }): Promise<ContractTransaction>;
88
103
  balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
104
+ balanceOfUnderlying(owner: PromiseOrValue<string>, overrides?: Overrides & {
105
+ from?: PromiseOrValue<string>;
106
+ }): Promise<ContractTransaction>;
89
107
  borrowBalanceCurrent(borrower: PromiseOrValue<string>, overrides?: Overrides & {
90
108
  from?: PromiseOrValue<string>;
91
109
  }): Promise<ContractTransaction>;
110
+ borrowBalanceStored(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
92
111
  comptroller(overrides?: CallOverrides): Promise<[string]>;
93
112
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
94
113
  from?: PromiseOrValue<string>;
95
114
  }): Promise<ContractTransaction>;
115
+ redeemUnderlying(redeemAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
116
+ from?: PromiseOrValue<string>;
117
+ }): Promise<ContractTransaction>;
96
118
  totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
97
119
  transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
98
120
  from?: PromiseOrValue<string>;
@@ -101,18 +123,28 @@ export interface IVToken extends BaseContract {
101
123
  from?: PromiseOrValue<string>;
102
124
  }): Promise<ContractTransaction>;
103
125
  };
126
+ accrueInterest(overrides?: Overrides & {
127
+ from?: PromiseOrValue<string>;
128
+ }): Promise<ContractTransaction>;
104
129
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
105
130
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
106
131
  from?: PromiseOrValue<string>;
107
132
  }): Promise<ContractTransaction>;
108
133
  balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
134
+ balanceOfUnderlying(owner: PromiseOrValue<string>, overrides?: Overrides & {
135
+ from?: PromiseOrValue<string>;
136
+ }): Promise<ContractTransaction>;
109
137
  borrowBalanceCurrent(borrower: PromiseOrValue<string>, overrides?: Overrides & {
110
138
  from?: PromiseOrValue<string>;
111
139
  }): Promise<ContractTransaction>;
140
+ borrowBalanceStored(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
112
141
  comptroller(overrides?: CallOverrides): Promise<string>;
113
142
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
114
143
  from?: PromiseOrValue<string>;
115
144
  }): Promise<ContractTransaction>;
145
+ redeemUnderlying(redeemAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
146
+ from?: PromiseOrValue<string>;
147
+ }): Promise<ContractTransaction>;
116
148
  totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
117
149
  transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
118
150
  from?: PromiseOrValue<string>;
@@ -121,12 +153,16 @@ export interface IVToken extends BaseContract {
121
153
  from?: PromiseOrValue<string>;
122
154
  }): Promise<ContractTransaction>;
123
155
  callStatic: {
156
+ accrueInterest(overrides?: CallOverrides): Promise<BigNumber>;
124
157
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
125
158
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
126
159
  balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
160
+ balanceOfUnderlying(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
127
161
  borrowBalanceCurrent(borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
162
+ borrowBalanceStored(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
128
163
  comptroller(overrides?: CallOverrides): Promise<string>;
129
164
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
165
+ redeemUnderlying(redeemAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
130
166
  totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
131
167
  transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
132
168
  transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
@@ -138,18 +174,28 @@ export interface IVToken extends BaseContract {
138
174
  Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null): TransferEventFilter;
139
175
  };
140
176
  estimateGas: {
177
+ accrueInterest(overrides?: Overrides & {
178
+ from?: PromiseOrValue<string>;
179
+ }): Promise<BigNumber>;
141
180
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
142
181
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
143
182
  from?: PromiseOrValue<string>;
144
183
  }): Promise<BigNumber>;
145
184
  balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
185
+ balanceOfUnderlying(owner: PromiseOrValue<string>, overrides?: Overrides & {
186
+ from?: PromiseOrValue<string>;
187
+ }): Promise<BigNumber>;
146
188
  borrowBalanceCurrent(borrower: PromiseOrValue<string>, overrides?: Overrides & {
147
189
  from?: PromiseOrValue<string>;
148
190
  }): Promise<BigNumber>;
191
+ borrowBalanceStored(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
149
192
  comptroller(overrides?: CallOverrides): Promise<BigNumber>;
150
193
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
151
194
  from?: PromiseOrValue<string>;
152
195
  }): Promise<BigNumber>;
196
+ redeemUnderlying(redeemAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
197
+ from?: PromiseOrValue<string>;
198
+ }): Promise<BigNumber>;
153
199
  totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
154
200
  transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
155
201
  from?: PromiseOrValue<string>;
@@ -159,18 +205,28 @@ export interface IVToken extends BaseContract {
159
205
  }): Promise<BigNumber>;
160
206
  };
161
207
  populateTransaction: {
208
+ accrueInterest(overrides?: Overrides & {
209
+ from?: PromiseOrValue<string>;
210
+ }): Promise<PopulatedTransaction>;
162
211
  allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
163
212
  approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
164
213
  from?: PromiseOrValue<string>;
165
214
  }): Promise<PopulatedTransaction>;
166
215
  balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
216
+ balanceOfUnderlying(owner: PromiseOrValue<string>, overrides?: Overrides & {
217
+ from?: PromiseOrValue<string>;
218
+ }): Promise<PopulatedTransaction>;
167
219
  borrowBalanceCurrent(borrower: PromiseOrValue<string>, overrides?: Overrides & {
168
220
  from?: PromiseOrValue<string>;
169
221
  }): Promise<PopulatedTransaction>;
222
+ borrowBalanceStored(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
170
223
  comptroller(overrides?: CallOverrides): Promise<PopulatedTransaction>;
171
224
  redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
172
225
  from?: PromiseOrValue<string>;
173
226
  }): Promise<PopulatedTransaction>;
227
+ redeemUnderlying(redeemAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
228
+ from?: PromiseOrValue<string>;
229
+ }): Promise<PopulatedTransaction>;
174
230
  totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
175
231
  transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
176
232
  from?: PromiseOrValue<string>;
@@ -14,6 +14,7 @@ import type * as utils from "./Utils";
14
14
  import type * as vaiVault from "./VAIVault";
15
15
  import type * as vrtVault from "./VRTVault";
16
16
  import type * as xvsVault from "./XVSVault";
17
+ import type * as lib from "./lib";
17
18
  import type * as test from "./test";
18
19
  export type { admin };
19
20
  export type { comptroller };
@@ -31,4 +32,5 @@ export type { utils };
31
32
  export type { vaiVault };
32
33
  export type { vrtVault };
33
34
  export type { xvsVault };
35
+ export type { lib };
34
36
  export type { test };
@@ -0,0 +1,42 @@
1
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { BaseContract, BigNumber, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers";
5
+ export interface CurrencyLibraryInterface extends utils.Interface {
6
+ functions: {
7
+ "NATIVE()": FunctionFragment;
8
+ };
9
+ getFunction(nameOrSignatureOrTopic: "NATIVE"): FunctionFragment;
10
+ encodeFunctionData(functionFragment: "NATIVE", values?: undefined): string;
11
+ decodeFunctionResult(functionFragment: "NATIVE", data: BytesLike): Result;
12
+ events: {};
13
+ }
14
+ export interface CurrencyLibrary extends BaseContract {
15
+ connect(signerOrProvider: Signer | Provider | string): this;
16
+ attach(addressOrName: string): this;
17
+ deployed(): Promise<this>;
18
+ interface: CurrencyLibraryInterface;
19
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
20
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
21
+ listeners(eventName?: string): Array<Listener>;
22
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
23
+ removeAllListeners(eventName?: string): this;
24
+ off: OnEvent<this>;
25
+ on: OnEvent<this>;
26
+ once: OnEvent<this>;
27
+ removeListener: OnEvent<this>;
28
+ functions: {
29
+ NATIVE(overrides?: CallOverrides): Promise<[string]>;
30
+ };
31
+ NATIVE(overrides?: CallOverrides): Promise<string>;
32
+ callStatic: {
33
+ NATIVE(overrides?: CallOverrides): Promise<string>;
34
+ };
35
+ filters: {};
36
+ estimateGas: {
37
+ NATIVE(overrides?: CallOverrides): Promise<BigNumber>;
38
+ };
39
+ populateTransaction: {
40
+ NATIVE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
41
+ };
42
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type { CurrencyLibrary } from "./CurrencyLibrary";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ import type * as currencySol from "./Currency.sol";
2
+ export type { currencySol };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -13,7 +13,7 @@ export declare class MoveDebtDelegate__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): MoveDebtDelegate;
15
15
  connect(signer: Signer): MoveDebtDelegate__factory;
16
- static readonly bytecode = "0x60a06040523480156200001157600080fd5b50604051620019f0380380620019f0833981016040819052620000349162000113565b6001600160a01b0381166080526200004b62000052565b5062000145565b600054610100900460ff1615620000bf5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000111576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012657600080fd5b81516001600160a01b03811681146200013e57600080fd5b9392505050565b6080516118816200016f6000396000818161011c015281816103420152610eae01526118816000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638129fc1c1161008c578063e30c397811610066578063e30c3978146101d2578063f1e3c547146101e3578063f2fde38b14610211578063f5f6d3af1461022457600080fd5b80638129fc1c146101a65780638da5cb5b146101ae578063929f0e4b146101bf57600080fd5b806346b119a4116100c857806346b119a41461015b578063715018a61461018e57806379ba5097146101965780637d0ed4da1461019e57600080fd5b806311cbba09146100ef578063227661cb146101045780634162771414610117575b600080fd5b6101026100fd36600461158d565b610237565b005b6101026101123660046115ee565b6103ba565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61017e610169366004611627565b60c96020526000908152604090205460ff1681565b6040519015158152602001610152565b610102610452565b610102610466565b61013e600181565b6101026104e0565b6033546001600160a01b031661013e565b6101026101cd36600461164b565b6105f8565b6065546001600160a01b031661013e565b61017e6101f1366004611696565b60ca60209081526000928352604080842090915290825290205460ff1681565b61010261021f366004611627565b6106b3565b610102610232366004611627565b610724565b61023f6107fa565b6001600160a01b038116600090815260c9602052604090205460ff16610288576040516312ee446d60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038416600090815260ca6020908152604080832060018452918290529091205460ff161580156102d857506001600160a01b03841660009081526020829052604090205460ff16155b156103095760405163cf3aeddd60e01b81526001600160a01b0380871660048301528516602482015260440161027f565b6000610316868686610853565b90506000610325878584610b67565b90506103318482610dc5565b604080518381526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660208301529181018390528582169189811691908916907f833ea3dd2030d9e59d6339e1396b89485751296c537f1f863e5aa23d17f29d589060600160405180910390a45050506103b46001609755565b50505050565b6103c2610ff3565b6103cb8261104d565b6001600160a01b038216600090815260c9602052604090205460ff1615158115151461044e576001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f6c91f18e23863dbfc4ad61ae0f28a4e746dcc4faefa2ec384020e9728c3754b291015b60405180910390a25b5050565b61045a610ff3565b6104646000611074565b565b60655433906001600160a01b031681146104d45760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161027f565b6104dd81611074565b50565b600054610100900460ff16158080156105005750600054600160ff909116105b8061051a5750303b15801561051a575060005460ff166001145b61057d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161027f565b6000805460ff1916600117905580156105a0576000805461ff0019166101001790555b6105a861108d565b6105b06110bc565b80156104dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b610600610ff3565b6106098361104d565b6106128261104d565b6001600160a01b03808416600090815260ca602090815260408083209386168352929052205460ff161515811515146106ae576001600160a01b03838116600081815260ca6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f011e47116ecd03b7ff3432b8c64a99ef03fedfcfc9c8e637e6d31b5a20d6b109910160405180910390a35b505050565b6106bb610ff3565b606580546001600160a01b0383166001600160a01b031990911681179091556106ec6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61072c610ff3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079791906116c4565b90506107bf6107ae6033546001600160a01b031690565b6001600160a01b03841690836110eb565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c558260405161044591815260200190565b60026097540361084c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027f565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116c4565b905061093d6001600160a01b03831633308761114e565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a891906116c4565b905060006109b68383611710565b6040516305eff7ef60e21b81526001600160a01b0389811660048301529192506000918a16906317bfdfbc906024016020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2891906116c4565b9050610a35858a84611186565b6040516304c11f0360e31b81526001600160a01b03898116600483015260248201849052600091908b1690632608f818906044016020604051808303816000875af1158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac91906116c4565b90508015610ad05760405163259aff3560e01b81526004810182905260240161027f565b610adc868b6000611186565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af1158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c91906116c4565b9050610b588184611710565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc91906116dd565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906116dd565b6001600160a01b0316816001600160a01b031614610c6157604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc591906116dd565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906116c4565b610d429190611727565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db091906116c4565b610dba9082611746565b979650505050505050565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2991906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906116c4565b60405163856e5bb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905291925060009186169063856e5bb3906044016020604051808303816000875af1158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3091906116c4565b90508015610f545760405163158f1c0f60e01b81526004810182905260240161027f565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf91906116c4565b90506000610fcd8483611710565b9050610fe36001600160a01b03861633836110eb565b50505050505050565b6001609755565b6033546001600160a01b031633146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027f565b6001600160a01b0381166104dd576040516342bcdf7f60e11b815260040160405180910390fd5b606580546001600160a01b03191690556104dd8161127a565b600054610100900460ff166110b45760405162461bcd60e51b815260040161027f90611768565b6104646112cc565b600054610100900460ff166110e35760405162461bcd60e51b815260040161027f90611768565b6104646112fc565b6040516001600160a01b0383166024820152604481018290526106ae90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611323565b6040516001600160a01b03808516602483015283166044820152606481018290526103b49085906323b872dd60e01b90608401611117565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151909160009182918716906111e49085906117df565b6000604051808303816000865af19150503d8060008114611221576040519150601f19603f3d011682016040523d82523d6000602084013e611226565b606091505b5091509150811580611254575080511580159061125457508080602001905181019061125291906117fb565b155b1561127257604051633e3f8f7360e01b815260040160405180910390fd5b505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112f35760405162461bcd60e51b815260040161027f90611768565b61046433611074565b600054610100900460ff16610fec5760405162461bcd60e51b815260040161027f90611768565b6000611378826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113f89092919063ffffffff16565b905080516000148061139957508080602001905181019061139991906117fb565b6106ae5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161027f565b6060611407848460008561140f565b949350505050565b6060824710156114705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161027f565b600080866001600160a01b0316858760405161148c91906117df565b60006040518083038185875af1925050503d80600081146114c9576040519150601f19603f3d011682016040523d82523d6000602084013e6114ce565b606091505b5091509150610dba8783838760608315611549578251600003611542576001600160a01b0385163b6115425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027f565b5081611407565b611407838381511561155e5781518083602001fd5b8060405162461bcd60e51b815260040161027f9190611818565b6001600160a01b03811681146104dd57600080fd5b600080600080608085870312156115a357600080fd5b84356115ae81611578565b935060208501356115be81611578565b92506040850135915060608501356115d581611578565b939692955090935050565b80151581146104dd57600080fd5b6000806040838503121561160157600080fd5b823561160c81611578565b9150602083013561161c816115e0565b809150509250929050565b60006020828403121561163957600080fd5b813561164481611578565b9392505050565b60008060006060848603121561166057600080fd5b833561166b81611578565b9250602084013561167b81611578565b9150604084013561168b816115e0565b809150509250925092565b600080604083850312156116a957600080fd5b82356116b481611578565b9150602083013561161c81611578565b6000602082840312156116d657600080fd5b5051919050565b6000602082840312156116ef57600080fd5b815161164481611578565b634e487b7160e01b600052601160045260246000fd5b600082821015611722576117226116fa565b500390565b6000816000190483118215151615611741576117416116fa565b500290565b60008261176357634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156117ce5781810151838201526020016117b6565b838111156103b45750506000910152565b600082516117f18184602087016117b3565b9190910192915050565b60006020828403121561180d57600080fd5b8151611644816115e0565b60208152600082518060208401526118378160408501602087016117b3565b601f01601f1916919091016040019291505056fea2646970667358221220f9aa1132b75a622e393a8c5495fe53a8417851bc528f85ef13f9794be2d1d50664736f6c634300080d0033";
16
+ static readonly bytecode = "0x60a06040523480156200001157600080fd5b50604051620019f0380380620019f0833981016040819052620000349162000113565b6001600160a01b0381166080526200004b62000052565b5062000145565b600054610100900460ff1615620000bf5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000111576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012657600080fd5b81516001600160a01b03811681146200013e57600080fd5b9392505050565b6080516118816200016f6000396000818161011c015281816103420152610eae01526118816000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638129fc1c1161008c578063e30c397811610066578063e30c3978146101d2578063f1e3c547146101e3578063f2fde38b14610211578063f5f6d3af1461022457600080fd5b80638129fc1c146101a65780638da5cb5b146101ae578063929f0e4b146101bf57600080fd5b806346b119a4116100c857806346b119a41461015b578063715018a61461018e57806379ba5097146101965780637d0ed4da1461019e57600080fd5b806311cbba09146100ef578063227661cb146101045780634162771414610117575b600080fd5b6101026100fd36600461158d565b610237565b005b6101026101123660046115ee565b6103ba565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61017e610169366004611627565b60c96020526000908152604090205460ff1681565b6040519015158152602001610152565b610102610452565b610102610466565b61013e600181565b6101026104e0565b6033546001600160a01b031661013e565b6101026101cd36600461164b565b6105f8565b6065546001600160a01b031661013e565b61017e6101f1366004611696565b60ca60209081526000928352604080842090915290825290205460ff1681565b61010261021f366004611627565b6106b3565b610102610232366004611627565b610724565b61023f6107fa565b6001600160a01b038116600090815260c9602052604090205460ff16610288576040516312ee446d60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038416600090815260ca6020908152604080832060018452918290529091205460ff161580156102d857506001600160a01b03841660009081526020829052604090205460ff16155b156103095760405163cf3aeddd60e01b81526001600160a01b0380871660048301528516602482015260440161027f565b6000610316868686610853565b90506000610325878584610b67565b90506103318482610dc5565b604080518381526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660208301529181018390528582169189811691908916907f833ea3dd2030d9e59d6339e1396b89485751296c537f1f863e5aa23d17f29d589060600160405180910390a45050506103b46001609755565b50505050565b6103c2610ff3565b6103cb8261104d565b6001600160a01b038216600090815260c9602052604090205460ff1615158115151461044e576001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f6c91f18e23863dbfc4ad61ae0f28a4e746dcc4faefa2ec384020e9728c3754b291015b60405180910390a25b5050565b61045a610ff3565b6104646000611074565b565b60655433906001600160a01b031681146104d45760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161027f565b6104dd81611074565b50565b600054610100900460ff16158080156105005750600054600160ff909116105b8061051a5750303b15801561051a575060005460ff166001145b61057d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161027f565b6000805460ff1916600117905580156105a0576000805461ff0019166101001790555b6105a861108d565b6105b06110bc565b80156104dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b610600610ff3565b6106098361104d565b6106128261104d565b6001600160a01b03808416600090815260ca602090815260408083209386168352929052205460ff161515811515146106ae576001600160a01b03838116600081815260ca6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f011e47116ecd03b7ff3432b8c64a99ef03fedfcfc9c8e637e6d31b5a20d6b109910160405180910390a35b505050565b6106bb610ff3565b606580546001600160a01b0383166001600160a01b031990911681179091556106ec6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61072c610ff3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079791906116c4565b90506107bf6107ae6033546001600160a01b031690565b6001600160a01b03841690836110eb565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c558260405161044591815260200190565b60026097540361084c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027f565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116c4565b905061093d6001600160a01b03831633308761114e565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a891906116c4565b905060006109b68383611710565b6040516305eff7ef60e21b81526001600160a01b0389811660048301529192506000918a16906317bfdfbc906024016020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2891906116c4565b9050610a35858a84611186565b6040516304c11f0360e31b81526001600160a01b03898116600483015260248201849052600091908b1690632608f818906044016020604051808303816000875af1158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac91906116c4565b90508015610ad05760405163259aff3560e01b81526004810182905260240161027f565b610adc868b6000611186565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af1158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c91906116c4565b9050610b588184611710565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc91906116dd565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906116dd565b6001600160a01b0316816001600160a01b031614610c6157604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc591906116dd565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906116c4565b610d429190611727565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db091906116c4565b610dba9082611746565b979650505050505050565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2991906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906116c4565b60405163856e5bb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905291925060009186169063856e5bb3906044016020604051808303816000875af1158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3091906116c4565b90508015610f545760405163158f1c0f60e01b81526004810182905260240161027f565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf91906116c4565b90506000610fcd8483611710565b9050610fe36001600160a01b03861633836110eb565b50505050505050565b6001609755565b6033546001600160a01b031633146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027f565b6001600160a01b0381166104dd576040516342bcdf7f60e11b815260040160405180910390fd5b606580546001600160a01b03191690556104dd8161127a565b600054610100900460ff166110b45760405162461bcd60e51b815260040161027f90611768565b6104646112cc565b600054610100900460ff166110e35760405162461bcd60e51b815260040161027f90611768565b6104646112fc565b6040516001600160a01b0383166024820152604481018290526106ae90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611323565b6040516001600160a01b03808516602483015283166044820152606481018290526103b49085906323b872dd60e01b90608401611117565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151909160009182918716906111e49085906117df565b6000604051808303816000865af19150503d8060008114611221576040519150601f19603f3d011682016040523d82523d6000602084013e611226565b606091505b5091509150811580611254575080511580159061125457508080602001905181019061125291906117fb565b155b1561127257604051633e3f8f7360e01b815260040160405180910390fd5b505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112f35760405162461bcd60e51b815260040161027f90611768565b61046433611074565b600054610100900460ff16610fec5760405162461bcd60e51b815260040161027f90611768565b6000611378826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113f89092919063ffffffff16565b905080516000148061139957508080602001905181019061139991906117fb565b6106ae5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161027f565b6060611407848460008561140f565b949350505050565b6060824710156114705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161027f565b600080866001600160a01b0316858760405161148c91906117df565b60006040518083038185875af1925050503d80600081146114c9576040519150601f19603f3d011682016040523d82523d6000602084013e6114ce565b606091505b5091509150610dba8783838760608315611549578251600003611542576001600160a01b0385163b6115425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027f565b5081611407565b611407838381511561155e5781518083602001fd5b8060405162461bcd60e51b815260040161027f9190611818565b6001600160a01b03811681146104dd57600080fd5b600080600080608085870312156115a357600080fd5b84356115ae81611578565b935060208501356115be81611578565b92506040850135915060608501356115d581611578565b939692955090935050565b80151581146104dd57600080fd5b6000806040838503121561160157600080fd5b823561160c81611578565b9150602083013561161c816115e0565b809150509250929050565b60006020828403121561163957600080fd5b813561164481611578565b9392505050565b60008060006060848603121561166057600080fd5b833561166b81611578565b9250602084013561167b81611578565b9150604084013561168b816115e0565b809150509250925092565b600080604083850312156116a957600080fd5b82356116b481611578565b9150602083013561161c81611578565b6000602082840312156116d657600080fd5b5051919050565b6000602082840312156116ef57600080fd5b815161164481611578565b634e487b7160e01b600052601160045260246000fd5b600082821015611722576117226116fa565b500390565b6000816000190483118215151615611741576117416116fa565b500290565b60008261176357634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156117ce5781810151838201526020016117b6565b838111156103b45750506000910152565b600082516117f18184602087016117b3565b9190910192915050565b60006020828403121561180d57600080fd5b8151611644816115e0565b60208152600082518060208401526118378160408501602087016117b3565b601f01601f1916919091016040019291505056fea2646970667358221220f8a1a5984b225bfd737eab0c949b7f909f4411ce953d945f92a44f3df370455564736f6c634300080d0033";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [{
19
19
  readonly internalType: "address";
@@ -448,7 +448,7 @@ const _abi = [
448
448
  type: "function",
449
449
  },
450
450
  ];
451
- const _bytecode = "0x60a06040523480156200001157600080fd5b50604051620019f0380380620019f0833981016040819052620000349162000113565b6001600160a01b0381166080526200004b62000052565b5062000145565b600054610100900460ff1615620000bf5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000111576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012657600080fd5b81516001600160a01b03811681146200013e57600080fd5b9392505050565b6080516118816200016f6000396000818161011c015281816103420152610eae01526118816000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638129fc1c1161008c578063e30c397811610066578063e30c3978146101d2578063f1e3c547146101e3578063f2fde38b14610211578063f5f6d3af1461022457600080fd5b80638129fc1c146101a65780638da5cb5b146101ae578063929f0e4b146101bf57600080fd5b806346b119a4116100c857806346b119a41461015b578063715018a61461018e57806379ba5097146101965780637d0ed4da1461019e57600080fd5b806311cbba09146100ef578063227661cb146101045780634162771414610117575b600080fd5b6101026100fd36600461158d565b610237565b005b6101026101123660046115ee565b6103ba565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61017e610169366004611627565b60c96020526000908152604090205460ff1681565b6040519015158152602001610152565b610102610452565b610102610466565b61013e600181565b6101026104e0565b6033546001600160a01b031661013e565b6101026101cd36600461164b565b6105f8565b6065546001600160a01b031661013e565b61017e6101f1366004611696565b60ca60209081526000928352604080842090915290825290205460ff1681565b61010261021f366004611627565b6106b3565b610102610232366004611627565b610724565b61023f6107fa565b6001600160a01b038116600090815260c9602052604090205460ff16610288576040516312ee446d60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038416600090815260ca6020908152604080832060018452918290529091205460ff161580156102d857506001600160a01b03841660009081526020829052604090205460ff16155b156103095760405163cf3aeddd60e01b81526001600160a01b0380871660048301528516602482015260440161027f565b6000610316868686610853565b90506000610325878584610b67565b90506103318482610dc5565b604080518381526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660208301529181018390528582169189811691908916907f833ea3dd2030d9e59d6339e1396b89485751296c537f1f863e5aa23d17f29d589060600160405180910390a45050506103b46001609755565b50505050565b6103c2610ff3565b6103cb8261104d565b6001600160a01b038216600090815260c9602052604090205460ff1615158115151461044e576001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f6c91f18e23863dbfc4ad61ae0f28a4e746dcc4faefa2ec384020e9728c3754b291015b60405180910390a25b5050565b61045a610ff3565b6104646000611074565b565b60655433906001600160a01b031681146104d45760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161027f565b6104dd81611074565b50565b600054610100900460ff16158080156105005750600054600160ff909116105b8061051a5750303b15801561051a575060005460ff166001145b61057d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161027f565b6000805460ff1916600117905580156105a0576000805461ff0019166101001790555b6105a861108d565b6105b06110bc565b80156104dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b610600610ff3565b6106098361104d565b6106128261104d565b6001600160a01b03808416600090815260ca602090815260408083209386168352929052205460ff161515811515146106ae576001600160a01b03838116600081815260ca6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f011e47116ecd03b7ff3432b8c64a99ef03fedfcfc9c8e637e6d31b5a20d6b109910160405180910390a35b505050565b6106bb610ff3565b606580546001600160a01b0383166001600160a01b031990911681179091556106ec6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61072c610ff3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079791906116c4565b90506107bf6107ae6033546001600160a01b031690565b6001600160a01b03841690836110eb565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c558260405161044591815260200190565b60026097540361084c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027f565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116c4565b905061093d6001600160a01b03831633308761114e565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a891906116c4565b905060006109b68383611710565b6040516305eff7ef60e21b81526001600160a01b0389811660048301529192506000918a16906317bfdfbc906024016020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2891906116c4565b9050610a35858a84611186565b6040516304c11f0360e31b81526001600160a01b03898116600483015260248201849052600091908b1690632608f818906044016020604051808303816000875af1158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac91906116c4565b90508015610ad05760405163259aff3560e01b81526004810182905260240161027f565b610adc868b6000611186565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af1158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c91906116c4565b9050610b588184611710565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc91906116dd565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906116dd565b6001600160a01b0316816001600160a01b031614610c6157604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc591906116dd565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906116c4565b610d429190611727565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db091906116c4565b610dba9082611746565b979650505050505050565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2991906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906116c4565b60405163856e5bb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905291925060009186169063856e5bb3906044016020604051808303816000875af1158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3091906116c4565b90508015610f545760405163158f1c0f60e01b81526004810182905260240161027f565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf91906116c4565b90506000610fcd8483611710565b9050610fe36001600160a01b03861633836110eb565b50505050505050565b6001609755565b6033546001600160a01b031633146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027f565b6001600160a01b0381166104dd576040516342bcdf7f60e11b815260040160405180910390fd5b606580546001600160a01b03191690556104dd8161127a565b600054610100900460ff166110b45760405162461bcd60e51b815260040161027f90611768565b6104646112cc565b600054610100900460ff166110e35760405162461bcd60e51b815260040161027f90611768565b6104646112fc565b6040516001600160a01b0383166024820152604481018290526106ae90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611323565b6040516001600160a01b03808516602483015283166044820152606481018290526103b49085906323b872dd60e01b90608401611117565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151909160009182918716906111e49085906117df565b6000604051808303816000865af19150503d8060008114611221576040519150601f19603f3d011682016040523d82523d6000602084013e611226565b606091505b5091509150811580611254575080511580159061125457508080602001905181019061125291906117fb565b155b1561127257604051633e3f8f7360e01b815260040160405180910390fd5b505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112f35760405162461bcd60e51b815260040161027f90611768565b61046433611074565b600054610100900460ff16610fec5760405162461bcd60e51b815260040161027f90611768565b6000611378826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113f89092919063ffffffff16565b905080516000148061139957508080602001905181019061139991906117fb565b6106ae5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161027f565b6060611407848460008561140f565b949350505050565b6060824710156114705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161027f565b600080866001600160a01b0316858760405161148c91906117df565b60006040518083038185875af1925050503d80600081146114c9576040519150601f19603f3d011682016040523d82523d6000602084013e6114ce565b606091505b5091509150610dba8783838760608315611549578251600003611542576001600160a01b0385163b6115425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027f565b5081611407565b611407838381511561155e5781518083602001fd5b8060405162461bcd60e51b815260040161027f9190611818565b6001600160a01b03811681146104dd57600080fd5b600080600080608085870312156115a357600080fd5b84356115ae81611578565b935060208501356115be81611578565b92506040850135915060608501356115d581611578565b939692955090935050565b80151581146104dd57600080fd5b6000806040838503121561160157600080fd5b823561160c81611578565b9150602083013561161c816115e0565b809150509250929050565b60006020828403121561163957600080fd5b813561164481611578565b9392505050565b60008060006060848603121561166057600080fd5b833561166b81611578565b9250602084013561167b81611578565b9150604084013561168b816115e0565b809150509250925092565b600080604083850312156116a957600080fd5b82356116b481611578565b9150602083013561161c81611578565b6000602082840312156116d657600080fd5b5051919050565b6000602082840312156116ef57600080fd5b815161164481611578565b634e487b7160e01b600052601160045260246000fd5b600082821015611722576117226116fa565b500390565b6000816000190483118215151615611741576117416116fa565b500290565b60008261176357634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156117ce5781810151838201526020016117b6565b838111156103b45750506000910152565b600082516117f18184602087016117b3565b9190910192915050565b60006020828403121561180d57600080fd5b8151611644816115e0565b60208152600082518060208401526118378160408501602087016117b3565b601f01601f1916919091016040019291505056fea2646970667358221220f9aa1132b75a622e393a8c5495fe53a8417851bc528f85ef13f9794be2d1d50664736f6c634300080d0033";
451
+ const _bytecode = "0x60a06040523480156200001157600080fd5b50604051620019f0380380620019f0833981016040819052620000349162000113565b6001600160a01b0381166080526200004b62000052565b5062000145565b600054610100900460ff1615620000bf5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161462000111576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012657600080fd5b81516001600160a01b03811681146200013e57600080fd5b9392505050565b6080516118816200016f6000396000818161011c015281816103420152610eae01526118816000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638129fc1c1161008c578063e30c397811610066578063e30c3978146101d2578063f1e3c547146101e3578063f2fde38b14610211578063f5f6d3af1461022457600080fd5b80638129fc1c146101a65780638da5cb5b146101ae578063929f0e4b146101bf57600080fd5b806346b119a4116100c857806346b119a41461015b578063715018a61461018e57806379ba5097146101965780637d0ed4da1461019e57600080fd5b806311cbba09146100ef578063227661cb146101045780634162771414610117575b600080fd5b6101026100fd36600461158d565b610237565b005b6101026101123660046115ee565b6103ba565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61017e610169366004611627565b60c96020526000908152604090205460ff1681565b6040519015158152602001610152565b610102610452565b610102610466565b61013e600181565b6101026104e0565b6033546001600160a01b031661013e565b6101026101cd36600461164b565b6105f8565b6065546001600160a01b031661013e565b61017e6101f1366004611696565b60ca60209081526000928352604080842090915290825290205460ff1681565b61010261021f366004611627565b6106b3565b610102610232366004611627565b610724565b61023f6107fa565b6001600160a01b038116600090815260c9602052604090205460ff16610288576040516312ee446d60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038416600090815260ca6020908152604080832060018452918290529091205460ff161580156102d857506001600160a01b03841660009081526020829052604090205460ff16155b156103095760405163cf3aeddd60e01b81526001600160a01b0380871660048301528516602482015260440161027f565b6000610316868686610853565b90506000610325878584610b67565b90506103318482610dc5565b604080518381526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660208301529181018390528582169189811691908916907f833ea3dd2030d9e59d6339e1396b89485751296c537f1f863e5aa23d17f29d589060600160405180910390a45050506103b46001609755565b50505050565b6103c2610ff3565b6103cb8261104d565b6001600160a01b038216600090815260c9602052604090205460ff1615158115151461044e576001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f6c91f18e23863dbfc4ad61ae0f28a4e746dcc4faefa2ec384020e9728c3754b291015b60405180910390a25b5050565b61045a610ff3565b6104646000611074565b565b60655433906001600160a01b031681146104d45760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161027f565b6104dd81611074565b50565b600054610100900460ff16158080156105005750600054600160ff909116105b8061051a5750303b15801561051a575060005460ff166001145b61057d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161027f565b6000805460ff1916600117905580156105a0576000805461ff0019166101001790555b6105a861108d565b6105b06110bc565b80156104dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b610600610ff3565b6106098361104d565b6106128261104d565b6001600160a01b03808416600090815260ca602090815260408083209386168352929052205460ff161515811515146106ae576001600160a01b03838116600081815260ca6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f011e47116ecd03b7ff3432b8c64a99ef03fedfcfc9c8e637e6d31b5a20d6b109910160405180910390a35b505050565b6106bb610ff3565b606580546001600160a01b0383166001600160a01b031990911681179091556106ec6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61072c610ff3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079791906116c4565b90506107bf6107ae6033546001600160a01b031690565b6001600160a01b03841690836110eb565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c558260405161044591815260200190565b60026097540361084c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161027f565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116c4565b905061093d6001600160a01b03831633308761114e565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a891906116c4565b905060006109b68383611710565b6040516305eff7ef60e21b81526001600160a01b0389811660048301529192506000918a16906317bfdfbc906024016020604051808303816000875af1158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2891906116c4565b9050610a35858a84611186565b6040516304c11f0360e31b81526001600160a01b03898116600483015260248201849052600091908b1690632608f818906044016020604051808303816000875af1158015610a88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aac91906116c4565b90508015610ad05760405163259aff3560e01b81526004810182905260240161027f565b610adc868b6000611186565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af1158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4c91906116c4565b9050610b588184611710565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc91906116dd565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906116dd565b6001600160a01b0316816001600160a01b031614610c6157604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc591906116dd565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3891906116c4565b610d429190611727565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db091906116c4565b610dba9082611746565b979650505050505050565b6000826001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2991906116dd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906116c4565b60405163856e5bb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820186905291925060009186169063856e5bb3906044016020604051808303816000875af1158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3091906116c4565b90508015610f545760405163158f1c0f60e01b81526004810182905260240161027f565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf91906116c4565b90506000610fcd8483611710565b9050610fe36001600160a01b03861633836110eb565b50505050505050565b6001609755565b6033546001600160a01b031633146104645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161027f565b6001600160a01b0381166104dd576040516342bcdf7f60e11b815260040160405180910390fd5b606580546001600160a01b03191690556104dd8161127a565b600054610100900460ff166110b45760405162461bcd60e51b815260040161027f90611768565b6104646112cc565b600054610100900460ff166110e35760405162461bcd60e51b815260040161027f90611768565b6104646112fc565b6040516001600160a01b0383166024820152604481018290526106ae90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611323565b6040516001600160a01b03808516602483015283166044820152606481018290526103b49085906323b872dd60e01b90608401611117565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151909160009182918716906111e49085906117df565b6000604051808303816000865af19150503d8060008114611221576040519150601f19603f3d011682016040523d82523d6000602084013e611226565b606091505b5091509150811580611254575080511580159061125457508080602001905181019061125291906117fb565b155b1561127257604051633e3f8f7360e01b815260040160405180910390fd5b505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166112f35760405162461bcd60e51b815260040161027f90611768565b61046433611074565b600054610100900460ff16610fec5760405162461bcd60e51b815260040161027f90611768565b6000611378826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113f89092919063ffffffff16565b905080516000148061139957508080602001905181019061139991906117fb565b6106ae5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161027f565b6060611407848460008561140f565b949350505050565b6060824710156114705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161027f565b600080866001600160a01b0316858760405161148c91906117df565b60006040518083038185875af1925050503d80600081146114c9576040519150601f19603f3d011682016040523d82523d6000602084013e6114ce565b606091505b5091509150610dba8783838760608315611549578251600003611542576001600160a01b0385163b6115425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027f565b5081611407565b611407838381511561155e5781518083602001fd5b8060405162461bcd60e51b815260040161027f9190611818565b6001600160a01b03811681146104dd57600080fd5b600080600080608085870312156115a357600080fd5b84356115ae81611578565b935060208501356115be81611578565b92506040850135915060608501356115d581611578565b939692955090935050565b80151581146104dd57600080fd5b6000806040838503121561160157600080fd5b823561160c81611578565b9150602083013561161c816115e0565b809150509250929050565b60006020828403121561163957600080fd5b813561164481611578565b9392505050565b60008060006060848603121561166057600080fd5b833561166b81611578565b9250602084013561167b81611578565b9150604084013561168b816115e0565b809150509250925092565b600080604083850312156116a957600080fd5b82356116b481611578565b9150602083013561161c81611578565b6000602082840312156116d657600080fd5b5051919050565b6000602082840312156116ef57600080fd5b815161164481611578565b634e487b7160e01b600052601160045260246000fd5b600082821015611722576117226116fa565b500390565b6000816000190483118215151615611741576117416116fa565b500290565b60008261176357634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156117ce5781810151838201526020016117b6565b838111156103b45750506000910152565b600082516117f18184602087016117b3565b9190910192915050565b60006020828403121561180d57600080fd5b8151611644816115e0565b60208152600082518060208401526118378160408501602087016117b3565b601f01601f1916919091016040019291505056fea2646970667358221220f8a1a5984b225bfd737eab0c949b7f909f4411ce953d945f92a44f3df370455564736f6c634300080d0033";
452
452
  const isSuperArgs = (xs) => xs.length > 1;
453
453
  class MoveDebtDelegate__factory extends ethers_1.ContractFactory {
454
454
  constructor(...args) {
@@ -13,7 +13,7 @@ export declare class SwapDebtDelegate__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): SwapDebtDelegate;
15
15
  connect(signer: Signer): SwapDebtDelegate__factory;
16
- static readonly bytecode = "0x608060405234801561001057600080fd5b5061147f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063cdf019991161005b578063cdf01999146100d0578063e30c3978146100e3578063f2fde38b146100f4578063f5f6d3af1461010757600080fd5b8063715018a61461008d57806379ba5097146100975780638129fc1c1461009f5780638da5cb5b146100a7575b600080fd5b61009561011a565b005b61009561012e565b6100956101ad565b6033546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6100956100de366004611248565b6102c5565b6065546001600160a01b03166100b4565b610095610102366004611299565b610370565b610095610115366004611299565b6103e1565b6101226104c3565b61012c600061051d565b565b60655433906001600160a01b031681146101a15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b6101aa8161051d565b50565b600054610100900460ff16158080156101cd5750600054600160ff909116105b806101e75750303b1580156101e7575060005460ff166001145b61024a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610198565b6000805460ff19166001179055801561026d576000805461ff0019166101001790555b610275610536565b61027d610565565b80156101aa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6102cd6104c3565b6102d5610594565b60006102e28486846105ed565b905060006102f1858584610913565b90506102fe848783610b71565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f2c75dbdc6f4a567962b54b3f5994b41d5588fa0c6bcc1fb8f2ba6a39932470058585604051610356929190918252602082015260400190565b60405180910390a4505061036a6001609755565b50505050565b6103786104c3565b606580546001600160a01b0383166001600160a01b031990911681179091556103a96033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6103e96104c3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610430573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045491906112bd565b905061047c61046b6033546001600160a01b031690565b6001600160a01b0384169083610d80565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c55826040516104b791815260200190565b60405180910390a25050565b6033546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610198565b606580546001600160a01b03191690556101aa81610de8565b600054610100900460ff1661055d5760405162461bcd60e51b8152600401610198906112d6565b61012c610e3a565b600054610100900460ff1661058c5760405162461bcd60e51b8152600401610198906112d6565b61012c610e6a565b6002609754036105e65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610198565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106529190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c091906112bd565b90506106d76001600160a01b038316333087610e91565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074291906112bd565b905060006107508383611354565b90506107676001600160a01b038516896000610ec9565b61077b6001600160a01b0385168983610ec9565b6040516305eff7ef60e21b81526001600160a01b038881166004830152600091908a16906317bfdfbc906024016020604051808303816000875af11580156107c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107eb91906112bd565b6040516304c11f0360e31b81526001600160a01b038a81166004830152602482018590529192506000918b1690632608f818906044016020604051808303816000875af1158015610840573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086491906112bd565b905080156108885760405163259aff3560e01b815260048101829052602401610198565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f891906112bd565b90506109048184611354565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190611321565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc9190611321565b6001600160a01b0316816001600160a01b031614610a0d57604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190611321565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906112bd565b610aee919061136b565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906112bd565b610b66908261138a565b979650505050505050565b6000836001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4391906112bd565b60405163856e5bb360e01b81526001600160a01b0386811660048301526024820186905291925060009187169063856e5bb3906044016020604051808303816000875af1158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc91906112bd565b90508015610ce05760405163158f1c0f60e01b815260048101829052602401610198565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b91906112bd565b90506000610d598483611354565b9050610d6f6001600160a01b0386163383610d80565b5050505050505050565b6001609755565b6040516001600160a01b038316602482015260448101829052610de390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610fde565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610e615760405162461bcd60e51b8152600401610198906112d6565b61012c3361051d565b600054610100900460ff16610d795760405162461bcd60e51b8152600401610198906112d6565b6040516001600160a01b038085166024830152831660448201526064810182905261036a9085906323b872dd60e01b90608401610dac565b801580610f435750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4191906112bd565b155b610fae5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610198565b6040516001600160a01b038316602482015260448101829052610de390849063095ea7b360e01b90606401610dac565b6000611033826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110b39092919063ffffffff16565b905080516000148061105457508080602001905181019061105491906113ac565b610de35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610198565b60606110c284846000856110ca565b949350505050565b60608247101561112b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610198565b600080866001600160a01b0316858760405161114791906113fa565b60006040518083038185875af1925050503d8060008114611184576040519150601f19603f3d011682016040523d82523d6000602084013e611189565b606091505b5091509150610b6687838387606083156112045782516000036111fd576001600160a01b0385163b6111fd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610198565b50816110c2565b6110c283838151156112195781518083602001fd5b8060405162461bcd60e51b81526004016101989190611416565b6001600160a01b03811681146101aa57600080fd5b6000806000806080858703121561125e57600080fd5b843561126981611233565b9350602085013561127981611233565b9250604085013561128981611233565b9396929550929360600135925050565b6000602082840312156112ab57600080fd5b81356112b681611233565b9392505050565b6000602082840312156112cf57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561133357600080fd5b81516112b681611233565b634e487b7160e01b600052601160045260246000fd5b6000828210156113665761136661133e565b500390565b60008160001904831182151516156113855761138561133e565b500290565b6000826113a757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156113be57600080fd5b815180151581146112b657600080fd5b60005b838110156113e95781810151838201526020016113d1565b8381111561036a5750506000910152565b6000825161140c8184602087016113ce565b9190910192915050565b60208152600082518060208401526114358160408501602087016113ce565b601f01601f1916919091016040019291505056fea264697066735822122065f899c9f524b36a11c42c24035094c535b03e5496cfa3e237363462ab404c2a64736f6c634300080d0033";
16
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5061147f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063cdf019991161005b578063cdf01999146100d0578063e30c3978146100e3578063f2fde38b146100f4578063f5f6d3af1461010757600080fd5b8063715018a61461008d57806379ba5097146100975780638129fc1c1461009f5780638da5cb5b146100a7575b600080fd5b61009561011a565b005b61009561012e565b6100956101ad565b6033546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6100956100de366004611248565b6102c5565b6065546001600160a01b03166100b4565b610095610102366004611299565b610370565b610095610115366004611299565b6103e1565b6101226104c3565b61012c600061051d565b565b60655433906001600160a01b031681146101a15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b6101aa8161051d565b50565b600054610100900460ff16158080156101cd5750600054600160ff909116105b806101e75750303b1580156101e7575060005460ff166001145b61024a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610198565b6000805460ff19166001179055801561026d576000805461ff0019166101001790555b610275610536565b61027d610565565b80156101aa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6102cd6104c3565b6102d5610594565b60006102e28486846105ed565b905060006102f1858584610913565b90506102fe848783610b71565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f2c75dbdc6f4a567962b54b3f5994b41d5588fa0c6bcc1fb8f2ba6a39932470058585604051610356929190918252602082015260400190565b60405180910390a4505061036a6001609755565b50505050565b6103786104c3565b606580546001600160a01b0383166001600160a01b031990911681179091556103a96033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6103e96104c3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610430573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045491906112bd565b905061047c61046b6033546001600160a01b031690565b6001600160a01b0384169083610d80565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c55826040516104b791815260200190565b60405180910390a25050565b6033546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610198565b606580546001600160a01b03191690556101aa81610de8565b600054610100900460ff1661055d5760405162461bcd60e51b8152600401610198906112d6565b61012c610e3a565b600054610100900460ff1661058c5760405162461bcd60e51b8152600401610198906112d6565b61012c610e6a565b6002609754036105e65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610198565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106529190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c091906112bd565b90506106d76001600160a01b038316333087610e91565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074291906112bd565b905060006107508383611354565b90506107676001600160a01b038516896000610ec9565b61077b6001600160a01b0385168983610ec9565b6040516305eff7ef60e21b81526001600160a01b038881166004830152600091908a16906317bfdfbc906024016020604051808303816000875af11580156107c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107eb91906112bd565b6040516304c11f0360e31b81526001600160a01b038a81166004830152602482018590529192506000918b1690632608f818906044016020604051808303816000875af1158015610840573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086491906112bd565b905080156108885760405163259aff3560e01b815260048101829052602401610198565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f891906112bd565b90506109048184611354565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190611321565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc9190611321565b6001600160a01b0316816001600160a01b031614610a0d57604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190611321565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906112bd565b610aee919061136b565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906112bd565b610b66908261138a565b979650505050505050565b6000836001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4391906112bd565b60405163856e5bb360e01b81526001600160a01b0386811660048301526024820186905291925060009187169063856e5bb3906044016020604051808303816000875af1158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc91906112bd565b90508015610ce05760405163158f1c0f60e01b815260048101829052602401610198565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b91906112bd565b90506000610d598483611354565b9050610d6f6001600160a01b0386163383610d80565b5050505050505050565b6001609755565b6040516001600160a01b038316602482015260448101829052610de390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610fde565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610e615760405162461bcd60e51b8152600401610198906112d6565b61012c3361051d565b600054610100900460ff16610d795760405162461bcd60e51b8152600401610198906112d6565b6040516001600160a01b038085166024830152831660448201526064810182905261036a9085906323b872dd60e01b90608401610dac565b801580610f435750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4191906112bd565b155b610fae5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610198565b6040516001600160a01b038316602482015260448101829052610de390849063095ea7b360e01b90606401610dac565b6000611033826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110b39092919063ffffffff16565b905080516000148061105457508080602001905181019061105491906113ac565b610de35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610198565b60606110c284846000856110ca565b949350505050565b60608247101561112b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610198565b600080866001600160a01b0316858760405161114791906113fa565b60006040518083038185875af1925050503d8060008114611184576040519150601f19603f3d011682016040523d82523d6000602084013e611189565b606091505b5091509150610b6687838387606083156112045782516000036111fd576001600160a01b0385163b6111fd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610198565b50816110c2565b6110c283838151156112195781518083602001fd5b8060405162461bcd60e51b81526004016101989190611416565b6001600160a01b03811681146101aa57600080fd5b6000806000806080858703121561125e57600080fd5b843561126981611233565b9350602085013561127981611233565b9250604085013561128981611233565b9396929550929360600135925050565b6000602082840312156112ab57600080fd5b81356112b681611233565b9392505050565b6000602082840312156112cf57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561133357600080fd5b81516112b681611233565b634e487b7160e01b600052601160045260246000fd5b6000828210156113665761136661133e565b500390565b60008160001904831182151516156113855761138561133e565b500290565b6000826113a757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156113be57600080fd5b815180151581146112b657600080fd5b60005b838110156113e95781810151838201526020016113d1565b8381111561036a5750506000910152565b6000825161140c8184602087016113ce565b9190910192915050565b60208152600082518060208401526114358160408501602087016113ce565b601f01601f1916919091016040019291505056fea264697066735822122087fe870e950380f49f480c3e250905a8460b95f51bb11a36dcfbb485f83a577a64736f6c634300080d0033";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [{
19
19
  readonly internalType: "uint256";
@@ -240,7 +240,7 @@ const _abi = [
240
240
  type: "function",
241
241
  },
242
242
  ];
243
- const _bytecode = "0x608060405234801561001057600080fd5b5061147f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063cdf019991161005b578063cdf01999146100d0578063e30c3978146100e3578063f2fde38b146100f4578063f5f6d3af1461010757600080fd5b8063715018a61461008d57806379ba5097146100975780638129fc1c1461009f5780638da5cb5b146100a7575b600080fd5b61009561011a565b005b61009561012e565b6100956101ad565b6033546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6100956100de366004611248565b6102c5565b6065546001600160a01b03166100b4565b610095610102366004611299565b610370565b610095610115366004611299565b6103e1565b6101226104c3565b61012c600061051d565b565b60655433906001600160a01b031681146101a15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b6101aa8161051d565b50565b600054610100900460ff16158080156101cd5750600054600160ff909116105b806101e75750303b1580156101e7575060005460ff166001145b61024a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610198565b6000805460ff19166001179055801561026d576000805461ff0019166101001790555b610275610536565b61027d610565565b80156101aa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6102cd6104c3565b6102d5610594565b60006102e28486846105ed565b905060006102f1858584610913565b90506102fe848783610b71565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f2c75dbdc6f4a567962b54b3f5994b41d5588fa0c6bcc1fb8f2ba6a39932470058585604051610356929190918252602082015260400190565b60405180910390a4505061036a6001609755565b50505050565b6103786104c3565b606580546001600160a01b0383166001600160a01b031990911681179091556103a96033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6103e96104c3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610430573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045491906112bd565b905061047c61046b6033546001600160a01b031690565b6001600160a01b0384169083610d80565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c55826040516104b791815260200190565b60405180910390a25050565b6033546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610198565b606580546001600160a01b03191690556101aa81610de8565b600054610100900460ff1661055d5760405162461bcd60e51b8152600401610198906112d6565b61012c610e3a565b600054610100900460ff1661058c5760405162461bcd60e51b8152600401610198906112d6565b61012c610e6a565b6002609754036105e65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610198565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106529190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c091906112bd565b90506106d76001600160a01b038316333087610e91565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074291906112bd565b905060006107508383611354565b90506107676001600160a01b038516896000610ec9565b61077b6001600160a01b0385168983610ec9565b6040516305eff7ef60e21b81526001600160a01b038881166004830152600091908a16906317bfdfbc906024016020604051808303816000875af11580156107c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107eb91906112bd565b6040516304c11f0360e31b81526001600160a01b038a81166004830152602482018590529192506000918b1690632608f818906044016020604051808303816000875af1158015610840573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086491906112bd565b905080156108885760405163259aff3560e01b815260048101829052602401610198565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f891906112bd565b90506109048184611354565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190611321565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc9190611321565b6001600160a01b0316816001600160a01b031614610a0d57604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190611321565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906112bd565b610aee919061136b565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906112bd565b610b66908261138a565b979650505050505050565b6000836001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4391906112bd565b60405163856e5bb360e01b81526001600160a01b0386811660048301526024820186905291925060009187169063856e5bb3906044016020604051808303816000875af1158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc91906112bd565b90508015610ce05760405163158f1c0f60e01b815260048101829052602401610198565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b91906112bd565b90506000610d598483611354565b9050610d6f6001600160a01b0386163383610d80565b5050505050505050565b6001609755565b6040516001600160a01b038316602482015260448101829052610de390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610fde565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610e615760405162461bcd60e51b8152600401610198906112d6565b61012c3361051d565b600054610100900460ff16610d795760405162461bcd60e51b8152600401610198906112d6565b6040516001600160a01b038085166024830152831660448201526064810182905261036a9085906323b872dd60e01b90608401610dac565b801580610f435750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4191906112bd565b155b610fae5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610198565b6040516001600160a01b038316602482015260448101829052610de390849063095ea7b360e01b90606401610dac565b6000611033826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110b39092919063ffffffff16565b905080516000148061105457508080602001905181019061105491906113ac565b610de35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610198565b60606110c284846000856110ca565b949350505050565b60608247101561112b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610198565b600080866001600160a01b0316858760405161114791906113fa565b60006040518083038185875af1925050503d8060008114611184576040519150601f19603f3d011682016040523d82523d6000602084013e611189565b606091505b5091509150610b6687838387606083156112045782516000036111fd576001600160a01b0385163b6111fd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610198565b50816110c2565b6110c283838151156112195781518083602001fd5b8060405162461bcd60e51b81526004016101989190611416565b6001600160a01b03811681146101aa57600080fd5b6000806000806080858703121561125e57600080fd5b843561126981611233565b9350602085013561127981611233565b9250604085013561128981611233565b9396929550929360600135925050565b6000602082840312156112ab57600080fd5b81356112b681611233565b9392505050565b6000602082840312156112cf57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561133357600080fd5b81516112b681611233565b634e487b7160e01b600052601160045260246000fd5b6000828210156113665761136661133e565b500390565b60008160001904831182151516156113855761138561133e565b500290565b6000826113a757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156113be57600080fd5b815180151581146112b657600080fd5b60005b838110156113e95781810151838201526020016113d1565b8381111561036a5750506000910152565b6000825161140c8184602087016113ce565b9190910192915050565b60208152600082518060208401526114358160408501602087016113ce565b601f01601f1916919091016040019291505056fea264697066735822122065f899c9f524b36a11c42c24035094c535b03e5496cfa3e237363462ab404c2a64736f6c634300080d0033";
243
+ const _bytecode = "0x608060405234801561001057600080fd5b5061147f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063cdf019991161005b578063cdf01999146100d0578063e30c3978146100e3578063f2fde38b146100f4578063f5f6d3af1461010757600080fd5b8063715018a61461008d57806379ba5097146100975780638129fc1c1461009f5780638da5cb5b146100a7575b600080fd5b61009561011a565b005b61009561012e565b6100956101ad565b6033546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6100956100de366004611248565b6102c5565b6065546001600160a01b03166100b4565b610095610102366004611299565b610370565b610095610115366004611299565b6103e1565b6101226104c3565b61012c600061051d565b565b60655433906001600160a01b031681146101a15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b6101aa8161051d565b50565b600054610100900460ff16158080156101cd5750600054600160ff909116105b806101e75750303b1580156101e7575060005460ff166001145b61024a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610198565b6000805460ff19166001179055801561026d576000805461ff0019166101001790555b610275610536565b61027d610565565b80156101aa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6102cd6104c3565b6102d5610594565b60006102e28486846105ed565b905060006102f1858584610913565b90506102fe848783610b71565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f2c75dbdc6f4a567962b54b3f5994b41d5588fa0c6bcc1fb8f2ba6a39932470058585604051610356929190918252602082015260400190565b60405180910390a4505061036a6001609755565b50505050565b6103786104c3565b606580546001600160a01b0383166001600160a01b031990911681179091556103a96033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6103e96104c3565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610430573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045491906112bd565b905061047c61046b6033546001600160a01b031690565b6001600160a01b0384169083610d80565b816001600160a01b03167ff1156aae74417f7d02b9defe4b9aaf1190f2c7412655278e6bf3ee42fce77c55826040516104b791815260200190565b60405180910390a25050565b6033546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610198565b606580546001600160a01b03191690556101aa81610de8565b600054610100900460ff1661055d5760405162461bcd60e51b8152600401610198906112d6565b61012c610e3a565b600054610100900460ff1661058c5760405162461bcd60e51b8152600401610198906112d6565b61012c610e6a565b6002609754036105e65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610198565b6002609755565b600080846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106529190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c091906112bd565b90506106d76001600160a01b038316333087610e91565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa15801561071e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074291906112bd565b905060006107508383611354565b90506107676001600160a01b038516896000610ec9565b61077b6001600160a01b0385168983610ec9565b6040516305eff7ef60e21b81526001600160a01b038881166004830152600091908a16906317bfdfbc906024016020604051808303816000875af11580156107c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107eb91906112bd565b6040516304c11f0360e31b81526001600160a01b038a81166004830152602482018590529192506000918b1690632608f818906044016020604051808303816000875af1158015610840573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086491906112bd565b905080156108885760405163259aff3560e01b815260048101829052602401610198565b6040516305eff7ef60e21b81526001600160a01b038a81166004830152600091908c16906317bfdfbc906024016020604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f891906112bd565b90506109048184611354565b9b9a5050505050505050505050565b600080846001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190611321565b9050836001600160a01b0316635fe3b5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dc9190611321565b6001600160a01b0316816001600160a01b031614610a0d57604051630c73eb0560e01b815260040160405180910390fd5b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190611321565b60405163fc57d4df60e01b81526001600160a01b03888116600483015291925060009186919084169063fc57d4df90602401602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906112bd565b610aee919061136b565b60405163fc57d4df60e01b81526001600160a01b0388811660048301529192509083169063fc57d4df90602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906112bd565b610b66908261138a565b979650505050505050565b6000836001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611321565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4391906112bd565b60405163856e5bb360e01b81526001600160a01b0386811660048301526024820186905291925060009187169063856e5bb3906044016020604051808303816000875af1158015610c98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbc91906112bd565b90508015610ce05760405163158f1c0f60e01b815260048101829052602401610198565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b91906112bd565b90506000610d598483611354565b9050610d6f6001600160a01b0386163383610d80565b5050505050505050565b6001609755565b6040516001600160a01b038316602482015260448101829052610de390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610fde565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610e615760405162461bcd60e51b8152600401610198906112d6565b61012c3361051d565b600054610100900460ff16610d795760405162461bcd60e51b8152600401610198906112d6565b6040516001600160a01b038085166024830152831660448201526064810182905261036a9085906323b872dd60e01b90608401610dac565b801580610f435750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4191906112bd565b155b610fae5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610198565b6040516001600160a01b038316602482015260448101829052610de390849063095ea7b360e01b90606401610dac565b6000611033826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110b39092919063ffffffff16565b905080516000148061105457508080602001905181019061105491906113ac565b610de35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610198565b60606110c284846000856110ca565b949350505050565b60608247101561112b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610198565b600080866001600160a01b0316858760405161114791906113fa565b60006040518083038185875af1925050503d8060008114611184576040519150601f19603f3d011682016040523d82523d6000602084013e611189565b606091505b5091509150610b6687838387606083156112045782516000036111fd576001600160a01b0385163b6111fd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610198565b50816110c2565b6110c283838151156112195781518083602001fd5b8060405162461bcd60e51b81526004016101989190611416565b6001600160a01b03811681146101aa57600080fd5b6000806000806080858703121561125e57600080fd5b843561126981611233565b9350602085013561127981611233565b9250604085013561128981611233565b9396929550929360600135925050565b6000602082840312156112ab57600080fd5b81356112b681611233565b9392505050565b6000602082840312156112cf57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561133357600080fd5b81516112b681611233565b634e487b7160e01b600052601160045260246000fd5b6000828210156113665761136661133e565b500390565b60008160001904831182151516156113855761138561133e565b500290565b6000826113a757634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156113be57600080fd5b815180151581146112b657600080fd5b60005b838110156113e95781810151838201526020016113d1565b8381111561036a5750506000910152565b6000825161140c8184602087016113ce565b9190910192915050565b60208152600082518060208401526114358160408501602087016113ce565b601f01601f1916919091016040019291505056fea264697066735822122087fe870e950380f49f480c3e250905a8460b95f51bb11a36dcfbb485f83a577a64736f6c634300080d0033";
244
244
  const isSuperArgs = (xs) => xs.length > 1;
245
245
  class SwapDebtDelegate__factory extends ethers_1.ContractFactory {
246
246
  constructor(...args) {