@gooddollar/goodprotocol 1.0.23 → 1.0.26-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/artifacts/abis/FuseFaucet.min.json +1 -0
  2. package/artifacts/abis/FuseStakingV3.min.json +1 -0
  3. package/artifacts/abis/IConsensus.min.json +1 -0
  4. package/artifacts/abis/InvitesV1.min.json +1 -0
  5. package/artifacts/abis/PegSwap.min.json +1 -0
  6. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  11. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  33. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +4 -0
  34. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +325 -0
  35. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  36. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  37. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  38. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  39. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  40. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  41. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  42. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +4 -0
  43. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +492 -0
  44. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  45. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  46. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  47. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  48. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  49. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  50. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  51. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  53. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  55. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  64. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  68. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  69. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  70. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  71. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  72. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  73. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  74. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  75. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +4 -0
  76. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +733 -0
  77. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +4 -0
  78. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.json +104 -0
  79. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +4 -0
  80. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.json +34 -0
  81. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  82. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  83. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  84. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  85. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  86. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  87. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  88. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  89. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  90. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  91. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  92. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  93. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  94. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  95. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  96. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  97. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  98. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  99. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  100. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  101. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  102. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  103. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  104. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  105. package/contracts/fuseFaucet/FuseFaucet.sol +172 -0
  106. package/contracts/invite/InvitesV1.sol +316 -0
  107. package/contracts/staking/FuseStakingV3.sol +641 -0
  108. package/hardhat.config.ts +7 -0
  109. package/package.json +7 -6
  110. package/patches/@nomiclabs+hardhat-etherscan+3.0.3.patch +41 -0
  111. package/patches/@openzeppelin+hardhat-upgrades+1.7.0.patch +67 -0
  112. package/patches/@openzeppelin+upgrades-core+1.4.2.patch +21 -0
  113. package/scripts/misc/faucetStats.ts +103 -0
  114. package/scripts/upgradeToV2/upgradeToV2.ts +22 -7
  115. package/test/FuseFaucet.test.ts +168 -0
  116. package/test/InvitesV1.test.ts +354 -0
  117. package/test/staking/FuseStaking.test.ts +152 -0
  118. package/types/FuseFaucet.ts +498 -0
  119. package/types/FuseStakingV3.ts +1234 -0
  120. package/types/IConsensus.ts +225 -0
  121. package/types/InvitesV1.ts +797 -0
  122. package/types/OwnableUpgradeable.ts +166 -0
  123. package/types/PegSwap.ts +112 -0
  124. package/types/factories/FuseFaucet__factory.ts +373 -0
  125. package/types/factories/FuseStakingV3__factory.ts +781 -0
  126. package/types/factories/IConsensus__factory.ts +116 -0
  127. package/types/factories/InvitesV1__factory.ts +540 -0
  128. package/types/factories/OwnableUpgradeable__factory.ts +78 -0
  129. package/types/factories/PegSwap__factory.ts +46 -0
  130. package/types/hardhat.d.ts +54 -0
  131. package/types/index.ts +12 -0
