@gooddollar/goodprotocol 1.0.26-beta.0 → 1.0.28

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 (222) hide show
  1. package/artifacts/abis/AdminWallet.min.json +1 -0
  2. package/artifacts/abis/FuseFaucet.min.json +1 -1
  3. package/artifacts/abis/IIdentity.min.json +1 -1
  4. package/artifacts/abis/ProxyAdmin.min.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  7. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  8. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  9. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IIdentity.json +45 -0
  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/ProxyAdmin.json +23 -0
  28. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  34. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  35. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +4 -4
  36. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  37. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  38. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  39. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  40. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  41. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  42. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  43. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  44. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  45. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  46. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  47. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  48. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  49. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  50. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  51. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  53. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  55. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  58. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  62. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  64. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  68. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  70. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  73. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  75. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  76. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  78. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  80. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  82. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  83. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  90. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  91. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  92. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  93. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  94. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  95. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  96. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  97. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  98. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  99. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  100. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  101. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  102. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  103. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  104. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  105. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  106. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  107. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  108. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  109. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  110. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  111. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  112. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  113. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  114. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  115. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  116. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  117. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  118. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  119. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  120. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  121. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  122. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  123. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  124. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  125. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  126. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  127. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +4 -0
  128. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +732 -0
  129. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  130. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  131. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  132. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  133. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  134. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  135. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  136. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  137. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  138. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  139. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  140. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  141. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  142. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  143. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  144. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  145. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  146. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  147. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  148. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  149. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  150. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  151. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  152. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  153. package/contracts/Interfaces.sol +12 -0
  154. package/contracts/fuseFaucet/FuseFaucet.sol +19 -10
  155. package/contracts/utils/AdminWallet.sol +242 -0
  156. package/hardhat.config.ts +11 -1
  157. package/package.json +8 -8
  158. package/releases/deployment.json +9 -6
  159. package/scripts/bulkProof.ts +0 -5
  160. package/scripts/deployFullDAO.ts +17 -9
  161. package/scripts/multichain-deploy/basicdao-deploy.ts +0 -11
  162. package/scripts/test/localOldDaoDeploy.ts +4 -10
  163. package/scripts/upgradeScheme.ts +7 -12
  164. package/scripts/upgradeToV2/upgradeToV2.ts +0 -8
  165. package/scripts/upgradeToV2/upgradeToV2Recover.ts +0 -8
  166. package/test/FuseFaucet.test.ts +8 -12
  167. package/test/utils/AdminWallet.test.ts +254 -0
  168. package/test/utils/ProtocolUpgrade.test.ts +1 -4
  169. package/types/AdminWallet.ts +1136 -0
  170. package/types/FuseFaucet.ts +3 -3
  171. package/types/IIdentity.ts +87 -0
  172. package/types/ProxyAdmin.ts +44 -0
  173. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  174. package/types/factories/AdminWallet__factory.ts +780 -0
  175. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  176. package/types/factories/BaseShareField__factory.ts +1 -1
  177. package/types/factories/BulkProof__factory.ts +1 -1
  178. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  179. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  180. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  181. package/types/factories/DAOContract__factory.ts +1 -1
  182. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  183. package/types/factories/DonationsStaking__factory.ts +1 -1
  184. package/types/factories/ExchangeHelper__factory.ts +1 -1
  185. package/types/factories/FuseFaucet__factory.ts +3 -3
  186. package/types/factories/FuseStakingV3__factory.ts +1 -1
  187. package/types/factories/GReputation__factory.ts +1 -1
  188. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  189. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  190. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  191. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  192. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  193. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  194. package/types/factories/GoodFundManager__factory.ts +1 -1
  195. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  196. package/types/factories/GoodReserveCDai__factory.ts +1 -1
  197. package/types/factories/GovernanceStaking__factory.ts +1 -1
  198. package/types/factories/IIdentity__factory.ts +45 -0
  199. package/types/factories/InvitesV1__factory.ts +1 -1
  200. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  201. package/types/factories/OverMintTester__factory.ts +1 -1
  202. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  203. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  204. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  205. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  206. package/types/factories/ProxyAdmin__factory.ts +23 -0
  207. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  208. package/types/factories/Reputation__factory.ts +1 -1
  209. package/types/factories/StakersDistribution__factory.ts +1 -1
  210. package/types/factories/SwapHelperTest__factory.ts +1 -1
  211. package/types/factories/UBIScheme__factory.ts +1 -1
  212. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  213. package/types/factories/UpgradableMock2__factory.ts +1 -1
  214. package/types/factories/UpgradableMock3__factory.ts +1 -1
  215. package/types/factories/UpgradableMock4__factory.ts +1 -1
  216. package/types/factories/UpgradableMock__factory.ts +1 -1
  217. package/types/hardhat.d.ts +9 -0
  218. package/types/index.ts +2 -0
  219. package/yarn.lock +320 -217
  220. package/patches/@nomiclabs+hardhat-etherscan+3.0.3.patch +0 -41
  221. package/patches/@openzeppelin+hardhat-upgrades+1.7.0.patch +0 -67
  222. package/patches/@openzeppelin+upgrades-core+1.4.2.patch +0 -21
