@gooddollar/goodcollective-contracts 1.2.0 → 1.3.1

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 (62) hide show
  1. package/contracts/DirectPayments/DirectPaymentsFactory.sol +31 -12
  2. package/contracts/DirectPayments/DirectPaymentsLibrary.sol +208 -0
  3. package/contracts/DirectPayments/DirectPaymentsPool.sol +19 -151
  4. package/contracts/GoodCollective/GoodCollectiveSuperApp.sol +72 -19
  5. package/contracts/GoodCollective/IGoodCollectiveSuperApp.sol +10 -0
  6. package/contracts/GoodCollective/SuperAppBaseFlow.sol +6 -0
  7. package/contracts/Interfaces.sol +25 -0
  8. package/contracts/UBI/UBIPool.sol +76 -75
  9. package/contracts/UBI/UBIPoolFactory.sol +34 -13
  10. package/contracts/utils/HelperLibrary.sol +66 -23
  11. package/package.json +3 -3
  12. package/releases/deployment.json +8486 -30703
  13. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.ts +16 -4
  14. package/typechain-types/contracts/DirectPayments/DirectPaymentsLibrary.ts +146 -0
  15. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.ts +191 -20
  16. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/IMembersValidator.ts +6 -8
  17. package/typechain-types/contracts/DirectPayments/index.ts +1 -0
  18. package/typechain-types/contracts/GoodCollective/GoodCollectiveSuperApp.ts +141 -6
  19. package/typechain-types/contracts/{DirectPayments/DirectPaymentsFactory.sol/IRegistry.ts → GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp.ts} +32 -20
  20. package/typechain-types/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IRegistry.ts +38 -1
  21. package/typechain-types/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/index.ts +1 -0
  22. package/typechain-types/contracts/GoodCollective/SuperAppBaseFlow.sol/IRegisterSuperapp.ts +152 -0
  23. package/typechain-types/contracts/GoodCollective/SuperAppBaseFlow.sol/SuperAppBaseFlow.ts +523 -0
  24. package/typechain-types/contracts/GoodCollective/SuperAppBaseFlow.sol/index.ts +5 -0
  25. package/typechain-types/contracts/GoodCollective/index.ts +2 -1
  26. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2.ts +1 -1
  27. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator.ts +1 -1
  28. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
  29. package/typechain-types/contracts/UBI/{UBIPool.sol/UBIPool.ts → UBIPool.ts} +279 -47
  30. package/typechain-types/contracts/UBI/UBIPoolFactory.ts +58 -34
  31. package/typechain-types/contracts/UBI/index.ts +1 -2
  32. package/typechain-types/contracts/index.ts +2 -0
  33. package/typechain-types/contracts/utils/HelperLibrary.ts +46 -4
  34. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts +16 -1
  35. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsLibrary__factory.ts +169 -0
  36. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool__factory.ts +101 -2
  37. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/IMembersValidator__factory.ts +1 -1
  38. package/typechain-types/factories/contracts/DirectPayments/index.ts +1 -0
  39. package/typechain-types/factories/contracts/GoodCollective/GoodCollectiveSuperApp__factory.ts +66 -0
  40. package/typechain-types/factories/contracts/{DirectPayments/DirectPaymentsFactory.sol/IRegistry__factory.ts → GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp__factory.ts} +21 -12
  41. package/typechain-types/factories/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IRegistry__factory.ts +24 -0
  42. package/typechain-types/factories/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/index.ts +1 -0
  43. package/typechain-types/factories/contracts/GoodCollective/SuperAppBaseFlow.sol/IRegisterSuperapp__factory.ts +62 -0
  44. package/typechain-types/factories/contracts/GoodCollective/SuperAppBaseFlow.sol/SuperAppBaseFlow__factory.ts +335 -0
  45. package/typechain-types/factories/contracts/GoodCollective/SuperAppBaseFlow.sol/index.ts +5 -0
  46. package/typechain-types/factories/contracts/GoodCollective/index.ts +1 -1
  47. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2__factory.ts +1 -1
  48. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator__factory.ts +1 -1
  49. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
  50. package/typechain-types/factories/contracts/UBI/UBIPoolFactory__factory.ts +56 -7
  51. package/typechain-types/factories/contracts/UBI/UBIPool__factory.ts +2070 -0
  52. package/typechain-types/factories/contracts/UBI/index.ts +1 -1
  53. package/typechain-types/factories/contracts/index.ts +1 -0
  54. package/typechain-types/factories/contracts/test/HelperLibraryTest__factory.ts +1 -1
  55. package/typechain-types/factories/contracts/utils/HelperLibrary__factory.ts +41 -1
  56. package/typechain-types/hardhat.d.ts +35 -8
  57. package/typechain-types/index.ts +10 -4
  58. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.sol/DirectPaymentsFactory.ts +0 -1327
  59. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.sol/index.ts +0 -5
  60. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory.sol/DirectPaymentsFactory__factory.ts +0 -1004
  61. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory.sol/index.ts +0 -5
  62. package/typechain-types/factories/contracts/UBI/UBIPool.sol/UBIPool__factory.ts +0 -1916
