@gooddollar/goodcollective-contracts 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +14 -1
  2. package/contracts/DirectPayments/DirectPaymentsFactory.sol +23 -15
  3. package/contracts/DirectPayments/DirectPaymentsLibrary.sol +54 -0
  4. package/contracts/DirectPayments/DirectPaymentsPool.sol +25 -41
  5. package/contracts/GoodCollective/GoodCollectiveSuperApp.sol +89 -61
  6. package/contracts/GoodCollective/IGoodCollectiveSuperApp.sol +12 -0
  7. package/contracts/Interfaces.sol +25 -0
  8. package/contracts/UBI/UBIPool.sol +103 -90
  9. package/contracts/UBI/UBIPoolFactory.sol +24 -10
  10. package/contracts/test/HelperLibraryTest.sol +16 -0
  11. package/contracts/utils/HelperLibrary.sol +109 -8
  12. package/package.json +4 -3
  13. package/releases/deployment.json +22797 -431
  14. package/typechain-types/@uniswap/index.ts +0 -2
  15. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.ts +56 -9
  16. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.ts +187 -9
  17. package/typechain-types/contracts/GoodCollective/GoodCollectiveSuperApp.ts +150 -6
  18. package/typechain-types/contracts/{UBI/MultiClaimModule.sol/IClaimable.ts → GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp.ts} +24 -23
  19. package/typechain-types/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/index.ts +1 -1
  20. package/typechain-types/contracts/GoodCollective/index.ts +3 -2
  21. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2.ts +1 -1
  22. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator.ts +1 -1
  23. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
  24. package/typechain-types/contracts/UBI/{UBIPool.sol/UBIPool.ts → UBIPool.ts} +325 -78
  25. package/typechain-types/contracts/UBI/UBIPoolFactory.ts +95 -33
  26. package/typechain-types/contracts/UBI/index.ts +1 -4
  27. package/typechain-types/contracts/index.ts +4 -0
  28. package/typechain-types/contracts/test/HelperLibraryTest.ts +147 -0
  29. package/typechain-types/{@uniswap/v3-periphery/contracts/interfaces → contracts/test}/index.ts +1 -1
  30. package/typechain-types/contracts/utils/HelperLibrary.ts +46 -4
  31. package/typechain-types/factories/@uniswap/index.ts +0 -1
  32. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts +25 -2
  33. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool__factory.ts +128 -1
  34. package/typechain-types/factories/contracts/GoodCollective/GoodCollectiveSuperApp__factory.ts +105 -1
  35. package/typechain-types/factories/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp__factory.ts +48 -0
  36. package/typechain-types/factories/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/IRegistry__factory.ts +1 -1
  37. package/typechain-types/factories/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/index.ts +1 -1
  38. package/typechain-types/factories/contracts/GoodCollective/index.ts +2 -1
  39. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2__factory.ts +1 -1
  40. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator__factory.ts +1 -1
  41. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
  42. package/typechain-types/factories/contracts/UBI/UBIPoolFactory__factory.ts +76 -4
  43. package/typechain-types/factories/contracts/UBI/UBIPool__factory.ts +2052 -0
  44. package/typechain-types/factories/contracts/UBI/index.ts +1 -2
  45. package/typechain-types/factories/contracts/index.ts +2 -0
  46. package/typechain-types/factories/contracts/test/HelperLibraryTest__factory.ts +154 -0
  47. package/typechain-types/{@uniswap/v3-periphery → factories/contracts/test}/index.ts +1 -2
  48. package/typechain-types/factories/contracts/utils/HelperLibrary__factory.ts +31 -1
  49. package/typechain-types/hardhat.d.ts +18 -36
  50. package/typechain-types/index.ts +10 -14
  51. package/contracts/UBI/MultiClaimModule.sol +0 -78
  52. package/typechain-types/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/IFeesFormula.ts +0 -115
  53. package/typechain-types/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/index.ts +0 -4
  54. package/typechain-types/@uniswap/v3-periphery/contracts/index.ts +0 -5
  55. package/typechain-types/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.ts +0 -369
  56. package/typechain-types/contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp.ts +0 -1000
  57. package/typechain-types/contracts/UBI/MultiClaimModule.sol/IModule.ts +0 -196
  58. package/typechain-types/contracts/UBI/MultiClaimModule.sol/MultiClaimModule.ts +0 -242
  59. package/typechain-types/contracts/UBI/MultiClaimModule.sol/index.ts +0 -6
  60. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/IFeesFormula__factory.ts +0 -60
  61. package/typechain-types/factories/@gooddollar/goodprotocol/contracts/token/FeesFormula.sol/index.ts +0 -4
  62. package/typechain-types/factories/@uniswap/v3-periphery/contracts/index.ts +0 -4
  63. package/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory.ts +0 -263
  64. package/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/index.ts +0 -4
  65. package/typechain-types/factories/@uniswap/v3-periphery/index.ts +0 -4
  66. package/typechain-types/factories/contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp__factory.ts +0 -728
  67. package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/IClaimable__factory.ts +0 -33
  68. package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/IModule__factory.ts +0 -84
  69. package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/MultiClaimModule__factory.ts +0 -150
  70. package/typechain-types/factories/contracts/UBI/MultiClaimModule.sol/index.ts +0 -6
  71. package/typechain-types/factories/contracts/UBI/UBIPool.sol/UBIPool__factory.ts +0 -1835
  72. /package/typechain-types/contracts/GoodCollective/{GoodCollectiveSuperApp.sol → IGoodCollectiveSuperApp.sol}/IRegistry.ts +0 -0
@@ -1,6 +1,5 @@
1
1
  /* Autogenerated file. Do not edit manually. */
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
- export * as multiClaimModuleSol from "./MultiClaimModule.sol";
5
- export * as ubiPoolSol from "./UBIPool.sol";
4
+ export { UBIPool__factory } from "./UBIPool__factory";
6
5
  export { UBIPoolFactory__factory } from "./UBIPoolFactory__factory";
