gn-contracts 1.0.0 → 1.0.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 (73) hide show
  1. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  2. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  3. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  4. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.dbg.json +1 -1
  5. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  6. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  7. package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  8. package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  9. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  10. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.dbg.json +1 -1
  11. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.dbg.json +1 -1
  12. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.dbg.json +1 -1
  13. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.dbg.json +1 -1
  14. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.dbg.json +1 -1
  15. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  16. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
  17. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +1 -1
  18. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.dbg.json +1 -1
  19. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.dbg.json +1 -1
  20. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.dbg.json +1 -1
  21. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.dbg.json +1 -1
  22. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.dbg.json +1 -1
  23. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.dbg.json +1 -1
  24. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +1 -1
  25. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  26. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  27. package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.dbg.json +1 -1
  28. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  29. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  30. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  31. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  32. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.dbg.json +1 -1
  33. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.dbg.json +1 -1
  34. package/artifacts/build-info/{5c571e0d4e969428dca2c8e1dbdb7c69.json → 44138e8f5cba15b8d9fb0b0302f6f9cc.json} +1 -1
  35. package/artifacts/contracts/CROWD.sol/CROWD.dbg.json +1 -1
  36. package/artifacts/contracts/CROWD.sol/CROWD.json +2 -2
  37. package/artifacts/contracts/CUSDT.sol/CUSDT.dbg.json +1 -1
  38. package/artifacts/contracts/CUSDT.sol/CUSDT.json +2 -2
  39. package/artifacts/contracts/NFT.sol/NFT.dbg.json +1 -1
  40. package/artifacts/contracts/NFT.sol/NFT.json +2 -2
  41. package/artifacts/contracts/NFTFounder.sol/NFTFounder.dbg.json +1 -1
  42. package/artifacts/contracts/NFTFounder.sol/NFTFounder.json +2 -2
  43. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.dbg.json +1 -1
  44. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.json +2 -2
  45. package/artifacts/contracts/Network.sol/Network.dbg.json +1 -1
  46. package/artifacts/contracts/Network.sol/Network.json +2 -2
  47. package/artifacts/contracts/Swap.sol/Swap.dbg.json +1 -1
  48. package/artifacts/contracts/Swap.sol/Swap.json +136 -47
  49. package/artifacts/contracts/USDT.sol/USDT.dbg.json +1 -1
  50. package/artifacts/contracts/USDT.sol/USDT.json +2 -2
  51. package/artifacts/contracts/lib/AccessControl.sol/AccessControl.dbg.json +1 -1
  52. package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.dbg.json +1 -1
  53. package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.dbg.json +1 -1
  54. package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.dbg.json +1 -1
  55. package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.dbg.json +1 -1
  56. package/contracts/CROWD.sol +2 -2
  57. package/contracts/CUSDT.sol +2 -2
  58. package/contracts/NFT.sol +53 -53
  59. package/contracts/Network.sol +4 -4
  60. package/contracts/Swap.sol +101 -14
  61. package/contracts/USDT.sol +2 -2
  62. package/package.json +1 -1
  63. package/typechain-types/contracts/Swap.ts +254 -98
  64. package/typechain-types/factories/contracts/CROWD__factory.ts +1 -1
  65. package/typechain-types/factories/contracts/CUSDT__factory.ts +1 -1
  66. package/typechain-types/factories/contracts/NFTFounder__factory.ts +1 -1
  67. package/typechain-types/factories/contracts/NFTGenesis__factory.ts +1 -1
  68. package/typechain-types/factories/contracts/NFT__factory.ts +1 -1
  69. package/typechain-types/factories/contracts/Network__factory.ts +1 -1
  70. package/typechain-types/factories/contracts/Swap__factory.ts +135 -46
  71. package/typechain-types/factories/contracts/USDT__factory.ts +1 -1
  72. package/artifacts/build-info/3b73b26b5bedaeb08a2c2823a85a9eb7.json +0 -1
  73. package/artifacts/build-info/b6798c83bba51d6a98d799cc7723db38.json +0 -1
