@logswap/sdk 0.5.57 → 0.5.59

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.
package/dist/client.d.ts CHANGED
@@ -71,7 +71,7 @@ export declare function createLogswapClient(args: {
71
71
  * `phiOf`; `getPool` lost `sigma2Ema`; `Initialize` lost two fields; the cut is
72
72
  * `MINT_FEE_PROTOCOL_CUT` / `setFeeParams`.
73
73
  */
74
- export declare const EXPECTED_VERSION = 4n;
74
+ export declare const EXPECTED_VERSION = 5n;
75
75
  /**
76
76
  * The F manager's own tag (5 — the key's salt, pool names, the sponsor registry;
77
77
  * 4 was the income-only harvest cut).
@@ -83,7 +83,7 @@ export declare const EXPECTED_VERSION = 4n;
83
83
  * passes it; when one lands, raise this constant in the same change, which is the discipline
84
84
  * `EXPECTED_VERSION` enforces mechanically and this one asks for.
85
85
  */
86
- export declare const EXPECTED_F_VERSION = 18n;
86
+ export declare const EXPECTED_F_VERSION = 19n;
87
87
  export declare function assertVersion(c: LogswapClient, expected?: bigint): Promise<void>;
88
88
  /**
89
89
  * The versions say the managers are the right code; this says the rest of the addresses belong
package/dist/client.js CHANGED
@@ -65,7 +65,7 @@ function guardChain(wallet, pub) {
65
65
  * `phiOf`; `getPool` lost `sigma2Ema`; `Initialize` lost two fields; the cut is
66
66
  * `MINT_FEE_PROTOCOL_CUT` / `setFeeParams`.
67
67
  */
68
- export const EXPECTED_VERSION = 4n;
68
+ export const EXPECTED_VERSION = 5n;
69
69
  /**
70
70
  * The F manager's own tag (5 — the key's salt, pool names, the sponsor registry;
71
71
  * 4 was the income-only harvest cut).
@@ -121,7 +121,7 @@ export const EXPECTED_VERSION = 4n;
121
121
  // is the policy at birth, `migrate` moves a pool for the registry's owner; `stamp` / `setAsks` are
122
122
  // the policy's; the desk's `setAllowed` / `isAllowed` are `setMinters` / `setTakers` / `isMinter` /
123
123
  // `isTaker`; a pad and a POL hold one base (`OneBase`).
124
- export const EXPECTED_F_VERSION = 18n;
124
+ export const EXPECTED_F_VERSION = 19n;
125
125
  export async function assertVersion(c, expected = EXPECTED_VERSION) {
126
126
  const { cPoolManagerAbi } = await import("./generated.js");
127
127
  const got = await c.public.readContract({
package/dist/fees.d.ts CHANGED
@@ -12,7 +12,12 @@
12
12
  */
13
13
  import type { LogswapClient } from "./client.js";
14
14
  import type { DiscoveredMarket } from "./pools.js";
15
- /** The fee one swap paid, in quote, from its `Swap` event's fields. */
15
+ /**
16
+ * The fee one swap paid, in quote, from its `Swap` event's fields.
17
+ *
18
+ * @deprecated The C `Swap` event carries its `fee` since C version 5 (decisions 050); read that.
19
+ * This reconstruction from φ rounds where the contract does not, and is kept for older logs.
20
+ */
16
21
  export declare function swapFeeOf(e: {
17
22
  baseIn: boolean;
18
23
  amountIn: bigint;
@@ -30,7 +35,17 @@ export interface SwapFeeWindow {
30
35
  swapFees: bigint;
31
36
  swaps: number;
32
37
  }
33
- /** The first block with timestamp ≥ `t`, by bisection over `[lo, hi]`; `hi` when none is earlier. */
38
+ /**
39
+ * The first block with timestamp ≥ `t` in `[lo, hi]`; `hi` when none is earlier.
40
+ *
41
+ * A PARALLEL search: each round reads {@link PROBES} evenly spaced blocks at once and keeps the
42
+ * sixteenth of the bracket that holds the answer, so 64k blocks take 4 round trips. Bisection read
43
+ * one block per round trip — ~16 sequential `getBlock`s, seconds apiece against a distant node,
44
+ * before a fee figure could render. Interpolating on timestamps was tried and did no better: a
45
+ * devnet mines on demand plus a heartbeat, so its blocks are far from evenly spaced in time.
46
+ * Exact for monotonic timestamps; a chain restored from a snapshot can carry a genesis stamped
47
+ * after its later blocks, so callers bound `lo` by the block they care about (a pool's own).
48
+ */
34
49
  export declare function blockAtOrAfter(c: LogswapClient, t: bigint, lo: bigint, hi: bigint): Promise<bigint>;
35
50
  /**
36
51
  * Sum the swap fees of market `m` over a window: from `since` (unix seconds) or `fromBlock`, to
package/dist/fees.js CHANGED
@@ -13,20 +13,51 @@
13
13
  import { cPoolManagerAbi } from "./generated.js";
14
14
  const WAD = 10n ** 18n;
15
15
  const YEAR_SECONDS = 31_536_000;
16
- /** The fee one swap paid, in quote, from its `Swap` event's fields. */
16
+ /**
17
+ * The fee one swap paid, in quote, from its `Swap` event's fields.
18
+ *
19
+ * @deprecated The C `Swap` event carries its `fee` since C version 5 (decisions 050); read that.
20
+ * This reconstruction from φ rounds where the contract does not, and is kept for older logs.
21
+ */
17
22
  export function swapFeeOf(e, phi) {
18
23
  return e.baseIn ? (e.amountOut * phi) / (WAD - phi) : (e.amountIn * phi) / (WAD + phi);
19
24
  }
20
- /** The first block with timestamp ≥ `t`, by bisection over `[lo, hi]`; `hi` when none is earlier. */
25
+ /** Probes per round of {@link blockAtOrAfter}: 15 splits the bracket 16 ways. */
26
+ const PROBES = 15n;
27
+ /**
28
+ * The first block with timestamp ≥ `t` in `[lo, hi]`; `hi` when none is earlier.
29
+ *
30
+ * A PARALLEL search: each round reads {@link PROBES} evenly spaced blocks at once and keeps the
31
+ * sixteenth of the bracket that holds the answer, so 64k blocks take 4 round trips. Bisection read
32
+ * one block per round trip — ~16 sequential `getBlock`s, seconds apiece against a distant node,
33
+ * before a fee figure could render. Interpolating on timestamps was tried and did no better: a
34
+ * devnet mines on demand plus a heartbeat, so its blocks are far from evenly spaced in time.
35
+ * Exact for monotonic timestamps; a chain restored from a snapshot can carry a genesis stamped
36
+ * after its later blocks, so callers bound `lo` by the block they care about (a pool's own).
37
+ */
21
38
  export async function blockAtOrAfter(c, t, lo, hi) {
22
- while (lo < hi) {
23
- const mid = (lo + hi) / 2n;
24
- if ((await c.public.getBlock({ blockNumber: mid })).timestamp < t)
25
- lo = mid + 1n;
26
- else
27
- hi = mid;
39
+ if (lo >= hi)
40
+ return hi;
41
+ const stamp = async (n) => (await c.public.getBlock({ blockNumber: n })).timestamp;
42
+ if ((await stamp(lo)) >= t)
43
+ return lo;
44
+ // invariant from here: ts(lo) < t, and the answer is in (lo, hi]
45
+ while (hi - lo > 1n) {
46
+ const width = hi - lo;
47
+ const probes = [...new Set(Array.from({ length: Number(PROBES) }, (_, i) => lo + (width * BigInt(i + 1)) / (PROBES + 1n)))].filter((n) => n > lo && n < hi);
48
+ if (probes.length === 0)
49
+ probes.push(lo + width / 2n);
50
+ const stamps = await Promise.all(probes.map(stamp));
51
+ const first = stamps.findIndex((ts) => ts >= t);
52
+ if (first === -1)
53
+ lo = probes[probes.length - 1];
54
+ else {
55
+ hi = probes[first];
56
+ if (first > 0)
57
+ lo = probes[first - 1];
58
+ }
28
59
  }
29
- return lo;
60
+ return hi;
30
61
  }
31
62
  /**
32
63
  * Sum the swap fees of market `m` over a window: from `since` (unix seconds) or `fromBlock`, to
@@ -59,9 +90,10 @@ export async function swapFees(c, m, opts = {}) {
59
90
  const logs = fromBlock > toBlock
60
91
  ? []
61
92
  : await c.public.getLogs({ address: c.addresses.cPoolManager, event: ev, args: { poolId: m.poolId }, fromBlock, toBlock });
93
+ // the event carries the fee the swap charged (decisions 050), exactly — no re-derivation from φ
62
94
  let fees = 0n;
63
95
  for (const l of logs)
64
- fees += swapFeeOf({ baseIn: l.args.baseIn, amountIn: l.args.amountIn, amountOut: l.args.amountOut }, l.args.phi);
96
+ fees += l.args.fee;
65
97
  const to = last.timestamp;
66
98
  return { fromBlock, toBlock, from, to, seconds: to > from ? to - from : 0n, swapFees: fees, swaps: logs.length };
67
99
  }
package/dist/fpool.js CHANGED
@@ -1047,7 +1047,7 @@ export async function fPoolTransferShares(c, a) {
1047
1047
  * exists for exactly this call.
1048
1048
  */
1049
1049
  export async function discoverFPools(c, opts = {}) {
1050
- const ev = fPoolManagerAbi.find((x) => x.type === "event" && x.name === "Initialize");
1050
+ const ev = fPoolManagerAbi.find((x) => x.type === "event" && x.name === "FInitialize");
1051
1051
  if (!ev)
1052
1052
  throw new Error("logswap: F Initialize event missing from the generated ABI");
1053
1053
  const seedEv = fPoolManagerAbi.find((x) => x.type === "event" && x.name === "Seeded");
@@ -1168,6 +1168,11 @@ export declare const cPoolManagerAbi: readonly [{
1168
1168
  readonly type: "event";
1169
1169
  readonly anonymous: false;
1170
1170
  readonly inputs: readonly [{
1171
+ readonly name: "poolId";
1172
+ readonly internalType: "bytes32";
1173
+ readonly type: "bytes32";
1174
+ readonly indexed: true;
1175
+ }, {
1171
1176
  readonly name: "from";
1172
1177
  readonly internalType: "address";
1173
1178
  readonly type: "address";
@@ -1192,12 +1197,22 @@ export declare const cPoolManagerAbi: readonly [{
1192
1197
  readonly internalType: "uint256";
1193
1198
  readonly type: "uint256";
1194
1199
  readonly indexed: false;
1200
+ }, {
1201
+ readonly name: "fees";
1202
+ readonly internalType: "uint256";
1203
+ readonly type: "uint256";
1204
+ readonly indexed: false;
1195
1205
  }];
1196
1206
  readonly name: "Burn";
1197
1207
  }, {
1198
1208
  readonly type: "event";
1199
1209
  readonly anonymous: false;
1200
1210
  readonly inputs: readonly [{
1211
+ readonly name: "poolId";
1212
+ readonly internalType: "bytes32";
1213
+ readonly type: "bytes32";
1214
+ readonly indexed: true;
1215
+ }, {
1201
1216
  readonly name: "holder";
1202
1217
  readonly internalType: "address";
1203
1218
  readonly type: "address";
@@ -1323,6 +1338,11 @@ export declare const cPoolManagerAbi: readonly [{
1323
1338
  readonly type: "event";
1324
1339
  readonly anonymous: false;
1325
1340
  readonly inputs: readonly [{
1341
+ readonly name: "poolId";
1342
+ readonly internalType: "bytes32";
1343
+ readonly type: "bytes32";
1344
+ readonly indexed: true;
1345
+ }, {
1326
1346
  readonly name: "to";
1327
1347
  readonly internalType: "address";
1328
1348
  readonly type: "address";
@@ -1417,6 +1437,11 @@ export declare const cPoolManagerAbi: readonly [{
1417
1437
  readonly internalType: "uint256";
1418
1438
  readonly type: "uint256";
1419
1439
  readonly indexed: false;
1440
+ }, {
1441
+ readonly name: "fee";
1442
+ readonly internalType: "uint256";
1443
+ readonly type: "uint256";
1444
+ readonly indexed: false;
1420
1445
  }, {
1421
1446
  readonly name: "newX";
1422
1447
  readonly internalType: "int256";
@@ -1437,6 +1462,11 @@ export declare const cPoolManagerAbi: readonly [{
1437
1462
  readonly internalType: "uint256";
1438
1463
  readonly type: "uint256";
1439
1464
  readonly indexed: false;
1465
+ }, {
1466
+ readonly name: "lActive";
1467
+ readonly internalType: "uint256";
1468
+ readonly type: "uint256";
1469
+ readonly indexed: false;
1440
1470
  }];
1441
1471
  readonly name: "Swap";
1442
1472
  }, {
@@ -1498,6 +1528,11 @@ export declare const cPoolManagerAbi: readonly [{
1498
1528
  readonly type: "event";
1499
1529
  readonly anonymous: false;
1500
1530
  readonly inputs: readonly [{
1531
+ readonly name: "poolId";
1532
+ readonly internalType: "bytes32";
1533
+ readonly type: "bytes32";
1534
+ readonly indexed: true;
1535
+ }, {
1501
1536
  readonly name: "holder";
1502
1537
  readonly internalType: "address";
1503
1538
  readonly type: "address";
@@ -1511,7 +1546,7 @@ export declare const cPoolManagerAbi: readonly [{
1511
1546
  readonly name: "toId";
1512
1547
  readonly internalType: "uint256";
1513
1548
  readonly type: "uint256";
1514
- readonly indexed: true;
1549
+ readonly indexed: false;
1515
1550
  }, {
1516
1551
  readonly name: "oldL";
1517
1552
  readonly internalType: "uint256";
@@ -1532,6 +1567,11 @@ export declare const cPoolManagerAbi: readonly [{
1532
1567
  readonly internalType: "int256";
1533
1568
  readonly type: "int256";
1534
1569
  readonly indexed: false;
1570
+ }, {
1571
+ readonly name: "fees";
1572
+ readonly internalType: "uint256";
1573
+ readonly type: "uint256";
1574
+ readonly indexed: false;
1535
1575
  }];
1536
1576
  readonly name: "Update";
1537
1577
  }, {
@@ -2924,36 +2964,6 @@ export declare const fPoolManagerAbi: readonly [{
2924
2964
  readonly indexed: false;
2925
2965
  }];
2926
2966
  readonly name: "AsksSet";
2927
- }, {
2928
- readonly type: "event";
2929
- readonly anonymous: false;
2930
- readonly inputs: readonly [{
2931
- readonly name: "poolId";
2932
- readonly internalType: "bytes32";
2933
- readonly type: "bytes32";
2934
- readonly indexed: true;
2935
- }, {
2936
- readonly name: "from";
2937
- readonly internalType: "address";
2938
- readonly type: "address";
2939
- readonly indexed: true;
2940
- }, {
2941
- readonly name: "dL";
2942
- readonly internalType: "uint256";
2943
- readonly type: "uint256";
2944
- readonly indexed: false;
2945
- }, {
2946
- readonly name: "shares";
2947
- readonly internalType: "uint256";
2948
- readonly type: "uint256";
2949
- readonly indexed: false;
2950
- }, {
2951
- readonly name: "dQuote";
2952
- readonly internalType: "uint256";
2953
- readonly type: "uint256";
2954
- readonly indexed: false;
2955
- }];
2956
- readonly name: "Burn";
2957
2967
  }, {
2958
2968
  readonly type: "event";
2959
2969
  readonly anonymous: false;
@@ -3018,27 +3028,42 @@ export declare const fPoolManagerAbi: readonly [{
3018
3028
  readonly type: "bytes32";
3019
3029
  readonly indexed: true;
3020
3030
  }, {
3021
- readonly name: "to";
3031
+ readonly name: "from";
3022
3032
  readonly internalType: "address";
3023
3033
  readonly type: "address";
3024
3034
  readonly indexed: true;
3025
3035
  }, {
3026
- readonly name: "amount";
3036
+ readonly name: "gen";
3027
3037
  readonly internalType: "uint256";
3028
3038
  readonly type: "uint256";
3029
3039
  readonly indexed: false;
3030
3040
  }, {
3031
- readonly name: "cut";
3041
+ readonly name: "dL";
3032
3042
  readonly internalType: "uint256";
3033
3043
  readonly type: "uint256";
3034
3044
  readonly indexed: false;
3035
3045
  }, {
3036
- readonly name: "toOperator";
3046
+ readonly name: "shares";
3047
+ readonly internalType: "uint256";
3048
+ readonly type: "uint256";
3049
+ readonly indexed: false;
3050
+ }, {
3051
+ readonly name: "dQuote";
3052
+ readonly internalType: "uint256";
3053
+ readonly type: "uint256";
3054
+ readonly indexed: false;
3055
+ }, {
3056
+ readonly name: "L";
3057
+ readonly internalType: "uint256";
3058
+ readonly type: "uint256";
3059
+ readonly indexed: false;
3060
+ }, {
3061
+ readonly name: "supply";
3037
3062
  readonly internalType: "uint256";
3038
3063
  readonly type: "uint256";
3039
3064
  readonly indexed: false;
3040
3065
  }];
3041
- readonly name: "Harvest";
3066
+ readonly name: "FBurn";
3042
3067
  }, {
3043
3068
  readonly type: "event";
3044
3069
  readonly anonymous: false;
@@ -3078,7 +3103,7 @@ export declare const fPoolManagerAbi: readonly [{
3078
3103
  readonly type: "address";
3079
3104
  readonly indexed: false;
3080
3105
  }];
3081
- readonly name: "Initialize";
3106
+ readonly name: "FInitialize";
3082
3107
  }, {
3083
3108
  readonly type: "event";
3084
3109
  readonly anonymous: false;
@@ -3087,23 +3112,98 @@ export declare const fPoolManagerAbi: readonly [{
3087
3112
  readonly internalType: "bytes32";
3088
3113
  readonly type: "bytes32";
3089
3114
  readonly indexed: true;
3115
+ }, {
3116
+ readonly name: "to";
3117
+ readonly internalType: "address";
3118
+ readonly type: "address";
3119
+ readonly indexed: true;
3090
3120
  }, {
3091
3121
  readonly name: "gen";
3092
3122
  readonly internalType: "uint256";
3093
3123
  readonly type: "uint256";
3124
+ readonly indexed: false;
3125
+ }, {
3126
+ readonly name: "dL";
3127
+ readonly internalType: "uint256";
3128
+ readonly type: "uint256";
3129
+ readonly indexed: false;
3130
+ }, {
3131
+ readonly name: "shares";
3132
+ readonly internalType: "uint256";
3133
+ readonly type: "uint256";
3134
+ readonly indexed: false;
3135
+ }, {
3136
+ readonly name: "dQuote";
3137
+ readonly internalType: "uint256";
3138
+ readonly type: "uint256";
3139
+ readonly indexed: false;
3140
+ }, {
3141
+ readonly name: "L";
3142
+ readonly internalType: "uint256";
3143
+ readonly type: "uint256";
3144
+ readonly indexed: false;
3145
+ }, {
3146
+ readonly name: "supply";
3147
+ readonly internalType: "uint256";
3148
+ readonly type: "uint256";
3149
+ readonly indexed: false;
3150
+ }];
3151
+ readonly name: "FMint";
3152
+ }, {
3153
+ readonly type: "event";
3154
+ readonly anonymous: false;
3155
+ readonly inputs: readonly [{
3156
+ readonly name: "poolId";
3157
+ readonly internalType: "bytes32";
3158
+ readonly type: "bytes32";
3094
3159
  readonly indexed: true;
3095
3160
  }, {
3096
- readonly name: "bases";
3097
- readonly internalType: "address[]";
3098
- readonly type: "address[]";
3161
+ readonly name: "sender";
3162
+ readonly internalType: "address";
3163
+ readonly type: "address";
3164
+ readonly indexed: true;
3165
+ }, {
3166
+ readonly name: "taker";
3167
+ readonly internalType: "address";
3168
+ readonly type: "address";
3169
+ readonly indexed: true;
3170
+ }, {
3171
+ readonly name: "tokenIn";
3172
+ readonly internalType: "address";
3173
+ readonly type: "address";
3099
3174
  readonly indexed: false;
3100
3175
  }, {
3101
- readonly name: "weights";
3102
- readonly internalType: "uint256[]";
3103
- readonly type: "uint256[]";
3176
+ readonly name: "tokenOut";
3177
+ readonly internalType: "address";
3178
+ readonly type: "address";
3179
+ readonly indexed: false;
3180
+ }, {
3181
+ readonly name: "amountIn";
3182
+ readonly internalType: "uint256";
3183
+ readonly type: "uint256";
3184
+ readonly indexed: false;
3185
+ }, {
3186
+ readonly name: "amountOut";
3187
+ readonly internalType: "uint256";
3188
+ readonly type: "uint256";
3189
+ readonly indexed: false;
3190
+ }, {
3191
+ readonly name: "fee";
3192
+ readonly internalType: "uint256";
3193
+ readonly type: "uint256";
3194
+ readonly indexed: false;
3195
+ }, {
3196
+ readonly name: "reserveIn";
3197
+ readonly internalType: "uint256";
3198
+ readonly type: "uint256";
3199
+ readonly indexed: false;
3200
+ }, {
3201
+ readonly name: "reserveOut";
3202
+ readonly internalType: "uint256";
3203
+ readonly type: "uint256";
3104
3204
  readonly indexed: false;
3105
3205
  }];
3106
- readonly name: "LegsSet";
3206
+ readonly name: "FSwap";
3107
3207
  }, {
3108
3208
  readonly type: "event";
3109
3209
  readonly anonymous: false;
@@ -3118,22 +3218,57 @@ export declare const fPoolManagerAbi: readonly [{
3118
3218
  readonly type: "address";
3119
3219
  readonly indexed: true;
3120
3220
  }, {
3121
- readonly name: "dL";
3221
+ readonly name: "gen";
3122
3222
  readonly internalType: "uint256";
3123
3223
  readonly type: "uint256";
3124
3224
  readonly indexed: false;
3125
3225
  }, {
3126
- readonly name: "shares";
3226
+ readonly name: "amount";
3127
3227
  readonly internalType: "uint256";
3128
3228
  readonly type: "uint256";
3129
3229
  readonly indexed: false;
3130
3230
  }, {
3131
- readonly name: "dQuote";
3231
+ readonly name: "cut";
3232
+ readonly internalType: "uint256";
3233
+ readonly type: "uint256";
3234
+ readonly indexed: false;
3235
+ }, {
3236
+ readonly name: "toOperator";
3237
+ readonly internalType: "uint256";
3238
+ readonly type: "uint256";
3239
+ readonly indexed: false;
3240
+ }, {
3241
+ readonly name: "Q";
3132
3242
  readonly internalType: "uint256";
3133
3243
  readonly type: "uint256";
3134
3244
  readonly indexed: false;
3135
3245
  }];
3136
- readonly name: "Mint";
3246
+ readonly name: "Harvest";
3247
+ }, {
3248
+ readonly type: "event";
3249
+ readonly anonymous: false;
3250
+ readonly inputs: readonly [{
3251
+ readonly name: "poolId";
3252
+ readonly internalType: "bytes32";
3253
+ readonly type: "bytes32";
3254
+ readonly indexed: true;
3255
+ }, {
3256
+ readonly name: "gen";
3257
+ readonly internalType: "uint256";
3258
+ readonly type: "uint256";
3259
+ readonly indexed: true;
3260
+ }, {
3261
+ readonly name: "bases";
3262
+ readonly internalType: "address[]";
3263
+ readonly type: "address[]";
3264
+ readonly indexed: false;
3265
+ }, {
3266
+ readonly name: "weights";
3267
+ readonly internalType: "uint256[]";
3268
+ readonly type: "uint256[]";
3269
+ readonly indexed: false;
3270
+ }];
3271
+ readonly name: "LegsSet";
3137
3272
  }, {
3138
3273
  readonly type: "event";
3139
3274
  readonly anonymous: false;
@@ -3272,6 +3407,11 @@ export declare const fPoolManagerAbi: readonly [{
3272
3407
  readonly internalType: "uint256";
3273
3408
  readonly type: "uint256";
3274
3409
  readonly indexed: false;
3410
+ }, {
3411
+ readonly name: "dL";
3412
+ readonly internalType: "uint256";
3413
+ readonly type: "uint256";
3414
+ readonly indexed: false;
3275
3415
  }];
3276
3416
  readonly name: "Regenerated";
3277
3417
  }, {
@@ -3339,51 +3479,6 @@ export declare const fPoolManagerAbi: readonly [{
3339
3479
  readonly indexed: true;
3340
3480
  }];
3341
3481
  readonly name: "Stamped";
3342
- }, {
3343
- readonly type: "event";
3344
- readonly anonymous: false;
3345
- readonly inputs: readonly [{
3346
- readonly name: "poolId";
3347
- readonly internalType: "bytes32";
3348
- readonly type: "bytes32";
3349
- readonly indexed: true;
3350
- }, {
3351
- readonly name: "sender";
3352
- readonly internalType: "address";
3353
- readonly type: "address";
3354
- readonly indexed: true;
3355
- }, {
3356
- readonly name: "tokenIn";
3357
- readonly internalType: "address";
3358
- readonly type: "address";
3359
- readonly indexed: false;
3360
- }, {
3361
- readonly name: "tokenOut";
3362
- readonly internalType: "address";
3363
- readonly type: "address";
3364
- readonly indexed: false;
3365
- }, {
3366
- readonly name: "amountIn";
3367
- readonly internalType: "uint256";
3368
- readonly type: "uint256";
3369
- readonly indexed: false;
3370
- }, {
3371
- readonly name: "amountOut";
3372
- readonly internalType: "uint256";
3373
- readonly type: "uint256";
3374
- readonly indexed: false;
3375
- }, {
3376
- readonly name: "reserveIn";
3377
- readonly internalType: "uint256";
3378
- readonly type: "uint256";
3379
- readonly indexed: false;
3380
- }, {
3381
- readonly name: "reserveOut";
3382
- readonly internalType: "uint256";
3383
- readonly type: "uint256";
3384
- readonly indexed: false;
3385
- }];
3386
- readonly name: "Swap";
3387
3482
  }, {
3388
3483
  readonly type: "event";
3389
3484
  readonly anonymous: false;