@@ -3,5 +3,7 @@
3
3
  /* eslint-disable */
4
4
  export * as directPayments from "./DirectPayments";
5
5
  export * as goodCollective from "./GoodCollective";
6
+ export * as interfacesSol from "./Interfaces.sol";
6
7
  export * as ubi from "./UBI";
8
+ export * as test from "./test";
7
9
  export * as utils from "./utils";
@@ -0,0 +1,154 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { PromiseOrValue } from "../../../common";
7
+ import type {
8
+ HelperLibraryTest,
9
+ HelperLibraryTestInterface,
10
+ } from "../../../contracts/test/HelperLibraryTest";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "contract IV3SwapRouter",
17
+ name: "swapRouter",
18
+ type: "address",
19
+ },
20
+ {
21
+ components: [
22
+ {
23
+ internalType: "address",
24
+ name: "swapFrom",
25
+ type: "address",
26
+ },
27
+ {
28
+ internalType: "uint256",
29
+ name: "amount",
30
+ type: "uint256",
31
+ },
32
+ {
33
+ internalType: "uint256",
34
+ name: "minReturn",
35
+ type: "uint256",
36
+ },
37
+ {
38
+ internalType: "uint256",
39
+ name: "deadline",
40
+ type: "uint256",
41
+ },
42
+ {
43
+ internalType: "bytes",
44
+ name: "path",
45
+ type: "bytes",
46
+ },
47
+ ],
48
+ internalType: "struct HelperLibrary.SwapData",
49
+ name: "_customData",
50
+ type: "tuple",
51
+ },
52
+ {
53
+ internalType: "address",
54
+ name: "outTokenIfNoPath",
55
+ type: "address",
56
+ },
57
+ {
58
+ internalType: "address",
59
+ name: "_sender",
60
+ type: "address",
61
+ },
62
+ ],
63
+ name: "handleSwap",
64
+ outputs: [
65
+ {
66
+ internalType: "uint256",
67
+ name: "amountOut",
68
+ type: "uint256",
69
+ },
70
+ ],
71
+ stateMutability: "nonpayable",
72
+ type: "function",
73
+ },
74
+ ] as const;
75
+
76
+ const _bytecode =
77
+ "0x608060405234801561001057600080fd5b506103bf806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630f39b88814610030575b600080fd5b61004361003e366004610177565b610055565b60405190815260200160405180910390f35b6040516321437a5360e01b815260009073__$0d78a42341742155da77b97d7f993534c7$__906321437a539061009790889088908890889081906004016102ab565b602060405180830381865af41580156100b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d89190610370565b95945050505050565b6001600160a01b03811681146100f657600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b0381118282101715610131576101316100f9565b60405290565b604051601f8201601f191681016001600160401b038111828210171561015f5761015f6100f9565b604052919050565b8035610172816100e1565b919050565b6000806000806080858703121561018d57600080fd5b8435610198816100e1565b93506020858101356001600160401b03808211156101b557600080fd5b9087019060a0828a0312156101c957600080fd5b6101d161010f565b82356101dc816100e1565b808252508383013584820152604083013560408201526060830135606082015260808301358281111561020e57600080fd5b80840193505089601f84011261022357600080fd5b823582811115610235576102356100f9565b610247601f8201601f19168601610137565b92508083528a8582860101111561025d57600080fd5b8085850186850137600090830190940193909352608083015250925061028560408601610167565b915061029360608601610167565b905092959194509250565b6001600160a01b03169052565b600060018060a01b038088168352602060a0818501528188511660a08501528088015160c0850152604088015160e085015260608801516101008501526080880151915060a061012085015281518061014086015260005b818110156103205783810183015186820161016001528201610303565b506101609250600083828701015282601f19601f830116860101935050505061034c604083018661029e565b610359606083018561029e565b610366608083018461029e565b9695505050505050565b60006020828403121561038257600080fd5b505191905056fea2646970667358221220cd1aa17405a213bbfb55cb6738929d050881064d6ecf1c817200530703b2fa4164736f6c63430008130033";
78
+
79
+ type HelperLibraryTestConstructorParams =
80
+ | [linkLibraryAddresses: HelperLibraryTestLibraryAddresses, signer?: Signer]
81
+ | ConstructorParameters<typeof ContractFactory>;
82
+
83
+ const isSuperArgs = (
84
+ xs: HelperLibraryTestConstructorParams
85
+ ): xs is ConstructorParameters<typeof ContractFactory> => {
86
+ return (
87
+ typeof xs[0] === "string" ||
88
+ (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) ||
89
+ "_isInterface" in xs[0]
90
+ );
91
+ };
92
+
93
+ export class HelperLibraryTest__factory extends ContractFactory {
94
+ constructor(...args: HelperLibraryTestConstructorParams) {
95
+ if (isSuperArgs(args)) {
96
+ super(...args);
97
+ } else {
98
+ const [linkLibraryAddresses, signer] = args;
99
+ super(
100
+ _abi,
101
+ HelperLibraryTest__factory.linkBytecode(linkLibraryAddresses),
102
+ signer
103
+ );
104
+ }
105
+ }
106
+
107
+ static linkBytecode(
108
+ linkLibraryAddresses: HelperLibraryTestLibraryAddresses
109
+ ): string {
110
+ let linkedBytecode = _bytecode;
111
+
112
+ linkedBytecode = linkedBytecode.replace(
113
+ new RegExp("__\\$0d78a42341742155da77b97d7f993534c7\\$__", "g"),
114
+ linkLibraryAddresses["contracts/utils/HelperLibrary.sol:HelperLibrary"]
115
+ .replace(/^0x/, "")
116
+ .toLowerCase()
117
+ );
118
+
119
+ return linkedBytecode;
120
+ }
121
+
122
+ override deploy(
123
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
124
+ ): Promise<HelperLibraryTest> {
125
+ return super.deploy(overrides || {}) as Promise<HelperLibraryTest>;
126
+ }
127
+ override getDeployTransaction(
128
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
129
+ ): TransactionRequest {
130
+ return super.getDeployTransaction(overrides || {});
131
+ }
132
+ override attach(address: string): HelperLibraryTest {
133
+ return super.attach(address) as HelperLibraryTest;
134
+ }
135
+ override connect(signer: Signer): HelperLibraryTest__factory {
136
+ return super.connect(signer) as HelperLibraryTest__factory;
137
+ }
138
+
139
+ static readonly bytecode = _bytecode;
140
+ static readonly abi = _abi;
141
+ static createInterface(): HelperLibraryTestInterface {
142
+ return new utils.Interface(_abi) as HelperLibraryTestInterface;
143
+ }
144
+ static connect(
145
+ address: string,
146
+ signerOrProvider: Signer | Provider
147
+ ): HelperLibraryTest {
148
+ return new Contract(address, _abi, signerOrProvider) as HelperLibraryTest;
149
+ }
150
+ }
151
+
152
+ export interface HelperLibraryTestLibraryAddresses {
153
+ ["contracts/utils/HelperLibrary.sol:HelperLibrary"]: string;
154
+ }
@@ -1,5 +1,4 @@
1
1
  /* Autogenerated file. Do not edit manually. */
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
- import type * as contracts from "./contracts";
5
- export type { contracts };
4
+ export { HelperLibraryTest__factory } from "./HelperLibraryTest__factory";
@@ -39,6 +39,21 @@ const _abi = [
39
39
  name: "lastIncomeRate",
40
40
  type: "int96",
41
41
  },