@@ -0,0 +1,780 @@
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 { AdminWallet, AdminWalletInterface } from "../AdminWallet";
8
+
9
+ const _abi = [
10
+ {
11
+ anonymous: false,
12
+ inputs: [
13
+ {
14
+ indexed: false,
15
+ internalType: "address",
16
+ name: "previousAdmin",
17
+ type: "address",
18
+ },
19
+ {
20
+ indexed: false,
21
+ internalType: "address",
22
+ name: "newAdmin",
23
+ type: "address",
24
+ },
25
+ ],
26
+ name: "AdminChanged",
27
+ type: "event",
28
+ },
29
+ {
30
+ anonymous: false,
31
+ inputs: [
32
+ {
33
+ indexed: true,
34
+ internalType: "address payable[]",
35
+ name: "admins",
36
+ type: "address[]",
37
+ },
38
+ ],
39
+ name: "AdminsAdded",
40
+ type: "event",
41
+ },
42
+ {
43
+ anonymous: false,
44
+ inputs: [
45
+ {
46
+ indexed: true,
47
+ internalType: "address[]",
48
+ name: "admins",
49
+ type: "address[]",
50
+ },
51
+ ],
52
+ name: "AdminsRemoved",
53
+ type: "event",
54
+ },
55
+ {
56
+ anonymous: false,
57
+ inputs: [
58
+ {
59
+ indexed: true,
60
+ internalType: "address",
61
+ name: "beacon",
62
+ type: "address",
63
+ },
64
+ ],
65
+ name: "BeaconUpgraded",
66
+ type: "event",
67
+ },
68
+ {
69
+ anonymous: false,
70
+ inputs: [
71
+ {
72
+ indexed: true,
73
+ internalType: "address",
74
+ name: "_contract",
75
+ type: "address",
76
+ },
77
+ {
78
+ indexed: false,
79
+ internalType: "bytes",
80
+ name: "_data",
81
+ type: "bytes",
82
+ },
83
+ {
84
+ indexed: false,
85
+ internalType: "uint256",
86
+ name: "_value",
87
+ type: "uint256",
88
+ },
89
+ {
90
+ indexed: false,
91
+ internalType: "bool",
92
+ name: "_success",
93
+ type: "bool",
94
+ },
95
+ ],
96
+ name: "GenericCall",
97
+ type: "event",
98
+ },
99
+ {
100
+ anonymous: false,
101
+ inputs: [
102
+ {
103
+ indexed: true,
104
+ internalType: "address",
105
+ name: "previousOwner",
106
+ type: "address",
107
+ },
108
+ {
109
+ indexed: true,
110
+ internalType: "address",
111
+ name: "newOwner",
112
+ type: "address",
113
+ },
114
+ ],
115
+ name: "OwnershipTransferred",
116
+ type: "event",
117
+ },
118
+ {
119
+ anonymous: false,
120
+ inputs: [
121
+ {
122
+ indexed: true,
123
+ internalType: "bytes32",
124
+ name: "role",
125
+ type: "bytes32",
126
+ },
127
+ {
128
+ indexed: true,
129
+ internalType: "bytes32",
130
+ name: "previousAdminRole",
131
+ type: "bytes32",
132
+ },
133
+ {
134
+ indexed: true,
135
+ internalType: "bytes32",
136
+ name: "newAdminRole",
137
+ type: "bytes32",
138
+ },
139
+ ],
140
+ name: "RoleAdminChanged",
141
+ type: "event",
142
+ },
143
+ {
144
+ anonymous: false,
145
+ inputs: [
146
+ {
147
+ indexed: true,
148
+ internalType: "bytes32",
149
+ name: "role",
150
+ type: "bytes32",
151
+ },
152
+ {
153
+ indexed: true,
154
+ internalType: "address",
155
+ name: "account",
156
+ type: "address",
157
+ },
158
+ {
159
+ indexed: true,
160
+ internalType: "address",
161
+ name: "sender",
162
+ type: "address",
163
+ },
164
+ ],
165
+ name: "RoleGranted",
166
+ type: "event",
167
+ },
168
+ {
169
+ anonymous: false,
170
+ inputs: [
171
+ {
172
+ indexed: true,
173
+ internalType: "bytes32",
174
+ name: "role",
175
+ type: "bytes32",
176
+ },
177
+ {
178
+ indexed: true,
179
+ internalType: "address",
180
+ name: "account",
181
+ type: "address",
182
+ },
183
+ {
184
+ indexed: true,
185
+ internalType: "address",
186
+ name: "sender",
187
+ type: "address",
188
+ },
189
+ ],
190
+ name: "RoleRevoked",
191
+ type: "event",
192
+ },
193
+ {
194
+ anonymous: false,
195
+ inputs: [
196
+ {
197
+ indexed: true,
198
+ internalType: "address",
199
+ name: "implementation",
200
+ type: "address",
201
+ },
202
+ ],
203
+ name: "Upgraded",
204
+ type: "event",
205
+ },
206
+ {
207
+ anonymous: false,
208
+ inputs: [
209
+ {
210
+ indexed: true,
211
+ internalType: "address",
212
+ name: "user",
213
+ type: "address",
214
+ },
215
+ {
216
+ indexed: false,
217
+ internalType: "uint256",
218
+ name: "amount",
219
+ type: "uint256",
220
+ },
221
+ ],
222
+ name: "WalletTopped",
223
+ type: "event",
224
+ },
225
+ {
226
+ inputs: [],
227
+ name: "DEFAULT_ADMIN_ROLE",
228
+ outputs: [
229
+ {
230
+ internalType: "bytes32",
231
+ name: "",
232
+ type: "bytes32",
233
+ },
234
+ ],
235
+ stateMutability: "view",
236
+ type: "function",
237
+ },
238
+ {
239
+ inputs: [],
240
+ name: "WALLET_ADMIN_ROLE",
241
+ outputs: [
242
+ {
243
+ internalType: "bytes32",
244
+ name: "",
245
+ type: "bytes32",
246
+ },
247
+ ],
248
+ stateMutability: "view",
249
+ type: "function",
250
+ },
251
+ {
252
+ inputs: [
253
+ {
254
+ internalType: "address payable[]",
255
+ name: "_admins",
256
+ type: "address[]",
257
+ },
258
+ ],
259
+ name: "addAdmins",
260
+ outputs: [],
261
+ stateMutability: "nonpayable",
262
+ type: "function",
263
+ },
264
+ {
265
+ inputs: [],
266
+ name: "adminToppingAmount",
267
+ outputs: [
268
+ {
269
+ internalType: "uint256",
270
+ name: "",
271
+ type: "uint256",
272
+ },
273
+ ],
274
+ stateMutability: "view",
275
+ type: "function",
276
+ },
277
+ {
278
+ inputs: [
279
+ {
280
+ internalType: "address",
281
+ name: "_user",
282
+ type: "address",
283
+ },
284
+ ],
285
+ name: "blacklist",
286
+ outputs: [],
287
+ stateMutability: "nonpayable",
288
+ type: "function",
289
+ },
290
+ {
291
+ inputs: [],
292
+ name: "gasPrice",
293
+ outputs: [
294
+ {
295
+ internalType: "uint256",
296
+ name: "",
297
+ type: "uint256",
298
+ },
299
+ ],
300
+ stateMutability: "view",
301
+ type: "function",
302
+ },
303
+ {
304
+ inputs: [
305
+ {
306
+ internalType: "address",
307
+ name: "_contract",
308
+ type: "address",
309
+ },
310
+ {
311
+ internalType: "bytes",
312
+ name: "_data",
313
+ type: "bytes",
314
+ },
315
+ {
316
+ internalType: "uint256",
317
+ name: "_value",
318
+ type: "uint256",
319
+ },
320
+ ],
321
+ name: "genericCall",
322
+ outputs: [
323
+ {
324
+ internalType: "bool",
325
+ name: "success",
326
+ type: "bool",
327
+ },
328
+ {
329
+ internalType: "bytes",
330
+ name: "returnValue",
331
+ type: "bytes",
332
+ },
333
+ ],
334
+ stateMutability: "nonpayable",
335
+ type: "function",
336
+ },
337
+ {
338
+ inputs: [
339
+ {
340
+ internalType: "bytes32",
341
+ name: "role",
342
+ type: "bytes32",
343
+ },
344
+ ],
345
+ name: "getRoleAdmin",
346
+ outputs: [
347
+ {
348
+ internalType: "bytes32",
349
+ name: "",
350
+ type: "bytes32",
351
+ },
352
+ ],
353
+ stateMutability: "view",
354
+ type: "function",
355
+ },
356
+ {
357
+ inputs: [
358
+ {
359
+ internalType: "bytes32",
360
+ name: "role",
361
+ type: "bytes32",
362
+ },
363
+ {
364
+ internalType: "address",
365
+ name: "account",
366
+ type: "address",
367
+ },
368
+ ],
369
+ name: "grantRole",
370
+ outputs: [],
371
+ stateMutability: "nonpayable",
372
+ type: "function",
373
+ },
374
+ {
375
+ inputs: [
376
+ {
377
+ internalType: "bytes32",
378
+ name: "role",
379
+ type: "bytes32",
380
+ },
381
+ {
382
+ internalType: "address",
383
+ name: "account",
384
+ type: "address",
385
+ },
386
+ ],
387
+ name: "hasRole",
388
+ outputs: [
389
+ {
390
+ internalType: "bool",
391
+ name: "",
392
+ type: "bool",
393
+ },
394
+ ],
395
+ stateMutability: "view",
396
+ type: "function",
397
+ },
398
+ {
399
+ inputs: [],
400
+ name: "identity",
401
+ outputs: [
402
+ {
403
+ internalType: "contract IIdentity",
404
+ name: "",
405
+ type: "address",
406
+ },
407
+ ],
408
+ stateMutability: "view",
409
+ type: "function",
410
+ },
411
+ {
412
+ inputs: [
413
+ {
414
+ internalType: "address payable[]",
415
+ name: "_admins",
416
+ type: "address[]",
417
+ },
418
+ {
419
+ internalType: "address",
420
+ name: "_owner",
421
+ type: "address",
422
+ },
423
+ {
424
+ internalType: "contract IIdentity",
425
+ name: "_identity",
426
+ type: "address",
427
+ },
428
+ ],
429
+ name: "initialize",
430
+ outputs: [],
431
+ stateMutability: "nonpayable",
432
+ type: "function",
433
+ },
434
+ {
435
+ inputs: [
436
+ {
437
+ internalType: "address",
438
+ name: "_user",
439
+ type: "address",
440
+ },
441
+ ],
442
+ name: "isAdmin",
443
+ outputs: [
444
+ {
445
+ internalType: "bool",
446
+ name: "",
447
+ type: "bool",
448
+ },
449
+ ],
450
+ stateMutability: "view",
451
+ type: "function",
452
+ },
453
+ {
454
+ inputs: [],
455
+ name: "owner",
456
+ outputs: [
457
+ {
458
+ internalType: "address",
459
+ name: "",
460
+ type: "address",
461
+ },
462
+ ],
463
+ stateMutability: "view",
464
+ type: "function",
465
+ },
466
+ {
467
+ inputs: [
468
+ {
469
+ internalType: "address[]",
470
+ name: "_admins",
471
+ type: "address[]",
472
+ },
473
+ ],
474
+ name: "removeAdmins",
475
+ outputs: [],
476
+ stateMutability: "nonpayable",
477
+ type: "function",
478
+ },
479
+ {
480
+ inputs: [
481
+ {
482
+ internalType: "address",
483
+ name: "_user",
484
+ type: "address",
485
+ },
486
+ ],
487
+ name: "removeBlacklist",
488
+ outputs: [],
489
+ stateMutability: "nonpayable",
490
+ type: "function",
491
+ },
492
+ {
493
+ inputs: [
494
+ {
495
+ internalType: "address",
496
+ name: "_user",
497
+ type: "address",
498
+ },
499
+ ],
500
+ name: "removeWhitelist",
501
+ outputs: [],
502
+ stateMutability: "nonpayable",
503
+ type: "function",
504
+ },
505
+ {
506
+ inputs: [],
507
+ name: "renounceOwnership",
508
+ outputs: [],
509
+ stateMutability: "nonpayable",
510
+ type: "function",
511
+ },
512
+ {
513
+ inputs: [
514
+ {
515
+ internalType: "bytes32",
516
+ name: "role",
517
+ type: "bytes32",
518
+ },
519
+ {
520
+ internalType: "address",
521
+ name: "account",
522
+ type: "address",
523
+ },
524
+ ],
525
+ name: "renounceRole",
526
+ outputs: [],
527
+ stateMutability: "nonpayable",
528
+ type: "function",
529
+ },
530
+ {
531
+ inputs: [
532
+ {
533
+ internalType: "bytes32",
534
+ name: "role",
535
+ type: "bytes32",
536
+ },
537
+ {
538
+ internalType: "address",
539
+ name: "account",
540
+ type: "address",
541
+ },
542
+ ],
543
+ name: "revokeRole",
544
+ outputs: [],
545
+ stateMutability: "nonpayable",
546
+ type: "function",
547
+ },
548
+ {
549
+ inputs: [
550
+ {
551
+ internalType: "uint256",
552
+ name: "_toppingAmount",
553
+ type: "uint256",
554
+ },
555
+ {
556
+ internalType: "uint256",
557
+ name: "_adminToppingAmount",
558
+ type: "uint256",
559
+ },
560
+ {
561
+ internalType: "uint256",
562
+ name: "_toppingTimes",
563
+ type: "uint256",
564
+ },
565
+ {
566
+ internalType: "uint256",
567
+ name: "_gasPrice",
568
+ type: "uint256",
569
+ },
570
+ ],
571
+ name: "setDefaults",
572
+ outputs: [],
573
+ stateMutability: "nonpayable",
574
+ type: "function",
575
+ },
576
+ {
577
+ inputs: [
578
+ {
579
+ internalType: "bytes4",
580
+ name: "interfaceId",
581
+ type: "bytes4",
582
+ },
583
+ ],
584
+ name: "supportsInterface",
585
+ outputs: [
586
+ {
587
+ internalType: "bool",
588
+ name: "",
589
+ type: "bool",
590
+ },
591
+ ],
592
+ stateMutability: "view",
593
+ type: "function",
594
+ },
595
+ {
596
+ inputs: [
597
+ {
598
+ internalType: "uint256",
599
+ name: "startIndex",
600
+ type: "uint256",
601
+ },
602
+ {
603
+ internalType: "uint256",
604
+ name: "endIndex",
605
+ type: "uint256",
606
+ },
607
+ ],
608
+ name: "topAdmins",
609
+ outputs: [],
610
+ stateMutability: "nonpayable",
611
+ type: "function",
612
+ },
613
+ {
614
+ inputs: [
615
+ {
616
+ internalType: "uint256",
617
+ name: "startIndex",
618
+ type: "uint256",
619
+ },
620
+ ],
621
+ name: "topAdmins",
622
+ outputs: [],
623
+ stateMutability: "nonpayable",
624
+ type: "function",
625
+ },
626
+ {
627
+ inputs: [
628
+ {
629
+ internalType: "address payable",
630
+ name: "_user",
631
+ type: "address",
632
+ },
633
+ ],
634
+ name: "topWallet",
635
+ outputs: [],
636
+ stateMutability: "nonpayable",
637
+ type: "function",
638
+ },
639
+ {
640
+ inputs: [],
641
+ name: "toppingAmount",
642
+ outputs: [
643
+ {
644
+ internalType: "uint256",
645
+ name: "",
646
+ type: "uint256",
647
+ },
648
+ ],
649
+ stateMutability: "view",
650
+ type: "function",
651
+ },
652
+ {
653
+ inputs: [],
654
+ name: "toppingTimes",
655
+ outputs: [
656
+ {
657
+ internalType: "uint256",
658
+ name: "",
659
+ type: "uint256",
660
+ },
661
+ ],
662
+ stateMutability: "view",
663
+ type: "function",
664
+ },
665
+ {
666
+ inputs: [
667
+ {
668
+ internalType: "address",
669
+ name: "newOwner",
670
+ type: "address",
671
+ },
672
+ ],
673
+ name: "transferOwnership",
674
+ outputs: [],
675
+ stateMutability: "nonpayable",
676
+ type: "function",
677
+ },
678
+ {
679
+ inputs: [
680
+ {
681
+ internalType: "address",
682
+ name: "newImplementation",
683
+ type: "address",
684
+ },
685
+ ],
686
+ name: "upgradeTo",
687
+ outputs: [],
688
+ stateMutability: "nonpayable",
689
+ type: "function",
690
+ },
691
+ {
692
+ inputs: [
693
+ {
694
+ internalType: "address",
695
+ name: "newImplementation",
696
+ type: "address",
697
+ },
698
+ {
699
+ internalType: "bytes",
700
+ name: "data",
701
+ type: "bytes",
702
+ },
703
+ ],
704
+ name: "upgradeToAndCall",
705
+ outputs: [],
706
+ stateMutability: "payable",
707
+ type: "function",
708
+ },
709
+ {
710
+ inputs: [
711
+ {
712
+ internalType: "address",
713
+ name: "_user",
714
+ type: "address",
715
+ },
716
+ {
717
+ internalType: "string",
718
+ name: "_did",
719
+ type: "string",
720
+ },
721
+ ],
722
+ name: "whitelist",
723
+ outputs: [],
724
+ stateMutability: "nonpayable",
725
+ type: "function",
726
+ },
727
+ {
728
+ stateMutability: "payable",
729
+ type: "receive",
730
+ },
731
+ ];
732
+
733
+ const _bytecode =
734
+ "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c61235561004b6000396000818161082a0152818161086a01528181610ae10152610b2101526123556000f3fe60806040526004361061016c5760003560e01c806301ffc9a714610178578063133d93a1146101ad578063248a9ca3146101dd57806324d7806c146101fd5780632beeaca41461021d5780632bf164581461023f5780632c159a1a1461026d5780632f2ff15d1461029b57806336568abe146102bb5780633659cfe6146102db5780633771dcf8146102fb578063377e11e01461031b5780634f1ef2861461033b5780635fc944e91461034e578063715018a61461036e57806378c8cda7146103835780637e2c1355146103a35780638da5cb5b146103c357806390482d72146103d857806391d14854146103f85780639c54df6414610418578063a217fddf14610438578063c48924961461044d578063d547741f14610464578063db62683814610484578063e6ea3939146104a4578063eb91e651146104bb578063f2fde38b146104db578063f3da9f05146104fb578063f9f92be414610512578063fe173b971461053257600080fd5b3661017357005b600080fd5b34801561018457600080fd5b50610198610193366004611a6f565b610549565b60405190151581526020015b60405180910390f35b3480156101b957600080fd5b506101cf60008051602061229983398151915281565b6040519081526020016101a4565b3480156101e957600080fd5b506101cf6101f8366004611a99565b610580565b34801561020957600080fd5b50610198610218366004611ac7565b610595565b34801561022957600080fd5b5061023d610238366004611b81565b6105af565b005b34801561024b57600080fd5b5061025f61025a366004611c04565b610678565b6040516101a4929190611cb4565b34801561027957600080fd5b506101325461028e906001600160a01b031681565b6040516101a49190611cd7565b3480156102a757600080fd5b5061023d6102b6366004611ceb565b610783565b3480156102c757600080fd5b5061023d6102d6366004611ceb565b6107a5565b3480156102e757600080fd5b5061023d6102f6366004611ac7565b61081f565b34801561030757600080fd5b5061023d610316366004611ac7565b6108e8565b34801561032757600080fd5b5061023d610336366004611d3e565b610a16565b61023d610349366004611ddc565b610ad6565b34801561035a57600080fd5b5061023d610369366004611e21565b610b8c565b34801561037a57600080fd5b5061023d610cba565b34801561038f57600080fd5b5061023d61039e366004611ac7565b610cf5565b3480156103af57600080fd5b5061023d6103be366004611e43565b610d8d565b3480156103cf57600080fd5b5061028e610dce565b3480156103e457600080fd5b5061023d6103f3366004611ee4565b610ddd565b34801561040457600080fd5b50610198610413366004611ceb565b610eaa565b34801561042457600080fd5b5061023d610433366004611f47565b610ed5565b34801561044457600080fd5b506101cf600081565b34801561045957600080fd5b506101cf61012f5481565b34801561047057600080fd5b5061023d61047f366004611ceb565b61100c565b34801561049057600080fd5b5061023d61049f366004611a99565b611029565b3480156104b057600080fd5b506101cf61012e5481565b3480156104c757600080fd5b5061023d6104d6366004611ac7565b611038565b3480156104e757600080fd5b5061023d6104f6366004611ac7565b61108e565b34801561050757600080fd5b506101cf6101305481565b34801561051e57600080fd5b5061023d61052d366004611ac7565b61112b565b34801561053e57600080fd5b506101cf6101315481565b60006001600160e01b03198216637965db0b60e01b148061057a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600090815260fb602052604090206001015490565b600061057a60008051602061229983398151915283610eaa565b6105b833610595565b6105dd5760405162461bcd60e51b81526004016105d490611f7b565b60405180910390fd5b61013254604051631b02709960e01b81526001600160a01b0390911690631b027099906106109085908590600401611fa8565b600060405180830381600087803b15801561062a57600080fd5b505af115801561063e573d6000803e3d6000fd5b50505050600261012f546106529190611fe2565b333111801590610666575061066633610595565b156106745761067433611181565b5050565b6000606061068533610595565b6106a15760405162461bcd60e51b81526004016105d490611f7b565b846001600160a01b031683856040516106ba9190612004565b60006040518083038185875af1925050503d80600081146106f7576040519150601f19603f3d011682016040523d82523d6000602084013e6106fc565b606091505b5060405191935091506001600160a01b038616907f534b52c783549f909f9e743120524d0b7154058e4a54cdc895c2c0b587a1c7e09061074190879087908790612020565b60405180910390a2600261012f546107599190611fe2565b33311180159061076d575061076d33610595565b1561077b5761077b33611181565b935093915050565b61078c82610580565b610796813361128d565b6107a083836112f1565b505050565b6001600160a01b03811633146108155760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016105d4565b6106748282611377565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108685760405162461bcd60e51b81526004016105d49061204a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661089a6113de565b6001600160a01b0316146108c05760405162461bcd60e51b81526004016105d490612084565b6108c9816113fa565b604080516000808252602082019092526108e591839190611429565b50565b6108f133610595565b61090d5760405162461bcd60e51b81526004016105d490611f7b565b61013054610133600061091e611570565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002054106109b65760405162461bcd60e51b815260206004820152603060248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f2060448201526f6d616e792074696d657320746f64617960801b60648201526084016105d4565b600461012e546109c69190611fe2565b816001600160a01b031631106109db576109e4565b6109e481611181565b600261012f546109f49190611fe2565b333111801590610a085750610a0833610595565b156108e5576108e533611181565b33610a1f610dce565b6001600160a01b031614610a455760405162461bcd60e51b81526004016105d4906120be565b60005b8151811015610a9457610a82600080516020612299833981519152838381518110610a7557610a756120f3565b602002602001015161100c565b80610a8c81612109565b915050610a48565b5080604051610aa39190612124565b604051908190038120907fd5e6894641b5030a67e637ab2e12da64d8aec689f8bd1328de2b04d6a439c81090600090a250565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610b1f5760405162461bcd60e51b81526004016105d49061204a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b516113de565b6001600160a01b031614610b775760405162461bcd60e51b81526004016105d490612084565b610b80826113fa565b61067482826001611429565b61012d548210610bd45760405162461bcd60e51b815260206004820152601360248201527241646d696e206c69737420697320656d70747960681b60448201526064016105d4565b815b61012d5481108015610be757508181105b15610ca957610c1d61012d8281548110610c0357610c036120f3565b6000918252602090912001546001600160a01b0316610595565b8015610c615750600261012f54610c349190611fe2565b61012d8281548110610c4857610c486120f3565b6000918252602090912001546001600160a01b03163111155b15610c9757610c9761012d8281548110610c7d57610c7d6120f3565b6000918252602090912001546001600160a01b0316611181565b80610ca181612109565b915050610bd6565b50600261012f546106529190611fe2565b33610cc3610dce565b6001600160a01b031614610ce95760405162461bcd60e51b81526004016105d4906120be565b610cf36000611584565b565b610cfe33610595565b610d1a5760405162461bcd60e51b81526004016105d490611f7b565b6101325460405163291d954960e01b81526001600160a01b039091169063291d954990610d4b908490600401611cd7565b600060405180830381600087803b158015610d6557600080fd5b505af1158015610d79573d6000803e3d6000fd5b50505050600261012f546109f49190611fe2565b33610d96610dce565b6001600160a01b031614610dbc5760405162461bcd60e51b81526004016105d4906120be565b610dc8848484846115d6565b50505050565b6097546001600160a01b031690565b600054610100900460ff1680610df6575060005460ff16155b610e125760405162461bcd60e51b81526004016105d490612163565b600054610100900460ff16158015610e34576000805461ffff19166101011790555b610e3c611601565b610e4461166c565b610e4f6000846116cc565b610e67620927c06289544060036402540be4006115d6565b61013280546001600160a01b0319166001600160a01b038416179055835115610e9357610e9384610ed5565b8015610dc8576000805461ff001916905550505050565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b33610ede610dce565b6001600160a01b031614610f045760405162461bcd60e51b81526004016105d4906120be565b60005b8151811015610fca57610f32828281518110610f2557610f256120f3565b6020026020010151610595565b610fb857610f67600080516020612299833981519152838381518110610f5a57610f5a6120f3565b6020026020010151610783565b61012d828281518110610f7c57610f7c6120f3565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b80610fc281612109565b915050610f07565b5080604051610fd99190612124565b604051908190038120907f45486b220020cc2482ad1a5e0ae4d5f0b5372cea1b48173f6273c616a504726990600090a250565b61101582610580565b61101f813361128d565b6107a08383611377565b6109e4816103698160326121b1565b61104133610595565b61105d5760405162461bcd60e51b81526004016105d490611f7b565b610132546040516363513b6160e11b81526001600160a01b039091169063c6a276c290610d4b908490600401611cd7565b33611097610dce565b6001600160a01b0316146110bd5760405162461bcd60e51b81526004016105d4906120be565b6001600160a01b0381166111225760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d4565b6108e581611584565b61113433610595565b6111505760405162461bcd60e51b81526004016105d490611f7b565b61013254604051630c477e0b60e11b81526001600160a01b039091169063188efc1690610d4b908490600401611cd7565b60016101336000611190611570565b81526020019081526020016000206000836001600160a01b03166001600160a01b0316815260200190815260200160002060008282546111d091906121b1565b90915550600090506111e182610595565b6111ee5761012e546111f3565b61012f545b9050600061120b6001600160a01b03841631836121c9565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015611244573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858260405161128091815260200190565b60405180910390a2505050565b6112978282610eaa565b610674576112af816001600160a01b031660146116d6565b6112ba8360206116d6565b6040516020016112cb9291906121e0565b60408051601f198184030181529082905262461bcd60e51b82526105d49160040161224f565b6112fb8282610eaa565b61067457600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556113333390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6113818282610eaa565b1561067457600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000805160206122d9833981519152546001600160a01b031690565b33611403610dce565b6001600160a01b0316146108e55760405162461bcd60e51b81526004016105d4906120be565b60006114336113de565b905061143e84611878565b60008351118061144b5750815b1561145c5761145a848461190b565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661156957805460ff191660011781556040516114d79086906114a8908590602401611cd7565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b17905261190b565b50805460ff191681556114e86113de565b6001600160a01b0316826001600160a01b0316146115605760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016105d4565b611569856119f6565b5050505050565b600061157f6201518042611fe2565b905090565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6101318190556115e68185612262565b61012e556115f48184612262565b61012f5550610130555050565b600054610100900460ff168061161a575060005460ff16155b6116365760405162461bcd60e51b81526004016105d490612163565b600054610100900460ff16158015611658576000805461ffff19166101011790555b80156108e5576000805461ff001916905550565b600054610100900460ff1680611685575060005460ff16155b6116a15760405162461bcd60e51b81526004016105d490612163565b600054610100900460ff161580156116c3576000805461ffff19166101011790555b61165833611584565b61067482826112f1565b606060006116e5836002612262565b6116f09060026121b1565b6001600160401b0381111561170757611707611ae4565b6040519080825280601f01601f191660200182016040528015611731576020820181803683370190505b509050600360fc1b8160008151811061174c5761174c6120f3565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061177b5761177b6120f3565b60200101906001600160f81b031916908160001a905350600061179f846002612262565b6117aa9060016121b1565b90505b6001811115611822576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106117de576117de6120f3565b1a60f81b8282815181106117f4576117f46120f3565b60200101906001600160f81b031916908160001a90535060049490941c9361181b81612281565b90506117ad565b5083156118715760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105d4565b9392505050565b803b6118dc5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105d4565b6000805160206122d983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b61196a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016105d4565b600080846001600160a01b0316846040516119859190612004565b600060405180830381855af49150503d80600081146119c0576040519150601f19603f3d011682016040523d82523d6000602084013e6119c5565b606091505b50915091506119ed82826040518060600160405280602781526020016122f960279139611a36565b95945050505050565b6119ff81611878565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315611a45575081611871565b825115611a555782518084602001fd5b8160405162461bcd60e51b81526004016105d4919061224f565b600060208284031215611a8157600080fd5b81356001600160e01b03198116811461187157600080fd5b600060208284031215611aab57600080fd5b5035919050565b6001600160a01b03811681146108e557600080fd5b600060208284031215611ad957600080fd5b813561187181611ab2565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611b2257611b22611ae4565b604052919050565b60006001600160401b03831115611b4357611b43611ae4565b611b56601f8401601f1916602001611afa565b9050828152838383011115611b6a57600080fd5b828260208301376000602084830101529392505050565b60008060408385031215611b9457600080fd5b8235611b9f81611ab2565b915060208301356001600160401b03811115611bba57600080fd5b8301601f81018513611bcb57600080fd5b611bda85823560208401611b2a565b9150509250929050565b600082601f830112611bf557600080fd5b61187183833560208501611b2a565b600080600060608486031215611c1957600080fd5b8335611c2481611ab2565b925060208401356001600160401b03811115611c3f57600080fd5b611c4b86828701611be4565b925050604084013590509250925092565b60005b83811015611c77578181015183820152602001611c5f565b83811115610dc85750506000910152565b60008151808452611ca0816020860160208601611c5c565b601f01601f19169290920160200192915050565b8215158152604060208201526000611ccf6040830184611c88565b949350505050565b6001600160a01b0391909116815260200190565b60008060408385031215611cfe57600080fd5b823591506020830135611d1081611ab2565b809150509250929050565b60006001600160401b03821115611d3457611d34611ae4565b5060051b60200190565b60006020808385031215611d5157600080fd5b82356001600160401b03811115611d6757600080fd5b8301601f81018513611d7857600080fd5b8035611d8b611d8682611d1b565b611afa565b81815260059190911b82018301908381019087831115611daa57600080fd5b928401925b82841015611dd1578335611dc281611ab2565b82529284019290840190611daf565b979650505050505050565b60008060408385031215611def57600080fd5b8235611dfa81611ab2565b915060208301356001600160401b03811115611e1557600080fd5b611bda85828601611be4565b60008060408385031215611e3457600080fd5b50508035926020909101359150565b60008060008060808587031215611e5957600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f830112611e8657600080fd5b81356020611e96611d8683611d1b565b82815260059290921b84018101918181019086841115611eb557600080fd5b8286015b84811015611ed9578035611ecc81611ab2565b8352918301918301611eb9565b509695505050505050565b600080600060608486031215611ef957600080fd5b83356001600160401b03811115611f0f57600080fd5b611f1b86828701611e75565b9350506020840135611f2c81611ab2565b91506040840135611f3c81611ab2565b809150509250925092565b600060208284031215611f5957600080fd5b81356001600160401b03811115611f6f57600080fd5b611ccf84828501611e75565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6001600160a01b0383168152604060208201819052600090611ccf90830184611c88565b634e487b7160e01b600052601160045260246000fd5b600082611fff57634e487b7160e01b600052601260045260246000fd5b500490565b60008251612016818460208701611c5c565b9190910192915050565b6060815260006120336060830186611c88565b602083019490945250901515604090910152919050565b6020808252602c908201526000805160206122b983398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206122b983398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561211d5761211d611fcc565b5060010190565b815160009082906020808601845b838110156121575781516001600160a01b031685529382019390820190600101612132565b50929695505050505050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600082198211156121c4576121c4611fcc565b500190565b6000828210156121db576121db611fcc565b500390565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351612212816017850160208801611c5c565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612243816028840160208801611c5c565b01602801949350505050565b6020815260006118716020830184611c88565b600081600019048311821515161561227c5761227c611fcc565b500290565b60008161229057612290611fcc565b50600019019056febf18f3bdda8a65fc5ec294c2c787f805aceec15eed9fe17fdb6588866be113dc46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220effa031a9bb44c9166af430e840425d44c9ecd4973b8e0e44b12f1877ce66d9064736f6c63430008080033";
735
+
736
+ type AdminWalletConstructorParams =
737
+ | [signer?: Signer]
738
+ | ConstructorParameters<typeof ContractFactory>;
739
+
740
+ const isSuperArgs = (
741
+ xs: AdminWalletConstructorParams
742
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
743
+
744
+ export class AdminWallet__factory extends ContractFactory {
745
+ constructor(...args: AdminWalletConstructorParams) {
746
+ if (isSuperArgs(args)) {
747
+ super(...args);
748
+ } else {
749
+ super(_abi, _bytecode, args[0]);
750
+ }
751
+ }
752
+
753
+ deploy(
754
+ overrides?: Overrides & { from?: string | Promise<string> }
755
+ ): Promise<AdminWallet> {
756
+ return super.deploy(overrides || {}) as Promise<AdminWallet>;
757
+ }
758
+ getDeployTransaction(
759
+ overrides?: Overrides & { from?: string | Promise<string> }
760
+ ): TransactionRequest {
761
+ return super.getDeployTransaction(overrides || {});
762
+ }
763
+ attach(address: string): AdminWallet {
764
+ return super.attach(address) as AdminWallet;
765
+ }
766
+ connect(signer: Signer): AdminWallet__factory {
767
+ return super.connect(signer) as AdminWallet__factory;
768
+ }
769
+ static readonly bytecode = _bytecode;
770
+ static readonly abi = _abi;
771
+ static createInterface(): AdminWalletInterface {
772
+ return new utils.Interface(_abi) as AdminWalletInterface;
773
+ }
774
+ static connect(
775
+ address: string,
776
+ signerOrProvider: Signer | Provider
777
+ ): AdminWallet {
778
+ return new Contract(address, _abi, signerOrProvider) as AdminWallet;
779
+ }
780
+ }