sablier 1.2.0 → 1.2.2-beta.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 (104) hide show
  1. package/dist/abi/airdrops/v1.1/SablierV2MerkleStreamer.json +263 -0
  2. package/dist/abi/airdrops/v1.1/SablierV2MerkleStreamerFactory.json +174 -0
  3. package/dist/abi/airdrops/v1.1/SablierV2MerkleStreamerLL.json +423 -0
  4. package/dist/abi/airdrops/v1.2/SablierV2MerkleLL.json +520 -0
  5. package/dist/abi/airdrops/v1.2/SablierV2MerkleLT.json +578 -0
  6. package/dist/abi/airdrops/v1.2/SablierV2MerkleLockup.json +348 -0
  7. package/dist/abi/airdrops/v1.2/SablierV2MerkleLockupFactory.json +419 -0
  8. package/dist/abi/airdrops/v1.3/SablierMerkleBase.json +441 -0
  9. package/dist/abi/airdrops/v1.3/SablierMerkleFactory.json +364 -0
  10. package/dist/abi/airdrops/v1.3/SablierMerkleInstant.json +519 -0
  11. package/dist/abi/airdrops/v1.3/SablierMerkleLL.json +678 -0
  12. package/dist/abi/airdrops/v1.3/SablierMerkleLT.json +690 -0
  13. package/dist/abi/airdrops/v1.3/SablierMerkleLockup.json +651 -0
  14. package/dist/abi/airdrops/v2.0/SablierFactoryMerkleInstant.json +400 -0
  15. package/dist/abi/airdrops/v2.0/SablierFactoryMerkleLL.json +535 -0
  16. package/dist/abi/airdrops/v2.0/SablierFactoryMerkleLT.json +574 -0
  17. package/dist/abi/airdrops/v2.0/SablierFactoryMerkleVCA.json +498 -0
  18. package/dist/abi/airdrops/v2.0/SablierMerkleInstant.json +696 -0
  19. package/dist/abi/airdrops/v2.0/SablierMerkleLL.json +947 -0
  20. package/dist/abi/airdrops/v2.0/SablierMerkleLT.json +917 -0
  21. package/dist/abi/airdrops/v2.0/SablierMerkleVCA.json +843 -0
  22. package/dist/abi/flow/v1.0/SablierFlow.json +2356 -0
  23. package/dist/abi/flow/v1.1/SablierFlow.json +2393 -0
  24. package/dist/abi/flow/v2.0/SablierFlow.json +961 -0
  25. package/dist/abi/lockup/v1.0/SablierV2Lockup.json +1288 -0
  26. package/dist/abi/lockup/v1.0/SablierV2LockupDynamic.json +916 -0
  27. package/dist/abi/lockup/v1.0/SablierV2LockupLinear.json +829 -0
  28. package/dist/abi/lockup/v1.1/SablierV2Lockup.json +1351 -0
  29. package/dist/abi/lockup/v1.1/SablierV2LockupDynamic.json +934 -0
  30. package/dist/abi/lockup/v1.1/SablierV2LockupLinear.json +847 -0
  31. package/dist/abi/lockup/v1.2/SablierV2Lockup.json +1494 -0
  32. package/dist/abi/lockup/v1.2/SablierV2LockupDynamic.json +974 -0
  33. package/dist/abi/lockup/v1.2/SablierV2LockupLinear.json +895 -0
  34. package/dist/abi/lockup/v1.2/SablierV2LockupTranched.json +927 -0
  35. package/dist/abi/lockup/v2.0/SablierBatchLockup.json +570 -0
  36. package/dist/abi/lockup/v2.0/SablierLockup.json +1220 -0
  37. package/dist/abi/lockup/v3.0/SablierBatchLockup.json +674 -0
  38. package/dist/abi/lockup/v3.0/SablierLockup.json +1168 -0
  39. package/dist/chains/data.d.ts.map +1 -1
  40. package/dist/chains/data.js +2 -1
  41. package/dist/chains/data.js.map +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/solana/chains/data.d.ts +4 -0
  47. package/dist/solana/chains/data.d.ts.map +1 -0
  48. package/dist/solana/chains/data.js +85 -0
  49. package/dist/solana/chains/data.js.map +1 -0
  50. package/dist/solana/chains/index.d.ts +3 -0
  51. package/dist/solana/chains/index.d.ts.map +1 -0
  52. package/dist/solana/chains/index.js +42 -0
  53. package/dist/solana/chains/index.js.map +1 -0
  54. package/dist/solana/enums.d.ts +17 -0
  55. package/dist/solana/enums.d.ts.map +1 -0
  56. package/dist/solana/enums.js +24 -0
  57. package/dist/solana/enums.js.map +1 -0
  58. package/dist/solana/idl/airdrops/index.d.ts +2 -0
  59. package/dist/solana/idl/airdrops/index.d.ts.map +1 -0
  60. package/dist/solana/idl/airdrops/index.js +18 -0
  61. package/dist/solana/idl/airdrops/index.js.map +1 -0
  62. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10.d.ts +298 -0
  63. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10.d.ts.map +1 -0
  64. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10.js +1054 -0
  65. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10.js.map +1 -0
  66. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10Type.d.ts +1201 -0
  67. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10Type.d.ts.map +1 -0
  68. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10Type.js +3 -0
  69. package/dist/solana/idl/airdrops/v1.0/SablierMerkleInstantV10Type.js.map +1 -0
  70. package/dist/solana/idl/airdrops/v1.0/index.d.ts +3 -0
  71. package/dist/solana/idl/airdrops/v1.0/index.d.ts.map +1 -0
  72. package/dist/solana/idl/airdrops/v1.0/index.js +9 -0
  73. package/dist/solana/idl/airdrops/v1.0/index.js.map +1 -0
  74. package/dist/solana/idl/index.d.ts +3 -0
  75. package/dist/solana/idl/index.d.ts.map +1 -0
  76. package/dist/solana/idl/index.js +19 -0
  77. package/dist/solana/idl/index.js.map +1 -0
  78. package/dist/solana/idl/lockup/index.d.ts +2 -0
  79. package/dist/solana/idl/lockup/index.d.ts.map +1 -0
  80. package/dist/solana/idl/lockup/index.js +18 -0
  81. package/dist/solana/idl/lockup/index.js.map +1 -0
  82. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10.d.ts +413 -0
  83. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10.d.ts.map +1 -0
  84. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10.js +2230 -0
  85. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10.js.map +1 -0
  86. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10Type.d.ts +2679 -0
  87. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10Type.d.ts.map +1 -0
  88. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10Type.js +3 -0
  89. package/dist/solana/idl/lockup/v1.0/SablierLockupLinearV10Type.js.map +1 -0
  90. package/dist/solana/idl/lockup/v1.0/index.d.ts +3 -0
  91. package/dist/solana/idl/lockup/v1.0/index.d.ts.map +1 -0
  92. package/dist/solana/idl/lockup/v1.0/index.js +9 -0
  93. package/dist/solana/idl/lockup/v1.0/index.js.map +1 -0
  94. package/dist/solana/index.d.ts +4 -0
  95. package/dist/solana/index.d.ts.map +1 -0
  96. package/dist/solana/index.js +22 -0
  97. package/dist/solana/index.js.map +1 -0
  98. package/dist/solana/types.d.ts +7 -0
  99. package/dist/solana/types.d.ts.map +1 -0
  100. package/dist/solana/types.js +3 -0
  101. package/dist/solana/types.js.map +1 -0
  102. package/dist/types.d.ts +22 -2
  103. package/dist/types.d.ts.map +1 -1
  104. package/package.json +31 -8