42
+ {
43
+ internalType: "address",
44
+ name: "lastManagerFeeRecipient",
45
+ type: "address",
46
+ },
47
+ {
48
+ internalType: "uint256",
49
+ name: "protocolFees",
50
+ type: "uint256",
51
+ },
52
+ {
53
+ internalType: "uint256",
54
+ name: "managerFees",
55
+ type: "uint256",
56
+ },
42
57
  ],
43
58
  internalType: "struct IGoodCollectiveSuperApp.Stats",
44
59
  name: "stats",
@@ -62,6 +77,16 @@ const _abi = [
62
77
  name: "totalFees",
63
78
  type: "uint256",
64
79
  },
80
+ {
81
+ internalType: "uint256",
82
+ name: "protocolFees",
83
+ type: "uint256",
84
+ },
85
+ {
86
+ internalType: "uint256",
87
+ name: "managerFees",
88
+ type: "uint256",
89
+ },
65
90
  {
66
91
  internalType: "int96",
67
92
  name: "incomeFlowRate",
@@ -72,6 +97,11 @@ const _abi = [
72
97
  name: "feeRate",
73
98
  type: "int96",
74
99
  },
100
+ {
101
+ internalType: "int96",
102
+ name: "managerFeeRate",
103
+ type: "int96",
104
+ },
75
105
  ],
76
106
  stateMutability: "view",
77
107
  type: "function",
@@ -79,7 +109,7 @@ const _abi = [
79
109
  ] as const;
80
110
 
81
111
  const _bytecode =
