@venusprotocol/protocol-reserve 1.0.0-dev.1 → 1.0.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/package.json +4 -7
  2. package/typechain/@openzeppelin/contracts/access/IAccessControl.ts +343 -0
  3. package/typechain/@openzeppelin/contracts/access/index.ts +4 -0
  4. package/typechain/@openzeppelin/contracts/index.ts +11 -0
  5. package/typechain/@openzeppelin/contracts/token/ERC20/ERC20.ts +466 -0
  6. package/typechain/@openzeppelin/contracts/token/ERC20/IERC20.ts +344 -0
  7. package/typechain/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +386 -0
  8. package/typechain/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  9. package/typechain/@openzeppelin/contracts/token/ERC20/index.ts +10 -0
  10. package/typechain/@openzeppelin/contracts/token/index.ts +8 -0
  11. package/typechain/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.ts +264 -0
  12. package/typechain/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +190 -0
  13. package/typechain/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  14. package/typechain/@openzeppelin/contracts-upgradeable/index.ts +17 -0
  15. package/typechain/@openzeppelin/contracts-upgradeable/proxy/index.ts +8 -0
  16. package/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +72 -0
  17. package/typechain/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +4 -0
  18. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts +344 -0
  19. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.ts +195 -0
  20. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.ts +4 -0
  21. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.ts +8 -0
  22. package/typechain/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +9 -0
  23. package/typechain/@openzeppelin/contracts-upgradeable/token/index.ts +8 -0
  24. package/typechain/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +72 -0
  25. package/typechain/@openzeppelin/contracts-upgradeable/utils/index.ts +4 -0
  26. package/typechain/@openzeppelin/index.ts +11 -0
  27. package/typechain/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.ts +344 -0
  28. package/typechain/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.ts +530 -0
  29. package/typechain/@venusprotocol/governance-contracts/contracts/Governance/index.ts +5 -0
  30. package/typechain/@venusprotocol/governance-contracts/contracts/index.ts +8 -0
  31. package/typechain/@venusprotocol/governance-contracts/index.ts +8 -0
  32. package/typechain/@venusprotocol/index.ts +8 -0
  33. package/typechain/common.ts +48 -0
  34. package/typechain/contracts/Interfaces/ComptrollerInterface.ts +90 -0
  35. package/typechain/contracts/Interfaces/IIncomeDestination.ts +112 -0
  36. package/typechain/contracts/Interfaces/IPrime.ts +202 -0
  37. package/typechain/contracts/Interfaces/IProtocolShareReserve.ts +122 -0
  38. package/typechain/contracts/Interfaces/IVToken.ts +87 -0
  39. package/typechain/contracts/Interfaces/PoolRegistryInterface.ts +110 -0
  40. package/typechain/contracts/Interfaces/index.ts +9 -0
  41. package/typechain/contracts/ProtocolReserve/ProtocolShareReserve.ts +1100 -0
  42. package/typechain/contracts/ProtocolReserve/index.ts +4 -0
  43. package/typechain/contracts/Test/Mocks/MockToken.ts +498 -0
  44. package/typechain/contracts/Test/Mocks/index.ts +4 -0
  45. package/typechain/contracts/Test/index.ts +8 -0
  46. package/typechain/contracts/index.ts +14 -0
  47. package/typechain/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts +199 -0
  48. package/typechain/factories/@openzeppelin/contracts/access/index.ts +4 -0
  49. package/typechain/factories/@openzeppelin/contracts/index.ts +5 -0
  50. package/typechain/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +352 -0
  51. package/typechain/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +207 -0
  52. package/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +249 -0
  53. package/typechain/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +4 -0
  54. package/typechain/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
  55. package/typechain/factories/@openzeppelin/contracts/token/index.ts +4 -0
  56. package/typechain/factories/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable__factory.ts +135 -0
  57. package/typechain/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +92 -0
  58. package/typechain/factories/@openzeppelin/contracts-upgradeable/access/index.ts +5 -0
  59. package/typechain/factories/@openzeppelin/contracts-upgradeable/index.ts +7 -0
  60. package/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +4 -0
  61. package/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +40 -0
  62. package/typechain/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +4 -0
  63. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts +210 -0
  64. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable__factory.ts +106 -0
  65. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol/index.ts +4 -0
  66. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/index.ts +4 -0
  67. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts +5 -0
  68. package/typechain/factories/@openzeppelin/contracts-upgradeable/token/index.ts +4 -0
  69. package/typechain/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +40 -0
  70. package/typechain/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +4 -0
  71. package/typechain/factories/@openzeppelin/index.ts +5 -0
  72. package/typechain/factories/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8__factory.ts +197 -0
  73. package/typechain/factories/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8__factory.ts +302 -0
  74. package/typechain/factories/@venusprotocol/governance-contracts/contracts/Governance/index.ts +5 -0
  75. package/typechain/factories/@venusprotocol/governance-contracts/contracts/index.ts +4 -0
  76. package/typechain/factories/@venusprotocol/governance-contracts/index.ts +4 -0
  77. package/typechain/factories/@venusprotocol/index.ts +4 -0
  78. package/typechain/factories/contracts/Interfaces/ComptrollerInterface__factory.ts +44 -0
  79. package/typechain/factories/contracts/Interfaces/IIncomeDestination__factory.ts +45 -0
  80. package/typechain/factories/contracts/Interfaces/IPrime__factory.ts +87 -0
  81. package/typechain/factories/contracts/Interfaces/IProtocolShareReserve__factory.ts +54 -0
  82. package/typechain/factories/contracts/Interfaces/IVToken__factory.ts +40 -0
  83. package/typechain/factories/contracts/Interfaces/PoolRegistryInterface__factory.ts +55 -0
  84. package/typechain/factories/contracts/Interfaces/index.ts +9 -0
  85. package/typechain/factories/contracts/ProtocolReserve/ProtocolShareReserve__factory.ts +815 -0
  86. package/typechain/factories/contracts/ProtocolReserve/index.ts +4 -0
  87. package/typechain/factories/contracts/Test/Mocks/MockToken__factory.ts +392 -0
  88. package/typechain/factories/contracts/Test/Mocks/index.ts +4 -0
  89. package/typechain/factories/contracts/Test/index.ts +4 -0
  90. package/typechain/factories/contracts/index.ts +6 -0
  91. package/typechain/factories/index.ts +6 -0
  92. package/typechain/hardhat.d.ts +213 -0
  93. package/typechain/index.ts +55 -0