@@ -0,0 +1,166 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ ethers,
7
+ EventFilter,
8
+ Signer,
9
+ BigNumber,
10
+ BigNumberish,
11
+ PopulatedTransaction,
12
+ BaseContract,
13
+ ContractTransaction,
14
+ Overrides,
15
+ CallOverrides,
16
+ } from "ethers";
17
+ import { BytesLike } from "@ethersproject/bytes";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
20
+ import type {
21
+ TypedEventFilter,
22
+ TypedEvent,
23
+ TypedListener,
24
+ OnEvent,
25
+ } from "./common";
26
+
27
+ export interface OwnableUpgradeableInterface extends ethers.utils.Interface {
28
+ functions: {
29
+ "owner()": FunctionFragment;
30
+ "renounceOwnership()": FunctionFragment;
31
+ "transferOwnership(address)": FunctionFragment;
32
+ };
33
+
34
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
35
+ encodeFunctionData(
36
+ functionFragment: "renounceOwnership",
37
+ values?: undefined
38
+ ): string;
39
+ encodeFunctionData(
40
+ functionFragment: "transferOwnership",
41
+ values: [string]
42
+ ): string;
43
+
44
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
45
+ decodeFunctionResult(
46
+ functionFragment: "renounceOwnership",
47
+ data: BytesLike
48
+ ): Result;
49
+ decodeFunctionResult(
50
+ functionFragment: "transferOwnership",
51
+ data: BytesLike
52
+ ): Result;
53
+
54
+ events: {
55
+ "OwnershipTransferred(address,address)": EventFragment;
56
+ };
57
+
58
+ getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
59
+ }
60
+
61
+ export type OwnershipTransferredEvent = TypedEvent<
62
+ [string, string],
63
+ { previousOwner: string; newOwner: string }
64
+ >;
65
+
66
+ export type OwnershipTransferredEventFilter =
67
+ TypedEventFilter<OwnershipTransferredEvent>;
68
+
69
+ export interface OwnableUpgradeable extends BaseContract {
70
+ connect(signerOrProvider: Signer | Provider | string): this;
71
+ attach(addressOrName: string): this;
72
+ deployed(): Promise<this>;
73
+
74
+ interface: OwnableUpgradeableInterface;
75
+
76
+ queryFilter<TEvent extends TypedEvent>(
77
+ event: TypedEventFilter<TEvent>,
78
+ fromBlockOrBlockhash?: string | number | undefined,
79
+ toBlock?: string | number | undefined
80
+ ): Promise<Array<TEvent>>;
81
+
82
+ listeners<TEvent extends TypedEvent>(
83
+ eventFilter?: TypedEventFilter<TEvent>
84
+ ): Array<TypedListener<TEvent>>;
85
+ listeners(eventName?: string): Array<Listener>;
86
+ removeAllListeners<TEvent extends TypedEvent>(
87
+ eventFilter: TypedEventFilter<TEvent>
88
+ ): this;
89
+ removeAllListeners(eventName?: string): this;
90
+ off: OnEvent<this>;
91
+ on: OnEvent<this>;
92
+ once: OnEvent<this>;
93
+ removeListener: OnEvent<this>;
94
+
95
+ functions: {
96
+ owner(overrides?: CallOverrides): Promise<[string]>;
97
+
98
+ renounceOwnership(
99
+ overrides?: Overrides & { from?: string | Promise<string> }
100
+ ): Promise<ContractTransaction>;
101
+
102
+ transferOwnership(
103
+ newOwner: string,
104
+ overrides?: Overrides & { from?: string | Promise<string> }
105
+ ): Promise<ContractTransaction>;
106
+ };
107
+
108
+ owner(overrides?: CallOverrides): Promise<string>;
109
+
110
+ renounceOwnership(
111
+ overrides?: Overrides & { from?: string | Promise<string> }
112
+ ): Promise<ContractTransaction>;
113
+
114
+ transferOwnership(
115
+ newOwner: string,
116
+ overrides?: Overrides & { from?: string | Promise<string> }
117
+ ): Promise<ContractTransaction>;
118
+
119
+ callStatic: {
120
+ owner(overrides?: CallOverrides): Promise<string>;
121
+
122
+ renounceOwnership(overrides?: CallOverrides): Promise<void>;
123
+
124
+ transferOwnership(
125
+ newOwner: string,
126
+ overrides?: CallOverrides
127
+ ): Promise<void>;
128
+ };
129
+
130
+ filters: {
131
+ "OwnershipTransferred(address,address)"(
132
+ previousOwner?: string | null,
133
+ newOwner?: string | null
134
+ ): OwnershipTransferredEventFilter;
135
+ OwnershipTransferred(
136
+ previousOwner?: string | null,
137
+ newOwner?: string | null
138
+ ): OwnershipTransferredEventFilter;
139
+ };
140
+
141
+ estimateGas: {
142
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
143
+
144
+ renounceOwnership(
145
+ overrides?: Overrides & { from?: string | Promise<string> }
146
+ ): Promise<BigNumber>;
147
+
148
+ transferOwnership(
149
+ newOwner: string,
150
+ overrides?: Overrides & { from?: string | Promise<string> }
151
+ ): Promise<BigNumber>;
152
+ };
153
+
154
+ populateTransaction: {
155
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
156
+
157
+ renounceOwnership(
158
+ overrides?: Overrides & { from?: string | Promise<string> }
159
+ ): Promise<PopulatedTransaction>;
160
+
161
+ transferOwnership(
162
+ newOwner: string,
163
+ overrides?: Overrides & { from?: string | Promise<string> }
164
+ ): Promise<PopulatedTransaction>;
165
+ };
166
+ }
@@ -0,0 +1,112 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ ethers,
7
+ EventFilter,
8
+ Signer,
9
+ BigNumber,
10
+ BigNumberish,
11
+ PopulatedTransaction,
12
+ BaseContract,
13
+ ContractTransaction,
14
+ Overrides,
15
+ CallOverrides,
16
+ } from "ethers";
17
+ import { BytesLike } from "@ethersproject/bytes";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
20
+ import type {
21
+ TypedEventFilter,
22
+ TypedEvent,
23
+ TypedListener,
24
+ OnEvent,
25
+ } from "./common";
26
+
27
+ export interface PegSwapInterface extends ethers.utils.Interface {
28
+ functions: {
29
+ "swap(uint256,address,address)": FunctionFragment;
30
+ };
31
+
32
+ encodeFunctionData(
33
+ functionFragment: "swap",
34
+ values: [BigNumberish, string, string]
35
+ ): string;
36
+
37
+ decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result;
38
+
39
+ events: {};
40
+ }
41
+
42
+ export interface PegSwap extends BaseContract {
43
+ connect(signerOrProvider: Signer | Provider | string): this;
44
+ attach(addressOrName: string): this;
45
+ deployed(): Promise<this>;
46
+
47
+ interface: PegSwapInterface;
48
+
49
+ queryFilter<TEvent extends TypedEvent>(
50
+ event: TypedEventFilter<TEvent>,
51
+ fromBlockOrBlockhash?: string | number | undefined,
52
+ toBlock?: string | number | undefined
53
+ ): Promise<Array<TEvent>>;
54
+
55
+ listeners<TEvent extends TypedEvent>(
56
+ eventFilter?: TypedEventFilter<TEvent>
57
+ ): Array<TypedListener<TEvent>>;
58
+ listeners(eventName?: string): Array<Listener>;
59
+ removeAllListeners<TEvent extends TypedEvent>(
60
+ eventFilter: TypedEventFilter<TEvent>
61
+ ): this;
62
+ removeAllListeners(eventName?: string): this;
63
+ off: OnEvent<this>;
64
+ on: OnEvent<this>;
65
+ once: OnEvent<this>;
66
+ removeListener: OnEvent<this>;
67
+
68
+ functions: {
69
+ swap(
70
+ sourceAmount: BigNumberish,
71
+ source: string,
72
+ target: string,
73
+ overrides?: Overrides & { from?: string | Promise<string> }
74
+ ): Promise<ContractTransaction>;
75
+ };
76
+
77
+ swap(
78
+ sourceAmount: BigNumberish,
79
+ source: string,
80
+ target: string,
81
+ overrides?: Overrides & { from?: string | Promise<string> }
82
+ ): Promise<ContractTransaction>;
83
+
84
+ callStatic: {
85
+ swap(
86
+ sourceAmount: BigNumberish,
87
+ source: string,
88
+ target: string,
89
+ overrides?: CallOverrides
90
+ ): Promise<void>;
91
+ };
92
+
93
+ filters: {};
94
+
95
+ estimateGas: {
96
+ swap(
97
+ sourceAmount: BigNumberish,
98
+ source: string,
99
+ target: string,
100
+ overrides?: Overrides & { from?: string | Promise<string> }
101
+ ): Promise<BigNumber>;
102
+ };
103
+
104
+ populateTransaction: {
105
+ swap(
106
+ sourceAmount: BigNumberish,
107
+ source: string,
108
+ target: string,
109
+ overrides?: Overrides & { from?: string | Promise<string> }
110
+ ): Promise<PopulatedTransaction>;
111
+ };
112
+ }
@@ -0,0 +1,373 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
6
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
7
+ import type { FuseFaucet, FuseFaucetInterface } from "../FuseFaucet";
8
+
9
+ const _abi = [
10
+ {
11
+ anonymous: false,
12
+ inputs: [
13
+ {
14
+ indexed: true,
15
+ internalType: "address",
16
+ name: "user",
17
+ type: "address",
18
+ },
19
+ {
20
+ indexed: false,
21
+ internalType: "uint256",
22
+ name: "amount",
23
+ type: "uint256",
24
+ },
25
+ ],
26
+ name: "WalletTopped",
27
+ type: "event",
28
+ },
29
+ {
30
+ inputs: [
31
+ {
32
+ internalType: "address",
33
+ name: "_user",
34
+ type: "address",
35
+ },
36
+ ],
37
+ name: "canTop",
38
+ outputs: [
39
+ {
40
+ internalType: "bool",
41
+ name: "",
42
+ type: "bool",
43
+ },
44
+ ],
45
+ stateMutability: "view",
46
+ type: "function",
47
+ },
48
+ {
49
+ inputs: [],
50
+ name: "currentDay",
51
+ outputs: [
52
+ {
53
+ internalType: "uint256",
54
+ name: "",
55
+ type: "uint256",
56
+ },
57
+ ],
58
+ stateMutability: "view",
59
+ type: "function",
60
+ },
61
+ {
62
+ inputs: [],
63
+ name: "gasPrice",
64
+ outputs: [
65
+ {
66
+ internalType: "uint32",
67
+ name: "",
68
+ type: "uint32",
69
+ },
70
+ ],
71
+ stateMutability: "view",
72
+ type: "function",
73
+ },
74
+ {
75
+ inputs: [],
76
+ name: "gasRefund",
77
+ outputs: [
78
+ {
79
+ internalType: "uint256",
80
+ name: "",
81
+ type: "uint256",
82
+ },
83
+ ],
84
+ stateMutability: "view",
85
+ type: "function",
86
+ },
87
+ {
88
+ inputs: [],
89
+ name: "goodDollar",
90
+ outputs: [
91
+ {
92
+ internalType: "address",
93
+ name: "",
94
+ type: "address",
95
+ },
96
+ ],
97
+ stateMutability: "view",
98
+ type: "function",
99
+ },
100
+ {
101
+ inputs: [],
102
+ name: "identity",
103
+ outputs: [
104
+ {
105
+ internalType: "contract IIdentity",
106
+ name: "",
107
+ type: "address",
108
+ },
109
+ ],
110
+ stateMutability: "view",
111
+ type: "function",
112
+ },
113
+ {
114
+ inputs: [
115
+ {
116
+ internalType: "address",
117
+ name: "_identity",
118
+ type: "address",
119
+ },
120
+ ],
121
+ name: "initialize",
122
+ outputs: [],
123
+ stateMutability: "nonpayable",
124
+ type: "function",
125
+ },
126
+ {
127
+ inputs: [],
128
+ name: "maxDailyToppings",
129
+ outputs: [
130
+ {
131
+ internalType: "uint32",
132
+ name: "",
133
+ type: "uint32",
134
+ },
135
+ ],
136
+ stateMutability: "view",
137
+ type: "function",
138
+ },
139
+ {
140
+ inputs: [],
141
+ name: "maxPerWeekMultiplier",
142
+ outputs: [
143
+ {
144
+ internalType: "uint32",
145
+ name: "",
146
+ type: "uint32",
147
+ },
148
+ ],
149
+ stateMutability: "view",
150
+ type: "function",
151
+ },
152
+ {
153
+ inputs: [],
154
+ name: "maxSwapAmount",
155
+ outputs: [
156
+ {
157
+ internalType: "uint32",
158
+ name: "",
159
+ type: "uint32",
160
+ },
161
+ ],
162
+ stateMutability: "view",
163
+ type: "function",
164
+ },
165
+ {
166
+ inputs: [
167
+ {
168
+ internalType: "address",
169
+ name: "",
170
+ type: "address",
171
+ },
172
+ ],
173
+ name: "notFirstTime",
174
+ outputs: [
175
+ {
176
+ internalType: "bool",
177
+ name: "",
178
+ type: "bool",
179
+ },
180
+ ],
181
+ stateMutability: "view",
182
+ type: "function",
183
+ },
184
+ {
185
+ inputs: [
186
+ {
187
+ internalType: "address payable",
188
+ name: "_from",
189
+ type: "address",
190
+ },
191
+ {
192
+ internalType: "uint256",
193
+ name: "amount",
194
+ type: "uint256",
195
+ },
196
+ {
197
+ internalType: "bytes",
198
+ name: "",
199
+ type: "bytes",
200
+ },
201
+ ],
202
+ name: "onTokenTransfer",
203
+ outputs: [
204
+ {
205
+ internalType: "bool",
206
+ name: "",
207
+ type: "bool",
208
+ },
209
+ ],
210
+ stateMutability: "nonpayable",
211
+ type: "function",
212
+ },
213
+ {
214
+ inputs: [],
215
+ name: "perDayRoughLimit",
216
+ outputs: [
217
+ {
218
+ internalType: "uint256",
219
+ name: "",
220
+ type: "uint256",
221
+ },
222
+ ],
223
+ stateMutability: "view",
224
+ type: "function",
225
+ },
226
+ {
227
+ inputs: [],
228
+ name: "startTime",
229
+ outputs: [
230
+ {
231
+ internalType: "uint256",
232
+ name: "",
233
+ type: "uint256",
234
+ },
235
+ ],
236
+ stateMutability: "view",
237
+ type: "function",
238
+ },
239
+ {
240
+ inputs: [
241
+ {
242
+ internalType: "address payable",
243
+ name: "_user",
244
+ type: "address",
245
+ },
246
+ ],
247
+ name: "topWallet",
248
+ outputs: [],
249
+ stateMutability: "nonpayable",
250
+ type: "function",
251
+ },
252
+ {
253
+ inputs: [],
254
+ name: "toppingAmount",
255
+ outputs: [
256
+ {
257
+ internalType: "uint256",
258
+ name: "",
259
+ type: "uint256",
260
+ },
261
+ ],
262
+ stateMutability: "view",
263
+ type: "function",
264
+ },
265
+ {
266
+ inputs: [
267
+ {
268
+ internalType: "uint256",
269
+ name: "",
270
+ type: "uint256",
271
+ },
272
+ {
273
+ internalType: "address",
274
+ name: "",
275
+ type: "address",
276
+ },
277
+ ],
278
+ name: "toppings",
279
+ outputs: [
280
+ {
281
+ internalType: "uint256",
282
+ name: "",
283
+ type: "uint256",
284
+ },
285
+ ],
286
+ stateMutability: "view",
287
+ type: "function",
288
+ },
289
+ {
290
+ inputs: [],
291
+ name: "upgrade1",
292
+ outputs: [],
293
+ stateMutability: "nonpayable",
294
+ type: "function",
295
+ },
296
+ {
297
+ inputs: [
298
+ {
299
+ internalType: "address",
300
+ name: "",
301
+ type: "address",
302
+ },
303
+ ],
304
+ name: "wallets",
305
+ outputs: [
306
+ {
307
+ internalType: "uint128",
308
+ name: "lastDayTopped",
309
+ type: "uint128",
310
+ },
311
+ {
312
+ internalType: "uint32",
313
+ name: "dailyToppingCount",
314
+ type: "uint32",
315
+ },
316
+ ],
317
+ stateMutability: "view",
318
+ type: "function",
319
+ },
320
+ {
321
+ stateMutability: "payable",
322
+ type: "receive",
323
+ },
324
+ ];
325
+
326
+ const _bytecode =
327
+ "0x608060405234801561001057600080fd5b50611456806100206000396000f3fe6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061107b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103dc565b005b34801561016d57600080fd5b5061015f61017c3660046110a4565b6104cd565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160401b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f6102253660046110a4565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab3660046110c8565b610902565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db3660046110a4565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b3660046110a4565b610b2b565b34801561031c57600080fd5b5061019761032b366004611150565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160601b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d3660046110a4565b610c38565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546101f590600160201b900463ffffffff1681565b660221b262dd800060028181556103f39190611196565b600155600a80546001600160801b0319166d03e8000000023b9aca0000000003179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b15801561049257600080fd5b505af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca91906111b5565b50565b60005a9050816104db610e28565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061053d5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105835760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf906105b390849060040161107b565b60206040518083038186803b1580156105cb57600080fd5b505afa1580156105df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060391906111b5565b8061062757506001600160a01b03811660009081526008602052604090205460ff16155b6106825760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b606482015260840161057a565b6000600760055461069391906111ed565b6001600160a01b03831660009081526009602052604081205460055492935090916106c7916001600160801b031690611201565b9050600781116106d757806106da565b60075b90508181116106e957806106f4565b6106f4826001611218565b9050600081610704846001611218565b61070e9190611201565b90505b828111610786576001600160a01b0384166000908152600960205260408120600101826007811061074457610744611230565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b03160217905550808061077e90611246565b915050610711565b506000805b8381116107fc576001600160a01b038516600090815260096020526040902060010181600781106107be576107be611230565b600291828204019190066010029054906101000a90046001600160801b0316826107e89190611261565b9150806107f481611246565b91505061078b565b50600a5460015461081a91600160401b900463ffffffff1690611196565b816001600160801b03161061088e5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b606482015260840161057a565b61089786610e49565b505050505a6108a69082611201565b6108b29061a410611218565b600a5490915033906108fc906108d590600160201b900463ffffffff1684611196565b6040518115909202916000818181858888f193505050501580156108fd573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109485760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b604482015260640161057a565b600a54600160601b900463ffffffff168411156109925760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b604482015260640161057a565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb592600092919060208301908036833701905050905033816000815181106109df576109df611230565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3857600080fd5b505afa158015610a4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7091906112a2565b81600181518110610a8357610a83611230565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610ac790899060009086908d9042906004016112bf565b600060405180830381600087803b158015610ae157600080fd5b505af1158015610af5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b1d9190810190611330565b506001979650505050505050565b600054610100900460ff1680610b44575060005460ff16155b610ba75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161057a565b600054610100900460ff16158015610bc9576000805461ffff19166101011790555b660221b262dd80006002818155610be09190611196565b600155600a805442600455600680546001600160a01b0319166001600160a01b0386161790556001600160801b0319166d03e8000000023b9aca00000000031790558015610c34576000805461ff00191690555b5050565b6000806201518060045442610c4d9190611201565b610c5791906113ed565b6005546001600160a01b038516600090815260096020526040812054929350916001600160801b039081169116141580610cb757506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610d625750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610cee90879060040161107b565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e91906111b5565b80610d6257506001600160a01b03841660009081526008602052604090205460ff16155b90506000806007600554610d7691906111ed565b905060005b818111610dec576001600160a01b03871660009081526009602052604090206001018160078110610dae57610dae611230565b600291828204019190066010029054906101000a90046001600160801b031683610dd89190611261565b925080610de481611246565b915050610d7b565b50828015610e1e5750600a54600154610e1291600160401b900463ffffffff1690611196565b826001600160801b0316105b9695505050505050565b6201518060045442610e3a9190611201565b610e4491906113ed565b600555565b806001600160a01b03163160025411610e6157600080fd5b6000816001600160a01b031631600254610e7b9190611201565b905060006007600554610e8e91906111ed565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b0391821691161415610f1c576001600160a01b0383166000908152600960205260409020805460019190601090610ef9908490600160801b900463ffffffff16611401565b92506101000a81548163ffffffff021916908363ffffffff160217905550610f49565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110610f9757610f97611230565b600291828204019190066010028282829054906101000a90046001600160801b0316610fc39190611261565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f19350505050158015611032573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161106e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146104ca57600080fd5b6000602082840312156110b657600080fd5b81356110c18161108f565b9392505050565b600080600080606085870312156110de57600080fd5b84356110e98161108f565b93506020850135925060408501356001600160401b038082111561110c57600080fd5b818701915087601f83011261112057600080fd5b81358181111561112f57600080fd5b88602082850101111561114157600080fd5b95989497505060200194505050565b6000806040838503121561116357600080fd5b8235915060208301356111758161108f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156111b0576111b0611180565b500290565b6000602082840312156111c757600080fd5b815180151581146110c157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826111fc576111fc6111d7565b500690565b60008282101561121357611213611180565b500390565b6000821982111561122b5761122b611180565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561125a5761125a611180565b5060010190565b60006001600160801b0382811684821680830382111561128357611283611180565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156112b457600080fd5b81516110c18161108f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561130f5784516001600160a01b0316835293830193918301916001016112ea565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561134357600080fd5b82516001600160401b038082111561135a57600080fd5b818501915085601f83011261136e57600080fd5b8151818111156113805761138061128c565b8060051b604051601f19603f830116810181811085821117156113a5576113a561128c565b6040529182528482019250838101850191888311156113c357600080fd5b938501935b828510156113e1578451845293850193928501926113c8565b98975050505050505050565b6000826113fc576113fc6111d7565b500490565b600063ffffffff8083168185168083038211156112835761128361118056fea2646970667358221220e18000d5792d8da19f960bff20b100e462b5c3cc2a4cda2baf99e74e2a3f6d1a64736f6c63430008080033";
328
+
329
+ type FuseFaucetConstructorParams =
330
+ | [signer?: Signer]
331
+ | ConstructorParameters<typeof ContractFactory>;
332
+
333
+ const isSuperArgs = (
334
+ xs: FuseFaucetConstructorParams
335
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
336
+
337
+ export class FuseFaucet__factory extends ContractFactory {
338
+ constructor(...args: FuseFaucetConstructorParams) {
339
+ if (isSuperArgs(args)) {
340
+ super(...args);
341
+ } else {
342
+ super(_abi, _bytecode, args[0]);
343
+ }
344
+ }
345
+
346
+ deploy(
347
+ overrides?: Overrides & { from?: string | Promise<string> }
348
+ ): Promise<FuseFaucet> {
349
+ return super.deploy(overrides || {}) as Promise<FuseFaucet>;
350
+ }
351
+ getDeployTransaction(
352
+ overrides?: Overrides & { from?: string | Promise<string> }
353
+ ): TransactionRequest {
354
+ return super.getDeployTransaction(overrides || {});
355
+ }
356
+ attach(address: string): FuseFaucet {
357
+ return super.attach(address) as FuseFaucet;
358
+ }
359
+ connect(signer: Signer): FuseFaucet__factory {
360
+ return super.connect(signer) as FuseFaucet__factory;
361
+ }
362
+ static readonly bytecode = _bytecode;
363
+ static readonly abi = _abi;
364
+ static createInterface(): FuseFaucetInterface {
365
+ return new utils.Interface(_abi) as FuseFaucetInterface;
366
+ }
367
+ static connect(
368
+ address: string,
369
+ signerOrProvider: Signer | Provider
370
+ ): FuseFaucet {
371
+ return new Contract(address, _abi, signerOrProvider) as FuseFaucet;
372
+ }
373
+ }