@ensuro/core 1.2.5 → 2.0.0-beta1

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 (92) hide show
  1. package/README.md +44 -17
  2. package/build/contracts/EToken.sol/EToken.json +141 -177
  3. package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +112 -315
  4. package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +34 -2
  5. package/build/contracts/Policy.sol/Policy.json +2 -2
  6. package/build/contracts/PolicyNFT.sol/PolicyNFT.json +16 -3
  7. package/build/contracts/PolicyPool.sol/PolicyPool.json +105 -351
  8. package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +32 -0
  9. package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +77 -72
  10. package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +761 -0
  11. package/build/contracts/{BaseAssetManager.sol/BaseAssetManager.json → Reserve.sol/Reserve.json} +23 -191
  12. package/build/contracts/RiskModule.sol/RiskModule.json +94 -302
  13. package/build/contracts/TimeScaled.sol/TimeScaled.json +24 -0
  14. package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +142 -325
  15. package/build/contracts/dependencies/ChainlinkClientUpgradeable.sol/ChainlinkClientUpgradeable.json +15 -2
  16. package/build/contracts/dependencies/ERC1967Proxy.sol/ERC1967Proxy.json +64 -0
  17. package/build/{interfaces/IExchange.sol/IExchange.json → contracts/dependencies/IERC20Metadata.sol/IERC20Metadata.json} +83 -79
  18. package/build/{interfaces → contracts/interfaces}/IEToken.sol/IEToken.json +32 -97
  19. package/build/{interfaces → contracts/interfaces}/ILPWhitelist.sol/ILPWhitelist.json +1 -1
  20. package/build/{interfaces → contracts/interfaces}/IPolicyHolder.sol/IPolicyHolder.json +1 -1
  21. package/build/{interfaces → contracts/interfaces}/IPolicyNFT.sol/IPolicyNFT.json +1 -1
  22. package/build/{interfaces → contracts/interfaces}/IPolicyPool.sol/IPolicyPool.json +121 -108
  23. package/build/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +1 -1
  24. package/build/{interfaces → contracts/interfaces}/IPolicyPoolConfig.sol/IPolicyPoolConfig.json +20 -36
  25. package/build/contracts/interfaces/IPremiumsAccount.sol/IPremiumsAccount.json +302 -0
  26. package/build/{interfaces → contracts/interfaces}/IRiskModule.sol/IRiskModule.json +58 -34
  27. package/build/contracts/mocks/ForwardProxy.sol/ForwardProxy.json +43 -0
  28. package/build/{interfaces/IInsolvencyHook.sol/IInsolvencyHook.json → contracts/mocks/IMintableERC20.sol/IMintableERC20.json} +13 -8
  29. package/build/contracts/mocks/LinkTokenMock.sol/LinkTokenMock.json +370 -0
  30. package/build/contracts/mocks/PolicyHolderMock.sol/PolicyHolderMock.json +202 -0
  31. package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +35 -0
  32. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +603 -0
  33. package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +92 -0
  34. package/build/contracts/mocks/TestCurrency.sol/TestCurrency.json +343 -0
  35. package/build/contracts/mocks/TestCurrencyUUPS.sol/TestCurrencyUUPS.json +353 -0
  36. package/build/contracts/mocks/TestNFT.sol/TestNFT.json +388 -0
  37. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +16 -3
  38. package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +16 -3
  39. package/contracts/EToken.sol +188 -273
  40. package/contracts/FlightDelayRiskModule.sol +30 -21
  41. package/contracts/LPManualWhitelist.sol +3 -3
  42. package/contracts/Policy.sol +48 -44
  43. package/contracts/PolicyNFT.sol +2 -2
  44. package/contracts/PolicyPool.sol +114 -467
  45. package/contracts/PolicyPoolComponent.sol +14 -3
  46. package/contracts/PolicyPoolConfig.sol +30 -73
  47. package/contracts/PremiumsAccount.sol +274 -0
  48. package/contracts/Reserve.sol +34 -0
  49. package/contracts/RiskModule.sol +216 -164
  50. package/contracts/TimeScaled.sol +134 -0
  51. package/contracts/TrustfulRiskModule.sol +23 -21
  52. package/contracts/dependencies/ERC1967Proxy.sol +19 -0
  53. package/contracts/dependencies/IERC20Metadata.sol +19 -0
  54. package/contracts/interfaces/IEToken.sol +172 -0
  55. package/{interfaces → contracts/interfaces}/ILPWhitelist.sol +0 -0
  56. package/{interfaces → contracts/interfaces}/IPolicyHolder.sol +0 -0
  57. package/{interfaces → contracts/interfaces}/IPolicyNFT.sol +0 -0
  58. package/contracts/interfaces/IPolicyPool.sol +138 -0
  59. package/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol +0 -0
  60. package/{interfaces → contracts/interfaces}/IPolicyPoolConfig.sol +31 -20
  61. package/contracts/interfaces/IPremiumsAccount.sol +71 -0
  62. package/contracts/interfaces/IRiskModule.sol +60 -0
  63. package/contracts/mocks/ForwardProxy.sol +66 -0
  64. package/contracts/mocks/IMintableERC20.sol +13 -0
  65. package/contracts/mocks/LinkTokenMock.sol +30 -0
  66. package/contracts/mocks/PolicyHolderMock.sol +68 -0
  67. package/contracts/mocks/PolicyPoolComponentMock.sol +17 -0
  68. package/contracts/mocks/PolicyPoolMock.sol +122 -0
  69. package/contracts/mocks/TestCurrency.sol +35 -0
  70. package/contracts/mocks/TestNFT.sol +23 -0
  71. package/contracts/upgraded/PolicyNFTv1.sol +1 -1
  72. package/js/test-utils.js +278 -0
  73. package/package.json +2 -2
  74. package/build/contracts/AaveAssetManager.sol/AaveAssetManager.json +0 -723
  75. package/build/contracts/DataTypes.sol/DataTypes.json +0 -10
  76. package/build/contracts/Exchange.sol/Exchange.json +0 -546
  77. package/build/contracts/extras/IPriceRiskModule.sol/IPriceRiskModule.json +0 -253
  78. package/build/contracts/extras/PriceRiskModule.sol/PriceRiskModule.json +0 -1036
  79. package/build/interfaces/IAssetManager.sol/IAssetManager.json +0 -31
  80. package/build/interfaces/IExchange.sol/IPriceOracle.json +0 -30
  81. package/contracts/AaveAssetManager.sol +0 -298
  82. package/contracts/BaseAssetManager.sol +0 -301
  83. package/contracts/DataTypes.sol +0 -287
  84. package/contracts/Exchange.sol +0 -173
  85. package/contracts/extras/IPriceRiskModule.sol +0 -41
  86. package/contracts/extras/PriceRiskModule.sol +0 -243
  87. package/interfaces/IAssetManager.sol +0 -23
  88. package/interfaces/IEToken.sol +0 -48
  89. package/interfaces/IExchange.sol +0 -59
  90. package/interfaces/IInsolvencyHook.sol +0 -27
  91. package/interfaces/IPolicyPool.sol +0 -44
  92. package/interfaces/IRiskModule.sol +0 -29