@@ -30,13 +30,18 @@ import type {
30
30
 
31
31
  export interface SwapInterface extends utils.Interface {
32
32
  functions: {
33
+ "addLiquidityCROWD(uint256)": FunctionFragment;
34
+ "addLiquidityCUSDT(uint256)": FunctionFragment;
33
35
  "crowd()": FunctionFragment;
34
36
  "cusdt()": FunctionFragment;
35
- "feeMarketing()": FunctionFragment;
36
- "feeReceiver()": FunctionFragment;
37
- "initialize(address,address,address,address,address)": FunctionFragment;
37
+ "getCrowdRate()": FunctionFragment;
38
+ "getCusdtRate()": FunctionFragment;
39
+ "getPoolBalances()": FunctionFragment;
40
+ "initialize(address,address,address)": FunctionFragment;
38
41
  "owner()": FunctionFragment;
39
42
  "proxiableUUID()": FunctionFragment;
43
+ "removeLiquidityCROWD(uint256)": FunctionFragment;
44
+ "removeLiquidityCUSDT(uint256)": FunctionFragment;
40
45
  "renounceOwnership()": FunctionFragment;
41
46
  "swapToCROWD(uint256)": FunctionFragment;
42
47
  "swapToCUSDT(uint256)": FunctionFragment;
@@ -44,20 +49,23 @@ export interface SwapInterface extends utils.Interface {
44
49
  "upgradeTo(address)": FunctionFragment;
45
50
  "upgradeToAndCall(address,bytes)": FunctionFragment;
46
51
  "usdt()": FunctionFragment;
47
- "withdrawCROWD(uint256)": FunctionFragment;
48
- "withdrawCUSDT(uint256)": FunctionFragment;
49
52
  "withdrawUSDT(uint256)": FunctionFragment;
50
53
  };
51
54
 
52
55
  getFunction(
53
56
  nameOrSignatureOrTopic:
57
+ | "addLiquidityCROWD"
58
+ | "addLiquidityCUSDT"
54
59
  | "crowd"
55
60
  | "cusdt"
56
- | "feeMarketing"
57
- | "feeReceiver"
61
+ | "getCrowdRate"
62
+ | "getCusdtRate"
63
+ | "getPoolBalances"
58
64
  | "initialize"
59
65
  | "owner"
60
66
  | "proxiableUUID"
67
+ | "removeLiquidityCROWD"
68
+ | "removeLiquidityCUSDT"
61
69
  | "renounceOwnership"
62
70
  | "swapToCROWD"
63
71
  | "swapToCUSDT"
@@ -65,26 +73,34 @@ export interface SwapInterface extends utils.Interface {
65
73
  | "upgradeTo"
66
74
  | "upgradeToAndCall"
67
75
  | "usdt"
68
- | "withdrawCROWD"
69
- | "withdrawCUSDT"
70
76
  | "withdrawUSDT"
71
77
  ): FunctionFragment;
72
78
 
79
+ encodeFunctionData(
80
+ functionFragment: "addLiquidityCROWD",
81
+ values: [PromiseOrValue<BigNumberish>]
82
+ ): string;
83
+ encodeFunctionData(
84
+ functionFragment: "addLiquidityCUSDT",
85
+ values: [PromiseOrValue<BigNumberish>]
86
+ ): string;
73
87
  encodeFunctionData(functionFragment: "crowd", values?: undefined): string;
74
88
  encodeFunctionData(functionFragment: "cusdt", values?: undefined): string;
75
89
  encodeFunctionData(
76
- functionFragment: "feeMarketing",
90
+ functionFragment: "getCrowdRate",
77
91
  values?: undefined
78
92
  ): string;
79
93
  encodeFunctionData(
80
- functionFragment: "feeReceiver",
94
+ functionFragment: "getCusdtRate",
95
+ values?: undefined
96
+ ): string;
97
+ encodeFunctionData(
98
+ functionFragment: "getPoolBalances",
81
99
  values?: undefined
82
100
  ): string;
83
101
  encodeFunctionData(
84
102
  functionFragment: "initialize",
85
103
  values: [
86
- PromiseOrValue<string>,
87
- PromiseOrValue<string>,
88
104
  PromiseOrValue<string>,
89
105
  PromiseOrValue<string>,
90
106
  PromiseOrValue<string>
@@ -95,6 +111,14 @@ export interface SwapInterface extends utils.Interface {
95
111
  functionFragment: "proxiableUUID",
96
112
  values?: undefined
97
113
  ): string;
114
+ encodeFunctionData(
115
+ functionFragment: "removeLiquidityCROWD",
116
+ values: [PromiseOrValue<BigNumberish>]
117
+ ): string;
118
+ encodeFunctionData(
119
+ functionFragment: "removeLiquidityCUSDT",
120
+ values: [PromiseOrValue<BigNumberish>]
121
+ ): string;
98
122
  encodeFunctionData(
99
123
  functionFragment: "renounceOwnership",
100
124
  values?: undefined
@@ -120,27 +144,31 @@ export interface SwapInterface extends utils.Interface {
120
144
  values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]
121
145
  ): string;
122
146
  encodeFunctionData(functionFragment: "usdt", values?: undefined): string;
123
- encodeFunctionData(
124
- functionFragment: "withdrawCROWD",
125
- values: [PromiseOrValue<BigNumberish>]
126
- ): string;
127
- encodeFunctionData(
128
- functionFragment: "withdrawCUSDT",
129
- values: [PromiseOrValue<BigNumberish>]
130
- ): string;
131
147
  encodeFunctionData(
132
148
  functionFragment: "withdrawUSDT",
133
149
  values: [PromiseOrValue<BigNumberish>]
134
150
  ): string;
135
151
 
152
+ decodeFunctionResult(
153
+ functionFragment: "addLiquidityCROWD",
154
+ data: BytesLike
155
+ ): Result;
156
+ decodeFunctionResult(
157
+ functionFragment: "addLiquidityCUSDT",
158
+ data: BytesLike
159
+ ): Result;
136
160
  decodeFunctionResult(functionFragment: "crowd", data: BytesLike): Result;
137
161
  decodeFunctionResult(functionFragment: "cusdt", data: BytesLike): Result;
138
162
  decodeFunctionResult(
139
- functionFragment: "feeMarketing",
163
+ functionFragment: "getCrowdRate",
140
164
  data: BytesLike
141
165
  ): Result;
142
166
  decodeFunctionResult(
143
- functionFragment: "feeReceiver",
167
+ functionFragment: "getCusdtRate",
168
+ data: BytesLike
169
+ ): Result;
170
+ decodeFunctionResult(
171
+ functionFragment: "getPoolBalances",
144
172
  data: BytesLike
145
173
  ): Result;
146
174
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
@@ -149,6 +177,14 @@ export interface SwapInterface extends utils.Interface {
149
177
  functionFragment: "proxiableUUID",
150
178
  data: BytesLike
151
179
  ): Result;
180
+ decodeFunctionResult(
181
+ functionFragment: "removeLiquidityCROWD",
182
+ data: BytesLike
183
+ ): Result;
184
+ decodeFunctionResult(
185
+ functionFragment: "removeLiquidityCUSDT",
186
+ data: BytesLike
187
+ ): Result;
152
188
  decodeFunctionResult(
153
189
  functionFragment: "renounceOwnership",
154
190
  data: BytesLike
@@ -171,36 +207,44 @@ export interface SwapInterface extends utils.Interface {
171
207
  data: BytesLike
172
208
  ): Result;
173
209
  decodeFunctionResult(functionFragment: "usdt", data: BytesLike): Result;
174
- decodeFunctionResult(
175
- functionFragment: "withdrawCROWD",
176
- data: BytesLike
177
- ): Result;
178
- decodeFunctionResult(
179
- functionFragment: "withdrawCUSDT",
180
- data: BytesLike
181
- ): Result;
182
210
  decodeFunctionResult(
183
211
  functionFragment: "withdrawUSDT",
184
212
  data: BytesLike
185
213
  ): Result;
186
214
 
187
215
  events: {
216
+ "AddLiquidity(address,uint256,uint256)": EventFragment;
188
217
  "AdminChanged(address,address)": EventFragment;
189
218
  "BeaconUpgraded(address)": EventFragment;
190
219
  "Initialized(uint8)": EventFragment;
191
220
  "OwnershipTransferred(address,address)": EventFragment;
221
+ "RemoveLiquidity(address,uint256,uint256)": EventFragment;
192
222
  "SwapToken(address,address,uint256,address,uint256)": EventFragment;
193
223
  "Upgraded(address)": EventFragment;
194
224
  };
195
225
 
226
+ getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment;
196
227
  getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
197
228
  getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
198
229
  getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
199
230
  getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
231
+ getEvent(nameOrSignatureOrTopic: "RemoveLiquidity"): EventFragment;
200
232
  getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment;
201
233
  getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;
202
234
  }
203
235
 
236
+ export interface AddLiquidityEventObject {
237
+ token: string;
238
+ amount: BigNumber;
239
+ timestamp: BigNumber;
240
+ }
241
+ export type AddLiquidityEvent = TypedEvent<
242
+ [string, BigNumber, BigNumber],
243
+ AddLiquidityEventObject
244
+ >;
245
+
246
+ export type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>;
247
+
204
248
  export interface AdminChangedEventObject {
205
249
  previousAdmin: string;
206
250
  newAdmin: string;
@@ -241,6 +285,18 @@ export type OwnershipTransferredEvent = TypedEvent<
241
285
  export type OwnershipTransferredEventFilter =
242
286
  TypedEventFilter<OwnershipTransferredEvent>;
243
287
 
288
+ export interface RemoveLiquidityEventObject {
289
+ token: string;
290
+ amount: BigNumber;
291
+ timestamp: BigNumber;
292
+ }
293
+ export type RemoveLiquidityEvent = TypedEvent<
294
+ [string, BigNumber, BigNumber],
295
+ RemoveLiquidityEventObject
296
+ >;
297
+
298
+ export type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>;
299
+
244
300
  export interface SwapTokenEventObject {
245
301
  _from: string;
246
302
  _to: string;
@@ -289,20 +345,42 @@ export interface Swap extends BaseContract {
289
345
  removeListener: OnEvent<this>;
290
346
 
291
347
  functions: {
348
+ addLiquidityCROWD(
349
+ _amount: PromiseOrValue<BigNumberish>,
350
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
351
+ ): Promise<ContractTransaction>;
352
+
353
+ addLiquidityCUSDT(
354
+ _amount: PromiseOrValue<BigNumberish>,
355
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
356
+ ): Promise<ContractTransaction>;
357
+
292
358
  crowd(overrides?: CallOverrides): Promise<[string]>;
293
359
 
294
360
  cusdt(overrides?: CallOverrides): Promise<[string]>;
295
361
 
296
- feeMarketing(overrides?: CallOverrides): Promise<[string]>;
362
+ getCrowdRate(
363
+ overrides?: CallOverrides
364
+ ): Promise<[BigNumber] & { crowdRate: BigNumber }>;
297
365
 
298
- feeReceiver(overrides?: CallOverrides): Promise<[string]>;
366
+ getCusdtRate(
367
+ overrides?: CallOverrides
368
+ ): Promise<[BigNumber] & { cusdtRate: BigNumber }>;
369
+
370
+ getPoolBalances(
371
+ overrides?: CallOverrides
372
+ ): Promise<
373
+ [BigNumber, BigNumber, BigNumber] & {
374
+ usdtBalance: BigNumber;
375
+ cusdtBalance: BigNumber;
376
+ crowdBalance: BigNumber;
377
+ }
378
+ >;
299
379
 
300
380
  initialize(
301
381
  _usdt: PromiseOrValue<string>,
302
382
  _cusdt: PromiseOrValue<string>,
303
383
  _crowd: PromiseOrValue<string>,
304
- _feeReceiver: PromiseOrValue<string>,
305
- _feeMarketing: PromiseOrValue<string>,
306
384
  overrides?: Overrides & { from?: PromiseOrValue<string> }
307
385
  ): Promise<ContractTransaction>;
308
386
 
@@ -310,6 +388,16 @@ export interface Swap extends BaseContract {
310
388
 
311
389
  proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
312
390
 
391
+ removeLiquidityCROWD(
392
+ _amount: PromiseOrValue<BigNumberish>,
393
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
394
+ ): Promise<ContractTransaction>;
395
+
396
+ removeLiquidityCUSDT(
397
+ _amount: PromiseOrValue<BigNumberish>,
398
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
399
+ ): Promise<ContractTransaction>;
400
+
313
401
  renounceOwnership(
314
402
  overrides?: Overrides & { from?: PromiseOrValue<string> }
315
403
  ): Promise<ContractTransaction>;
@@ -342,36 +430,44 @@ export interface Swap extends BaseContract {
342
430
 
343
431
  usdt(overrides?: CallOverrides): Promise<[string]>;
344
432
 
345
- withdrawCROWD(
346
- _amount: PromiseOrValue<BigNumberish>,
347
- overrides?: Overrides & { from?: PromiseOrValue<string> }
348
- ): Promise<ContractTransaction>;
349
-
350
- withdrawCUSDT(
351
- _amount: PromiseOrValue<BigNumberish>,
352
- overrides?: Overrides & { from?: PromiseOrValue<string> }
353
- ): Promise<ContractTransaction>;
354
-
355
433
  withdrawUSDT(
356
434
  _amount: PromiseOrValue<BigNumberish>,
357
435
  overrides?: Overrides & { from?: PromiseOrValue<string> }
358
436
  ): Promise<ContractTransaction>;
359
437
  };
360
438
 
439
+ addLiquidityCROWD(
440
+ _amount: PromiseOrValue<BigNumberish>,
441
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
442
+ ): Promise<ContractTransaction>;
443
+
444
+ addLiquidityCUSDT(
445
+ _amount: PromiseOrValue<BigNumberish>,
446
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
447
+ ): Promise<ContractTransaction>;
448
+
361
449
  crowd(overrides?: CallOverrides): Promise<string>;
362
450
 
363
451
  cusdt(overrides?: CallOverrides): Promise<string>;
364
452
 
365
- feeMarketing(overrides?: CallOverrides): Promise<string>;
453
+ getCrowdRate(overrides?: CallOverrides): Promise<BigNumber>;
454
+
455
+ getCusdtRate(overrides?: CallOverrides): Promise<BigNumber>;
366
456
 
367
- feeReceiver(overrides?: CallOverrides): Promise<string>;
457
+ getPoolBalances(
458
+ overrides?: CallOverrides
459
+ ): Promise<
460
+ [BigNumber, BigNumber, BigNumber] & {
461
+ usdtBalance: BigNumber;
462
+ cusdtBalance: BigNumber;
463
+ crowdBalance: BigNumber;
464
+ }
465
+ >;
368
466
 
369
467
  initialize(
370
468
  _usdt: PromiseOrValue<string>,
371
469
  _cusdt: PromiseOrValue<string>,
372
470
  _crowd: PromiseOrValue<string>,
373
- _feeReceiver: PromiseOrValue<string>,
374
- _feeMarketing: PromiseOrValue<string>,
375
471
  overrides?: Overrides & { from?: PromiseOrValue<string> }
376
472
  ): Promise<ContractTransaction>;
377
473
 
@@ -379,6 +475,16 @@ export interface Swap extends BaseContract {
379
475
 
380
476
  proxiableUUID(overrides?: CallOverrides): Promise<string>;
381
477
 
478
+ removeLiquidityCROWD(
479
+ _amount: PromiseOrValue<BigNumberish>,
480
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
481
+ ): Promise<ContractTransaction>;
482
+
483
+ removeLiquidityCUSDT(
484
+ _amount: PromiseOrValue<BigNumberish>,
485
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
486
+ ): Promise<ContractTransaction>;
487
+
382
488
  renounceOwnership(
383
489
  overrides?: Overrides & { from?: PromiseOrValue<string> }
384
490
  ): Promise<ContractTransaction>;
@@ -411,36 +517,44 @@ export interface Swap extends BaseContract {
411
517
 
412
518
  usdt(overrides?: CallOverrides): Promise<string>;
413
519
 
414
- withdrawCROWD(
415
- _amount: PromiseOrValue<BigNumberish>,
416
- overrides?: Overrides & { from?: PromiseOrValue<string> }
417
- ): Promise<ContractTransaction>;
418
-
419
- withdrawCUSDT(
420
- _amount: PromiseOrValue<BigNumberish>,
421
- overrides?: Overrides & { from?: PromiseOrValue<string> }
422
- ): Promise<ContractTransaction>;
423
-
424
520
  withdrawUSDT(
425
521
  _amount: PromiseOrValue<BigNumberish>,
426
522
  overrides?: Overrides & { from?: PromiseOrValue<string> }
427
523
  ): Promise<ContractTransaction>;
428
524
 
429
525
  callStatic: {
526
+ addLiquidityCROWD(
527
+ _amount: PromiseOrValue<BigNumberish>,
528
+ overrides?: CallOverrides
529
+ ): Promise<void>;
530
+
531
+ addLiquidityCUSDT(
532
+ _amount: PromiseOrValue<BigNumberish>,
533
+ overrides?: CallOverrides
534
+ ): Promise<void>;
535
+
430
536
  crowd(overrides?: CallOverrides): Promise<string>;
431
537
 
432
538
  cusdt(overrides?: CallOverrides): Promise<string>;
433
539
 
434
- feeMarketing(overrides?: CallOverrides): Promise<string>;
540
+ getCrowdRate(overrides?: CallOverrides): Promise<BigNumber>;
541
+
542
+ getCusdtRate(overrides?: CallOverrides): Promise<BigNumber>;
435
543
 
436
- feeReceiver(overrides?: CallOverrides): Promise<string>;
544
+ getPoolBalances(
545
+ overrides?: CallOverrides
546
+ ): Promise<
547
+ [BigNumber, BigNumber, BigNumber] & {
548
+ usdtBalance: BigNumber;
549
+ cusdtBalance: BigNumber;
550
+ crowdBalance: BigNumber;
551
+ }
552
+ >;
437
553
 
438
554
  initialize(
439
555
  _usdt: PromiseOrValue<string>,
440
556
  _cusdt: PromiseOrValue<string>,
441
557
  _crowd: PromiseOrValue<string>,
442
- _feeReceiver: PromiseOrValue<string>,
443
- _feeMarketing: PromiseOrValue<string>,
444
558
  overrides?: CallOverrides
445
559
  ): Promise<void>;
446
560
 
@@ -448,6 +562,16 @@ export interface Swap extends BaseContract {
448
562
 
449
563
  proxiableUUID(overrides?: CallOverrides): Promise<string>;
450
564
 
565
+ removeLiquidityCROWD(
566
+ _amount: PromiseOrValue<BigNumberish>,
567
+ overrides?: CallOverrides
568
+ ): Promise<void>;
569
+
570
+ removeLiquidityCUSDT(
571
+ _amount: PromiseOrValue<BigNumberish>,
572
+ overrides?: CallOverrides
573
+ ): Promise<void>;
574
+
451
575
  renounceOwnership(overrides?: CallOverrides): Promise<void>;
452
576
 
453
577
  swapToCROWD(
@@ -478,16 +602,6 @@ export interface Swap extends BaseContract {
478
602
 
479
603
  usdt(overrides?: CallOverrides): Promise<string>;
480
604
 
481
- withdrawCROWD(
482
- _amount: PromiseOrValue<BigNumberish>,
483
- overrides?: CallOverrides
484
- ): Promise<void>;
485
-
486
- withdrawCUSDT(
487
- _amount: PromiseOrValue<BigNumberish>,
488
- overrides?: CallOverrides
489
- ): Promise<void>;
490
-
491
605
  withdrawUSDT(
492
606
  _amount: PromiseOrValue<BigNumberish>,
493
607
  overrides?: CallOverrides
@@ -495,6 +609,17 @@ export interface Swap extends BaseContract {
495
609
  };
496
610
 
497
611
  filters: {
612
+ "AddLiquidity(address,uint256,uint256)"(
613
+ token?: PromiseOrValue<string> | null,
614
+ amount?: null,
615
+ timestamp?: null
616
+ ): AddLiquidityEventFilter;
617
+ AddLiquidity(
618
+ token?: PromiseOrValue<string> | null,
619
+ amount?: null,
620
+ timestamp?: null
621
+ ): AddLiquidityEventFilter;
622
+
498
623
  "AdminChanged(address,address)"(
499
624
  previousAdmin?: null,
500
625
  newAdmin?: null
@@ -523,6 +648,17 @@ export interface Swap extends BaseContract {
523
648
  newOwner?: PromiseOrValue<string> | null
524
649
  ): OwnershipTransferredEventFilter;
525
650
 
651
+ "RemoveLiquidity(address,uint256,uint256)"(
652
+ token?: PromiseOrValue<string> | null,
653
+ amount?: null,
654
+ timestamp?: null
655
+ ): RemoveLiquidityEventFilter;
656
+ RemoveLiquidity(
657
+ token?: PromiseOrValue<string> | null,
658
+ amount?: null,
659
+ timestamp?: null
660
+ ): RemoveLiquidityEventFilter;
661
+
526
662
  "SwapToken(address,address,uint256,address,uint256)"(
527
663
  _from?: null,
528
664
  _to?: null,
@@ -547,20 +683,30 @@ export interface Swap extends BaseContract {
547
683
  };
548
684
 
549
685
  estimateGas: {
686
+ addLiquidityCROWD(
687
+ _amount: PromiseOrValue<BigNumberish>,
688
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
689
+ ): Promise<BigNumber>;
690
+
691
+ addLiquidityCUSDT(
692
+ _amount: PromiseOrValue<BigNumberish>,
693
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
694
+ ): Promise<BigNumber>;
695
+
550
696
  crowd(overrides?: CallOverrides): Promise<BigNumber>;
551
697
 
552
698
  cusdt(overrides?: CallOverrides): Promise<BigNumber>;
553
699
 
554
- feeMarketing(overrides?: CallOverrides): Promise<BigNumber>;
700
+ getCrowdRate(overrides?: CallOverrides): Promise<BigNumber>;
701
+
702
+ getCusdtRate(overrides?: CallOverrides): Promise<BigNumber>;
555
703
 
556
- feeReceiver(overrides?: CallOverrides): Promise<BigNumber>;
704
+ getPoolBalances(overrides?: CallOverrides): Promise<BigNumber>;
557
705
 
558
706
  initialize(
559
707
  _usdt: PromiseOrValue<string>,
560
708
  _cusdt: PromiseOrValue<string>,
561
709
  _crowd: PromiseOrValue<string>,
562
- _feeReceiver: PromiseOrValue<string>,
563
- _feeMarketing: PromiseOrValue<string>,
564
710
  overrides?: Overrides & { from?: PromiseOrValue<string> }
565
711
  ): Promise<BigNumber>;
566
712
 
@@ -568,6 +714,16 @@ export interface Swap extends BaseContract {
568
714
 
569
715
  proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
570
716
 
717
+ removeLiquidityCROWD(
718
+ _amount: PromiseOrValue<BigNumberish>,
719
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
720
+ ): Promise<BigNumber>;
721
+
722
+ removeLiquidityCUSDT(
723
+ _amount: PromiseOrValue<BigNumberish>,
724
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
725
+ ): Promise<BigNumber>;
726
+
571
727
  renounceOwnership(
572
728
  overrides?: Overrides & { from?: PromiseOrValue<string> }
573
729
  ): Promise<BigNumber>;
@@ -600,37 +756,37 @@ export interface Swap extends BaseContract {
600
756
 
601
757
  usdt(overrides?: CallOverrides): Promise<BigNumber>;
602
758
 
603
- withdrawCROWD(
759
+ withdrawUSDT(
604
760
  _amount: PromiseOrValue<BigNumberish>,
605
761
  overrides?: Overrides & { from?: PromiseOrValue<string> }
606
762
  ): Promise<BigNumber>;
763
+ };
607
764
 
608
- withdrawCUSDT(
765
+ populateTransaction: {
766
+ addLiquidityCROWD(
609
767
  _amount: PromiseOrValue<BigNumberish>,
610
768
  overrides?: Overrides & { from?: PromiseOrValue<string> }
611
- ): Promise<BigNumber>;
769
+ ): Promise<PopulatedTransaction>;
612
770
 
613
- withdrawUSDT(
771
+ addLiquidityCUSDT(
614
772
  _amount: PromiseOrValue<BigNumberish>,
615
773
  overrides?: Overrides & { from?: PromiseOrValue<string> }
616
- ): Promise<BigNumber>;
617
- };
774
+ ): Promise<PopulatedTransaction>;
618
775
 
619
- populateTransaction: {
620
776
  crowd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
621
777
 
622
778
  cusdt(overrides?: CallOverrides): Promise<PopulatedTransaction>;
623
779
 
624
- feeMarketing(overrides?: CallOverrides): Promise<PopulatedTransaction>;
780
+ getCrowdRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
781
+
782
+ getCusdtRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
625
783
 
626
- feeReceiver(overrides?: CallOverrides): Promise<PopulatedTransaction>;
784
+ getPoolBalances(overrides?: CallOverrides): Promise<PopulatedTransaction>;
627
785
 
628
786
  initialize(
629
787
  _usdt: PromiseOrValue<string>,
630
788
  _cusdt: PromiseOrValue<string>,
631
789
  _crowd: PromiseOrValue<string>,
632
- _feeReceiver: PromiseOrValue<string>,
633
- _feeMarketing: PromiseOrValue<string>,
634
790
  overrides?: Overrides & { from?: PromiseOrValue<string> }
635
791
  ): Promise<PopulatedTransaction>;
636
792
 
@@ -638,6 +794,16 @@ export interface Swap extends BaseContract {
638
794
 
639
795
  proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
640
796
 
797
+ removeLiquidityCROWD(
798
+ _amount: PromiseOrValue<BigNumberish>,
799
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
800
+ ): Promise<PopulatedTransaction>;
801
+
802
+ removeLiquidityCUSDT(
803
+ _amount: PromiseOrValue<BigNumberish>,
804
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
805
+ ): Promise<PopulatedTransaction>;
806
+
641
807
  renounceOwnership(
642
808
  overrides?: Overrides & { from?: PromiseOrValue<string> }
643
809
  ): Promise<PopulatedTransaction>;
@@ -670,16 +836,6 @@ export interface Swap extends BaseContract {
670
836
 
671
837
  usdt(overrides?: CallOverrides): Promise<PopulatedTransaction>;
672
838
 
673
- withdrawCROWD(
674
- _amount: PromiseOrValue<BigNumberish>,
675
- overrides?: Overrides & { from?: PromiseOrValue<string> }
676
- ): Promise<PopulatedTransaction>;
677
-
678
- withdrawCUSDT(
679
- _amount: PromiseOrValue<BigNumberish>,
680
- overrides?: Overrides & { from?: PromiseOrValue<string> }
681
- ): Promise<PopulatedTransaction>;
682
-
683
839
  withdrawUSDT(
684
840
  _amount: PromiseOrValue<BigNumberish>,
685
841
  overrides?: Overrides & { from?: PromiseOrValue<string> }
@@ -412,7 +412,7 @@ const _abi = [
412
412
  ] as const;
413
413
 
414
414
  const _bytecode =
415
- "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020016b43726f776420537472696b6560a01b8152506040518060400160405280600581526020016410d493d5d160da1b815250816003908162000066919062000275565b50600462000075828262000275565b505050620000926200008c620000b060201b60201c565b620000b4565b620000aa336b033b2e3c9fd0803ce800000062000106565b62000369565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001615760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000175919062000341565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001fc57607f821691505b6020821081036200021d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001cc57600081815260208120601f850160051c810160208610156200024c5750805b601f850160051c820191505b818110156200026d5782815560010162000258565b505050505050565b81516001600160401b03811115620002915762000291620001d1565b620002a981620002a28454620001e7565b8462000223565b602080601f831160018114620002e15760008415620002c85750858301515b600019600386901b1c1916600185901b1785556200026d565b600085815260208120601f198616915b828110156200031257888601518255948401946001909101908401620002f1565b5085821015620003315787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200036357634e487b7160e01b600052601160045260246000fd5b92915050565b610dcf80620003796000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b4114610265578063a457c2d71461026d578063a9059cbb14610280578063dd62ed3e14610293578063f2fde38b146102a657600080fd5b806370a08231146101e9578063715018a61461021257806379cc67901461021a5780638da5cb5b1461022d57806392f002331461025257600080fd5b8063313ce567116100f4578063313ce5671461018c57806338478ae71461019b57806339509351146101b057806342966c68146101c35780634cc0f367146101d657600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd14610179575b600080fd5b61012e6102b9565b60405161013b9190610bdd565b60405180910390f35b610157610152366004610c47565b61034b565b604051901515815260200161013b565b6002545b60405190815260200161013b565b610157610187366004610c71565b610365565b6040516012815260200161013b565b6101ae6101a9366004610cad565b610389565b005b6101576101be366004610c47565b610416565b6101ae6101d1366004610ccf565b610438565b6101ae6101e4366004610ce8565b610445565b61016b6101f7366004610cad565b6001600160a01b031660009081526020819052604090205490565b6101ae6104a3565b6101ae610228366004610c47565b6104b7565b6005546001600160a01b03165b6040516001600160a01b03909116815260200161013b565b60065461023a906001600160a01b031681565b61012e6104cc565b61015761027b366004610c47565b6104db565b61015761028e366004610c47565b610556565b61016b6102a1366004610d14565b610564565b6101ae6102b4366004610cad565b61058f565b6060600380546102c890610d3e565b80601f01602080910402602001604051908101604052809291908181526020018280546102f490610d3e565b80156103415780601f1061031657610100808354040283529160200191610341565b820191906000526020600020905b81548152906001019060200180831161032457829003601f168201915b5050505050905090565b600033610359818585610605565b60019150505b92915050565b60003361037385828561072a565b61037e8585856107a4565b506001949350505050565b610391610948565b6006546001600160a01b03908116908216036103f45760405162461bcd60e51b815260206004820152601b60248201527f6d696e74657220636f6e747261637420616c726561647920736574000000000060448201526064015b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000336103598185856104298383610564565b6104339190610d78565b610605565b61044233826109a2565b50565b6006546001600160a01b031633146104955760405162461bcd60e51b81526020600482015260136024820152722ab730baba3437b934bd32b21036b4b73a32b960691b60448201526064016103eb565b61049f8183610acc565b5050565b6104ab610948565b6104b56000610b8b565b565b6104c282338361072a565b61049f82826109a2565b6060600480546102c890610d3e565b600033816104e98286610564565b9050838110156105495760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103eb565b61037e8286868403610605565b6000336103598185856107a4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610597610948565b6001600160a01b0381166105fc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103eb565b61044281610b8b565b6001600160a01b0383166106675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103eb565b6001600160a01b0382166106c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006107368484610564565b9050600019811461079e57818110156107915760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b61079e8484848403610605565b50505050565b6001600160a01b0383166108085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103eb565b6001600160a01b03821661086a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103eb565b6001600160a01b038316600090815260208190526040902054818110156108e25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103eb565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361079e565b6005546001600160a01b031633146104b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103eb565b6001600160a01b038216610a025760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103eb565b6001600160a01b03821660009081526020819052604090205481811015610a765760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103eb565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161071d565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103eb565b8060026000828254610b349190610d78565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610c0a57858101830151858201604001528201610bee565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c4257600080fd5b919050565b60008060408385031215610c5a57600080fd5b610c6383610c2b565b946020939093013593505050565b600080600060608486031215610c8657600080fd5b610c8f84610c2b565b9250610c9d60208501610c2b565b9150604084013590509250925092565b600060208284031215610cbf57600080fd5b610cc882610c2b565b9392505050565b600060208284031215610ce157600080fd5b5035919050565b60008060408385031215610cfb57600080fd5b82359150610d0b60208401610c2b565b90509250929050565b60008060408385031215610d2757600080fd5b610d3083610c2b565b9150610d0b60208401610c2b565b600181811c90821680610d5257607f821691505b602082108103610d7257634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561035f57634e487b7160e01b600052601160045260246000fdfea2646970667358221220f1cc85a2ada3478bbf041664078da0b6107303eb3807c0251416f5886c538f3064736f6c63430008110033";
415
+ "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a43726f7764737472696b6560a81b8152506040518060400160405280600581526020016410d493d5d160da1b815250816003908162000065919062000273565b50600462000074828262000273565b505050620000916200008b620000ae60201b60201c565b620000b2565b620000a8336a52b7d2dcc80cd2e400000062000104565b62000367565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200015f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200017391906200033f565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001fa57607f821691505b6020821081036200021b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001ca57600081815260208120601f850160051c810160208610156200024a5750805b601f850160051c820191505b818110156200026b5782815560010162000256565b505050505050565b81516001600160401b038111156200028f576200028f620001cf565b620002a781620002a08454620001e5565b8462000221565b602080601f831160018114620002df5760008415620002c65750858301515b600019600386901b1c1916600185901b1785556200026b565b600085815260208120601f198616915b828110156200031057888601518255948401946001909101908401620002ef565b50858210156200032f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200036157634e487b7160e01b600052601160045260246000fd5b92915050565b610dcf80620003776000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad57806395d89b411161007157806395d89b4114610265578063a457c2d71461026d578063a9059cbb14610280578063dd62ed3e14610293578063f2fde38b146102a657600080fd5b806370a08231146101e9578063715018a61461021257806379cc67901461021a5780638da5cb5b1461022d57806392f002331461025257600080fd5b8063313ce567116100f4578063313ce5671461018c57806338478ae71461019b57806339509351146101b057806342966c68146101c35780634cc0f367146101d657600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd14610179575b600080fd5b61012e6102b9565b60405161013b9190610bdd565b60405180910390f35b610157610152366004610c47565b61034b565b604051901515815260200161013b565b6002545b60405190815260200161013b565b610157610187366004610c71565b610365565b6040516012815260200161013b565b6101ae6101a9366004610cad565b610389565b005b6101576101be366004610c47565b610416565b6101ae6101d1366004610ccf565b610438565b6101ae6101e4366004610ce8565b610445565b61016b6101f7366004610cad565b6001600160a01b031660009081526020819052604090205490565b6101ae6104a3565b6101ae610228366004610c47565b6104b7565b6005546001600160a01b03165b6040516001600160a01b03909116815260200161013b565b60065461023a906001600160a01b031681565b61012e6104cc565b61015761027b366004610c47565b6104db565b61015761028e366004610c47565b610556565b61016b6102a1366004610d14565b610564565b6101ae6102b4366004610cad565b61058f565b6060600380546102c890610d3e565b80601f01602080910402602001604051908101604052809291908181526020018280546102f490610d3e565b80156103415780601f1061031657610100808354040283529160200191610341565b820191906000526020600020905b81548152906001019060200180831161032457829003601f168201915b5050505050905090565b600033610359818585610605565b60019150505b92915050565b60003361037385828561072a565b61037e8585856107a4565b506001949350505050565b610391610948565b6006546001600160a01b03908116908216036103f45760405162461bcd60e51b815260206004820152601b60248201527f6d696e74657220636f6e747261637420616c726561647920736574000000000060448201526064015b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000336103598185856104298383610564565b6104339190610d78565b610605565b61044233826109a2565b50565b6006546001600160a01b031633146104955760405162461bcd60e51b81526020600482015260136024820152722ab730baba3437b934bd32b21036b4b73a32b960691b60448201526064016103eb565b61049f8183610acc565b5050565b6104ab610948565b6104b56000610b8b565b565b6104c282338361072a565b61049f82826109a2565b6060600480546102c890610d3e565b600033816104e98286610564565b9050838110156105495760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103eb565b61037e8286868403610605565b6000336103598185856107a4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610597610948565b6001600160a01b0381166105fc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103eb565b61044281610b8b565b6001600160a01b0383166106675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103eb565b6001600160a01b0382166106c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006107368484610564565b9050600019811461079e57818110156107915760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b61079e8484848403610605565b50505050565b6001600160a01b0383166108085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103eb565b6001600160a01b03821661086a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103eb565b6001600160a01b038316600090815260208190526040902054818110156108e25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103eb565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361079e565b6005546001600160a01b031633146104b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103eb565b6001600160a01b038216610a025760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103eb565b6001600160a01b03821660009081526020819052604090205481811015610a765760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103eb565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161071d565b6001600160a01b038216610b225760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103eb565b8060026000828254610b349190610d78565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610c0a57858101830151858201604001528201610bee565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c4257600080fd5b919050565b60008060408385031215610c5a57600080fd5b610c6383610c2b565b946020939093013593505050565b600080600060608486031215610c8657600080fd5b610c8f84610c2b565b9250610c9d60208501610c2b565b9150604084013590509250925092565b600060208284031215610cbf57600080fd5b610cc882610c2b565b9392505050565b600060208284031215610ce157600080fd5b5035919050565b60008060408385031215610cfb57600080fd5b82359150610d0b60208401610c2b565b90509250929050565b60008060408385031215610d2757600080fd5b610d3083610c2b565b9150610d0b60208401610c2b565b600181811c90821680610d5257607f821691505b602082108103610d7257634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561035f57634e487b7160e01b600052601160045260246000fdfea26469706673582212201c79316872843f2c9dc469eee3e38be028c2af8b094c014b8837428818b655ac64736f6c63430008110033";
416
416
 
417
417
  type CROWDConstructorParams =
418
418
  | [signer?: Signer]