82
- "0x610b8861003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c806358c0dacb14610045578063b2f918a114610067575b600080fd5b81801561005157600080fd5b506100656100603660046107e6565b6100a4565b005b61007a61007536600461091c565b610273565b604080519485526020850193909352600b91820b84840152900b6060830152519081900360800190f35b6100b8836000015182308660200151610330565b6100cb8360000151858560200151610437565b6080830151511561017957604080516080808201835285015181526001600160a01b0380841660208084019190915286015182840152858301516060830152915163b858183f60e01b8152909186169063b858183f9061012f9084906004016109c4565b6020604051808303816000875af115801561014e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101729190610a2a565b505061026d565b6040805160e08101825284516001600160a01b03908116825284811660208084019182526127108486019081528684166060860190815291890151608086019081528987015160a08701908152600060c0880190815297516304e45aaf60e01b8152875187166004820152945186166024860152915162ffffff166044850152915184166064840152905160848301525160a48201529251811660c48401529091908616906304e45aaf9060e4016020604051808303816000875af1158015610246573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026a9190610a2a565b50505b50505050565b608082015160408301516000918291829061028e9042610a59565b86608001516001600160601b03166102a69190610a72565b86516102b29190610a89565b93506102d6308760600151876001600160a01b03166105379092919063ffffffff16565b90508560400151426102e89190610a59565b6060870151610303906001600160a01b038816903090610537565b6001600160601b03166103169190610a72565b86602001516103259190610a89565b925092959194509250565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916103949190610a9c565b6000604051808303816000865af19150503d80600081146103d1576040519150601f19603f3d011682016040523d82523d6000602084013e6103d6565b606091505b50915091508180156104005750805115806104005750808060200190518101906104009190610ab8565b61026a5760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b60448201526064015b60405180910390fd5b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291516000928392908716916104939190610a9c565b6000604051808303816000865af19150503d80600081146104d0576040519150601f19603f3d011682016040523d82523d6000602084013e6104d5565b606091505b50915091508180156104ff5750805115806104ff5750808060200190518101906104ff9190610ab8565b6105305760405162461bcd60e51b8152602060048201526002602482015261534160f01b604482015260640161042e565b5050505050565b600080610543856105cf565b604051631cd43d1160e31b81526001600160a01b03888116600483015287811660248301528681166044830152919350908316915063e6a1e88890606401608060405180830381865afa15801561059e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c29190610ae1565b5090979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b03811661071f576001600160a01b03821661069457826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106919190610b1f565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa1580156106f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071c9190610b1f565b90505b6001600160a01b03821661073557610735610b3c565b6001600160a01b03811661074b5761074b610b3c565b915091565b6001600160a01b038116811461076557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b03811182821017156107a0576107a0610768565b60405290565b604051601f8201601f191681016001600160401b03811182821017156107ce576107ce610768565b604052919050565b80356107e181610750565b919050565b600080600080608085870312156107fc57600080fd5b843561080781610750565b93506020858101356001600160401b038082111561082457600080fd5b9087019060a0828a03121561083857600080fd5b61084061077e565b823561084b81610750565b808252508383013584820152604083013560408201526060830135606082015260808301358281111561087d57600080fd5b80840193505089601f84011261089257600080fd5b8235828111156108a4576108a4610768565b6108b6601f8201601f191686016107a6565b92508083528a858286010111156108cc57600080fd5b808585018685013760009083019094019390935260808301525092506108f4604086016107d6565b9150610902606086016107d6565b905092959194509250565b80600b0b811461076557600080fd5b60008082840360c081121561093057600080fd5b60a081121561093e57600080fd5b5061094761077e565b833581526020840135602082015260408401356040820152606084013561096d81610750565b606082015260808401356109808161090d565b6080820152915060a083013561099581610750565b809150509250929050565b60005b838110156109bb5781810151838201526020016109a3565b50506000910152565b60208152600082516080602084015280518060a08501526109ec8160c08601602085016109a0565b60208501516001600160a01b0316604085810191909152850151606080860191909152909401516080840152505060c0601f909201601f1916010190565b600060208284031215610a3c57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a6c57610a6c610a43565b92915050565b8082028115828204841417610a6c57610a6c610a43565b80820180821115610a6c57610a6c610a43565b60008251610aae8184602087016109a0565b9190910192915050565b600060208284031215610aca57600080fd5b81518015158114610ada57600080fd5b9392505050565b60008060008060808587031215610af757600080fd5b845193506020850151610b098161090d565b6040860151606090960151949790965092505050565b600060208284031215610b3157600080fd5b8151610ada81610750565b634e487b7160e01b600052600160045260246000fdfea264697066735822122040f20e3f8d7e7114d62db380863d5f46e7cfdd7b624bdffc9517370abac1d02a64736f6c63430008130033";
112
+ "0x6116bd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c806321437a53146100665780634d167a901461009957806358c0dacb146100c6578063934e2cce146100e6578063b2f918a114610108575b600080fd5b81801561007257600080fd5b50610086610081366004610fa1565b610159565b6040519081526020015b60405180910390f35b8180156100a557600080fd5b506100b96100b4366004611056565b6102ed565b6040516100909190611149565b8180156100d257600080fd5b506100866100e1366004611163565b610409565b8180156100f257600080fd5b506101066101013660046111d7565b610418565b005b61011b610116366004611232565b610691565b604080519788526020880196909652948601939093526060850191909152600b90810b608085015290810b60a08401520b60c082015260e001610090565b600061016f8560000151843088602001516107d7565b61018285600001518787602001516108e6565b6080850151511561023157604080516080808201835287015181526001600160a01b0380851660208084019190915288015182840152878301516060830152915163b858183f60e01b8152909188169063b858183f906101e69084906004016112db565b6020604051808303816000875af1158015610205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102299190611329565b9150506102e4565b6040805160e08101825286516001600160a01b039081168252868116602080840191825261271084860190815287841660608601908152918b0151608086019081528b87015160a08701908152600060c0880190815297516304e45aaf60e01b8152875187166004820152945186166024860152915162ffffff166044850152915184166064840152905160848301525160a48201529251811660c48401529091908816906304e45aaf9060e4016101e6565b95945050505050565b806001600160a01b038516156103fe5760006103136001600160a01b03891630896109e6565b90506000876001600160a01b0316876001600160a01b03161461035e575060016001600160a01b0388161561035e57600082600b0b131561035e5761035b8a84308b8d610a7e565b92505b6001600160a01b0387166103735750506103fe565b6000612710610386600389900b88611358565b6103909190611395565b61039a90846113d3565b9050811580156103ad5750600083600b0b135b156103de57600081600b0b136103d1576103ca8b85308b8e610a7e565b93506103fa565b6103ca8b858a8d85610aad565b600081600b0b13156103fa576103f78b858a8d85610ad2565b93505b5050505b979650505050505050565b60006102e48585858586610159565b60006001600160a01b0384161561049457836001600160a01b03166324a9d8536040518163ffffffff1660e01b8152600401602060405180830381865afa158015610467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048b9190611406565b63ffffffff1690505b60028601546104a39042611423565b60038701546104c29190600160a01b90046001600160601b0316611436565b8660000160008282546104d5919061144d565b909155505060038601546001600160a01b0316156105455760028601546104fc9042611423565b6003870154610519906001600160a01b03888116913091166109e6565b6001600160601b031661052c9190611436565b86600501600082825461053f919061144d565b90915550505b60048601546001600160a01b0316156105b05760028601546105679042611423565b6004870154610584906001600160a01b03888116913091166109e6565b6001600160601b03166105979190611436565b8660060160008282546105aa919061144d565b90915550505b81156106675761271063ffffffff84166105ca8383611423565b6105d49190611423565b6105de9084611436565b6105e89190611460565b8660000160008282546105fb919061144d565b90915550612710905061060e8284611436565b6106189190611460565b86600501600082825461062b919061144d565b90915550612710905061064463ffffffff851684611436565b61064e9190611460565b866006016000828254610661919061144d565b90915550505b8560050154866006015461067b919061144d565b6001870155505042600290940193909355505050565b6000806000806000806000886080015192508860400151426106b39190611423565b89608001516001600160601b03166106cb9190611436565b89516106d7919061144d565b96506106fb308a606001518a6001600160a01b03166109e69092919063ffffffff16565b915061071f308a60a001518a6001600160a01b03166109e69092919063ffffffff16565b90508860400151426107319190611423565b60608a015161074c906001600160a01b038b169030906109e6565b6001600160601b031661075f9190611436565b8960c0015161076e919061144d565b94508860400151426107809190611423565b60a08a015161079b906001600160a01b038b169030906109e6565b6001600160601b03166107ae9190611436565b8960e001516107bd919061144d565b93506107c9848661144d565b955092959891949750929550565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161083b9190611474565b6000604051808303816000865af19150503d8060008114610878576040519150601f19603f3d011682016040523d82523d6000602084013e61087d565b606091505b50915091508180156108a75750805115806108a75750808060200190518101906108a79190611490565b6108de5760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b60448201526064015b60405180910390fd5b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291516000928392908716916109429190611474565b6000604051808303816000865af19150503d806000811461097f576040519150601f19603f3d011682016040523d82523d6000602084013e610984565b606091505b50915091508180156109ae5750805115806109ae5750808060200190518101906109ae9190611490565b6109df5760405162461bcd60e51b8152602060048201526002602482015261534160f01b60448201526064016108d5565b5050505050565b6000806109f285610af7565b604051631cd43d1160e31b81526001600160a01b03888116600483015287811660248301528681166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7191906114b2565b5090979650505050505050565b604080516000815260208101909152606090610aa39087908790879087908790610c78565b9695505050505050565b604080516000815260208101909152606090610aa39087908790879087908790610d61565b604080516000815260208101909152606090610aa39087908790879087908790610dc8565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c47576001600160a01b038216610bbc57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb991906114f0565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4491906114f0565b90505b6001600160a01b038216610c5d57610c5d61150d565b6001600160a01b038116610c7357610c7361150d565b915091565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063b4b333c690610cc19089908c908c9060448101611523565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d0e9392509087908c90600401611557565b6000604051808303816000875af1158015610d2d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5591908101906115ee565b50979650505050505050565b855460018701546060916001600160a01b0390811691634329d2939116806350209a62888a8960005b6040519080825280601f01601f191660200182016040528015610db4576020820181803683370190505b50604051602401610cc19493929190611651565b855460018701546060916001600160a01b0390811691634329d2939116806362fc305e888a896000610d8a565b6001600160a01b0381168114610e0a57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b0381118282101715610e4657610e46610e0d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610e7457610e74610e0d565b604052919050565b8035610e8781610df5565b919050565b60006001600160401b03821115610ea557610ea5610e0d565b50601f01601f191660200190565b600082601f830112610ec457600080fd5b8135610ed7610ed282610e8c565b610e4c565b818152846020838601011115610eec57600080fd5b816020850160208301376000918101602001919091529392505050565b600060a08284031215610f1b57600080fd5b60405160a081016001600160401b038082118383101715610f3e57610f3e610e0d565b8160405282935084359150610f5282610df5565b8183526020850135602084015260408501356040840152606085013560608401526080850135915080821115610f8757600080fd5b50610f9485828601610eb3565b6080830152505092915050565b600080600080600060a08688031215610fb957600080fd5b8535610fc481610df5565b945060208601356001600160401b03811115610fdf57600080fd5b610feb88828901610f09565b9450506040860135610ffc81610df5565b9250606086013561100c81610df5565b9150608086013561101c81610df5565b809150509295509295909350565b63ffffffff81168114610e0a57600080fd5b80600b0b8114610e0a57600080fd5b8035610e878161103c565b600080600080600080600060e0888a03121561107157600080fd5b87359650602088013561108381610df5565b9550604088013561109381610df5565b945060608801356110a381610df5565b935060808801356110b38161102a565b925060a08801356110c38161103c565b915060c08801356001600160401b038111156110de57600080fd5b6110ea8a828b01610eb3565b91505092959891949750929550565b60005b838110156111145781810151838201526020016110fc565b50506000910152565b600081518084526111358160208601602086016110f9565b601f01601f19169290920160200192915050565b60208152600061115c602083018461111d565b9392505050565b6000806000806080858703121561117957600080fd5b843561118481610df5565b935060208501356001600160401b0381111561119f57600080fd5b6111ab87828801610f09565b93505060408501356111bc81610df5565b915060608501356111cc81610df5565b939692955090935050565b600080600080600060a086880312156111ef57600080fd5b85359450602086013561120181610df5565b9350604086013561121181610df5565b925060608601356112218161102a565b949793965091946080013592915050565b60008082840361012081121561124757600080fd5b6101008082121561125757600080fd5b61125f610e23565b9150843582526020850135602083015260408501356040830152606085013561128781610df5565b60608301526112986080860161104b565b60808301526112a960a08601610e7c565b60a083015260c085013560c083015260e085013560e08301528193506112d0818601610e7c565b925050509250929050565b6020815260008251608060208401526112f760a084018261111d565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b60006020828403121561133b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082600b0b82600b0b0280600b0b915080821461137857611378611342565b5092915050565b634e487b7160e01b600052601260045260246000fd5b600081600b0b83600b0b806113ac576113ac61137f565b60016001605f1b03198214600019821416156113ca576113ca611342565b90059392505050565b600b81810b9083900b0160016001605f1b03811360016001605f1b03198212171561140057611400611342565b92915050565b60006020828403121561141857600080fd5b815161115c8161102a565b8181038181111561140057611400611342565b808202811582820484141761140057611400611342565b8082018082111561140057611400611342565b60008261146f5761146f61137f565b500490565b600082516114868184602087016110f9565b9190910192915050565b6000602082840312156114a257600080fd5b8151801515811461115c57600080fd5b600080600080608085870312156114c857600080fd5b8451935060208501516114da8161103c565b6040860151606090960151949790965092505050565b60006020828403121561150257600080fd5b815161115c81610df5565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090610aa39083018461111d565b6001600160a01b038516815260806020820181905260009061157b9083018661111d565b828103604084015261158d818661111d565b905082810360608401526103fe818561111d565b600082601f8301126115b257600080fd5b81516115c0610ed282610e8c565b8181528460208386010111156115d557600080fd5b6115e68260208301602087016110f9565b949350505050565b6000806040838503121561160157600080fd5b82516001600160401b038082111561161857600080fd5b611624868387016115a1565b9350602085015191508082111561163a57600080fd5b50611647858286016115a1565b9150509250929050565b6001600160a01b03858116825284166020820152600b83900b6040820152608060608201819052600090610aa39083018461111d56fea26469706673582212206f86969876c39f24a01169b8913522e7f6e27e1313d7a3502880f4f3a1d94ce564736f6c63430008130033";
83
113
 