@@ -0,0 +1,302 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IPremiumsAccount",
4
+ "sourceName": "contracts/interfaces/IPremiumsAccount.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "juniorEtk",
9
+ "outputs": [
10
+ {
11
+ "internalType": "contract IEToken",
12
+ "name": "",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "components": [
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "id",
26
+ "type": "uint256"
27
+ },
28
+ {
29
+ "internalType": "uint256",
30
+ "name": "payout",
31
+ "type": "uint256"
32
+ },
33
+ {
34
+ "internalType": "uint256",
35
+ "name": "premium",
36
+ "type": "uint256"
37
+ },
38
+ {
39
+ "internalType": "uint256",
40
+ "name": "jrScr",
41
+ "type": "uint256"
42
+ },
43
+ {
44
+ "internalType": "uint256",
45
+ "name": "srScr",
46
+ "type": "uint256"
47
+ },
48
+ {
49
+ "internalType": "uint256",
50
+ "name": "lossProb",
51
+ "type": "uint256"
52
+ },
53
+ {
54
+ "internalType": "uint256",
55
+ "name": "purePremium",
56
+ "type": "uint256"
57
+ },
58
+ {
59
+ "internalType": "uint256",
60
+ "name": "ensuroCommission",
61
+ "type": "uint256"
62
+ },
63
+ {
64
+ "internalType": "uint256",
65
+ "name": "partnerCommission",
66
+ "type": "uint256"
67
+ },
68
+ {
69
+ "internalType": "uint256",
70
+ "name": "jrCoc",
71
+ "type": "uint256"
72
+ },
73
+ {
74
+ "internalType": "uint256",
75
+ "name": "srCoc",
76
+ "type": "uint256"
77
+ },
78
+ {
79
+ "internalType": "contract IRiskModule",
80
+ "name": "riskModule",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "internalType": "uint40",
85
+ "name": "start",
86
+ "type": "uint40"
87
+ },
88
+ {
89
+ "internalType": "uint40",
90
+ "name": "expiration",
91
+ "type": "uint40"
92
+ }
93
+ ],
94
+ "internalType": "struct Policy.PolicyData",
95
+ "name": "policy",
96
+ "type": "tuple"
97
+ }
98
+ ],
99
+ "name": "policyCreated",
100
+ "outputs": [],
101
+ "stateMutability": "nonpayable",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "inputs": [
106
+ {
107
+ "components": [
108
+ {
109
+ "internalType": "uint256",
110
+ "name": "id",
111
+ "type": "uint256"
112
+ },
113
+ {
114
+ "internalType": "uint256",
115
+ "name": "payout",
116
+ "type": "uint256"
117
+ },
118
+ {
119
+ "internalType": "uint256",
120
+ "name": "premium",
121
+ "type": "uint256"
122
+ },
123
+ {
124
+ "internalType": "uint256",
125
+ "name": "jrScr",
126
+ "type": "uint256"
127
+ },
128
+ {
129
+ "internalType": "uint256",
130
+ "name": "srScr",
131
+ "type": "uint256"
132
+ },
133
+ {
134
+ "internalType": "uint256",
135
+ "name": "lossProb",
136
+ "type": "uint256"
137
+ },
138
+ {
139
+ "internalType": "uint256",
140
+ "name": "purePremium",
141
+ "type": "uint256"
142
+ },
143
+ {
144
+ "internalType": "uint256",
145
+ "name": "ensuroCommission",
146
+ "type": "uint256"
147
+ },
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "partnerCommission",
151
+ "type": "uint256"
152
+ },
153
+ {
154
+ "internalType": "uint256",
155
+ "name": "jrCoc",
156
+ "type": "uint256"
157
+ },
158
+ {
159
+ "internalType": "uint256",
160
+ "name": "srCoc",
161
+ "type": "uint256"
162
+ },
163
+ {
164
+ "internalType": "contract IRiskModule",
165
+ "name": "riskModule",
166
+ "type": "address"
167
+ },
168
+ {
169
+ "internalType": "uint40",
170
+ "name": "start",
171
+ "type": "uint40"
172
+ },
173
+ {
174
+ "internalType": "uint40",
175
+ "name": "expiration",
176
+ "type": "uint40"
177
+ }
178
+ ],
179
+ "internalType": "struct Policy.PolicyData",
180
+ "name": "policy",
181
+ "type": "tuple"
182
+ }
183
+ ],
184
+ "name": "policyExpired",
185
+ "outputs": [],
186
+ "stateMutability": "nonpayable",
187
+ "type": "function"
188
+ },
189
+ {
190
+ "inputs": [
191
+ {
192
+ "internalType": "address",
193
+ "name": "policyHolder",
194
+ "type": "address"
195
+ },
196
+ {
197
+ "components": [
198
+ {
199
+ "internalType": "uint256",
200
+ "name": "id",
201
+ "type": "uint256"
202
+ },
203
+ {
204
+ "internalType": "uint256",
205
+ "name": "payout",
206
+ "type": "uint256"
207
+ },
208
+ {
209
+ "internalType": "uint256",
210
+ "name": "premium",
211
+ "type": "uint256"
212
+ },
213
+ {
214
+ "internalType": "uint256",
215
+ "name": "jrScr",
216
+ "type": "uint256"
217
+ },
218
+ {
219
+ "internalType": "uint256",
220
+ "name": "srScr",
221
+ "type": "uint256"
222
+ },
223
+ {
224
+ "internalType": "uint256",
225
+ "name": "lossProb",
226
+ "type": "uint256"
227
+ },
228
+ {
229
+ "internalType": "uint256",
230
+ "name": "purePremium",
231
+ "type": "uint256"
232
+ },
233
+ {
234
+ "internalType": "uint256",
235
+ "name": "ensuroCommission",
236
+ "type": "uint256"
237
+ },
238
+ {
239
+ "internalType": "uint256",
240
+ "name": "partnerCommission",
241
+ "type": "uint256"
242
+ },
243
+ {
244
+ "internalType": "uint256",
245
+ "name": "jrCoc",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "internalType": "uint256",
250
+ "name": "srCoc",
251
+ "type": "uint256"
252
+ },
253
+ {
254
+ "internalType": "contract IRiskModule",
255
+ "name": "riskModule",
256
+ "type": "address"
257
+ },
258
+ {
259
+ "internalType": "uint40",
260
+ "name": "start",
261
+ "type": "uint40"
262
+ },
263
+ {
264
+ "internalType": "uint40",
265
+ "name": "expiration",
266
+ "type": "uint40"
267
+ }
268
+ ],
269
+ "internalType": "struct Policy.PolicyData",
270
+ "name": "policy",
271
+ "type": "tuple"
272
+ },
273
+ {
274
+ "internalType": "uint256",
275
+ "name": "payout",
276
+ "type": "uint256"
277
+ }
278
+ ],
279
+ "name": "policyResolvedWithPayout",
280
+ "outputs": [],
281
+ "stateMutability": "nonpayable",
282
+ "type": "function"
283
+ },
284
+ {
285
+ "inputs": [],
286
+ "name": "seniorEtk",
287
+ "outputs": [
288
+ {
289
+ "internalType": "contract IEToken",
290
+ "name": "",
291
+ "type": "address"
292
+ }
293
+ ],
294
+ "stateMutability": "view",
295
+ "type": "function"
296
+ }
297
+ ],
298
+ "bytecode": "0x",
299
+ "deployedBytecode": "0x",
300
+ "linkReferences": {},
301
+ "deployedLinkReferences": {}
302
+ }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "IRiskModule",
4
- "sourceName": "interfaces/IRiskModule.sol",
4
+ "sourceName": "contracts/interfaces/IRiskModule.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [],
8
- "name": "ensuroFee",
8
+ "name": "activeExposure",
9
9
  "outputs": [
10
10
  {
11
11
  "internalType": "uint256",
@@ -18,7 +18,7 @@
18
18
  },
19
19
  {
20
20
  "inputs": [],
21
- "name": "maxScrPerPolicy",
21
+ "name": "exposureLimit",
22
22
  "outputs": [
23
23
  {
24
24
  "internalType": "uint256",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  {
33
33
  "inputs": [],
34
- "name": "moc",
34
+ "name": "maxDuration",
35
35
  "outputs": [
36
36
  {
37
37
  "internalType": "uint256",
@@ -44,38 +44,25 @@
44
44
  },
45
45
  {
46
46
  "inputs": [],
47
- "name": "name",
47
+ "name": "maxPayoutPerPolicy",
48
48
  "outputs": [
49
- {
50
- "internalType": "string",
51
- "name": "",
52
- "type": "string"
53
- }
54
- ],
55
- "stateMutability": "view",
56
- "type": "function"
57
- },
58
- {
59
- "inputs": [
60
49
  {
61
50
  "internalType": "uint256",
62
- "name": "scrAmount",
51
+ "name": "",
63
52
  "type": "uint256"
64
53
  }
65
54
  ],
66
- "name": "releaseScr",
67
- "outputs": [],
68
- "stateMutability": "nonpayable",
55
+ "stateMutability": "view",
69
56
  "type": "function"
70
57
  },
71
58
  {
72
59
  "inputs": [],
73
- "name": "scrInterestRate",
60
+ "name": "name",
74
61
  "outputs": [
75
62
  {
76
- "internalType": "uint256",
63
+ "internalType": "string",
77
64
  "name": "",
78
- "type": "uint256"
65
+ "type": "string"
79
66
  }
80
67
  ],
81
68
  "stateMutability": "view",
@@ -83,12 +70,49 @@
83
70
  },
84
71
  {
85
72
  "inputs": [],
86
- "name": "scrLimit",
73
+ "name": "params",
87
74
  "outputs": [
88
75
  {
89
- "internalType": "uint256",
76
+ "components": [
77
+ {
78
+ "internalType": "uint256",
79
+ "name": "moc",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "jrCollRatio",
85
+ "type": "uint256"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "collRatio",
90
+ "type": "uint256"
91
+ },
92
+ {
93
+ "internalType": "uint256",
94
+ "name": "ensuroPpFee",
95
+ "type": "uint256"
96
+ },
97
+ {
98
+ "internalType": "uint256",
99
+ "name": "ensuroCocFee",
100
+ "type": "uint256"
101
+ },
102
+ {
103
+ "internalType": "uint256",
104
+ "name": "jrRoc",
105
+ "type": "uint256"
106
+ },
107
+ {
108
+ "internalType": "uint256",
109
+ "name": "srRoc",
110
+ "type": "uint256"
111
+ }
112
+ ],
113
+ "internalType": "struct IRiskModule.Params",
90
114
  "name": "",
91
- "type": "uint256"
115
+ "type": "tuple"
92
116
  }
93
117
  ],
94
118
  "stateMutability": "view",
@@ -96,28 +120,28 @@
96
120
  },
97
121
  {
98
122
  "inputs": [],
99
- "name": "scrPercentage",
123
+ "name": "premiumsAccount",
100
124
  "outputs": [
101
125
  {
102
- "internalType": "uint256",
126
+ "internalType": "contract IPremiumsAccount",
103
127
  "name": "",
104
- "type": "uint256"
128
+ "type": "address"
105
129
  }
106
130
  ],
107
131
  "stateMutability": "view",
108
132
  "type": "function"
109
133
  },
110
134
  {
111
- "inputs": [],
112
- "name": "totalScr",
113
- "outputs": [
135
+ "inputs": [
114
136
  {
115
137
  "internalType": "uint256",
116
- "name": "",
138
+ "name": "payout",
117
139
  "type": "uint256"
118
140
  }
119
141
  ],
120
- "stateMutability": "view",
142
+ "name": "releaseExposure",
143
+ "outputs": [],
144
+ "stateMutability": "nonpayable",
121
145
  "type": "function"
122
146
  },
123
147
  {
@@ -0,0 +1,43 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ForwardProxy",
4
+ "sourceName": "contracts/mocks/ForwardProxy.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "forwardTo",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "stateMutability": "payable",
19
+ "type": "fallback"
20
+ },
21
+ {
22
+ "inputs": [
23
+ {
24
+ "internalType": "address",
25
+ "name": "forwardTo",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "name": "setForwardTo",
30
+ "outputs": [],
31
+ "stateMutability": "nonpayable",
32
+ "type": "function"
33
+ },
34
+ {
35
+ "stateMutability": "payable",
36
+ "type": "receive"
37
+ }
38
+ ],
39
+ "bytecode": "0x608060405234801561001057600080fd5b5060405161019e38038061019e83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61010b806100936000396000f3fe608060405260043610601f5760003560e01c8063d4b2700114603157602b565b36602b576029606a565b005b6029606a565b348015603c57600080fd5b506029604836600460a7565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6081607d6000546001600160a01b031690565b6083565b565b366000803760008036600080855af13d6000803e80801560a2573d6000f35b3d6000fd5b60006020828403121560b857600080fd5b81356001600160a01b038116811460ce57600080fd5b939250505056fea2646970667358221220903778e2b7525b81f8fbe969b117bee6246d2186595028875c123d4a2e2c0fe864736f6c63430008060033",
40
+ "deployedBytecode": "0x608060405260043610601f5760003560e01c8063d4b2700114603157602b565b36602b576029606a565b005b6029606a565b348015603c57600080fd5b506029604836600460a7565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6081607d6000546001600160a01b031690565b6083565b565b366000803760008036600080855af13d6000803e80801560a2573d6000f35b3d6000fd5b60006020828403121560b857600080fd5b81356001600160a01b038116811460ce57600080fd5b939250505056fea2646970667358221220903778e2b7525b81f8fbe969b117bee6246d2186595028875c123d4a2e2c0fe864736f6c63430008060033",
41
+ "linkReferences": {},
42
+ "deployedLinkReferences": {}
43
+ }
@@ -1,35 +1,40 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
- "contractName": "IInsolvencyHook",
4
- "sourceName": "interfaces/IInsolvencyHook.sol",
3
+ "contractName": "IMintableERC20",
4
+ "sourceName": "contracts/mocks/IMintableERC20.sol",
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
8
8
  {
9
- "internalType": "contract IEToken",
10
- "name": "eToken",
9
+ "internalType": "address",
10
+ "name": "recipient",
11
11
  "type": "address"
12
12
  },
13
13
  {
14
14
  "internalType": "uint256",
15
- "name": "paymentAmount",
15
+ "name": "amount",
16
16
  "type": "uint256"
17
17
  }
18
18
  ],
19
- "name": "insolventEToken",
19
+ "name": "burn",
20
20
  "outputs": [],
21
21
  "stateMutability": "nonpayable",
22
22
  "type": "function"
23
23
  },
24
24
  {
25
25
  "inputs": [
26
+ {
27
+ "internalType": "address",
28
+ "name": "recipient",
29
+ "type": "address"
30
+ },
26
31
  {
27
32
  "internalType": "uint256",
28
- "name": "paymentAmount",
33
+ "name": "amount",
29
34
  "type": "uint256"
30
35
  }
31
36
  ],
32
- "name": "outOfCash",
37
+ "name": "mint",
33
38
  "outputs": [],
34
39
  "stateMutability": "nonpayable",
35
40
  "type": "function"