@logswap/sdk 0.5.69 → 0.5.71

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/generated.js CHANGED
@@ -1097,13 +1097,6 @@ export const fPoolManagerAbi = [
1097
1097
  outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1098
1098
  stateMutability: 'view',
1099
1099
  },
1100
- {
1101
- type: 'function',
1102
- inputs: [],
1103
- name: 'HARVEST_CUT_MAX',
1104
- outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
1105
- stateMutability: 'view',
1106
- },
1107
1100
  {
1108
1101
  type: 'function',
1109
1102
  inputs: [],
@@ -3702,7 +3695,14 @@ export const padPolicyAbi = [
3702
3695
  {
3703
3696
  type: 'function',
3704
3697
  inputs: [],
3705
- name: 'burnPerRung',
3698
+ name: 'burnMax',
3699
+ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
3700
+ stateMutability: 'view',
3701
+ },
3702
+ {
3703
+ type: 'function',
3704
+ inputs: [],
3705
+ name: 'burnMin',
3706
3706
  outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
3707
3707
  stateMutability: 'view',
3708
3708
  },
@@ -3716,14 +3716,14 @@ export const padPolicyAbi = [
3716
3716
  {
3717
3717
  type: 'function',
3718
3718
  inputs: [],
3719
- name: 'creatorShare',
3719
+ name: 'creatorShareMax',
3720
3720
  outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
3721
3721
  stateMutability: 'view',
3722
3722
  },
3723
3723
  {
3724
3724
  type: 'function',
3725
3725
  inputs: [],
3726
- name: 'harvestCut',
3726
+ name: 'creatorShareMin',
3727
3727
  outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
3728
3728
  stateMutability: 'view',
3729
3729
  },
@@ -3785,37 +3785,6 @@ export const padPolicyAbi = [
3785
3785
  outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
3786
3786
  stateMutability: 'view',
3787
3787
  },
3788
- {
3789
- type: 'function',
3790
- inputs: [
3791
- {
3792
- name: 'a',
3793
- internalType: 'struct IFPolicy.Ask',
3794
- type: 'tuple',
3795
- components: [
3796
- { name: 'poolId', internalType: 'bytes32', type: 'bytes32' },
3797
- { name: 'gen', internalType: 'uint256', type: 'uint256' },
3798
- {
3799
- name: 'action',
3800
- internalType: 'enum IFPolicy.Action',
3801
- type: 'uint8',
3802
- },
3803
- { name: 'who', internalType: 'address', type: 'address' },
3804
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
3805
- { name: 'income', internalType: 'uint256', type: 'uint256' },
3806
- { name: 'Q', internalType: 'uint256', type: 'uint256' },
3807
- { name: 'L', internalType: 'uint256', type: 'uint256' },
3808
- { name: 'n', internalType: 'uint256', type: 'uint256' },
3809
- ],
3810
- },
3811
- ],
3812
- name: 'onHarvest',
3813
- outputs: [
3814
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
3815
- { name: 'cut', internalType: 'uint256', type: 'uint256' },
3816
- ],
3817
- stateMutability: 'view',
3818
- },
3819
3788
  {
3820
3789
  type: 'function',
3821
3790
  inputs: [
@@ -3893,6 +3862,17 @@ export const padPolicyAbi = [
3893
3862
  ],
3894
3863
  stateMutability: 'nonpayable',
3895
3864
  },
3865
+ {
3866
+ type: 'function',
3867
+ inputs: [
3868
+ { name: 'creatorShare', internalType: 'uint256', type: 'uint256' },
3869
+ { name: 'burnPerRung', internalType: 'uint256', type: 'uint256' },
3870
+ { name: 'nonce', internalType: 'uint128', type: 'uint128' },
3871
+ ],
3872
+ name: 'pack',
3873
+ outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
3874
+ stateMutability: 'pure',
3875
+ },
3896
3876
  {
3897
3877
  type: 'function',
3898
3878
  inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
@@ -3931,13 +3911,6 @@ export const padPolicyAbi = [
3931
3911
  outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
3932
3912
  stateMutability: 'view',
3933
3913
  },
3934
- {
3935
- type: 'function',
3936
- inputs: [{ name: '_harvestCut', internalType: 'uint256', type: 'uint256' }],
3937
- name: 'setHarvestCut',
3938
- outputs: [],
3939
- stateMutability: 'nonpayable',
3940
- },
3941
3914
  {
3942
3915
  type: 'function',
3943
3916
  inputs: [
@@ -3970,14 +3943,27 @@ export const padPolicyAbi = [
3970
3943
  inputs: [
3971
3944
  { name: '_thresholdBase', internalType: 'uint256', type: 'uint256' },
3972
3945
  { name: '_thresholdGrowth', internalType: 'uint256', type: 'uint256' },
3973
- { name: '_creatorShare', internalType: 'uint256', type: 'uint256' },
3974
3946
  { name: '_protocolShare', internalType: 'uint256', type: 'uint256' },
3975
- { name: '_burnPerRung', internalType: 'uint256', type: 'uint256' },
3947
+ { name: '_creatorShareMin', internalType: 'uint256', type: 'uint256' },
3948
+ { name: '_creatorShareMax', internalType: 'uint256', type: 'uint256' },
3949
+ { name: '_burnMin', internalType: 'uint256', type: 'uint256' },
3950
+ { name: '_burnMax', internalType: 'uint256', type: 'uint256' },
3976
3951
  ],
3977
3952
  name: 'setSchedule',
3978
3953
  outputs: [],
3979
3954
  stateMutability: 'nonpayable',
3980
3955
  },
3956
+ {
3957
+ type: 'function',
3958
+ inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
3959
+ name: 'splitOf',
3960
+ outputs: [
3961
+ { name: 'creatorShare', internalType: 'uint64', type: 'uint64' },
3962
+ { name: 'burnPerRung', internalType: 'uint64', type: 'uint64' },
3963
+ { name: 'protocolShare', internalType: 'uint64', type: 'uint64' },
3964
+ ],
3965
+ stateMutability: 'view',
3966
+ },
3981
3967
  {
3982
3968
  type: 'function',
3983
3969
  inputs: [{ name: 'r', internalType: 'uint256', type: 'uint256' }],
@@ -4054,19 +4040,6 @@ export const padPolicyAbi = [
4054
4040
  ],
4055
4041
  name: 'Graduated',
4056
4042
  },
4057
- {
4058
- type: 'event',
4059
- anonymous: false,
4060
- inputs: [
4061
- {
4062
- name: 'harvestCut',
4063
- internalType: 'uint256',
4064
- type: 'uint256',
4065
- indexed: false,
4066
- },
4067
- ],
4068
- name: 'HarvestCutSet',
4069
- },
4070
4043
  {
4071
4044
  type: 'event',
4072
4045
  anonymous: false,
@@ -4125,19 +4098,31 @@ export const padPolicyAbi = [
4125
4098
  indexed: false,
4126
4099
  },
4127
4100
  {
4128
- name: 'creatorShare',
4101
+ name: 'protocolShare',
4129
4102
  internalType: 'uint256',
4130
4103
  type: 'uint256',
4131
4104
  indexed: false,
4132
4105
  },
4133
4106
  {
4134
- name: 'protocolShare',
4107
+ name: 'creatorShareMin',
4135
4108
  internalType: 'uint256',
4136
4109
  type: 'uint256',
4137
4110
  indexed: false,
4138
4111
  },
4139
4112
  {
4140
- name: 'burnPerRung',
4113
+ name: 'creatorShareMax',
4114
+ internalType: 'uint256',
4115
+ type: 'uint256',
4116
+ indexed: false,
4117
+ },
4118
+ {
4119
+ name: 'burnMin',
4120
+ internalType: 'uint256',
4121
+ type: 'uint256',
4122
+ indexed: false,
4123
+ },
4124
+ {
4125
+ name: 'burnMax',
4141
4126
  internalType: 'uint256',
4142
4127
  type: 'uint256',
4143
4128
  indexed: false,
@@ -4145,6 +4130,37 @@ export const padPolicyAbi = [
4145
4130
  ],
4146
4131
  name: 'ScheduleSet',
4147
4132
  },
4133
+ {
4134
+ type: 'event',
4135
+ anonymous: false,
4136
+ inputs: [
4137
+ {
4138
+ name: 'poolId',
4139
+ internalType: 'bytes32',
4140
+ type: 'bytes32',
4141
+ indexed: true,
4142
+ },
4143
+ {
4144
+ name: 'creatorShare',
4145
+ internalType: 'uint256',
4146
+ type: 'uint256',
4147
+ indexed: false,
4148
+ },
4149
+ {
4150
+ name: 'burnPerRung',
4151
+ internalType: 'uint256',
4152
+ type: 'uint256',
4153
+ indexed: false,
4154
+ },
4155
+ {
4156
+ name: 'protocolShare',
4157
+ internalType: 'uint256',
4158
+ type: 'uint256',
4159
+ indexed: false,
4160
+ },
4161
+ ],
4162
+ name: 'SplitSet',
4163
+ },
4148
4164
  { type: 'error', inputs: [], name: 'BadFee' },
4149
4165
  { type: 'error', inputs: [], name: 'BadRate' },
4150
4166
  { type: 'error', inputs: [], name: 'NoCreator' },
@@ -4154,6 +4170,7 @@ export const padPolicyAbi = [
4154
4170
  { type: 'error', inputs: [], name: 'NotManager' },
4155
4171
  { type: 'error', inputs: [], name: 'NotRegistry' },
4156
4172
  { type: 'error', inputs: [], name: 'OneBase' },
4173
+ { type: 'error', inputs: [], name: 'OutOfRange' },
4157
4174
  {
4158
4175
  type: 'error',
4159
4176
  inputs: [{ name: 'quote', internalType: 'address', type: 'address' }],
@@ -4197,13 +4214,6 @@ export const polPolicyAbi = [
4197
4214
  outputs: [{ name: '', internalType: 'address', type: 'address' }],
4198
4215
  stateMutability: 'view',
4199
4216
  },
4200
- {
4201
- type: 'function',
4202
- inputs: [],
4203
- name: 'harvestCut',
4204
- outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
4205
- stateMutability: 'view',
4206
- },
4207
4217
  {
4208
4218
  type: 'function',
4209
4219
  inputs: [],
@@ -4276,37 +4286,6 @@ export const polPolicyAbi = [
4276
4286
  outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
4277
4287
  stateMutability: 'view',
4278
4288
  },
4279
- {
4280
- type: 'function',
4281
- inputs: [
4282
- {
4283
- name: 'a',
4284
- internalType: 'struct IFPolicy.Ask',
4285
- type: 'tuple',
4286
- components: [
4287
- { name: 'poolId', internalType: 'bytes32', type: 'bytes32' },
4288
- { name: 'gen', internalType: 'uint256', type: 'uint256' },
4289
- {
4290
- name: 'action',
4291
- internalType: 'enum IFPolicy.Action',
4292
- type: 'uint8',
4293
- },
4294
- { name: 'who', internalType: 'address', type: 'address' },
4295
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
4296
- { name: 'income', internalType: 'uint256', type: 'uint256' },
4297
- { name: 'Q', internalType: 'uint256', type: 'uint256' },
4298
- { name: 'L', internalType: 'uint256', type: 'uint256' },
4299
- { name: 'n', internalType: 'uint256', type: 'uint256' },
4300
- ],
4301
- },
4302
- ],
4303
- name: 'onHarvest',
4304
- outputs: [
4305
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
4306
- { name: 'cut', internalType: 'uint256', type: 'uint256' },
4307
- ],
4308
- stateMutability: 'view',
4309
- },
4310
4289
  {
4311
4290
  type: 'function',
4312
4291
  inputs: [
@@ -4415,13 +4394,6 @@ export const polPolicyAbi = [
4415
4394
  outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
4416
4395
  stateMutability: 'view',
4417
4396
  },
4418
- {
4419
- type: 'function',
4420
- inputs: [{ name: '_harvestCut', internalType: 'uint256', type: 'uint256' }],
4421
- name: 'setHarvestCut',
4422
- outputs: [],
4423
- stateMutability: 'nonpayable',
4424
- },
4425
4397
  {
4426
4398
  type: 'function',
4427
4399
  inputs: [
@@ -4499,19 +4471,6 @@ export const polPolicyAbi = [
4499
4471
  ],
4500
4472
  name: 'AuthoritySet',
4501
4473
  },
4502
- {
4503
- type: 'event',
4504
- anonymous: false,
4505
- inputs: [
4506
- {
4507
- name: 'harvestCut',
4508
- internalType: 'uint256',
4509
- type: 'uint256',
4510
- indexed: false,
4511
- },
4512
- ],
4513
- name: 'HarvestCutSet',
4514
- },
4515
4474
  {
4516
4475
  type: 'event',
4517
4476
  anonymous: false,
@@ -4941,13 +4900,6 @@ export const privatePolicyAbi = [
4941
4900
  outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
4942
4901
  stateMutability: 'view',
4943
4902
  },
4944
- {
4945
- type: 'function',
4946
- inputs: [],
4947
- name: 'harvestCut',
4948
- outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
4949
- stateMutability: 'view',
4950
- },
4951
4903
  {
4952
4904
  type: 'function',
4953
4905
  inputs: [
@@ -5043,37 +4995,6 @@ export const privatePolicyAbi = [
5043
4995
  outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
5044
4996
  stateMutability: 'view',
5045
4997
  },
5046
- {
5047
- type: 'function',
5048
- inputs: [
5049
- {
5050
- name: 'a',
5051
- internalType: 'struct IFPolicy.Ask',
5052
- type: 'tuple',
5053
- components: [
5054
- { name: 'poolId', internalType: 'bytes32', type: 'bytes32' },
5055
- { name: 'gen', internalType: 'uint256', type: 'uint256' },
5056
- {
5057
- name: 'action',
5058
- internalType: 'enum IFPolicy.Action',
5059
- type: 'uint8',
5060
- },
5061
- { name: 'who', internalType: 'address', type: 'address' },
5062
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
5063
- { name: 'income', internalType: 'uint256', type: 'uint256' },
5064
- { name: 'Q', internalType: 'uint256', type: 'uint256' },
5065
- { name: 'L', internalType: 'uint256', type: 'uint256' },
5066
- { name: 'n', internalType: 'uint256', type: 'uint256' },
5067
- ],
5068
- },
5069
- ],
5070
- name: 'onHarvest',
5071
- outputs: [
5072
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
5073
- { name: 'cut', internalType: 'uint256', type: 'uint256' },
5074
- ],
5075
- stateMutability: 'view',
5076
- },
5077
4998
  {
5078
4999
  type: 'function',
5079
5000
  inputs: [
@@ -5214,13 +5135,6 @@ export const privatePolicyAbi = [
5214
5135
  outputs: [],
5215
5136
  stateMutability: 'nonpayable',
5216
5137
  },
5217
- {
5218
- type: 'function',
5219
- inputs: [{ name: '_harvestCut', internalType: 'uint256', type: 'uint256' }],
5220
- name: 'setHarvestCut',
5221
- outputs: [],
5222
- stateMutability: 'nonpayable',
5223
- },
5224
5138
  {
5225
5139
  type: 'function',
5226
5140
  inputs: [
@@ -5325,19 +5239,6 @@ export const privatePolicyAbi = [
5325
5239
  ],
5326
5240
  name: 'GatesSet',
5327
5241
  },
5328
- {
5329
- type: 'event',
5330
- anonymous: false,
5331
- inputs: [
5332
- {
5333
- name: 'harvestCut',
5334
- internalType: 'uint256',
5335
- type: 'uint256',
5336
- indexed: false,
5337
- },
5338
- ],
5339
- name: 'HarvestCutSet',
5340
- },
5341
5242
  {
5342
5243
  type: 'event',
5343
5244
  anonymous: false,
@@ -5500,13 +5401,6 @@ export const publicPolicyAbi = [
5500
5401
  outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
5501
5402
  stateMutability: 'view',
5502
5403
  },
5503
- {
5504
- type: 'function',
5505
- inputs: [],
5506
- name: 'harvestCut',
5507
- outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
5508
- stateMutability: 'view',
5509
- },
5510
5404
  {
5511
5405
  type: 'function',
5512
5406
  inputs: [],
@@ -5572,37 +5466,6 @@ export const publicPolicyAbi = [
5572
5466
  outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
5573
5467
  stateMutability: 'view',
5574
5468
  },
5575
- {
5576
- type: 'function',
5577
- inputs: [
5578
- {
5579
- name: 'a',
5580
- internalType: 'struct IFPolicy.Ask',
5581
- type: 'tuple',
5582
- components: [
5583
- { name: 'poolId', internalType: 'bytes32', type: 'bytes32' },
5584
- { name: 'gen', internalType: 'uint256', type: 'uint256' },
5585
- {
5586
- name: 'action',
5587
- internalType: 'enum IFPolicy.Action',
5588
- type: 'uint8',
5589
- },
5590
- { name: 'who', internalType: 'address', type: 'address' },
5591
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
5592
- { name: 'income', internalType: 'uint256', type: 'uint256' },
5593
- { name: 'Q', internalType: 'uint256', type: 'uint256' },
5594
- { name: 'L', internalType: 'uint256', type: 'uint256' },
5595
- { name: 'n', internalType: 'uint256', type: 'uint256' },
5596
- ],
5597
- },
5598
- ],
5599
- name: 'onHarvest',
5600
- outputs: [
5601
- { name: 'amount', internalType: 'uint256', type: 'uint256' },
5602
- { name: 'cut', internalType: 'uint256', type: 'uint256' },
5603
- ],
5604
- stateMutability: 'view',
5605
- },
5606
5469
  {
5607
5470
  type: 'function',
5608
5471
  inputs: [
@@ -5718,13 +5581,6 @@ export const publicPolicyAbi = [
5718
5581
  outputs: [],
5719
5582
  stateMutability: 'nonpayable',
5720
5583
  },
5721
- {
5722
- type: 'function',
5723
- inputs: [{ name: '_harvestCut', internalType: 'uint256', type: 'uint256' }],
5724
- name: 'setHarvestCut',
5725
- outputs: [],
5726
- stateMutability: 'nonpayable',
5727
- },
5728
5584
  {
5729
5585
  type: 'function',
5730
5586
  inputs: [
@@ -5810,19 +5666,6 @@ export const publicPolicyAbi = [
5810
5666
  ],
5811
5667
  name: 'CuratedSet',
5812
5668
  },
5813
- {
5814
- type: 'event',
5815
- anonymous: false,
5816
- inputs: [
5817
- {
5818
- name: 'harvestCut',
5819
- internalType: 'uint256',
5820
- type: 'uint256',
5821
- indexed: false,
5822
- },
5823
- ],
5824
- name: 'HarvestCutSet',
5825
- },
5826
5669
  {
5827
5670
  type: 'event',
5828
5671
  anonymous: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logswap/sdk",
3
- "version": "0.5.69",
3
+ "version": "0.5.71",
4
4
  "description": "TypeScript SDK for Logswap, the liquidity primitive introducing the logarithmic invariant — typed wrappers over the CPoolManager / FPoolManager / Router / Lens surface.",
5
5
  "license": "GPL-2.0-or-later",
6
6
  "type": "module",
package/src/admin.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * One vocabulary: both managers call the protocol's cut of the mint fee
8
8
  * `MINT_FEE_PROTOCOL_CUT`; C sets it through `setFeeParams(uint256)`, F holds it as a constant
9
9
  * (049). The harvest's cut is the policy's answer at every harvest, set on the
10
- * policy (`setHarvestCut`) and capped by the manager (`HARVEST_CUT_MAX`); the release's
10
+ * policy (`PadPolicy.setSchedule`: the protocol's pot share and the ranges a creator chooses inside) and capped by the manager (`POT_CUT_MAX`, `BURN_MAX`; a harvest has no cut, decisions 056); the release's
11
11
  * protocol share likewise (`POT_CUT_MAX`).
12
12
  */
13
13
 
@@ -172,21 +172,36 @@ export async function registryKindOf(c: LogswapClient, policy: Address): Promise
172
172
 
173
173
  // ─── the policies' numbers (the collector's; each bounded where it reaches the manager) ─────
174
174
 
175
- /** The protocol's rate on the income part of every harvest under `policy`, WAD ≤ `HARVEST_CUT_MAX`. */
176
- export async function setHarvestCut(c: LogswapClient, policy: Address, rateWad: bigint): Promise<Hash> {
177
- return write(c, policy, fPolicyBaseAbi, "setHarvestCut", [rateWad]);
178
- }
179
-
180
- /** `PadPolicy.setSchedule`: `T(0)`, the rung's growth, the creator's and the protocol's shares of the pot (≤ `POT_CUT_MAX`), the burn per rung (≤ `BURN_MAX`). The rung is the pool's generation since F version 21. */
175
+ /**
176
+ * `PadPolicy.setSchedule` (decisions 056): `T(0)`, the rung's growth, the protocol's share of the pot (≤ `POT_CUT_MAX`,
177
+ * recorded into each pad at birth), and the RANGES a creator chooses inside at creation — his cut of the pot and the burn per
178
+ * rung (≤ `BURN_MAX`). A change applies to pads born after it. The rung is the pool's generation since F version 21.
179
+ */
181
180
  export async function padSetSchedule(
182
181
  c: LogswapClient,
183
182
  policy: Address,
184
- s: { thresholdBase: bigint; thresholdGrowth: bigint; creatorShare: bigint; protocolShare: bigint; burnPerRung: bigint },
183
+ s: {
184
+ thresholdBase: bigint;
185
+ thresholdGrowth: bigint;
186
+ protocolShare: bigint;
187
+ creatorShareMin: bigint;
188
+ creatorShareMax: bigint;
189
+ burnMin: bigint;
190
+ burnMax: bigint;
191
+ },
185
192
  ): Promise<Hash> {
186
- return write(c, policy, padPolicyAbi, "setSchedule", [s.thresholdBase, s.thresholdGrowth, s.creatorShare, s.protocolShare, s.burnPerRung]);
193
+ return write(c, policy, padPolicyAbi, "setSchedule", [
194
+ s.thresholdBase,
195
+ s.thresholdGrowth,
196
+ s.protocolShare,
197
+ s.creatorShareMin,
198
+ s.creatorShareMax,
199
+ s.burnMin,
200
+ s.burnMax,
201
+ ]);
187
202
  }
188
203
 
189
- /** `PolPolicy.setRules`: what every harvest leaves in the bid and what a relaunch's seed must bring, WAD fractions of L. */
204
+ /** `PolPolicy.setRules`: the reserve a harvest must leave in the bid (`may(Harvest)` refuses less) and what a relaunch's seed must bring, WAD fractions of the pool's L. */
190
205
  export async function polSetRules(c: LogswapClient, policy: Address, s: { keepQuote: bigint; minQuoteAtSeed: bigint }): Promise<Hash> {
191
206
  return write(c, policy, polPolicyAbi, "setRules", [s.keepQuote, s.minQuoteAtSeed]);
192
207
  }
package/src/client.ts CHANGED
@@ -177,7 +177,9 @@ export const EXPECTED_VERSION = 5n;
177
177
  // (the bid: `getPool().Q` when L > 0), `idOf(FPoolKey)` (hashed locally, `fPoolIdOfKey`) and
178
178
  // `reserveOf` (`legOf`'s fourth word). `PadPolicy.rung` is gone: the pad's rung is `gen`, the
179
179
  // next threshold `threshold(gen)`. A pad never retires; a public pool refuses `regenerate`.
180
- export const EXPECTED_F_VERSION = 21n;
180
+ // 23: a harvest asks `may(Harvest)` and takes no terms and no cut (decisions 056): `onHarvest`, `HARVEST_CUT_MAX`,
181
+ // `harvestCut`, `setHarvestCut` are gone; a pad's split (creator's cut, token burn) rides in the key's salt.
182
+ export const EXPECTED_F_VERSION = 23n;
181
183
 
182
184
  export async function assertVersion(c: LogswapClient, expected = EXPECTED_VERSION): Promise<void> {
183
185
  const { cPoolManagerAbi, fPoolManagerAbi } = await import("./generated.js");