84
114
  type HelperLibraryConstructorParams =
85
115
  | [signer?: Signer]
@@ -312,10 +312,6 @@ declare module "hardhat/types/runtime" {
312
312
  name: "IUniswapV3SwapCallback",
313
313
  signerOrOptions?: ethers.Signer | FactoryOptions
314
314
  ): Promise<Contracts.IUniswapV3SwapCallback__factory>;
315
- getContractFactory(
316
- name: "ISwapRouter",
317
- signerOrOptions?: ethers.Signer | FactoryOptions
318
- ): Promise<Contracts.ISwapRouter__factory>;
319
315
  getContractFactory(
320
316
  name: "DirectPaymentsFactory",
321
317
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -340,6 +336,10 @@ declare module "hardhat/types/runtime" {
340
336
  name: "GoodCollectiveSuperApp",
341
337
  signerOrOptions?: ethers.Signer | FactoryOptions
342
338
  ): Promise<Contracts.GoodCollectiveSuperApp__factory>;
339
+ getContractFactory(
340
+ name: "IGoodCollectiveSuperApp",
341
+ signerOrOptions?: ethers.Signer | FactoryOptions
342
+ ): Promise<Contracts.IGoodCollectiveSuperApp__factory>;
343
343
  getContractFactory(
344
344
  name: "IRegistry",
345
345
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -348,18 +348,6 @@ declare module "hardhat/types/runtime" {
348
348
  name: "SuperAppBaseFlow",
349
349
  signerOrOptions?: ethers.Signer | FactoryOptions
350
350
  ): Promise<Contracts.SuperAppBaseFlow__factory>;
351
- getContractFactory(
352
- name: "IClaimable",
353
- signerOrOptions?: ethers.Signer | FactoryOptions
354
- ): Promise<Contracts.IClaimable__factory>;
355
- getContractFactory(
356
- name: "IModule",
357
- signerOrOptions?: ethers.Signer | FactoryOptions
358
- ): Promise<Contracts.IModule__factory>;
359
- getContractFactory(
360
- name: "MultiClaimModule",
361
- signerOrOptions?: ethers.Signer | FactoryOptions
362
- ): Promise<Contracts.MultiClaimModule__factory>;
363
351
  getContractFactory(
364
352
  name: "IIdentityV2",
365
353
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -368,6 +356,10 @@ declare module "hardhat/types/runtime" {
368
356
  name: "IMembersValidator",
369
357
  signerOrOptions?: ethers.Signer | FactoryOptions
370
358
  ): Promise<Contracts.IMembersValidator__factory>;
359
+ getContractFactory(
360
+ name: "HelperLibraryTest",
361
+ signerOrOptions?: ethers.Signer | FactoryOptions
362
+ ): Promise<Contracts.HelperLibraryTest__factory>;
371
363
  getContractFactory(
372
364
  name: "UBIPool",
373
365
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -760,11 +752,6 @@ declare module "hardhat/types/runtime" {
760
752
  address: string,
761
753
  signer?: ethers.Signer
762
754
  ): Promise<Contracts.IUniswapV3SwapCallback>;
763
- getContractAt(
764
- name: "ISwapRouter",
765
- address: string,
766
- signer?: ethers.Signer
767
- ): Promise<Contracts.ISwapRouter>;
768
755
  getContractAt(
769
756
  name: "DirectPaymentsFactory",
770
757
  address: string,
@@ -795,6 +782,11 @@ declare module "hardhat/types/runtime" {
795
782
  address: string,
796
783
  signer?: ethers.Signer
797
784
  ): Promise<Contracts.GoodCollectiveSuperApp>;
785
+ getContractAt(
786
+ name: "IGoodCollectiveSuperApp",
787
+ address: string,
788
+ signer?: ethers.Signer
789
+ ): Promise<Contracts.IGoodCollectiveSuperApp>;
798
790
  getContractAt(
799
791
  name: "IRegistry",
800
792
  address: string,
@@ -805,21 +797,6 @@ declare module "hardhat/types/runtime" {
805
797
  address: string,
806
798
  signer?: ethers.Signer
807
799
  ): Promise<Contracts.SuperAppBaseFlow>;
808
- getContractAt(
809
- name: "IClaimable",
810
- address: string,
811
- signer?: ethers.Signer
812
- ): Promise<Contracts.IClaimable>;
813
- getContractAt(
814
- name: "IModule",
815
- address: string,
816
- signer?: ethers.Signer
817
- ): Promise<Contracts.IModule>;
818
- getContractAt(
819
- name: "MultiClaimModule",
820
- address: string,
821
- signer?: ethers.Signer
822
- ): Promise<Contracts.MultiClaimModule>;
823
800
  getContractAt(
824
801
  name: "IIdentityV2",
825
802
  address: string,
@@ -830,6 +807,11 @@ declare module "hardhat/types/runtime" {
830
807
  address: string,
831
808
  signer?: ethers.Signer
832
809
  ): Promise<Contracts.IMembersValidator>;
810
+ getContractAt(
811
+ name: "HelperLibraryTest",
812
+ address: string,
813
+ signer?: ethers.Signer
814
+ ): Promise<Contracts.HelperLibraryTest>;
833
815
  getContractAt(
834
816
  name: "UBIPool",
835
817
  address: string,
@@ -162,8 +162,6 @@ export type { IV3SwapRouter } from "./@uniswap/swap-router-contracts/contracts/i
162
162
  export { IV3SwapRouter__factory } from "./factories/@uniswap/swap-router-contracts/contracts/interfaces/IV3SwapRouter__factory";
163
163
  export type { IUniswapV3SwapCallback } from "./@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback";
164
164
  export { IUniswapV3SwapCallback__factory } from "./factories/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback__factory";
165
- export type { ISwapRouter } from "./@uniswap/v3-periphery/contracts/interfaces/ISwapRouter";
166
- export { ISwapRouter__factory } from "./factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory";
167
165
  export type { DirectPaymentsFactory } from "./contracts/DirectPayments/DirectPaymentsFactory";
168
166
  export { DirectPaymentsFactory__factory } from "./factories/contracts/DirectPayments/DirectPaymentsFactory__factory";
169
167
  export type { DirectPaymentsPool } from "./contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool";
@@ -172,20 +170,18 @@ export type { IMembersValidator } from "./contracts/DirectPayments/DirectPayment
172
170
  export { IMembersValidator__factory } from "./factories/contracts/DirectPayments/DirectPaymentsPool.sol/IMembersValidator__factory";
173
171
  export type { ProvableNFT } from "./contracts/DirectPayments/ProvableNFT";
174
172
  export { ProvableNFT__factory } from "./factories/contracts/DirectPayments/ProvableNFT__factory";
175
- export type { GoodCollectiveSuperApp } from "./contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp";
176
- export { GoodCollectiveSuperApp__factory } from "./factories/contracts/GoodCollective/GoodCollectiveSuperApp.sol/GoodCollectiveSuperApp__factory";
177
- export type { IRegistry } from "./contracts/GoodCollective/GoodCollectiveSuperApp.sol/IRegistry";
178
- export { IRegistry__factory } from "./factories/contracts/GoodCollective/GoodCollectiveSuperApp.sol/IRegistry__factory";
173
+ export type { GoodCollectiveSuperApp } from "./contracts/GoodCollective/GoodCollectiveSuperApp";
174
+ export { GoodCollectiveSuperApp__factory } from "./factories/contracts/GoodCollective/GoodCollectiveSuperApp__factory";
175
+ export type { IGoodCollectiveSuperApp } from "./contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp";
176
+ export { IGoodCollectiveSuperApp__factory } from "./factories/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp__factory";
177
+ export type { IRegistry } from "./contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IRegistry";
178
+ export { IRegistry__factory } from "./factories/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/IRegistry__factory";
179
179
  export type { SuperAppBaseFlow } from "./contracts/GoodCollective/SuperAppBaseFlow";
180
180
  export { SuperAppBaseFlow__factory } from "./factories/contracts/GoodCollective/SuperAppBaseFlow__factory";
181
- export type { IClaimable } from "./contracts/UBI/MultiClaimModule.sol/IClaimable";
182
- export { IClaimable__factory } from "./factories/contracts/UBI/MultiClaimModule.sol/IClaimable__factory";
183
- export type { IModule } from "./contracts/UBI/MultiClaimModule.sol/IModule";
184
- export { IModule__factory } from "./factories/contracts/UBI/MultiClaimModule.sol/IModule__factory";
185
- export type { MultiClaimModule } from "./contracts/UBI/MultiClaimModule.sol/MultiClaimModule";
186
- export { MultiClaimModule__factory } from "./factories/contracts/UBI/MultiClaimModule.sol/MultiClaimModule__factory";
187
- export type { UBIPool } from "./contracts/UBI/UBIPool.sol/UBIPool";
188
- export { UBIPool__factory } from "./factories/contracts/UBI/UBIPool.sol/UBIPool__factory";
181
+ export type { HelperLibraryTest } from "./contracts/test/HelperLibraryTest";
182
+ export { HelperLibraryTest__factory } from "./factories/contracts/test/HelperLibraryTest__factory";
183
+ export type { UBIPool } from "./contracts/UBI/UBIPool";
184
+ export { UBIPool__factory } from "./factories/contracts/UBI/UBIPool__factory";
189
185
  export type { UBIPoolFactory } from "./contracts/UBI/UBIPoolFactory";
190
186
  export { UBIPoolFactory__factory } from "./factories/contracts/UBI/UBIPoolFactory__factory";
191
187
  export type { HelperLibrary } from "./contracts/utils/HelperLibrary";
@@ -1,78 +0,0 @@
1
- // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.0;
3
-
4
- import { IERC20Upgradeable } from "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
5
-
6
- // Interface for ERC-7579 IModule (minimal implementation)
7
- interface IModule {
8
- /**
9
- * @dev This function is called by the smart account during installation of the module
10
- * @param data arbitrary data that may be required on the module during `onInstall` initialization
11
- *
12
- * MUST revert on error (i.e. if module is already enabled)
13
- */
14
- function onInstall(bytes calldata data) external;
15
-
16
- /**
17
- * @dev This function is called by the smart account during uninstallation of the module
18
- * @param data arbitrary data that may be required on the module during `onUninstall` de-initialization
19
- *
20
- * MUST revert on error
21
- */
22
- function onUninstall(bytes calldata data) external;
23
-
24
- /**
25
- * @dev Returns boolean value if module is a certain type
26
- * @param typeID the module type ID according the ERC-7579 spec
27
- *
28
- * MUST return true if the module is of the given type and false otherwise
29
- */
30
- function isModuleType(uint256 typeID) external view returns (bool);
31
-
32
- /**
33
- * @dev Returns bit-encoded integer of the different typeIds of the module
34
- *
35
- * MUST return all the bit-encoded typeIds of the module
36
- */
37
- function getModuleTypes() external view returns (uint256);
38
- }
39
-
40
- interface IClaimable {
41
- function claim() external;
42
- }
43
-
44
- contract MultiClaimModule is IModule {
45
- // Function to claim tokens from multiple contracts
46
- function multiClaim(
47
- address[] calldata contracts,
48
- IERC20Upgradeable token,
49
- address recipient
50
- ) external returns (bool[] memory success) {
51
- // Loop through each contract address
52
- uint256 tokenBalance = token.balanceOf(address(this));
53
- success = new bool[](contracts.length);
54
- for (uint i = 0; i < contracts.length; i++) {
55
- try IClaimable(contracts[i]).claim() {
56
- success[i] = true;
57
- } catch {}
58
- }
59
-
60
- // Transfer any token balance after claims to recipient
61
- uint256 tokenBalanceDiff = token.balanceOf(address(this)) - tokenBalance;
62
- if (tokenBalanceDiff > 0) {
63
- token.transfer(recipient, tokenBalanceDiff);
64
- }
65
- }
66
-
67
- function onInstall(bytes calldata data) external override {}
68
-
69
- function onUninstall(bytes calldata data) external override {}
70
-
71
- function isModuleType(uint256 typeID) external view override returns (bool) {
72
- return true;
73
- }
74
-
75
- function getModuleTypes() public view override returns (uint256) {
76
- return 2;
77
- }
78
- }
@@ -1,115 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- import type {
5
- BaseContract,
6
- BigNumber,
7
- BigNumberish,
8
- BytesLike,
9
- CallOverrides,
10
- PopulatedTransaction,
11
- Signer,
12
- utils,
13
- } from "ethers";
14
- import type { FunctionFragment, Result } from "@ethersproject/abi";
15
- import type { Listener, Provider } from "@ethersproject/providers";
16
- import type {
17
- TypedEventFilter,
18
- TypedEvent,
19
- TypedListener,
20
- OnEvent,
21
- PromiseOrValue,
22
- } from "../../../../../common";
23
-
24
- export interface IFeesFormulaInterface extends utils.Interface {
25
- functions: {
26
- "getTxFees(uint256,address,address)": FunctionFragment;
27
- };
28
-
29
- getFunction(nameOrSignatureOrTopic: "getTxFees"): FunctionFragment;
30
-
31
- encodeFunctionData(
32
- functionFragment: "getTxFees",
33
- values: [
34
- PromiseOrValue<BigNumberish>,
35
- PromiseOrValue<string>,
36
- PromiseOrValue<string>
37
- ]
38
- ): string;
39
-
40
- decodeFunctionResult(functionFragment: "getTxFees", data: BytesLike): Result;
41
-
42
- events: {};
43
- }
44
-
45
- export interface IFeesFormula extends BaseContract {
46
- connect(signerOrProvider: Signer | Provider | string): this;
47
- attach(addressOrName: string): this;
48
- deployed(): Promise<this>;
49
-
50
- interface: IFeesFormulaInterface;
51
-
52
- queryFilter<TEvent extends TypedEvent>(
53
- event: TypedEventFilter<TEvent>,
54
- fromBlockOrBlockhash?: string | number | undefined,
55
- toBlock?: string | number | undefined
56
- ): Promise<Array<TEvent>>;
57
-
58
- listeners<TEvent extends TypedEvent>(
59
- eventFilter?: TypedEventFilter<TEvent>
60
- ): Array<TypedListener<TEvent>>;
61
- listeners(eventName?: string): Array<Listener>;
62
- removeAllListeners<TEvent extends TypedEvent>(
63
- eventFilter: TypedEventFilter<TEvent>
64
- ): this;
65
- removeAllListeners(eventName?: string): this;
66
- off: OnEvent<this>;
67
- on: OnEvent<this>;
68
- once: OnEvent<this>;
69
- removeListener: OnEvent<this>;
70
-
71
- functions: {
72
- getTxFees(
73
- value: PromiseOrValue<BigNumberish>,
74
- sender: PromiseOrValue<string>,
75
- recipient: PromiseOrValue<string>,
76
- overrides?: CallOverrides
77
- ): Promise<[BigNumber, boolean] & { fee: BigNumber; senderPays: boolean }>;
78
- };
79
-
80
- getTxFees(
81
- value: PromiseOrValue<BigNumberish>,
82
- sender: PromiseOrValue<string>,
83
- recipient: PromiseOrValue<string>,
84
- overrides?: CallOverrides
85
- ): Promise<[BigNumber, boolean] & { fee: BigNumber; senderPays: boolean }>;
86
-
87
- callStatic: {
88
- getTxFees(
89
- value: PromiseOrValue<BigNumberish>,
90
- sender: PromiseOrValue<string>,
91
- recipient: PromiseOrValue<string>,
92
- overrides?: CallOverrides
93
- ): Promise<[BigNumber, boolean] & { fee: BigNumber; senderPays: boolean }>;
94
- };
95
-
96
- filters: {};
97
-
98
- estimateGas: {
99
- getTxFees(
100
- value: PromiseOrValue<BigNumberish>,
101
- sender: PromiseOrValue<string>,
102
- recipient: PromiseOrValue<string>,
103
- overrides?: CallOverrides
104
- ): Promise<BigNumber>;
105
- };
106
-
107
- populateTransaction: {
108
- getTxFees(
109
- value: PromiseOrValue<BigNumberish>,
110
- sender: PromiseOrValue<string>,
111
- recipient: PromiseOrValue<string>,
112
- overrides?: CallOverrides
113
- ): Promise<PopulatedTransaction>;
114
- };
115
- }
@@ -1,4 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- export type { IFeesFormula } from "./IFeesFormula";
@@ -1,5 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- import type * as interfaces from "./interfaces";
5
- export type { interfaces };