@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,999 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "function",
5
+ "name": "MAX_TRADE_FEE",
6
+ "inputs": [],
7
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "UD60x18" }],
8
+ "stateMutability": "view"
9
+ },
10
+ {
11
+ "type": "function",
12
+ "name": "cancelOrder",
13
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
14
+ "outputs": [],
15
+ "stateMutability": "nonpayable"
16
+ },
17
+ {
18
+ "type": "function",
19
+ "name": "comptroller",
20
+ "inputs": [],
21
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract ISablierComptroller" }],
22
+ "stateMutability": "view"
23
+ },
24
+ {
25
+ "type": "function",
26
+ "name": "createOrder",
27
+ "inputs": [
28
+ { "name": "sellToken", "type": "address", "internalType": "contract IERC20" },
29
+ { "name": "sellAmount", "type": "uint128", "internalType": "uint128" },
30
+ { "name": "buyToken", "type": "address", "internalType": "contract IERC20" },
31
+ { "name": "minBuyAmount", "type": "uint128", "internalType": "uint128" },
32
+ { "name": "buyer", "type": "address", "internalType": "address" },
33
+ { "name": "expiryTime", "type": "uint40", "internalType": "uint40" }
34
+ ],
35
+ "outputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
36
+ "stateMutability": "nonpayable"
37
+ },
38
+ {
39
+ "type": "function",
40
+ "name": "fillOrder",
41
+ "inputs": [
42
+ { "name": "orderId", "type": "uint256", "internalType": "uint256" },
43
+ { "name": "buyAmount", "type": "uint128", "internalType": "uint128" }
44
+ ],
45
+ "outputs": [
46
+ { "name": "amountToTransferToSeller", "type": "uint128", "internalType": "uint128" },
47
+ { "name": "amountToTransferToBuyer", "type": "uint128", "internalType": "uint128" },
48
+ { "name": "feeDeductedFromBuyerAmount", "type": "uint128", "internalType": "uint128" },
49
+ { "name": "feeDeductedFromSellerAmount", "type": "uint128", "internalType": "uint128" }
50
+ ],
51
+ "stateMutability": "nonpayable"
52
+ },
53
+ {
54
+ "type": "function",
55
+ "name": "getBuyToken",
56
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
57
+ "outputs": [{ "name": "buyToken", "type": "address", "internalType": "contract IERC20" }],
58
+ "stateMutability": "view"
59
+ },
60
+ {
61
+ "type": "function",
62
+ "name": "getBuyer",
63
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
64
+ "outputs": [{ "name": "buyer", "type": "address", "internalType": "address" }],
65
+ "stateMutability": "view"
66
+ },
67
+ {
68
+ "type": "function",
69
+ "name": "getExpiryTime",
70
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
71
+ "outputs": [{ "name": "expiryTime", "type": "uint40", "internalType": "uint40" }],
72
+ "stateMutability": "view"
73
+ },
74
+ {
75
+ "type": "function",
76
+ "name": "getMinBuyAmount",
77
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
78
+ "outputs": [{ "name": "minBuyAmount", "type": "uint128", "internalType": "uint128" }],
79
+ "stateMutability": "view"
80
+ },
81
+ {
82
+ "type": "function",
83
+ "name": "getSellAmount",
84
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
85
+ "outputs": [{ "name": "sellAmount", "type": "uint128", "internalType": "uint128" }],
86
+ "stateMutability": "view"
87
+ },
88
+ {
89
+ "type": "function",
90
+ "name": "getSellToken",
91
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
92
+ "outputs": [{ "name": "sellToken", "type": "address", "internalType": "contract IERC20" }],
93
+ "stateMutability": "view"
94
+ },
95
+ {
96
+ "type": "function",
97
+ "name": "getSeller",
98
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
99
+ "outputs": [{ "name": "seller", "type": "address", "internalType": "address" }],
100
+ "stateMutability": "view"
101
+ },
102
+ {
103
+ "type": "function",
104
+ "name": "nativeToken",
105
+ "inputs": [],
106
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
107
+ "stateMutability": "view"
108
+ },
109
+ {
110
+ "type": "function",
111
+ "name": "nextOrderId",
112
+ "inputs": [],
113
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
114
+ "stateMutability": "view"
115
+ },
116
+ {
117
+ "type": "function",
118
+ "name": "setComptroller",
119
+ "inputs": [{ "name": "newComptroller", "type": "address", "internalType": "contract ISablierComptroller" }],
120
+ "outputs": [],
121
+ "stateMutability": "nonpayable"
122
+ },
123
+ {
124
+ "type": "function",
125
+ "name": "setNativeToken",
126
+ "inputs": [{ "name": "newNativeToken", "type": "address", "internalType": "address" }],
127
+ "outputs": [],
128
+ "stateMutability": "nonpayable"
129
+ },
130
+ {
131
+ "type": "function",
132
+ "name": "setTradeFee",
133
+ "inputs": [{ "name": "newTradeFee", "type": "uint256", "internalType": "UD60x18" }],
134
+ "outputs": [],
135
+ "stateMutability": "nonpayable"
136
+ },
137
+ {
138
+ "type": "function",
139
+ "name": "statusOf",
140
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
141
+ "outputs": [{ "name": "status", "type": "uint8", "internalType": "enum Escrow.Status" }],
142
+ "stateMutability": "view"
143
+ },
144
+ {
145
+ "type": "function",
146
+ "name": "tradeFee",
147
+ "inputs": [],
148
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "UD60x18" }],
149
+ "stateMutability": "view"
150
+ },
151
+ {
152
+ "type": "function",
153
+ "name": "transferFeesToComptroller",
154
+ "inputs": [],
155
+ "outputs": [],
156
+ "stateMutability": "nonpayable"
157
+ },
158
+ {
159
+ "type": "function",
160
+ "name": "wasCanceled",
161
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
162
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
163
+ "stateMutability": "view"
164
+ },
165
+ {
166
+ "type": "function",
167
+ "name": "wasFilled",
168
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
169
+ "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
170
+ "stateMutability": "view"
171
+ },
172
+ {
173
+ "type": "event",
174
+ "name": "CancelOrder",
175
+ "inputs": [
176
+ { "name": "orderId", "type": "uint256", "indexed": true, "internalType": "uint256" },
177
+ { "name": "seller", "type": "address", "indexed": true, "internalType": "address" },
178
+ { "name": "sellAmount", "type": "uint128", "indexed": false, "internalType": "uint128" }
179
+ ],
180
+ "anonymous": false
181
+ },
182
+ {
183
+ "type": "event",
184
+ "name": "CreateOrder",
185
+ "inputs": [
186
+ { "name": "orderId", "type": "uint256", "indexed": true, "internalType": "uint256" },
187
+ { "name": "seller", "type": "address", "indexed": true, "internalType": "address" },
188
+ { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" },
189
+ { "name": "sellToken", "type": "address", "indexed": false, "internalType": "contract IERC20" },
190
+ { "name": "buyToken", "type": "address", "indexed": false, "internalType": "contract IERC20" },
191
+ { "name": "sellAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
192
+ { "name": "minBuyAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
193
+ { "name": "expiryTime", "type": "uint40", "indexed": false, "internalType": "uint40" }
194
+ ],
195
+ "anonymous": false
196
+ },
197
+ {
198
+ "type": "event",
199
+ "name": "FillOrder",
200
+ "inputs": [
201
+ { "name": "orderId", "type": "uint256", "indexed": true, "internalType": "uint256" },
202
+ { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" },
203
+ { "name": "seller", "type": "address", "indexed": true, "internalType": "address" },
204
+ { "name": "sellAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
205
+ { "name": "buyAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
206
+ { "name": "feeDeductedFromBuyerAmount", "type": "uint128", "indexed": false, "internalType": "uint128" },
207
+ { "name": "feeDeductedFromSellerAmount", "type": "uint128", "indexed": false, "internalType": "uint128" }
208
+ ],
209
+ "anonymous": false
210
+ },
211
+ {
212
+ "type": "event",
213
+ "name": "SetComptroller",
214
+ "inputs": [
215
+ {
216
+ "name": "oldComptroller",
217
+ "type": "address",
218
+ "indexed": false,
219
+ "internalType": "contract ISablierComptroller"
220
+ },
221
+ {
222
+ "name": "newComptroller",
223
+ "type": "address",
224
+ "indexed": false,
225
+ "internalType": "contract ISablierComptroller"
226
+ }
227
+ ],
228
+ "anonymous": false
229
+ },
230
+ {
231
+ "type": "event",
232
+ "name": "SetNativeToken",
233
+ "inputs": [
234
+ { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
235
+ { "name": "nativeToken", "type": "address", "indexed": false, "internalType": "address" }
236
+ ],
237
+ "anonymous": false
238
+ },
239
+ {
240
+ "type": "event",
241
+ "name": "SetTradeFee",
242
+ "inputs": [
243
+ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" },
244
+ { "name": "previousTradeFee", "type": "uint256", "indexed": false, "internalType": "UD60x18" },
245
+ { "name": "newTradeFee", "type": "uint256", "indexed": false, "internalType": "UD60x18" }
246
+ ],
247
+ "anonymous": false
248
+ },
249
+ {
250
+ "type": "event",
251
+ "name": "TransferFeesToComptroller",
252
+ "inputs": [
253
+ { "name": "comptroller", "type": "address", "indexed": true, "internalType": "address" },
254
+ { "name": "feeAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }
255
+ ],
256
+ "anonymous": false
257
+ }
258
+ ],
259
+ "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
260
+ "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
261
+ "methodIdentifiers": {
262
+ "MAX_TRADE_FEE()": "0a87f148",
263
+ "cancelOrder(uint256)": "514fcac7",
264
+ "comptroller()": "5fe3b567",
265
+ "createOrder(address,uint128,address,uint128,address,uint40)": "3cb23348",
266
+ "fillOrder(uint256,uint128)": "b5e176b2",
267
+ "getBuyToken(uint256)": "d4d577c4",
268
+ "getBuyer(uint256)": "5bf608b8",
269
+ "getExpiryTime(uint256)": "d831a7c6",
270
+ "getMinBuyAmount(uint256)": "fa0aaf85",
271
+ "getSellAmount(uint256)": "768713f5",
272
+ "getSellToken(uint256)": "bdbf970b",
273
+ "getSeller(uint256)": "d6a9de51",
274
+ "nativeToken()": "e1758bd8",
275
+ "nextOrderId()": "2a58b330",
276
+ "setComptroller(address)": "8bad38dd",
277
+ "setNativeToken(address)": "6da1e102",
278
+ "setTradeFee(uint256)": "10603023",
279
+ "statusOf(uint256)": "ad35efd4",
280
+ "tradeFee()": "24bcdfbd",
281
+ "transferFeesToComptroller()": "78f82ce7",
282
+ "wasCanceled(uint256)": "f590c176",
283
+ "wasFilled(uint256)": "79ce78e3"
284
+ },
285
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"wasFilled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"MAX_TRADE_FEE()\":{\"details\":\"This is a constant state variable.\"},\"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.\"}},\"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.\"},\"nativeToken()\":{\"details\":\"The native tokens on some chains have a dual interface as ERC-20. For example, on Polygon the $POL token is the native token and has an ERC-20 version at 0x0000000000000000000000000000000000001010. This means that `address(this).balance` returns the same value as `balanceOf(address(this))`. To avoid any unintended behavior, these tokens cannot be used in Sablier. As an alternative, users can use the Wrapped version of the token, i.e. WMATIC, which is a standard ERC-20 token.\"},\"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.\"},\"tradeFee()\":{\"details\":\"This trade fee is taken from both the sell and buy amounts in their respective tokens.\"},\"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\":\"ISablierEscrow\",\"version\":1},\"userdoc\":{\"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\":\"A peer-to-peer token swap protocol that allows users to swap ERC-20 tokens with each other.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ISablierEscrow.sol\":\"ISablierEscrow\"},\"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/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/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/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\"]},\"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/types/Escrow.sol\":{\"keccak256\":\"0xc4c65957eab4cfd50d7806778ca69366aebe22e98736315c62fa36bda5cddba6\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://ef915ead3c018cd9c629fd3738eba614dfa0499492d25162129e9374607756c1\",\"dweb:/ipfs/QmenoUAVQFvKU4XVNm9Pm7RxvrTgBBJFXF6uNjqHMV1wAU\"]}},\"version\":1}",
286
+ "metadata": {
287
+ "compiler": { "version": "0.8.29+commit.ab55807c" },
288
+ "language": "Solidity",
289
+ "output": {
290
+ "abi": [
291
+ {
292
+ "inputs": [
293
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": true },
294
+ { "internalType": "address", "name": "seller", "type": "address", "indexed": true },
295
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128", "indexed": false }
296
+ ],
297
+ "type": "event",
298
+ "name": "CancelOrder",
299
+ "anonymous": false
300
+ },
301
+ {
302
+ "inputs": [
303
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": true },
304
+ { "internalType": "address", "name": "seller", "type": "address", "indexed": true },
305
+ { "internalType": "address", "name": "buyer", "type": "address", "indexed": true },
306
+ { "internalType": "contract IERC20", "name": "sellToken", "type": "address", "indexed": false },
307
+ { "internalType": "contract IERC20", "name": "buyToken", "type": "address", "indexed": false },
308
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128", "indexed": false },
309
+ { "internalType": "uint128", "name": "minBuyAmount", "type": "uint128", "indexed": false },
310
+ { "internalType": "uint40", "name": "expiryTime", "type": "uint40", "indexed": false }
311
+ ],
312
+ "type": "event",
313
+ "name": "CreateOrder",
314
+ "anonymous": false
315
+ },
316
+ {
317
+ "inputs": [
318
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": true },
319
+ { "internalType": "address", "name": "buyer", "type": "address", "indexed": true },
320
+ { "internalType": "address", "name": "seller", "type": "address", "indexed": true },
321
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128", "indexed": false },
322
+ { "internalType": "uint128", "name": "buyAmount", "type": "uint128", "indexed": false },
323
+ { "internalType": "uint128", "name": "feeDeductedFromBuyerAmount", "type": "uint128", "indexed": false },
324
+ { "internalType": "uint128", "name": "feeDeductedFromSellerAmount", "type": "uint128", "indexed": false }
325
+ ],
326
+ "type": "event",
327
+ "name": "FillOrder",
328
+ "anonymous": false
329
+ },
330
+ {
331
+ "inputs": [
332
+ {
333
+ "internalType": "contract ISablierComptroller",
334
+ "name": "oldComptroller",
335
+ "type": "address",
336
+ "indexed": false
337
+ },
338
+ {
339
+ "internalType": "contract ISablierComptroller",
340
+ "name": "newComptroller",
341
+ "type": "address",
342
+ "indexed": false
343
+ }
344
+ ],
345
+ "type": "event",
346
+ "name": "SetComptroller",
347
+ "anonymous": false
348
+ },
349
+ {
350
+ "inputs": [
351
+ { "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
352
+ { "internalType": "address", "name": "nativeToken", "type": "address", "indexed": false }
353
+ ],
354
+ "type": "event",
355
+ "name": "SetNativeToken",
356
+ "anonymous": false
357
+ },
358
+ {
359
+ "inputs": [
360
+ { "internalType": "address", "name": "caller", "type": "address", "indexed": true },
361
+ { "internalType": "UD60x18", "name": "previousTradeFee", "type": "uint256", "indexed": false },
362
+ { "internalType": "UD60x18", "name": "newTradeFee", "type": "uint256", "indexed": false }
363
+ ],
364
+ "type": "event",
365
+ "name": "SetTradeFee",
366
+ "anonymous": false
367
+ },
368
+ {
369
+ "inputs": [
370
+ { "internalType": "address", "name": "comptroller", "type": "address", "indexed": true },
371
+ { "internalType": "uint256", "name": "feeAmount", "type": "uint256", "indexed": false }
372
+ ],
373
+ "type": "event",
374
+ "name": "TransferFeesToComptroller",
375
+ "anonymous": false
376
+ },
377
+ {
378
+ "inputs": [],
379
+ "stateMutability": "view",
380
+ "type": "function",
381
+ "name": "MAX_TRADE_FEE",
382
+ "outputs": [{ "internalType": "UD60x18", "name": "", "type": "uint256" }]
383
+ },
384
+ {
385
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
386
+ "stateMutability": "nonpayable",
387
+ "type": "function",
388
+ "name": "cancelOrder"
389
+ },
390
+ {
391
+ "inputs": [],
392
+ "stateMutability": "view",
393
+ "type": "function",
394
+ "name": "comptroller",
395
+ "outputs": [{ "internalType": "contract ISablierComptroller", "name": "", "type": "address" }]
396
+ },
397
+ {
398
+ "inputs": [
399
+ { "internalType": "contract IERC20", "name": "sellToken", "type": "address" },
400
+ { "internalType": "uint128", "name": "sellAmount", "type": "uint128" },
401
+ { "internalType": "contract IERC20", "name": "buyToken", "type": "address" },
402
+ { "internalType": "uint128", "name": "minBuyAmount", "type": "uint128" },
403
+ { "internalType": "address", "name": "buyer", "type": "address" },
404
+ { "internalType": "uint40", "name": "expiryTime", "type": "uint40" }
405
+ ],
406
+ "stateMutability": "nonpayable",
407
+ "type": "function",
408
+ "name": "createOrder",
409
+ "outputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }]
410
+ },
411
+ {
412
+ "inputs": [
413
+ { "internalType": "uint256", "name": "orderId", "type": "uint256" },
414
+ { "internalType": "uint128", "name": "buyAmount", "type": "uint128" }
415
+ ],
416
+ "stateMutability": "nonpayable",
417
+ "type": "function",
418
+ "name": "fillOrder",
419
+ "outputs": [
420
+ { "internalType": "uint128", "name": "amountToTransferToSeller", "type": "uint128" },
421
+ { "internalType": "uint128", "name": "amountToTransferToBuyer", "type": "uint128" },
422
+ { "internalType": "uint128", "name": "feeDeductedFromBuyerAmount", "type": "uint128" },
423
+ { "internalType": "uint128", "name": "feeDeductedFromSellerAmount", "type": "uint128" }
424
+ ]
425
+ },
426
+ {
427
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
428
+ "stateMutability": "view",
429
+ "type": "function",
430
+ "name": "getBuyToken",
431
+ "outputs": [{ "internalType": "contract IERC20", "name": "buyToken", "type": "address" }]
432
+ },
433
+ {
434
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
435
+ "stateMutability": "view",
436
+ "type": "function",
437
+ "name": "getBuyer",
438
+ "outputs": [{ "internalType": "address", "name": "buyer", "type": "address" }]
439
+ },
440
+ {
441
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
442
+ "stateMutability": "view",
443
+ "type": "function",
444
+ "name": "getExpiryTime",
445
+ "outputs": [{ "internalType": "uint40", "name": "expiryTime", "type": "uint40" }]
446
+ },
447
+ {
448
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
449
+ "stateMutability": "view",
450
+ "type": "function",
451
+ "name": "getMinBuyAmount",
452
+ "outputs": [{ "internalType": "uint128", "name": "minBuyAmount", "type": "uint128" }]
453
+ },
454
+ {
455
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
456
+ "stateMutability": "view",
457
+ "type": "function",
458
+ "name": "getSellAmount",
459
+ "outputs": [{ "internalType": "uint128", "name": "sellAmount", "type": "uint128" }]
460
+ },
461
+ {
462
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
463
+ "stateMutability": "view",
464
+ "type": "function",
465
+ "name": "getSellToken",
466
+ "outputs": [{ "internalType": "contract IERC20", "name": "sellToken", "type": "address" }]
467
+ },
468
+ {
469
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
470
+ "stateMutability": "view",
471
+ "type": "function",
472
+ "name": "getSeller",
473
+ "outputs": [{ "internalType": "address", "name": "seller", "type": "address" }]
474
+ },
475
+ {
476
+ "inputs": [],
477
+ "stateMutability": "view",
478
+ "type": "function",
479
+ "name": "nativeToken",
480
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
481
+ },
482
+ {
483
+ "inputs": [],
484
+ "stateMutability": "view",
485
+ "type": "function",
486
+ "name": "nextOrderId",
487
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
488
+ },
489
+ {
490
+ "inputs": [{ "internalType": "contract ISablierComptroller", "name": "newComptroller", "type": "address" }],
491
+ "stateMutability": "nonpayable",
492
+ "type": "function",
493
+ "name": "setComptroller"
494
+ },
495
+ {
496
+ "inputs": [{ "internalType": "address", "name": "newNativeToken", "type": "address" }],
497
+ "stateMutability": "nonpayable",
498
+ "type": "function",
499
+ "name": "setNativeToken"
500
+ },
501
+ {
502
+ "inputs": [{ "internalType": "UD60x18", "name": "newTradeFee", "type": "uint256" }],
503
+ "stateMutability": "nonpayable",
504
+ "type": "function",
505
+ "name": "setTradeFee"
506
+ },
507
+ {
508
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
509
+ "stateMutability": "view",
510
+ "type": "function",
511
+ "name": "statusOf",
512
+ "outputs": [{ "internalType": "enum Escrow.Status", "name": "status", "type": "uint8" }]
513
+ },
514
+ {
515
+ "inputs": [],
516
+ "stateMutability": "view",
517
+ "type": "function",
518
+ "name": "tradeFee",
519
+ "outputs": [{ "internalType": "UD60x18", "name": "", "type": "uint256" }]
520
+ },
521
+ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "transferFeesToComptroller" },
522
+ {
523
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
524
+ "stateMutability": "view",
525
+ "type": "function",
526
+ "name": "wasCanceled",
527
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
528
+ },
529
+ {
530
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
531
+ "stateMutability": "view",
532
+ "type": "function",
533
+ "name": "wasFilled",
534
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
535
+ }
536
+ ],
537
+ "devdoc": {
538
+ "kind": "dev",
539
+ "methods": {
540
+ "MAX_TRADE_FEE()": { "details": "This is a constant state variable." },
541
+ "cancelOrder(uint256)": {
542
+ "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.",
543
+ "params": { "orderId": "The order ID to cancel." }
544
+ },
545
+ "createOrder(address,uint128,address,uint128,address,uint40)": {
546
+ "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`.",
547
+ "params": {
548
+ "buyToken": "The address of the ERC-20 token to receive.",
549
+ "buyer": "The designated counterparty address specified by the seller. If its zero address, the order can be filled by anyone.",
550
+ "expiryTime": "The Unix timestamp when the order expires. Zero is sentinel for orders that never expire.",
551
+ "minBuyAmount": "The minimum amount of buy token to fill this trade.",
552
+ "sellAmount": "The amount of sell token to exchange.",
553
+ "sellToken": "The address of the ERC-20 token to sell."
554
+ },
555
+ "returns": { "orderId": "The order ID of the newly created order." }
556
+ },
557
+ "fillOrder(uint256,uint128)": {
558
+ "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`.",
559
+ "params": { "buyAmount": "The amount of buy token to exchange.", "orderId": "The order ID to fill." },
560
+ "returns": {
561
+ "amountToTransferToBuyer": "The amount of sell token to transfer to the buyer after deducting fees.",
562
+ "amountToTransferToSeller": "The amount of buy token to transfer to the seller after deducting fees.",
563
+ "feeDeductedFromBuyerAmount": "The amount of sell token deducted from the buyer's amount as fees.",
564
+ "feeDeductedFromSellerAmount": "The amount of buy token deducted from the seller's amount as fees."
565
+ }
566
+ },
567
+ "getBuyToken(uint256)": { "details": "Reverts if `orderId` references a null order." },
568
+ "getBuyer(uint256)": { "details": "Reverts if `orderId` references a null order." },
569
+ "getExpiryTime(uint256)": { "details": "Reverts if `orderId` references a null order." },
570
+ "getMinBuyAmount(uint256)": { "details": "Reverts if `orderId` references a null order." },
571
+ "getSellAmount(uint256)": { "details": "Reverts if `orderId` references a null order." },
572
+ "getSellToken(uint256)": { "details": "Reverts if `orderId` references a null order." },
573
+ "getSeller(uint256)": { "details": "Reverts if `orderId` references a null order." },
574
+ "nativeToken()": {
575
+ "details": "The native tokens on some chains have a dual interface as ERC-20. For example, on Polygon the $POL token is the native token and has an ERC-20 version at 0x0000000000000000000000000000000000001010. This means that `address(this).balance` returns the same value as `balanceOf(address(this))`. To avoid any unintended behavior, these tokens cannot be used in Sablier. As an alternative, users can use the Wrapped version of the token, i.e. WMATIC, which is a standard ERC-20 token."
576
+ },
577
+ "setComptroller(address)": {
578
+ "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}",
579
+ "params": { "newComptroller": "The address of the new comptroller contract." }
580
+ },
581
+ "setNativeToken(address)": {
582
+ "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.",
583
+ "params": { "newNativeToken": "The address of the native token." }
584
+ },
585
+ "setTradeFee(uint256)": {
586
+ "details": "Emits a {SetTradeFee} event. Requirements: - The caller must be the comptroller. - `newTradeFee` must not exceed the maximum trade fee.",
587
+ "params": { "newTradeFee": "The new trade fee to set, denominated in UD60x18, where 1e18 = 100%." }
588
+ },
589
+ "statusOf(uint256)": { "details": "Reverts if `orderId` references a null order." },
590
+ "tradeFee()": {
591
+ "details": "This trade fee is taken from both the sell and buy amounts in their respective tokens."
592
+ },
593
+ "transferFeesToComptroller()": { "details": "Emits a {TransferFeesToComptroller} event." },
594
+ "wasCanceled(uint256)": { "details": "Reverts if `orderId` references a null order." },
595
+ "wasFilled(uint256)": { "details": "Reverts if `orderId` references a null order." }
596
+ },
597
+ "version": 1
598
+ },
599
+ "userdoc": {
600
+ "kind": "user",
601
+ "methods": {
602
+ "MAX_TRADE_FEE()": {
603
+ "notice": "Returns the maximum trade fee that can be applied, denominated in UD60x18, where 1e18 = 100%."
604
+ },
605
+ "cancelOrder(uint256)": { "notice": "Cancels an order and returns the escrowed tokens to the caller." },
606
+ "comptroller()": { "notice": "Retrieves the address of the comptroller contract." },
607
+ "createOrder(address,uint128,address,uint128,address,uint40)": {
608
+ "notice": "Creates a new order for a peer-to-peer token swap."
609
+ },
610
+ "fillOrder(uint256,uint128)": { "notice": "Fill an open order." },
611
+ "getBuyToken(uint256)": {
612
+ "notice": "Retrieves the address of the ERC-20 token the seller wants to receive."
613
+ },
614
+ "getBuyer(uint256)": {
615
+ "notice": "Retrieves the buyer address for the given order. If its zero address, the order can be filled by any address."
616
+ },
617
+ "getExpiryTime(uint256)": {
618
+ "notice": "Retrieves the time when the order expires and can no longer be filled. Zero is sentinel for orders that never expire."
619
+ },
620
+ "getMinBuyAmount(uint256)": {
621
+ "notice": "Retrieves the minimum amount of buy token required to fill the order."
622
+ },
623
+ "getSellAmount(uint256)": {
624
+ "notice": "Retrieves the amount of sell token that the seller is willing to sell."
625
+ },
626
+ "getSellToken(uint256)": {
627
+ "notice": "Retrieves the address of the ERC-20 token that the seller is willing to sell."
628
+ },
629
+ "getSeller(uint256)": { "notice": "Retrieves the address of the seller who created the order." },
630
+ "nativeToken()": {
631
+ "notice": "Retrieves the address of the ERC-20 interface of the native token, if it exists."
632
+ },
633
+ "nextOrderId()": { "notice": "Counter for order IDs. It's incremented every time a new order is created." },
634
+ "setComptroller(address)": { "notice": "Sets the comptroller to a new address." },
635
+ "setNativeToken(address)": { "notice": "Sets the native token address. Once set, it cannot be changed." },
636
+ "setTradeFee(uint256)": { "notice": "Sets the fee to apply on each trade." },
637
+ "statusOf(uint256)": { "notice": "Returns the status of the order." },
638
+ "tradeFee()": { "notice": "Returns the fee percentage, denominated in UD60x18, where 1e18 = 100%." },
639
+ "transferFeesToComptroller()": { "notice": "Transfers the fees to the comptroller contract." },
640
+ "wasCanceled(uint256)": { "notice": "Retrieves a flag indicating whether the order was canceled." },
641
+ "wasFilled(uint256)": { "notice": "Retrieves a flag indicating whether the order was filled." }
642
+ },
643
+ "version": 1
644
+ }
645
+ },
646
+ "settings": {
647
+ "remappings": [
648
+ "@arbitrum/=node_modules/@arbitrum/",
649
+ "@chainlink/=node_modules/@chainlink/",
650
+ "@eth-optimism/=node_modules/@eth-optimism/",
651
+ "@offchainlabs/=node_modules/@offchainlabs/",
652
+ "@openzeppelin/=node_modules/@openzeppelin/",
653
+ "@prb/=node_modules/@prb/",
654
+ "@sablier/=node_modules/@sablier/",
655
+ "@scroll-tech/=node_modules/@scroll-tech/",
656
+ "@zksync/=node_modules/@zksync/",
657
+ "forge-std/=node_modules/forge-std/"
658
+ ],
659
+ "optimizer": { "enabled": true, "runs": 1000000 },
660
+ "metadata": { "bytecodeHash": "ipfs" },
661
+ "compilationTarget": { "src/interfaces/ISablierEscrow.sol": "ISablierEscrow" },
662
+ "evmVersion": "shanghai",
663
+ "libraries": {},
664
+ "viaIR": true
665
+ },
666
+ "sources": {
667
+ "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": {
668
+ "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d",
669
+ "urls": [
670
+ "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196",
671
+ "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"
672
+ ],
673
+ "license": "MIT"
674
+ },
675
+ "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
676
+ "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7",
677
+ "urls": [
678
+ "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db",
679
+ "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"
680
+ ],
681
+ "license": "MIT"
682
+ },
683
+ "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": {
684
+ "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8",
685
+ "urls": [
686
+ "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621",
687
+ "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"
688
+ ],
689
+ "license": "MIT"
690
+ },
691
+ "node_modules/@prb/math/src/Common.sol": {
692
+ "keccak256": "0x8225a3898d2f11f585da1fb82234800e9717fa080dbe53d450fd429a3a632e99",
693
+ "urls": [
694
+ "bzz-raw://2dcbf39ca575f68f32f0d1c66391de94082424956e7585e849813966f8c0fc05",
695
+ "dweb:/ipfs/QmYvk8vXFDUJHrmqbtutYXfoLomLBosYLyBzuPoYBxsQ42"
696
+ ],
697
+ "license": "MIT"
698
+ },
699
+ "node_modules/@prb/math/src/UD60x18.sol": {
700
+ "keccak256": "0xb98c6f74275914d279e8af6c502c2b1f50d5f6e1ed418d3b0153f5a193206c48",
701
+ "urls": [
702
+ "bzz-raw://a750edde2955f160806a51083a12185fb04e20efca0e3a7ebd127dc1acc049a9",
703
+ "dweb:/ipfs/QmeAre3mThopoQPB9mSXZq6jck59QZ7JbDFR83urd2SLvp"
704
+ ],
705
+ "license": "MIT"
706
+ },
707
+ "node_modules/@prb/math/src/sd1x18/Casting.sol": {
708
+ "keccak256": "0x5d365f655f01598926c5d4fe5cda277f2cc7736fe38f943c11a32009077ddd5c",
709
+ "urls": [
710
+ "bzz-raw://56b378bd6039819bc12e5f17dabd9492e1410b3281f9df496cf8210539101a11",
711
+ "dweb:/ipfs/QmcMaE64ZWMg9cFhYxdTuG8nfzeDdNuTRHMMoFXi6tSZGu"
712
+ ],
713
+ "license": "MIT"
714
+ },
715
+ "node_modules/@prb/math/src/sd1x18/Constants.sol": {
716
+ "keccak256": "0xc14cc32061863d83912f9616de86f3c34f1ac58614b7d504c6ce07ee8efdb8e8",
717
+ "urls": [
718
+ "bzz-raw://22483b1282dda6a556b0232f008a5a3296bbfd76b1886e6b72bf351b7c554fab",
719
+ "dweb:/ipfs/QmYX9cYkrFxBbhZNKsb6uUxtrc2chmAj7vuc7UKRPGMwos"
720
+ ],
721
+ "license": "MIT"
722
+ },
723
+ "node_modules/@prb/math/src/sd1x18/Errors.sol": {
724
+ "keccak256": "0xc3c8b1ab3d19889c356c222a3a2186d45dfc1d3a17b9ad88159bb64ee457baa6",
725
+ "urls": [
726
+ "bzz-raw://84fbe57569246403f778330bd7723018dfcb5f0ec50d7b1d82cc983c94a54bca",
727
+ "dweb:/ipfs/QmWssAAnovc2EVjt58rTnxraE9B1RMivwTvYCYgpnr6oSE"
728
+ ],
729
+ "license": "MIT"
730
+ },
731
+ "node_modules/@prb/math/src/sd1x18/ValueType.sol": {
732
+ "keccak256": "0xaa9dc7b562faf45264390d80e2ea10c5295bb8a4f10d76261a3f9c04363734c0",
733
+ "urls": [
734
+ "bzz-raw://c6ca36acd15f5cb47cf124ddec289f84e1011f2d29056159e4570435629a3353",
735
+ "dweb:/ipfs/QmUKdiLmZpAkNCq2TKxrPbQPUhiRFXGfjGSnY1VeHVu4y6"
736
+ ],
737
+ "license": "MIT"
738
+ },
739
+ "node_modules/@prb/math/src/sd21x18/Casting.sol": {
740
+ "keccak256": "0x4a16adddb9ab1f6939dd4567c77205015a11081cb840029b84bbb6fdaf78ee36",
741
+ "urls": [
742
+ "bzz-raw://5003b2f4cd2fc1413da36bc63107c6e83a88d29693e8f97b54f300fa78f9c6d2",
743
+ "dweb:/ipfs/QmaNJn91NLrZmeeGqnFQV1FTrLVSW852zHyWTrWJ5pf1pd"
744
+ ],
745
+ "license": "MIT"
746
+ },
747
+ "node_modules/@prb/math/src/sd21x18/Constants.sol": {
748
+ "keccak256": "0x501c2d5cfdea9450422182059c8df1cb6a859901a07bd59631c3fa24edcc79d4",
749
+ "urls": [
750
+ "bzz-raw://4669a65001c92919671fd879d33ce0e5030b602a7ba4d36bd2308128d8d1f396",
751
+ "dweb:/ipfs/QmUC3bJ3qdkCmLMw3WHBcEqvuC4tExT2LXzUhgu5KQ3vi3"
752
+ ],
753
+ "license": "MIT"
754
+ },
755
+ "node_modules/@prb/math/src/sd21x18/Errors.sol": {
756
+ "keccak256": "0xc5422ee47eb139274e538e758fb40177a1ba22c2113ef3b3446102f0150bfe0a",
757
+ "urls": [
758
+ "bzz-raw://a1981e052e9e86e1b0e4e55a057a7af4739aedd4ead2d60e3eaa40fb703594ee",
759
+ "dweb:/ipfs/QmPK5qSujnyk1R8ues4RhDMy1tRKKyjQ31YJTviTKq7GML"
760
+ ],
761
+ "license": "MIT"
762
+ },
763
+ "node_modules/@prb/math/src/sd21x18/ValueType.sol": {
764
+ "keccak256": "0x532bba888370bed393464412f4ef3462d654802e71c953ad02d078e3d2701092",
765
+ "urls": [
766
+ "bzz-raw://922a4e8dd813602f72d165aa1dfdf2c29b971a2abe73bebca7cd81a32ee2c880",
767
+ "dweb:/ipfs/QmTBAJnx1r3sZpbQAuTgQtsTtvjZbpDwhCJRzkhzUumbdf"
768
+ ],
769
+ "license": "MIT"
770
+ },
771
+ "node_modules/@prb/math/src/sd59x18/Casting.sol": {
772
+ "keccak256": "0xdf70d8e70c6d6325f3f7eb028c484bc7189ef902f1d4b5b220af2e550bb5fc39",
773
+ "urls": [
774
+ "bzz-raw://0b15bcd36129c5cb163d57a117435afb171182018dd6d1e766a5f49cf1f4b63d",
775
+ "dweb:/ipfs/QmbjzkMBH4FM2rdxGbx9LQ65wVERijNcu7R9C8dQmH3y4n"
776
+ ],
777
+ "license": "MIT"
778
+ },
779
+ "node_modules/@prb/math/src/sd59x18/Constants.sol": {
780
+ "keccak256": "0x9bcb8dd6b3e886d140ad1c32747a4f6d29a492529ceb835be878ae837aa6cc3a",
781
+ "urls": [
782
+ "bzz-raw://c4045c633e3618e7e90a768d92415b2f20f781fe129b4f4e26fa88f7dbf9201f",
783
+ "dweb:/ipfs/Qmbet95pizwPno82cJ383wJtgQRSQKESmhVZ1vDrgAu7Si"
784
+ ],
785
+ "license": "MIT"
786
+ },
787
+ "node_modules/@prb/math/src/sd59x18/Errors.sol": {
788
+ "keccak256": "0x0a79c28c85fc8a450b0801ff2e66114eac4ec565819f5d1d8738904658fe33e2",
789
+ "urls": [
790
+ "bzz-raw://9e0d4fd3c998019fb8555d9e26c03bec42a8513bdf4185aeac2da3a000abaebf",
791
+ "dweb:/ipfs/QmahFJHXcX4RwPxaQbUf6LVZEk8NSpjCV3Eif7i9iqC6Mk"
792
+ ],
793
+ "license": "MIT"
794
+ },
795
+ "node_modules/@prb/math/src/sd59x18/Helpers.sol": {
796
+ "keccak256": "0x208570f1657cf730cb6c3d81aa14030e0d45cf906cdedea5059369d7df4bb716",
797
+ "urls": [
798
+ "bzz-raw://4c78ca900edafa9338d4e3649a55ab0c84f76468d8a22fb945ba6d01e70f8fed",
799
+ "dweb:/ipfs/QmeP4hQYfNxcATd1FsasdD4ebyu2vrC9K1N68swxUJzzZD"
800
+ ],
801
+ "license": "MIT"
802
+ },
803
+ "node_modules/@prb/math/src/sd59x18/Math.sol": {
804
+ "keccak256": "0xd8e8b51db9b3e2fa31a60f6b8ce4ea0112c3364442ede5992aa0aa7a2c925c84",
805
+ "urls": [
806
+ "bzz-raw://3c56913970e34ee7b142047b21f1856a511cbdc3473b7c50418a8490e19cd462",
807
+ "dweb:/ipfs/QmfG1F9CBDjPYD7NXora9awFfdpvBMY9SCg5pMLCFRv9tD"
808
+ ],
809
+ "license": "MIT"
810
+ },
811
+ "node_modules/@prb/math/src/sd59x18/ValueType.sol": {
812
+ "keccak256": "0x76597ba64d37d66e0178512bc9bbc1a031a7634c45e5d5c6e9da87f46952dc9d",
813
+ "urls": [
814
+ "bzz-raw://36148899ad874814e9292636fb974d2eec61f1bcc0875ec39cf444d70ba40919",
815
+ "dweb:/ipfs/QmadUe4kH2FPcdxvhCKy8yiezCvPWor4VcPzqLYSAaGDDb"
816
+ ],
817
+ "license": "MIT"
818
+ },
819
+ "node_modules/@prb/math/src/ud21x18/Casting.sol": {
820
+ "keccak256": "0x3821aa57604f6e5b7c9c5c5cc97a6d71116e673cf3fee5f76fcd42b4cefded65",
821
+ "urls": [
822
+ "bzz-raw://a80399c6b38ab45cc10d0a6683d50340cd89d9a085b6d0dcfb81e7c4e5b3ce09",
823
+ "dweb:/ipfs/QmWNW2YD2LMkqrpAtJYeeuHN329Rx7mvfmrjsCo1p6akTL"
824
+ ],
825
+ "license": "MIT"
826
+ },
827
+ "node_modules/@prb/math/src/ud21x18/Constants.sol": {
828
+ "keccak256": "0x0997574a1ced6c43bde6d9c9175edc5ad64cbb920a0969a9db68eea543747601",
829
+ "urls": [
830
+ "bzz-raw://c09f03345a6779b002b38ffc3954258accbb2b1d0d5506d42c3bd7f117304f60",
831
+ "dweb:/ipfs/QmTeBXRCE7H2HpqKUNsZN7Nk3rdBnFmbAUFom3E1PJeGuV"
832
+ ],
833
+ "license": "MIT"
834
+ },
835
+ "node_modules/@prb/math/src/ud21x18/Errors.sol": {
836
+ "keccak256": "0x35a1fb789b90f8c90865884d3023deb17fcca5c7146b5ddef823496d835a5415",
837
+ "urls": [
838
+ "bzz-raw://0af359d07ba25bdc90de7c05ed6216833932caa75d4a02fcfc51ceeaba5a4e80",
839
+ "dweb:/ipfs/QmavBFw73Xfp1qJiN6P1gk2Dfr8ByWo3dyCPVgDHtko2gq"
840
+ ],
841
+ "license": "MIT"
842
+ },
843
+ "node_modules/@prb/math/src/ud21x18/ValueType.sol": {
844
+ "keccak256": "0x24838b2b1da371b9259d8ee21534a9f0cb5796aba75a4efca2374627952bee25",
845
+ "urls": [
846
+ "bzz-raw://897e6b79308651671c7f3c91a0069e778b47356c9ba3f86e238398ab7f2623af",
847
+ "dweb:/ipfs/QmZbLw3tJVRZFQnV9jWQUmF43gna841adSG2TAiwDAifGU"
848
+ ],
849
+ "license": "MIT"
850
+ },
851
+ "node_modules/@prb/math/src/ud2x18/Casting.sol": {
852
+ "keccak256": "0x0f3141ed054e7c29dbe1acb4b88b18eb05d60e998fba6b4e503a6799faa356d6",
853
+ "urls": [
854
+ "bzz-raw://b1e2468fc4c458082aaf4aa2e35af9ba3702f207e3c8533dd1e7da11ad605eae",
855
+ "dweb:/ipfs/QmSm7iRH1eo4cJCwcAiiXWRH9Hn1urSS4tMdbaFbFGuTyL"
856
+ ],
857
+ "license": "MIT"
858
+ },
859
+ "node_modules/@prb/math/src/ud2x18/Constants.sol": {
860
+ "keccak256": "0x29b0e050c865899e1fb9022b460a7829cdee248c44c4299f068ba80695eec3fc",
861
+ "urls": [
862
+ "bzz-raw://cbaef16b662fac235349bcf97bc980dd0cba15d4e6230caae61224cdac8ea6d9",
863
+ "dweb:/ipfs/QmZQa5XBhi7k3yhtCd8wVpnwW8htfU4sjXxWhxRypMBYkC"
864
+ ],
865
+ "license": "MIT"
866
+ },
867
+ "node_modules/@prb/math/src/ud2x18/Errors.sol": {
868
+ "keccak256": "0x3b27e2a57438cd30d9c130f84aace24d547e5ed58e8689691d7d92ad2db38ddd",
869
+ "urls": [
870
+ "bzz-raw://841cf9fb45443899c6b659300bbf503c3fd2c1a1e83b7f0e28620eed457f7437",
871
+ "dweb:/ipfs/QmUqg8WscP5yQPw3UMUCWaB9RLU6nryGzseuyhAjNnDc1i"
872
+ ],
873
+ "license": "MIT"
874
+ },
875
+ "node_modules/@prb/math/src/ud2x18/ValueType.sol": {
876
+ "keccak256": "0x975a2e69b48f34a4c0bd80e8a5609ac67b7264c91992c0944f9ebe7b9e3fc9d0",
877
+ "urls": [
878
+ "bzz-raw://65d012521c475295d7e70b7d526fcc0911d0f238ea938719d77251bba00c9b41",
879
+ "dweb:/ipfs/QmexEvTQCCBPYRWAYnomZX5M7C2EkXQRAXqEYMNUZfazCs"
880
+ ],
881
+ "license": "MIT"
882
+ },
883
+ "node_modules/@prb/math/src/ud60x18/Casting.sol": {
884
+ "keccak256": "0x0803318ddc98b4ba8fbfe70e5ee08d78387fe6ae00982b9960518085a751d7b6",
885
+ "urls": [
886
+ "bzz-raw://2e68a2f780b2e33fa5416eb60f9daa81f014c2591119f4b67bed1217d5530780",
887
+ "dweb:/ipfs/QmZe7JTWvbfKqMnu4sxUwWCtLcCay9hH71VZUpoFCdENcr"
888
+ ],
889
+ "license": "MIT"
890
+ },
891
+ "node_modules/@prb/math/src/ud60x18/Constants.sol": {
892
+ "keccak256": "0x2b80d26153d3fdcfb3a9ca772d9309d31ed1275f5b8b54c3ffb54d3652b37d90",
893
+ "urls": [
894
+ "bzz-raw://7e3a6673a156f635db94dc176baaa7274db8f9bec4461cd1152596253550ee3b",
895
+ "dweb:/ipfs/Qmc9zT4kNSbMYaXcnbxNVqmb3P3m46ieaQxkwxqLwsvRA5"
896
+ ],
897
+ "license": "MIT"
898
+ },
899
+ "node_modules/@prb/math/src/ud60x18/Conversions.sol": {
900
+ "keccak256": "0xd486ecca97abe69acdb28230088f4c7097fbdae5b36c5ae45d5be2faac4c33f2",
901
+ "urls": [
902
+ "bzz-raw://6080870ec6955ff0f5278f9c480b218a68714daf5f2ee42da0276d08d7b82932",
903
+ "dweb:/ipfs/QmQ1SERHdemJgPrt4USwY8j5r63jZ8fQuJAm1knjMEEQEY"
904
+ ],
905
+ "license": "MIT"
906
+ },
907
+ "node_modules/@prb/math/src/ud60x18/Errors.sol": {
908
+ "keccak256": "0xbab6b0e303d32f3a9d9e2fe881f0392b8c59a73051a4d34f21a403b3961b3044",
909
+ "urls": [
910
+ "bzz-raw://86a019bcf2510d0691287329dc057479cc0abc48a5e15f245e7f15c03052d2c8",
911
+ "dweb:/ipfs/QmeXe5pbpDHvN5DZ8puXmH2RJ25zDHj55wpiStWtNQPvq6"
912
+ ],
913
+ "license": "MIT"
914
+ },
915
+ "node_modules/@prb/math/src/ud60x18/Helpers.sol": {
916
+ "keccak256": "0xf5faff881391d2c060029499a666cc5f0bea90a213150bb476fae8f02a5df268",
917
+ "urls": [
918
+ "bzz-raw://76105fa22bb1b5f1fa99abf9c4fbc9577a02c7bc204f271754c407f0d75489f5",
919
+ "dweb:/ipfs/QmVNGZSTniDuZus5DdbFubqJXCLtTaZit7YPm4ntjr5Lgr"
920
+ ],
921
+ "license": "MIT"
922
+ },
923
+ "node_modules/@prb/math/src/ud60x18/Math.sol": {
924
+ "keccak256": "0xc4e51dfd9af62938e277e90fa724099f239d33727a35909ed48c292a76faf2fc",
925
+ "urls": [
926
+ "bzz-raw://d731537cbc50b852c21d28625aeb2c329729afc23a7b86ff9d8ee5878f47e9d6",
927
+ "dweb:/ipfs/QmS7Cj4pAdPZcTp7RqYXyxBc9EYX92CT8icfkNigktUsLr"
928
+ ],
929
+ "license": "MIT"
930
+ },
931
+ "node_modules/@prb/math/src/ud60x18/ValueType.sol": {
932
+ "keccak256": "0x1b200baf25d01a8b91b97b42114248636f742b5b7028487ef4daef6621e378a3",
933
+ "urls": [
934
+ "bzz-raw://b5708ed017206bda2197654e80bea9f37b3a9993434bb066c903c2865e028f47",
935
+ "dweb:/ipfs/QmTyotZk2J5YvWkNvB2qhXBMgRGWW2UgPqR4JPocrXSr8n"
936
+ ],
937
+ "license": "MIT"
938
+ },
939
+ "node_modules/@sablier/evm-utils/src/interfaces/IAdminable.sol": {
940
+ "keccak256": "0x3228d63e9b0b951030c73c42bb071e64f0ff0eadbcbeefad3f29a48366539c26",
941
+ "urls": [
942
+ "bzz-raw://acc90ad2bec0e84349b56611b35b56bfb75a5930fd1babb2bd638fbbb15bd126",
943
+ "dweb:/ipfs/QmSLnHx6bo4BQeBKYferfEhZo1Z4xCXdDF1bzJoHUafHt4"
944
+ ],
945
+ "license": "GPL-3.0-or-later"
946
+ },
947
+ "node_modules/@sablier/evm-utils/src/interfaces/IComptrollerable.sol": {
948
+ "keccak256": "0xdbc32762b87590be38095a84789906fa7a23fd2c2c112859504549ef3be17522",
949
+ "urls": [
950
+ "bzz-raw://14ac13726bb7435ce310dd437a9b58852ca0c35640949e898c803a33a30dee8b",
951
+ "dweb:/ipfs/QmeeKPApvBHbUF3S98qCnB26Aw67KTQF2GFyGQZCxykyMW"
952
+ ],
953
+ "license": "GPL-3.0-or-later"
954
+ },
955
+ "node_modules/@sablier/evm-utils/src/interfaces/IRoleAdminable.sol": {
956
+ "keccak256": "0x391cb4bd4bae01e3efdb84f63635644ed6329b72e8a5105ad53833551e8ba825",
957
+ "urls": [
958
+ "bzz-raw://ccca9da1c044c15cf0b647a4572c05f5d498fb18b3685a85a8836f7110cb1bc4",
959
+ "dweb:/ipfs/QmfAKHqvgKQUgpC6VomTjTkc1tDnsbVJD5bLn8wL8KuTFV"
960
+ ],
961
+ "license": "GPL-3.0-or-later"
962
+ },
963
+ "node_modules/@sablier/evm-utils/src/interfaces/ISablierComptroller.sol": {
964
+ "keccak256": "0x5c52e70a6c083611d4b5518d17d025f70d322ee2c61d81f20f3fe50f4bd824ba",
965
+ "urls": [
966
+ "bzz-raw://5c07b2076065f1c65a59176ada3459be53f78e59a2055d9ae92b226edafa484c",
967
+ "dweb:/ipfs/QmXYRDkBSWUBza1pi439ErzeLoaLUT8Zvj2yWcFZ5F1rgX"
968
+ ],
969
+ "license": "GPL-3.0-or-later"
970
+ },
971
+ "src/interfaces/ISablierEscrow.sol": {
972
+ "keccak256": "0xa8c89ec7541808fbecb5763de35713976b443316fc4d1a0e35456673e99da571",
973
+ "urls": [
974
+ "bzz-raw://21954d789edc4604209aad32ec3cc2a2fa47dad73c249471b0552d4947cc13d2",
975
+ "dweb:/ipfs/QmZPoBXqdgZ6MSHMPMGMvcHgXxw5r953zZSs3FLgz3zXMF"
976
+ ],
977
+ "license": "GPL-3.0-or-later"
978
+ },
979
+ "src/interfaces/ISablierEscrowState.sol": {
980
+ "keccak256": "0x3ed9e131691e51df2b886deac2dec0f4fc5119e0893612d86ff0d96b54766a82",
981
+ "urls": [
982
+ "bzz-raw://6e1ce2ad520eefe15110af1a62080b87ba17dd8c9e8ba9557263b189b4d02898",
983
+ "dweb:/ipfs/QmRF7Mk5YBxSh155wmpQuwFraU4H2xZSZz8nXHf6A9cWbL"
984
+ ],
985
+ "license": "GPL-3.0-or-later"
986
+ },
987
+ "src/types/Escrow.sol": {
988
+ "keccak256": "0xc4c65957eab4cfd50d7806778ca69366aebe22e98736315c62fa36bda5cddba6",
989
+ "urls": [
990
+ "bzz-raw://ef915ead3c018cd9c629fd3738eba614dfa0499492d25162129e9374607756c1",
991
+ "dweb:/ipfs/QmenoUAVQFvKU4XVNm9Pm7RxvrTgBBJFXF6uNjqHMV1wAU"
992
+ ],
993
+ "license": "GPL-3.0-or-later"
994
+ }
995
+ },
996
+ "version": 1
997
+ },
998
+ "id": 90
999
+ }