@@ -0,0 +1,199 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+
3
+ /* tslint:disable */
4
+
5
+ /* eslint-disable */
6
+ import type {
7
+ IAccessControl,
8
+ IAccessControlInterface,
9
+ } from "../../../../@openzeppelin/contracts/access/IAccessControl";
10
+ import type { Provider } from "@ethersproject/providers";
11
+ import { Contract, Signer, utils } from "ethers";
12
+
13
+ const _abi = [
14
+ {
15
+ anonymous: false,
16
+ inputs: [
17
+ {
18
+ indexed: true,
19
+ internalType: "bytes32",
20
+ name: "role",
21
+ type: "bytes32",
22
+ },
23
+ {
24
+ indexed: true,
25
+ internalType: "bytes32",
26
+ name: "previousAdminRole",
27
+ type: "bytes32",
28
+ },
29
+ {
30
+ indexed: true,
31
+ internalType: "bytes32",
32
+ name: "newAdminRole",
33
+ type: "bytes32",
34
+ },
35
+ ],
36
+ name: "RoleAdminChanged",
37
+ type: "event",
38
+ },
39
+ {
40
+ anonymous: false,
41
+ inputs: [
42
+ {
43
+ indexed: true,
44
+ internalType: "bytes32",
45
+ name: "role",
46
+ type: "bytes32",
47
+ },
48
+ {
49
+ indexed: true,
50
+ internalType: "address",
51
+ name: "account",
52
+ type: "address",
53
+ },
54
+ {
55
+ indexed: true,
56
+ internalType: "address",
57
+ name: "sender",
58
+ type: "address",
59
+ },
60
+ ],
61
+ name: "RoleGranted",
62
+ type: "event",
63
+ },
64
+ {
65
+ anonymous: false,
66
+ inputs: [
67
+ {
68
+ indexed: true,
69
+ internalType: "bytes32",
70
+ name: "role",
71
+ type: "bytes32",
72
+ },
73
+ {
74
+ indexed: true,
75
+ internalType: "address",
76
+ name: "account",
77
+ type: "address",
78
+ },
79
+ {
80
+ indexed: true,
81
+ internalType: "address",
82
+ name: "sender",
83
+ type: "address",
84
+ },
85
+ ],
86
+ name: "RoleRevoked",
87
+ type: "event",
88
+ },
89
+ {
90
+ inputs: [
91
+ {
92
+ internalType: "bytes32",
93
+ name: "role",
94
+ type: "bytes32",
95
+ },
96
+ ],
97
+ name: "getRoleAdmin",
98
+ outputs: [
99
+ {
100
+ internalType: "bytes32",
101
+ name: "",
102
+ type: "bytes32",
103
+ },
104
+ ],
105
+ stateMutability: "view",
106
+ type: "function",
107
+ },
108
+ {
109
+ inputs: [
110
+ {
111
+ internalType: "bytes32",
112
+ name: "role",
113
+ type: "bytes32",
114
+ },
115
+ {
116
+ internalType: "address",
117
+ name: "account",
118
+ type: "address",
119
+ },
120
+ ],
121
+ name: "grantRole",
122
+ outputs: [],
123
+ stateMutability: "nonpayable",
124
+ type: "function",
125
+ },
126
+ {
127
+ inputs: [
128
+ {
129
+ internalType: "bytes32",
130
+ name: "role",
131
+ type: "bytes32",
132
+ },
133
+ {
134
+ internalType: "address",
135
+ name: "account",
136
+ type: "address",
137
+ },
138
+ ],
139
+ name: "hasRole",
140
+ outputs: [
141
+ {
142
+ internalType: "bool",
143
+ name: "",
144
+ type: "bool",
145
+ },
146
+ ],
147
+ stateMutability: "view",
148
+ type: "function",
149
+ },
150
+ {
151
+ inputs: [
152
+ {
153
+ internalType: "bytes32",
154
+ name: "role",
155
+ type: "bytes32",
156
+ },
157
+ {
158
+ internalType: "address",
159
+ name: "account",
160
+ type: "address",
161
+ },
162
+ ],
163
+ name: "renounceRole",
164
+ outputs: [],
165
+ stateMutability: "nonpayable",
166
+ type: "function",
167
+ },
168
+ {
169
+ inputs: [
170
+ {
171
+ internalType: "bytes32",
172
+ name: "role",
173
+ type: "bytes32",
174
+ },
175
+ {
176
+ internalType: "address",
177
+ name: "account",
178
+ type: "address",
179
+ },
180
+ ],
181
+ name: "revokeRole",
182
+ outputs: [],
183
+ stateMutability: "nonpayable",
184
+ type: "function",
185
+ },
186
+ ] as const;
187
+
188
+ export class IAccessControl__factory {
189
+ static readonly abi = _abi;
190
+ static createInterface(): IAccessControlInterface {
191
+ return new utils.Interface(_abi) as IAccessControlInterface;
192
+ }
193
+ static connect(
194
+ address: string,
195
+ signerOrProvider: Signer | Provider
196
+ ): IAccessControl {
197
+ return new Contract(address, _abi, signerOrProvider) as IAccessControl;
198
+ }
199
+ }
@@ -0,0 +1,4 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export { IAccessControl__factory } from "./IAccessControl__factory";
@@ -0,0 +1,5 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export * as access from "./access";
5
+ export * as token from "./token";
@@ -0,0 +1,352 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+
3
+ /* tslint:disable */
4
+
5
+ /* eslint-disable */
6
+ import type {
7
+ ERC20,
8
+ ERC20Interface,
9
+ } from "../../../../../@openzeppelin/contracts/token/ERC20/ERC20";
10
+ import type { PromiseOrValue } from "../../../../../common";
11
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
12
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
13
+
14
+ const _abi = [
15
+ {
16
+ inputs: [
17
+ {
18
+ internalType: "string",
19
+ name: "name_",
20
+ type: "string",
21
+ },
22
+ {
23
+ internalType: "string",
24
+ name: "symbol_",
25
+ type: "string",
26
+ },
27
+ ],
28
+ stateMutability: "nonpayable",
29
+ type: "constructor",
30
+ },
31
+ {
32
+ anonymous: false,
33
+ inputs: [
34
+ {
35
+ indexed: true,
36
+ internalType: "address",
37
+ name: "owner",
38
+ type: "address",
39
+ },
40
+ {
41
+ indexed: true,
42
+ internalType: "address",
43
+ name: "spender",
44
+ type: "address",
45
+ },
46
+ {
47
+ indexed: false,
48
+ internalType: "uint256",
49
+ name: "value",
50
+ type: "uint256",
51
+ },
52
+ ],
53
+ name: "Approval",
54
+ type: "event",
55
+ },
56
+ {
57
+ anonymous: false,
58
+ inputs: [
59
+ {
60
+ indexed: true,
61
+ internalType: "address",
62
+ name: "from",
63
+ type: "address",
64
+ },
65
+ {
66
+ indexed: true,
67
+ internalType: "address",
68
+ name: "to",
69
+ type: "address",
70
+ },
71
+ {
72
+ indexed: false,
73
+ internalType: "uint256",
74
+ name: "value",
75
+ type: "uint256",
76
+ },
77
+ ],
78
+ name: "Transfer",
79
+ type: "event",
80
+ },
81
+ {
82
+ inputs: [
83
+ {
84
+ internalType: "address",
85
+ name: "owner",
86
+ type: "address",
87
+ },
88
+ {
89
+ internalType: "address",
90
+ name: "spender",
91
+ type: "address",
92
+ },
93
+ ],
94
+ name: "allowance",
95
+ outputs: [
96
+ {
97
+ internalType: "uint256",
98
+ name: "",
99
+ type: "uint256",
100
+ },
101
+ ],
102
+ stateMutability: "view",
103
+ type: "function",
104
+ },
105
+ {
106
+ inputs: [
107
+ {
108
+ internalType: "address",
109
+ name: "spender",
110
+ type: "address",
111
+ },
112
+ {
113
+ internalType: "uint256",
114
+ name: "amount",
115
+ type: "uint256",
116
+ },
117
+ ],
118
+ name: "approve",
119
+ outputs: [
120
+ {
121
+ internalType: "bool",
122
+ name: "",
123
+ type: "bool",
124
+ },
125
+ ],
126
+ stateMutability: "nonpayable",
127
+ type: "function",
128
+ },
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "address",
133
+ name: "account",
134
+ type: "address",
135
+ },
136
+ ],
137
+ name: "balanceOf",
138
+ outputs: [
139
+ {
140
+ internalType: "uint256",
141
+ name: "",
142
+ type: "uint256",
143
+ },
144
+ ],
145
+ stateMutability: "view",
146
+ type: "function",
147
+ },
148
+ {
149
+ inputs: [],
150
+ name: "decimals",
151
+ outputs: [
152
+ {
153
+ internalType: "uint8",
154
+ name: "",
155
+ type: "uint8",
156
+ },
157
+ ],
158
+ stateMutability: "view",
159
+ type: "function",
160
+ },
161
+ {
162
+ inputs: [
163
+ {
164
+ internalType: "address",
165
+ name: "spender",
166
+ type: "address",
167
+ },
168
+ {
169
+ internalType: "uint256",
170
+ name: "subtractedValue",
171
+ type: "uint256",
172
+ },
173
+ ],
174
+ name: "decreaseAllowance",
175
+ outputs: [
176
+ {
177
+ internalType: "bool",
178
+ name: "",
179
+ type: "bool",
180
+ },
181
+ ],
182
+ stateMutability: "nonpayable",
183
+ type: "function",
184
+ },
185
+ {
186
+ inputs: [
187
+ {
188
+ internalType: "address",
189
+ name: "spender",
190
+ type: "address",
191
+ },
192
+ {
193
+ internalType: "uint256",
194
+ name: "addedValue",
195
+ type: "uint256",
196
+ },
197
+ ],
198
+ name: "increaseAllowance",
199
+ outputs: [
200
+ {
201
+ internalType: "bool",
202
+ name: "",
203
+ type: "bool",
204
+ },
205
+ ],
206
+ stateMutability: "nonpayable",
207
+ type: "function",
208
+ },
209
+ {
210
+ inputs: [],
211
+ name: "name",
212
+ outputs: [
213
+ {
214
+ internalType: "string",
215
+ name: "",
216
+ type: "string",
217
+ },
218
+ ],
219
+ stateMutability: "view",
220
+ type: "function",
221
+ },
222
+ {
223
+ inputs: [],
224
+ name: "symbol",
225
+ outputs: [
226
+ {
227
+ internalType: "string",
228
+ name: "",
229
+ type: "string",
230
+ },
231
+ ],
232
+ stateMutability: "view",
233
+ type: "function",
234
+ },
235
+ {
236
+ inputs: [],
237
+ name: "totalSupply",
238
+ outputs: [
239
+ {
240
+ internalType: "uint256",
241
+ name: "",
242
+ type: "uint256",
243
+ },
244
+ ],
245
+ stateMutability: "view",
246
+ type: "function",
247
+ },
248
+ {
249
+ inputs: [
250
+ {
251
+ internalType: "address",
252
+ name: "to",
253
+ type: "address",
254
+ },
255
+ {
256
+ internalType: "uint256",
257
+ name: "amount",
258
+ type: "uint256",
259
+ },
260
+ ],
261
+ name: "transfer",
262
+ outputs: [
263
+ {
264
+ internalType: "bool",
265
+ name: "",
266
+ type: "bool",
267
+ },
268
+ ],
269
+ stateMutability: "nonpayable",
270
+ type: "function",
271
+ },
272
+ {
273
+ inputs: [
274
+ {
275
+ internalType: "address",
276
+ name: "from",
277
+ type: "address",
278
+ },
279
+ {
280
+ internalType: "address",
281
+ name: "to",
282
+ type: "address",
283
+ },
284
+ {
285
+ internalType: "uint256",
286
+ name: "amount",
287
+ type: "uint256",
288
+ },
289
+ ],
290
+ name: "transferFrom",
291
+ outputs: [
292
+ {
293
+ internalType: "bool",
294
+ name: "",
295
+ type: "bool",
296
+ },
297
+ ],
298
+ stateMutability: "nonpayable",
299
+ type: "function",
300
+ },
301
+ ] as const;
302
+
303
+ const _bytecode =
304
+ "0x60806040523480156200001157600080fd5b5060405162000db638038062000db68339810160408190526200003491620001db565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000281565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b6020821081036200027b57634e487b7160e01b600052602260045260246000fd5b50919050565b610b2580620002916000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610906565b60405180910390f35b6100ff6100fa3660046109a2565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109cc565b6102aa565b604051601281526020016100e3565b6100ff6101513660046109a2565b6102ce565b610113610164366004610a08565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031a565b6100ff6101a23660046109a2565b610329565b6100ff6101b53660046109a2565b6103ff565b6101136101c8366004610a2a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a5d565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a5d565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040d565b5060019392505050565b6000336102b88582856105c0565b6102c3858585610697565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610315908790610ab0565b61040d565b60606004805461020f90610a5d565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c3828686840361040d565b6000336102a0818585610697565b73ffffffffffffffffffffffffffffffffffffffff83166104af576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103e9565b73ffffffffffffffffffffffffffffffffffffffff8216610552576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103e9565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106915781811015610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103e9565b610691848484840361040d565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103e9565b73ffffffffffffffffffffffffffffffffffffffff82166107dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103e9565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103e9565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610691565b600060208083528351808285015260005b8181101561093357858101830151858201604001528201610917565b81811115610945576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099d57600080fd5b919050565b600080604083850312156109b557600080fd5b6109be83610979565b946020939093013593505050565b6000806000606084860312156109e157600080fd5b6109ea84610979565b92506109f860208501610979565b9150604084013590509250925092565b600060208284031215610a1a57600080fd5b610a2382610979565b9392505050565b60008060408385031215610a3d57600080fd5b610a4683610979565b9150610a5460208401610979565b90509250929050565b600181811c90821680610a7157607f821691505b602082108103610aaa577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115610aea577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea264697066735822122098cc59a062a7683505f038865a07eeac104aedfea26546028a8c8ce7ee7ba52164736f6c634300080d0033";
305
+
306
+ type ERC20ConstructorParams =
307
+ | [signer?: Signer]
308
+ | ConstructorParameters<typeof ContractFactory>;
309
+
310
+ const isSuperArgs = (
311
+ xs: ERC20ConstructorParams
312
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
313
+
314
+ export class ERC20__factory extends ContractFactory {
315
+ constructor(...args: ERC20ConstructorParams) {
316
+ if (isSuperArgs(args)) {
317
+ super(...args);
318
+ } else {
319
+ super(_abi, _bytecode, args[0]);
320
+ }
321
+ }
322
+
323
+ override deploy(
324
+ name_: PromiseOrValue<string>,
325
+ symbol_: PromiseOrValue<string>,
326
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
327
+ ): Promise<ERC20> {
328
+ return super.deploy(name_, symbol_, overrides || {}) as Promise<ERC20>;
329
+ }
330
+ override getDeployTransaction(
331
+ name_: PromiseOrValue<string>,
332
+ symbol_: PromiseOrValue<string>,
333
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
334
+ ): TransactionRequest {
335
+ return super.getDeployTransaction(name_, symbol_, overrides || {});
336
+ }
337
+ override attach(address: string): ERC20 {
338
+ return super.attach(address) as ERC20;
339
+ }
340
+ override connect(signer: Signer): ERC20__factory {
341
+ return super.connect(signer) as ERC20__factory;
342
+ }
343
+
344
+ static readonly bytecode = _bytecode;
345
+ static readonly abi = _abi;
346
+ static createInterface(): ERC20Interface {
347
+ return new utils.Interface(_abi) as ERC20Interface;
348
+ }
349
+ static connect(address: string, signerOrProvider: Signer | Provider): ERC20 {
350
+ return new Contract(address, _abi, signerOrProvider) as ERC20;
351
+ }
352
+ }