@@ -26,30 +26,30 @@ import type {
26
26
  TypedListener,
27
27
  OnEvent,
28
28
  PromiseOrValue,
29
- } from "../../../common";
29
+ } from "../../common";
30
+
31
+ export type PoolSettingsStruct = {
32
+ manager: PromiseOrValue<string>;
33
+ membersValidator: PromiseOrValue<string>;
34
+ uniquenessValidator: PromiseOrValue<string>;
35
+ rewardToken: PromiseOrValue<string>;
36
+ };
37
+
38
+ export type PoolSettingsStructOutput = [string, string, string, string] & {
39
+ manager: string;
40
+ membersValidator: string;
41
+ uniquenessValidator: string;
42
+ rewardToken: string;
43
+ };
30
44
 
31
45
  export declare namespace UBIPool {
32
- export type PoolSettingsStruct = {
33
- manager: PromiseOrValue<string>;
34
- membersValidator: PromiseOrValue<string>;
35
- uniquenessValidator: PromiseOrValue<string>;
36
- rewardToken: PromiseOrValue<string>;
37
- };
38
-
39
- export type PoolSettingsStructOutput = [string, string, string, string] & {
40
- manager: string;
41
- membersValidator: string;
42
- uniquenessValidator: string;
43
- rewardToken: string;
44
- };
45
-
46
46
  export type UBISettingsStruct = {
47
47
  cycleLengthDays: PromiseOrValue<BigNumberish>;
48
48
  claimPeriodDays: PromiseOrValue<BigNumberish>;
49
49
  minActiveUsers: PromiseOrValue<BigNumberish>;
50
50
  claimForEnabled: PromiseOrValue<boolean>;
51
51
  maxClaimAmount: PromiseOrValue<BigNumberish>;
52
- maxClaimers: PromiseOrValue<BigNumberish>;
52
+ maxMembers: PromiseOrValue<BigNumberish>;
53
53
  onlyMembers: PromiseOrValue<boolean>;
54
54
  };
55
55
 
@@ -67,9 +67,21 @@ export declare namespace UBIPool {
67
67
  minActiveUsers: number;
68
68
  claimForEnabled: boolean;
69
69
  maxClaimAmount: BigNumber;
70
- maxClaimers: number;
70
+ maxMembers: number;
71
71
  onlyMembers: boolean;
72
72
  };
73
+
74
+ export type ExtendedSettingsStruct = {
75
+ maxPeriodClaimers: PromiseOrValue<BigNumberish>;
76
+ minClaimAmount: PromiseOrValue<BigNumberish>;
77
+ managerFeeBps: PromiseOrValue<BigNumberish>;
78
+ };
79
+
80
+ export type ExtendedSettingsStructOutput = [number, BigNumber, number] & {
81
+ maxPeriodClaimers: number;
82
+ minClaimAmount: BigNumber;
83
+ managerFeeBps: number;
84
+ };
73
85
  }
74
86
 
