@gearbox-protocol/sdk 3.0.0-next.5 → 3.0.0-next.7

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 (80) hide show
  1. package/contracts/IAirdropDistributor.sol +55 -0
  2. package/contracts/IDegenDistributor.sol +28 -0
  3. package/contracts/IOffchainOracle.sol +17 -0
  4. package/contracts/IWETHGateway.sol +33 -0
  5. package/contracts/IwstETHGateway.sol +24 -0
  6. package/contracts/index.sol +2 -0
  7. package/lib/config.d.ts +0 -1
  8. package/lib/config.js +1 -2
  9. package/lib/core/creditManager.d.ts +11 -6
  10. package/lib/core/creditManager.js +47 -24
  11. package/lib/core/pool/data.d.ts +3 -2
  12. package/lib/core/pool/data.js +4 -1
  13. package/lib/parsers/txParser.d.ts +3 -3
  14. package/lib/pathfinder/core.d.ts +4 -4
  15. package/lib/pathfinder/pathfinder.js +3 -2
  16. package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.d.ts +124 -0
  17. package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.js +2 -0
  18. package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.d.ts +73 -0
  19. package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.js +2 -0
  20. package/lib/types/IAirdropDistributor.sol/index.d.ts +2 -0
  21. package/lib/types/IAirdropDistributor.sol/index.js +2 -0
  22. package/lib/types/IDegenDistributor.sol/IDegenDistributor.d.ts +96 -0
  23. package/lib/types/IDegenDistributor.sol/IDegenDistributor.js +2 -0
  24. package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.d.ts +53 -0
  25. package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.js +2 -0
  26. package/lib/types/IDegenDistributor.sol/index.d.ts +2 -0
  27. package/lib/types/IDegenDistributor.sol/index.js +2 -0
  28. package/lib/types/IOffchainOracle.d.ts +58 -0
  29. package/lib/types/IOffchainOracle.js +2 -0
  30. package/lib/types/IWETHGateway.d.ts +90 -0
  31. package/lib/types/IWETHGateway.js +2 -0
  32. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.d.ts +70 -0
  33. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.js +2 -0
  34. package/lib/types/IwstETHGateway.sol/index.d.ts +1 -0
  35. package/lib/types/IwstETHGateway.sol/index.js +2 -0
  36. package/lib/types/factories/AaveV2_WrappedAToken.sol/WrappedAToken__factory.d.ts +1 -1
  37. package/lib/types/factories/AaveV2_WrappedAToken.sol/WrappedAToken__factory.js +1 -1
  38. package/lib/types/factories/AddressProvider__factory.d.ts +1 -1
  39. package/lib/types/factories/AddressProvider__factory.js +1 -1
  40. package/lib/types/factories/Balances.sol/BalanceOps__factory.d.ts +1 -1
  41. package/lib/types/factories/Balances.sol/BalanceOps__factory.js +1 -1
  42. package/lib/types/factories/Claimable__factory.d.ts +1 -1
  43. package/lib/types/factories/Claimable__factory.js +1 -1
  44. package/lib/types/factories/ERC20__factory.d.ts +1 -1
  45. package/lib/types/factories/ERC20__factory.js +1 -1
  46. package/lib/types/factories/Errors__factory.d.ts +1 -1
  47. package/lib/types/factories/Errors__factory.js +1 -1
  48. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.d.ts +63 -0
  49. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +88 -0
  50. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.d.ts +119 -0
  51. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.js +161 -0
  52. package/lib/types/factories/IAirdropDistributor.sol/index.d.ts +2 -0
  53. package/lib/types/factories/IAirdropDistributor.sol/index.js +10 -0
  54. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.d.ts +38 -0
  55. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.js +57 -0
  56. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.d.ts +84 -0
  57. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.js +117 -0
  58. package/lib/types/factories/IDegenDistributor.sol/index.d.ts +2 -0
  59. package/lib/types/factories/IDegenDistributor.sol/index.js +10 -0
  60. package/lib/types/factories/IOffchainOracle__factory.d.ts +48 -0
  61. package/lib/types/factories/IOffchainOracle__factory.js +72 -0
  62. package/lib/types/factories/IWETHGateway__factory.d.ts +58 -0
  63. package/lib/types/factories/IWETHGateway__factory.js +83 -0
  64. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.d.ts +48 -0
  65. package/lib/types/factories/IwstETHGateway.sol/IwstETHGateWay__factory.js +71 -0
  66. package/lib/types/factories/IwstETHGateway.sol/index.d.ts +1 -0
  67. package/lib/types/factories/IwstETHGateway.sol/index.js +8 -0
  68. package/lib/types/factories/SafeERC20__factory.d.ts +1 -1
  69. package/lib/types/factories/SafeERC20__factory.js +1 -1
  70. package/lib/types/factories/WATokenZapper__factory.d.ts +1 -1
  71. package/lib/types/factories/WATokenZapper__factory.js +1 -1
  72. package/lib/types/factories/WETHZapper__factory.d.ts +1 -1
  73. package/lib/types/factories/WETHZapper__factory.js +1 -1
  74. package/lib/types/factories/WstETHZapper__factory.d.ts +1 -1
  75. package/lib/types/factories/WstETHZapper__factory.js +1 -1
  76. package/lib/types/factories/index.d.ts +5 -0
  77. package/lib/types/factories/index.js +9 -2
  78. package/lib/types/index.d.ts +31 -12
  79. package/lib/types/index.js +32 -20
  80. package/package.json +2 -2