@@ -0,0 +1,974 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ { "internalType": "address", "name": "initialAdmin", "type": "address" },
5
+ { "internalType": "contract ISablierV2NFTDescriptor", "name": "initialNFTDescriptor", "type": "address" },
6
+ { "internalType": "uint256", "name": "maxSegmentCount", "type": "uint256" }
7
+ ],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [{ "internalType": "address", "name": "target", "type": "address" }],
13
+ "name": "AddressEmptyCode",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [{ "internalType": "address", "name": "account", "type": "address" }],
18
+ "name": "AddressInsufficientBalance",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [
23
+ { "internalType": "address", "name": "admin", "type": "address" },
24
+ { "internalType": "address", "name": "caller", "type": "address" }
25
+ ],
26
+ "name": "CallerNotAdmin",
27
+ "type": "error"
28
+ },
29
+ { "inputs": [], "name": "DelegateCall", "type": "error" },
30
+ {
31
+ "inputs": [
32
+ { "internalType": "address", "name": "sender", "type": "address" },
33
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" },
34
+ { "internalType": "address", "name": "owner", "type": "address" }
35
+ ],
36
+ "name": "ERC721IncorrectOwner",
37
+ "type": "error"
38
+ },
39
+ {
40
+ "inputs": [
41
+ { "internalType": "address", "name": "operator", "type": "address" },
42
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
43
+ ],
44
+ "name": "ERC721InsufficientApproval",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [{ "internalType": "address", "name": "approver", "type": "address" }],
49
+ "name": "ERC721InvalidApprover",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [{ "internalType": "address", "name": "operator", "type": "address" }],
54
+ "name": "ERC721InvalidOperator",
55
+ "type": "error"
56
+ },
57
+ {
58
+ "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }],
59
+ "name": "ERC721InvalidOwner",
60
+ "type": "error"
61
+ },
62
+ {
63
+ "inputs": [{ "internalType": "address", "name": "receiver", "type": "address" }],
64
+ "name": "ERC721InvalidReceiver",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }],
69
+ "name": "ERC721InvalidSender",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }],
74
+ "name": "ERC721NonexistentToken",
75
+ "type": "error"
76
+ },
77
+ { "inputs": [], "name": "FailedInnerCall", "type": "error" },
78
+ {
79
+ "inputs": [
80
+ { "internalType": "uint256", "name": "x", "type": "uint256" },
81
+ { "internalType": "uint256", "name": "y", "type": "uint256" }
82
+ ],
83
+ "name": "PRBMath_MulDiv18_Overflow",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ { "internalType": "uint256", "name": "x", "type": "uint256" },
89
+ { "internalType": "uint256", "name": "y", "type": "uint256" },
90
+ { "internalType": "uint256", "name": "denominator", "type": "uint256" }
91
+ ],
92
+ "name": "PRBMath_MulDiv_Overflow",
93
+ "type": "error"
94
+ },
95
+ { "inputs": [], "name": "PRBMath_SD59x18_Div_InputTooSmall", "type": "error" },
96
+ {
97
+ "inputs": [
98
+ { "internalType": "SD59x18", "name": "x", "type": "int256" },
99
+ { "internalType": "SD59x18", "name": "y", "type": "int256" }
100
+ ],
101
+ "name": "PRBMath_SD59x18_Div_Overflow",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [{ "internalType": "SD59x18", "name": "x", "type": "int256" }],
106
+ "name": "PRBMath_SD59x18_Exp2_InputTooBig",
107
+ "type": "error"
108
+ },
109
+ {
110
+ "inputs": [{ "internalType": "SD59x18", "name": "x", "type": "int256" }],
111
+ "name": "PRBMath_SD59x18_IntoUint256_Underflow",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [{ "internalType": "SD59x18", "name": "x", "type": "int256" }],
116
+ "name": "PRBMath_SD59x18_Log_InputTooSmall",
117
+ "type": "error"
118
+ },
119
+ { "inputs": [], "name": "PRBMath_SD59x18_Mul_InputTooSmall", "type": "error" },
120
+ {
121
+ "inputs": [
122
+ { "internalType": "SD59x18", "name": "x", "type": "int256" },
123
+ { "internalType": "SD59x18", "name": "y", "type": "int256" }
124
+ ],
125
+ "name": "PRBMath_SD59x18_Mul_Overflow",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [
130
+ { "internalType": "uint128", "name": "depositAmount", "type": "uint128" },
131
+ { "internalType": "uint128", "name": "segmentAmountsSum", "type": "uint128" }
132
+ ],
133
+ "name": "SablierV2LockupDynamic_DepositAmountNotEqualToSegmentAmountsSum",
134
+ "type": "error"
135
+ },
136
+ {
137
+ "inputs": [{ "internalType": "uint256", "name": "count", "type": "uint256" }],
138
+ "name": "SablierV2LockupDynamic_SegmentCountTooHigh",
139
+ "type": "error"
140
+ },
141
+ { "inputs": [], "name": "SablierV2LockupDynamic_SegmentCountZero", "type": "error" },
142
+ {
143
+ "inputs": [
144
+ { "internalType": "uint256", "name": "index", "type": "uint256" },
145
+ { "internalType": "uint40", "name": "previousTimestamp", "type": "uint40" },
146
+ { "internalType": "uint40", "name": "currentTimestamp", "type": "uint40" }
147
+ ],
148
+ "name": "SablierV2LockupDynamic_SegmentTimestampsNotOrdered",
149
+ "type": "error"
150
+ },
151
+ {
152
+ "inputs": [
153
+ { "internalType": "uint40", "name": "startTime", "type": "uint40" },
154
+ { "internalType": "uint40", "name": "firstSegmentTimestamp", "type": "uint40" }
155
+ ],
156
+ "name": "SablierV2LockupDynamic_StartTimeNotLessThanFirstSegmentTimestamp",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [{ "internalType": "address", "name": "recipient", "type": "address" }],
161
+ "name": "SablierV2Lockup_AllowToHookUnsupportedInterface",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [{ "internalType": "address", "name": "recipient", "type": "address" }],
166
+ "name": "SablierV2Lockup_AllowToHookZeroCodeSize",
167
+ "type": "error"
168
+ },
169
+ {
170
+ "inputs": [
171
+ { "internalType": "UD60x18", "name": "brokerFee", "type": "uint256" },
172
+ { "internalType": "UD60x18", "name": "maxBrokerFee", "type": "uint256" }
173
+ ],
174
+ "name": "SablierV2Lockup_BrokerFeeTooHigh",
175
+ "type": "error"
176
+ },
177
+ { "inputs": [], "name": "SablierV2Lockup_DepositAmountZero", "type": "error" },
178
+ {
179
+ "inputs": [
180
+ { "internalType": "uint40", "name": "blockTimestamp", "type": "uint40" },
181
+ { "internalType": "uint40", "name": "endTime", "type": "uint40" }
182
+ ],
183
+ "name": "SablierV2Lockup_EndTimeNotInTheFuture",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [{ "internalType": "address", "name": "recipient", "type": "address" }],
188
+ "name": "SablierV2Lockup_InvalidHookSelector",
189
+ "type": "error"
190
+ },
191
+ {
192
+ "inputs": [{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }],
193
+ "name": "SablierV2Lockup_NotTransferable",
194
+ "type": "error"
195
+ },
196
+ {
197
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
198
+ "name": "SablierV2Lockup_Null",
199
+ "type": "error"
200
+ },
201
+ {
202
+ "inputs": [
203
+ { "internalType": "uint256", "name": "streamId", "type": "uint256" },
204
+ { "internalType": "uint128", "name": "amount", "type": "uint128" },
205
+ { "internalType": "uint128", "name": "withdrawableAmount", "type": "uint128" }
206
+ ],
207
+ "name": "SablierV2Lockup_Overdraw",
208
+ "type": "error"
209
+ },
210
+ { "inputs": [], "name": "SablierV2Lockup_StartTimeZero", "type": "error" },
211
+ {
212
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
213
+ "name": "SablierV2Lockup_StreamCanceled",
214
+ "type": "error"
215
+ },
216
+ {
217
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
218
+ "name": "SablierV2Lockup_StreamDepleted",
219
+ "type": "error"
220
+ },
221
+ {
222
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
223
+ "name": "SablierV2Lockup_StreamNotCancelable",
224
+ "type": "error"
225
+ },
226
+ {
227
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
228
+ "name": "SablierV2Lockup_StreamNotDepleted",
229
+ "type": "error"
230
+ },
231
+ {
232
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
233
+ "name": "SablierV2Lockup_StreamSettled",
234
+ "type": "error"
235
+ },
236
+ {
237
+ "inputs": [
238
+ { "internalType": "uint256", "name": "streamId", "type": "uint256" },
239
+ { "internalType": "address", "name": "caller", "type": "address" }
240
+ ],
241
+ "name": "SablierV2Lockup_Unauthorized",
242
+ "type": "error"
243
+ },
244
+ {
245
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
246
+ "name": "SablierV2Lockup_WithdrawAmountZero",
247
+ "type": "error"
248
+ },
249
+ {
250
+ "inputs": [
251
+ { "internalType": "uint256", "name": "streamIdsCount", "type": "uint256" },
252
+ { "internalType": "uint256", "name": "amountsCount", "type": "uint256" }
253
+ ],
254
+ "name": "SablierV2Lockup_WithdrawArrayCountsNotEqual",
255
+ "type": "error"
256
+ },
257
+ {
258
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
259
+ "name": "SablierV2Lockup_WithdrawToZeroAddress",
260
+ "type": "error"
261
+ },
262
+ {
263
+ "inputs": [
264
+ { "internalType": "uint256", "name": "streamId", "type": "uint256" },
265
+ { "internalType": "address", "name": "caller", "type": "address" },
266
+ { "internalType": "address", "name": "to", "type": "address" }
267
+ ],
268
+ "name": "SablierV2Lockup_WithdrawalAddressNotRecipient",
269
+ "type": "error"
270
+ },
271
+ {
272
+ "inputs": [{ "internalType": "address", "name": "token", "type": "address" }],
273
+ "name": "SafeERC20FailedOperation",
274
+ "type": "error"
275
+ },
276
+ {
277
+ "anonymous": false,
278
+ "inputs": [
279
+ { "indexed": true, "internalType": "address", "name": "admin", "type": "address" },
280
+ { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" }
281
+ ],
282
+ "name": "AllowToHook",
283
+ "type": "event"
284
+ },
285
+ {
286
+ "anonymous": false,
287
+ "inputs": [
288
+ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" },
289
+ { "indexed": true, "internalType": "address", "name": "approved", "type": "address" },
290
+ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }
291
+ ],
292
+ "name": "Approval",
293
+ "type": "event"
294
+ },
295
+ {
296
+ "anonymous": false,
297
+ "inputs": [
298
+ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" },
299
+ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" },
300
+ { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" }
301
+ ],
302
+ "name": "ApprovalForAll",
303
+ "type": "event"
304
+ },
305
+ {
306
+ "anonymous": false,
307
+ "inputs": [
308
+ { "indexed": false, "internalType": "uint256", "name": "_fromTokenId", "type": "uint256" },
309
+ { "indexed": false, "internalType": "uint256", "name": "_toTokenId", "type": "uint256" }
310
+ ],
311
+ "name": "BatchMetadataUpdate",
312
+ "type": "event"
313
+ },
314
+ {
315
+ "anonymous": false,
316
+ "inputs": [
317
+ { "indexed": false, "internalType": "uint256", "name": "streamId", "type": "uint256" },
318
+ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" },
319
+ { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" },
320
+ { "indexed": true, "internalType": "contract IERC20", "name": "asset", "type": "address" },
321
+ { "indexed": false, "internalType": "uint128", "name": "senderAmount", "type": "uint128" },
322
+ { "indexed": false, "internalType": "uint128", "name": "recipientAmount", "type": "uint128" }
323
+ ],
324
+ "name": "CancelLockupStream",
325
+ "type": "event"
326
+ },
327
+ {
328
+ "anonymous": false,
329
+ "inputs": [
330
+ { "indexed": false, "internalType": "uint256", "name": "streamId", "type": "uint256" },
331
+ { "indexed": false, "internalType": "address", "name": "funder", "type": "address" },
332
+ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" },
333
+ { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" },
334
+ {
335
+ "components": [
336
+ { "internalType": "uint128", "name": "deposit", "type": "uint128" },
337
+ { "internalType": "uint128", "name": "brokerFee", "type": "uint128" }
338
+ ],
339
+ "indexed": false,
340
+ "internalType": "struct Lockup.CreateAmounts",
341
+ "name": "amounts",
342
+ "type": "tuple"
343
+ },
344
+ { "indexed": true, "internalType": "contract IERC20", "name": "asset", "type": "address" },
345
+ { "indexed": false, "internalType": "bool", "name": "cancelable", "type": "bool" },
346
+ { "indexed": false, "internalType": "bool", "name": "transferable", "type": "bool" },
347
+ {
348
+ "components": [
349
+ { "internalType": "uint128", "name": "amount", "type": "uint128" },
350
+ { "internalType": "UD2x18", "name": "exponent", "type": "uint64" },
351
+ { "internalType": "uint40", "name": "timestamp", "type": "uint40" }
352
+ ],
353
+ "indexed": false,
354
+ "internalType": "struct LockupDynamic.Segment[]",
355
+ "name": "segments",
356
+ "type": "tuple[]"
357
+ },
358
+ {
359
+ "components": [
360
+ { "internalType": "uint40", "name": "start", "type": "uint40" },
361
+ { "internalType": "uint40", "name": "end", "type": "uint40" }
362
+ ],
363
+ "indexed": false,
364
+ "internalType": "struct LockupDynamic.Timestamps",
365
+ "name": "timestamps",
366
+ "type": "tuple"
367
+ },
368
+ { "indexed": false, "internalType": "address", "name": "broker", "type": "address" }
369
+ ],
370
+ "name": "CreateLockupDynamicStream",
371
+ "type": "event"
372
+ },
373
+ {
374
+ "anonymous": false,
375
+ "inputs": [{ "indexed": false, "internalType": "uint256", "name": "_tokenId", "type": "uint256" }],
376
+ "name": "MetadataUpdate",
377
+ "type": "event"
378
+ },
379
+ {
380
+ "anonymous": false,
381
+ "inputs": [{ "indexed": true, "internalType": "uint256", "name": "streamId", "type": "uint256" }],
382
+ "name": "RenounceLockupStream",
383
+ "type": "event"
384
+ },
385
+ {
386
+ "anonymous": false,
387
+ "inputs": [
388
+ { "indexed": true, "internalType": "address", "name": "admin", "type": "address" },
389
+ {
390
+ "indexed": false,
391
+ "internalType": "contract ISablierV2NFTDescriptor",
392
+ "name": "oldNFTDescriptor",
393
+ "type": "address"
394
+ },
395
+ {
396
+ "indexed": false,
397
+ "internalType": "contract ISablierV2NFTDescriptor",
398
+ "name": "newNFTDescriptor",
399
+ "type": "address"
400
+ }
401
+ ],
402
+ "name": "SetNFTDescriptor",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ { "indexed": true, "internalType": "address", "name": "from", "type": "address" },
409
+ { "indexed": true, "internalType": "address", "name": "to", "type": "address" },
410
+ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }
411
+ ],
412
+ "name": "Transfer",
413
+ "type": "event"
414
+ },
415
+ {
416
+ "anonymous": false,
417
+ "inputs": [
418
+ { "indexed": true, "internalType": "address", "name": "oldAdmin", "type": "address" },
419
+ { "indexed": true, "internalType": "address", "name": "newAdmin", "type": "address" }
420
+ ],
421
+ "name": "TransferAdmin",
422
+ "type": "event"
423
+ },
424
+ {
425
+ "anonymous": false,
426
+ "inputs": [
427
+ { "indexed": true, "internalType": "uint256", "name": "streamId", "type": "uint256" },
428
+ { "indexed": true, "internalType": "address", "name": "to", "type": "address" },
429
+ { "indexed": true, "internalType": "contract IERC20", "name": "asset", "type": "address" },
430
+ { "indexed": false, "internalType": "uint128", "name": "amount", "type": "uint128" }
431
+ ],
432
+ "name": "WithdrawFromLockupStream",
433
+ "type": "event"
434
+ },
435
+ {
436
+ "inputs": [],
437
+ "name": "MAX_BROKER_FEE",
438
+ "outputs": [{ "internalType": "UD60x18", "name": "", "type": "uint256" }],
439
+ "stateMutability": "view",
440
+ "type": "function"
441
+ },
442
+ {
443
+ "inputs": [],
444
+ "name": "MAX_SEGMENT_COUNT",
445
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
446
+ "stateMutability": "view",
447
+ "type": "function"
448
+ },
449
+ {
450
+ "inputs": [],
451
+ "name": "admin",
452
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
453
+ "stateMutability": "view",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [{ "internalType": "address", "name": "recipient", "type": "address" }],
458
+ "name": "allowToHook",
459
+ "outputs": [],
460
+ "stateMutability": "nonpayable",
461
+ "type": "function"
462
+ },
463
+ {
464
+ "inputs": [
465
+ { "internalType": "address", "name": "to", "type": "address" },
466
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
467
+ ],
468
+ "name": "approve",
469
+ "outputs": [],
470
+ "stateMutability": "nonpayable",
471
+ "type": "function"
472
+ },
473
+ {
474
+ "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }],
475
+ "name": "balanceOf",
476
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
477
+ "stateMutability": "view",
478
+ "type": "function"
479
+ },
480
+ {
481
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
482
+ "name": "burn",
483
+ "outputs": [],
484
+ "stateMutability": "nonpayable",
485
+ "type": "function"
486
+ },
487
+ {
488
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
489
+ "name": "cancel",
490
+ "outputs": [],
491
+ "stateMutability": "nonpayable",
492
+ "type": "function"
493
+ },
494
+ {
495
+ "inputs": [{ "internalType": "uint256[]", "name": "streamIds", "type": "uint256[]" }],
496
+ "name": "cancelMultiple",
497
+ "outputs": [],
498
+ "stateMutability": "nonpayable",
499
+ "type": "function"
500
+ },
501
+ {
502
+ "inputs": [
503
+ {
504
+ "components": [
505
+ { "internalType": "address", "name": "sender", "type": "address" },
506
+ { "internalType": "address", "name": "recipient", "type": "address" },
507
+ { "internalType": "uint128", "name": "totalAmount", "type": "uint128" },
508
+ { "internalType": "contract IERC20", "name": "asset", "type": "address" },
509
+ { "internalType": "bool", "name": "cancelable", "type": "bool" },
510
+ { "internalType": "bool", "name": "transferable", "type": "bool" },
511
+ {
512
+ "components": [
513
+ { "internalType": "uint128", "name": "amount", "type": "uint128" },
514
+ { "internalType": "UD2x18", "name": "exponent", "type": "uint64" },
515
+ { "internalType": "uint40", "name": "duration", "type": "uint40" }
516
+ ],
517
+ "internalType": "struct LockupDynamic.SegmentWithDuration[]",
518
+ "name": "segments",
519
+ "type": "tuple[]"
520
+ },
521
+ {
522
+ "components": [
523
+ { "internalType": "address", "name": "account", "type": "address" },
524
+ { "internalType": "UD60x18", "name": "fee", "type": "uint256" }
525
+ ],
526
+ "internalType": "struct Broker",
527
+ "name": "broker",
528
+ "type": "tuple"
529
+ }
530
+ ],
531
+ "internalType": "struct LockupDynamic.CreateWithDurations",
532
+ "name": "params",
533
+ "type": "tuple"
534
+ }
535
+ ],
536
+ "name": "createWithDurations",
537
+ "outputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
538
+ "stateMutability": "nonpayable",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "components": [
545
+ { "internalType": "address", "name": "sender", "type": "address" },
546
+ { "internalType": "address", "name": "recipient", "type": "address" },
547
+ { "internalType": "uint128", "name": "totalAmount", "type": "uint128" },
548
+ { "internalType": "contract IERC20", "name": "asset", "type": "address" },
549
+ { "internalType": "bool", "name": "cancelable", "type": "bool" },
550
+ { "internalType": "bool", "name": "transferable", "type": "bool" },
551
+ { "internalType": "uint40", "name": "startTime", "type": "uint40" },
552
+ {
553
+ "components": [
554
+ { "internalType": "uint128", "name": "amount", "type": "uint128" },
555
+ { "internalType": "UD2x18", "name": "exponent", "type": "uint64" },
556
+ { "internalType": "uint40", "name": "timestamp", "type": "uint40" }
557
+ ],
558
+ "internalType": "struct LockupDynamic.Segment[]",
559
+ "name": "segments",
560
+ "type": "tuple[]"
561
+ },
562
+ {
563
+ "components": [
564
+ { "internalType": "address", "name": "account", "type": "address" },
565
+ { "internalType": "UD60x18", "name": "fee", "type": "uint256" }
566
+ ],
567
+ "internalType": "struct Broker",
568
+ "name": "broker",
569
+ "type": "tuple"
570
+ }
571
+ ],
572
+ "internalType": "struct LockupDynamic.CreateWithTimestamps",
573
+ "name": "params",
574
+ "type": "tuple"
575
+ }
576
+ ],
577
+ "name": "createWithTimestamps",
578
+ "outputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
579
+ "stateMutability": "nonpayable",
580
+ "type": "function"
581
+ },
582
+ {
583
+ "inputs": [{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }],
584
+ "name": "getApproved",
585
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
586
+ "stateMutability": "view",
587
+ "type": "function"
588
+ },
589
+ {
590
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
591
+ "name": "getAsset",
592
+ "outputs": [{ "internalType": "contract IERC20", "name": "asset", "type": "address" }],
593
+ "stateMutability": "view",
594
+ "type": "function"
595
+ },
596
+ {
597
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
598
+ "name": "getDepositedAmount",
599
+ "outputs": [{ "internalType": "uint128", "name": "depositedAmount", "type": "uint128" }],
600
+ "stateMutability": "view",
601
+ "type": "function"
602
+ },
603
+ {
604
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
605
+ "name": "getEndTime",
606
+ "outputs": [{ "internalType": "uint40", "name": "endTime", "type": "uint40" }],
607
+ "stateMutability": "view",
608
+ "type": "function"
609
+ },
610
+ {
611
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
612
+ "name": "getRecipient",
613
+ "outputs": [{ "internalType": "address", "name": "recipient", "type": "address" }],
614
+ "stateMutability": "view",
615
+ "type": "function"
616
+ },
617
+ {
618
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
619
+ "name": "getRefundedAmount",
620
+ "outputs": [{ "internalType": "uint128", "name": "refundedAmount", "type": "uint128" }],
621
+ "stateMutability": "view",
622
+ "type": "function"
623
+ },
624
+ {
625
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
626
+ "name": "getSegments",
627
+ "outputs": [
628
+ {
629
+ "components": [
630
+ { "internalType": "uint128", "name": "amount", "type": "uint128" },
631
+ { "internalType": "UD2x18", "name": "exponent", "type": "uint64" },
632
+ { "internalType": "uint40", "name": "timestamp", "type": "uint40" }
633
+ ],
634
+ "internalType": "struct LockupDynamic.Segment[]",
635
+ "name": "segments",
636
+ "type": "tuple[]"
637
+ }
638
+ ],
639
+ "stateMutability": "view",
640
+ "type": "function"
641
+ },
642
+ {
643
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
644
+ "name": "getSender",
645
+ "outputs": [{ "internalType": "address", "name": "sender", "type": "address" }],
646
+ "stateMutability": "view",
647
+ "type": "function"
648
+ },
649
+ {
650
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
651
+ "name": "getStartTime",
652
+ "outputs": [{ "internalType": "uint40", "name": "startTime", "type": "uint40" }],
653
+ "stateMutability": "view",
654
+ "type": "function"
655
+ },
656
+ {
657
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
658
+ "name": "getStream",
659
+ "outputs": [
660
+ {
661
+ "components": [
662
+ { "internalType": "address", "name": "sender", "type": "address" },
663
+ { "internalType": "address", "name": "recipient", "type": "address" },
664
+ { "internalType": "uint40", "name": "startTime", "type": "uint40" },
665
+ { "internalType": "uint40", "name": "endTime", "type": "uint40" },
666
+ { "internalType": "bool", "name": "isCancelable", "type": "bool" },
667
+ { "internalType": "bool", "name": "wasCanceled", "type": "bool" },
668
+ { "internalType": "contract IERC20", "name": "asset", "type": "address" },
669
+ { "internalType": "bool", "name": "isDepleted", "type": "bool" },
670
+ { "internalType": "bool", "name": "isStream", "type": "bool" },
671
+ { "internalType": "bool", "name": "isTransferable", "type": "bool" },
672
+ {
673
+ "components": [
674
+ { "internalType": "uint128", "name": "deposited", "type": "uint128" },
675
+ { "internalType": "uint128", "name": "withdrawn", "type": "uint128" },
676
+ { "internalType": "uint128", "name": "refunded", "type": "uint128" }
677
+ ],
678
+ "internalType": "struct Lockup.Amounts",
679
+ "name": "amounts",
680
+ "type": "tuple"
681
+ },
682
+ {
683
+ "components": [
684
+ { "internalType": "uint128", "name": "amount", "type": "uint128" },
685
+ { "internalType": "UD2x18", "name": "exponent", "type": "uint64" },
686
+ { "internalType": "uint40", "name": "timestamp", "type": "uint40" }
687
+ ],
688
+ "internalType": "struct LockupDynamic.Segment[]",
689
+ "name": "segments",
690
+ "type": "tuple[]"
691
+ }
692
+ ],
693
+ "internalType": "struct LockupDynamic.StreamLD",
694
+ "name": "stream",
695
+ "type": "tuple"
696
+ }
697
+ ],
698
+ "stateMutability": "view",
699
+ "type": "function"
700
+ },
701
+ {
702
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
703
+ "name": "getTimestamps",
704
+ "outputs": [
705
+ {
706
+ "components": [
707
+ { "internalType": "uint40", "name": "start", "type": "uint40" },
708
+ { "internalType": "uint40", "name": "end", "type": "uint40" }
709
+ ],
710
+ "internalType": "struct LockupDynamic.Timestamps",
711
+ "name": "timestamps",
712
+ "type": "tuple"
713
+ }
714
+ ],
715
+ "stateMutability": "view",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
720
+ "name": "getWithdrawnAmount",
721
+ "outputs": [{ "internalType": "uint128", "name": "withdrawnAmount", "type": "uint128" }],
722
+ "stateMutability": "view",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [{ "internalType": "address", "name": "recipient", "type": "address" }],
727
+ "name": "isAllowedToHook",
728
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
729
+ "stateMutability": "view",
730
+ "type": "function"
731
+ },
732
+ {
733
+ "inputs": [
734
+ { "internalType": "address", "name": "owner", "type": "address" },
735
+ { "internalType": "address", "name": "operator", "type": "address" }
736
+ ],
737
+ "name": "isApprovedForAll",
738
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
739
+ "stateMutability": "view",
740
+ "type": "function"
741
+ },
742
+ {
743
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
744
+ "name": "isCancelable",
745
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
746
+ "stateMutability": "view",
747
+ "type": "function"
748
+ },
749
+ {
750
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
751
+ "name": "isCold",
752
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
753
+ "stateMutability": "view",
754
+ "type": "function"
755
+ },
756
+ {
757
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
758
+ "name": "isDepleted",
759
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
760
+ "stateMutability": "view",
761
+ "type": "function"
762
+ },
763
+ {
764
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
765
+ "name": "isStream",
766
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
767
+ "stateMutability": "view",
768
+ "type": "function"
769
+ },
770
+ {
771
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
772
+ "name": "isTransferable",
773
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
774
+ "stateMutability": "view",
775
+ "type": "function"
776
+ },
777
+ {
778
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
779
+ "name": "isWarm",
780
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
781
+ "stateMutability": "view",
782
+ "type": "function"
783
+ },
784
+ {
785
+ "inputs": [],
786
+ "name": "name",
787
+ "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
788
+ "stateMutability": "view",
789
+ "type": "function"
790
+ },
791
+ {
792
+ "inputs": [],
793
+ "name": "nextStreamId",
794
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
795
+ "stateMutability": "view",
796
+ "type": "function"
797
+ },
798
+ {
799
+ "inputs": [],
800
+ "name": "nftDescriptor",
801
+ "outputs": [{ "internalType": "contract ISablierV2NFTDescriptor", "name": "", "type": "address" }],
802
+ "stateMutability": "view",
803
+ "type": "function"
804
+ },
805
+ {
806
+ "inputs": [{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }],
807
+ "name": "ownerOf",
808
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
809
+ "stateMutability": "view",
810
+ "type": "function"
811
+ },
812
+ {
813
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
814
+ "name": "refundableAmountOf",
815
+ "outputs": [{ "internalType": "uint128", "name": "refundableAmount", "type": "uint128" }],
816
+ "stateMutability": "view",
817
+ "type": "function"
818
+ },
819
+ {
820
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
821
+ "name": "renounce",
822
+ "outputs": [],
823
+ "stateMutability": "nonpayable",
824
+ "type": "function"
825
+ },
826
+ {
827
+ "inputs": [
828
+ { "internalType": "address", "name": "from", "type": "address" },
829
+ { "internalType": "address", "name": "to", "type": "address" },
830
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
831
+ ],
832
+ "name": "safeTransferFrom",
833
+ "outputs": [],
834
+ "stateMutability": "nonpayable",
835
+ "type": "function"
836
+ },
837
+ {
838
+ "inputs": [
839
+ { "internalType": "address", "name": "from", "type": "address" },
840
+ { "internalType": "address", "name": "to", "type": "address" },
841
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" },
842
+ { "internalType": "bytes", "name": "data", "type": "bytes" }
843
+ ],
844
+ "name": "safeTransferFrom",
845
+ "outputs": [],
846
+ "stateMutability": "nonpayable",
847
+ "type": "function"
848
+ },
849
+ {
850
+ "inputs": [
851
+ { "internalType": "address", "name": "operator", "type": "address" },
852
+ { "internalType": "bool", "name": "approved", "type": "bool" }
853
+ ],
854
+ "name": "setApprovalForAll",
855
+ "outputs": [],
856
+ "stateMutability": "nonpayable",
857
+ "type": "function"
858
+ },
859
+ {
860
+ "inputs": [{ "internalType": "contract ISablierV2NFTDescriptor", "name": "newNFTDescriptor", "type": "address" }],
861
+ "name": "setNFTDescriptor",
862
+ "outputs": [],
863
+ "stateMutability": "nonpayable",
864
+ "type": "function"
865
+ },
866
+ {
867
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
868
+ "name": "statusOf",
869
+ "outputs": [{ "internalType": "enum Lockup.Status", "name": "status", "type": "uint8" }],
870
+ "stateMutability": "view",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
875
+ "name": "streamedAmountOf",
876
+ "outputs": [{ "internalType": "uint128", "name": "streamedAmount", "type": "uint128" }],
877
+ "stateMutability": "view",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }],
882
+ "name": "supportsInterface",
883
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
884
+ "stateMutability": "view",
885
+ "type": "function"
886
+ },
887
+ {
888
+ "inputs": [],
889
+ "name": "symbol",
890
+ "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
891
+ "stateMutability": "view",
892
+ "type": "function"
893
+ },
894
+ {
895
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
896
+ "name": "tokenURI",
897
+ "outputs": [{ "internalType": "string", "name": "uri", "type": "string" }],
898
+ "stateMutability": "view",
899
+ "type": "function"
900
+ },
901
+ {
902
+ "inputs": [{ "internalType": "address", "name": "newAdmin", "type": "address" }],
903
+ "name": "transferAdmin",
904
+ "outputs": [],
905
+ "stateMutability": "nonpayable",
906
+ "type": "function"
907
+ },
908
+ {
909
+ "inputs": [
910
+ { "internalType": "address", "name": "from", "type": "address" },
911
+ { "internalType": "address", "name": "to", "type": "address" },
912
+ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }
913
+ ],
914
+ "name": "transferFrom",
915
+ "outputs": [],
916
+ "stateMutability": "nonpayable",
917
+ "type": "function"
918
+ },
919
+ {
920
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
921
+ "name": "wasCanceled",
922
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }],
923
+ "stateMutability": "view",
924
+ "type": "function"
925
+ },
926
+ {
927
+ "inputs": [
928
+ { "internalType": "uint256", "name": "streamId", "type": "uint256" },
929
+ { "internalType": "address", "name": "to", "type": "address" },
930
+ { "internalType": "uint128", "name": "amount", "type": "uint128" }
931
+ ],
932
+ "name": "withdraw",
933
+ "outputs": [],
934
+ "stateMutability": "nonpayable",
935
+ "type": "function"
936
+ },
937
+ {
938
+ "inputs": [
939
+ { "internalType": "uint256", "name": "streamId", "type": "uint256" },
940
+ { "internalType": "address", "name": "to", "type": "address" }
941
+ ],
942
+ "name": "withdrawMax",
943
+ "outputs": [{ "internalType": "uint128", "name": "withdrawnAmount", "type": "uint128" }],
944
+ "stateMutability": "nonpayable",
945
+ "type": "function"
946
+ },
947
+ {
948
+ "inputs": [
949
+ { "internalType": "uint256", "name": "streamId", "type": "uint256" },
950
+ { "internalType": "address", "name": "newRecipient", "type": "address" }
951
+ ],
952
+ "name": "withdrawMaxAndTransfer",
953
+ "outputs": [{ "internalType": "uint128", "name": "withdrawnAmount", "type": "uint128" }],
954
+ "stateMutability": "nonpayable",
955
+ "type": "function"
956
+ },
957
+ {
958
+ "inputs": [
959
+ { "internalType": "uint256[]", "name": "streamIds", "type": "uint256[]" },
960
+ { "internalType": "uint128[]", "name": "amounts", "type": "uint128[]" }
961
+ ],
962
+ "name": "withdrawMultiple",
963
+ "outputs": [],
964
+ "stateMutability": "nonpayable",
965
+ "type": "function"
966
+ },
967
+ {
968
+ "inputs": [{ "internalType": "uint256", "name": "streamId", "type": "uint256" }],
969
+ "name": "withdrawableAmountOf",
970
+ "outputs": [{ "internalType": "uint128", "name": "withdrawableAmount", "type": "uint128" }],
971
+ "stateMutability": "view",
972
+ "type": "function"
973
+ }
974
+ ]