75
87
  export declare namespace HelperLibrary {
@@ -116,8 +128,11 @@ export interface UBIPoolInterface extends utils.Interface {
116
128
  "claim()": FunctionFragment;
117
129
  "claimFor(address,bool)": FunctionFragment;
118
130
  "currentDayInCycle()": FunctionFragment;
131
+ "distributionFormula()": FunctionFragment;
119
132
  "estimateNextDailyUBI()": FunctionFragment;
133
+ "extendedSettings()": FunctionFragment;
120
134
  "getCurrentDay()": FunctionFragment;
135
+ "getManagerFee()": FunctionFragment;
121
136
  "getRealtimeContribution(address)": FunctionFragment;
122
137
  "getRealtimeStats()": FunctionFragment;
123
138
  "getRegistry()": FunctionFragment;
@@ -127,17 +142,18 @@ export interface UBIPoolInterface extends utils.Interface {
127
142
  "hasClaimed(address)": FunctionFragment;
128
143
  "hasRole(bytes32,address)": FunctionFragment;
129
144
  "host()": FunctionFragment;
130
- "initialize((address,address,address,address),(uint32,uint32,uint32,bool,uint256,uint32,bool),address)": FunctionFragment;
145
+ "initialize((address,address,address,address),(uint32,uint32,uint32,bool,uint256,uint32,bool),(uint32,uint256,uint32),address)": FunctionFragment;
131
146
  "isAcceptedSuperToken(address)": FunctionFragment;
132
147
  "nextClaimTime()": FunctionFragment;
133
148
  "onTokenTransfer(address,uint256,bytes)": FunctionFragment;
134
149
  "proxiableUUID()": FunctionFragment;
150
+ "recoverFunds(address,uint256)": FunctionFragment;
135
151
  "registry()": FunctionFragment;
136
152
  "removeMember(address)": FunctionFragment;
137
153
  "renounceRole(bytes32,address)": FunctionFragment;
138
154
  "revokeRole(bytes32,address)": FunctionFragment;
139
155
  "setPoolSettings((address,address,address,address))": FunctionFragment;
140
- "setUBISettings((uint32,uint32,uint32,bool,uint256,uint32,bool))": FunctionFragment;
156
+ "setUBISettings((uint32,uint32,uint32,bool,uint256,uint32,bool),(uint32,uint256,uint32))": FunctionFragment;
141
157
  "settings()": FunctionFragment;
142
158
  "stats()": FunctionFragment;
143
159
  "status()": FunctionFragment;
@@ -173,8 +189,11 @@ export interface UBIPoolInterface extends utils.Interface {
173
189
  | "claim"
174
190
  | "claimFor"
175
191
  | "currentDayInCycle"
192
+ | "distributionFormula"
176
193
  | "estimateNextDailyUBI"
194
+ | "extendedSettings"
177
195
  | "getCurrentDay"
196
+ | "getManagerFee"
178
197
  | "getRealtimeContribution"
179
198
  | "getRealtimeStats"
180
199
  | "getRegistry"
@@ -189,6 +208,7 @@ export interface UBIPoolInterface extends utils.Interface {
189
208
  | "nextClaimTime"
190
209
  | "onTokenTransfer"
191
210
  | "proxiableUUID"
211
+ | "recoverFunds"
192
212
  | "registry"
193
213
  | "removeMember"
194
214
  | "renounceRole"
@@ -315,14 +335,26 @@ export interface UBIPoolInterface extends utils.Interface {
315
335
  functionFragment: "currentDayInCycle",
316
336
  values?: undefined
317
337
  ): string;
338
+ encodeFunctionData(
339
+ functionFragment: "distributionFormula",
340
+ values?: undefined
341
+ ): string;
318
342
  encodeFunctionData(
319
343
  functionFragment: "estimateNextDailyUBI",
320
344
  values?: undefined
321
345
  ): string;
346
+ encodeFunctionData(
347
+ functionFragment: "extendedSettings",
348
+ values?: undefined
349
+ ): string;
322
350
  encodeFunctionData(
323
351
  functionFragment: "getCurrentDay",
324
352
  values?: undefined
325
353
  ): string;
354
+ encodeFunctionData(
355
+ functionFragment: "getManagerFee",
356
+ values?: undefined
357
+ ): string;
326
358
  encodeFunctionData(
327
359
  functionFragment: "getRealtimeContribution",
328
360
  values: [PromiseOrValue<string>]
@@ -363,8 +395,9 @@ export interface UBIPoolInterface extends utils.Interface {
363
395
  encodeFunctionData(
364
396
  functionFragment: "initialize",
365
397
  values: [
366
- UBIPool.PoolSettingsStruct,
398
+ PoolSettingsStruct,
367
399
  UBIPool.UBISettingsStruct,
400
+ UBIPool.ExtendedSettingsStruct,
368
401
  PromiseOrValue<string>
369
402
  ]
370
403
  ): string;
@@ -388,6 +421,10 @@ export interface UBIPoolInterface extends utils.Interface {
388
421
  functionFragment: "proxiableUUID",
389
422
  values?: undefined
390
423
  ): string;
424
+ encodeFunctionData(
425
+ functionFragment: "recoverFunds",
426
+ values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]
427
+ ): string;
391
428
  encodeFunctionData(functionFragment: "registry", values?: undefined): string;
392
429
  encodeFunctionData(
393
430
  functionFragment: "removeMember",
@@ -403,11 +440,11 @@ export interface UBIPoolInterface extends utils.Interface {
403
440
  ): string;
404
441
  encodeFunctionData(
405
442
  functionFragment: "setPoolSettings",
406
- values: [UBIPool.PoolSettingsStruct]
443
+ values: [PoolSettingsStruct]
407
444
  ): string;
408
445
  encodeFunctionData(
409
446
  functionFragment: "setUBISettings",
410
- values: [UBIPool.UBISettingsStruct]
447
+ values: [UBIPool.UBISettingsStruct, UBIPool.ExtendedSettingsStruct]
411
448
  ): string;
412
449
  encodeFunctionData(functionFragment: "settings", values?: undefined): string;
413
450
  encodeFunctionData(functionFragment: "stats", values?: undefined): string;
@@ -518,14 +555,26 @@ export interface UBIPoolInterface extends utils.Interface {
518
555
  functionFragment: "currentDayInCycle",
519
556
  data: BytesLike
520
557
  ): Result;
558
+ decodeFunctionResult(
559
+ functionFragment: "distributionFormula",
560
+ data: BytesLike
561
+ ): Result;
521
562
  decodeFunctionResult(
522
563
  functionFragment: "estimateNextDailyUBI",
523
564
  data: BytesLike
524
565
  ): Result;
566
+ decodeFunctionResult(
567
+ functionFragment: "extendedSettings",
568
+ data: BytesLike
569
+ ): Result;
525
570
  decodeFunctionResult(
526
571
  functionFragment: "getCurrentDay",
527
572
  data: BytesLike
528
573
  ): Result;
574
+ decodeFunctionResult(
575
+ functionFragment: "getManagerFee",
576
+ data: BytesLike
577
+ ): Result;
529
578
  decodeFunctionResult(
530
579
  functionFragment: "getRealtimeContribution",
531
580
  data: BytesLike
@@ -564,6 +613,10 @@ export interface UBIPoolInterface extends utils.Interface {
564
613
  functionFragment: "proxiableUUID",
565
614
  data: BytesLike
566
615
  ): Result;
616
+ decodeFunctionResult(
617
+ functionFragment: "recoverFunds",
618
+ data: BytesLike
619
+ ): Result;
567
620
  decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result;
568
621
  decodeFunctionResult(
569
622
  functionFragment: "removeMember",
@@ -671,10 +724,10 @@ export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
671
724
  export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
672
725
 
673
726
  export interface PoolSettingsChangedEventObject {
674
- settings: UBIPool.PoolSettingsStructOutput;
727
+ settings: PoolSettingsStructOutput;
675
728
  }
676
729
  export type PoolSettingsChangedEvent = TypedEvent<
677
- [UBIPool.PoolSettingsStructOutput],
730
+ [PoolSettingsStructOutput],
678
731
  PoolSettingsChangedEventObject
679
732
  >;
680
733
 
@@ -915,10 +968,30 @@ export interface UBIPool extends BaseContract {
915
968
 
916
969
  currentDayInCycle(overrides?: CallOverrides): Promise<[BigNumber]>;
917
970
 
918
- estimateNextDailyUBI(overrides?: CallOverrides): Promise<[BigNumber]>;
971
+ distributionFormula(
972
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
973
+ ): Promise<ContractTransaction>;
974
+
975
+ estimateNextDailyUBI(
976
+ overrides?: CallOverrides
977
+ ): Promise<[BigNumber] & { nextDailyUbi: BigNumber }>;
978
+
979
+ extendedSettings(
980
+ overrides?: CallOverrides
981
+ ): Promise<
982
+ [number, BigNumber, number] & {
983
+ maxPeriodClaimers: number;
984
+ minClaimAmount: BigNumber;
985
+ managerFeeBps: number;
986
+ }
987
+ >;
919
988
 
920
989
  getCurrentDay(overrides?: CallOverrides): Promise<[BigNumber]>;
921
990
 
991
+ getManagerFee(
992
+ overrides?: CallOverrides
993
+ ): Promise<[string, number] & { feeRecipient: string; feeBps: number }>;
994
+
922
995
  getRealtimeContribution(
923
996
  _user: PromiseOrValue<string>,
924
997
  overrides?: CallOverrides
@@ -927,11 +1000,22 @@ export interface UBIPool extends BaseContract {
927
1000
  getRealtimeStats(
928
1001
  overrides?: CallOverrides
929
1002
  ): Promise<
930
- [BigNumber, BigNumber, BigNumber, BigNumber] & {
1003
+ [
1004
+ BigNumber,
1005
+ BigNumber,
1006
+ BigNumber,
1007
+ BigNumber,
1008
+ BigNumber,
1009
+ BigNumber,
1010
+ BigNumber
1011
+ ] & {
931
1012
  netIncome: BigNumber;
932
1013
  totalFees: BigNumber;
1014
+ protocolFees: BigNumber;
1015
+ managerFees: BigNumber;
933
1016
  incomeFlowRate: BigNumber;
934
1017
  feeRate: BigNumber;
1018
+ managerFeeRate: BigNumber;
935
1019
  }
936
1020
  >;
937
1021
 
@@ -969,8 +1053,9 @@ export interface UBIPool extends BaseContract {
969
1053
  host(overrides?: CallOverrides): Promise<[string]>;
970
1054
 
971
1055
  initialize(
972
- _settings: UBIPool.PoolSettingsStruct,
1056
+ _settings: PoolSettingsStruct,
973
1057
  _ubiSettings: UBIPool.UBISettingsStruct,
1058
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
974
1059
  _registry: PromiseOrValue<string>,
975
1060
  overrides?: Overrides & { from?: PromiseOrValue<string> }
976
1061
  ): Promise<ContractTransaction>;
@@ -991,6 +1076,12 @@ export interface UBIPool extends BaseContract {
991
1076
 
992
1077
  proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
993
1078
 
1079
+ recoverFunds(
1080
+ _recipient: PromiseOrValue<string>,
1081
+ amount: PromiseOrValue<BigNumberish>,
1082
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
1083
+ ): Promise<ContractTransaction>;
1084
+
994
1085
  registry(overrides?: CallOverrides): Promise<[string]>;
995
1086
 
996
1087
  removeMember(
@@ -1011,12 +1102,13 @@ export interface UBIPool extends BaseContract {
1011
1102
  ): Promise<ContractTransaction>;
1012
1103
 
1013
1104
  setPoolSettings(
1014
- _settings: UBIPool.PoolSettingsStruct,
1105
+ _settings: PoolSettingsStruct,
1015
1106
  overrides?: Overrides & { from?: PromiseOrValue<string> }
1016
1107
  ): Promise<ContractTransaction>;
1017
1108
 
1018
1109
  setUBISettings(
1019
1110
  _ubiSettings: UBIPool.UBISettingsStruct,
1111
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
1020
1112
  overrides?: Overrides & { from?: PromiseOrValue<string> }
1021
1113
  ): Promise<ContractTransaction>;
1022
1114
 
@@ -1034,12 +1126,24 @@ export interface UBIPool extends BaseContract {
1034
1126
  stats(
1035
1127
  overrides?: CallOverrides
1036
1128
  ): Promise<
1037
- [BigNumber, BigNumber, BigNumber, string, BigNumber] & {
1129
+ [
1130
+ BigNumber,
1131
+ BigNumber,
1132
+ BigNumber,
1133
+ string,
1134
+ BigNumber,
1135
+ string,
1136
+ BigNumber,
1137
+ BigNumber
1138
+ ] & {
1038
1139
  netIncome: BigNumber;
1039
1140
  totalFees: BigNumber;
1040
1141
  lastUpdate: BigNumber;
1041
1142
  lastFeeRecipient: string;
1042
1143
  lastIncomeRate: BigNumber;
1144
+ lastManagerFeeRecipient: string;
1145
+ protocolFees: BigNumber;
1146
+ managerFees: BigNumber;
1043
1147
  }
1044
1148
  >;
1045
1149
 
@@ -1063,7 +1167,7 @@ export interface UBIPool extends BaseContract {
1063
1167
  currentCycleLength: BigNumber;
1064
1168
  periodClaimers: BigNumber;
1065
1169
  periodDistributed: BigNumber;
1066
- claimersCount: number;
1170
+ membersCount: number;
1067
1171
  }
1068
1172
  >;
1069
1173
 
@@ -1110,7 +1214,7 @@ export interface UBIPool extends BaseContract {
1110
1214
  minActiveUsers: number;
1111
1215
  claimForEnabled: boolean;
1112
1216
  maxClaimAmount: BigNumber;
1113
- maxClaimers: number;
1217
+ maxMembers: number;
1114
1218
  onlyMembers: boolean;
1115
1219
  }
1116
1220
  >;
@@ -1228,10 +1332,28 @@ export interface UBIPool extends BaseContract {
1228
1332
 
1229
1333
  currentDayInCycle(overrides?: CallOverrides): Promise<BigNumber>;
1230
1334
 
1335
+ distributionFormula(
1336
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
1337
+ ): Promise<ContractTransaction>;
1338
+
1231
1339
  estimateNextDailyUBI(overrides?: CallOverrides): Promise<BigNumber>;
1232
1340
 
1341
+ extendedSettings(
1342
+ overrides?: CallOverrides
1343
+ ): Promise<
1344
+ [number, BigNumber, number] & {
1345
+ maxPeriodClaimers: number;
1346
+ minClaimAmount: BigNumber;
1347
+ managerFeeBps: number;
1348
+ }
1349
+ >;
1350
+
1233
1351
  getCurrentDay(overrides?: CallOverrides): Promise<BigNumber>;
1234
1352
 
1353
+ getManagerFee(
1354
+ overrides?: CallOverrides
1355
+ ): Promise<[string, number] & { feeRecipient: string; feeBps: number }>;
1356
+
1235
1357
  getRealtimeContribution(
1236
1358
  _user: PromiseOrValue<string>,
1237
1359
  overrides?: CallOverrides
@@ -1240,11 +1362,22 @@ export interface UBIPool extends BaseContract {
1240
1362
  getRealtimeStats(
1241
1363
  overrides?: CallOverrides
1242
1364
  ): Promise<
1243
- [BigNumber, BigNumber, BigNumber, BigNumber] & {
1365
+ [
1366
+ BigNumber,
1367
+ BigNumber,
1368
+ BigNumber,
1369
+ BigNumber,
1370
+ BigNumber,
1371
+ BigNumber,
1372
+ BigNumber
1373
+ ] & {
1244
1374
  netIncome: BigNumber;
1245
1375
  totalFees: BigNumber;
1376
+ protocolFees: BigNumber;
1377
+ managerFees: BigNumber;
1246
1378
  incomeFlowRate: BigNumber;
1247
1379
  feeRate: BigNumber;
1380
+ managerFeeRate: BigNumber;
1248
1381
  }
1249
1382
  >;
1250
1383
 
@@ -1282,8 +1415,9 @@ export interface UBIPool extends BaseContract {
1282
1415
  host(overrides?: CallOverrides): Promise<string>;
1283
1416
 
1284
1417
  initialize(
1285
- _settings: UBIPool.PoolSettingsStruct,
1418
+ _settings: PoolSettingsStruct,
1286
1419
  _ubiSettings: UBIPool.UBISettingsStruct,
1420
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
1287
1421
  _registry: PromiseOrValue<string>,
1288
1422
  overrides?: Overrides & { from?: PromiseOrValue<string> }
1289
1423
  ): Promise<ContractTransaction>;
@@ -1304,6 +1438,12 @@ export interface UBIPool extends BaseContract {
1304
1438
 
1305
1439
  proxiableUUID(overrides?: CallOverrides): Promise<string>;
1306
1440
 
1441
+ recoverFunds(
1442
+ _recipient: PromiseOrValue<string>,
1443
+ amount: PromiseOrValue<BigNumberish>,
1444
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
1445
+ ): Promise<ContractTransaction>;
1446
+
1307
1447
  registry(overrides?: CallOverrides): Promise<string>;
1308
1448
 
1309
1449
  removeMember(
@@ -1324,12 +1464,13 @@ export interface UBIPool extends BaseContract {
1324
1464
  ): Promise<ContractTransaction>;
1325
1465
 
1326
1466
  setPoolSettings(
1327
- _settings: UBIPool.PoolSettingsStruct,
1467
+ _settings: PoolSettingsStruct,
1328
1468
  overrides?: Overrides & { from?: PromiseOrValue<string> }
1329
1469
  ): Promise<ContractTransaction>;
1330
1470
 
1331
1471
  setUBISettings(
1332
1472
  _ubiSettings: UBIPool.UBISettingsStruct,
1473
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
1333
1474
  overrides?: Overrides & { from?: PromiseOrValue<string> }
1334
1475
  ): Promise<ContractTransaction>;
1335
1476
 
@@ -1347,12 +1488,24 @@ export interface UBIPool extends BaseContract {
1347
1488
  stats(
1348
1489
  overrides?: CallOverrides
1349
1490
  ): Promise<
1350
- [BigNumber, BigNumber, BigNumber, string, BigNumber] & {
1491
+ [
1492
+ BigNumber,
1493
+ BigNumber,
1494
+ BigNumber,
1495
+ string,
1496
+ BigNumber,
1497
+ string,
1498
+ BigNumber,
1499
+ BigNumber
1500
+ ] & {
1351
1501
  netIncome: BigNumber;
1352
1502
  totalFees: BigNumber;
1353
1503
  lastUpdate: BigNumber;
1354
1504
  lastFeeRecipient: string;
1355
1505
  lastIncomeRate: BigNumber;
1506
+ lastManagerFeeRecipient: string;
1507
+ protocolFees: BigNumber;
1508
+ managerFees: BigNumber;
1356
1509
  }
1357
1510
  >;
1358
1511
 
@@ -1376,7 +1529,7 @@ export interface UBIPool extends BaseContract {
1376
1529
  currentCycleLength: BigNumber;
1377
1530
  periodClaimers: BigNumber;
1378
1531
  periodDistributed: BigNumber;
1379
- claimersCount: number;
1532
+ membersCount: number;
1380
1533
  }
1381
1534
  >;
1382
1535
 
@@ -1423,7 +1576,7 @@ export interface UBIPool extends BaseContract {
1423
1576
  minActiveUsers: number;
1424
1577
  claimForEnabled: boolean;
1425
1578
  maxClaimAmount: BigNumber;
1426
- maxClaimers: number;
1579
+ maxMembers: number;
1427
1580
  onlyMembers: boolean;
1428
1581
  }
1429
1582
  >;
@@ -1539,10 +1692,26 @@ export interface UBIPool extends BaseContract {
1539
1692
 
1540
1693
  currentDayInCycle(overrides?: CallOverrides): Promise<BigNumber>;
1541
1694
 
1695
+ distributionFormula(overrides?: CallOverrides): Promise<BigNumber>;
1696
+
1542
1697
  estimateNextDailyUBI(overrides?: CallOverrides): Promise<BigNumber>;
1543
1698
 
1699
+ extendedSettings(
1700
+ overrides?: CallOverrides
1701
+ ): Promise<
1702
+ [number, BigNumber, number] & {
1703
+ maxPeriodClaimers: number;
1704
+ minClaimAmount: BigNumber;
1705
+ managerFeeBps: number;
1706
+ }
1707
+ >;
1708
+
1544
1709
  getCurrentDay(overrides?: CallOverrides): Promise<BigNumber>;
1545
1710
 
1711
+ getManagerFee(
1712
+ overrides?: CallOverrides
1713
+ ): Promise<[string, number] & { feeRecipient: string; feeBps: number }>;
1714
+
1546
1715
  getRealtimeContribution(
1547
1716
  _user: PromiseOrValue<string>,
1548
1717
  overrides?: CallOverrides
@@ -1551,11 +1720,22 @@ export interface UBIPool extends BaseContract {
1551
1720
  getRealtimeStats(
1552
1721
  overrides?: CallOverrides
1553
1722
  ): Promise<
1554
- [BigNumber, BigNumber, BigNumber, BigNumber] & {
1723
+ [
1724
+ BigNumber,
1725
+ BigNumber,
1726
+ BigNumber,
1727
+ BigNumber,
1728
+ BigNumber,
1729
+ BigNumber,
1730
+ BigNumber
1731
+ ] & {
1555
1732
  netIncome: BigNumber;
1556
1733
  totalFees: BigNumber;
1734
+ protocolFees: BigNumber;
1735
+ managerFees: BigNumber;
1557
1736
  incomeFlowRate: BigNumber;
1558
1737
  feeRate: BigNumber;
1738
+ managerFeeRate: BigNumber;
1559
1739
  }
1560
1740
  >;
1561
1741
 
@@ -1593,8 +1773,9 @@ export interface UBIPool extends BaseContract {
1593
1773
  host(overrides?: CallOverrides): Promise<string>;
1594
1774
 
1595
1775
  initialize(
1596
- _settings: UBIPool.PoolSettingsStruct,
1776
+ _settings: PoolSettingsStruct,
1597
1777
  _ubiSettings: UBIPool.UBISettingsStruct,
1778
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
1598
1779
  _registry: PromiseOrValue<string>,
1599
1780
  overrides?: CallOverrides
1600
1781
  ): Promise<void>;
@@ -1615,6 +1796,12 @@ export interface UBIPool extends BaseContract {
1615
1796
 
1616
1797
  proxiableUUID(overrides?: CallOverrides): Promise<string>;
1617
1798
 
1799
+ recoverFunds(
1800
+ _recipient: PromiseOrValue<string>,
1801
+ amount: PromiseOrValue<BigNumberish>,
1802
+ overrides?: CallOverrides
1803
+ ): Promise<void>;
1804
+
1618
1805
  registry(overrides?: CallOverrides): Promise<string>;
1619
1806
 
1620
1807
  removeMember(
@@ -1635,12 +1822,13 @@ export interface UBIPool extends BaseContract {
1635
1822
  ): Promise<void>;
1636
1823
 
1637
1824
  setPoolSettings(
1638
- _settings: UBIPool.PoolSettingsStruct,
1825
+ _settings: PoolSettingsStruct,
1639
1826
  overrides?: CallOverrides
1640
1827
  ): Promise<void>;
1641
1828
 
1642
1829
  setUBISettings(
1643
1830
  _ubiSettings: UBIPool.UBISettingsStruct,
1831
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
1644
1832
  overrides?: CallOverrides
1645
1833
  ): Promise<void>;
1646
1834
 
@@ -1658,12 +1846,24 @@ export interface UBIPool extends BaseContract {
1658
1846
  stats(
1659
1847
  overrides?: CallOverrides
1660
1848
  ): Promise<
1661
- [BigNumber, BigNumber, BigNumber, string, BigNumber] & {
1849
+ [
1850
+ BigNumber,
1851
+ BigNumber,
1852
+ BigNumber,
1853
+ string,
1854
+ BigNumber,
1855
+ string,
1856
+ BigNumber,
1857
+ BigNumber
1858
+ ] & {
1662
1859
  netIncome: BigNumber;
1663
1860
  totalFees: BigNumber;
1664
1861
  lastUpdate: BigNumber;
1665
1862
  lastFeeRecipient: string;
1666
1863
  lastIncomeRate: BigNumber;
1864
+ lastManagerFeeRecipient: string;
1865
+ protocolFees: BigNumber;
1866
+ managerFees: BigNumber;
1667
1867
  }
1668
1868
  >;
1669
1869
 
@@ -1687,7 +1887,7 @@ export interface UBIPool extends BaseContract {
1687
1887
  currentCycleLength: BigNumber;
1688
1888
  periodClaimers: BigNumber;
1689
1889
  periodDistributed: BigNumber;
1690
- claimersCount: number;
1890
+ membersCount: number;
1691
1891
  }
1692
1892
  >;
1693
1893
 
@@ -1734,7 +1934,7 @@ export interface UBIPool extends BaseContract {
1734
1934
  minActiveUsers: number;
1735
1935
  claimForEnabled: boolean;
1736
1936
  maxClaimAmount: BigNumber;
1737
- maxClaimers: number;
1937
+ maxMembers: number;
1738
1938
  onlyMembers: boolean;
1739
1939
  }
1740
1940
  >;
@@ -1976,10 +2176,18 @@ export interface UBIPool extends BaseContract {
1976
2176
 
1977
2177
  currentDayInCycle(overrides?: CallOverrides): Promise<BigNumber>;
1978
2178
 
2179
+ distributionFormula(
2180
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
2181
+ ): Promise<BigNumber>;
2182
+
1979
2183
  estimateNextDailyUBI(overrides?: CallOverrides): Promise<BigNumber>;
1980
2184
 
2185
+ extendedSettings(overrides?: CallOverrides): Promise<BigNumber>;
2186
+
1981
2187
  getCurrentDay(overrides?: CallOverrides): Promise<BigNumber>;
1982
2188
 
2189
+ getManagerFee(overrides?: CallOverrides): Promise<BigNumber>;
2190
+
1983
2191
  getRealtimeContribution(
1984
2192
  _user: PromiseOrValue<string>,
1985
2193
  overrides?: CallOverrides
@@ -2021,8 +2229,9 @@ export interface UBIPool extends BaseContract {
2021
2229
  host(overrides?: CallOverrides): Promise<BigNumber>;
2022
2230
 
2023
2231
  initialize(
2024
- _settings: UBIPool.PoolSettingsStruct,
2232
+ _settings: PoolSettingsStruct,
2025
2233
  _ubiSettings: UBIPool.UBISettingsStruct,
2234
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
2026
2235
  _registry: PromiseOrValue<string>,
2027
2236
  overrides?: Overrides & { from?: PromiseOrValue<string> }
2028
2237
  ): Promise<BigNumber>;
@@ -2043,6 +2252,12 @@ export interface UBIPool extends BaseContract {
2043
2252
 
2044
2253
  proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
2045
2254
 
2255
+ recoverFunds(
2256
+ _recipient: PromiseOrValue<string>,
2257
+ amount: PromiseOrValue<BigNumberish>,
2258
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
2259
+ ): Promise<BigNumber>;
2260
+
2046
2261
  registry(overrides?: CallOverrides): Promise<BigNumber>;
2047
2262
 
2048
2263
  removeMember(
@@ -2063,12 +2278,13 @@ export interface UBIPool extends BaseContract {
2063
2278
  ): Promise<BigNumber>;
2064
2279
 
2065
2280
  setPoolSettings(
2066
- _settings: UBIPool.PoolSettingsStruct,
2281
+ _settings: PoolSettingsStruct,
2067
2282
  overrides?: Overrides & { from?: PromiseOrValue<string> }
2068
2283
  ): Promise<BigNumber>;
2069
2284
 
2070
2285
  setUBISettings(
2071
2286
  _ubiSettings: UBIPool.UBISettingsStruct,
2287
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
2072
2288
  overrides?: Overrides & { from?: PromiseOrValue<string> }
2073
2289
  ): Promise<BigNumber>;
2074
2290
 
@@ -2224,12 +2440,20 @@ export interface UBIPool extends BaseContract {
2224
2440
 
2225
2441
  currentDayInCycle(overrides?: CallOverrides): Promise<PopulatedTransaction>;
2226
2442
 
2443
+ distributionFormula(
2444
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
2445
+ ): Promise<PopulatedTransaction>;
2446
+
2227
2447
  estimateNextDailyUBI(
2228
2448
  overrides?: CallOverrides
2229
2449
  ): Promise<PopulatedTransaction>;
2230
2450
 
2451
+ extendedSettings(overrides?: CallOverrides): Promise<PopulatedTransaction>;
2452
+
2231
2453
  getCurrentDay(overrides?: CallOverrides): Promise<PopulatedTransaction>;
2232
2454
 
2455
+ getManagerFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
2456
+
2233
2457
  getRealtimeContribution(
2234
2458
  _user: PromiseOrValue<string>,
2235
2459
  overrides?: CallOverrides
@@ -2271,8 +2495,9 @@ export interface UBIPool extends BaseContract {
2271
2495
  host(overrides?: CallOverrides): Promise<PopulatedTransaction>;
2272
2496
 
2273
2497
  initialize(
2274
- _settings: UBIPool.PoolSettingsStruct,
2498
+ _settings: PoolSettingsStruct,
2275
2499
  _ubiSettings: UBIPool.UBISettingsStruct,
2500
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
2276
2501
  _registry: PromiseOrValue<string>,
2277
2502
  overrides?: Overrides & { from?: PromiseOrValue<string> }
2278
2503
  ): Promise<PopulatedTransaction>;
@@ -2293,6 +2518,12 @@ export interface UBIPool extends BaseContract {
2293
2518
 
2294
2519
  proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
2295
2520
 
2521
+ recoverFunds(
2522
+ _recipient: PromiseOrValue<string>,
2523
+ amount: PromiseOrValue<BigNumberish>,
2524
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
2525
+ ): Promise<PopulatedTransaction>;
2526
+
2296
2527
  registry(overrides?: CallOverrides): Promise<PopulatedTransaction>;
2297
2528
 
2298
2529
  removeMember(
@@ -2313,12 +2544,13 @@ export interface UBIPool extends BaseContract {
2313
2544
  ): Promise<PopulatedTransaction>;
2314
2545
 
2315
2546
  setPoolSettings(
2316
- _settings: UBIPool.PoolSettingsStruct,
2547
+ _settings: PoolSettingsStruct,
2317
2548
  overrides?: Overrides & { from?: PromiseOrValue<string> }
2318
2549
  ): Promise<PopulatedTransaction>;
2319
2550
 
2320
2551
  setUBISettings(
2321
2552
  _ubiSettings: UBIPool.UBISettingsStruct,
2553
+ _extendedSettings: UBIPool.ExtendedSettingsStruct,
2322
2554
  overrides?: Overrides & { from?: PromiseOrValue<string> }
2323
2555
  ): Promise<PopulatedTransaction>;
2324
2556