@@ -0,0 +1,96 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../common";
5
+ export interface IDegenDistributorInterface extends utils.Interface {
6
+ functions: {
7
+ "claim(uint256,address,uint256,bytes32[])": FunctionFragment;
8
+ "claimed(address)": FunctionFragment;
9
+ "merkleRoot()": FunctionFragment;
10
+ };
11
+ getFunction(nameOrSignatureOrTopic: "claim" | "claimed" | "merkleRoot"): FunctionFragment;
12
+ encodeFunctionData(functionFragment: "claim", values: [
13
+ PromiseOrValue<BigNumberish>,
14
+ PromiseOrValue<string>,
15
+ PromiseOrValue<BigNumberish>,
16
+ PromiseOrValue<BytesLike>[]
17
+ ]): string;
18
+ encodeFunctionData(functionFragment: "claimed", values: [PromiseOrValue<string>]): string;
19
+ encodeFunctionData(functionFragment: "merkleRoot", values?: undefined): string;
20
+ decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result;
21
+ decodeFunctionResult(functionFragment: "claimed", data: BytesLike): Result;
22
+ decodeFunctionResult(functionFragment: "merkleRoot", data: BytesLike): Result;
23
+ events: {
24
+ "Claimed(address,uint256)": EventFragment;
25
+ "RootUpdated(bytes32,bytes32)": EventFragment;
26
+ };
27
+ getEvent(nameOrSignatureOrTopic: "Claimed"): EventFragment;
28
+ getEvent(nameOrSignatureOrTopic: "RootUpdated"): EventFragment;
29
+ }
30
+ export interface ClaimedEventObject {
31
+ account: string;
32
+ amount: BigNumber;
33
+ }
34
+ export type ClaimedEvent = TypedEvent<[string, BigNumber], ClaimedEventObject>;
35
+ export type ClaimedEventFilter = TypedEventFilter<ClaimedEvent>;
36
+ export interface RootUpdatedEventObject {
37
+ oldRoot: string;
38
+ newRoot: string;
39
+ }
40
+ export type RootUpdatedEvent = TypedEvent<[
41
+ string,
42
+ string
43
+ ], RootUpdatedEventObject>;
44
+ export type RootUpdatedEventFilter = TypedEventFilter<RootUpdatedEvent>;
45
+ export interface IDegenDistributor extends BaseContract {
46
+ connect(signerOrProvider: Signer | Provider | string): this;
47
+ attach(addressOrName: string): this;
48
+ deployed(): Promise<this>;
49
+ interface: IDegenDistributorInterface;
50
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
51
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
52
+ listeners(eventName?: string): Array<Listener>;
53
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
54
+ removeAllListeners(eventName?: string): this;
55
+ off: OnEvent<this>;
56
+ on: OnEvent<this>;
57
+ once: OnEvent<this>;
58
+ removeListener: OnEvent<this>;
59
+ functions: {
60
+ claim(index: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, totalAmount: PromiseOrValue<BigNumberish>, merkleProof: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
61
+ from?: PromiseOrValue<string>;
62
+ }): Promise<ContractTransaction>;
63
+ claimed(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
64
+ merkleRoot(overrides?: CallOverrides): Promise<[string]>;
65
+ };
66
+ claim(index: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, totalAmount: PromiseOrValue<BigNumberish>, merkleProof: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
67
+ from?: PromiseOrValue<string>;
68
+ }): Promise<ContractTransaction>;
69
+ claimed(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
70
+ merkleRoot(overrides?: CallOverrides): Promise<string>;
71
+ callStatic: {
72
+ claim(index: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, totalAmount: PromiseOrValue<BigNumberish>, merkleProof: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<void>;
73
+ claimed(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
74
+ merkleRoot(overrides?: CallOverrides): Promise<string>;
75
+ };
76
+ filters: {
77
+ "Claimed(address,uint256)"(account?: PromiseOrValue<string> | null, amount?: null): ClaimedEventFilter;
78
+ Claimed(account?: PromiseOrValue<string> | null, amount?: null): ClaimedEventFilter;
79
+ "RootUpdated(bytes32,bytes32)"(oldRoot?: null, newRoot?: PromiseOrValue<BytesLike> | null): RootUpdatedEventFilter;
80
+ RootUpdated(oldRoot?: null, newRoot?: PromiseOrValue<BytesLike> | null): RootUpdatedEventFilter;
81
+ };
82
+ estimateGas: {
83
+ claim(index: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, totalAmount: PromiseOrValue<BigNumberish>, merkleProof: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
84
+ from?: PromiseOrValue<string>;
85
+ }): Promise<BigNumber>;
86
+ claimed(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
87
+ merkleRoot(overrides?: CallOverrides): Promise<BigNumber>;
88
+ };
89
+ populateTransaction: {
90
+ claim(index: PromiseOrValue<BigNumberish>, account: PromiseOrValue<string>, totalAmount: PromiseOrValue<BigNumberish>, merkleProof: PromiseOrValue<BytesLike>[], overrides?: Overrides & {
91
+ from?: PromiseOrValue<string>;
92
+ }): Promise<PopulatedTransaction>;
93
+ claimed(user: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
94
+ merkleRoot(overrides?: CallOverrides): Promise<PopulatedTransaction>;
95
+ };
96
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,53 @@
1
+ import type { BaseContract, BigNumber, BytesLike, Signer, utils } from "ethers";
2
+ import type { EventFragment } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../common";
5
+ export interface IDegenDistributorEventsInterface extends utils.Interface {
6
+ functions: {};
7
+ events: {
8
+ "Claimed(address,uint256)": EventFragment;
9
+ "RootUpdated(bytes32,bytes32)": EventFragment;
10
+ };
11
+ getEvent(nameOrSignatureOrTopic: "Claimed"): EventFragment;
12
+ getEvent(nameOrSignatureOrTopic: "RootUpdated"): EventFragment;
13
+ }
14
+ export interface ClaimedEventObject {
15
+ account: string;
16
+ amount: BigNumber;
17
+ }
18
+ export type ClaimedEvent = TypedEvent<[string, BigNumber], ClaimedEventObject>;
19
+ export type ClaimedEventFilter = TypedEventFilter<ClaimedEvent>;
20
+ export interface RootUpdatedEventObject {
21
+ oldRoot: string;
22
+ newRoot: string;
23
+ }
24
+ export type RootUpdatedEvent = TypedEvent<[
25
+ string,
26
+ string
27
+ ], RootUpdatedEventObject>;
28
+ export type RootUpdatedEventFilter = TypedEventFilter<RootUpdatedEvent>;
29
+ export interface IDegenDistributorEvents extends BaseContract {
30
+ connect(signerOrProvider: Signer | Provider | string): this;
31
+ attach(addressOrName: string): this;
32
+ deployed(): Promise<this>;
33
+ interface: IDegenDistributorEventsInterface;
34
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
35
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
36
+ listeners(eventName?: string): Array<Listener>;
37
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
38
+ removeAllListeners(eventName?: string): this;
39
+ off: OnEvent<this>;
40
+ on: OnEvent<this>;
41
+ once: OnEvent<this>;
42
+ removeListener: OnEvent<this>;
43
+ functions: {};
44
+ callStatic: {};
45
+ filters: {
46
+ "Claimed(address,uint256)"(account?: PromiseOrValue<string> | null, amount?: null): ClaimedEventFilter;
47
+ Claimed(account?: PromiseOrValue<string> | null, amount?: null): ClaimedEventFilter;
48
+ "RootUpdated(bytes32,bytes32)"(oldRoot?: null, newRoot?: PromiseOrValue<BytesLike> | null): RootUpdatedEventFilter;
49
+ RootUpdated(oldRoot?: null, newRoot?: PromiseOrValue<BytesLike> | null): RootUpdatedEventFilter;
50
+ };
51
+ estimateGas: {};
52
+ populateTransaction: {};
53
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export type { IDegenDistributor } from "./IDegenDistributor";
2
+ export type { IDegenDistributorEvents } from "./IDegenDistributorEvents";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,58 @@
1
+ import type { BaseContract, BigNumber, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
5
+ export interface IOffchainOracleInterface extends utils.Interface {
6
+ functions: {
7
+ "getRate(address,address,bool)": FunctionFragment;
8
+ "getRateToEth(address,bool)": FunctionFragment;
9
+ };
10
+ getFunction(nameOrSignatureOrTopic: "getRate" | "getRateToEth"): FunctionFragment;
11
+ encodeFunctionData(functionFragment: "getRate", values: [
12
+ PromiseOrValue<string>,
13
+ PromiseOrValue<string>,
14
+ PromiseOrValue<boolean>
15
+ ]): string;
16
+ encodeFunctionData(functionFragment: "getRateToEth", values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
17
+ decodeFunctionResult(functionFragment: "getRate", data: BytesLike): Result;
18
+ decodeFunctionResult(functionFragment: "getRateToEth", data: BytesLike): Result;
19
+ events: {};
20
+ }
21
+ export interface IOffchainOracle extends BaseContract {
22
+ connect(signerOrProvider: Signer | Provider | string): this;
23
+ attach(addressOrName: string): this;
24
+ deployed(): Promise<this>;
25
+ interface: IOffchainOracleInterface;
26
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
27
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
28
+ listeners(eventName?: string): Array<Listener>;
29
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
30
+ removeAllListeners(eventName?: string): this;
31
+ off: OnEvent<this>;
32
+ on: OnEvent<this>;
33
+ once: OnEvent<this>;
34
+ removeListener: OnEvent<this>;
35
+ functions: {
36
+ getRate(srcToken: PromiseOrValue<string>, dstToken: PromiseOrValue<string>, useWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
37
+ weightedRate: BigNumber;
38
+ }>;
39
+ getRateToEth(srcToken: PromiseOrValue<string>, useSrcWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber] & {
40
+ weightedRate: BigNumber;
41
+ }>;
42
+ };
43
+ getRate(srcToken: PromiseOrValue<string>, dstToken: PromiseOrValue<string>, useWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
44
+ getRateToEth(srcToken: PromiseOrValue<string>, useSrcWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
45
+ callStatic: {
46
+ getRate(srcToken: PromiseOrValue<string>, dstToken: PromiseOrValue<string>, useWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
47
+ getRateToEth(srcToken: PromiseOrValue<string>, useSrcWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
48
+ };
49
+ filters: {};
50
+ estimateGas: {
51
+ getRate(srcToken: PromiseOrValue<string>, dstToken: PromiseOrValue<string>, useWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
52
+ getRateToEth(srcToken: PromiseOrValue<string>, useSrcWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
53
+ };
54
+ populateTransaction: {
55
+ getRate(srcToken: PromiseOrValue<string>, dstToken: PromiseOrValue<string>, useWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
56
+ getRateToEth(srcToken: PromiseOrValue<string>, useSrcWrappers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
57
+ };
58
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,90 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
5
+ export interface IWETHGatewayInterface extends utils.Interface {
6
+ functions: {
7
+ "addLiquidityETH(address,address,uint16)": FunctionFragment;
8
+ "removeLiquidityETH(address,uint256,address)": FunctionFragment;
9
+ "unwrapWETH(address,uint256)": FunctionFragment;
10
+ };
11
+ getFunction(nameOrSignatureOrTopic: "addLiquidityETH" | "removeLiquidityETH" | "unwrapWETH"): FunctionFragment;
12
+ encodeFunctionData(functionFragment: "addLiquidityETH", values: [
13
+ PromiseOrValue<string>,
14
+ PromiseOrValue<string>,
15
+ PromiseOrValue<BigNumberish>
16
+ ]): string;
17
+ encodeFunctionData(functionFragment: "removeLiquidityETH", values: [
18
+ PromiseOrValue<string>,
19
+ PromiseOrValue<BigNumberish>,
20
+ PromiseOrValue<string>
21
+ ]): string;
22
+ encodeFunctionData(functionFragment: "unwrapWETH", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
23
+ decodeFunctionResult(functionFragment: "addLiquidityETH", data: BytesLike): Result;
24
+ decodeFunctionResult(functionFragment: "removeLiquidityETH", data: BytesLike): Result;
25
+ decodeFunctionResult(functionFragment: "unwrapWETH", data: BytesLike): Result;
26
+ events: {};
27
+ }
28
+ export interface IWETHGateway extends BaseContract {
29
+ connect(signerOrProvider: Signer | Provider | string): this;
30
+ attach(addressOrName: string): this;
31
+ deployed(): Promise<this>;
32
+ interface: IWETHGatewayInterface;
33
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
34
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
35
+ listeners(eventName?: string): Array<Listener>;
36
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
37
+ removeAllListeners(eventName?: string): this;
38
+ off: OnEvent<this>;
39
+ on: OnEvent<this>;
40
+ once: OnEvent<this>;
41
+ removeListener: OnEvent<this>;
42
+ functions: {
43
+ addLiquidityETH(pool: PromiseOrValue<string>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
44
+ from?: PromiseOrValue<string>;
45
+ }): Promise<ContractTransaction>;
46
+ removeLiquidityETH(pool: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
47
+ from?: PromiseOrValue<string>;
48
+ }): Promise<ContractTransaction>;
49
+ unwrapWETH(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
50
+ from?: PromiseOrValue<string>;
51
+ }): Promise<ContractTransaction>;
52
+ };
53
+ addLiquidityETH(pool: PromiseOrValue<string>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
54
+ from?: PromiseOrValue<string>;
55
+ }): Promise<ContractTransaction>;
56
+ removeLiquidityETH(pool: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
57
+ from?: PromiseOrValue<string>;
58
+ }): Promise<ContractTransaction>;
59
+ unwrapWETH(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
60
+ from?: PromiseOrValue<string>;
61
+ }): Promise<ContractTransaction>;
62
+ callStatic: {
63
+ addLiquidityETH(pool: PromiseOrValue<string>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
64
+ removeLiquidityETH(pool: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
65
+ unwrapWETH(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
66
+ };
67
+ filters: {};
68
+ estimateGas: {
69
+ addLiquidityETH(pool: PromiseOrValue<string>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
70
+ from?: PromiseOrValue<string>;
71
+ }): Promise<BigNumber>;
72
+ removeLiquidityETH(pool: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
73
+ from?: PromiseOrValue<string>;
74
+ }): Promise<BigNumber>;
75
+ unwrapWETH(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
76
+ from?: PromiseOrValue<string>;
77
+ }): Promise<BigNumber>;
78
+ };
79
+ populateTransaction: {
80
+ addLiquidityETH(pool: PromiseOrValue<string>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
81
+ from?: PromiseOrValue<string>;
82
+ }): Promise<PopulatedTransaction>;
83
+ removeLiquidityETH(pool: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
84
+ from?: PromiseOrValue<string>;
85
+ }): Promise<PopulatedTransaction>;
86
+ unwrapWETH(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
87
+ from?: PromiseOrValue<string>;
88
+ }): Promise<PopulatedTransaction>;
89
+ };
90
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,70 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../common";
5
+ export interface IwstETHGateWayInterface extends utils.Interface {
6
+ functions: {
7
+ "addLiquidity(uint256,address,uint256)": FunctionFragment;
8
+ "removeLiquidity(uint256,address)": FunctionFragment;
9
+ };
10
+ getFunction(nameOrSignatureOrTopic: "addLiquidity" | "removeLiquidity"): FunctionFragment;
11
+ encodeFunctionData(functionFragment: "addLiquidity", values: [
12
+ PromiseOrValue<BigNumberish>,
13
+ PromiseOrValue<string>,
14
+ PromiseOrValue<BigNumberish>
15
+ ]): string;
16
+ encodeFunctionData(functionFragment: "removeLiquidity", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
17
+ decodeFunctionResult(functionFragment: "addLiquidity", data: BytesLike): Result;
18
+ decodeFunctionResult(functionFragment: "removeLiquidity", data: BytesLike): Result;
19
+ events: {};
20
+ }
21
+ export interface IwstETHGateWay extends BaseContract {
22
+ connect(signerOrProvider: Signer | Provider | string): this;
23
+ attach(addressOrName: string): this;
24
+ deployed(): Promise<this>;
25
+ interface: IwstETHGateWayInterface;
26
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
27
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
28
+ listeners(eventName?: string): Array<Listener>;
29
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
30
+ removeAllListeners(eventName?: string): this;
31
+ off: OnEvent<this>;
32
+ on: OnEvent<this>;
33
+ once: OnEvent<this>;
34
+ removeListener: OnEvent<this>;
35
+ functions: {
36
+ addLiquidity(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
37
+ from?: PromiseOrValue<string>;
38
+ }): Promise<ContractTransaction>;
39
+ removeLiquidity(amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
40
+ from?: PromiseOrValue<string>;
41
+ }): Promise<ContractTransaction>;
42
+ };
43
+ addLiquidity(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
44
+ from?: PromiseOrValue<string>;
45
+ }): Promise<ContractTransaction>;
46
+ removeLiquidity(amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
47
+ from?: PromiseOrValue<string>;
48
+ }): Promise<ContractTransaction>;
49
+ callStatic: {
50
+ addLiquidity(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
51
+ removeLiquidity(amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
52
+ };
53
+ filters: {};
54
+ estimateGas: {
55
+ addLiquidity(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
56
+ from?: PromiseOrValue<string>;
57
+ }): Promise<BigNumber>;
58
+ removeLiquidity(amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
59
+ from?: PromiseOrValue<string>;
60
+ }): Promise<BigNumber>;
61
+ };
62
+ populateTransaction: {
63
+ addLiquidity(amount: PromiseOrValue<BigNumberish>, onBehalfOf: PromiseOrValue<string>, referralCode: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
64
+ from?: PromiseOrValue<string>;
65
+ }): Promise<PopulatedTransaction>;
66
+ removeLiquidity(amount: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
67
+ from?: PromiseOrValue<string>;
68
+ }): Promise<PopulatedTransaction>;
69
+ };
70
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type { IwstETHGateWay } from "./IwstETHGateWay";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -13,7 +13,7 @@ export declare class WrappedAToken__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): WrappedAToken;
15
15
  connect(signer: Signer): WrappedAToken__factory;
16
- static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162002104380380620021048339810160408190526200003591620004ec565b6001600160a01b0381166200005a5760405180602001604052806000815250620000e5565b806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000099573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000c391908101906200054f565b604051602001620000d5919062000607565b6040516020818303038152906040525b6001600160a01b0382166200010a576040518060200160405280600081525062000195565b816001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000149573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200017391908101906200054f565b60405160200162000185919062000639565b6040516020818303038152906040525b6003620001a38382620006f2565b506004620001b28282620006f2565b50505080620001c781620003b460201b60201c565b6001600160a01b0382166080819052604080516358b50cef60e11b8152905163b16a19de916004808201926020929091908290030181865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620004ec565b6001600160a01b031660a0816001600160a01b0316815250506080516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b89190620004ec565b6001600160a01b0390811660c081905260a05160405163d15e005360e01b8152921660048301529063d15e005390602401602060405180830381865afa15801562000307573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032d9190620007be565b60e081815250506080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039b9190620007d8565b60ff1661010052620003ac620003df565b5050620007fd565b6001600160a01b038116620003dc57604051635919af9760e11b815260040160405180910390fd5b50565b6200040a60c05160001960a0516001600160a01b03166200040c60201b62000aea179092919060201c565b565b620004218363095ea7b360e01b84846200047f565b6200047a576200043c8363095ea7b360e01b8460006200047f565b15806200045b5750620004598363095ea7b360e01b84846200047f565b155b156200047a5760405163019be9a960e41b815260040160405180910390fd5b505050565b60006040518481528360048201528260248201526020600060448360008a5af19150508015620004ce573d8015620004c457600160005114601f3d11169150620004cc565b6000863b1191505b505b949350505050565b6001600160a01b0381168114620003dc57600080fd5b600060208284031215620004ff57600080fd5b81516200050c81620004d6565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620005465781810151838201526020016200052c565b50506000910152565b6000602082840312156200056257600080fd5b81516001600160401b03808211156200057a57600080fd5b818401915084601f8301126200058f57600080fd5b815181811115620005a457620005a462000513565b604051601f8201601f19908116603f01168101908382118183101715620005cf57620005cf62000513565b81604052828152876020848701011115620005e957600080fd5b620005fc83602083016020880162000529565b979650505050505050565b6702bb930b83832b2160c51b8152600082516200062c81600885016020870162000529565b9190910160080192915050565b607760f81b8152600082516200065781600185016020870162000529565b9190910160010192915050565b600181811c908216806200067957607f821691505b6020821081036200069a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200047a57600081815260208120601f850160051c81016020861015620006c95750805b601f850160051c820191505b81811015620006ea57828155600101620006d5565b505050505050565b81516001600160401b038111156200070e576200070e62000513565b62000726816200071f845462000664565b84620006a0565b602080601f8311600181146200075e5760008415620007455750858301515b600019600386901b1c1916600185901b178555620006ea565b600085815260208120601f198616915b828110156200078f578886015182559484019460019091019084016200076e565b5085821015620007ae5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007d157600080fd5b5051919050565b600060208284031215620007eb57600080fd5b815160ff811681146200050c57600080fd5b60805160a05160c05160e051610100516118756200088f600039600061020801526000610755015260008181610329015281816104f60152818161077701528181610a7d0152611268015260008181610265015281816104be0152818161072a015281816109dc01528181610a4101526112460152600081816102ef015281816105d2015261093401526118756000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636f307dc3116100cd578063a59a997311610081578063b6b55f2511610066578063b6b55f251461035e578063b9f5be4114610371578063dd62ed3e1461038457600080fd5b8063a59a997314610324578063a9059cbb1461034b57600080fd5b806395d89b41116100b257806395d89b41146102e2578063a0c1f15e146102ea578063a457c2d71461031157600080fd5b80636f307dc31461026057806370a08231146102ac57600080fd5b80632e1a7d4d11610124578063395093511161010957806339509351146102325780633af9e669146102455780633ba0b9a91461025857600080fd5b80632e1a7d4d146101ee578063313ce5671461020157600080fd5b80631071a290116101555780631071a290146101b257806318160ddd146101d357806323b872dd146101db57600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b6101796103ca565b60405161018691906115ba565b60405180910390f35b6101a261019d36600461164f565b61045c565b6040519015158152602001610186565b6101c56101c0366004611679565b610476565b604051908152602001610186565b6002546101c5565b6101a26101e9366004611692565b61056b565b6101c56101fc366004611679565b61058f565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610186565b6101a261024036600461164f565b610654565b6101c56102533660046116ce565b6106a0565b6101c56106ed565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b6101c56102ba3660046116ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610179610803565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261031f36600461164f565b610812565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261035936600461164f565b6108e8565b6101c561036c366004611679565b6108f6565b6101c561037f366004611679565b6109c0565b6101c56103923660046116f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546103d990611723565b80601f016020809104026020016040519081016040528092919081815260200182805461040590611723565b80156104525780601f1061042757610100808354040283529160200191610452565b820191906000526020600020905b81548152906001019060200180831161043557829003601f168201915b5050505050905090565b60003361046a818585610bb8565b60019150505b92915050565b600061048182610d6b565b6040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523360448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec906064016020604051808303816000875af1158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611770565b50919050565b600033610579858285610ddf565b610584858585610eb6565b506001949350505050565b600061059a82610d6b565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af1158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611789565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061046a908290869061069b9087906117da565b610bb8565b6000670de0b6b3a76400006106b36106ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260409020546106e391906117ed565b6104709190611804565b6040517fd15e005300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000917f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390602401602060405180830381865afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611770565b6107f490670de0b6b3a76400006117ed565b6107fe9190611804565b905090565b6060600480546103d990611723565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156108db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105848286868403610bb8565b60003361046a818585610eb6565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af1158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190611789565b5061047082611125565b6000610a0473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561118f565b6040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063e8eda9df90608401600060405180830381600087803b158015610ac157600080fd5b505af1158015610ad5573d6000803e3d6000fd5b50505050610ae161122c565b61047082611125565b610b16837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b610bb357610b47837f095ea7b3000000000000000000000000000000000000000000000000000000008460006112af565b1580610b7c5750610b7a837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b155b15610bb3576040517f19be9a9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000670de0b6b3a7640000610d7e6106ed565b610d8890846117ed565b610d929190611804565b9050610d9e3383611303565b604080518281526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a2919050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610eb05781811015610ea3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108d2565b610eb08484848403610bb8565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610f59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610ffc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156110b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610eb0565b600061112f6106ed565b611141670de0b6b3a7640000846117ed565b61114b9190611804565b905061115733826114c7565b604080518381526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101610dd2565b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af191505080156111ed573d80156111e357600160005114601f3d111691506111eb565b6000873b1191505b505b80611224576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6112ad73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610aea565b565b60006040518481528360048201528260248201526020600060448360008a5af191505080156112fb573d80156112f157600160005114601f3d111691506112f9565b6000863b1191505b505b949350505050565b73ffffffffffffffffffffffffffffffffffffffff82166113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561145c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108d2565b806002600082825461155691906117da565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b818110156115e7578581018301518582016040015282016115cb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461164a57600080fd5b919050565b6000806040838503121561166257600080fd5b61166b83611626565b946020939093013593505050565b60006020828403121561168b57600080fd5b5035919050565b6000806000606084860312156116a757600080fd5b6116b084611626565b92506116be60208501611626565b9150604084013590509250925092565b6000602082840312156116e057600080fd5b6116e982611626565b9392505050565b6000806040838503121561170357600080fd5b61170c83611626565b915061171a60208401611626565b90509250929050565b600181811c9082168061173757607f821691505b602082108103610565577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561178257600080fd5b5051919050565b60006020828403121561179b57600080fd5b815180151581146116e957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610470576104706117ab565b8082028115828204841417610470576104706117ab565b60008261183a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220579832d439ee15f5c337160f606acfd0b040e1e2b8ba180208bae249c6f486bc64736f6c63430008110033";
16
+ static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162002104380380620021048339810160408190526200003591620004ec565b6001600160a01b0381166200005a5760405180602001604052806000815250620000e5565b806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000099573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000c391908101906200054f565b604051602001620000d5919062000607565b6040516020818303038152906040525b6001600160a01b0382166200010a576040518060200160405280600081525062000195565b816001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000149573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200017391908101906200054f565b60405160200162000185919062000639565b6040516020818303038152906040525b6003620001a38382620006f2565b506004620001b28282620006f2565b50505080620001c781620003b460201b60201c565b6001600160a01b0382166080819052604080516358b50cef60e11b8152905163b16a19de916004808201926020929091908290030181865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620004ec565b6001600160a01b031660a0816001600160a01b0316815250506080516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b89190620004ec565b6001600160a01b0390811660c081905260a05160405163d15e005360e01b8152921660048301529063d15e005390602401602060405180830381865afa15801562000307573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032d9190620007be565b60e081815250506080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039b9190620007d8565b60ff1661010052620003ac620003df565b5050620007fd565b6001600160a01b038116620003dc57604051635919af9760e11b815260040160405180910390fd5b50565b6200040a60c05160001960a0516001600160a01b03166200040c60201b62000aea179092919060201c565b565b620004218363095ea7b360e01b84846200047f565b6200047a576200043c8363095ea7b360e01b8460006200047f565b15806200045b5750620004598363095ea7b360e01b84846200047f565b155b156200047a5760405163019be9a960e41b815260040160405180910390fd5b505050565b60006040518481528360048201528260248201526020600060448360008a5af19150508015620004ce573d8015620004c457600160005114601f3d11169150620004cc565b6000863b1191505b505b949350505050565b6001600160a01b0381168114620003dc57600080fd5b600060208284031215620004ff57600080fd5b81516200050c81620004d6565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620005465781810151838201526020016200052c565b50506000910152565b6000602082840312156200056257600080fd5b81516001600160401b03808211156200057a57600080fd5b818401915084601f8301126200058f57600080fd5b815181811115620005a457620005a462000513565b604051601f8201601f19908116603f01168101908382118183101715620005cf57620005cf62000513565b81604052828152876020848701011115620005e957600080fd5b620005fc83602083016020880162000529565b979650505050505050565b6702bb930b83832b2160c51b8152600082516200062c81600885016020870162000529565b9190910160080192915050565b607760f81b8152600082516200065781600185016020870162000529565b9190910160010192915050565b600181811c908216806200067957607f821691505b6020821081036200069a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200047a57600081815260208120601f850160051c81016020861015620006c95750805b601f850160051c820191505b81811015620006ea57828155600101620006d5565b505050505050565b81516001600160401b038111156200070e576200070e62000513565b62000726816200071f845462000664565b84620006a0565b602080601f8311600181146200075e5760008415620007455750858301515b600019600386901b1c1916600185901b178555620006ea565b600085815260208120601f198616915b828110156200078f578886015182559484019460019091019084016200076e565b5085821015620007ae5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007d157600080fd5b5051919050565b600060208284031215620007eb57600080fd5b815160ff811681146200050c57600080fd5b60805160a05160c05160e051610100516118756200088f600039600061020801526000610755015260008181610329015281816104f60152818161077701528181610a7d0152611268015260008181610265015281816104be0152818161072a015281816109dc01528181610a4101526112460152600081816102ef015281816105d2015261093401526118756000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636f307dc3116100cd578063a59a997311610081578063b6b55f2511610066578063b6b55f251461035e578063b9f5be4114610371578063dd62ed3e1461038457600080fd5b8063a59a997314610324578063a9059cbb1461034b57600080fd5b806395d89b41116100b257806395d89b41146102e2578063a0c1f15e146102ea578063a457c2d71461031157600080fd5b80636f307dc31461026057806370a08231146102ac57600080fd5b80632e1a7d4d11610124578063395093511161010957806339509351146102325780633af9e669146102455780633ba0b9a91461025857600080fd5b80632e1a7d4d146101ee578063313ce5671461020157600080fd5b80631071a290116101555780631071a290146101b257806318160ddd146101d357806323b872dd146101db57600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b6101796103ca565b60405161018691906115ba565b60405180910390f35b6101a261019d36600461164f565b61045c565b6040519015158152602001610186565b6101c56101c0366004611679565b610476565b604051908152602001610186565b6002546101c5565b6101a26101e9366004611692565b61056b565b6101c56101fc366004611679565b61058f565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610186565b6101a261024036600461164f565b610654565b6101c56102533660046116ce565b6106a0565b6101c56106ed565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b6101c56102ba3660046116ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610179610803565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261031f36600461164f565b610812565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261035936600461164f565b6108e8565b6101c561036c366004611679565b6108f6565b6101c561037f366004611679565b6109c0565b6101c56103923660046116f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546103d990611723565b80601f016020809104026020016040519081016040528092919081815260200182805461040590611723565b80156104525780601f1061042757610100808354040283529160200191610452565b820191906000526020600020905b81548152906001019060200180831161043557829003601f168201915b5050505050905090565b60003361046a818585610bb8565b60019150505b92915050565b600061048182610d6b565b6040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523360448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec906064016020604051808303816000875af1158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611770565b50919050565b600033610579858285610ddf565b610584858585610eb6565b506001949350505050565b600061059a82610d6b565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af1158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611789565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061046a908290869061069b9087906117da565b610bb8565b6000670de0b6b3a76400006106b36106ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260409020546106e391906117ed565b6104709190611804565b6040517fd15e005300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000917f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390602401602060405180830381865afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611770565b6107f490670de0b6b3a76400006117ed565b6107fe9190611804565b905090565b6060600480546103d990611723565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156108db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105848286868403610bb8565b60003361046a818585610eb6565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af1158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190611789565b5061047082611125565b6000610a0473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561118f565b6040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063e8eda9df90608401600060405180830381600087803b158015610ac157600080fd5b505af1158015610ad5573d6000803e3d6000fd5b50505050610ae161122c565b61047082611125565b610b16837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b610bb357610b47837f095ea7b3000000000000000000000000000000000000000000000000000000008460006112af565b1580610b7c5750610b7a837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b155b15610bb3576040517f19be9a9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000670de0b6b3a7640000610d7e6106ed565b610d8890846117ed565b610d929190611804565b9050610d9e3383611303565b604080518281526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a2919050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610eb05781811015610ea3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108d2565b610eb08484848403610bb8565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610f59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610ffc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156110b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610eb0565b600061112f6106ed565b611141670de0b6b3a7640000846117ed565b61114b9190611804565b905061115733826114c7565b604080518381526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101610dd2565b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af191505080156111ed573d80156111e357600160005114601f3d111691506111eb565b6000873b1191505b505b80611224576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6112ad73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610aea565b565b60006040518481528360048201528260248201526020600060448360008a5af191505080156112fb573d80156112f157600160005114601f3d111691506112f9565b6000863b1191505b505b949350505050565b73ffffffffffffffffffffffffffffffffffffffff82166113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561145c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108d2565b806002600082825461155691906117da565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b818110156115e7578581018301518582016040015282016115cb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461164a57600080fd5b919050565b6000806040838503121561166257600080fd5b61166b83611626565b946020939093013593505050565b60006020828403121561168b57600080fd5b5035919050565b6000806000606084860312156116a757600080fd5b6116b084611626565b92506116be60208501611626565b9150604084013590509250925092565b6000602082840312156116e057600080fd5b6116e982611626565b9392505050565b6000806040838503121561170357600080fd5b61170c83611626565b915061171a60208401611626565b90509250929050565b600181811c9082168061173757607f821691505b602082108103610565577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561178257600080fd5b5051919050565b60006020828403121561179b57600080fd5b815180151581146116e957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610470576104706117ab565b8082028115828204841417610470576104706117ab565b60008261183a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220c0414f2ef1aa1f746f9f049eb0efb738c827caacac753fd96b387c1e4ad05b9d64736f6c63430008110033";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [{
19
19
  readonly internalType: "address";
@@ -500,7 +500,7 @@ const _abi = [
500
500
  type: "function",
501
501
  },
502
502
  ];
503
- const _bytecode = "0x6101206040523480156200001257600080fd5b5060405162002104380380620021048339810160408190526200003591620004ec565b6001600160a01b0381166200005a5760405180602001604052806000815250620000e5565b806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000099573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000c391908101906200054f565b604051602001620000d5919062000607565b6040516020818303038152906040525b6001600160a01b0382166200010a576040518060200160405280600081525062000195565b816001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000149573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200017391908101906200054f565b60405160200162000185919062000639565b6040516020818303038152906040525b6003620001a38382620006f2565b506004620001b28282620006f2565b50505080620001c781620003b460201b60201c565b6001600160a01b0382166080819052604080516358b50cef60e11b8152905163b16a19de916004808201926020929091908290030181865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620004ec565b6001600160a01b031660a0816001600160a01b0316815250506080516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b89190620004ec565b6001600160a01b0390811660c081905260a05160405163d15e005360e01b8152921660048301529063d15e005390602401602060405180830381865afa15801562000307573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032d9190620007be565b60e081815250506080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039b9190620007d8565b60ff1661010052620003ac620003df565b5050620007fd565b6001600160a01b038116620003dc57604051635919af9760e11b815260040160405180910390fd5b50565b6200040a60c05160001960a0516001600160a01b03166200040c60201b62000aea179092919060201c565b565b620004218363095ea7b360e01b84846200047f565b6200047a576200043c8363095ea7b360e01b8460006200047f565b15806200045b5750620004598363095ea7b360e01b84846200047f565b155b156200047a5760405163019be9a960e41b815260040160405180910390fd5b505050565b60006040518481528360048201528260248201526020600060448360008a5af19150508015620004ce573d8015620004c457600160005114601f3d11169150620004cc565b6000863b1191505b505b949350505050565b6001600160a01b0381168114620003dc57600080fd5b600060208284031215620004ff57600080fd5b81516200050c81620004d6565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620005465781810151838201526020016200052c565b50506000910152565b6000602082840312156200056257600080fd5b81516001600160401b03808211156200057a57600080fd5b818401915084601f8301126200058f57600080fd5b815181811115620005a457620005a462000513565b604051601f8201601f19908116603f01168101908382118183101715620005cf57620005cf62000513565b81604052828152876020848701011115620005e957600080fd5b620005fc83602083016020880162000529565b979650505050505050565b6702bb930b83832b2160c51b8152600082516200062c81600885016020870162000529565b9190910160080192915050565b607760f81b8152600082516200065781600185016020870162000529565b9190910160010192915050565b600181811c908216806200067957607f821691505b6020821081036200069a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200047a57600081815260208120601f850160051c81016020861015620006c95750805b601f850160051c820191505b81811015620006ea57828155600101620006d5565b505050505050565b81516001600160401b038111156200070e576200070e62000513565b62000726816200071f845462000664565b84620006a0565b602080601f8311600181146200075e5760008415620007455750858301515b600019600386901b1c1916600185901b178555620006ea565b600085815260208120601f198616915b828110156200078f578886015182559484019460019091019084016200076e565b5085821015620007ae5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007d157600080fd5b5051919050565b600060208284031215620007eb57600080fd5b815160ff811681146200050c57600080fd5b60805160a05160c05160e051610100516118756200088f600039600061020801526000610755015260008181610329015281816104f60152818161077701528181610a7d0152611268015260008181610265015281816104be0152818161072a015281816109dc01528181610a4101526112460152600081816102ef015281816105d2015261093401526118756000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636f307dc3116100cd578063a59a997311610081578063b6b55f2511610066578063b6b55f251461035e578063b9f5be4114610371578063dd62ed3e1461038457600080fd5b8063a59a997314610324578063a9059cbb1461034b57600080fd5b806395d89b41116100b257806395d89b41146102e2578063a0c1f15e146102ea578063a457c2d71461031157600080fd5b80636f307dc31461026057806370a08231146102ac57600080fd5b80632e1a7d4d11610124578063395093511161010957806339509351146102325780633af9e669146102455780633ba0b9a91461025857600080fd5b80632e1a7d4d146101ee578063313ce5671461020157600080fd5b80631071a290116101555780631071a290146101b257806318160ddd146101d357806323b872dd146101db57600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b6101796103ca565b60405161018691906115ba565b60405180910390f35b6101a261019d36600461164f565b61045c565b6040519015158152602001610186565b6101c56101c0366004611679565b610476565b604051908152602001610186565b6002546101c5565b6101a26101e9366004611692565b61056b565b6101c56101fc366004611679565b61058f565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610186565b6101a261024036600461164f565b610654565b6101c56102533660046116ce565b6106a0565b6101c56106ed565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b6101c56102ba3660046116ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610179610803565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261031f36600461164f565b610812565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261035936600461164f565b6108e8565b6101c561036c366004611679565b6108f6565b6101c561037f366004611679565b6109c0565b6101c56103923660046116f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546103d990611723565b80601f016020809104026020016040519081016040528092919081815260200182805461040590611723565b80156104525780601f1061042757610100808354040283529160200191610452565b820191906000526020600020905b81548152906001019060200180831161043557829003601f168201915b5050505050905090565b60003361046a818585610bb8565b60019150505b92915050565b600061048182610d6b565b6040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523360448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec906064016020604051808303816000875af1158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611770565b50919050565b600033610579858285610ddf565b610584858585610eb6565b506001949350505050565b600061059a82610d6b565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af1158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611789565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061046a908290869061069b9087906117da565b610bb8565b6000670de0b6b3a76400006106b36106ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260409020546106e391906117ed565b6104709190611804565b6040517fd15e005300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000917f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390602401602060405180830381865afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611770565b6107f490670de0b6b3a76400006117ed565b6107fe9190611804565b905090565b6060600480546103d990611723565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156108db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105848286868403610bb8565b60003361046a818585610eb6565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af1158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190611789565b5061047082611125565b6000610a0473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561118f565b6040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063e8eda9df90608401600060405180830381600087803b158015610ac157600080fd5b505af1158015610ad5573d6000803e3d6000fd5b50505050610ae161122c565b61047082611125565b610b16837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b610bb357610b47837f095ea7b3000000000000000000000000000000000000000000000000000000008460006112af565b1580610b7c5750610b7a837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b155b15610bb3576040517f19be9a9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000670de0b6b3a7640000610d7e6106ed565b610d8890846117ed565b610d929190611804565b9050610d9e3383611303565b604080518281526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a2919050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610eb05781811015610ea3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108d2565b610eb08484848403610bb8565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610f59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610ffc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156110b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610eb0565b600061112f6106ed565b611141670de0b6b3a7640000846117ed565b61114b9190611804565b905061115733826114c7565b604080518381526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101610dd2565b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af191505080156111ed573d80156111e357600160005114601f3d111691506111eb565b6000873b1191505b505b80611224576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6112ad73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610aea565b565b60006040518481528360048201528260248201526020600060448360008a5af191505080156112fb573d80156112f157600160005114601f3d111691506112f9565b6000863b1191505b505b949350505050565b73ffffffffffffffffffffffffffffffffffffffff82166113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561145c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108d2565b806002600082825461155691906117da565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b818110156115e7578581018301518582016040015282016115cb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461164a57600080fd5b919050565b6000806040838503121561166257600080fd5b61166b83611626565b946020939093013593505050565b60006020828403121561168b57600080fd5b5035919050565b6000806000606084860312156116a757600080fd5b6116b084611626565b92506116be60208501611626565b9150604084013590509250925092565b6000602082840312156116e057600080fd5b6116e982611626565b9392505050565b6000806040838503121561170357600080fd5b61170c83611626565b915061171a60208401611626565b90509250929050565b600181811c9082168061173757607f821691505b602082108103610565577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561178257600080fd5b5051919050565b60006020828403121561179b57600080fd5b815180151581146116e957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610470576104706117ab565b8082028115828204841417610470576104706117ab565b60008261183a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220579832d439ee15f5c337160f606acfd0b040e1e2b8ba180208bae249c6f486bc64736f6c63430008110033";
503
+ const _bytecode = "0x6101206040523480156200001257600080fd5b5060405162002104380380620021048339810160408190526200003591620004ec565b6001600160a01b0381166200005a5760405180602001604052806000815250620000e5565b806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000099573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620000c391908101906200054f565b604051602001620000d5919062000607565b6040516020818303038152906040525b6001600160a01b0382166200010a576040518060200160405280600081525062000195565b816001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000149573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200017391908101906200054f565b60405160200162000185919062000639565b6040516020818303038152906040525b6003620001a38382620006f2565b506004620001b28282620006f2565b50505080620001c781620003b460201b60201c565b6001600160a01b0382166080819052604080516358b50cef60e11b8152905163b16a19de916004808201926020929091908290030181865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620004ec565b6001600160a01b031660a0816001600160a01b0316815250506080516001600160a01b0316637535d2466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b89190620004ec565b6001600160a01b0390811660c081905260a05160405163d15e005360e01b8152921660048301529063d15e005390602401602060405180830381865afa15801562000307573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032d9190620007be565b60e081815250506080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039b9190620007d8565b60ff1661010052620003ac620003df565b5050620007fd565b6001600160a01b038116620003dc57604051635919af9760e11b815260040160405180910390fd5b50565b6200040a60c05160001960a0516001600160a01b03166200040c60201b62000aea179092919060201c565b565b620004218363095ea7b360e01b84846200047f565b6200047a576200043c8363095ea7b360e01b8460006200047f565b15806200045b5750620004598363095ea7b360e01b84846200047f565b155b156200047a5760405163019be9a960e41b815260040160405180910390fd5b505050565b60006040518481528360048201528260248201526020600060448360008a5af19150508015620004ce573d8015620004c457600160005114601f3d11169150620004cc565b6000863b1191505b505b949350505050565b6001600160a01b0381168114620003dc57600080fd5b600060208284031215620004ff57600080fd5b81516200050c81620004d6565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620005465781810151838201526020016200052c565b50506000910152565b6000602082840312156200056257600080fd5b81516001600160401b03808211156200057a57600080fd5b818401915084601f8301126200058f57600080fd5b815181811115620005a457620005a462000513565b604051601f8201601f19908116603f01168101908382118183101715620005cf57620005cf62000513565b81604052828152876020848701011115620005e957600080fd5b620005fc83602083016020880162000529565b979650505050505050565b6702bb930b83832b2160c51b8152600082516200062c81600885016020870162000529565b9190910160080192915050565b607760f81b8152600082516200065781600185016020870162000529565b9190910160010192915050565b600181811c908216806200067957607f821691505b6020821081036200069a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200047a57600081815260208120601f850160051c81016020861015620006c95750805b601f850160051c820191505b81811015620006ea57828155600101620006d5565b505050505050565b81516001600160401b038111156200070e576200070e62000513565b62000726816200071f845462000664565b84620006a0565b602080601f8311600181146200075e5760008415620007455750858301515b600019600386901b1c1916600185901b178555620006ea565b600085815260208120601f198616915b828110156200078f578886015182559484019460019091019084016200076e565b5085821015620007ae5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620007d157600080fd5b5051919050565b600060208284031215620007eb57600080fd5b815160ff811681146200050c57600080fd5b60805160a05160c05160e051610100516118756200088f600039600061020801526000610755015260008181610329015281816104f60152818161077701528181610a7d0152611268015260008181610265015281816104be0152818161072a015281816109dc01528181610a4101526112460152600081816102ef015281816105d2015261093401526118756000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636f307dc3116100cd578063a59a997311610081578063b6b55f2511610066578063b6b55f251461035e578063b9f5be4114610371578063dd62ed3e1461038457600080fd5b8063a59a997314610324578063a9059cbb1461034b57600080fd5b806395d89b41116100b257806395d89b41146102e2578063a0c1f15e146102ea578063a457c2d71461031157600080fd5b80636f307dc31461026057806370a08231146102ac57600080fd5b80632e1a7d4d11610124578063395093511161010957806339509351146102325780633af9e669146102455780633ba0b9a91461025857600080fd5b80632e1a7d4d146101ee578063313ce5671461020157600080fd5b80631071a290116101555780631071a290146101b257806318160ddd146101d357806323b872dd146101db57600080fd5b806306fdde0314610171578063095ea7b31461018f575b600080fd5b6101796103ca565b60405161018691906115ba565b60405180910390f35b6101a261019d36600461164f565b61045c565b6040519015158152602001610186565b6101c56101c0366004611679565b610476565b604051908152602001610186565b6002546101c5565b6101a26101e9366004611692565b61056b565b6101c56101fc366004611679565b61058f565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610186565b6101a261024036600461164f565b610654565b6101c56102533660046116ce565b6106a0565b6101c56106ed565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b6101c56102ba3660046116ce565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610179610803565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261031f36600461164f565b610812565b6102877f000000000000000000000000000000000000000000000000000000000000000081565b6101a261035936600461164f565b6108e8565b6101c561036c366004611679565b6108f6565b6101c561037f366004611679565b6109c0565b6101c56103923660046116f0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546103d990611723565b80601f016020809104026020016040519081016040528092919081815260200182805461040590611723565b80156104525780601f1061042757610100808354040283529160200191610452565b820191906000526020600020905b81548152906001019060200180831161043557829003601f168201915b5050505050905090565b60003361046a818585610bb8565b60019150505b92915050565b600061048182610d6b565b6040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390523360448301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906369328dec906064016020604051808303816000875af1158015610541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611770565b50919050565b600033610579858285610ddf565b610584858585610eb6565b506001949350505050565b600061059a82610d6b565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb906044016020604051808303816000875af1158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105659190611789565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061046a908290869061069b9087906117da565b610bb8565b6000670de0b6b3a76400006106b36106ed565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260409020546106e391906117ed565b6104709190611804565b6040517fd15e005300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000917f0000000000000000000000000000000000000000000000000000000000000000169063d15e005390602401602060405180830381865afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611770565b6107f490670de0b6b3a76400006117ed565b6107fe9190611804565b905090565b6060600480546103d990611723565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156108db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105848286868403610bb8565b60003361046a818585610eb6565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af1158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190611789565b5061047082611125565b6000610a0473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561118f565b6040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063e8eda9df90608401600060405180830381600087803b158015610ac157600080fd5b505af1158015610ad5573d6000803e3d6000fd5b50505050610ae161122c565b61047082611125565b610b16837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b610bb357610b47837f095ea7b3000000000000000000000000000000000000000000000000000000008460006112af565b1580610b7c5750610b7a837f095ea7b30000000000000000000000000000000000000000000000000000000084846112af565b155b15610bb3576040517f19be9a9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000670de0b6b3a7640000610d7e6106ed565b610d8890846117ed565b610d929190611804565b9050610d9e3383611303565b604080518281526020810184905233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891015b60405180910390a2919050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610eb05781811015610ea3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108d2565b610eb08484848403610bb8565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610f59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8216610ffc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156110b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610eb0565b600061112f6106ed565b611141670de0b6b3a7640000846117ed565b61114b9190611804565b905061115733826114c7565b604080518381526020810183905233917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159101610dd2565b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af191505080156111ed573d80156111e357600160005114601f3d111691506111eb565b6000873b1191505b505b80611224576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6112ad73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610aea565b565b60006040518481528360048201528260248201526020600060448360008a5af191505080156112fb573d80156112f157600160005114601f3d111691506112f9565b6000863b1191505b505b949350505050565b73ffffffffffffffffffffffffffffffffffffffff82166113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561145c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016108d2565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108d2565b806002600082825461155691906117da565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b818110156115e7578581018301518582016040015282016115cb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461164a57600080fd5b919050565b6000806040838503121561166257600080fd5b61166b83611626565b946020939093013593505050565b60006020828403121561168b57600080fd5b5035919050565b6000806000606084860312156116a757600080fd5b6116b084611626565b92506116be60208501611626565b9150604084013590509250925092565b6000602082840312156116e057600080fd5b6116e982611626565b9392505050565b6000806040838503121561170357600080fd5b61170c83611626565b915061171a60208401611626565b90509250929050565b600181811c9082168061173757607f821691505b602082108103610565577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006020828403121561178257600080fd5b5051919050565b60006020828403121561179b57600080fd5b815180151581146116e957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610470576104706117ab565b8082028115828204841417610470576104706117ab565b60008261183a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220c0414f2ef1aa1f746f9f049eb0efb738c827caacac753fd96b387c1e4ad05b9d64736f6c63430008110033";
504
504
  const isSuperArgs = (xs) => xs.length > 1;
505
505
  class WrappedAToken__factory extends ethers_1.ContractFactory {
506
506
  constructor(...args) {
@@ -13,7 +13,7 @@ export declare class AddressProvider__factory extends ContractFactory {
13
13
  }): TransactionRequest;
14
14
  attach(address: string): AddressProvider;
15
15
  connect(signer: Signer): AddressProvider__factory;
16
- static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361005f565b60405130906f20a2222922a9a9afa82927ab24a222a960811b907fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c69190600090a36100af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c4c806100be6000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806377532ed9116100f9578063bcaead9811610097578063ce3c4ae411610071578063ce3c4ae414610350578063e30c397814610363578063f2fde38b14610383578063fca513a81461039657600080fd5b8063bcaead9814610322578063c5120b3914610335578063c513c9bb1461034857600080fd5b80638da5cb5b116100d35780638da5cb5b146102e15780639068a868146102ff578063addc1a7614610307578063affd92431461031a57600080fd5b806377532ed9146102b35780637b6757ff146102bb57806386e09c08146102ce57600080fd5b80634c252f911161016657806354fd4d501161014057806354fd4d5014610253578063699f200f14610262578063715018a61461029857806376aad605146102a057600080fd5b80634c252f91146102305780634e71e0c814610238578063530e784f1461024057600080fd5b806321da58371161019757806321da58371461020d57806326c74fc31461022057806344b885631461022857600080fd5b8063060678c2146101be57806308737695146101f05780631ed65110146101f8575b600080fd5b6101c661039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101c66103ce565b61020b610206366004610b54565b6103f9565b005b61020b61021b366004610b54565b61042e565b6101c6610460565b6101c661048b565b6101c66104b6565b61020b6104e1565b61020b61024e366004610b54565b6105d9565b604051600281526020016101e7565b6101c6610270366004610b91565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61020b61060b565b61020b6102ae366004610b54565b61061f565b6101c6610651565b61020b6102c9366004610b54565b61067c565b61020b6102dc366004610b54565b6106ae565b60005473ffffffffffffffffffffffffffffffffffffffff166101c6565b6101c66106e0565b61020b610315366004610b54565b61070b565b6101c661073d565b61020b610330366004610b54565b610768565b61020b610343366004610b54565b61079a565b6101c66107cc565b61020b61035e366004610b54565b6107f7565b6001546101c69073ffffffffffffffffffffffffffffffffffffffff1681565b61020b610391366004610b54565b610829565b6101c661091b565b60006103c97f444154415f434f4d50524553534f520000000000000000000000000000000000610942565b905090565b60006103c97f41434c0000000000000000000000000000000000000000000000000000000000610942565b6104016109e0565b61042b7f54524541535552595f434f4e545241435400000000000000000000000000000082610a61565b50565b6104366109e0565b61042b7f574554485f47415445574159000000000000000000000000000000000000000082610a61565b60006103c97f54524541535552595f434f4e5452414354000000000000000000000000000000610942565b60006103c97f4c45564552414745445f414354494f4e53000000000000000000000000000000610942565b60006103c97f574554485f544f4b454e00000000000000000000000000000000000000000000610942565b60015473ffffffffffffffffffffffffffffffffffffffff16331461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f436c61696d61626c653a2053656e646572206973206e6f742070656e64696e6760448201527f206f776e6572000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6001546105af9073ffffffffffffffffffffffffffffffffffffffff16610adf565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6105e16109e0565b61042b7f50524943455f4f5241434c45000000000000000000000000000000000000000082610a61565b6106136109e0565b61061d6000610adf565b565b6106276109e0565b61042b7f41434c000000000000000000000000000000000000000000000000000000000082610a61565b60006103c97f574554485f474154455741590000000000000000000000000000000000000000610942565b6106846109e0565b61042b7f4c45564552414745445f414354494f4e5300000000000000000000000000000082610a61565b6106b66109e0565b61042b7f574554485f544f4b454e0000000000000000000000000000000000000000000082610a61565b60006103c97f4143434f554e545f464143544f52590000000000000000000000000000000000610942565b6107136109e0565b61042b7f4143434f554e545f464143544f5259000000000000000000000000000000000082610a61565b60006103c97f474541525f544f4b454e00000000000000000000000000000000000000000000610942565b6107706109e0565b61042b7f474541525f544f4b454e0000000000000000000000000000000000000000000082610a61565b6107a26109e0565b61042b7f444154415f434f4d50524553534f52000000000000000000000000000000000082610a61565b60006103c97f434f4e5452414354535f52454749535445520000000000000000000000000000610942565b6107ff6109e0565b61042b7f434f4e5452414354535f5245474953544552000000000000000000000000000082610a61565b6108316109e0565b73ffffffffffffffffffffffffffffffffffffffff81166108d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f436c61696d61626c653a206e6577206f776e657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610584565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006103c97f50524943455f4f5241434c4500000000000000000000000000000000000000005b6000818152600260209081526040808320548151808301909252600382527f41503100000000000000000000000000000000000000000000000000000000009282019290925273ffffffffffffffffffffffffffffffffffffffff90911690816109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105849190610baa565b5092915050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610584565b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c6919190a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b6657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b8a57600080fd5b9392505050565b600060208284031215610ba357600080fd5b5035919050565b600060208083528351808285015260005b81811015610bd757858101830151858201604001528201610bbb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509291505056fea2646970667358221220d865081ac9311bd785cd06675a874c9e753a771029aca0949220de5801df3b1364736f6c63430008110033";
16
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361005f565b60405130906f20a2222922a9a9afa82927ab24a222a960811b907fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c69190600090a36100af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c4c806100be6000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806377532ed9116100f9578063bcaead9811610097578063ce3c4ae411610071578063ce3c4ae414610350578063e30c397814610363578063f2fde38b14610383578063fca513a81461039657600080fd5b8063bcaead9814610322578063c5120b3914610335578063c513c9bb1461034857600080fd5b80638da5cb5b116100d35780638da5cb5b146102e15780639068a868146102ff578063addc1a7614610307578063affd92431461031a57600080fd5b806377532ed9146102b35780637b6757ff146102bb57806386e09c08146102ce57600080fd5b80634c252f911161016657806354fd4d501161014057806354fd4d5014610253578063699f200f14610262578063715018a61461029857806376aad605146102a057600080fd5b80634c252f91146102305780634e71e0c814610238578063530e784f1461024057600080fd5b806321da58371161019757806321da58371461020d57806326c74fc31461022057806344b885631461022857600080fd5b8063060678c2146101be57806308737695146101f05780631ed65110146101f8575b600080fd5b6101c661039e565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101c66103ce565b61020b610206366004610b54565b6103f9565b005b61020b61021b366004610b54565b61042e565b6101c6610460565b6101c661048b565b6101c66104b6565b61020b6104e1565b61020b61024e366004610b54565b6105d9565b604051600281526020016101e7565b6101c6610270366004610b91565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61020b61060b565b61020b6102ae366004610b54565b61061f565b6101c6610651565b61020b6102c9366004610b54565b61067c565b61020b6102dc366004610b54565b6106ae565b60005473ffffffffffffffffffffffffffffffffffffffff166101c6565b6101c66106e0565b61020b610315366004610b54565b61070b565b6101c661073d565b61020b610330366004610b54565b610768565b61020b610343366004610b54565b61079a565b6101c66107cc565b61020b61035e366004610b54565b6107f7565b6001546101c69073ffffffffffffffffffffffffffffffffffffffff1681565b61020b610391366004610b54565b610829565b6101c661091b565b60006103c97f444154415f434f4d50524553534f520000000000000000000000000000000000610942565b905090565b60006103c97f41434c0000000000000000000000000000000000000000000000000000000000610942565b6104016109e0565b61042b7f54524541535552595f434f4e545241435400000000000000000000000000000082610a61565b50565b6104366109e0565b61042b7f574554485f47415445574159000000000000000000000000000000000000000082610a61565b60006103c97f54524541535552595f434f4e5452414354000000000000000000000000000000610942565b60006103c97f4c45564552414745445f414354494f4e53000000000000000000000000000000610942565b60006103c97f574554485f544f4b454e00000000000000000000000000000000000000000000610942565b60015473ffffffffffffffffffffffffffffffffffffffff16331461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f436c61696d61626c653a2053656e646572206973206e6f742070656e64696e6760448201527f206f776e6572000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6001546105af9073ffffffffffffffffffffffffffffffffffffffff16610adf565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6105e16109e0565b61042b7f50524943455f4f5241434c45000000000000000000000000000000000000000082610a61565b6106136109e0565b61061d6000610adf565b565b6106276109e0565b61042b7f41434c000000000000000000000000000000000000000000000000000000000082610a61565b60006103c97f574554485f474154455741590000000000000000000000000000000000000000610942565b6106846109e0565b61042b7f4c45564552414745445f414354494f4e5300000000000000000000000000000082610a61565b6106b66109e0565b61042b7f574554485f544f4b454e0000000000000000000000000000000000000000000082610a61565b60006103c97f4143434f554e545f464143544f52590000000000000000000000000000000000610942565b6107136109e0565b61042b7f4143434f554e545f464143544f5259000000000000000000000000000000000082610a61565b60006103c97f474541525f544f4b454e00000000000000000000000000000000000000000000610942565b6107706109e0565b61042b7f474541525f544f4b454e0000000000000000000000000000000000000000000082610a61565b6107a26109e0565b61042b7f444154415f434f4d50524553534f52000000000000000000000000000000000082610a61565b60006103c97f434f4e5452414354535f52454749535445520000000000000000000000000000610942565b6107ff6109e0565b61042b7f434f4e5452414354535f5245474953544552000000000000000000000000000082610a61565b6108316109e0565b73ffffffffffffffffffffffffffffffffffffffff81166108d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f436c61696d61626c653a206e6577206f776e657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610584565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006103c97f50524943455f4f5241434c4500000000000000000000000000000000000000005b6000818152600260209081526040808320548151808301909252600382527f41503100000000000000000000000000000000000000000000000000000000009282019290925273ffffffffffffffffffffffffffffffffffffffff90911690816109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105849190610baa565b5092915050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610584565b60008281526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091559051909184917fb37614c7d254ea8d16eb81fa11dddaeb266aa8ba4917980859c7740aff30c6919190a35050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b6657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b8a57600080fd5b9392505050565b600060208284031215610ba357600080fd5b5035919050565b600060208083528351808285015260005b81811015610bd757858101830151858201604001528201610bbb565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509291505056fea2646970667358221220152d9a7976609cc3f3e6e8cafcd353cc81a3ec94d9e8adab3bb0761788fff2fa64736f6c63430008110033";
17
17
  static readonly abi: readonly [{
18
18
  readonly inputs: readonly [];
19
19
  readonly stateMutability: "nonpayable";