@sablier/bob 1.0.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 (42) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/LICENSE-BUSL.md +82 -0
  3. package/LICENSE-GPL.md +470 -0
  4. package/LICENSE.md +9 -0
  5. package/README.md +81 -0
  6. package/artifacts/BobVaultShare.json +936 -0
  7. package/artifacts/SablierBob.json +1683 -0
  8. package/artifacts/SablierEscrow.json +1316 -0
  9. package/artifacts/SablierLidoAdapter.json +1649 -0
  10. package/artifacts/erc20/IERC20.json +226 -0
  11. package/artifacts/interfaces/IBobVaultShare.json +393 -0
  12. package/artifacts/interfaces/ISablierBob.json +1171 -0
  13. package/artifacts/interfaces/ISablierEscrow.json +999 -0
  14. package/artifacts/interfaces/ISablierLidoAdapter.json +1141 -0
  15. package/artifacts/interfaces/external/ICurveStETHPool.json +128 -0
  16. package/artifacts/interfaces/external/ILidoWithdrawalQueue.json +209 -0
  17. package/artifacts/interfaces/external/IStETH.json +262 -0
  18. package/artifacts/interfaces/external/IWETH9.json +259 -0
  19. package/artifacts/interfaces/external/IWstETH.json +311 -0
  20. package/artifacts/libraries/Errors.json +868 -0
  21. package/package.json +68 -0
  22. package/src/BobVaultShare.sol +119 -0
  23. package/src/SablierBob.sol +543 -0
  24. package/src/SablierEscrow.sol +288 -0
  25. package/src/SablierLidoAdapter.sol +549 -0
  26. package/src/abstracts/SablierBobState.sol +156 -0
  27. package/src/abstracts/SablierEscrowState.sol +159 -0
  28. package/src/interfaces/IBobVaultShare.sol +51 -0
  29. package/src/interfaces/ISablierBob.sol +261 -0
  30. package/src/interfaces/ISablierBobAdapter.sol +157 -0
  31. package/src/interfaces/ISablierBobState.sol +74 -0
  32. package/src/interfaces/ISablierEscrow.sol +148 -0
  33. package/src/interfaces/ISablierEscrowState.sol +77 -0
  34. package/src/interfaces/ISablierLidoAdapter.sol +110 -0
  35. package/src/interfaces/external/ICurveStETHPool.sol +31 -0
  36. package/src/interfaces/external/ILidoWithdrawalQueue.sol +67 -0
  37. package/src/interfaces/external/IStETH.sol +18 -0
  38. package/src/interfaces/external/IWETH9.sol +19 -0
  39. package/src/interfaces/external/IWstETH.sol +32 -0
  40. package/src/libraries/Errors.sol +189 -0
  41. package/src/types/Bob.sol +49 -0
  42. package/src/types/Escrow.sol +49 -0
@@ -0,0 +1,1316 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "constructor",
5
+ "inputs": [
6
+ { "name": "initialComptroller", "type": "address", "internalType": "address" },
7
+ { "name": "initialTradeFee", "type": "uint256", "internalType": "UD60x18" }
8
+ ],
9
+ "stateMutability": "nonpayable"
10
+ },
11
+ {
12
+ "type": "function",
13
+ "name": "MAX_TRADE_FEE",
14
+ "inputs": [],
15
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "UD60x18" }],
16
+ "stateMutability": "view"
17
+ },
18
+ {
19
+ "type": "function",
20
+ "name": "cancelOrder",
21
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
22
+ "outputs": [],
23
+ "stateMutability": "nonpayable"
24
+ },
25
+ {
26
+ "type": "function",
27
+ "name": "comptroller",
28
+ "inputs": [],
29
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ISablierComptroller" }],
30
+ "stateMutability": "view"
31
+ },
32
+ {
33
+ "type": "function",
34
+ "name": "createOrder",
35
+ "inputs": [
36
+ { "name": "sellToken", "type": "address", "internalType": "contract IERC20" },
37
+ { "name": "sellAmount", "type": "uint128", "internalType": "uint128" },
38
+ { "name": "buyToken", "type": "address", "internalType": "contract IERC20" },
39
+ { "name": "minBuyAmount", "type": "uint128", "internalType": "uint128" },
40
+ { "name": "buyer", "type": "address", "internalType": "address" },
41
+ { "name": "expiryTime", "type": "uint40", "internalType": "uint40" }
42
+ ],
43
+ "outputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
44
+ "stateMutability": "nonpayable"
45
+ },
46
+ {
47
+ "type": "function",
48
+ "name": "fillOrder",
49
+ "inputs": [
50
+ { "name": "orderId", "type": "uint256", "internalType": "uint256" },
51
+ { "name": "buyAmount", "type": "uint128", "internalType": "uint128" }
52
+ ],
53
+ "outputs": [
54
+ { "name": "amountToTransferToSeller", "type": "uint128", "internalType": "uint128" },
55
+ { "name": "amountToTransferToBuyer", "type": "uint128", "internalType": "uint128" },
56
+ { "name": "feeDeductedFromBuyerAmount", "type": "uint128", "internalType": "uint128" },
57
+ { "name": "feeDeductedFromSellerAmount", "type": "uint128", "internalType": "uint128" }
58
+ ],
59
+ "stateMutability": "nonpayable"
60
+ },
61
+ {
62
+ "type": "function",
63
+ "name": "getBuyToken",
64
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
65
+ "outputs": [{ "name": "buyToken", "type": "address", "internalType": "contract IERC20" }],
66
+ "stateMutability": "view"
67
+ },
68
+ {
69
+ "type": "function",
70
+ "name": "getBuyer",
71
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
72
+ "outputs": [{ "name": "buyer", "type": "address", "internalType": "address" }],
73
+ "stateMutability": "view"
74
+ },
75
+ {
76
+ "type": "function",
77
+ "name": "getExpiryTime",
78
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
79
+ "outputs": [{ "name": "expiryTime", "type": "uint40", "internalType": "uint40" }],
80
+ "stateMutability": "view"
81
+ },
82
+ {
83
+ "type": "function",
84
+ "name": "getMinBuyAmount",
85
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
86
+ "outputs": [{ "name": "minBuyAmount", "type": "uint128", "internalType": "uint128" }],
87
+ "stateMutability": "view"
88
+ },
89
+ {
90
+ "type": "function",
91
+ "name": "getSellAmount",
92
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
93
+ "outputs": [{ "name": "sellAmount", "type": "uint128", "internalType": "uint128" }],
94
+ "stateMutability": "view"
95
+ },
96
+ {
97
+ "type": "function",
98
+ "name": "getSellToken",
99
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
100
+ "outputs": [{ "name": "sellToken", "type": "address", "internalType": "contract IERC20" }],
101
+ "stateMutability": "view"
102
+ },
103
+ {
104
+ "type": "function",
105
+ "name": "getSeller",
106
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
107
+ "outputs": [{ "name": "seller", "type": "address", "internalType": "address" }],
108
+ "stateMutability": "view"
109
+ },
110
+ {
111
+ "type": "function",
112
+ "name": "nativeToken",
113
+ "inputs": [],
114
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
115
+ "stateMutability": "view"
116
+ },
117
+ {
118
+ "type": "function",
119
+ "name": "nextOrderId",
120
+ "inputs": [],
121
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
122
+ "stateMutability": "view"
123
+ },
124
+ {
125
+ "type": "function",
126
+ "name": "setComptroller",
127
+ "inputs": [{ "name": "newComptroller", "type": "address", "internalType": "contract ISablierComptroller" }],
128
+ "outputs": [],
129
+ "stateMutability": "nonpayable"
130
+ },
131
+ {
132
+ "type": "function",
133
+ "name": "setNativeToken",
134
+ "inputs": [{ "name": "newNativeToken", "type": "address", "internalType": "address" }],
135
+ "outputs": [],
136
+ "stateMutability": "nonpayable"
137
+ },
138
+ {
139
+ "type": "function",
140
+ "name": "setTradeFee",
141
+ "inputs": [{ "name": "newTradeFee", "type": "uint256", "internalType": "UD60x18" }],
142
+ "outputs": [],
143
+ "stateMutability": "nonpayable"
144
+ },
145
+ {
146
+ "type": "function",
147
+ "name": "statusOf",
148
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
149
+ "outputs": [{ "name": "status", "type": "uint8", "internalType": "enum Escrow.Status" }],
150
+ "stateMutability": "view"
151
+ },
152
+ {
153
+ "type": "function",
154
+ "name": "tradeFee",
155
+ "inputs": [],
156
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "UD60x18" }],
157
+ "stateMutability": "view"
158
+ },
159
+ {
160
+ "type": "function",
161
+ "name": "transferFeesToComptroller",
162
+ "inputs": [],
163
+ "outputs": [],
164
+ "stateMutability": "nonpayable"
165
+ },
166
+ {
167
+ "type": "function",
168
+ "name": "wasCanceled",
169
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
170
+ "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }],
171
+ "stateMutability": "view"
172
+ },
173
+ {
174
+ "type": "function",
175
+ "name": "wasFilled",
176
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
177
+ "outputs": [{ "name": "result", "type": "bool", "internalType": "bool" }],
178
+ "stateMutability": "view"
179
+ },
180
+ {
181
+ "type": "event",
182
+ "name": "CancelOrder",
183
+ "inputs": [
184
+ { "name": "orderId", "type": "uint256", "indexed": true, "internalType": "uint256" },
185
+ { "name": "seller", "type": "address", "indexed": true, "internalType": "address" },
186
+ { "name": "sellAmount", "type": "uint128", "indexed": false, "internalType": "uint128" }
187
+ ],
188
+ "anonymous": false
189
+ },
190
+ {
191
+ "type": "event",
192
+ "name": "CreateOrder",
193
+ "inputs": [
194
+ { "name": "orderId", "type": "uint256", "indexed": true, "internalType": "uint256" },
195
+ { "name": "seller", "type": "address", "indexed": true, "internalType": "address" },
196
+ { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" },
197
+ { "name": "sellToken", "type": "address", "indexed": false, "internalType": "contract IERC20" },
198
+ { "name": "buyToken", "type": "address", "indexed": false, "internalType": "contract IERC20" },
199
+ { "name": "sellAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
200
+ { "name": "minBuyAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
201
+ { "name": "expiryTime", "type": "uint40", "indexed": false, "internalType": "uint40" }
202
+ ],
203
+ "anonymous": false
204
+ },
205
+ {
206
+ "type": "event",
207
+ "name": "FillOrder",
208
+ "inputs": [
209
+ { "name": "orderId", "type": "uint256", "indexed": true, "internalType": "uint256" },
210
+ { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" },
211
+ { "name": "seller", "type": "address", "indexed": true, "internalType": "address" },
212
+ { "name": "sellAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
213
+ { "name": "buyAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
214
+ { "name": "feeDeductedFromBuyerAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
215
+ { "name": "feeDeductedFromSellerAmount", "type": "uint128", "indexed": false, "internalType": "uint128" }
216
+ ],
217
+ "anonymous": false
218
+ },
219
+ {
220
+ "type": "event",
221
+ "name": "SetComptroller",
222
+ "inputs": [
223
+ {
224
+ "name": "oldComptroller",
225
+ "type": "address",
226
+ "indexed": false,
227
+ "internalType": "contract ISablierComptroller"
228
+ },
229
+ {
230
+ "name": "newComptroller",
231
+ "type": "address",
232
+ "indexed": false,
233
+ "internalType": "contract ISablierComptroller"
234
+ }
235
+ ],
236
+ "anonymous": false
237
+ },
238
+ {
239
+ "type": "event",
240
+ "name": "SetNativeToken",
241
+ "inputs": [
242
+ { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
243
+ { "name": "nativeToken", "type": "address", "indexed": false, "internalType": "address" }
244
+ ],
245
+ "anonymous": false
246
+ },
247
+ {
248
+ "type": "event",
249
+ "name": "SetTradeFee",
250
+ "inputs": [
251
+ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" },
252
+ { "name": "previousTradeFee", "type": "uint256", "indexed": false, "internalType": "UD60x18" },
253
+ { "name": "newTradeFee", "type": "uint256", "indexed": false, "internalType": "UD60x18" }
254
+ ],
255
+ "anonymous": false
256
+ },
257
+ {
258
+ "type": "event",
259
+ "name": "TransferFeesToComptroller",
260
+ "inputs": [
261
+ { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
262
+ { "name": "feeAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }
263
+ ],
264
+ "anonymous": false
265
+ },
266
+ {
267
+ "type": "error",
268
+ "name": "Comptrollerable_CallerNotComptroller",
269
+ "inputs": [
270
+ { "name": "comptroller", "type": "address", "internalType": "address" },
271
+ { "name": "caller", "type": "address", "internalType": "address" }
272
+ ]
273
+ },
274
+ {
275
+ "type": "error",
276
+ "name": "Comptrollerable_UnsupportedInterfaceId",
277
+ "inputs": [
278
+ { "name": "previousComptroller", "type": "address", "internalType": "address" },
279
+ { "name": "newComptroller", "type": "address", "internalType": "address" },
280
+ { "name": "minimalInterfaceId", "type": "bytes4", "internalType": "bytes4" }
281
+ ]
282
+ },
283
+ {
284
+ "type": "error",
285
+ "name": "PRBMath_MulDiv18_Overflow",
286
+ "inputs": [
287
+ { "name": "x", "type": "uint256", "internalType": "uint256" },
288
+ { "name": "y", "type": "uint256", "internalType": "uint256" }
289
+ ]
290
+ },
291
+ {
292
+ "type": "error",
293
+ "name": "PRBMath_UD60x18_IntoUint128_Overflow",
294
+ "inputs": [{ "name": "x", "type": "uint256", "internalType": "UD60x18" }]
295
+ },
296
+ {
297
+ "type": "error",
298
+ "name": "SablierEscrowState_NewTradeFeeTooHigh",
299
+ "inputs": [
300
+ { "name": "newTradeFee", "type": "uint256", "internalType": "UD60x18" },
301
+ { "name": "maxTradeFee", "type": "uint256", "internalType": "UD60x18" }
302
+ ]
303
+ },
304
+ {
305
+ "type": "error",
306
+ "name": "SablierEscrowState_Null",
307
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }]
308
+ },
309
+ { "type": "error", "name": "SablierEscrow_BuyTokenZero", "inputs": [] },
310
+ {
311
+ "type": "error",
312
+ "name": "SablierEscrow_CallerNotAuthorized",
313
+ "inputs": [
314
+ { "name": "orderId", "type": "uint256", "internalType": "uint256" },
315
+ { "name": "caller", "type": "address", "internalType": "address" },
316
+ { "name": "expectedCaller", "type": "address", "internalType": "address" }
317
+ ]
318
+ },
319
+ {
320
+ "type": "error",
321
+ "name": "SablierEscrow_ExpiryTimeInPast",
322
+ "inputs": [
323
+ { "name": "expiryTime", "type": "uint40", "internalType": "uint40" },
324
+ { "name": "currentTime", "type": "uint40", "internalType": "uint40" }
325
+ ]
326
+ },
327
+ {
328
+ "type": "error",
329
+ "name": "SablierEscrow_ForbidNativeToken",
330
+ "inputs": [{ "name": "nativeToken", "type": "address", "internalType": "address" }]
331
+ },
332
+ {
333
+ "type": "error",
334
+ "name": "SablierEscrow_InsufficientBuyAmount",
335
+ "inputs": [
336
+ { "name": "buyAmount", "type": "uint128", "internalType": "uint128" },
337
+ { "name": "minBuyAmount", "type": "uint128", "internalType": "uint128" }
338
+ ]
339
+ },
340
+ { "type": "error", "name": "SablierEscrow_MinBuyAmountZero", "inputs": [] },
341
+ {
342
+ "type": "error",
343
+ "name": "SablierEscrow_NativeTokenAlreadySet",
344
+ "inputs": [{ "name": "nativeToken", "type": "address", "internalType": "address" }]
345
+ },
346
+ { "type": "error", "name": "SablierEscrow_NativeTokenZeroAddress", "inputs": [] },
347
+ {
348
+ "type": "error",
349
+ "name": "SablierEscrow_OrderCancelled",
350
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }]
351
+ },
352
+ {
353
+ "type": "error",
354
+ "name": "SablierEscrow_OrderFilled",
355
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }]
356
+ },
357
+ {
358
+ "type": "error",
359
+ "name": "SablierEscrow_OrderNotOpen",
360
+ "inputs": [
361
+ { "name": "orderId", "type": "uint256", "internalType": "uint256" },
362
+ { "name": "status", "type": "uint8", "internalType": "enum Escrow.Status" }
363
+ ]
364
+ },
365
+ {
366
+ "type": "error",
367
+ "name": "SablierEscrow_SameToken",
368
+ "inputs": [{ "name": "token", "type": "address", "internalType": "contract IERC20" }]
369
+ },
370
+ { "type": "error", "name": "SablierEscrow_SellAmountZero", "inputs": [] },
371
+ { "type": "error", "name": "SablierEscrow_SellTokenZero", "inputs": [] },
372
+ {
373
+ "type": "error",
374
+ "name": "SafeERC20FailedOperation",
375
+ "inputs": [{ "name": "token", "type": "address", "internalType": "address" }]
376
+ }
377
+ ],
378
+ "bytecode": {
379
+ "object": "0x6080806040523461015657604081611d24803803809161001f828561016d565b8339810103126101565780516001600160a01b0381169190829003610156576020908101516040516301ffc9a760e01b8152630654439160e41b600482015290929181602481855afa908115610162575f91610123575b5015610102575f80546001600160a01b031916821781556040805191825260208201929092527ff45d882a72fce9d8d7a7e2e196a338d4d9d4057510b4b9ddf91a7066104d2eaf9190a166470de4df82000081116100e5576001600255600355604051611b7f90816101a58239f35b63612bbd5160e01b5f5260045266470de4df82000060245260445ffd5b6364ca3de160e11b5f525f600452602452630654439160e41b60445260645ffd5b90506020813d60201161015a575b8161013e6020938361016d565b8101031261015657518015158103610156575f610076565b5f80fd5b3d9150610131565b6040513d5f823e3d90fd5b601f909101601f19168101906001600160401b0382119082101761019057604052565b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081630a87f1481461169a5750806310603023146115e157806324bcdfbd146115a65780632a58b3301461156b5780633cb2334814610f88578063514fcac714610dd25780635bf608b814610d685780635fe3b56714610d185780636da1e10214610bf4578063768713f514610b8e57806378f82ce714610a6657806379ce78e314610a0d5780638bad38dd146107c2578063ad35efd41461076c578063b5e176b2146103a9578063bdbf970b1461033f578063d4d577c4146102d5578063d6a9de511461026e578063d831a7c614610213578063e1758bd8146101c2578063f590c176146101695763fa0aaf851461010e575f80fd5b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561014981611878565b5f5260046020526020600460405f20015460801c604051908152f35b5f80fd5b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576004356101a481611878565b5f526004602052602060ff60405f205460c81c166040519015158152f35b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561024e81611878565b5f526004602052602064ffffffffff60405f205460a01c16604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576004356102a981611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561031081611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff600360405f20015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561037a81611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff600260405f20015416604051908152f35b346101655760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576004356103e36116fa565b6103ec82611878565b5f5f6103f78461192b565b600481101561073f57600381036107105750835f52600460205260405f209173ffffffffffffffffffffffffffffffffffffffff60018401541680151580610706575b6106d357506004830154928360801c946fffffffffffffffffffffffffffffffff8116958087106106a457507a0100000000000000000000000000000000000000000000000000007fffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffff835416178255600354906fffffffffffffffffffffffffffffffff81961696826105d0575b505050846105cc94959661053673ffffffffffffffffffffffffffffffffffffffff600281865416956105188b886fffffffffffffffffffffffffffffffff86600386015416921691339061180a565b0154166fffffffffffffffffffffffffffffffff84169033906118ce565b604080516fffffffffffffffffffffffffffffffff9384168152888416602082015285841691810191909152918516606083015233917f0534e9b60aea6096251816533c2c92b5ff79cc5e2b9d4f9274e9585dcef6e2aa90608090a4604080516fffffffffffffffffffffffffffffffff9586168152958516602087015290841690850152909116606083015281906080820190565b0390f35b919796935093506105cc94506106106106096105f56106016105fa6105f58c89611a7c565b61199e565b809761175a565b998a94611a7c565b809561175a565b9561069b73ffffffffffffffffffffffffffffffffffffffff5f541661066673ffffffffffffffffffffffffffffffffffffffff600387015416826fffffffffffffffffffffffffffffffff8a1691339061180a565b73ffffffffffffffffffffffffffffffffffffffff600286015416906fffffffffffffffffffffffffffffffff8716916118ce565b969594886104c8565b867fb8281554000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b857f10cce84e000000000000000000000000000000000000000000000000000000005f526004523360245260445260645ffd5b508033141561043a565b847fe53c424c000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576107af6004356107aa81611878565b61192b565b604051600482101561073f576020918152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043573ffffffffffffffffffffffffffffffffffffffff81168091036101655761081a6117b9565b5f549073ffffffffffffffffffffffffffffffffffffffff8216916040517fc34df33e000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156109a7575f916109b2575b507fffffffff00000000000000000000000000000000000000000000000000000000604051917f01ffc9a70000000000000000000000000000000000000000000000000000000083521690816004820152602081602481875afa9081156109a7575f9161096c575b5015610939577ff45d882a72fce9d8d7a7e2e196a338d4d9d4057510b4b9ddf91a7066104d2eaf60408585807fffffffffffffffffffffffff00000000000000000000000000000000000000008716175f5582519182526020820152a1005b82847fc9947bc2000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b90506020813d60201161099f575b8161098760209383611719565b810103126101655751801515810361016557856108da565b3d915061097a565b6040513d5f823e3d90fd5b90506020813d602011610a05575b816109cd60209383611719565b8101031261016557517fffffffff00000000000000000000000000000000000000000000000000000000811681036101655784610872565b3d91506109c0565b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610a4881611878565b5f526004602052602060ff60405f205460d01c166040519015158152f35b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655773ffffffffffffffffffffffffffffffffffffffff5f5416475f80808084865af1503d15610b65573d67ffffffffffffffff8111610b38577f56dedb874d4fc0f70753f281fa2c25e82085163206086fe826cf834b51701f6c9160209160405190610b26847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160183611719565b81525f833d92013e5b604051908152a2005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60207f56dedb874d4fc0f70753f281fa2c25e82085163206086fe826cf834b51701f6c91610b2f565b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610bc981611878565b5f52600460205260206fffffffffffffffffffffffffffffffff600460405f20015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655773ffffffffffffffffffffffffffffffffffffffff610c406116d7565b610c486117b9565b168015610cf05760015473ffffffffffffffffffffffffffffffffffffffff811680610cc557507fffffffffffffffffffffffff0000000000000000000000000000000000000000829116176001556040519081527f7b0a5ae0a2e8f0dc2ec7555098e00dd4af1418ee3fd1bcf9bb14f6990c10fa9260203392a2005b7fbf956f9c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f01d7d174000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610da381611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff600160405f20015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610e0d81611878565b805f52600460205260405f2090815473ffffffffffffffffffffffffffffffffffffffff8116803303610f55575060ff8160d01c16610f295760ff8160c81c16610efd577fffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff7901000000000000000000000000000000000000000000000000009116178255610ecf6fffffffffffffffffffffffffffffffff600484015416809373ffffffffffffffffffffffffffffffffffffffff600233920154166118ce565b6040519182527f42cc8ce254a398b8f866d690328eff5c66875442a05b16950f89c0520ed1cc3260203393a3005b507fb79a9b0a000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b507fbea907a1000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b827f10cce84e000000000000000000000000000000000000000000000000000000005f526004523360245260445260645ffd5b346101655760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557610fbf6116d7565b610fc76116fa565b6044359073ffffffffffffffffffffffffffffffffffffffff821680920361016557606435916fffffffffffffffffffffffffffffffff8316809303610165576084359273ffffffffffffffffffffffffffffffffffffffff84168094036101655760a4359164ffffffffff83168093036101655773ffffffffffffffffffffffffffffffffffffffff86169384156115435773ffffffffffffffffffffffffffffffffffffffff600154168086146115175782156114ef5782146114c357818514611497576fffffffffffffffffffffffffffffffff1690811561146f578215611447578315158061143d575b611406576002549660018801600255604051610120810181811067ffffffffffffffff821117610b38576040523381528860208201878152604083015f8152606084015f8152608085018c815260a08601918c835260c087019389855260e08801958b87526101008901978d89525f52600460205260405f20985173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1689547fffffffffffffffffffffffff0000000000000000000000000000000000000000161789555188549060a01b78ffffffffff000000000000000000000000000000000000000016907fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1617885551151587549060c81b79ff0000000000000000000000000000000000000000000000000016907fffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff1617875551151586549060d01b7aff000000000000000000000000000000000000000000000000000016907fffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffff161786555173ffffffffffffffffffffffffffffffffffffffff16600186019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600285019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600384019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff000000000000000000000000000000000000000016179055516fffffffffffffffffffffffffffffffff16905160801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000161790600401558230336113b99361180a565b604051948552602085015260408401526060830152608082015282339160a07ffd4cef0d6adf620d18212ef684168d80731193afc195ff0258508069d228dd5e91a4604051908152602090f35b837f01b26a5c000000000000000000000000000000000000000000000000000000005f5260045264ffffffffff421660245260445ffd5b50428411156110b5565b7f075e08e8000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f68e79bef000000000000000000000000000000000000000000000000000000005f5260045ffd5b847f2677e845000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b507fec51e460000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7fb4871e93000000000000000000000000000000000000000000000000000000005f5260045ffd5b857fec51e460000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f86397f84000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576020600254604051908152f35b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576020600354604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561161b6117b9565b66470de4df820000811161166457600354908060035560405191825260208201527ff67a7dd03b08d58188350c6ecfc080b80076c44c35e384795e150f3dc08a3c4060403392a2005b7f612bbd51000000000000000000000000000000000000000000000000000000005f5260045266470de4df82000060245260445ffd5b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165578066470de4df82000060209252f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361016557565b602435906fffffffffffffffffffffffffffffffff8216820361016557565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b3857604052565b906fffffffffffffffffffffffffffffffff809116911603906fffffffffffffffffffffffffffffffff821161178c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff5f54168033036117db5750565b7fa7e1519e000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b90919273ffffffffffffffffffffffffffffffffffffffff6118769481604051957f23b872dd000000000000000000000000000000000000000000000000000000006020880152166024860152166044840152606483015260648252611871608483611719565b6119f5565b565b805f52600460205273ffffffffffffffffffffffffffffffffffffffff60405f205416156118a35750565b7f2a3105f6000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6118769273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252611871606483611719565b805f52600460205260ff60405f205460d01c1661199857805f52600460205260ff60405f205460c81c16611993575f52600460205264ffffffffff60405f205460a01c168015159081611988575b5061198357600390565b600190565b90504210155f611979565b505f90565b50600290565b6fffffffffffffffffffffffffffffffff81116119ca576fffffffffffffffffffffffffffffffff1690565b7f4916adce000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b905f602091828151910182855af1156109a7575f513d611a73575073ffffffffffffffffffffffffffffffffffffffff81163b155b611a315750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611a2a565b9190917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83820983820291828083109203918083039214611b3857670de0b6b3a7640000821015611b08577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106699394670de0b6b3a7640000910990828211900360ee1b910360121c170290565b84907f5173648d000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b5050670de0b6b3a76400009004915056fea264697066735822122012c3b247b4fdbf3d929cbc027db5f980c72979052b5a107eab6d05fdfeb824ce64736f6c634300081d0033",
380
+ "sourceMap": "2394:9192:82:-:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;2394:9192:82;;;;;;;;;;;;;;;;-1:-1:-1;;;4428:52:50;;-1:-1:-1;;;4428:52:50;;;2394:9192:82;;;;;4428:52:50;2394:9192:82;;4428:52:50;;;;;;;-1:-1:-1;4428:52:50;;;-1:-1:-1;4427:53:50;;4423:332;;-1:-1:-1;2394:9192:82;;-1:-1:-1;;;;;;2394:9192:82;;;;;;;;;;;;;;;;;;4880:51:50;;2394:9192:82;4880:51:50;842:7:85;1033:23:47;;5033:139:85;;2394:9192:82;1950:15:85;2394:9192:82;2014:26:85;2394:9192:82;;;;;;;;;;5033:139:85;5089:72;;;-1:-1:-1;5089:72:85;4428:52:50;829:21:85;842:7;4428:52:50;829:21:85;;-1:-1:-1;5089:72:85;4423:332:50;4503:241;;;-1:-1:-1;4503:241:50;-1:-1:-1;4428:52:50;2394:9192:82;4428:52:50;2394:9192:82;1565:210:50;;;2394:9192:82;;;-1:-1:-1;4503:241:50;4428:52;;;2394:9192:82;4428:52:50;;2394:9192:82;4428:52:50;;;;;;2394:9192:82;4428:52:50;;;:::i;:::-;;;2394:9192:82;;;;;;;;;;;;4428:52:50;;;2394:9192:82;-1:-1:-1;2394:9192:82;;4428:52:50;;;-1:-1:-1;4428:52:50;;;2394:9192:82;;;-1:-1:-1;2394:9192:82;;;;;;;;;;-1:-1:-1;;2394:9192:82;;;;-1:-1:-1;;;;;2394:9192:82;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;2394:9192:82;;;;;-1:-1:-1;2394:9192:82",
381
+ "linkReferences": {}
382
+ },
383
+ "deployedBytecode": {
384
+ "object": "0x6080806040526004361015610012575f80fd5b5f3560e01c9081630a87f1481461169a5750806310603023146115e157806324bcdfbd146115a65780632a58b3301461156b5780633cb2334814610f88578063514fcac714610dd25780635bf608b814610d685780635fe3b56714610d185780636da1e10214610bf4578063768713f514610b8e57806378f82ce714610a6657806379ce78e314610a0d5780638bad38dd146107c2578063ad35efd41461076c578063b5e176b2146103a9578063bdbf970b1461033f578063d4d577c4146102d5578063d6a9de511461026e578063d831a7c614610213578063e1758bd8146101c2578063f590c176146101695763fa0aaf851461010e575f80fd5b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561014981611878565b5f5260046020526020600460405f20015460801c604051908152f35b5f80fd5b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576004356101a481611878565b5f526004602052602060ff60405f205460c81c166040519015158152f35b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561024e81611878565b5f526004602052602064ffffffffff60405f205460a01c16604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576004356102a981611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561031081611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff600360405f20015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561037a81611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff600260405f20015416604051908152f35b346101655760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576004356103e36116fa565b6103ec82611878565b5f5f6103f78461192b565b600481101561073f57600381036107105750835f52600460205260405f209173ffffffffffffffffffffffffffffffffffffffff60018401541680151580610706575b6106d357506004830154928360801c946fffffffffffffffffffffffffffffffff8116958087106106a457507a0100000000000000000000000000000000000000000000000000007fffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffff835416178255600354906fffffffffffffffffffffffffffffffff81961696826105d0575b505050846105cc94959661053673ffffffffffffffffffffffffffffffffffffffff600281865416956105188b886fffffffffffffffffffffffffffffffff86600386015416921691339061180a565b0154166fffffffffffffffffffffffffffffffff84169033906118ce565b604080516fffffffffffffffffffffffffffffffff9384168152888416602082015285841691810191909152918516606083015233917f0534e9b60aea6096251816533c2c92b5ff79cc5e2b9d4f9274e9585dcef6e2aa90608090a4604080516fffffffffffffffffffffffffffffffff9586168152958516602087015290841690850152909116606083015281906080820190565b0390f35b919796935093506105cc94506106106106096105f56106016105fa6105f58c89611a7c565b61199e565b809761175a565b998a94611a7c565b809561175a565b9561069b73ffffffffffffffffffffffffffffffffffffffff5f541661066673ffffffffffffffffffffffffffffffffffffffff600387015416826fffffffffffffffffffffffffffffffff8a1691339061180a565b73ffffffffffffffffffffffffffffffffffffffff600286015416906fffffffffffffffffffffffffffffffff8716916118ce565b969594886104c8565b867fb8281554000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b857f10cce84e000000000000000000000000000000000000000000000000000000005f526004523360245260445260645ffd5b508033141561043a565b847fe53c424c000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576107af6004356107aa81611878565b61192b565b604051600482101561073f576020918152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043573ffffffffffffffffffffffffffffffffffffffff81168091036101655761081a6117b9565b5f549073ffffffffffffffffffffffffffffffffffffffff8216916040517fc34df33e000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156109a7575f916109b2575b507fffffffff00000000000000000000000000000000000000000000000000000000604051917f01ffc9a70000000000000000000000000000000000000000000000000000000083521690816004820152602081602481875afa9081156109a7575f9161096c575b5015610939577ff45d882a72fce9d8d7a7e2e196a338d4d9d4057510b4b9ddf91a7066104d2eaf60408585807fffffffffffffffffffffffff00000000000000000000000000000000000000008716175f5582519182526020820152a1005b82847fc9947bc2000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b90506020813d60201161099f575b8161098760209383611719565b810103126101655751801515810361016557856108da565b3d915061097a565b6040513d5f823e3d90fd5b90506020813d602011610a05575b816109cd60209383611719565b8101031261016557517fffffffff00000000000000000000000000000000000000000000000000000000811681036101655784610872565b3d91506109c0565b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610a4881611878565b5f526004602052602060ff60405f205460d01c166040519015158152f35b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655773ffffffffffffffffffffffffffffffffffffffff5f5416475f80808084865af1503d15610b65573d67ffffffffffffffff8111610b38577f56dedb874d4fc0f70753f281fa2c25e82085163206086fe826cf834b51701f6c9160209160405190610b26847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160183611719565b81525f833d92013e5b604051908152a2005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60207f56dedb874d4fc0f70753f281fa2c25e82085163206086fe826cf834b51701f6c91610b2f565b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610bc981611878565b5f52600460205260206fffffffffffffffffffffffffffffffff600460405f20015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655773ffffffffffffffffffffffffffffffffffffffff610c406116d7565b610c486117b9565b168015610cf05760015473ffffffffffffffffffffffffffffffffffffffff811680610cc557507fffffffffffffffffffffffff0000000000000000000000000000000000000000829116176001556040519081527f7b0a5ae0a2e8f0dc2ec7555098e00dd4af1418ee3fd1bcf9bb14f6990c10fa9260203392a2005b7fbf956f9c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f01d7d174000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610da381611878565b5f526004602052602073ffffffffffffffffffffffffffffffffffffffff600160405f20015416604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557600435610e0d81611878565b805f52600460205260405f2090815473ffffffffffffffffffffffffffffffffffffffff8116803303610f55575060ff8160d01c16610f295760ff8160c81c16610efd577fffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff7901000000000000000000000000000000000000000000000000009116178255610ecf6fffffffffffffffffffffffffffffffff600484015416809373ffffffffffffffffffffffffffffffffffffffff600233920154166118ce565b6040519182527f42cc8ce254a398b8f866d690328eff5c66875442a05b16950f89c0520ed1cc3260203393a3005b507fb79a9b0a000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b507fbea907a1000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b827f10cce84e000000000000000000000000000000000000000000000000000000005f526004523360245260445260645ffd5b346101655760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016557610fbf6116d7565b610fc76116fa565b6044359073ffffffffffffffffffffffffffffffffffffffff821680920361016557606435916fffffffffffffffffffffffffffffffff8316809303610165576084359273ffffffffffffffffffffffffffffffffffffffff84168094036101655760a4359164ffffffffff83168093036101655773ffffffffffffffffffffffffffffffffffffffff86169384156115435773ffffffffffffffffffffffffffffffffffffffff600154168086146115175782156114ef5782146114c357818514611497576fffffffffffffffffffffffffffffffff1690811561146f578215611447578315158061143d575b611406576002549660018801600255604051610120810181811067ffffffffffffffff821117610b38576040523381528860208201878152604083015f8152606084015f8152608085018c815260a08601918c835260c087019389855260e08801958b87526101008901978d89525f52600460205260405f20985173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1689547fffffffffffffffffffffffff0000000000000000000000000000000000000000161789555188549060a01b78ffffffffff000000000000000000000000000000000000000016907fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1617885551151587549060c81b79ff0000000000000000000000000000000000000000000000000016907fffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffff1617875551151586549060d01b7aff000000000000000000000000000000000000000000000000000016907fffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffff161786555173ffffffffffffffffffffffffffffffffffffffff16600186019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600285019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600384019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff000000000000000000000000000000000000000016179055516fffffffffffffffffffffffffffffffff16905160801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000161790600401558230336113b99361180a565b604051948552602085015260408401526060830152608082015282339160a07ffd4cef0d6adf620d18212ef684168d80731193afc195ff0258508069d228dd5e91a4604051908152602090f35b837f01b26a5c000000000000000000000000000000000000000000000000000000005f5260045264ffffffffff421660245260445ffd5b50428411156110b5565b7f075e08e8000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f68e79bef000000000000000000000000000000000000000000000000000000005f5260045ffd5b847f2677e845000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b507fec51e460000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7fb4871e93000000000000000000000000000000000000000000000000000000005f5260045ffd5b857fec51e460000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f86397f84000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576020600254604051908152f35b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165576020600354604051908152f35b346101655760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101655760043561161b6117b9565b66470de4df820000811161166457600354908060035560405191825260208201527ff67a7dd03b08d58188350c6ecfc080b80076c44c35e384795e150f3dc08a3c4060403392a2005b7f612bbd51000000000000000000000000000000000000000000000000000000005f5260045266470de4df82000060245260445ffd5b34610165575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610165578066470de4df82000060209252f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361016557565b602435906fffffffffffffffffffffffffffffffff8216820361016557565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b3857604052565b906fffffffffffffffffffffffffffffffff809116911603906fffffffffffffffffffffffffffffffff821161178c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff5f54168033036117db5750565b7fa7e1519e000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b90919273ffffffffffffffffffffffffffffffffffffffff6118769481604051957f23b872dd000000000000000000000000000000000000000000000000000000006020880152166024860152166044840152606483015260648252611871608483611719565b6119f5565b565b805f52600460205273ffffffffffffffffffffffffffffffffffffffff60405f205416156118a35750565b7f2a3105f6000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6118769273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252611871606483611719565b805f52600460205260ff60405f205460d01c1661199857805f52600460205260ff60405f205460c81c16611993575f52600460205264ffffffffff60405f205460a01c168015159081611988575b5061198357600390565b600190565b90504210155f611979565b505f90565b50600290565b6fffffffffffffffffffffffffffffffff81116119ca576fffffffffffffffffffffffffffffffff1690565b7f4916adce000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b905f602091828151910182855af1156109a7575f513d611a73575073ffffffffffffffffffffffffffffffffffffffff81163b155b611a315750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611a2a565b9190917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83820983820291828083109203918083039214611b3857670de0b6b3a7640000821015611b08577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106699394670de0b6b3a7640000910990828211900360ee1b910360121c170290565b84907f5173648d000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b5050670de0b6b3a76400009004915056fea264697066735822122012c3b247b4fdbf3d929cbc027db5f980c72979052b5a107eab6d05fdfeb824ce64736f6c634300081d0033",
385
+ "sourceMap": "2394:9192:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;3421:29:85;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1111:35:85;2394:9192:82;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;2994:25:85;2394:9192:82;;;2994:25:85;2394:9192:82;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;4039:26:85;2394:9192:82;;;4039:26:85;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2384:7:85;;;:::i;:::-;2394:9192:82;;7762:18;;;:::i;:::-;2394:9192;;;;;;7804:18;7794:28;;7790:116;;2394:9192;;;;;;;;;;8058:11;2394:9192;;8058:11;;2394:9192;;8058:25;;;:54;;;2394:9192;8054:166;;8304:18;2394:9192;8304:18;;2394:9192;;;;;;;;;8292:30;;;;8288:141;;2394:9192;;;;;;;;;7804:18;2394:9192;8605:36;2394:9192;8605:36;2394:9192;;8775:28;;8771:844;;2394:9192;;;;;;;;;9907:65;2394:9192;9907:15;2394:9192;;;;9760:14;:77;:14;;2394:9192;9760:14;7804:18;9760:14;;2394:9192;;;;9792:10;;9760:77;;:::i;:::-;9907:15;2394:9192;;;;;9792:10;;9907:65;;:::i;:::-;2394:9192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9792:10;;10014:346;;2394:9192;;10014:346;2394:9192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8771:844;18999:39:48;;;;;;;2394:9192:82;18999:39:48;;9189:55:82;9127:48;18999:39:48;8977:53:82;8901:62;18999:39:48;;;;:::i;:::-;8901:62:82;:::i;:::-;8977:53;;;:::i;:::-;18999:39:48;;;;:::i;9127:48:82:-;9189:55;;;:::i;:::-;2394:9192;9534:70;2394:9192;;;;9434:86;2394:9192;7804:18;9434:14;;2394:9192;;;;;;9466:10;;9434:86;;:::i;:::-;2394:9192;9534:15;;;2394:9192;;;;;;9534:70;;:::i;:::-;8771:844;;;;;;8288:141;8345:73;;2394:9192;8345:73;2394:9192;;;;;;8345:73;8054:166;8135:74;;2394:9192;8135:74;2394:9192;;8185:10;2394:9192;;;;;;8135:74;8058:54;8087:10;;;:25;;8058:54;;7790:116;7845:50;;2394:9192;7845:50;2394:9192;;;;;;7845:50;2394:9192;;;;;;;;;;;;;;;;;;;;;4243:18:85;2394:9192:82;;2384:7:85;;;:::i;:::-;4243:18;:::i;:::-;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1003:74:50;;:::i;:::-;2394:9192:82;;;;;;;;;;2621:34:50;;2394:9192:82;2621:34:50;2394:9192:82;2621:34:50;;;;;;;;;2394:9192:82;2621:34:50;;;2394:9192:82;;;;;4428:52:50;2394:9192:82;4428:52:50;;2394:9192:82;4428:52:50;;2394:9192:82;4428:52:50;;2394:9192:82;;4428:52:50;;;;;;;;;;;2394:9192:82;4428:52:50;;;2394:9192:82;4427:53:50;;4423:332;;4880:51;2394:9192:82;;;;;;;;;;;;;;;;;;;4880:51:50;2394:9192:82;4423:332:50;4503:241;;;2394:9192:82;4503:241:50;2394:9192:82;;4428:52:50;2394:9192:82;;;;;4503:241:50;4428:52;;;2394:9192:82;4428:52:50;;2394:9192:82;4428:52:50;;;;;;2394:9192:82;4428:52:50;;;:::i;:::-;;;2394:9192:82;;;;;;;;;;;;4428:52:50;;;;;;-1:-1:-1;4428:52:50;;;2394:9192:82;;;;;;;;;2621:34:50;;;2394:9192:82;2621:34:50;;2394:9192:82;2621:34:50;;;;;;2394:9192:82;2621:34:50;;;:::i;:::-;;;2394:9192:82;;;;;;;;;;;;2621:34:50;;;;;;-1:-1:-1;2621:34:50;;2394:9192:82;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2860:21:50;2394:9192:82;2972:47:50;;;;;;;-1:-1:-1;2394:9192:82;;;;;;;;;;3225:73:50;2394:9192:82;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;3225:73:50;2394:9192:82;;;;;;;;;;;;;3225:73:50;2394:9192:82;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;;3635:27:85;2394:9192:82;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1003:74:50;;:::i;:::-;2394:9192:82;10558:28;;10554:111;;10722:11;2394:9192;;;;10722:25;10718:118;;2394:9192;;;;;;10722:11;2394:9192;;;;;;10958:72;2394:9192;10988:10;10958:72;;2394:9192;10718:118;10770:55;2394:9192;10770:55;2394:9192;;;;10770:55;10554:111;10609:45;2394:9192;10609:45;2394:9192;;10609:45;2394:9192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;;2794:22:85;2394:9192:82;;;;;;;;;;;;;;;;;;;;;2384:7:85;;;:::i;:::-;2394:9192:82;;;;;;;;;;;;;;;3592:10;;:26;3588:139;;2394:9192;;;;;;3786:94;;2394:9192;;;;;3941:99;;2394:9192;;;;;;;4285:52;2394:9192;;4202:16;;2394:9192;;3592:10;;2394:9192;4285:15;3592:10;4285:15;;2394:9192;;4285:52;:::i;:::-;2394:9192;;;;;4379:77;2394:9192;3592:10;4379:77;;2394:9192;3941:99;3985:44;;2394:9192;3985:44;2394:9192;;;;3985:44;3786:94;3828:41;;2394:9192;3828:41;2394:9192;;;;3828:41;3588:139;3641:75;;2394:9192;3641:75;2394:9192;;3592:10;2394:9192;;;;;;3641:75;2394:9192;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4830:32;;;4826:106;;2394:9192;5022:11;2394:9192;;5000:33;;;4996:129;;5192:31;;5188:104;;5359:32;;5355:127;;5552:21;;;5548:100;;2394:9192;;5705:15;;;5701:90;;5855:17;;5851:94;;6053:14;;;:47;;;2394:9192;6049:159;;6289:11;2394:9192;;5022:11;2394:9192;;6289:11;2394:9192;;;;;;;;;;;;;;;;;6520:10;2394:9192;;6485:322;2394:9192;6485:322;;2394:9192;;;;6485:322;;2394:9192;;;;6485:322;;2394:9192;;;;6485:322;;2394:9192;;;;6485:322;;2394:9192;;;;;6485:322;;2394:9192;;;;;6485:322;;2394:9192;;;;6485:322;;;2394:9192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5022:11;2394:9192;;;;;;;;;;;;;;;6289:11;2394:9192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6940:4;;6520:10;6893:65;;;:::i;:::-;2394:9192;;;;;;;;;;;;;;;;;;;;;6520:10;;7000:289;2394:9192;7000:289;;;2394:9192;;;;;;;;6049:159;6123:74;;2394:9192;6123:74;2394:9192;;;6180:15;2394:9192;;;;;6123:74;6053:47;6085:15;;6071:29;;;6053:47;;5851:94;5895:39;2394:9192;5895:39;2394:9192;;5895:39;5701:90;5743:37;2394:9192;5743:37;2394:9192;;5743:37;5548:100;5596:41;;2394:9192;5596:41;2394:9192;;;;5596:41;5355:127;5414:57;;2394:9192;5414:57;2394:9192;;;;5414:57;5188:104;5246:35;2394:9192;5246:35;2394:9192;;5246:35;4996:129;5056:58;;2394:9192;5056:58;2394:9192;;;;5056:58;4826:106;4885:36;2394:9192;4885:36;2394:9192;;4885:36;2394:9192;;;;;;;;;;;;1193:35:85;2394:9192:82;;;;;;;;;;;;;;;;;;;1275:32:85;2394:9192:82;;;;;;;;;;;;;;;;;;;;1003:74:50;;:::i;:::-;842:7:85;1033:23:47;;5033:139:85;;11355:8:82;2394:9192;;;11355:8;2394:9192;;;;;;;;;;11480:97;2394:9192;11502:10;11480:97;;2394:9192;5033:139:85;5089:72;2394:9192:82;5089:72:85;2394:9192:82;;842:7:85;2394:9192:82;;;;5089:72:85;2394:9192:82;;;;;;;;;;;;842:7:85;2394:9192:82;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;3628:207:50;2394:9192:82;3706:11:50;2394:9192:82;;3684:10:50;;:34;3680:149;;3628:207;:::o;3680:149::-;3741:77;3706:11;3741:77;;2394:9192:82;3684:10:50;2394:9192:82;;;3706:11:50;3741:77;1618:188:9;;;;2394:9192:82;1745:53:9;1618:188;2394:9192:82;;;1745:53:9;2394:9192:82;1745:53:9;;;;2394:9192:82;1745:53:9;;;2394:9192:82;;;;;;;;;;;1745:53:9;;;;;;:::i;:::-;;:::i;:::-;1618:188::o;6104:248:85:-;2394:9192:82;-1:-1:-1;2394:9192:82;6236:7:85;2394:9192:82;;;;-1:-1:-1;2394:9192:82;;;6236:37:85;6232:114;;6104:248;:::o;6232:114::-;6296:39;-1:-1:-1;6296:39:85;6236:7;2394:9192:82;;-1:-1:-1;6296:39:85;1219:160:9;1328:43;1219:160;2394:9192:82;;;1328:43:9;2394:9192:82;1328:43:9;;;;2394:9192:82;1328:43:9;;;2394:9192:82;;;;;;1328:43:9;;;;;;:::i;5254:566:85:-;2394:9192:82;;;5342:7:85;2394:9192:82;;;;;;;;;;5338:84:85;;2394:9192:82;;;5342:7:85;2394:9192:82;;;;;;;;;;5431:89:85;;2394:9192:82;;5342:7:85;2394:9192:82;;;;;;;;;;5675:15:85;;;:48;;;;5254:566;5671:107;;;5795:18;5254:566;:::o;5671:107::-;5746:21;5739:28;:::o;5675:48::-;5694:15;;;:29;;5675:48;;;5431:89;5479:30;2394:9192:82;5479:30:85;:::o;5338:84::-;5384:27;5391:20;5384:27;:::o;2842:240:43:-;2394:9192:82;2953:19:43;;2949:102;;2394:9192:82;;2842:240:43;:::o;2949:102::-;2991:53;;;;2394:9192:82;;2991:53:43;;8370:720:9;;-1:-1:-1;8507:421:9;8370:720;8507:421;;;;;;;;;;;;-1:-1:-1;8507:421:9;;8942:15;;2394:9192:82;;;;8960:26:9;:31;8942:68;8938:146;;8370:720;:::o;8938:146::-;2394:9192:82;9033:40:9;;-1:-1:-1;9033:40:9;2394:9192:82;9033:40:9;2394:9192:82;;-1:-1:-1;9033:40:9;8942:68;9009:1;8994:16;;8942:68;;19680:819:19;;;;19794:150;;;;;;;;;;;;;;;;;;19954:10;;19950:86;;1605:4;20046:13;;;20042:74;;20145:352;;;1605:4;20145:352;;;;;;;;;;;;;;;;19680:819;:::o;20042:74::-;20078:31;;;2394:9192:82;20078:31:19;;2394:9192:82;1605:4:19;2394:9192:82;1605:4:19;2394:9192:82;20078:31:19;19950:86;-1:-1:-1;;1605:4:19;;;;-1:-1:-1;20000:19:19:o",
386
+ "linkReferences": {}
387
+ },
388
+ "methodIdentifiers": {
389
+ "MAX_TRADE_FEE()": "0a87f148",
390
+ "cancelOrder(uint256)": "514fcac7",
391
+ "comptroller()": "5fe3b567",
392
+ "createOrder(address,uint128,address,uint128,address,uint40)": "3cb23348",
393
+ "fillOrder(uint256,uint128)": "b5e176b2",
394
+ "getBuyToken(uint256)": "d4d577c4",
395
+ "getBuyer(uint256)": "5bf608b8",
396
+ "getExpiryTime(uint256)": "d831a7c6",
397
+ "getMinBuyAmount(uint256)": "fa0aaf85",
398
+ "getSellAmount(uint256)": "768713f5",
399
+ "getSellToken(uint256)": "bdbf970b",
400
+ "getSeller(uint256)": "d6a9de51",
401
+ "nativeToken()": "e1758bd8",
402
+ "nextOrderId()": "2a58b330",
403
+ "setComptroller(address)": "8bad38dd",
404
+ "setNativeToken(address)": "6da1e102",
405
+ "setTradeFee(uint256)": "10603023",
406
+ "statusOf(uint256)": "ad35efd4",
407
+ "tradeFee()": "24bcdfbd",
408
+ "transferFeesToComptroller()": "78f82ce7",
409
+ "wasCanceled(uint256)": "f590c176",
410
+ "wasFilled(uint256)": "79ce78e3"
411
+ },
412
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialComptroller\",\"type\":\"address\"},{\"internalType\":\"UD60x18\",\"name\":\"initialTradeFee\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Comptrollerable_CallerNotComptroller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"previousComptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newComptroller\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"minimalInterfaceId\",\"type\":\"bytes4\"}],\"name\":\"Comptrollerable_UnsupportedInterfaceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv18_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"PRBMath_UD60x18_IntoUint128_Overflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"newTradeFee\",\"type\":\"uint256\"},{\"internalType\":\"UD60x18\",\"name\":\"maxTradeFee\",\"type\":\"uint256\"}],\"name\":\"SablierEscrowState_NewTradeFeeTooHigh\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"SablierEscrowState_Null\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierEscrow_BuyTokenZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expectedCaller\",\"type\":\"address\"}],\"name\":\"SablierEscrow_CallerNotAuthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"expiryTime\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"currentTime\",\"type\":\"uint40\"}],\"name\":\"SablierEscrow_ExpiryTimeInPast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SablierEscrow_ForbidNativeToken\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"buyAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"minBuyAmount\",\"type\":\"uint128\"}],\"name\":\"SablierEscrow_InsufficientBuyAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierEscrow_MinBuyAmountZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SablierEscrow_NativeTokenAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierEscrow_NativeTokenZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"SablierEscrow_OrderCancelled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"SablierEscrow_OrderFilled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"enum Escrow.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"SablierEscrow_OrderNotOpen\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SablierEscrow_SameToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierEscrow_SellAmountZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierEscrow_SellTokenZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"sellAmount\",\"type\":\"uint128\"}],\"name\":\"CancelOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IERC20\",\"name\":\"sellToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IERC20\",\"name\":\"buyToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"sellAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"minBuyAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"expiryTime\",\"type\":\"uint40\"}],\"name\":\"CreateOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"sellAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"buyAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"feeDeductedFromBuyerAmount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"feeDeductedFromSellerAmount\",\"type\":\"uint128\"}],\"name\":\"FillOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"oldComptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract ISablierComptroller\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"SetComptroller\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nativeToken\",\"type\":\"address\"}],\"name\":\"SetNativeToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"UD60x18\",\"name\":\"previousTradeFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"UD60x18\",\"name\":\"newTradeFee\",\"type\":\"uint256\"}],\"name\":\"SetTradeFee\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"TransferFeesToComptroller\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_TRADE_FEE\",\"outputs\":[{\"internalType\":\"UD60x18\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"contract ISablierComptroller\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"sellToken\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"sellAmount\",\"type\":\"uint128\"},{\"internalType\":\"contract IERC20\",\"name\":\"buyToken\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"minBuyAmount\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint40\",\"name\":\"expiryTime\",\"type\":\"uint40\"}],\"name\":\"createOrder\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"buyAmount\",\"type\":\"uint128\"}],\"name\":\"fillOrder\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amountToTransferToSeller\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amountToTransferToBuyer\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"feeDeductedFromBuyerAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"feeDeductedFromSellerAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"getBuyToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"buyToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"getBuyer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"getExpiryTime\",\"outputs\":[{\"internalType\":\"uint40\",\"name\":\"expiryTime\",\"type\":\"uint40\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"getMinBuyAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"minBuyAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"getSellAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"sellAmount\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"getSellToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"sellToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"getSeller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOrderId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ISablierComptroller\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"setComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newNativeToken\",\"type\":\"address\"}],\"name\":\"setNativeToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"UD60x18\",\"name\":\"newTradeFee\",\"type\":\"uint256\"}],\"name\":\"setTradeFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"statusOf\",\"outputs\":[{\"internalType\":\"enum Escrow.Status\",\"name\":\"status\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tradeFee\",\"outputs\":[{\"internalType\":\"UD60x18\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transferFeesToComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"wasCanceled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"wasFilled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"cancelOrder(uint256)\":{\"details\":\"Emits a {CancelOrder} event. Requirements: - The order must exist. - The order status must either be OPEN or EXPIRED. - The caller must be the seller of the order.\",\"params\":{\"orderId\":\"The order ID to cancel.\"}},\"constructor\":{\"params\":{\"initialComptroller\":\"The address of the initial comptroller contract.\",\"initialTradeFee\":\"The initial trade fee percentage.\"}},\"createOrder(address,uint128,address,uint128,address,uint40)\":{\"details\":\"Emits a {CreateOrder} event. Requirements: - `sellToken` must not be the zero address. - `buyToken` must not be the zero address. - `sellToken` and `buyToken` must not be the same token. - `sellAmount` must be greater than zero. - `minBuyAmount` must be greater than zero. - If `expiryTime` is non-zero, it must be in the future. Zero is sentinel for orders that never expire. - The caller must have approved this contract to transfer at least `sellAmount` of `sellToken`.\",\"params\":{\"buyToken\":\"The address of the ERC-20 token to receive.\",\"buyer\":\"The designated counterparty address specified by the seller. If its zero address, the order can be filled by anyone.\",\"expiryTime\":\"The Unix timestamp when the order expires. Zero is sentinel for orders that never expire.\",\"minBuyAmount\":\"The minimum amount of buy token to fill this trade.\",\"sellAmount\":\"The amount of sell token to exchange.\",\"sellToken\":\"The address of the ERC-20 token to sell.\"},\"returns\":{\"orderId\":\"The order ID of the newly created order.\"}},\"fillOrder(uint256,uint128)\":{\"details\":\"Emits an {FillOrder} event. Requirements: - The order must exist. - The order must be in OPEN status. - If the order has buyer specified, the caller must be the buyer. - `buyAmount` must be greater than or equal to the `minBuyAmount`. - The caller must have approved this contract to transfer at least `buyAmount` of `buyToken`.\",\"params\":{\"buyAmount\":\"The amount of buy token to exchange.\",\"orderId\":\"The order ID to fill.\"},\"returns\":{\"amountToTransferToBuyer\":\"The amount of sell token to transfer to the buyer after deducting fees.\",\"amountToTransferToSeller\":\"The amount of buy token to transfer to the seller after deducting fees.\",\"feeDeductedFromBuyerAmount\":\"The amount of sell token deducted from the buyer's amount as fees.\",\"feeDeductedFromSellerAmount\":\"The amount of buy token deducted from the seller's amount as fees.\"}},\"getBuyToken(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"getBuyer(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"getExpiryTime(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"getMinBuyAmount(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"getSellAmount(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"getSellToken(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"getSeller(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"setComptroller(address)\":{\"details\":\"Emits a {SetComptroller} event. Requirements: - `msg.sender` must be the current comptroller. - The new comptroller must return `true` from {supportsInterface} with the comptroller's minimal interface ID which is defined as the XOR of the following function selectors: 1. {calculateMinFeeWeiFor} 2. {convertUSDFeeToWei} 3. {execute} 4. {getMinFeeUSDFor}\",\"params\":{\"newComptroller\":\"The address of the new comptroller contract.\"}},\"setNativeToken(address)\":{\"details\":\"For more information, see the documentation for {nativeToken}. Emits a {SetNativeToken} event. Requirements: - `msg.sender` must be the comptroller. - `newNativeToken` must not be zero address. - The native token must not be already set.\",\"params\":{\"newNativeToken\":\"The address of the native token.\"}},\"setTradeFee(uint256)\":{\"details\":\"Emits a {SetTradeFee} event. Requirements: - The caller must be the comptroller. - `newTradeFee` must not exceed the maximum trade fee.\",\"params\":{\"newTradeFee\":\"The new trade fee to set, denominated in UD60x18, where 1e18 = 100%.\"}},\"statusOf(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"transferFeesToComptroller()\":{\"details\":\"Emits a {TransferFeesToComptroller} event.\"},\"wasCanceled(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"},\"wasFilled(uint256)\":{\"details\":\"Reverts if `orderId` references a null order.\"}},\"title\":\"SablierEscrow\",\"version\":1},\"userdoc\":{\"errors\":{\"Comptrollerable_CallerNotComptroller(address,address)\":[{\"notice\":\"Thrown when `msg.sender` is not the comptroller.\"}],\"Comptrollerable_UnsupportedInterfaceId(address,address,bytes4)\":[{\"notice\":\"Thrown when the new comptroller does not support the minimal interface ID from the previous comptroller.\"}],\"PRBMath_MulDiv18_Overflow(uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv18} overflows uint256.\"}],\"PRBMath_UD60x18_IntoUint128_Overflow(uint256)\":[{\"notice\":\"Thrown when trying to cast a UD60x18 number that doesn't fit in uint128.\"}],\"SablierEscrowState_NewTradeFeeTooHigh(uint256,uint256)\":[{\"notice\":\"Thrown when trying to set a trade fee that exceeds the maximum allowed.\"}],\"SablierEscrowState_Null(uint256)\":[{\"notice\":\"Thrown when trying to interact with a non-existent order.\"}],\"SablierEscrow_BuyTokenZero()\":[{\"notice\":\"Thrown when trying to create an order with a zero address for the buy token.\"}],\"SablierEscrow_CallerNotAuthorized(uint256,address,address)\":[{\"notice\":\"Thrown when the caller is not authorized to perform an action on an order.\"}],\"SablierEscrow_ExpiryTimeInPast(uint40,uint40)\":[{\"notice\":\"Thrown when trying to create an order with an expiration timestamp in the past.\"}],\"SablierEscrow_ForbidNativeToken(address)\":[{\"notice\":\"Thrown when trying to create an order with the native token.\"}],\"SablierEscrow_InsufficientBuyAmount(uint128,uint128)\":[{\"notice\":\"Thrown when trying to accept an order with a buy amount that is below the minimum amount required.\"}],\"SablierEscrow_MinBuyAmountZero()\":[{\"notice\":\"Thrown when trying to create an order with a zero buy amount.\"}],\"SablierEscrow_NativeTokenAlreadySet(address)\":[{\"notice\":\"Thrown when trying to set the native token address when it is already set.\"}],\"SablierEscrow_NativeTokenZeroAddress()\":[{\"notice\":\"Thrown when trying to set zero address as native token.\"}],\"SablierEscrow_OrderCancelled(uint256)\":[{\"notice\":\"Thrown when trying to cancel an order that has already been canceled.\"}],\"SablierEscrow_OrderFilled(uint256)\":[{\"notice\":\"Thrown when trying to cancel an order that has already been filled.\"}],\"SablierEscrow_OrderNotOpen(uint256,uint8)\":[{\"notice\":\"Thrown when trying to fill an order that has either been completed or canceled.\"}],\"SablierEscrow_SameToken(address)\":[{\"notice\":\"Thrown when trying to create an order with the same sell and buy tokens.\"}],\"SablierEscrow_SellAmountZero()\":[{\"notice\":\"Thrown when trying to create an order with a zero sell amount.\"}],\"SablierEscrow_SellTokenZero()\":[{\"notice\":\"Thrown when trying to create an order with a zero address for the sell token.\"}]},\"events\":{\"CancelOrder(uint256,address,uint128)\":{\"notice\":\"Emitted when an order is cancelled by the seller.\"},\"CreateOrder(uint256,address,address,address,address,uint128,uint128,uint40)\":{\"notice\":\"Emitted when a new order is created.\"},\"FillOrder(uint256,address,address,uint128,uint128,uint128,uint128)\":{\"notice\":\"Emitted when an order is filled.\"},\"SetComptroller(address,address)\":{\"notice\":\"Emitted when the comptroller address is set by the admin.\"},\"SetNativeToken(address,address)\":{\"notice\":\"Emitted when the native token address is set by the comptroller.\"},\"SetTradeFee(address,uint256,uint256)\":{\"notice\":\"Emitted when the trade fee is updated.\"},\"TransferFeesToComptroller(address,uint256)\":{\"notice\":\"Emitted when the fees are transferred to the comptroller contract.\"}},\"kind\":\"user\",\"methods\":{\"MAX_TRADE_FEE()\":{\"notice\":\"Returns the maximum trade fee that can be applied, denominated in UD60x18, where 1e18 = 100%.\"},\"cancelOrder(uint256)\":{\"notice\":\"Cancels an order and returns the escrowed tokens to the caller.\"},\"comptroller()\":{\"notice\":\"Retrieves the address of the comptroller contract.\"},\"createOrder(address,uint128,address,uint128,address,uint40)\":{\"notice\":\"Creates a new order for a peer-to-peer token swap.\"},\"fillOrder(uint256,uint128)\":{\"notice\":\"Fill an open order.\"},\"getBuyToken(uint256)\":{\"notice\":\"Retrieves the address of the ERC-20 token the seller wants to receive.\"},\"getBuyer(uint256)\":{\"notice\":\"Retrieves the buyer address for the given order. If its zero address, the order can be filled by any address.\"},\"getExpiryTime(uint256)\":{\"notice\":\"Retrieves the time when the order expires and can no longer be filled. Zero is sentinel for orders that never expire.\"},\"getMinBuyAmount(uint256)\":{\"notice\":\"Retrieves the minimum amount of buy token required to fill the order.\"},\"getSellAmount(uint256)\":{\"notice\":\"Retrieves the amount of sell token that the seller is willing to sell.\"},\"getSellToken(uint256)\":{\"notice\":\"Retrieves the address of the ERC-20 token that the seller is willing to sell.\"},\"getSeller(uint256)\":{\"notice\":\"Retrieves the address of the seller who created the order.\"},\"nativeToken()\":{\"notice\":\"Retrieves the address of the ERC-20 interface of the native token, if it exists.\"},\"nextOrderId()\":{\"notice\":\"Counter for order IDs. It's incremented every time a new order is created.\"},\"setComptroller(address)\":{\"notice\":\"Sets the comptroller to a new address.\"},\"setNativeToken(address)\":{\"notice\":\"Sets the native token address. Once set, it cannot be changed.\"},\"setTradeFee(uint256)\":{\"notice\":\"Sets the fee to apply on each trade.\"},\"statusOf(uint256)\":{\"notice\":\"Returns the status of the order.\"},\"tradeFee()\":{\"notice\":\"Returns the fee percentage, denominated in UD60x18, where 1e18 = 100%.\"},\"transferFeesToComptroller()\":{\"notice\":\"Transfers the fees to the comptroller contract.\"},\"wasCanceled(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the order was canceled.\"},\"wasFilled(uint256)\":{\"notice\":\"Retrieves a flag indicating whether the order was filled.\"}},\"notice\":\"See the documentation in {ISablierEscrow}.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SablierEscrow.sol\":\"SablierEscrow\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":@sablier/=node_modules/@sablier/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=node_modules/forge-std/\"],\"viaIR\":true},\"sources\":{\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05\",\"dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42\"]},\"node_modules/@prb/math/src/UD60x18.sol\":{\"keccak256\":\"0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9\",\"dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp\"]},\"node_modules/@prb/math/src/sd1x18/Casting.sol\":{\"keccak256\":\"0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11\",\"dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu\"]},\"node_modules/@prb/math/src/sd1x18/Constants.sol\":{\"keccak256\":\"0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab\",\"dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos\"]},\"node_modules/@prb/math/src/sd1x18/Errors.sol\":{\"keccak256\":\"0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca\",\"dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE\"]},\"node_modules/@prb/math/src/sd1x18/ValueType.sol\":{\"keccak256\":\"0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353\",\"dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6\"]},\"node_modules/@prb/math/src/sd21x18/Casting.sol\":{\"keccak256\":\"0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2\",\"dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd\"]},\"node_modules/@prb/math/src/sd21x18/Constants.sol\":{\"keccak256\":\"0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396\",\"dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3\"]},\"node_modules/@prb/math/src/sd21x18/Errors.sol\":{\"keccak256\":\"0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee\",\"dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML\"]},\"node_modules/@prb/math/src/sd21x18/ValueType.sol\":{\"keccak256\":\"0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880\",\"dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf\"]},\"node_modules/@prb/math/src/sd59x18/Casting.sol\":{\"keccak256\":\"0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d\",\"dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n\"]},\"node_modules/@prb/math/src/sd59x18/Constants.sol\":{\"keccak256\":\"0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f\",\"dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si\"]},\"node_modules/@prb/math/src/sd59x18/Errors.sol\":{\"keccak256\":\"0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf\",\"dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk\"]},\"node_modules/@prb/math/src/sd59x18/Helpers.sol\":{\"keccak256\":\"0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed\",\"dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD\"]},\"node_modules/@prb/math/src/sd59x18/Math.sol\":{\"keccak256\":\"0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462\",\"dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD\"]},\"node_modules/@prb/math/src/sd59x18/ValueType.sol\":{\"keccak256\":\"0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919\",\"dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb\"]},\"node_modules/@prb/math/src/ud21x18/Casting.sol\":{\"keccak256\":\"0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09\",\"dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL\"]},\"node_modules/@prb/math/src/ud21x18/Constants.sol\":{\"keccak256\":\"0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60\",\"dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV\"]},\"node_modules/@prb/math/src/ud21x18/Errors.sol\":{\"keccak256\":\"0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80\",\"dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq\"]},\"node_modules/@prb/math/src/ud21x18/ValueType.sol\":{\"keccak256\":\"0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://897e6b79308651671c7f3c91a0069e778b47356c9ba3f86e238398ab7f2623af\",\"dweb:/ipfs/QmZbLw3tJVRZFQnV9jWQUmF43gna841adSG2TAiwDAifGU\"]},\"node_modules/@prb/math/src/ud2x18/Casting.sol\":{\"keccak256\":\"0x0f3141ed054e7c29dbe1acb4b88b18eb05d60e998fba6b4e503a6799faa356d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1e2468fc4c458082aaf4aa2e35af9ba3702f207e3c8533dd1e7da11ad605eae\",\"dweb:/ipfs/QmSm7iRH1eo4cJCwcAiiXWRH9Hn1urSS4tMdbaFbFGuTyL\"]},\"node_modules/@prb/math/src/ud2x18/Constants.sol\":{\"keccak256\":\"0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9\",\"dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC\"]},\"node_modules/@prb/math/src/ud2x18/Errors.sol\":{\"keccak256\":\"0x3b27e2a57438cd30d9c130f84aace24d547e5ed58e8689691d7d92ad2db38ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://841cf9fb45443899c6b659300bbf503c3fd2c1a1e83b7f0e28620eed457f7437\",\"dweb:/ipfs/QmUqg8WscP5yQPw3UMUCWaB9RLU6nryGzseuyhAjNnDc1i\"]},\"node_modules/@prb/math/src/ud2x18/ValueType.sol\":{\"keccak256\":\"0x975a2e69b48f34a4c0bd80e8a5609ac67b7264c91992c0944f9ebe7b9e3fc9d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65d012521c475295d7e70b7d526fcc0911d0f238ea938719d77251bba00c9b41\",\"dweb:/ipfs/QmexEvTQCCBPYRWAYnomZX5M7C2EkXQRAXqEYMNUZfazCs\"]},\"node_modules/@prb/math/src/ud60x18/Casting.sol\":{\"keccak256\":\"0x0803318ddc98b4ba8fbfe70e5ee08d78387fe6ae00982b9960518085a751d7b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e68a2f780b2e33fa5416eb60f9daa81f014c2591119f4b67bed1217d5530780\",\"dweb:/ipfs/QmZe7JTWvbfKqMnu4sxUwWCtLcCay9hH71VZUpoFCdENcr\"]},\"node_modules/@prb/math/src/ud60x18/Constants.sol\":{\"keccak256\":\"0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b\",\"dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5\"]},\"node_modules/@prb/math/src/ud60x18/Conversions.sol\":{\"keccak256\":\"0xd486ecca97abe69acdb28230088f4c7097fbdae5b36c5ae45d5be2faac4c33f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6080870ec6955ff0f5278f9c480b218a68714daf5f2ee42da0276d08d7b82932\",\"dweb:/ipfs/QmQ1SERHdemJgPrt4USwY8j5r63jZ8fQuJAm1knjMEEQEY\"]},\"node_modules/@prb/math/src/ud60x18/Errors.sol\":{\"keccak256\":\"0xbab6b0e303d32f3a9d9e2fe881f0392b8c59a73051a4d34f21a403b3961b3044\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a019bcf2510d0691287329dc057479cc0abc48a5e15f245e7f15c03052d2c8\",\"dweb:/ipfs/QmeXe5pbpDHvN5DZ8puXmH2RJ25zDHj55wpiStWtNQPvq6\"]},\"node_modules/@prb/math/src/ud60x18/Helpers.sol\":{\"keccak256\":\"0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5\",\"dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr\"]},\"node_modules/@prb/math/src/ud60x18/Math.sol\":{\"keccak256\":\"0xc4e51dfd9af62938e277e90fa724099f239d33727a35909ed48c292a76faf2fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d731537cbc50b852c21d28625aeb2c329729afc23a7b86ff9d8ee5878f47e9d6\",\"dweb:/ipfs/QmS7Cj4pAdPZcTp7RqYXyxBc9EYX92CT8icfkNigktUsLr\"]},\"node_modules/@prb/math/src/ud60x18/ValueType.sol\":{\"keccak256\":\"0x1b200baf25d01a8b91b97b42114248636f742b5b7028487ef4daef6621e378a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5708ed017206bda2197654e80bea9f37b3a9993434bb066c903c2865e028f47\",\"dweb:/ipfs/QmTyotZk2J5YvWkNvB2qhXBMgRGWW2UgPqR4JPocrXSr8n\"]},\"node_modules/@sablier/evm-utils/src/Comptrollerable.sol\":{\"keccak256\":\"0xf48c3ba6a78b9f9f5735d72d07a10a8363d573c82251b5e53a0c7ce29ed1a921\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d62e6057b2202ee016aeec50b0ecd7e04324957237f1de53fb2a97c092b577cc\",\"dweb:/ipfs/QmaXSJam62Z7nkT8T1aN79fiAX2aQARHwufvXNRqFshFab\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol\":{\"keccak256\":\"0x3228d63e9b0b951030c73c42bb071e64f0ff0eadbcbeefad3f29a48366539c26\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://acc90ad2bec0e84349b56611b35b56bfb75a5930fd1babb2bd638fbbb15bd126\",\"dweb:/ipfs/QmSLnHx6bo4BQeBKYferfEhZo1Z4xCXdDF1bzJoHUafHt4\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol\":{\"keccak256\":\"0xdbc32762b87590be38095a84789906fa7a23fd2c2c112859504549ef3be17522\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://14ac13726bb7435ce310dd437a9b58852ca0c35640949e898c803a33a30dee8b\",\"dweb:/ipfs/QmeeKPApvBHbUF3S98qCnB26Aw67KTQF2GFyGQZCxykyMW\"]},\"node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol\":{\"keccak256\":\"0x391cb4bd4bae01e3efdb84f63635644ed6329b72e8a5105ad53833551e8ba825\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://ccca9da1c044c15cf0b647a4572c05f5d498fb18b3685a85a8836f7110cb1bc4\",\"dweb:/ipfs/QmfAKHqvgKQUgpC6VomTjTkc1tDnsbVJD5bLn8wL8KuTFV\"]},\"node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol\":{\"keccak256\":\"0x5c52e70a6c083611d4b5518d17d025f70d322ee2c61d81f20f3fe50f4bd824ba\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5c07b2076065f1c65a59176ada3459be53f78e59a2055d9ae92b226edafa484c\",\"dweb:/ipfs/QmXYRDkBSWUBza1pi439ErzeLoaLUT8Zvj2yWcFZ5F1rgX\"]},\"node_modules/@sablier/evm-utils/src/libraries/Errors.sol\":{\"keccak256\":\"0xc9a0fbcd6d582054420a32c538204ac7adb789320c6564f278ccf45baf4485c8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a4da46b25df4fe89ce9f0315e1ef6561554f72b2dc7edbc43bdcdf9d65e8b709\",\"dweb:/ipfs/QmNW4VtuPSsLULst92GJmmcTCRHu4n5ndU9Jb4MbVes1jp\"]},\"src/SablierEscrow.sol\":{\"keccak256\":\"0x36702570179d711958d5beaffddf1ec75c388d755b229f9eaeae2ebddd18c6ed\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://9eb912cd798622274a12a48fd232bdc69b32ec642a6622852e43bbf5997f9ad2\",\"dweb:/ipfs/QmTTCbNDTnQsqu6EBXCJb8eetLzJwdXuLNWw9QyXzrdGVx\"]},\"src/abstracts/SablierEscrowState.sol\":{\"keccak256\":\"0x87935ee4d1235906da4571379a04e93ccb7a5703481c9dde879660ce8d1f7b7a\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://f3ad20d9808d8265024ca5b07bff6ac31920e873489b434e8244ee49d9df2694\",\"dweb:/ipfs/QmQmvwf3cqDJFC9RmE86raZGLMTRYSrcLqovoKseGzXVVY\"]},\"src/interfaces/ISablierEscrow.sol\":{\"keccak256\":\"0xa8c89ec7541808fbecb5763de35713976b443316fc4d1a0e35456673e99da571\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://21954d789edc4604209aad32ec3cc2a2fa47dad73c249471b0552d4947cc13d2\",\"dweb:/ipfs/QmZPoBXqdgZ6MSHMPMGMvcHgXxw5r953zZSs3FLgz3zXMF\"]},\"src/interfaces/ISablierEscrowState.sol\":{\"keccak256\":\"0x3ed9e131691e51df2b886deac2dec0f4fc5119e0893612d86ff0d96b54766a82\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6e1ce2ad520eefe15110af1a62080b87ba17dd8c9e8ba9557263b189b4d02898\",\"dweb:/ipfs/QmRF7Mk5YBxSh155wmpQuwFraU4H2xZSZz8nXHf6A9cWbL\"]},\"src/libraries/Errors.sol\":{\"keccak256\":\"0x6c053ba4f029f4835883cf2fecd2b8adb1371b8e9820f5a3fdf679fd864ac682\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e1d64e7f44f0e8dcb3c6842a1baa119c3dd4b1b14f29c07c4c93b4185f0a566e\",\"dweb:/ipfs/QmUjf9S6JduDhmpD8VriK8bMRYXD8m7XMRohhnE91mjDc9\"]},\"src/types/Escrow.sol\":{\"keccak256\":\"0xc4c65957eab4cfd50d7806778ca69366aebe22e98736315c62fa36bda5cddba6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://ef915ead3c018cd9c629fd3738eba614dfa0499492d25162129e9374607756c1\",\"dweb:/ipfs/QmenoUAVQFvKU4XVNm9Pm7RxvrTgBBJFXF6uNjqHMV1wAU\"]}},\"version\":1}",
413
+ "metadata": {
414
+ "compiler": { "version": "0.8.29+commit.ab55807c" },
415
+ "language": "Solidity",
416
+ "output": {
417
+ "abi": [
418
+ {
419
+ "inputs": [
420
+ { "internalType": "address", "name": "initialComptroller", "type": "address" },
421
+ { "internalType": "UD60x18", "name": "initialTradeFee", "type": "uint256" }
422
+ ],
423
+ "stateMutability": "nonpayable",
424
+ "type": "constructor"
425
+ },
426
+ {
427
+ "inputs": [
428
+ { "internalType": "address", "name": "comptroller", "type": "address" },
429
+ { "internalType": "address", "name": "caller", "type": "address" }
430
+ ],
431
+ "type": "error",
432
+ "name": "Comptrollerable_CallerNotComptroller"
433
+ },
434
+ {
435
+ "inputs": [
436
+ { "internalType": "address", "name": "previousComptroller", "type": "address" },
437
+ { "internalType": "address", "name": "newComptroller", "type": "address" },
438
+ { "internalType": "bytes4", "name": "minimalInterfaceId", "type": "bytes4" }
439
+ ],
440
+ "type": "error",
441
+ "name": "Comptrollerable_UnsupportedInterfaceId"
442
+ },
443
+ {
444
+ "inputs": [
445
+ { "internalType": "uint256", "name": "x", "type": "uint256" },
446
+ { "internalType": "uint256", "name": "y", "type": "uint256" }
447
+ ],
448
+ "type": "error",
449
+ "name": "PRBMath_MulDiv18_Overflow"
450
+ },
451
+ {
452
+ "inputs": [{ "internalType": "UD60x18", "name": "x", "type": "uint256" }],
453
+ "type": "error",
454
+ "name": "PRBMath_UD60x18_IntoUint128_Overflow"
455
+ },
456
+ {
457
+ "inputs": [
458
+ { "internalType": "UD60x18", "name": "newTradeFee", "type": "uint256" },
459
+ { "internalType": "UD60x18", "name": "maxTradeFee", "type": "uint256" }
460
+ ],
461
+ "type": "error",
462
+ "name": "SablierEscrowState_NewTradeFeeTooHigh"
463
+ },
464
+ {
465
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
466
+ "type": "error",
467
+ "name": "SablierEscrowState_Null"
468
+ },
469
+ { "inputs": [], "type": "error", "name": "SablierEscrow_BuyTokenZero" },
470
+ {
471
+ "inputs": [
472
+ { "internalType": "uint256", "name": "orderId", "type": "uint256" },
473
+ { "internalType": "address", "name": "caller", "type": "address" },
474
+ { "internalType": "address", "name": "expectedCaller", "type": "address" }
475
+ ],
476
+ "type": "error",
477
+ "name": "SablierEscrow_CallerNotAuthorized"
478
+ },
479
+ {
480
+ "inputs": [
481
+ { "internalType": "uint40", "name": "expiryTime", "type": "uint40" },
482
+ { "internalType": "uint40", "name": "currentTime", "type": "uint40" }
483
+ ],
484
+ "type": "error",
485
+ "name": "SablierEscrow_ExpiryTimeInPast"
486
+ },
487
+ {
488
+ "inputs": [{ "internalType": "address", "name": "nativeToken", "type": "address" }],
489
+ "type": "error",
490
+ "name": "SablierEscrow_ForbidNativeToken"
491
+ },
492
+ {
493
+ "inputs": [
494
+ { "internalType": "uint128", "name": "buyAmount", "type": "uint128" },
495
+ { "internalType": "uint128", "name": "minBuyAmount", "type": "uint128" }
496
+ ],
497
+ "type": "error",
498
+ "name": "SablierEscrow_InsufficientBuyAmount"
499
+ },
500
+ { "inputs": [], "type": "error", "name": "SablierEscrow_MinBuyAmountZero" },
501
+ {
502
+ "inputs": [{ "internalType": "address", "name": "nativeToken", "type": "address" }],
503
+ "type": "error",
504
+ "name": "SablierEscrow_NativeTokenAlreadySet"
505
+ },
506
+ { "inputs": [], "type": "error", "name": "SablierEscrow_NativeTokenZeroAddress" },
507
+ {
508
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
509
+ "type": "error",
510
+ "name": "SablierEscrow_OrderCancelled"
511
+ },
512
+ {
513
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
514
+ "type": "error",
515
+ "name": "SablierEscrow_OrderFilled"
516
+ },
517
+ {
518
+ "inputs": [
519
+ { "internalType": "uint256", "name": "orderId", "type": "uint256" },
520
+ { "internalType": "enum Escrow.Status", "name": "status", "type": "uint8" }
521
+ ],
522
+ "type": "error",
523
+ "name": "SablierEscrow_OrderNotOpen"
524
+ },
525
+ {
526
+ "inputs": [{ "internalType": "contract IERC20", "name": "token", "type": "address" }],
527
+ "type": "error",
528
+ "name": "SablierEscrow_SameToken"
529
+ },
530
+ { "inputs": [], "type": "error", "name": "SablierEscrow_SellAmountZero" },
531
+ { "inputs": [], "type": "error", "name": "SablierEscrow_SellTokenZero" },
532
+ {
533
+ "inputs": [{ "internalType": "address", "name": "token", "type": "address" }],
534
+ "type": "error",
535
+ "name": "SafeERC20FailedOperation"
536
+ },
537
+ {
538
+ "inputs": [
539
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": true },
540
+ { "internalType": "address", "name": "seller", "type": "address", "indexed": true },
541
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128", "indexed": false }
542
+ ],
543
+ "type": "event",
544
+ "name": "CancelOrder",
545
+ "anonymous": false
546
+ },
547
+ {
548
+ "inputs": [
549
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": true },
550
+ { "internalType": "address", "name": "seller", "type": "address", "indexed": true },
551
+ { "internalType": "address", "name": "buyer", "type": "address", "indexed": true },
552
+ { "internalType": "contract IERC20", "name": "sellToken", "type": "address", "indexed": false },
553
+ { "internalType": "contract IERC20", "name": "buyToken", "type": "address", "indexed": false },
554
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128", "indexed": false },
555
+ { "internalType": "uint128", "name": "minBuyAmount", "type": "uint128", "indexed": false },
556
+ { "internalType": "uint40", "name": "expiryTime", "type": "uint40", "indexed": false }
557
+ ],
558
+ "type": "event",
559
+ "name": "CreateOrder",
560
+ "anonymous": false
561
+ },
562
+ {
563
+ "inputs": [
564
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": true },
565
+ { "internalType": "address", "name": "buyer", "type": "address", "indexed": true },
566
+ { "internalType": "address", "name": "seller", "type": "address", "indexed": true },
567
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128", "indexed": false },
568
+ { "internalType": "uint128", "name": "buyAmount", "type": "uint128", "indexed": false },
569
+ { "internalType": "uint128", "name": "feeDeductedFromBuyerAmount", "type": "uint128", "indexed": false },
570
+ { "internalType": "uint128", "name": "feeDeductedFromSellerAmount", "type": "uint128", "indexed": false }
571
+ ],
572
+ "type": "event",
573
+ "name": "FillOrder",
574
+ "anonymous": false
575
+ },
576
+ {
577
+ "inputs": [
578
+ {
579
+ "internalType": "contract ISablierComptroller",
580
+ "name": "oldComptroller",
581
+ "type": "address",
582
+ "indexed": false
583
+ },
584
+ {
585
+ "internalType": "contract ISablierComptroller",
586
+ "name": "newComptroller",
587
+ "type": "address",
588
+ "indexed": false
589
+ }
590
+ ],
591
+ "type": "event",
592
+ "name": "SetComptroller",
593
+ "anonymous": false
594
+ },
595
+ {
596
+ "inputs": [
597
+ { "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
598
+ { "internalType": "address", "name": "nativeToken", "type": "address", "indexed": false }
599
+ ],
600
+ "type": "event",
601
+ "name": "SetNativeToken",
602
+ "anonymous": false
603
+ },
604
+ {
605
+ "inputs": [
606
+ { "internalType": "address", "name": "caller", "type": "address", "indexed": true },
607
+ { "internalType": "UD60x18", "name": "previousTradeFee", "type": "uint256", "indexed": false },
608
+ { "internalType": "UD60x18", "name": "newTradeFee", "type": "uint256", "indexed": false }
609
+ ],
610
+ "type": "event",
611
+ "name": "SetTradeFee",
612
+ "anonymous": false
613
+ },
614
+ {
615
+ "inputs": [
616
+ { "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
617
+ { "internalType": "uint256", "name": "feeAmount", "type": "uint256", "indexed": false }
618
+ ],
619
+ "type": "event",
620
+ "name": "TransferFeesToComptroller",
621
+ "anonymous": false
622
+ },
623
+ {
624
+ "inputs": [],
625
+ "stateMutability": "view",
626
+ "type": "function",
627
+ "name": "MAX_TRADE_FEE",
628
+ "outputs": [{ "internalType": "UD60x18", "name": "", "type": "uint256" }]
629
+ },
630
+ {
631
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
632
+ "stateMutability": "nonpayable",
633
+ "type": "function",
634
+ "name": "cancelOrder"
635
+ },
636
+ {
637
+ "inputs": [],
638
+ "stateMutability": "view",
639
+ "type": "function",
640
+ "name": "comptroller",
641
+ "outputs": [{ "internalType": "contract ISablierComptroller", "name": "", "type": "address" }]
642
+ },
643
+ {
644
+ "inputs": [
645
+ { "internalType": "contract IERC20", "name": "sellToken", "type": "address" },
646
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128" },
647
+ { "internalType": "contract IERC20", "name": "buyToken", "type": "address" },
648
+ { "internalType": "uint128", "name": "minBuyAmount", "type": "uint128" },
649
+ { "internalType": "address", "name": "buyer", "type": "address" },
650
+ { "internalType": "uint40", "name": "expiryTime", "type": "uint40" }
651
+ ],
652
+ "stateMutability": "nonpayable",
653
+ "type": "function",
654
+ "name": "createOrder",
655
+ "outputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }]
656
+ },
657
+ {
658
+ "inputs": [
659
+ { "internalType": "uint256", "name": "orderId", "type": "uint256" },
660
+ { "internalType": "uint128", "name": "buyAmount", "type": "uint128" }
661
+ ],
662
+ "stateMutability": "nonpayable",
663
+ "type": "function",
664
+ "name": "fillOrder",
665
+ "outputs": [
666
+ { "internalType": "uint128", "name": "amountToTransferToSeller", "type": "uint128" },
667
+ { "internalType": "uint128", "name": "amountToTransferToBuyer", "type": "uint128" },
668
+ { "internalType": "uint128", "name": "feeDeductedFromBuyerAmount", "type": "uint128" },
669
+ { "internalType": "uint128", "name": "feeDeductedFromSellerAmount", "type": "uint128" }
670
+ ]
671
+ },
672
+ {
673
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
674
+ "stateMutability": "view",
675
+ "type": "function",
676
+ "name": "getBuyToken",
677
+ "outputs": [{ "internalType": "contract IERC20", "name": "buyToken", "type": "address" }]
678
+ },
679
+ {
680
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
681
+ "stateMutability": "view",
682
+ "type": "function",
683
+ "name": "getBuyer",
684
+ "outputs": [{ "internalType": "address", "name": "buyer", "type": "address" }]
685
+ },
686
+ {
687
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
688
+ "stateMutability": "view",
689
+ "type": "function",
690
+ "name": "getExpiryTime",
691
+ "outputs": [{ "internalType": "uint40", "name": "expiryTime", "type": "uint40" }]
692
+ },
693
+ {
694
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
695
+ "stateMutability": "view",
696
+ "type": "function",
697
+ "name": "getMinBuyAmount",
698
+ "outputs": [{ "internalType": "uint128", "name": "minBuyAmount", "type": "uint128" }]
699
+ },
700
+ {
701
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
702
+ "stateMutability": "view",
703
+ "type": "function",
704
+ "name": "getSellAmount",
705
+ "outputs": [{ "internalType": "uint128", "name": "sellAmount", "type": "uint128" }]
706
+ },
707
+ {
708
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
709
+ "stateMutability": "view",
710
+ "type": "function",
711
+ "name": "getSellToken",
712
+ "outputs": [{ "internalType": "contract IERC20", "name": "sellToken", "type": "address" }]
713
+ },
714
+ {
715
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
716
+ "stateMutability": "view",
717
+ "type": "function",
718
+ "name": "getSeller",
719
+ "outputs": [{ "internalType": "address", "name": "seller", "type": "address" }]
720
+ },
721
+ {
722
+ "inputs": [],
723
+ "stateMutability": "view",
724
+ "type": "function",
725
+ "name": "nativeToken",
726
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
727
+ },
728
+ {
729
+ "inputs": [],
730
+ "stateMutability": "view",
731
+ "type": "function",
732
+ "name": "nextOrderId",
733
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
734
+ },
735
+ {
736
+ "inputs": [{ "internalType": "contract ISablierComptroller", "name": "newComptroller", "type": "address" }],
737
+ "stateMutability": "nonpayable",
738
+ "type": "function",
739
+ "name": "setComptroller"
740
+ },
741
+ {
742
+ "inputs": [{ "internalType": "address", "name": "newNativeToken", "type": "address" }],
743
+ "stateMutability": "nonpayable",
744
+ "type": "function",
745
+ "name": "setNativeToken"
746
+ },
747
+ {
748
+ "inputs": [{ "internalType": "UD60x18", "name": "newTradeFee", "type": "uint256" }],
749
+ "stateMutability": "nonpayable",
750
+ "type": "function",
751
+ "name": "setTradeFee"
752
+ },
753
+ {
754
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
755
+ "stateMutability": "view",
756
+ "type": "function",
757
+ "name": "statusOf",
758
+ "outputs": [{ "internalType": "enum Escrow.Status", "name": "status", "type": "uint8" }]
759
+ },
760
+ {
761
+ "inputs": [],
762
+ "stateMutability": "view",
763
+ "type": "function",
764
+ "name": "tradeFee",
765
+ "outputs": [{ "internalType": "UD60x18", "name": "", "type": "uint256" }]
766
+ },
767
+ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "transferFeesToComptroller" },
768
+ {
769
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
770
+ "stateMutability": "view",
771
+ "type": "function",
772
+ "name": "wasCanceled",
773
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }]
774
+ },
775
+ {
776
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
777
+ "stateMutability": "view",
778
+ "type": "function",
779
+ "name": "wasFilled",
780
+ "outputs": [{ "internalType": "bool", "name": "result", "type": "bool" }]
781
+ }
782
+ ],
783
+ "devdoc": {
784
+ "kind": "dev",
785
+ "methods": {
786
+ "cancelOrder(uint256)": {
787
+ "details": "Emits a {CancelOrder} event. Requirements: - The order must exist. - The order status must either be OPEN or EXPIRED. - The caller must be the seller of the order.",
788
+ "params": { "orderId": "The order ID to cancel." }
789
+ },
790
+ "constructor": {
791
+ "params": {
792
+ "initialComptroller": "The address of the initial comptroller contract.",
793
+ "initialTradeFee": "The initial trade fee percentage."
794
+ }
795
+ },
796
+ "createOrder(address,uint128,address,uint128,address,uint40)": {
797
+ "details": "Emits a {CreateOrder} event. Requirements: - `sellToken` must not be the zero address. - `buyToken` must not be the zero address. - `sellToken` and `buyToken` must not be the same token. - `sellAmount` must be greater than zero. - `minBuyAmount` must be greater than zero. - If `expiryTime` is non-zero, it must be in the future. Zero is sentinel for orders that never expire. - The caller must have approved this contract to transfer at least `sellAmount` of `sellToken`.",
798
+ "params": {
799
+ "buyToken": "The address of the ERC-20 token to receive.",
800
+ "buyer": "The designated counterparty address specified by the seller. If its zero address, the order can be filled by anyone.",
801
+ "expiryTime": "The Unix timestamp when the order expires. Zero is sentinel for orders that never expire.",
802
+ "minBuyAmount": "The minimum amount of buy token to fill this trade.",
803
+ "sellAmount": "The amount of sell token to exchange.",
804
+ "sellToken": "The address of the ERC-20 token to sell."
805
+ },
806
+ "returns": { "orderId": "The order ID of the newly created order." }
807
+ },
808
+ "fillOrder(uint256,uint128)": {
809
+ "details": "Emits an {FillOrder} event. Requirements: - The order must exist. - The order must be in OPEN status. - If the order has buyer specified, the caller must be the buyer. - `buyAmount` must be greater than or equal to the `minBuyAmount`. - The caller must have approved this contract to transfer at least `buyAmount` of `buyToken`.",
810
+ "params": { "buyAmount": "The amount of buy token to exchange.", "orderId": "The order ID to fill." },
811
+ "returns": {
812
+ "amountToTransferToBuyer": "The amount of sell token to transfer to the buyer after deducting fees.",
813
+ "amountToTransferToSeller": "The amount of buy token to transfer to the seller after deducting fees.",
814
+ "feeDeductedFromBuyerAmount": "The amount of sell token deducted from the buyer's amount as fees.",
815
+ "feeDeductedFromSellerAmount": "The amount of buy token deducted from the seller's amount as fees."
816
+ }
817
+ },
818
+ "getBuyToken(uint256)": { "details": "Reverts if `orderId` references a null order." },
819
+ "getBuyer(uint256)": { "details": "Reverts if `orderId` references a null order." },
820
+ "getExpiryTime(uint256)": { "details": "Reverts if `orderId` references a null order." },
821
+ "getMinBuyAmount(uint256)": { "details": "Reverts if `orderId` references a null order." },
822
+ "getSellAmount(uint256)": { "details": "Reverts if `orderId` references a null order." },
823
+ "getSellToken(uint256)": { "details": "Reverts if `orderId` references a null order." },
824
+ "getSeller(uint256)": { "details": "Reverts if `orderId` references a null order." },
825
+ "setComptroller(address)": {
826
+ "details": "Emits a {SetComptroller} event. Requirements: - `msg.sender` must be the current comptroller. - The new comptroller must return `true` from {supportsInterface} with the comptroller's minimal interface ID which is defined as the XOR of the following function selectors: 1. {calculateMinFeeWeiFor} 2. {convertUSDFeeToWei} 3. {execute} 4. {getMinFeeUSDFor}",
827
+ "params": { "newComptroller": "The address of the new comptroller contract." }
828
+ },
829
+ "setNativeToken(address)": {
830
+ "details": "For more information, see the documentation for {nativeToken}. Emits a {SetNativeToken} event. Requirements: - `msg.sender` must be the comptroller. - `newNativeToken` must not be zero address. - The native token must not be already set.",
831
+ "params": { "newNativeToken": "The address of the native token." }
832
+ },
833
+ "setTradeFee(uint256)": {
834
+ "details": "Emits a {SetTradeFee} event. Requirements: - The caller must be the comptroller. - `newTradeFee` must not exceed the maximum trade fee.",
835
+ "params": { "newTradeFee": "The new trade fee to set, denominated in UD60x18, where 1e18 = 100%." }
836
+ },
837
+ "statusOf(uint256)": { "details": "Reverts if `orderId` references a null order." },
838
+ "transferFeesToComptroller()": { "details": "Emits a {TransferFeesToComptroller} event." },
839
+ "wasCanceled(uint256)": { "details": "Reverts if `orderId` references a null order." },
840
+ "wasFilled(uint256)": { "details": "Reverts if `orderId` references a null order." }
841
+ },
842
+ "version": 1
843
+ },
844
+ "userdoc": {
845
+ "kind": "user",
846
+ "methods": {
847
+ "MAX_TRADE_FEE()": {
848
+ "notice": "Returns the maximum trade fee that can be applied, denominated in UD60x18, where 1e18 = 100%."
849
+ },
850
+ "cancelOrder(uint256)": { "notice": "Cancels an order and returns the escrowed tokens to the caller." },
851
+ "comptroller()": { "notice": "Retrieves the address of the comptroller contract." },
852
+ "createOrder(address,uint128,address,uint128,address,uint40)": {
853
+ "notice": "Creates a new order for a peer-to-peer token swap."
854
+ },
855
+ "fillOrder(uint256,uint128)": { "notice": "Fill an open order." },
856
+ "getBuyToken(uint256)": {
857
+ "notice": "Retrieves the address of the ERC-20 token the seller wants to receive."
858
+ },
859
+ "getBuyer(uint256)": {
860
+ "notice": "Retrieves the buyer address for the given order. If its zero address, the order can be filled by any address."
861
+ },
862
+ "getExpiryTime(uint256)": {
863
+ "notice": "Retrieves the time when the order expires and can no longer be filled. Zero is sentinel for orders that never expire."
864
+ },
865
+ "getMinBuyAmount(uint256)": {
866
+ "notice": "Retrieves the minimum amount of buy token required to fill the order."
867
+ },
868
+ "getSellAmount(uint256)": {
869
+ "notice": "Retrieves the amount of sell token that the seller is willing to sell."
870
+ },
871
+ "getSellToken(uint256)": {
872
+ "notice": "Retrieves the address of the ERC-20 token that the seller is willing to sell."
873
+ },
874
+ "getSeller(uint256)": { "notice": "Retrieves the address of the seller who created the order." },
875
+ "nativeToken()": {
876
+ "notice": "Retrieves the address of the ERC-20 interface of the native token, if it exists."
877
+ },
878
+ "nextOrderId()": { "notice": "Counter for order IDs. It's incremented every time a new order is created." },
879
+ "setComptroller(address)": { "notice": "Sets the comptroller to a new address." },
880
+ "setNativeToken(address)": { "notice": "Sets the native token address. Once set, it cannot be changed." },
881
+ "setTradeFee(uint256)": { "notice": "Sets the fee to apply on each trade." },
882
+ "statusOf(uint256)": { "notice": "Returns the status of the order." },
883
+ "tradeFee()": { "notice": "Returns the fee percentage, denominated in UD60x18, where 1e18 = 100%." },
884
+ "transferFeesToComptroller()": { "notice": "Transfers the fees to the comptroller contract." },
885
+ "wasCanceled(uint256)": { "notice": "Retrieves a flag indicating whether the order was canceled." },
886
+ "wasFilled(uint256)": { "notice": "Retrieves a flag indicating whether the order was filled." }
887
+ },
888
+ "version": 1
889
+ }
890
+ },
891
+ "settings": {
892
+ "remappings": [
893
+ "@arbitrum/=node_modules/@arbitrum/",
894
+ "@chainlink/=node_modules/@chainlink/",
895
+ "@eth-optimism/=node_modules/@eth-optimism/",
896
+ "@offchainlabs/=node_modules/@offchainlabs/",
897
+ "@openzeppelin/=node_modules/@openzeppelin/",
898
+ "@prb/=node_modules/@prb/",
899
+ "@sablier/=node_modules/@sablier/",
900
+ "@scroll-tech/=node_modules/@scroll-tech/",
901
+ "@zksync/=node_modules/@zksync/",
902
+ "forge-std/=node_modules/forge-std/"
903
+ ],
904
+ "optimizer": { "enabled": true, "runs": 1000000 },
905
+ "metadata": { "bytecodeHash": "ipfs" },
906
+ "compilationTarget": { "src/SablierEscrow.sol": "SablierEscrow" },
907
+ "evmVersion": "shanghai",
908
+ "libraries": {},
909
+ "viaIR": true
910
+ },
911
+ "sources": {
912
+ "node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol": {
913
+ "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7",
914
+ "urls": [
915
+ "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b",
916
+ "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"
917
+ ],
918
+ "license": "MIT"
919
+ },
920
+ "node_modules/@openzeppelin/contracts/interfaces/IERC165.sol": {
921
+ "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724",
922
+ "urls": [
923
+ "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a",
924
+ "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"
925
+ ],
926
+ "license": "MIT"
927
+ },
928
+ "node_modules/@openzeppelin/contracts/interfaces/IERC20.sol": {
929
+ "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c",
930
+ "urls": [
931
+ "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba",
932
+ "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"
933
+ ],
934
+ "license": "MIT"
935
+ },
936
+ "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": {
937
+ "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d",
938
+ "urls": [
939
+ "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196",
940
+ "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"
941
+ ],
942
+ "license": "MIT"
943
+ },
944
+ "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
945
+ "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
946
+ "urls": [
947
+ "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
948
+ "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
949
+ ],
950
+ "license": "MIT"
951
+ },
952
+ "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": {
953
+ "keccak256": "0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5",
954
+ "urls": [
955
+ "bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508",
956
+ "dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"
957
+ ],
958
+ "license": "MIT"
959
+ },
960
+ "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": {
961
+ "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
962
+ "urls": [
963
+ "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
964
+ "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
965
+ ],
966
+ "license": "MIT"
967
+ },
968
+ "node_modules/@prb/math/src/Common.sol": {
969
+ "keccak256": "0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99",
970
+ "urls": [
971
+ "bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05",
972
+ "dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42"
973
+ ],
974
+ "license": "MIT"
975
+ },
976
+ "node_modules/@prb/math/src/UD60x18.sol": {
977
+ "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48",
978
+ "urls": [
979
+ "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9",
980
+ "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp"
981
+ ],
982
+ "license": "MIT"
983
+ },
984
+ "node_modules/@prb/math/src/sd1x18/Casting.sol": {
985
+ "keccak256": "0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c",
986
+ "urls": [
987
+ "bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11",
988
+ "dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu"
989
+ ],
990
+ "license": "MIT"
991
+ },
992
+ "node_modules/@prb/math/src/sd1x18/Constants.sol": {
993
+ "keccak256": "0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8",
994
+ "urls": [
995
+ "bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab",
996
+ "dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos"
997
+ ],
998
+ "license": "MIT"
999
+ },
1000
+ "node_modules/@prb/math/src/sd1x18/Errors.sol": {
1001
+ "keccak256": "0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6",
1002
+ "urls": [
1003
+ "bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca",
1004
+ "dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE"
1005
+ ],
1006
+ "license": "MIT"
1007
+ },
1008
+ "node_modules/@prb/math/src/sd1x18/ValueType.sol": {
1009
+ "keccak256": "0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0",
1010
+ "urls": [
1011
+ "bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353",
1012
+ "dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6"
1013
+ ],
1014
+ "license": "MIT"
1015
+ },
1016
+ "node_modules/@prb/math/src/sd21x18/Casting.sol": {
1017
+ "keccak256": "0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36",
1018
+ "urls": [
1019
+ "bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2",
1020
+ "dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd"
1021
+ ],
1022
+ "license": "MIT"
1023
+ },
1024
+ "node_modules/@prb/math/src/sd21x18/Constants.sol": {
1025
+ "keccak256": "0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4",
1026
+ "urls": [
1027
+ "bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396",
1028
+ "dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3"
1029
+ ],
1030
+ "license": "MIT"
1031
+ },
1032
+ "node_modules/@prb/math/src/sd21x18/Errors.sol": {
1033
+ "keccak256": "0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a",
1034
+ "urls": [
1035
+ "bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee",
1036
+ "dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML"
1037
+ ],
1038
+ "license": "MIT"
1039
+ },
1040
+ "node_modules/@prb/math/src/sd21x18/ValueType.sol": {
1041
+ "keccak256": "0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092",
1042
+ "urls": [
1043
+ "bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880",
1044
+ "dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf"
1045
+ ],
1046
+ "license": "MIT"
1047
+ },
1048
+ "node_modules/@prb/math/src/sd59x18/Casting.sol": {
1049
+ "keccak256": "0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39",
1050
+ "urls": [
1051
+ "bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d",
1052
+ "dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n"
1053
+ ],
1054
+ "license": "MIT"
1055
+ },
1056
+ "node_modules/@prb/math/src/sd59x18/Constants.sol": {
1057
+ "keccak256": "0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a",
1058
+ "urls": [
1059
+ "bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f",
1060
+ "dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si"
1061
+ ],
1062
+ "license": "MIT"
1063
+ },
1064
+ "node_modules/@prb/math/src/sd59x18/Errors.sol": {
1065
+ "keccak256": "0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2",
1066
+ "urls": [
1067
+ "bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf",
1068
+ "dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk"
1069
+ ],
1070
+ "license": "MIT"
1071
+ },
1072
+ "node_modules/@prb/math/src/sd59x18/Helpers.sol": {
1073
+ "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716",
1074
+ "urls": [
1075
+ "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed",
1076
+ "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD"
1077
+ ],
1078
+ "license": "MIT"
1079
+ },
1080
+ "node_modules/@prb/math/src/sd59x18/Math.sol": {
1081
+ "keccak256": "0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84",
1082
+ "urls": [
1083
+ "bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462",
1084
+ "dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD"
1085
+ ],
1086
+ "license": "MIT"
1087
+ },
1088
+ "node_modules/@prb/math/src/sd59x18/ValueType.sol": {
1089
+ "keccak256": "0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d",
1090
+ "urls": [
1091
+ "bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919",
1092
+ "dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb"
1093
+ ],
1094
+ "license": "MIT"
1095
+ },
1096
+ "node_modules/@prb/math/src/ud21x18/Casting.sol": {
1097
+ "keccak256": "0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65",
1098
+ "urls": [
1099
+ "bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09",
1100
+ "dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL"
1101
+ ],
1102
+ "license": "MIT"
1103
+ },
1104
+ "node_modules/@prb/math/src/ud21x18/Constants.sol": {
1105
+ "keccak256": "0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601",
1106
+ "urls": [
1107
+ "bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60",
1108
+ "dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV"
1109
+ ],
1110
+ "license": "MIT"
1111
+ },
1112
+ "node_modules/@prb/math/src/ud21x18/Errors.sol": {
1113
+ "keccak256": "0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415",
1114
+ "urls": [
1115
+ "bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80",
1116
+ "dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq"
1117
+ ],
1118
+ "license": "MIT"
1119
+ },
1120
+ "node_modules/@prb/math/src/ud21x18/ValueType.sol": {
1121
+ "keccak256": "0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25",
1122
+ "urls": [
1123
+ "bzz-raw://897e6b79308651671c7f3c91a0069e778b47356c9ba3f86e238398ab7f2623af",
1124
+ "dweb:/ipfs/QmZbLw3tJVRZFQnV9jWQUmF43gna841adSG2TAiwDAifGU"
1125
+ ],
1126
+ "license": "MIT"
1127
+ },
1128
+ "node_modules/@prb/math/src/ud2x18/Casting.sol": {
1129
+ "keccak256": "0x0f3141ed054e7c29dbe1acb4b88b18eb05d60e998fba6b4e503a6799faa356d6",
1130
+ "urls": [
1131
+ "bzz-raw://b1e2468fc4c458082aaf4aa2e35af9ba3702f207e3c8533dd1e7da11ad605eae",
1132
+ "dweb:/ipfs/QmSm7iRH1eo4cJCwcAiiXWRH9Hn1urSS4tMdbaFbFGuTyL"
1133
+ ],
1134
+ "license": "MIT"
1135
+ },
1136
+ "node_modules/@prb/math/src/ud2x18/Constants.sol": {
1137
+ "keccak256": "0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc",
1138
+ "urls": [
1139
+ "bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9",
1140
+ "dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC"
1141
+ ],
1142
+ "license": "MIT"
1143
+ },
1144
+ "node_modules/@prb/math/src/ud2x18/Errors.sol": {
1145
+ "keccak256": "0x3b27e2a57438cd30d9c130f84aace24d547e5ed58e8689691d7d92ad2db38ddd",
1146
+ "urls": [
1147
+ "bzz-raw://841cf9fb45443899c6b659300bbf503c3fd2c1a1e83b7f0e28620eed457f7437",
1148
+ "dweb:/ipfs/QmUqg8WscP5yQPw3UMUCWaB9RLU6nryGzseuyhAjNnDc1i"
1149
+ ],
1150
+ "license": "MIT"
1151
+ },
1152
+ "node_modules/@prb/math/src/ud2x18/ValueType.sol": {
1153
+ "keccak256": "0x975a2e69b48f34a4c0bd80e8a5609ac67b7264c91992c0944f9ebe7b9e3fc9d0",
1154
+ "urls": [
1155
+ "bzz-raw://65d012521c475295d7e70b7d526fcc0911d0f238ea938719d77251bba00c9b41",
1156
+ "dweb:/ipfs/QmexEvTQCCBPYRWAYnomZX5M7C2EkXQRAXqEYMNUZfazCs"
1157
+ ],
1158
+ "license": "MIT"
1159
+ },
1160
+ "node_modules/@prb/math/src/ud60x18/Casting.sol": {
1161
+ "keccak256": "0x0803318ddc98b4ba8fbfe70e5ee08d78387fe6ae00982b9960518085a751d7b6",
1162
+ "urls": [
1163
+ "bzz-raw://2e68a2f780b2e33fa5416eb60f9daa81f014c2591119f4b67bed1217d5530780",
1164
+ "dweb:/ipfs/QmZe7JTWvbfKqMnu4sxUwWCtLcCay9hH71VZUpoFCdENcr"
1165
+ ],
1166
+ "license": "MIT"
1167
+ },
1168
+ "node_modules/@prb/math/src/ud60x18/Constants.sol": {
1169
+ "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90",
1170
+ "urls": [
1171
+ "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b",
1172
+ "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5"
1173
+ ],
1174
+ "license": "MIT"
1175
+ },
1176
+ "node_modules/@prb/math/src/ud60x18/Conversions.sol": {
1177
+ "keccak256": "0xd486ecca97abe69acdb28230088f4c7097fbdae5b36c5ae45d5be2faac4c33f2",
1178
+ "urls": [
1179
+ "bzz-raw://6080870ec6955ff0f5278f9c480b218a68714daf5f2ee42da0276d08d7b82932",
1180
+ "dweb:/ipfs/QmQ1SERHdemJgPrt4USwY8j5r63jZ8fQuJAm1knjMEEQEY"
1181
+ ],
1182
+ "license": "MIT"
1183
+ },
1184
+ "node_modules/@prb/math/src/ud60x18/Errors.sol": {
1185
+ "keccak256": "0xbab6b0e303d32f3a9d9e2fe881f0392b8c59a73051a4d34f21a403b3961b3044",
1186
+ "urls": [
1187
+ "bzz-raw://86a019bcf2510d0691287329dc057479cc0abc48a5e15f245e7f15c03052d2c8",
1188
+ "dweb:/ipfs/QmeXe5pbpDHvN5DZ8puXmH2RJ25zDHj55wpiStWtNQPvq6"
1189
+ ],
1190
+ "license": "MIT"
1191
+ },
1192
+ "node_modules/@prb/math/src/ud60x18/Helpers.sol": {
1193
+ "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268",
1194
+ "urls": [
1195
+ "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5",
1196
+ "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr"
1197
+ ],
1198
+ "license": "MIT"
1199
+ },
1200
+ "node_modules/@prb/math/src/ud60x18/Math.sol": {
1201
+ "keccak256": "0xc4e51dfd9af62938e277e90fa724099f239d33727a35909ed48c292a76faf2fc",
1202
+ "urls": [
1203
+ "bzz-raw://d731537cbc50b852c21d28625aeb2c329729afc23a7b86ff9d8ee5878f47e9d6",
1204
+ "dweb:/ipfs/QmS7Cj4pAdPZcTp7RqYXyxBc9EYX92CT8icfkNigktUsLr"
1205
+ ],
1206
+ "license": "MIT"
1207
+ },
1208
+ "node_modules/@prb/math/src/ud60x18/ValueType.sol": {
1209
+ "keccak256": "0x1b200baf25d01a8b91b97b42114248636f742b5b7028487ef4daef6621e378a3",
1210
+ "urls": [
1211
+ "bzz-raw://b5708ed017206bda2197654e80bea9f37b3a9993434bb066c903c2865e028f47",
1212
+ "dweb:/ipfs/QmTyotZk2J5YvWkNvB2qhXBMgRGWW2UgPqR4JPocrXSr8n"
1213
+ ],
1214
+ "license": "MIT"
1215
+ },
1216
+ "node_modules/@sablier/evm-utils/src/Comptrollerable.sol": {
1217
+ "keccak256": "0xf48c3ba6a78b9f9f5735d72d07a10a8363d573c82251b5e53a0c7ce29ed1a921",
1218
+ "urls": [
1219
+ "bzz-raw://d62e6057b2202ee016aeec50b0ecd7e04324957237f1de53fb2a97c092b577cc",
1220
+ "dweb:/ipfs/QmaXSJam62Z7nkT8T1aN79fiAX2aQARHwufvXNRqFshFab"
1221
+ ],
1222
+ "license": "GPL-3.0-or-later"
1223
+ },
1224
+ "node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol": {
1225
+ "keccak256": "0x3228d63e9b0b951030c73c42bb071e64f0ff0eadbcbeefad3f29a48366539c26",
1226
+ "urls": [
1227
+ "bzz-raw://acc90ad2bec0e84349b56611b35b56bfb75a5930fd1babb2bd638fbbb15bd126",
1228
+ "dweb:/ipfs/QmSLnHx6bo4BQeBKYferfEhZo1Z4xCXdDF1bzJoHUafHt4"
1229
+ ],
1230
+ "license": "GPL-3.0-or-later"
1231
+ },
1232
+ "node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol": {
1233
+ "keccak256": "0xdbc32762b87590be38095a84789906fa7a23fd2c2c112859504549ef3be17522",
1234
+ "urls": [
1235
+ "bzz-raw://14ac13726bb7435ce310dd437a9b58852ca0c35640949e898c803a33a30dee8b",
1236
+ "dweb:/ipfs/QmeeKPApvBHbUF3S98qCnB26Aw67KTQF2GFyGQZCxykyMW"
1237
+ ],
1238
+ "license": "GPL-3.0-or-later"
1239
+ },
1240
+ "node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol": {
1241
+ "keccak256": "0x391cb4bd4bae01e3efdb84f63635644ed6329b72e8a5105ad53833551e8ba825",
1242
+ "urls": [
1243
+ "bzz-raw://ccca9da1c044c15cf0b647a4572c05f5d498fb18b3685a85a8836f7110cb1bc4",
1244
+ "dweb:/ipfs/QmfAKHqvgKQUgpC6VomTjTkc1tDnsbVJD5bLn8wL8KuTFV"
1245
+ ],
1246
+ "license": "GPL-3.0-or-later"
1247
+ },
1248
+ "node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol": {
1249
+ "keccak256": "0x5c52e70a6c083611d4b5518d17d025f70d322ee2c61d81f20f3fe50f4bd824ba",
1250
+ "urls": [
1251
+ "bzz-raw://5c07b2076065f1c65a59176ada3459be53f78e59a2055d9ae92b226edafa484c",
1252
+ "dweb:/ipfs/QmXYRDkBSWUBza1pi439ErzeLoaLUT8Zvj2yWcFZ5F1rgX"
1253
+ ],
1254
+ "license": "GPL-3.0-or-later"
1255
+ },
1256
+ "node_modules/@sablier/evm-utils/src/libraries/Errors.sol": {
1257
+ "keccak256": "0xc9a0fbcd6d582054420a32c538204ac7adb789320c6564f278ccf45baf4485c8",
1258
+ "urls": [
1259
+ "bzz-raw://a4da46b25df4fe89ce9f0315e1ef6561554f72b2dc7edbc43bdcdf9d65e8b709",
1260
+ "dweb:/ipfs/QmNW4VtuPSsLULst92GJmmcTCRHu4n5ndU9Jb4MbVes1jp"
1261
+ ],
1262
+ "license": "GPL-3.0-or-later"
1263
+ },
1264
+ "src/SablierEscrow.sol": {
1265
+ "keccak256": "0x36702570179d711958d5beaffddf1ec75c388d755b229f9eaeae2ebddd18c6ed",
1266
+ "urls": [
1267
+ "bzz-raw://9eb912cd798622274a12a48fd232bdc69b32ec642a6622852e43bbf5997f9ad2",
1268
+ "dweb:/ipfs/QmTTCbNDTnQsqu6EBXCJb8eetLzJwdXuLNWw9QyXzrdGVx"
1269
+ ],
1270
+ "license": "GPL-3.0-or-later"
1271
+ },
1272
+ "src/abstracts/SablierEscrowState.sol": {
1273
+ "keccak256": "0x87935ee4d1235906da4571379a04e93ccb7a5703481c9dde879660ce8d1f7b7a",
1274
+ "urls": [
1275
+ "bzz-raw://f3ad20d9808d8265024ca5b07bff6ac31920e873489b434e8244ee49d9df2694",
1276
+ "dweb:/ipfs/QmQmvwf3cqDJFC9RmE86raZGLMTRYSrcLqovoKseGzXVVY"
1277
+ ],
1278
+ "license": "GPL-3.0-or-later"
1279
+ },
1280
+ "src/interfaces/ISablierEscrow.sol": {
1281
+ "keccak256": "0xa8c89ec7541808fbecb5763de35713976b443316fc4d1a0e35456673e99da571",
1282
+ "urls": [
1283
+ "bzz-raw://21954d789edc4604209aad32ec3cc2a2fa47dad73c249471b0552d4947cc13d2",
1284
+ "dweb:/ipfs/QmZPoBXqdgZ6MSHMPMGMvcHgXxw5r953zZSs3FLgz3zXMF"
1285
+ ],
1286
+ "license": "GPL-3.0-or-later"
1287
+ },
1288
+ "src/interfaces/ISablierEscrowState.sol": {
1289
+ "keccak256": "0x3ed9e131691e51df2b886deac2dec0f4fc5119e0893612d86ff0d96b54766a82",
1290
+ "urls": [
1291
+ "bzz-raw://6e1ce2ad520eefe15110af1a62080b87ba17dd8c9e8ba9557263b189b4d02898",
1292
+ "dweb:/ipfs/QmRF7Mk5YBxSh155wmpQuwFraU4H2xZSZz8nXHf6A9cWbL"
1293
+ ],
1294
+ "license": "GPL-3.0-or-later"
1295
+ },
1296
+ "src/libraries/Errors.sol": {
1297
+ "keccak256": "0x6c053ba4f029f4835883cf2fecd2b8adb1371b8e9820f5a3fdf679fd864ac682",
1298
+ "urls": [
1299
+ "bzz-raw://e1d64e7f44f0e8dcb3c6842a1baa119c3dd4b1b14f29c07c4c93b4185f0a566e",
1300
+ "dweb:/ipfs/QmUjf9S6JduDhmpD8VriK8bMRYXD8m7XMRohhnE91mjDc9"
1301
+ ],
1302
+ "license": "GPL-3.0-or-later"
1303
+ },
1304
+ "src/types/Escrow.sol": {
1305
+ "keccak256": "0xc4c65957eab4cfd50d7806778ca69366aebe22e98736315c62fa36bda5cddba6",
1306
+ "urls": [
1307
+ "bzz-raw://ef915ead3c018cd9c629fd3738eba614dfa0499492d25162129e9374607756c1",
1308
+ "dweb:/ipfs/QmenoUAVQFvKU4XVNm9Pm7RxvrTgBBJFXF6uNjqHMV1wAU"
1309
+ ],
1310
+ "license": "GPL-3.0-or-later"
1311
+ }
1312
+ },
1313
+ "version": 1
1314
+ },
1315
+ "id": 82
1316
+ }