@win-trader/bindings 0.0.3 → 0.0.4

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.
@@ -160,7 +160,7 @@ export type OwnableStorageKey = {
160
160
  };
161
161
  /**
162
162
  * Authoritative per-market state: the side aggregates, the funding indices,
163
- * the current funding flows, and the market configuration.
163
+ * the funding EMA, and the market configuration.
164
164
  *
165
165
  * Soroban limits UDT field names to 30 characters, so where a doc glossary
166
166
  * term is longer the field drops the redundant qualifier and its doc
@@ -170,7 +170,7 @@ export type OwnableStorageKey = {
170
170
  export interface Market {
171
171
  config: MarketConfig;
172
172
  /**
173
- * `INDEX_PRECISION`-scaled bps/day payer rate for the current interval.
173
+ * `INDEX_PRECISION`-scaled bps/day payer rate as of the last refresh.
174
174
  */
175
175
  current_payer_rate: i128;
176
176
  current_payer_side: PayerSide;
@@ -182,12 +182,11 @@ export interface Market {
182
182
  */
183
183
  lp_backed_index_long: i128;
184
184
  lp_backed_index_short: i128;
185
+ lp_payer_remainder: i128;
185
186
  /**
186
- * LP-allocated remainder of the payer flow, cash/second at
187
- * `INDEX_PRECISION` (§8.1).
187
+ * Sub-stroop carry of the receiver-liability accrual (§8.3).
188
188
  */
189
- lp_flow_per_second: i128;
190
- lp_payer_remainder: i128;
189
+ pending_remainder: i128;
191
190
  /**
192
191
  * Cumulative payer fee per unit of dominant-side size whose collection
193
192
  * restores cash backing an already-accrued receiver claim (§8.2).
@@ -195,12 +194,6 @@ export interface Market {
195
194
  receiver_backed_index_long: i128;
196
195
  receiver_backed_index_short: i128;
197
196
  /**
198
- * Receiver-allocated share of the payer flow, cash/second at
199
- * `INDEX_PRECISION` (§8.1).
200
- */
201
- receiver_flow_per_second: i128;
202
- receiver_flow_remainder: i128;
203
- /**
204
197
  * Cumulative funding credit per unit of light-side size (§8.2).
205
198
  */
206
199
  receiver_index_long: i128;
@@ -208,6 +201,12 @@ export interface Market {
208
201
  receiver_index_short: i128;
209
202
  receiver_payer_remainder: i128;
210
203
  short: MarketSide;
204
+ /**
205
+ * §8.1 signed EMA of the instantaneous skew: a fraction of one at
206
+ * `INDEX_PRECISION` scale, positive when history says longs dominate.
207
+ * Decays toward the current skew with the global half-life.
208
+ */
209
+ skew_ema: i128;
211
210
  }
212
211
  export interface LpConfig {
213
212
  lp_request_delay: u64;
@@ -268,8 +267,9 @@ export interface LpRequest {
268
267
  status: LpRequestStatus;
269
268
  }
270
269
  /**
271
- * Which side currently pays funding (§8.1: the side with more base
272
- * exposure). `None` when the market is balanced or empty.
270
+ * Which side currently pays funding (§8.1: the side the blended integral
271
+ * skew points at — under the EMA this can be the *lighter* side for a
272
+ * while after the book flips). `None` when the blend is exactly zero.
273
273
  */
274
274
  export type PayerSide = {
275
275
  tag: "None";
@@ -314,6 +314,11 @@ export interface OracleRound {
314
314
  }
315
315
  export interface GlobalConfig {
316
316
  base_borrow_rate_bps_day: i128;
317
+ /**
318
+ * §8.1 half-life of the funding skew EMA, seconds (global: one memory
319
+ * horizon for every market).
320
+ */
321
+ funding_half_life_seconds: u64;
317
322
  hard_cap_factor_limit_bps: u32;
318
323
  lp_revenue_share_bps: u32;
319
324
  max_active_markets: u32;
@@ -328,8 +333,30 @@ export interface GlobalConfig {
328
333
  export interface MarketConfig {
329
334
  adl_pnl_factor_bps: u32;
330
335
  adl_reward_bps: u32;
336
+ /**
337
+ * §11.1 closing-fee tier when the close worsens skew.
338
+ */
339
+ close_fee_high_bps: u32;
340
+ /**
341
+ * §11.1 closing-fee tier when the close improves or preserves skew.
342
+ */
343
+ close_fee_low_bps: u32;
331
344
  hard_cap_pnl_factor_bps: u32;
345
+ /**
346
+ * Margin required to open or add risk (§12.3). Divides max leverage:
347
+ * a position may not be created closer to liquidation than this.
348
+ */
349
+ initial_margin_bps: u32;
350
+ /**
351
+ * §8.1 weight of the instantaneous skew in the funding blend, in bps;
352
+ * the rest is the half-life EMA. `BPS` reproduces pure instant skew.
353
+ */
354
+ instant_weight_bps: u32;
332
355
  liquidation_reward_bps: u32;
356
+ /**
357
+ * Margin below which the position is liquidatable (§12.3). Must not
358
+ * exceed `initial_margin_bps`; the gap is the entry buffer.
359
+ */
333
360
  maintenance_margin_bps: u32;
334
361
  market_risk_factor_bps: u32;
335
362
  max_funding_rate_bps_day: i128;
@@ -337,8 +364,6 @@ export interface MarketConfig {
337
364
  max_long_size_open_interest: i128;
338
365
  max_short_base_exposure: i128;
339
366
  max_short_size_open_interest: i128;
340
- open_fee_high_bps: u32;
341
- open_fee_low_bps: u32;
342
367
  recovery_pnl_factor_bps: u32;
343
368
  warning_pnl_factor_bps: u32;
344
369
  }
@@ -145,17 +145,17 @@ export class Client extends ContractClient {
145
145
  "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
146
146
  "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gYW4gb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNvbXBsZXRlZC4AAAAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDb21wbGV0ZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NvbXBsZXRlZAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
147
147
  "AAAAAgAAACNTdG9yYWdlIGtleXMgZm9yIGBPd25hYmxlYCB1dGlsaXR5LgAAAAAAAAAAEU93bmFibGVTdG9yYWdlS2V5AAAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVy",
148
- "AAAAAQAAAY9BdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBjdXJyZW50IGZ1bmRpbmcgZmxvd3MsIGFuZCB0aGUgbWFya2V0IGNvbmZpZ3VyYXRpb24uCgpTb3JvYmFuIGxpbWl0cyBVRFQgZmllbGQgbmFtZXMgdG8gMzAgY2hhcmFjdGVycywgc28gd2hlcmUgYSBkb2MgZ2xvc3NhcnkKdGVybSBpcyBsb25nZXIgdGhlIGZpZWxkIGRyb3BzIHRoZSByZWR1bmRhbnQgcXVhbGlmaWVyIGFuZCBpdHMgZG9jCmNvbW1lbnQgY2FycmllcyB0aGUgZnVsbCB0ZXJtIChlLmcuIGByZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZ2AgaXMgdGhlCmRvYydzIGByZWNlaXZlcl9iYWNrZWRfcGF5ZXJfaW5kZXhgIGZvciB0aGUgbG9uZyBzaWRlKS4AAAAAAAAAAAZNYXJrZXQAAAAAABIAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxNYXJrZXRDb25maWcAAABFYElOREVYX1BSRUNJU0lPTmAtc2NhbGVkIGJwcy9kYXkgcGF5ZXIgcmF0ZSBmb3IgdGhlIGN1cnJlbnQgaW50ZXJ2YWwuAAAAAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAABTTFAtYWxsb2NhdGVkIHJlbWFpbmRlciBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAEmxwX2Zsb3dfcGVyX3NlY29uZAAAAAAACwAAAAAAAAASbHBfcGF5ZXJfcmVtYWluZGVyAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAVVJlY2VpdmVyLWFsbG9jYXRlZCBzaGFyZSBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAAAAYcmVjZWl2ZXJfZmxvd19wZXJfc2Vjb25kAAAACwAAAAAAAAAXcmVjZWl2ZXJfZmxvd19yZW1haW5kZXIAAAAACwAAAD5DdW11bGF0aXZlIGZ1bmRpbmcgY3JlZGl0IHBlciB1bml0IG9mIGxpZ2h0LXNpZGUgc2l6ZSAowqc4LjIpLgAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAYcmVjZWl2ZXJfaW5kZXhfcmVtYWluZGVyAAAACwAAAAAAAAAUcmVjZWl2ZXJfaW5kZXhfc2hvcnQAAAALAAAAAAAAABhyZWNlaXZlcl9wYXllcl9yZW1haW5kZXIAAAALAAAAAAAAAAVzaG9ydAAAAAAAB9AAAAAKTWFya2V0U2lkZQAA",
148
+ "AAAAAQAAAYVBdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBmdW5kaW5nIEVNQSwgYW5kIHRoZSBtYXJrZXQgY29uZmlndXJhdGlvbi4KClNvcm9iYW4gbGltaXRzIFVEVCBmaWVsZCBuYW1lcyB0byAzMCBjaGFyYWN0ZXJzLCBzbyB3aGVyZSBhIGRvYyBnbG9zc2FyeQp0ZXJtIGlzIGxvbmdlciB0aGUgZmllbGQgZHJvcHMgdGhlIHJlZHVuZGFudCBxdWFsaWZpZXIgYW5kIGl0cyBkb2MKY29tbWVudCBjYXJyaWVzIHRoZSBmdWxsIHRlcm0gKGUuZy4gYHJlY2VpdmVyX2JhY2tlZF9pbmRleF9sb25nYCBpcyB0aGUKZG9jJ3MgYHJlY2VpdmVyX2JhY2tlZF9wYXllcl9pbmRleGAgZm9yIHRoZSBsb25nIHNpZGUpLgAAAAAAAAAAAAAGTWFya2V0AAAAAAARAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAQ2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHBheWVyIHJhdGUgYXMgb2YgdGhlIGxhc3QgcmVmcmVzaC4AAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAAAAAAAAEmxwX3BheWVyX3JlbWFpbmRlcgAAAAAACwAAADtTdWItc3Ryb29wIGNhcnJ5IG9mIHRoZSByZWNlaXZlci1saWFiaWxpdHkgYWNjcnVhbCAowqc4LjMpLgAAAAARcGVuZGluZ19yZW1haW5kZXIAAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAPkN1bXVsYXRpdmUgZnVuZGluZyBjcmVkaXQgcGVyIHVuaXQgb2YgbGlnaHQtc2lkZSBzaXplICjCpzguMikuAAAAAAATcmVjZWl2ZXJfaW5kZXhfbG9uZwAAAAALAAAAAAAAABhyZWNlaXZlcl9pbmRleF9yZW1haW5kZXIAAAALAAAAAAAAABRyZWNlaXZlcl9pbmRleF9zaG9ydAAAAAsAAAAAAAAAGHJlY2VpdmVyX3BheWVyX3JlbWFpbmRlcgAAAAsAAAAAAAAABXNob3J0AAAAAAAH0AAAAApNYXJrZXRTaWRlAAAAAAC+wqc4LjEgc2lnbmVkIEVNQSBvZiB0aGUgaW5zdGFudGFuZW91cyBza2V3OiBhIGZyYWN0aW9uIG9mIG9uZSBhdApgSU5ERVhfUFJFQ0lTSU9OYCBzY2FsZSwgcG9zaXRpdmUgd2hlbiBoaXN0b3J5IHNheXMgbG9uZ3MgZG9taW5hdGUuCkRlY2F5cyB0b3dhcmQgdGhlIGN1cnJlbnQgc2tldyB3aXRoIHRoZSBnbG9iYWwgaGFsZi1saWZlLgAAAAAACHNrZXdfZW1hAAAACw==",
149
149
  "AAAAAQAAAAAAAAAAAAAACExwQ29uZmlnAAAAAwAAAAAAAAAQbHBfcmVxdWVzdF9kZWxheQAAAAYAAAAAAAAAHG1heF93aXRoZHJhd191dGlsaXphdGlvbl9icHMAAAAEAAAAAAAAABptaW5fZGVwb3NpdF9uYXZfZmFjdG9yX2JwcwAAAAAABA==",
150
150
  "AAAAAQAAADVSZXByZXNlbnRzIGEgc2luZ2xlIHRyYWRlcidzIG9wZW4gbGV2ZXJhZ2VkIHBvc2l0aW9uLgAAAAAAAAAAAAAIUG9zaXRpb24AAAAQAAAAIUFzc2V0IHVuaXRzIGF0IGBQUklDRV9QUkVDSVNJT05gLgAAAAAAAA1iYXNlX2V4cG9zdXJlAAAAAAAACwAAAAAAAAALYm9ycm93X2RlYnQAAAAACwAAAClDYXNoIG93bmVkIGJ5IGFuIG9wdGlvbmFsLW9yZGVyIGV4ZWN1dG9yLgAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAYZnVuZGluZ19wYWlkX3RvX2xwc19kZWJ0AAAACwAAAAAAAAAeZnVuZGluZ19wYWlkX3RvX3JlY2VpdmVyc19kZWJ0AAAAAAALAAAAAAAAABVmdW5kaW5nX3JlY2VpdmVkX2RlYnQAAAAAAAALAAAAAAAAAAJpZAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAABNsYXN0X2luY3JlYXNlZF90aW1lAAAAAAYAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAALkZpeGVkIGdyb3NzIGNhcGFjaXR5IGFzc2lnbmVkIHdoZW4gcmlzayBvcGVucy4AAAAAAApyaXNrX3VuaXRzAAAAAAALAAAAIlVTRCBub3Rpb25hbCBhdCBgUFJJQ0VfUFJFQ0lTSU9OYC4AAAAAAARzaXplAAAACwAAADtUcmlnZ2VyIHByaWNlIGZvciB0aGUgb3B0aW9uYWwgc3RvcC1sb3NzIG9yZGVyOyBgMGAgPSBub25lLgAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAMpUcmFkZXItb3duZWQgY29sbGF0ZXJhbCByZWNvcmRlZCBpbiBjb250cmFjdCBzdGF0ZSAodGhlIGRvYydzCiJzdG9yZWQgY29sbGF0ZXJhbCIpLiBFZmZlY3RpdmUgY29sbGF0ZXJhbCDigJQgc3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIKcGVuZGluZyBmZWVzIGFuZCBmdW5kaW5nIGNyZWRpdHMg4oCUIGlzIGFsd2F5cyBkZXJpdmVkLCBuZXZlciBzdG9yZWQuAAAAAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAPVRyaWdnZXIgcHJpY2UgZm9yIHRoZSBvcHRpb25hbCB0YWtlLXByb2ZpdCBvcmRlcjsgYDBgID0gbm9uZS4AAAAAAAALdGFrZV9wcm9maXQAAAAACw==",
151
151
  "AAAAAQAAAAAAAAAAAAAACUxwUmVxdWVzdAAAAAAAAAcAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAANZXhlY3V0ZV9hZnRlcgAAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAARraW5kAAAH0AAAAA1McFJlcXVlc3RLaW5kAAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHJlcXVlc3RfdGltZQAAAAYAAAAAAAAABnN0YXR1cwAAAAAH0AAAAA9McFJlcXVlc3RTdGF0dXMA",
152
- "AAAAAgAAAHlXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB3aXRoIG1vcmUgYmFzZQpleHBvc3VyZSkuIGBOb25lYCB3aGVuIHRoZSBtYXJrZXQgaXMgYmFsYW5jZWQgb3IgZW1wdHkuAAAAAAAAAAAAAAlQYXllclNpZGUAAAAAAAADAAAAAAAAAAAAAAAETm9uZQAAAAAAAAAAAAAABExvbmcAAAAAAAAAAAAAAAVTaG9ydAAAAA==",
152
+ "AAAAAgAAANFXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB0aGUgYmxlbmRlZCBpbnRlZ3JhbApza2V3IHBvaW50cyBhdCDigJQgdW5kZXIgdGhlIEVNQSB0aGlzIGNhbiBiZSB0aGUgKmxpZ2h0ZXIqIHNpZGUgZm9yIGEKd2hpbGUgYWZ0ZXIgdGhlIGJvb2sgZmxpcHMpLiBgTm9uZWAgd2hlbiB0aGUgYmxlbmQgaXMgZXhhY3RseSB6ZXJvLgAAAAAAAAAAAAAJUGF5ZXJTaWRlAAAAAAAAAwAAAAAAAAAAAAAABE5vbmUAAAAAAAAAAAAAAARMb25nAAAAAAAAAAAAAAAFU2hvcnQAAAA=",
153
153
  "AAAAAgAAAAAAAAAAAAAACVJpc2tTdGF0ZQAAAAAAAAQAAAAAAAAAAAAAAAZOb3JtYWwAAAAAAAAAAAAAAAAAB1dhcm5pbmcAAAAAAAAAAAAAAAADQWRsAAAAAAAAAAAAAAAAB0hhcmRDYXAA",
154
154
  "AAAAAQAAAAAAAAAAAAAACk1hcmtldFNpZGUAAAAAAAUAAAAAAAAADWJhc2VfZXhwb3N1cmUAAAAAAAALAAAAAAAAAApyaXNrX3N0YXRlAAAAAAfQAAAACVJpc2tTdGF0ZQAAAAAAAAAAAAAKcmlza191bml0cwAAAAAACwAAAAAAAAASc2l6ZV9vcGVuX2ludGVyZXN0AAAAAAALAAAAAAAAABdzdG9yZWRfY29sbGF0ZXJhbF90b3RhbAAAAAAL",
155
155
  "AAAAAQAAAAAAAAAAAAAAClJvdW5kUHJpY2UAAAAAAAIAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAGc3ltYm9sAAAAAAAR",
156
156
  "AAAAAQAAAAAAAAAAAAAAC09yYWNsZVJvdW5kAAAAAAUAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAtwcmV2aW91c19pZAAAAAAGAAAAAAAAABJwcmV2aW91c190aW1lc3RhbXAAAAAAAAYAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAAKUm91bmRQcmljZQAAAAAAAAAAAAl0aW1lc3RhbXAAAAAAAAAG",
157
- "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAsAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAAAAAAAFW1pbl9wb3NpdGlvbl9saWZldGltZQAAAAAAAAYAAAAAAAAAF3Jpc2tfY2FwYWNpdHlfbGltaXRfYnBzAAAAAAQAAAAAAAAAHXJpc2tfa2VlcGVyX3JldmVudWVfc2hhcmVfYnBzAAAAAAAABA==",
158
- "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAAA8AAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAF2hhcmRfY2FwX3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAFm1haW50ZW5hbmNlX21hcmdpbl9icHMAAAAAAAQAAAAAAAAAFm1hcmtldF9yaXNrX2ZhY3Rvcl9icHMAAAAAAAQAAAAAAAAAGG1heF9mdW5kaW5nX3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAFm1heF9sb25nX2Jhc2VfZXhwb3N1cmUAAAAAAAsAAAAAAAAAG21heF9sb25nX3NpemVfb3Blbl9pbnRlcmVzdAAAAAALAAAAAAAAABdtYXhfc2hvcnRfYmFzZV9leHBvc3VyZQAAAAALAAAAAAAAABxtYXhfc2hvcnRfc2l6ZV9vcGVuX2ludGVyZXN0AAAACwAAAAAAAAARb3Blbl9mZWVfaGlnaF9icHMAAAAAAAAEAAAAAAAAABBvcGVuX2ZlZV9sb3dfYnBzAAAABAAAAAAAAAAXcmVjb3ZlcnlfcG5sX2ZhY3Rvcl9icHMAAAAABAAAAAAAAAAWd2FybmluZ19wbmxfZmFjdG9yX2JwcwAAAAAABA==",
157
+ "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAwAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAABfwqc4LjEgaGFsZi1saWZlIG9mIHRoZSBmdW5kaW5nIHNrZXcgRU1BLCBzZWNvbmRzIChnbG9iYWw6IG9uZSBtZW1vcnkKaG9yaXpvbiBmb3IgZXZlcnkgbWFya2V0KS4AAAAAGWZ1bmRpbmdfaGFsZl9saWZlX3NlY29uZHMAAAAAAAAGAAAAAAAAABloYXJkX2NhcF9mYWN0b3JfbGltaXRfYnBzAAAAAAAABAAAAAAAAAAUbHBfcmV2ZW51ZV9zaGFyZV9icHMAAAAEAAAAAAAAABJtYXhfYWN0aXZlX21hcmtldHMAAAAAAAQAAAAAAAAADm1heF9hZGxfcmV3YXJkAAAAAAALAAAAAAAAABptYXhfaW5zb2x2ZW50X3RvdWNoX3Jld2FyZAAAAAAACwAAAAAAAAAbbWF4X3ZhcmlhYmxlX2JvcnJvd19icHNfZGF5AAAAAAsAAAAAAAAADm1pbl9jb2xsYXRlcmFsAAAAAAALAAAAAAAAABVtaW5fcG9zaXRpb25fbGlmZXRpbWUAAAAAAAAGAAAAAAAAABdyaXNrX2NhcGFjaXR5X2xpbWl0X2JwcwAAAAAEAAAAAAAAAB1yaXNrX2tlZXBlcl9yZXZlbnVlX3NoYXJlX2JwcwAAAAAAAAQ=",
158
+ "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAABEAAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAA0wqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2Ugd29yc2VucyBza2V3LgAAABJjbG9zZV9mZWVfaGlnaF9icHMAAAAAAAQAAABCwqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2UgaW1wcm92ZXMgb3IgcHJlc2VydmVzIHNrZXcuAAAAAAARY2xvc2VfZmVlX2xvd19icHMAAAAAAAAEAAAAAAAAABdoYXJkX2NhcF9wbmxfZmFjdG9yX2JwcwAAAAAEAAAAgk1hcmdpbiByZXF1aXJlZCB0byBvcGVuIG9yIGFkZCByaXNrICjCpzEyLjMpLiBEaXZpZGVzIG1heCBsZXZlcmFnZToKYSBwb3NpdGlvbiBtYXkgbm90IGJlIGNyZWF0ZWQgY2xvc2VyIHRvIGxpcXVpZGF0aW9uIHRoYW4gdGhpcy4AAAAAABJpbml0aWFsX21hcmdpbl9icHMAAAAAAAQAAACHwqc4LjEgd2VpZ2h0IG9mIHRoZSBpbnN0YW50YW5lb3VzIHNrZXcgaW4gdGhlIGZ1bmRpbmcgYmxlbmQsIGluIGJwczsKdGhlIHJlc3QgaXMgdGhlIGhhbGYtbGlmZSBFTUEuIGBCUFNgIHJlcHJvZHVjZXMgcHVyZSBpbnN0YW50IHNrZXcuAAAAABJpbnN0YW50X3dlaWdodF9icHMAAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAB8TWFyZ2luIGJlbG93IHdoaWNoIHRoZSBwb3NpdGlvbiBpcyBsaXF1aWRhdGFibGUgKMKnMTIuMykuIE11c3Qgbm90CmV4Y2VlZCBgaW5pdGlhbF9tYXJnaW5fYnBzYDsgdGhlIGdhcCBpcyB0aGUgZW50cnkgYnVmZmVyLgAAABZtYWludGVuYW5jZV9tYXJnaW5fYnBzAAAAAAAEAAAAAAAAABZtYXJrZXRfcmlza19mYWN0b3JfYnBzAAAAAAAEAAAAAAAAABhtYXhfZnVuZGluZ19yYXRlX2Jwc19kYXkAAAALAAAAAAAAABZtYXhfbG9uZ19iYXNlX2V4cG9zdXJlAAAAAAALAAAAAAAAABttYXhfbG9uZ19zaXplX29wZW5faW50ZXJlc3QAAAAACwAAAAAAAAAXbWF4X3Nob3J0X2Jhc2VfZXhwb3N1cmUAAAAACwAAAAAAAAAcbWF4X3Nob3J0X3NpemVfb3Blbl9pbnRlcmVzdAAAAAsAAAAAAAAAF3JlY292ZXJ5X3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFndhcm5pbmdfcG5sX2ZhY3Rvcl9icHMAAAAAAAQ=",
159
159
  "AAAAAQAAAC5HbG9iYWwgc2FmZXR5IHRocmVzaG9sZHMgZm9yIHByaWNlIHZhbGlkYXRpb24uAAAAAAAAAAAADE9yYWNsZUNvbmZpZwAAAAQAAADzSG93IGxvbmcgYSBjYWNoZWQgYWdncmVnYXRlZCBwcmljZSByZW1haW5zIHZhbGlkIGFmdGVyIHRoZSByb3V0ZXIKZmV0Y2ggKGluIHNlY29uZHMpLiBBIGNhY2hlIGhpdCBhbHNvIHJlcXVpcmVzIGV2ZXJ5IHNvdXJjZSB0aW1lc3RhbXAKdXNlZCBmb3IgdGhlIGNhY2hlZCBtZWRpYW4gdG8gcmVtYWluIHdpdGhpbiBgc3RhbGVuZXNzX3RocmVzaG9sZGAuCk11c3QgYmUgPiAwIGFuZCA8PSBgc3RhbGVuZXNzX3RocmVzaG9sZGAuAAAAAA5jYWNoZV9kdXJhdGlvbgAAAAAABgAAAIlNYXhpbXVtIGFsbG93ZWQgc3ByZWFkIGJldHdlZW4gb3JhY2xlIHNvdXJjZXMgaW4gYmFzaXMgcG9pbnRzCihlLmcuLCAxMDAgPSAxJSkuIEJvdW5kZWQgYXQgYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9ERVZJQVRJT05fQlBTX0NFSUxJTkdgLgAAAAAAABFtYXhfZGV2aWF0aW9uX2JwcwAAAAAAAAsAAADhTWluaW11bSBudW1iZXIgb2Ygc291cmNlIHJlc3BvbnNlcyB0aGF0IG11c3QgYWdyZWUgd2l0aGluCmBtYXhfZGV2aWF0aW9uX2Jwc2AgZm9yIE9yYWNsZVJvdXRlciB0byByZXR1cm4gYSBwcmljZS4gRmxvb3JlZCBhdApgY3JhdGU6OmNvbnN0YW50czo6TUlOX1JFUVVJUkVEX1NPVVJDRVNfRkxPT1JgLCBjZWlsaW5nZWQgYXQKYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9PUkFDTEVfU09VUkNFU2AuAAAAAAAAFG1pbl9yZXF1aXJlZF9zb3VyY2VzAAAABAAAAFlNYXhpbXVtIGFnZSBvZiBhbiBleHRlcm5hbCBTRVAtNDAgcHJpY2UgZmVlZCBiZWZvcmUgaXQgaXMgcmVqZWN0ZWQKYXMgc3RhbGUgKGluIHNlY29uZHMpLgAAAAAAABNzdGFsZW5lc3NfdGhyZXNob2xkAAAAAAY=",
160
160
  "AAAAAgAAAAAAAAAAAAAADUxwUmVxdWVzdEtpbmQAAAAAAAACAAAAAAAAAAAAAAAHRGVwb3NpdAAAAAAAAAAAAAAAAApXaXRoZHJhd2FsAAA=",
161
161
  "AAAAAQAAAEtEYXRhIHJlcXVpcmVkIGR1cmluZyBhIFdBU00gbWlncmF0aW9uLiBTaW5nbGUgZGVmaW5pdGlvbiBmb3IgYWxsIGNvbnRyYWN0cy4AAAAAAAAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAQAAAAAAAAAHdmVyc2lvbgAAAAAE",
@@ -1227,7 +1227,7 @@ export interface Client {
1227
1227
  /**
1228
1228
  * Construct and simulate a mint transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1229
1229
  * Public faucet mint. Once protocol restrictions are activated, each
1230
- * address can mint at most 5,000 test USDC cumulatively.
1230
+ * address gets one mint of up to 5,000 test USDC.
1231
1231
  */
1232
1232
  mint: ({ to, amount }: {
1233
1233
  to: string;
@@ -492,7 +492,7 @@ export class Client extends ContractClient {
492
492
  }
493
493
  constructor(options) {
494
494
  super(new ContractSpec(["AAAAAAAAAglEZXN0cm95cyBgYW1vdW50YCBvZiB0b2tlbnMgZnJvbSBgZnJvbWAuIFVwZGF0ZXMgdGhlIHRvdGFsCnN1cHBseSBhY2NvcmRpbmdseS4KCiMgQXJndW1lbnRzCgoqIGBlYCAtIEFjY2VzcyB0byB0aGUgU29yb2JhbiBlbnZpcm9ubWVudC4KKiBgZnJvbWAgLSBUaGUgYWNjb3VudCB3aG9zZSB0b2tlbnMgYXJlIGRlc3Ryb3llZC4KKiBgYW1vdW50YCAtIFRoZSBhbW91bnQgb2YgdG9rZW5zIHRvIGJ1cm4uCgojIEVycm9ycwoKKiBbYGNyYXRlOjpmdW5naWJsZTo6RnVuZ2libGVUb2tlbkVycm9yOjpJbnN1ZmZpY2llbnRCYWxhbmNlYF0gLSBXaGVuCmF0dGVtcHRpbmcgdG8gYnVybiBtb3JlIHRva2VucyB0aGFuIGBmcm9tYCBjdXJyZW50IGJhbGFuY2UuCiogW2BjcmF0ZTo6ZnVuZ2libGU6OkZ1bmdpYmxlVG9rZW5FcnJvcjo6TGVzc1RoYW5aZXJvYF0gLSBXaGVuIGBhbW91bnQgPAowYC4KCiMgRXZlbnRzCgoqIHRvcGljcyAtIGBbImJ1cm4iLCBmcm9tOiBBZGRyZXNzXWAKKiBkYXRhIC0gYFthbW91bnQ6IGkxMjhdYAAAAAAAAARidXJuAAAAAgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAA=",
495
- "AAAAAAAAAHlQdWJsaWMgZmF1Y2V0IG1pbnQuIE9uY2UgcHJvdG9jb2wgcmVzdHJpY3Rpb25zIGFyZSBhY3RpdmF0ZWQsIGVhY2gKYWRkcmVzcyBjYW4gbWludCBhdCBtb3N0IDUsMDAwIHRlc3QgVVNEQyBjdW11bGF0aXZlbHkuAAAAAAAABG1pbnQAAAACAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAA==",
495
+ "AAAAAAAAAHJQdWJsaWMgZmF1Y2V0IG1pbnQuIE9uY2UgcHJvdG9jb2wgcmVzdHJpY3Rpb25zIGFyZSBhY3RpdmF0ZWQsIGVhY2gKYWRkcmVzcyBnZXRzIG9uZSBtaW50IG9mIHVwIHRvIDUsMDAwIHRlc3QgVVNEQy4AAAAAAARtaW50AAAAAgAAAAAAAAACdG8AAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAA=",
496
496
  "AAAAAAAAAFVSZXR1cm5zIHRoZSBuYW1lIGZvciB0aGlzIHRva2VuLgoKIyBBcmd1bWVudHMKCiogYGVgIC0gQWNjZXNzIHRvIFNvcm9iYW4gZW52aXJvbm1lbnQuAAAAAAAABG5hbWUAAAAAAAAAAQAAABA=",
497
497
  "AAAAAAAAAFdSZXR1cm5zIHRoZSBzeW1ib2wgZm9yIHRoaXMgdG9rZW4uCgojIEFyZ3VtZW50cwoKKiBgZWAgLSBBY2Nlc3MgdG8gU29yb2JhbiBlbnZpcm9ubWVudC4AAAAABnN5bWJvbAAAAAAAAAAAAAEAAAAQ",
498
498
  "AAAAAAAAAyZTZXRzIHRoZSBhbW91bnQgb2YgdG9rZW5zIGEgYHNwZW5kZXJgIGlzIGFsbG93ZWQgdG8gc3BlbmQgb24gYmVoYWxmIG9mCmFuIGBvd25lcmAuIE92ZXJyaWRlcyBhbnkgZXhpc3RpbmcgYWxsb3dhbmNlIHNldCBiZXR3ZWVuIGBzcGVuZGVyYCBhbmQKYG93bmVyYC4KCiMgQXJndW1lbnRzCgoqIGBlYCAtIEFjY2VzcyB0byBTb3JvYmFuIGVudmlyb25tZW50LgoqIGBvd25lcmAgLSBUaGUgYWRkcmVzcyBob2xkaW5nIHRoZSB0b2tlbnMuCiogYHNwZW5kZXJgIC0gVGhlIGFkZHJlc3MgYXV0aG9yaXplZCB0byBzcGVuZCB0aGUgdG9rZW5zLgoqIGBhbW91bnRgIC0gVGhlIGFtb3VudCBvZiB0b2tlbnMgbWFkZSBhdmFpbGFibGUgdG8gYHNwZW5kZXJgLgoqIGBsaXZlX3VudGlsX2xlZGdlcmAgLSBUaGUgbGVkZ2VyIG51bWJlciBhdCB3aGljaCB0aGUgYWxsb3dhbmNlCmV4cGlyZXMuCgojIEVycm9ycwoKKiBbYEZ1bmdpYmxlVG9rZW5FcnJvcjo6SW52YWxpZExpdmVVbnRpbExlZGdlcmBdIC0gT2NjdXJzIHdoZW4KYXR0ZW1wdGluZyB0byBzZXQgYGxpdmVfdW50aWxfbGVkZ2VyYCB0aGF0IGlzIGxlc3MgdGhhbiB0aGUgY3VycmVudApsZWRnZXIgbnVtYmVyIGFuZCBncmVhdGVyIHRoYW4gYDBgLgoqIFtgRnVuZ2libGVUb2tlbkVycm9yOjpMZXNzVGhhblplcm9gXSAtIE9jY3VycyB3aGVuIGBhbW91bnQgPCAwYC4KCiMgRXZlbnRzCgoqIHRvcGljcyAtIGBbImFwcHJvdmUiLCBmcm9tOiBBZGRyZXNzLCBzcGVuZGVyOiBBZGRyZXNzXWAKKiBkYXRhIC0gYFthbW91bnQ6IGkxMjgsIGxpdmVfdW50aWxfbGVkZ2VyOiB1MzJdYAAAAAAAB2FwcHJvdmUAAAAABAAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAdzcGVuZGVyAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAARbGl2ZV91bnRpbF9sZWRnZXIAAAAAAAAEAAAAAA==",
@@ -57,7 +57,7 @@ export type StorageKey = {
57
57
  };
58
58
  /**
59
59
  * Authoritative per-market state: the side aggregates, the funding indices,
60
- * the current funding flows, and the market configuration.
60
+ * the funding EMA, and the market configuration.
61
61
  *
62
62
  * Soroban limits UDT field names to 30 characters, so where a doc glossary
63
63
  * term is longer the field drops the redundant qualifier and its doc
@@ -67,7 +67,7 @@ export type StorageKey = {
67
67
  export interface Market {
68
68
  config: MarketConfig;
69
69
  /**
70
- * `INDEX_PRECISION`-scaled bps/day payer rate for the current interval.
70
+ * `INDEX_PRECISION`-scaled bps/day payer rate as of the last refresh.
71
71
  */
72
72
  current_payer_rate: i128;
73
73
  current_payer_side: PayerSide;
@@ -79,12 +79,11 @@ export interface Market {
79
79
  */
80
80
  lp_backed_index_long: i128;
81
81
  lp_backed_index_short: i128;
82
+ lp_payer_remainder: i128;
82
83
  /**
83
- * LP-allocated remainder of the payer flow, cash/second at
84
- * `INDEX_PRECISION` (§8.1).
84
+ * Sub-stroop carry of the receiver-liability accrual (§8.3).
85
85
  */
86
- lp_flow_per_second: i128;
87
- lp_payer_remainder: i128;
86
+ pending_remainder: i128;
88
87
  /**
89
88
  * Cumulative payer fee per unit of dominant-side size whose collection
90
89
  * restores cash backing an already-accrued receiver claim (§8.2).
@@ -92,12 +91,6 @@ export interface Market {
92
91
  receiver_backed_index_long: i128;
93
92
  receiver_backed_index_short: i128;
94
93
  /**
95
- * Receiver-allocated share of the payer flow, cash/second at
96
- * `INDEX_PRECISION` (§8.1).
97
- */
98
- receiver_flow_per_second: i128;
99
- receiver_flow_remainder: i128;
100
- /**
101
94
  * Cumulative funding credit per unit of light-side size (§8.2).
102
95
  */
103
96
  receiver_index_long: i128;
@@ -105,6 +98,12 @@ export interface Market {
105
98
  receiver_index_short: i128;
106
99
  receiver_payer_remainder: i128;
107
100
  short: MarketSide;
101
+ /**
102
+ * §8.1 signed EMA of the instantaneous skew: a fraction of one at
103
+ * `INDEX_PRECISION` scale, positive when history says longs dominate.
104
+ * Decays toward the current skew with the global half-life.
105
+ */
106
+ skew_ema: i128;
108
107
  }
109
108
  export interface LpConfig {
110
109
  lp_request_delay: u64;
@@ -165,8 +164,9 @@ export interface LpRequest {
165
164
  status: LpRequestStatus;
166
165
  }
167
166
  /**
168
- * Which side currently pays funding (§8.1: the side with more base
169
- * exposure). `None` when the market is balanced or empty.
167
+ * Which side currently pays funding (§8.1: the side the blended integral
168
+ * skew points at — under the EMA this can be the *lighter* side for a
169
+ * while after the book flips). `None` when the blend is exactly zero.
170
170
  */
171
171
  export type PayerSide = {
172
172
  tag: "None";
@@ -211,6 +211,11 @@ export interface OracleRound {
211
211
  }
212
212
  export interface GlobalConfig {
213
213
  base_borrow_rate_bps_day: i128;
214
+ /**
215
+ * §8.1 half-life of the funding skew EMA, seconds (global: one memory
216
+ * horizon for every market).
217
+ */
218
+ funding_half_life_seconds: u64;
214
219
  hard_cap_factor_limit_bps: u32;
215
220
  lp_revenue_share_bps: u32;
216
221
  max_active_markets: u32;
@@ -225,8 +230,30 @@ export interface GlobalConfig {
225
230
  export interface MarketConfig {
226
231
  adl_pnl_factor_bps: u32;
227
232
  adl_reward_bps: u32;
233
+ /**
234
+ * §11.1 closing-fee tier when the close worsens skew.
235
+ */
236
+ close_fee_high_bps: u32;
237
+ /**
238
+ * §11.1 closing-fee tier when the close improves or preserves skew.
239
+ */
240
+ close_fee_low_bps: u32;
228
241
  hard_cap_pnl_factor_bps: u32;
242
+ /**
243
+ * Margin required to open or add risk (§12.3). Divides max leverage:
244
+ * a position may not be created closer to liquidation than this.
245
+ */
246
+ initial_margin_bps: u32;
247
+ /**
248
+ * §8.1 weight of the instantaneous skew in the funding blend, in bps;
249
+ * the rest is the half-life EMA. `BPS` reproduces pure instant skew.
250
+ */
251
+ instant_weight_bps: u32;
229
252
  liquidation_reward_bps: u32;
253
+ /**
254
+ * Margin below which the position is liquidatable (§12.3). Must not
255
+ * exceed `initial_margin_bps`; the gap is the entry buffer.
256
+ */
230
257
  maintenance_margin_bps: u32;
231
258
  market_risk_factor_bps: u32;
232
259
  max_funding_rate_bps_day: i128;
@@ -234,8 +261,6 @@ export interface MarketConfig {
234
261
  max_long_size_open_interest: i128;
235
262
  max_short_base_exposure: i128;
236
263
  max_short_size_open_interest: i128;
237
- open_fee_high_bps: u32;
238
- open_fee_low_bps: u32;
239
264
  recovery_pnl_factor_bps: u32;
240
265
  warning_pnl_factor_bps: u32;
241
266
  }
@@ -101,17 +101,17 @@ export class Client extends ContractClient {
101
101
  "AAAAAAAAAAAAAAANc2V0X3B1Ymxpc2hlcgAAAAAAAAIAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAANbmV3X3B1Ymxpc2hlcgAAAAAAABMAAAAA",
102
102
  "AAAAAAAAAAAAAAAOY2FuY2VsX3VwZ3JhZGUAAAAAAAEAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAA=",
103
103
  "AAAAAAAAAAAAAAAPcHJvcG9zZV91cGdyYWRlAAAAAAIAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAAJd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAA",
104
- "AAAAAQAAAY9BdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBjdXJyZW50IGZ1bmRpbmcgZmxvd3MsIGFuZCB0aGUgbWFya2V0IGNvbmZpZ3VyYXRpb24uCgpTb3JvYmFuIGxpbWl0cyBVRFQgZmllbGQgbmFtZXMgdG8gMzAgY2hhcmFjdGVycywgc28gd2hlcmUgYSBkb2MgZ2xvc3NhcnkKdGVybSBpcyBsb25nZXIgdGhlIGZpZWxkIGRyb3BzIHRoZSByZWR1bmRhbnQgcXVhbGlmaWVyIGFuZCBpdHMgZG9jCmNvbW1lbnQgY2FycmllcyB0aGUgZnVsbCB0ZXJtIChlLmcuIGByZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZ2AgaXMgdGhlCmRvYydzIGByZWNlaXZlcl9iYWNrZWRfcGF5ZXJfaW5kZXhgIGZvciB0aGUgbG9uZyBzaWRlKS4AAAAAAAAAAAZNYXJrZXQAAAAAABIAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxNYXJrZXRDb25maWcAAABFYElOREVYX1BSRUNJU0lPTmAtc2NhbGVkIGJwcy9kYXkgcGF5ZXIgcmF0ZSBmb3IgdGhlIGN1cnJlbnQgaW50ZXJ2YWwuAAAAAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAABTTFAtYWxsb2NhdGVkIHJlbWFpbmRlciBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAEmxwX2Zsb3dfcGVyX3NlY29uZAAAAAAACwAAAAAAAAASbHBfcGF5ZXJfcmVtYWluZGVyAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAVVJlY2VpdmVyLWFsbG9jYXRlZCBzaGFyZSBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAAAAYcmVjZWl2ZXJfZmxvd19wZXJfc2Vjb25kAAAACwAAAAAAAAAXcmVjZWl2ZXJfZmxvd19yZW1haW5kZXIAAAAACwAAAD5DdW11bGF0aXZlIGZ1bmRpbmcgY3JlZGl0IHBlciB1bml0IG9mIGxpZ2h0LXNpZGUgc2l6ZSAowqc4LjIpLgAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAYcmVjZWl2ZXJfaW5kZXhfcmVtYWluZGVyAAAACwAAAAAAAAAUcmVjZWl2ZXJfaW5kZXhfc2hvcnQAAAALAAAAAAAAABhyZWNlaXZlcl9wYXllcl9yZW1haW5kZXIAAAALAAAAAAAAAAVzaG9ydAAAAAAAB9AAAAAKTWFya2V0U2lkZQAA",
104
+ "AAAAAQAAAYVBdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBmdW5kaW5nIEVNQSwgYW5kIHRoZSBtYXJrZXQgY29uZmlndXJhdGlvbi4KClNvcm9iYW4gbGltaXRzIFVEVCBmaWVsZCBuYW1lcyB0byAzMCBjaGFyYWN0ZXJzLCBzbyB3aGVyZSBhIGRvYyBnbG9zc2FyeQp0ZXJtIGlzIGxvbmdlciB0aGUgZmllbGQgZHJvcHMgdGhlIHJlZHVuZGFudCBxdWFsaWZpZXIgYW5kIGl0cyBkb2MKY29tbWVudCBjYXJyaWVzIHRoZSBmdWxsIHRlcm0gKGUuZy4gYHJlY2VpdmVyX2JhY2tlZF9pbmRleF9sb25nYCBpcyB0aGUKZG9jJ3MgYHJlY2VpdmVyX2JhY2tlZF9wYXllcl9pbmRleGAgZm9yIHRoZSBsb25nIHNpZGUpLgAAAAAAAAAAAAAGTWFya2V0AAAAAAARAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAQ2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHBheWVyIHJhdGUgYXMgb2YgdGhlIGxhc3QgcmVmcmVzaC4AAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAAAAAAAAEmxwX3BheWVyX3JlbWFpbmRlcgAAAAAACwAAADtTdWItc3Ryb29wIGNhcnJ5IG9mIHRoZSByZWNlaXZlci1saWFiaWxpdHkgYWNjcnVhbCAowqc4LjMpLgAAAAARcGVuZGluZ19yZW1haW5kZXIAAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAPkN1bXVsYXRpdmUgZnVuZGluZyBjcmVkaXQgcGVyIHVuaXQgb2YgbGlnaHQtc2lkZSBzaXplICjCpzguMikuAAAAAAATcmVjZWl2ZXJfaW5kZXhfbG9uZwAAAAALAAAAAAAAABhyZWNlaXZlcl9pbmRleF9yZW1haW5kZXIAAAALAAAAAAAAABRyZWNlaXZlcl9pbmRleF9zaG9ydAAAAAsAAAAAAAAAGHJlY2VpdmVyX3BheWVyX3JlbWFpbmRlcgAAAAsAAAAAAAAABXNob3J0AAAAAAAH0AAAAApNYXJrZXRTaWRlAAAAAAC+wqc4LjEgc2lnbmVkIEVNQSBvZiB0aGUgaW5zdGFudGFuZW91cyBza2V3OiBhIGZyYWN0aW9uIG9mIG9uZSBhdApgSU5ERVhfUFJFQ0lTSU9OYCBzY2FsZSwgcG9zaXRpdmUgd2hlbiBoaXN0b3J5IHNheXMgbG9uZ3MgZG9taW5hdGUuCkRlY2F5cyB0b3dhcmQgdGhlIGN1cnJlbnQgc2tldyB3aXRoIHRoZSBnbG9iYWwgaGFsZi1saWZlLgAAAAAACHNrZXdfZW1hAAAACw==",
105
105
  "AAAAAQAAAAAAAAAAAAAACExwQ29uZmlnAAAAAwAAAAAAAAAQbHBfcmVxdWVzdF9kZWxheQAAAAYAAAAAAAAAHG1heF93aXRoZHJhd191dGlsaXphdGlvbl9icHMAAAAEAAAAAAAAABptaW5fZGVwb3NpdF9uYXZfZmFjdG9yX2JwcwAAAAAABA==",
106
106
  "AAAAAQAAADVSZXByZXNlbnRzIGEgc2luZ2xlIHRyYWRlcidzIG9wZW4gbGV2ZXJhZ2VkIHBvc2l0aW9uLgAAAAAAAAAAAAAIUG9zaXRpb24AAAAQAAAAIUFzc2V0IHVuaXRzIGF0IGBQUklDRV9QUkVDSVNJT05gLgAAAAAAAA1iYXNlX2V4cG9zdXJlAAAAAAAACwAAAAAAAAALYm9ycm93X2RlYnQAAAAACwAAAClDYXNoIG93bmVkIGJ5IGFuIG9wdGlvbmFsLW9yZGVyIGV4ZWN1dG9yLgAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAYZnVuZGluZ19wYWlkX3RvX2xwc19kZWJ0AAAACwAAAAAAAAAeZnVuZGluZ19wYWlkX3RvX3JlY2VpdmVyc19kZWJ0AAAAAAALAAAAAAAAABVmdW5kaW5nX3JlY2VpdmVkX2RlYnQAAAAAAAALAAAAAAAAAAJpZAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAABNsYXN0X2luY3JlYXNlZF90aW1lAAAAAAYAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAALkZpeGVkIGdyb3NzIGNhcGFjaXR5IGFzc2lnbmVkIHdoZW4gcmlzayBvcGVucy4AAAAAAApyaXNrX3VuaXRzAAAAAAALAAAAIlVTRCBub3Rpb25hbCBhdCBgUFJJQ0VfUFJFQ0lTSU9OYC4AAAAAAARzaXplAAAACwAAADtUcmlnZ2VyIHByaWNlIGZvciB0aGUgb3B0aW9uYWwgc3RvcC1sb3NzIG9yZGVyOyBgMGAgPSBub25lLgAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAMpUcmFkZXItb3duZWQgY29sbGF0ZXJhbCByZWNvcmRlZCBpbiBjb250cmFjdCBzdGF0ZSAodGhlIGRvYydzCiJzdG9yZWQgY29sbGF0ZXJhbCIpLiBFZmZlY3RpdmUgY29sbGF0ZXJhbCDigJQgc3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIKcGVuZGluZyBmZWVzIGFuZCBmdW5kaW5nIGNyZWRpdHMg4oCUIGlzIGFsd2F5cyBkZXJpdmVkLCBuZXZlciBzdG9yZWQuAAAAAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAPVRyaWdnZXIgcHJpY2UgZm9yIHRoZSBvcHRpb25hbCB0YWtlLXByb2ZpdCBvcmRlcjsgYDBgID0gbm9uZS4AAAAAAAALdGFrZV9wcm9maXQAAAAACw==",
107
107
  "AAAAAQAAAAAAAAAAAAAACUxwUmVxdWVzdAAAAAAAAAcAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAANZXhlY3V0ZV9hZnRlcgAAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAARraW5kAAAH0AAAAA1McFJlcXVlc3RLaW5kAAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHJlcXVlc3RfdGltZQAAAAYAAAAAAAAABnN0YXR1cwAAAAAH0AAAAA9McFJlcXVlc3RTdGF0dXMA",
108
- "AAAAAgAAAHlXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB3aXRoIG1vcmUgYmFzZQpleHBvc3VyZSkuIGBOb25lYCB3aGVuIHRoZSBtYXJrZXQgaXMgYmFsYW5jZWQgb3IgZW1wdHkuAAAAAAAAAAAAAAlQYXllclNpZGUAAAAAAAADAAAAAAAAAAAAAAAETm9uZQAAAAAAAAAAAAAABExvbmcAAAAAAAAAAAAAAAVTaG9ydAAAAA==",
108
+ "AAAAAgAAANFXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB0aGUgYmxlbmRlZCBpbnRlZ3JhbApza2V3IHBvaW50cyBhdCDigJQgdW5kZXIgdGhlIEVNQSB0aGlzIGNhbiBiZSB0aGUgKmxpZ2h0ZXIqIHNpZGUgZm9yIGEKd2hpbGUgYWZ0ZXIgdGhlIGJvb2sgZmxpcHMpLiBgTm9uZWAgd2hlbiB0aGUgYmxlbmQgaXMgZXhhY3RseSB6ZXJvLgAAAAAAAAAAAAAJUGF5ZXJTaWRlAAAAAAAAAwAAAAAAAAAAAAAABE5vbmUAAAAAAAAAAAAAAARMb25nAAAAAAAAAAAAAAAFU2hvcnQAAAA=",
109
109
  "AAAAAgAAAAAAAAAAAAAACVJpc2tTdGF0ZQAAAAAAAAQAAAAAAAAAAAAAAAZOb3JtYWwAAAAAAAAAAAAAAAAAB1dhcm5pbmcAAAAAAAAAAAAAAAADQWRsAAAAAAAAAAAAAAAAB0hhcmRDYXAA",
110
110
  "AAAAAQAAAAAAAAAAAAAACk1hcmtldFNpZGUAAAAAAAUAAAAAAAAADWJhc2VfZXhwb3N1cmUAAAAAAAALAAAAAAAAAApyaXNrX3N0YXRlAAAAAAfQAAAACVJpc2tTdGF0ZQAAAAAAAAAAAAAKcmlza191bml0cwAAAAAACwAAAAAAAAASc2l6ZV9vcGVuX2ludGVyZXN0AAAAAAALAAAAAAAAABdzdG9yZWRfY29sbGF0ZXJhbF90b3RhbAAAAAAL",
111
111
  "AAAAAQAAAAAAAAAAAAAAClJvdW5kUHJpY2UAAAAAAAIAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAGc3ltYm9sAAAAAAAR",
112
112
  "AAAAAQAAAAAAAAAAAAAAC09yYWNsZVJvdW5kAAAAAAUAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAtwcmV2aW91c19pZAAAAAAGAAAAAAAAABJwcmV2aW91c190aW1lc3RhbXAAAAAAAAYAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAAKUm91bmRQcmljZQAAAAAAAAAAAAl0aW1lc3RhbXAAAAAAAAAG",
113
- "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAsAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAAAAAAAFW1pbl9wb3NpdGlvbl9saWZldGltZQAAAAAAAAYAAAAAAAAAF3Jpc2tfY2FwYWNpdHlfbGltaXRfYnBzAAAAAAQAAAAAAAAAHXJpc2tfa2VlcGVyX3JldmVudWVfc2hhcmVfYnBzAAAAAAAABA==",
114
- "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAAA8AAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAF2hhcmRfY2FwX3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAFm1haW50ZW5hbmNlX21hcmdpbl9icHMAAAAAAAQAAAAAAAAAFm1hcmtldF9yaXNrX2ZhY3Rvcl9icHMAAAAAAAQAAAAAAAAAGG1heF9mdW5kaW5nX3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAFm1heF9sb25nX2Jhc2VfZXhwb3N1cmUAAAAAAAsAAAAAAAAAG21heF9sb25nX3NpemVfb3Blbl9pbnRlcmVzdAAAAAALAAAAAAAAABdtYXhfc2hvcnRfYmFzZV9leHBvc3VyZQAAAAALAAAAAAAAABxtYXhfc2hvcnRfc2l6ZV9vcGVuX2ludGVyZXN0AAAACwAAAAAAAAARb3Blbl9mZWVfaGlnaF9icHMAAAAAAAAEAAAAAAAAABBvcGVuX2ZlZV9sb3dfYnBzAAAABAAAAAAAAAAXcmVjb3ZlcnlfcG5sX2ZhY3Rvcl9icHMAAAAABAAAAAAAAAAWd2FybmluZ19wbmxfZmFjdG9yX2JwcwAAAAAABA==",
113
+ "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAwAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAABfwqc4LjEgaGFsZi1saWZlIG9mIHRoZSBmdW5kaW5nIHNrZXcgRU1BLCBzZWNvbmRzIChnbG9iYWw6IG9uZSBtZW1vcnkKaG9yaXpvbiBmb3IgZXZlcnkgbWFya2V0KS4AAAAAGWZ1bmRpbmdfaGFsZl9saWZlX3NlY29uZHMAAAAAAAAGAAAAAAAAABloYXJkX2NhcF9mYWN0b3JfbGltaXRfYnBzAAAAAAAABAAAAAAAAAAUbHBfcmV2ZW51ZV9zaGFyZV9icHMAAAAEAAAAAAAAABJtYXhfYWN0aXZlX21hcmtldHMAAAAAAAQAAAAAAAAADm1heF9hZGxfcmV3YXJkAAAAAAALAAAAAAAAABptYXhfaW5zb2x2ZW50X3RvdWNoX3Jld2FyZAAAAAAACwAAAAAAAAAbbWF4X3ZhcmlhYmxlX2JvcnJvd19icHNfZGF5AAAAAAsAAAAAAAAADm1pbl9jb2xsYXRlcmFsAAAAAAALAAAAAAAAABVtaW5fcG9zaXRpb25fbGlmZXRpbWUAAAAAAAAGAAAAAAAAABdyaXNrX2NhcGFjaXR5X2xpbWl0X2JwcwAAAAAEAAAAAAAAAB1yaXNrX2tlZXBlcl9yZXZlbnVlX3NoYXJlX2JwcwAAAAAAAAQ=",
114
+ "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAABEAAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAA0wqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2Ugd29yc2VucyBza2V3LgAAABJjbG9zZV9mZWVfaGlnaF9icHMAAAAAAAQAAABCwqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2UgaW1wcm92ZXMgb3IgcHJlc2VydmVzIHNrZXcuAAAAAAARY2xvc2VfZmVlX2xvd19icHMAAAAAAAAEAAAAAAAAABdoYXJkX2NhcF9wbmxfZmFjdG9yX2JwcwAAAAAEAAAAgk1hcmdpbiByZXF1aXJlZCB0byBvcGVuIG9yIGFkZCByaXNrICjCpzEyLjMpLiBEaXZpZGVzIG1heCBsZXZlcmFnZToKYSBwb3NpdGlvbiBtYXkgbm90IGJlIGNyZWF0ZWQgY2xvc2VyIHRvIGxpcXVpZGF0aW9uIHRoYW4gdGhpcy4AAAAAABJpbml0aWFsX21hcmdpbl9icHMAAAAAAAQAAACHwqc4LjEgd2VpZ2h0IG9mIHRoZSBpbnN0YW50YW5lb3VzIHNrZXcgaW4gdGhlIGZ1bmRpbmcgYmxlbmQsIGluIGJwczsKdGhlIHJlc3QgaXMgdGhlIGhhbGYtbGlmZSBFTUEuIGBCUFNgIHJlcHJvZHVjZXMgcHVyZSBpbnN0YW50IHNrZXcuAAAAABJpbnN0YW50X3dlaWdodF9icHMAAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAB8TWFyZ2luIGJlbG93IHdoaWNoIHRoZSBwb3NpdGlvbiBpcyBsaXF1aWRhdGFibGUgKMKnMTIuMykuIE11c3Qgbm90CmV4Y2VlZCBgaW5pdGlhbF9tYXJnaW5fYnBzYDsgdGhlIGdhcCBpcyB0aGUgZW50cnkgYnVmZmVyLgAAABZtYWludGVuYW5jZV9tYXJnaW5fYnBzAAAAAAAEAAAAAAAAABZtYXJrZXRfcmlza19mYWN0b3JfYnBzAAAAAAAEAAAAAAAAABhtYXhfZnVuZGluZ19yYXRlX2Jwc19kYXkAAAALAAAAAAAAABZtYXhfbG9uZ19iYXNlX2V4cG9zdXJlAAAAAAALAAAAAAAAABttYXhfbG9uZ19zaXplX29wZW5faW50ZXJlc3QAAAAACwAAAAAAAAAXbWF4X3Nob3J0X2Jhc2VfZXhwb3N1cmUAAAAACwAAAAAAAAAcbWF4X3Nob3J0X3NpemVfb3Blbl9pbnRlcmVzdAAAAAsAAAAAAAAAF3JlY292ZXJ5X3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFndhcm5pbmdfcG5sX2ZhY3Rvcl9icHMAAAAAAAQ=",
115
115
  "AAAAAQAAAC5HbG9iYWwgc2FmZXR5IHRocmVzaG9sZHMgZm9yIHByaWNlIHZhbGlkYXRpb24uAAAAAAAAAAAADE9yYWNsZUNvbmZpZwAAAAQAAADzSG93IGxvbmcgYSBjYWNoZWQgYWdncmVnYXRlZCBwcmljZSByZW1haW5zIHZhbGlkIGFmdGVyIHRoZSByb3V0ZXIKZmV0Y2ggKGluIHNlY29uZHMpLiBBIGNhY2hlIGhpdCBhbHNvIHJlcXVpcmVzIGV2ZXJ5IHNvdXJjZSB0aW1lc3RhbXAKdXNlZCBmb3IgdGhlIGNhY2hlZCBtZWRpYW4gdG8gcmVtYWluIHdpdGhpbiBgc3RhbGVuZXNzX3RocmVzaG9sZGAuCk11c3QgYmUgPiAwIGFuZCA8PSBgc3RhbGVuZXNzX3RocmVzaG9sZGAuAAAAAA5jYWNoZV9kdXJhdGlvbgAAAAAABgAAAIlNYXhpbXVtIGFsbG93ZWQgc3ByZWFkIGJldHdlZW4gb3JhY2xlIHNvdXJjZXMgaW4gYmFzaXMgcG9pbnRzCihlLmcuLCAxMDAgPSAxJSkuIEJvdW5kZWQgYXQgYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9ERVZJQVRJT05fQlBTX0NFSUxJTkdgLgAAAAAAABFtYXhfZGV2aWF0aW9uX2JwcwAAAAAAAAsAAADhTWluaW11bSBudW1iZXIgb2Ygc291cmNlIHJlc3BvbnNlcyB0aGF0IG11c3QgYWdyZWUgd2l0aGluCmBtYXhfZGV2aWF0aW9uX2Jwc2AgZm9yIE9yYWNsZVJvdXRlciB0byByZXR1cm4gYSBwcmljZS4gRmxvb3JlZCBhdApgY3JhdGU6OmNvbnN0YW50czo6TUlOX1JFUVVJUkVEX1NPVVJDRVNfRkxPT1JgLCBjZWlsaW5nZWQgYXQKYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9PUkFDTEVfU09VUkNFU2AuAAAAAAAAFG1pbl9yZXF1aXJlZF9zb3VyY2VzAAAABAAAAFlNYXhpbXVtIGFnZSBvZiBhbiBleHRlcm5hbCBTRVAtNDAgcHJpY2UgZmVlZCBiZWZvcmUgaXQgaXMgcmVqZWN0ZWQKYXMgc3RhbGUgKGluIHNlY29uZHMpLgAAAAAAABNzdGFsZW5lc3NfdGhyZXNob2xkAAAAAAY=",
116
116
  "AAAAAgAAAAAAAAAAAAAADUxwUmVxdWVzdEtpbmQAAAAAAAACAAAAAAAAAAAAAAAHRGVwb3NpdAAAAAAAAAAAAAAAAApXaXRoZHJhd2FsAAA=",
117
117
  "AAAAAQAAAEtEYXRhIHJlcXVpcmVkIGR1cmluZyBhIFdBU00gbWlncmF0aW9uLiBTaW5nbGUgZGVmaW5pdGlvbiBmb3IgYWxsIGNvbnRyYWN0cy4AAAAAAAAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAQAAAAAAAAAHdmVyc2lvbgAAAAAE",
@@ -151,7 +151,7 @@ export interface CachedPrice {
151
151
  }
152
152
  /**
153
153
  * Authoritative per-market state: the side aggregates, the funding indices,
154
- * the current funding flows, and the market configuration.
154
+ * the funding EMA, and the market configuration.
155
155
  *
156
156
  * Soroban limits UDT field names to 30 characters, so where a doc glossary
157
157
  * term is longer the field drops the redundant qualifier and its doc
@@ -161,7 +161,7 @@ export interface CachedPrice {
161
161
  export interface Market {
162
162
  config: MarketConfig;
163
163
  /**
164
- * `INDEX_PRECISION`-scaled bps/day payer rate for the current interval.
164
+ * `INDEX_PRECISION`-scaled bps/day payer rate as of the last refresh.
165
165
  */
166
166
  current_payer_rate: i128;
167
167
  current_payer_side: PayerSide;
@@ -173,12 +173,11 @@ export interface Market {
173
173
  */
174
174
  lp_backed_index_long: i128;
175
175
  lp_backed_index_short: i128;
176
+ lp_payer_remainder: i128;
176
177
  /**
177
- * LP-allocated remainder of the payer flow, cash/second at
178
- * `INDEX_PRECISION` (§8.1).
178
+ * Sub-stroop carry of the receiver-liability accrual (§8.3).
179
179
  */
180
- lp_flow_per_second: i128;
181
- lp_payer_remainder: i128;
180
+ pending_remainder: i128;
182
181
  /**
183
182
  * Cumulative payer fee per unit of dominant-side size whose collection
184
183
  * restores cash backing an already-accrued receiver claim (§8.2).
@@ -186,12 +185,6 @@ export interface Market {
186
185
  receiver_backed_index_long: i128;
187
186
  receiver_backed_index_short: i128;
188
187
  /**
189
- * Receiver-allocated share of the payer flow, cash/second at
190
- * `INDEX_PRECISION` (§8.1).
191
- */
192
- receiver_flow_per_second: i128;
193
- receiver_flow_remainder: i128;
194
- /**
195
188
  * Cumulative funding credit per unit of light-side size (§8.2).
196
189
  */
197
190
  receiver_index_long: i128;
@@ -199,6 +192,12 @@ export interface Market {
199
192
  receiver_index_short: i128;
200
193
  receiver_payer_remainder: i128;
201
194
  short: MarketSide;
195
+ /**
196
+ * §8.1 signed EMA of the instantaneous skew: a fraction of one at
197
+ * `INDEX_PRECISION` scale, positive when history says longs dominate.
198
+ * Decays toward the current skew with the global half-life.
199
+ */
200
+ skew_ema: i128;
202
201
  }
203
202
  export interface LpConfig {
204
203
  lp_request_delay: u64;
@@ -259,8 +258,9 @@ export interface LpRequest {
259
258
  status: LpRequestStatus;
260
259
  }
261
260
  /**
262
- * Which side currently pays funding (§8.1: the side with more base
263
- * exposure). `None` when the market is balanced or empty.
261
+ * Which side currently pays funding (§8.1: the side the blended integral
262
+ * skew points at — under the EMA this can be the *lighter* side for a
263
+ * while after the book flips). `None` when the blend is exactly zero.
264
264
  */
265
265
  export type PayerSide = {
266
266
  tag: "None";
@@ -305,6 +305,11 @@ export interface OracleRound {
305
305
  }
306
306
  export interface GlobalConfig {
307
307
  base_borrow_rate_bps_day: i128;
308
+ /**
309
+ * §8.1 half-life of the funding skew EMA, seconds (global: one memory
310
+ * horizon for every market).
311
+ */
312
+ funding_half_life_seconds: u64;
308
313
  hard_cap_factor_limit_bps: u32;
309
314
  lp_revenue_share_bps: u32;
310
315
  max_active_markets: u32;
@@ -319,8 +324,30 @@ export interface GlobalConfig {
319
324
  export interface MarketConfig {
320
325
  adl_pnl_factor_bps: u32;
321
326
  adl_reward_bps: u32;
327
+ /**
328
+ * §11.1 closing-fee tier when the close worsens skew.
329
+ */
330
+ close_fee_high_bps: u32;
331
+ /**
332
+ * §11.1 closing-fee tier when the close improves or preserves skew.
333
+ */
334
+ close_fee_low_bps: u32;
322
335
  hard_cap_pnl_factor_bps: u32;
336
+ /**
337
+ * Margin required to open or add risk (§12.3). Divides max leverage:
338
+ * a position may not be created closer to liquidation than this.
339
+ */
340
+ initial_margin_bps: u32;
341
+ /**
342
+ * §8.1 weight of the instantaneous skew in the funding blend, in bps;
343
+ * the rest is the half-life EMA. `BPS` reproduces pure instant skew.
344
+ */
345
+ instant_weight_bps: u32;
323
346
  liquidation_reward_bps: u32;
347
+ /**
348
+ * Margin below which the position is liquidatable (§12.3). Must not
349
+ * exceed `initial_margin_bps`; the gap is the entry buffer.
350
+ */
324
351
  maintenance_margin_bps: u32;
325
352
  market_risk_factor_bps: u32;
326
353
  max_funding_rate_bps_day: i128;
@@ -328,8 +355,6 @@ export interface MarketConfig {
328
355
  max_long_size_open_interest: i128;
329
356
  max_short_base_exposure: i128;
330
357
  max_short_size_open_interest: i128;
331
- open_fee_high_bps: u32;
332
- open_fee_low_bps: u32;
333
358
  recovery_pnl_factor_bps: u32;
334
359
  warning_pnl_factor_bps: u32;
335
360
  }
@@ -155,17 +155,17 @@ export class Client extends ContractClient {
155
155
  "AAAAAAAAAAAAAAARc2V0X29yYWNsZV9jb25maWcAAAAAAAACAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxPcmFjbGVDb25maWcAAAAA",
156
156
  "AAAAAAAAAAAAAAASc2V0X29yYWNsZV9zb3VyY2VzAAAAAAADAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABnN5bWJvbAAAAAAAEQAAAAAAAAAHc291cmNlcwAAAAPqAAAAEwAAAAA=",
157
157
  "AAAAAAAAAAAAAAAUc2V0X3Bvc2l0aW9uX21hbmFnZXIAAAACAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAEHBvc2l0aW9uX21hbmFnZXIAAAATAAAAAA==",
158
- "AAAAAQAAAY9BdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBjdXJyZW50IGZ1bmRpbmcgZmxvd3MsIGFuZCB0aGUgbWFya2V0IGNvbmZpZ3VyYXRpb24uCgpTb3JvYmFuIGxpbWl0cyBVRFQgZmllbGQgbmFtZXMgdG8gMzAgY2hhcmFjdGVycywgc28gd2hlcmUgYSBkb2MgZ2xvc3NhcnkKdGVybSBpcyBsb25nZXIgdGhlIGZpZWxkIGRyb3BzIHRoZSByZWR1bmRhbnQgcXVhbGlmaWVyIGFuZCBpdHMgZG9jCmNvbW1lbnQgY2FycmllcyB0aGUgZnVsbCB0ZXJtIChlLmcuIGByZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZ2AgaXMgdGhlCmRvYydzIGByZWNlaXZlcl9iYWNrZWRfcGF5ZXJfaW5kZXhgIGZvciB0aGUgbG9uZyBzaWRlKS4AAAAAAAAAAAZNYXJrZXQAAAAAABIAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxNYXJrZXRDb25maWcAAABFYElOREVYX1BSRUNJU0lPTmAtc2NhbGVkIGJwcy9kYXkgcGF5ZXIgcmF0ZSBmb3IgdGhlIGN1cnJlbnQgaW50ZXJ2YWwuAAAAAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAABTTFAtYWxsb2NhdGVkIHJlbWFpbmRlciBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAEmxwX2Zsb3dfcGVyX3NlY29uZAAAAAAACwAAAAAAAAASbHBfcGF5ZXJfcmVtYWluZGVyAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAVVJlY2VpdmVyLWFsbG9jYXRlZCBzaGFyZSBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAAAAYcmVjZWl2ZXJfZmxvd19wZXJfc2Vjb25kAAAACwAAAAAAAAAXcmVjZWl2ZXJfZmxvd19yZW1haW5kZXIAAAAACwAAAD5DdW11bGF0aXZlIGZ1bmRpbmcgY3JlZGl0IHBlciB1bml0IG9mIGxpZ2h0LXNpZGUgc2l6ZSAowqc4LjIpLgAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAYcmVjZWl2ZXJfaW5kZXhfcmVtYWluZGVyAAAACwAAAAAAAAAUcmVjZWl2ZXJfaW5kZXhfc2hvcnQAAAALAAAAAAAAABhyZWNlaXZlcl9wYXllcl9yZW1haW5kZXIAAAALAAAAAAAAAAVzaG9ydAAAAAAAB9AAAAAKTWFya2V0U2lkZQAA",
158
+ "AAAAAQAAAYVBdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBmdW5kaW5nIEVNQSwgYW5kIHRoZSBtYXJrZXQgY29uZmlndXJhdGlvbi4KClNvcm9iYW4gbGltaXRzIFVEVCBmaWVsZCBuYW1lcyB0byAzMCBjaGFyYWN0ZXJzLCBzbyB3aGVyZSBhIGRvYyBnbG9zc2FyeQp0ZXJtIGlzIGxvbmdlciB0aGUgZmllbGQgZHJvcHMgdGhlIHJlZHVuZGFudCBxdWFsaWZpZXIgYW5kIGl0cyBkb2MKY29tbWVudCBjYXJyaWVzIHRoZSBmdWxsIHRlcm0gKGUuZy4gYHJlY2VpdmVyX2JhY2tlZF9pbmRleF9sb25nYCBpcyB0aGUKZG9jJ3MgYHJlY2VpdmVyX2JhY2tlZF9wYXllcl9pbmRleGAgZm9yIHRoZSBsb25nIHNpZGUpLgAAAAAAAAAAAAAGTWFya2V0AAAAAAARAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAQ2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHBheWVyIHJhdGUgYXMgb2YgdGhlIGxhc3QgcmVmcmVzaC4AAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAAAAAAAAEmxwX3BheWVyX3JlbWFpbmRlcgAAAAAACwAAADtTdWItc3Ryb29wIGNhcnJ5IG9mIHRoZSByZWNlaXZlci1saWFiaWxpdHkgYWNjcnVhbCAowqc4LjMpLgAAAAARcGVuZGluZ19yZW1haW5kZXIAAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAPkN1bXVsYXRpdmUgZnVuZGluZyBjcmVkaXQgcGVyIHVuaXQgb2YgbGlnaHQtc2lkZSBzaXplICjCpzguMikuAAAAAAATcmVjZWl2ZXJfaW5kZXhfbG9uZwAAAAALAAAAAAAAABhyZWNlaXZlcl9pbmRleF9yZW1haW5kZXIAAAALAAAAAAAAABRyZWNlaXZlcl9pbmRleF9zaG9ydAAAAAsAAAAAAAAAGHJlY2VpdmVyX3BheWVyX3JlbWFpbmRlcgAAAAsAAAAAAAAABXNob3J0AAAAAAAH0AAAAApNYXJrZXRTaWRlAAAAAAC+wqc4LjEgc2lnbmVkIEVNQSBvZiB0aGUgaW5zdGFudGFuZW91cyBza2V3OiBhIGZyYWN0aW9uIG9mIG9uZSBhdApgSU5ERVhfUFJFQ0lTSU9OYCBzY2FsZSwgcG9zaXRpdmUgd2hlbiBoaXN0b3J5IHNheXMgbG9uZ3MgZG9taW5hdGUuCkRlY2F5cyB0b3dhcmQgdGhlIGN1cnJlbnQgc2tldyB3aXRoIHRoZSBnbG9iYWwgaGFsZi1saWZlLgAAAAAACHNrZXdfZW1hAAAACw==",
159
159
  "AAAAAQAAAAAAAAAAAAAACExwQ29uZmlnAAAAAwAAAAAAAAAQbHBfcmVxdWVzdF9kZWxheQAAAAYAAAAAAAAAHG1heF93aXRoZHJhd191dGlsaXphdGlvbl9icHMAAAAEAAAAAAAAABptaW5fZGVwb3NpdF9uYXZfZmFjdG9yX2JwcwAAAAAABA==",
160
160
  "AAAAAQAAADVSZXByZXNlbnRzIGEgc2luZ2xlIHRyYWRlcidzIG9wZW4gbGV2ZXJhZ2VkIHBvc2l0aW9uLgAAAAAAAAAAAAAIUG9zaXRpb24AAAAQAAAAIUFzc2V0IHVuaXRzIGF0IGBQUklDRV9QUkVDSVNJT05gLgAAAAAAAA1iYXNlX2V4cG9zdXJlAAAAAAAACwAAAAAAAAALYm9ycm93X2RlYnQAAAAACwAAAClDYXNoIG93bmVkIGJ5IGFuIG9wdGlvbmFsLW9yZGVyIGV4ZWN1dG9yLgAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAYZnVuZGluZ19wYWlkX3RvX2xwc19kZWJ0AAAACwAAAAAAAAAeZnVuZGluZ19wYWlkX3RvX3JlY2VpdmVyc19kZWJ0AAAAAAALAAAAAAAAABVmdW5kaW5nX3JlY2VpdmVkX2RlYnQAAAAAAAALAAAAAAAAAAJpZAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAABNsYXN0X2luY3JlYXNlZF90aW1lAAAAAAYAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAALkZpeGVkIGdyb3NzIGNhcGFjaXR5IGFzc2lnbmVkIHdoZW4gcmlzayBvcGVucy4AAAAAAApyaXNrX3VuaXRzAAAAAAALAAAAIlVTRCBub3Rpb25hbCBhdCBgUFJJQ0VfUFJFQ0lTSU9OYC4AAAAAAARzaXplAAAACwAAADtUcmlnZ2VyIHByaWNlIGZvciB0aGUgb3B0aW9uYWwgc3RvcC1sb3NzIG9yZGVyOyBgMGAgPSBub25lLgAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAMpUcmFkZXItb3duZWQgY29sbGF0ZXJhbCByZWNvcmRlZCBpbiBjb250cmFjdCBzdGF0ZSAodGhlIGRvYydzCiJzdG9yZWQgY29sbGF0ZXJhbCIpLiBFZmZlY3RpdmUgY29sbGF0ZXJhbCDigJQgc3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIKcGVuZGluZyBmZWVzIGFuZCBmdW5kaW5nIGNyZWRpdHMg4oCUIGlzIGFsd2F5cyBkZXJpdmVkLCBuZXZlciBzdG9yZWQuAAAAAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAPVRyaWdnZXIgcHJpY2UgZm9yIHRoZSBvcHRpb25hbCB0YWtlLXByb2ZpdCBvcmRlcjsgYDBgID0gbm9uZS4AAAAAAAALdGFrZV9wcm9maXQAAAAACw==",
161
161
  "AAAAAQAAAAAAAAAAAAAACUxwUmVxdWVzdAAAAAAAAAcAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAANZXhlY3V0ZV9hZnRlcgAAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAARraW5kAAAH0AAAAA1McFJlcXVlc3RLaW5kAAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHJlcXVlc3RfdGltZQAAAAYAAAAAAAAABnN0YXR1cwAAAAAH0AAAAA9McFJlcXVlc3RTdGF0dXMA",
162
- "AAAAAgAAAHlXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB3aXRoIG1vcmUgYmFzZQpleHBvc3VyZSkuIGBOb25lYCB3aGVuIHRoZSBtYXJrZXQgaXMgYmFsYW5jZWQgb3IgZW1wdHkuAAAAAAAAAAAAAAlQYXllclNpZGUAAAAAAAADAAAAAAAAAAAAAAAETm9uZQAAAAAAAAAAAAAABExvbmcAAAAAAAAAAAAAAAVTaG9ydAAAAA==",
162
+ "AAAAAgAAANFXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB0aGUgYmxlbmRlZCBpbnRlZ3JhbApza2V3IHBvaW50cyBhdCDigJQgdW5kZXIgdGhlIEVNQSB0aGlzIGNhbiBiZSB0aGUgKmxpZ2h0ZXIqIHNpZGUgZm9yIGEKd2hpbGUgYWZ0ZXIgdGhlIGJvb2sgZmxpcHMpLiBgTm9uZWAgd2hlbiB0aGUgYmxlbmQgaXMgZXhhY3RseSB6ZXJvLgAAAAAAAAAAAAAJUGF5ZXJTaWRlAAAAAAAAAwAAAAAAAAAAAAAABE5vbmUAAAAAAAAAAAAAAARMb25nAAAAAAAAAAAAAAAFU2hvcnQAAAA=",
163
163
  "AAAAAgAAAAAAAAAAAAAACVJpc2tTdGF0ZQAAAAAAAAQAAAAAAAAAAAAAAAZOb3JtYWwAAAAAAAAAAAAAAAAAB1dhcm5pbmcAAAAAAAAAAAAAAAADQWRsAAAAAAAAAAAAAAAAB0hhcmRDYXAA",
164
164
  "AAAAAQAAAAAAAAAAAAAACk1hcmtldFNpZGUAAAAAAAUAAAAAAAAADWJhc2VfZXhwb3N1cmUAAAAAAAALAAAAAAAAAApyaXNrX3N0YXRlAAAAAAfQAAAACVJpc2tTdGF0ZQAAAAAAAAAAAAAKcmlza191bml0cwAAAAAACwAAAAAAAAASc2l6ZV9vcGVuX2ludGVyZXN0AAAAAAALAAAAAAAAABdzdG9yZWRfY29sbGF0ZXJhbF90b3RhbAAAAAAL",
165
165
  "AAAAAQAAAAAAAAAAAAAAClJvdW5kUHJpY2UAAAAAAAIAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAGc3ltYm9sAAAAAAAR",
166
166
  "AAAAAQAAAAAAAAAAAAAAC09yYWNsZVJvdW5kAAAAAAUAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAtwcmV2aW91c19pZAAAAAAGAAAAAAAAABJwcmV2aW91c190aW1lc3RhbXAAAAAAAAYAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAAKUm91bmRQcmljZQAAAAAAAAAAAAl0aW1lc3RhbXAAAAAAAAAG",
167
- "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAsAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAAAAAAAFW1pbl9wb3NpdGlvbl9saWZldGltZQAAAAAAAAYAAAAAAAAAF3Jpc2tfY2FwYWNpdHlfbGltaXRfYnBzAAAAAAQAAAAAAAAAHXJpc2tfa2VlcGVyX3JldmVudWVfc2hhcmVfYnBzAAAAAAAABA==",
168
- "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAAA8AAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAF2hhcmRfY2FwX3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAFm1haW50ZW5hbmNlX21hcmdpbl9icHMAAAAAAAQAAAAAAAAAFm1hcmtldF9yaXNrX2ZhY3Rvcl9icHMAAAAAAAQAAAAAAAAAGG1heF9mdW5kaW5nX3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAFm1heF9sb25nX2Jhc2VfZXhwb3N1cmUAAAAAAAsAAAAAAAAAG21heF9sb25nX3NpemVfb3Blbl9pbnRlcmVzdAAAAAALAAAAAAAAABdtYXhfc2hvcnRfYmFzZV9leHBvc3VyZQAAAAALAAAAAAAAABxtYXhfc2hvcnRfc2l6ZV9vcGVuX2ludGVyZXN0AAAACwAAAAAAAAARb3Blbl9mZWVfaGlnaF9icHMAAAAAAAAEAAAAAAAAABBvcGVuX2ZlZV9sb3dfYnBzAAAABAAAAAAAAAAXcmVjb3ZlcnlfcG5sX2ZhY3Rvcl9icHMAAAAABAAAAAAAAAAWd2FybmluZ19wbmxfZmFjdG9yX2JwcwAAAAAABA==",
167
+ "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAwAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAABfwqc4LjEgaGFsZi1saWZlIG9mIHRoZSBmdW5kaW5nIHNrZXcgRU1BLCBzZWNvbmRzIChnbG9iYWw6IG9uZSBtZW1vcnkKaG9yaXpvbiBmb3IgZXZlcnkgbWFya2V0KS4AAAAAGWZ1bmRpbmdfaGFsZl9saWZlX3NlY29uZHMAAAAAAAAGAAAAAAAAABloYXJkX2NhcF9mYWN0b3JfbGltaXRfYnBzAAAAAAAABAAAAAAAAAAUbHBfcmV2ZW51ZV9zaGFyZV9icHMAAAAEAAAAAAAAABJtYXhfYWN0aXZlX21hcmtldHMAAAAAAAQAAAAAAAAADm1heF9hZGxfcmV3YXJkAAAAAAALAAAAAAAAABptYXhfaW5zb2x2ZW50X3RvdWNoX3Jld2FyZAAAAAAACwAAAAAAAAAbbWF4X3ZhcmlhYmxlX2JvcnJvd19icHNfZGF5AAAAAAsAAAAAAAAADm1pbl9jb2xsYXRlcmFsAAAAAAALAAAAAAAAABVtaW5fcG9zaXRpb25fbGlmZXRpbWUAAAAAAAAGAAAAAAAAABdyaXNrX2NhcGFjaXR5X2xpbWl0X2JwcwAAAAAEAAAAAAAAAB1yaXNrX2tlZXBlcl9yZXZlbnVlX3NoYXJlX2JwcwAAAAAAAAQ=",
168
+ "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAABEAAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAA0wqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2Ugd29yc2VucyBza2V3LgAAABJjbG9zZV9mZWVfaGlnaF9icHMAAAAAAAQAAABCwqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2UgaW1wcm92ZXMgb3IgcHJlc2VydmVzIHNrZXcuAAAAAAARY2xvc2VfZmVlX2xvd19icHMAAAAAAAAEAAAAAAAAABdoYXJkX2NhcF9wbmxfZmFjdG9yX2JwcwAAAAAEAAAAgk1hcmdpbiByZXF1aXJlZCB0byBvcGVuIG9yIGFkZCByaXNrICjCpzEyLjMpLiBEaXZpZGVzIG1heCBsZXZlcmFnZToKYSBwb3NpdGlvbiBtYXkgbm90IGJlIGNyZWF0ZWQgY2xvc2VyIHRvIGxpcXVpZGF0aW9uIHRoYW4gdGhpcy4AAAAAABJpbml0aWFsX21hcmdpbl9icHMAAAAAAAQAAACHwqc4LjEgd2VpZ2h0IG9mIHRoZSBpbnN0YW50YW5lb3VzIHNrZXcgaW4gdGhlIGZ1bmRpbmcgYmxlbmQsIGluIGJwczsKdGhlIHJlc3QgaXMgdGhlIGhhbGYtbGlmZSBFTUEuIGBCUFNgIHJlcHJvZHVjZXMgcHVyZSBpbnN0YW50IHNrZXcuAAAAABJpbnN0YW50X3dlaWdodF9icHMAAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAB8TWFyZ2luIGJlbG93IHdoaWNoIHRoZSBwb3NpdGlvbiBpcyBsaXF1aWRhdGFibGUgKMKnMTIuMykuIE11c3Qgbm90CmV4Y2VlZCBgaW5pdGlhbF9tYXJnaW5fYnBzYDsgdGhlIGdhcCBpcyB0aGUgZW50cnkgYnVmZmVyLgAAABZtYWludGVuYW5jZV9tYXJnaW5fYnBzAAAAAAAEAAAAAAAAABZtYXJrZXRfcmlza19mYWN0b3JfYnBzAAAAAAAEAAAAAAAAABhtYXhfZnVuZGluZ19yYXRlX2Jwc19kYXkAAAALAAAAAAAAABZtYXhfbG9uZ19iYXNlX2V4cG9zdXJlAAAAAAALAAAAAAAAABttYXhfbG9uZ19zaXplX29wZW5faW50ZXJlc3QAAAAACwAAAAAAAAAXbWF4X3Nob3J0X2Jhc2VfZXhwb3N1cmUAAAAACwAAAAAAAAAcbWF4X3Nob3J0X3NpemVfb3Blbl9pbnRlcmVzdAAAAAsAAAAAAAAAF3JlY292ZXJ5X3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFndhcm5pbmdfcG5sX2ZhY3Rvcl9icHMAAAAAAAQ=",
169
169
  "AAAAAQAAAC5HbG9iYWwgc2FmZXR5IHRocmVzaG9sZHMgZm9yIHByaWNlIHZhbGlkYXRpb24uAAAAAAAAAAAADE9yYWNsZUNvbmZpZwAAAAQAAADzSG93IGxvbmcgYSBjYWNoZWQgYWdncmVnYXRlZCBwcmljZSByZW1haW5zIHZhbGlkIGFmdGVyIHRoZSByb3V0ZXIKZmV0Y2ggKGluIHNlY29uZHMpLiBBIGNhY2hlIGhpdCBhbHNvIHJlcXVpcmVzIGV2ZXJ5IHNvdXJjZSB0aW1lc3RhbXAKdXNlZCBmb3IgdGhlIGNhY2hlZCBtZWRpYW4gdG8gcmVtYWluIHdpdGhpbiBgc3RhbGVuZXNzX3RocmVzaG9sZGAuCk11c3QgYmUgPiAwIGFuZCA8PSBgc3RhbGVuZXNzX3RocmVzaG9sZGAuAAAAAA5jYWNoZV9kdXJhdGlvbgAAAAAABgAAAIlNYXhpbXVtIGFsbG93ZWQgc3ByZWFkIGJldHdlZW4gb3JhY2xlIHNvdXJjZXMgaW4gYmFzaXMgcG9pbnRzCihlLmcuLCAxMDAgPSAxJSkuIEJvdW5kZWQgYXQgYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9ERVZJQVRJT05fQlBTX0NFSUxJTkdgLgAAAAAAABFtYXhfZGV2aWF0aW9uX2JwcwAAAAAAAAsAAADhTWluaW11bSBudW1iZXIgb2Ygc291cmNlIHJlc3BvbnNlcyB0aGF0IG11c3QgYWdyZWUgd2l0aGluCmBtYXhfZGV2aWF0aW9uX2Jwc2AgZm9yIE9yYWNsZVJvdXRlciB0byByZXR1cm4gYSBwcmljZS4gRmxvb3JlZCBhdApgY3JhdGU6OmNvbnN0YW50czo6TUlOX1JFUVVJUkVEX1NPVVJDRVNfRkxPT1JgLCBjZWlsaW5nZWQgYXQKYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9PUkFDTEVfU09VUkNFU2AuAAAAAAAAFG1pbl9yZXF1aXJlZF9zb3VyY2VzAAAABAAAAFlNYXhpbXVtIGFnZSBvZiBhbiBleHRlcm5hbCBTRVAtNDAgcHJpY2UgZmVlZCBiZWZvcmUgaXQgaXMgcmVqZWN0ZWQKYXMgc3RhbGUgKGluIHNlY29uZHMpLgAAAAAAABNzdGFsZW5lc3NfdGhyZXNob2xkAAAAAAY=",
170
170
  "AAAAAgAAAAAAAAAAAAAADUxwUmVxdWVzdEtpbmQAAAAAAAACAAAAAAAAAAAAAAAHRGVwb3NpdAAAAAAAAAAAAAAAAApXaXRoZHJhd2FsAAA=",
171
171
  "AAAAAQAAAEtEYXRhIHJlcXVpcmVkIGR1cmluZyBhIFdBU00gbWlncmF0aW9uLiBTaW5nbGUgZGVmaW5pdGlvbiBmb3IgYWxsIGNvbnRyYWN0cy4AAAAAAAAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAQAAAAAAAAAHdmVyc2lvbgAAAAAE",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@win-trader/bindings",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./vault": "./vault/dist/index.js",
@@ -101,7 +101,7 @@ export declare const PositionManagerError: {
101
101
  * Which collection routed revenue through the split (§13).
102
102
  */
103
103
  export type FeeSource = {
104
- tag: "Opening";
104
+ tag: "Closing";
105
105
  values: void;
106
106
  } | {
107
107
  tag: "Borrow";
@@ -125,7 +125,8 @@ export type CloseReason = {
125
125
  };
126
126
  /**
127
127
  * §5.1 global state: the five non-LP claim totals, the risk counters, and
128
- * the global accrual state (borrow index + receiver-funding flow).
128
+ * the global borrow accrual. The receiver-funding liability total is fed
129
+ * per-market by `checkpoint::checkpoint_market` (§8.3).
129
130
  */
130
131
  export interface Ledger {
131
132
  borrow_index: i128;
@@ -141,11 +142,6 @@ export interface Ledger {
141
142
  pending_receiver_funding_total: i128;
142
143
  position_collateral_total: i128;
143
144
  protocol_claimable_total: i128;
144
- receiver_accrual_remainder: i128;
145
- /**
146
- * Sum of every market's receiver flow, cash/second at `INDEX_PRECISION`.
147
- */
148
- receiver_flow_per_second: i128;
149
145
  risk_keeper_reserve_total: i128;
150
146
  total_risk_units: i128;
151
147
  }
@@ -191,7 +187,7 @@ export type Key = {
191
187
  };
192
188
  /**
193
189
  * Authoritative per-market state: the side aggregates, the funding indices,
194
- * the current funding flows, and the market configuration.
190
+ * the funding EMA, and the market configuration.
195
191
  *
196
192
  * Soroban limits UDT field names to 30 characters, so where a doc glossary
197
193
  * term is longer the field drops the redundant qualifier and its doc
@@ -201,7 +197,7 @@ export type Key = {
201
197
  export interface Market {
202
198
  config: MarketConfig;
203
199
  /**
204
- * `INDEX_PRECISION`-scaled bps/day payer rate for the current interval.
200
+ * `INDEX_PRECISION`-scaled bps/day payer rate as of the last refresh.
205
201
  */
206
202
  current_payer_rate: i128;
207
203
  current_payer_side: PayerSide;
@@ -213,12 +209,11 @@ export interface Market {
213
209
  */
214
210
  lp_backed_index_long: i128;
215
211
  lp_backed_index_short: i128;
212
+ lp_payer_remainder: i128;
216
213
  /**
217
- * LP-allocated remainder of the payer flow, cash/second at
218
- * `INDEX_PRECISION` (§8.1).
214
+ * Sub-stroop carry of the receiver-liability accrual (§8.3).
219
215
  */
220
- lp_flow_per_second: i128;
221
- lp_payer_remainder: i128;
216
+ pending_remainder: i128;
222
217
  /**
223
218
  * Cumulative payer fee per unit of dominant-side size whose collection
224
219
  * restores cash backing an already-accrued receiver claim (§8.2).
@@ -226,12 +221,6 @@ export interface Market {
226
221
  receiver_backed_index_long: i128;
227
222
  receiver_backed_index_short: i128;
228
223
  /**
229
- * Receiver-allocated share of the payer flow, cash/second at
230
- * `INDEX_PRECISION` (§8.1).
231
- */
232
- receiver_flow_per_second: i128;
233
- receiver_flow_remainder: i128;
234
- /**
235
224
  * Cumulative funding credit per unit of light-side size (§8.2).
236
225
  */
237
226
  receiver_index_long: i128;
@@ -239,6 +228,12 @@ export interface Market {
239
228
  receiver_index_short: i128;
240
229
  receiver_payer_remainder: i128;
241
230
  short: MarketSide;
231
+ /**
232
+ * §8.1 signed EMA of the instantaneous skew: a fraction of one at
233
+ * `INDEX_PRECISION` scale, positive when history says longs dominate.
234
+ * Decays toward the current skew with the global half-life.
235
+ */
236
+ skew_ema: i128;
242
237
  }
243
238
  export interface LpConfig {
244
239
  lp_request_delay: u64;
@@ -299,8 +294,9 @@ export interface LpRequest {
299
294
  status: LpRequestStatus;
300
295
  }
301
296
  /**
302
- * Which side currently pays funding (§8.1: the side with more base
303
- * exposure). `None` when the market is balanced or empty.
297
+ * Which side currently pays funding (§8.1: the side the blended integral
298
+ * skew points at — under the EMA this can be the *lighter* side for a
299
+ * while after the book flips). `None` when the blend is exactly zero.
304
300
  */
305
301
  export type PayerSide = {
306
302
  tag: "None";
@@ -345,6 +341,11 @@ export interface OracleRound {
345
341
  }
346
342
  export interface GlobalConfig {
347
343
  base_borrow_rate_bps_day: i128;
344
+ /**
345
+ * §8.1 half-life of the funding skew EMA, seconds (global: one memory
346
+ * horizon for every market).
347
+ */
348
+ funding_half_life_seconds: u64;
348
349
  hard_cap_factor_limit_bps: u32;
349
350
  lp_revenue_share_bps: u32;
350
351
  max_active_markets: u32;
@@ -359,8 +360,30 @@ export interface GlobalConfig {
359
360
  export interface MarketConfig {
360
361
  adl_pnl_factor_bps: u32;
361
362
  adl_reward_bps: u32;
363
+ /**
364
+ * §11.1 closing-fee tier when the close worsens skew.
365
+ */
366
+ close_fee_high_bps: u32;
367
+ /**
368
+ * §11.1 closing-fee tier when the close improves or preserves skew.
369
+ */
370
+ close_fee_low_bps: u32;
362
371
  hard_cap_pnl_factor_bps: u32;
372
+ /**
373
+ * Margin required to open or add risk (§12.3). Divides max leverage:
374
+ * a position may not be created closer to liquidation than this.
375
+ */
376
+ initial_margin_bps: u32;
377
+ /**
378
+ * §8.1 weight of the instantaneous skew in the funding blend, in bps;
379
+ * the rest is the half-life EMA. `BPS` reproduces pure instant skew.
380
+ */
381
+ instant_weight_bps: u32;
363
382
  liquidation_reward_bps: u32;
383
+ /**
384
+ * Margin below which the position is liquidatable (§12.3). Must not
385
+ * exceed `initial_margin_bps`; the gap is the entry buffer.
386
+ */
364
387
  maintenance_margin_bps: u32;
365
388
  market_risk_factor_bps: u32;
366
389
  max_funding_rate_bps_day: i128;
@@ -368,8 +391,6 @@ export interface MarketConfig {
368
391
  max_long_size_open_interest: i128;
369
392
  max_short_base_exposure: i128;
370
393
  max_short_size_open_interest: i128;
371
- open_fee_high_bps: u32;
372
- open_fee_low_bps: u32;
373
394
  recovery_pnl_factor_bps: u32;
374
395
  warning_pnl_factor_bps: u32;
375
396
  }
@@ -116,7 +116,7 @@ export class Client extends ContractClient {
116
116
  constructor(options) {
117
117
  super(new ContractSpec(["AAAABAAAAAAAAAAAAAAAFFBvc2l0aW9uTWFuYWdlckVycm9yAAAAGQAAAAAAAAAMVW5hdXRob3JpemVkAAAAAQAAAAAAAAAOTm90SW5pdGlhbGl6ZWQAAAAAAAIAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAAAwAAAAAAAAANSW52YWxpZEFtb3VudAAAAAAAAAQAAAAAAAAADUludmFsaWRDb25maWcAAAAAAAAFAAAAAAAAABBQb3NpdGlvbk5vdEZvdW5kAAAABgAAAAAAAAATTWFya2V0Tm90Q29uZmlndXJlZAAAAAAHAAAAAAAAAA5NYXJrZXREaXNhYmxlZAAAAAAACAAAAAAAAAAQU2xpcHBhZ2VFeGNlZWRlZAAAAAkAAAAAAAAAEENhcGFjaXR5RXhjZWVkZWQAAAAKAAAAAAAAABNNYXJrZXRMaW1pdEV4Y2VlZGVkAAAAAAsAAAAAAAAAFkluc3VmZmljaWVudENvbGxhdGVyYWwAAAAAAAwAAAAAAAAAD1Bvc2l0aW9uSGVhbHRoeQAAAAANAAAAAAAAABBSaXNrU3RhdGVCbG9ja2VkAAAADgAAAAAAAAAPQXJpdGhtZXRpY0Vycm9yAAAAAA8AAAAAAAAAEkludmFsaWRPcmFjbGVSb3VuZAAAAAAAEAAAAAAAAAAIVG9vRWFybHkAAAARAAAAAAAAAAxJbnZhbGlkT3JkZXIAAAASAAAAAAAAABtJbnN1ZmZpY2llbnRFeGVjdXRpb25CdWRnZXQAAAAAEwAAAAAAAAANSW52YWxpZENhbGxlcgAAAAAAABQAAABCVGhlIGNvbnRyYWN0IGlzIG9wZXJhdGlvbmFsbHkgcGF1c2VkIChkaXN0aW5jdCBmcm9tIGEgcmlzayBzdGF0ZSkuAAAAAAAGUGF1c2VkAAAAAAAVAAAAgkFuIGFjY291bnRpbmcgaW52YXJpYW50IGJyb2tlIOKAlCBlLmcuIGEgbmVnYXRpdmUgcGVuZGluZyBmZWUsIHdoaWNoCm1lYW5zIGEgZGVjcmVhc2luZyBpbmRleCBvciBjb3JydXB0ZWQgZGVidCBiYXNlbGluZSAowqcxMS4yKS4AAAAAABJJbnZhcmlhbnRWaW9sYXRpb24AAAAAABYAAAAqYHVwZ3JhZGVgIGNhbGxlZCB3aXRoIG5vIHBlbmRpbmcgcHJvcG9zYWwuAAAAAAAQVXBncmFkZU5vUGVuZGluZwAAABcAAAA0YHVwZ3JhZGVgIGNhbGxlZCBiZWZvcmUgdGhlIHByb3Bvc2FsJ3MgdGltZWxvY2sgZXRhLgAAABlVcGdyYWRlVGltZWxvY2tOb3RFbGFwc2VkAAAAAAAAGAAAADxgdXBncmFkZWAgY2FsbGVkIHdpdGggYSBoYXNoIHRoYXQgZGlmZmVycyBmcm9tIHRoZSBwcm9wb3NhbC4AAAATVXBncmFkZUhhc2hNaXNtYXRjaAAAAAAZ",
118
118
  "AAAABQAAAAAAAAAAAAAAB0JhZERlYnQAAAAAAQAAAAdiYWRkZWJ0AAAAAAIAAAAAAAAAC3Bvc2l0aW9uX2lkAAAAAAYAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAQ==",
119
- "AAAAAgAAADlXaGljaCBjb2xsZWN0aW9uIHJvdXRlZCByZXZlbnVlIHRocm91Z2ggdGhlIHNwbGl0ICjCpzEzKS4AAAAAAAAAAAAACUZlZVNvdXJjZQAAAAAAAAIAAAAAAAAAAAAAAAdPcGVuaW5nAAAAAAAAAAAAAAAABkJvcnJvdwAA",
119
+ "AAAAAgAAADlXaGljaCBjb2xsZWN0aW9uIHJvdXRlZCByZXZlbnVlIHRocm91Z2ggdGhlIHNwbGl0ICjCpzEzKS4AAAAAAAAAAAAACUZlZVNvdXJjZQAAAAAAAAIAAAAAAAAAAAAAAAdDbG9zaW5nAAAAAAAAAAAAAAAABkJvcnJvdwAA",
120
120
  "AAAAAgAAAB1XaHkgYSBwb3NpdGlvbiBsZWZ0IHRoZSBib29rLgAAAAAAAAAAAAALQ2xvc2VSZWFzb24AAAAABAAAAAAAAAAcVGhlIG93bmVyIGRlY3JlYXNlZCB0byB6ZXJvLgAAAAZUcmFkZXIAAAAAAAAAAAA5QSBrZWVwZXIgb3IgdGhpcmQgcGFydHkgbGlxdWlkYXRlZCBhbiB1bmhlYWx0aHkgcG9zaXRpb24uAAAAAAAAC0xpcXVpZGF0aW9uAAAAAAAAAAAxRnVuZGVkIGF1dG8tZGVsZXZlcmFnaW5nIG9uIGFuIEFETC9oYXJkLWNhcCBzaWRlLgAAAAAAAApEZWxldmVyYWdlAAAAAAAAAAAALEEgdGFrZS1wcm9maXQgb3Igc3RvcC1sb3NzIHRyaWdnZXIgZXhlY3V0ZWQuAAAABU9yZGVyAAAA",
121
121
  "AAAABQAAAFhUYWtlLXByb2ZpdCAvIHN0b3AtbG9zcyB0cmlnZ2VycyBjaGFuZ2VkIG9uIGFuIG9wZW4gcG9zaXRpb24uIFplcm8gbWVhbnMKbm8gdHJpZ2dlciBzZXQuAAAAAAAAAAtUcFNsVXBkYXRlZAAAAAABAAAABHRwc2wAAAAFAAAAAAAAAAtwb3NpdGlvbl9pZAAAAAAGAAAAAQAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAGbWFya2V0AAAAAAARAAAAAAAAAAAAAAALdGFrZV9wcm9maXQAAAAACwAAAAAAAAAAAAAACXN0b3BfbG9zcwAAAAAAAAsAAAAAAAAAAg==",
122
122
  "AAAABQAAAAAAAAAAAAAADFBhdXNlQ2hhbmdlZAAAAAEAAAAFcGF1c2UAAAAAAAABAAAAAAAAAAZwYXVzZWQAAAAAAAEAAAAAAAAAAQ==",
@@ -124,20 +124,20 @@ export class Client extends ContractClient {
124
124
  "AAAABQAAADRBREwgcmV3YXJkIHBhaWQgZnJvbSB0aGUgcmlzay1rZWVwZXIgcmVzZXJ2ZSAowqcxNCkuAAAAAAAAAA1BZGxSZXdhcmRQYWlkAAAAAAAAAQAAAAlhZGxyZXdhcmQAAAAAAAADAAAAAAAAAAtwb3NpdGlvbl9pZAAAAAAGAAAAAAAAAAAAAAAGa2VlcGVyAAAAAAATAAAAAAAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAE=",
125
125
  "AAAABQAAAAAAAAAAAAAADU9yZGVyRXhlY3V0ZWQAAAAAAAABAAAAB29yZGV4ZWMAAAAAAwAAAAAAAAALcG9zaXRpb25faWQAAAAABgAAAAAAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAAAAAAAAAAAC2J1ZGdldF9wYWlkAAAAAAsAAAAAAAAAAQ==",
126
126
  "AAAABQAAAD5DYXNoIGFkZGVkIGR1cmluZyBhIHNob3J0ZmFsbCB3aXRob3V0IG1pbnRpbmcgc2hhcmVzICjCpzE1LjIpLgAAAAAAAAAAAA1SZWNhcGl0YWxpemVkAAAAAAAAAQAAAAVyZWNhcAAAAAAAAAIAAAAAAAAAC2NvbnRyaWJ1dG9yAAAAABMAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAQ==",
127
- "AAAABQAAAGpBIGZ1bGwgY2xvc2UgdmlhIGFueSBwYXRoIOKAlCBgcmVhc29uYCBkaXN0aW5ndWlzaGVzIHRyYWRlciBjbG9zZSwKbGlxdWlkYXRpb24sIEFETCwgYW5kIHRyaWdnZXJlZCBvcmRlcnMuAAAAAAAAAAAADlBvc2l0aW9uQ2xvc2VkAAAAAAABAAAACHBvc2Nsb3NlAAAAEQAAAAAAAAALcG9zaXRpb25faWQAAAAABgAAAAEAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAAAAAABnJlYXNvbgAAAAAH0AAAAAtDbG9zZVJlYXNvbgAAAAAAAAAAAAAAAARzaXplAAAACwAAAAAAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAAAAAAB3Jhd19wbmwAAAAACwAAAAAAAAAAAAAAC3BheWFibGVfcG5sAAAAAAsAAAAAAAAAOlJlc2lkdWFsIGNvbGxhdGVyYWwgcGFpZCB0byB0aGUgb3duZXIgYWZ0ZXIgdGhlIHdhdGVyZmFsbC4AAAAAABFjb2xsYXRlcmFsX3BheW91dAAAAAAAAAsAAAAAAAAAAAAAAAhiYWRfZGVidAAAAAsAAAAAAAAAAAAAABJsaXF1aWRhdGlvbl9yZXdhcmQAAAAAAAsAAAAAAAAAAAAAABlleGVjdXRpb25fYnVkZ2V0X3JlZnVuZGVkAAAAAAAACwAAAAAAAAAAAAAAFXJlY2VpdmVyX2Z1bmRpbmdfcGFpZAAAAAAAAAsAAAAAAAAAAAAAAA9scF9mdW5kaW5nX3BhaWQAAAAACwAAAAAAAAAAAAAAC2JvcnJvd19wYWlkAAAAAAsAAAAAAAAAAAAAABBmdW5kaW5nX3JlY2VpdmVkAAAACwAAAAAAAAB8TmVnYXRpdmUgcHJpY2UgUG5MIGNvbGxlY3RlZCBmcm9tIGNvbGxhdGVyYWw7IHdpdGggYGJhZF9kZWJ0YCB0aGlzCmRpc2FtYmlndWF0ZXMgdGhlIGxvc3MtdnMtZnVuZGluZyBzcGxpdCBvZiB0aGUgd2F0ZXJmYWxsLgAAAA5sb3NzX2NvbGxlY3RlZAAAAAAACwAAAAAAAAAC",
128
- "AAAABQAAAAAAAAAAAAAADlBvc2l0aW9uT3BlbmVkAAAAAAABAAAAB3Bvc29wZW4AAAAADAAAAAAAAAALcG9zaXRpb25faWQAAAAABgAAAAEAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAAAAAAB2lzX2xvbmcAAAAAAQAAAAAAAAAAAAAABHNpemUAAAALAAAAAAAAAAAAAAANYmFzZV9leHBvc3VyZQAAAAAAAAsAAAAAAAAAKENvbGxhdGVyYWwgc3RvcmVkIGFmdGVyIHRoZSBvcGVuaW5nIGZlZS4AAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAAAAAAAAAAAAQZXhlY3V0aW9uX2J1ZGdldAAAAAsAAAAAAAAAAAAAAAVwcmljZQAAAAAAAAsAAAAAAAAAAAAAAAtvcGVuaW5nX2ZlZQAAAAALAAAAAAAAABpaZXJvIG1lYW5zIG5vIHRyaWdnZXIgc2V0LgAAAAAAC3Rha2VfcHJvZml0AAAAAAsAAAAAAAAAAAAAAAlzdG9wX2xvc3MAAAAAAAALAAAAAAAAAAI=",
127
+ "AAAABQAAAGpBIGZ1bGwgY2xvc2UgdmlhIGFueSBwYXRoIOKAlCBgcmVhc29uYCBkaXN0aW5ndWlzaGVzIHRyYWRlciBjbG9zZSwKbGlxdWlkYXRpb24sIEFETCwgYW5kIHRyaWdnZXJlZCBvcmRlcnMuAAAAAAAAAAAADlBvc2l0aW9uQ2xvc2VkAAAAAAABAAAACHBvc2Nsb3NlAAAAEgAAAAAAAAALcG9zaXRpb25faWQAAAAABgAAAAEAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAAAAAABnJlYXNvbgAAAAAH0AAAAAtDbG9zZVJlYXNvbgAAAAAAAAAAAAAAAARzaXplAAAACwAAAAAAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAAAAAAB3Jhd19wbmwAAAAACwAAAAAAAAAAAAAAC3BheWFibGVfcG5sAAAAAAsAAAAAAAAAOlJlc2lkdWFsIGNvbGxhdGVyYWwgcGFpZCB0byB0aGUgb3duZXIgYWZ0ZXIgdGhlIHdhdGVyZmFsbC4AAAAAABFjb2xsYXRlcmFsX3BheW91dAAAAAAAAAsAAAAAAAAAAAAAAAhiYWRfZGVidAAAAAsAAAAAAAAAAAAAABJsaXF1aWRhdGlvbl9yZXdhcmQAAAAAAAsAAAAAAAAAAAAAABlleGVjdXRpb25fYnVkZ2V0X3JlZnVuZGVkAAAAAAAACwAAAAAAAAA6wqcxMS4xIGNsb3NpbmcgZmVlIGNvbGxlY3RlZCBvdXQgb2YgdGhlIHJlYWxpemVkIHdpbm5pbmdzLgAAAAAAC2Nsb3NpbmdfZmVlAAAAAAsAAAAAAAAAAAAAABVyZWNlaXZlcl9mdW5kaW5nX3BhaWQAAAAAAAALAAAAAAAAAAAAAAAPbHBfZnVuZGluZ19wYWlkAAAAAAsAAAAAAAAAAAAAAAtib3Jyb3dfcGFpZAAAAAALAAAAAAAAAAAAAAAQZnVuZGluZ19yZWNlaXZlZAAAAAsAAAAAAAAAfE5lZ2F0aXZlIHByaWNlIFBuTCBjb2xsZWN0ZWQgZnJvbSBjb2xsYXRlcmFsOyB3aXRoIGBiYWRfZGVidGAgdGhpcwpkaXNhbWJpZ3VhdGVzIHRoZSBsb3NzLXZzLWZ1bmRpbmcgc3BsaXQgb2YgdGhlIHdhdGVyZmFsbC4AAAAObG9zc19jb2xsZWN0ZWQAAAAAAAsAAAAAAAAAAg==",
128
+ "AAAABQAAAAAAAAAAAAAADlBvc2l0aW9uT3BlbmVkAAAAAAABAAAAB3Bvc29wZW4AAAAACwAAAAAAAAALcG9zaXRpb25faWQAAAAABgAAAAEAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAAAAAAB2lzX2xvbmcAAAAAAQAAAAAAAAAAAAAABHNpemUAAAALAAAAAAAAAAAAAAANYmFzZV9leHBvc3VyZQAAAAAAAAsAAAAAAAAAAAAAABFzdG9yZWRfY29sbGF0ZXJhbAAAAAAAAAsAAAAAAAAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAaWmVybyBtZWFucyBubyB0cmlnZ2VyIHNldC4AAAAAAAt0YWtlX3Byb2ZpdAAAAAALAAAAAAAAAAAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAAAAAAAC",
129
129
  "AAAABQAAAAAAAAAAAAAAD1Byb3RvY29sQ2xhaW1lZAAAAAABAAAACXByb3RjbGFpbQAAAAAAAAIAAAAAAAAACXJlY2lwaWVudAAAAAAAABMAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAQ==",
130
- "AAAABQAAAT9GdW5kaW5nL2JvcnJvdyBpbmRpY2VzIGFuZCBjdXJyZW50IHJhdGVzIGFmdGVyIGEga2VlcGVyIGNoZWNrcG9pbnQKKGB1cGRhdGVfaW5kaWNlc2ApLiBUaGUgb2ZmLWNoYWluIGZlZSBwcm9qZWN0aW9uIGFuZCBzdGFsZW5lc3MgbW9uaXRvcnMKa2V5IG9uIHRoaXMgZXZlbnQuIFZhbHVlcyBhcmUgZXhhY3QgYXQgYHRpbWVzdGFtcGA7IHBvc2l0aW9uIGFjdGlvbnMKYmV0d2VlbiBrZWVwZXIgcnVucyBjaGFuZ2UgZmxvd3MgYW5kIHJhdGVzIHdpdGhvdXQgZW1pdHRpbmcgb25lLCBzbwpwcm9qZWN0aW9ucyBjYXJyeSBrZWVwZXItY2FkZW5jZSBzdGFsZW5lc3MuAAAAAAAAAAAQTWFya2V0Q2hlY2twb2ludAAAAAEAAAAGbWt0Y2hrAAAAAAAOAAAAAAAAAAZtYXJrZXQAAAAAABEAAAABAAAAAAAAABpyZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZwAAAAAACwAAAAAAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAAAAAAAAAAAAUbHBfYmFja2VkX2luZGV4X2xvbmcAAAALAAAAAAAAAAAAAAAVbHBfYmFja2VkX2luZGV4X3Nob3J0AAAAAAAACwAAAAAAAAAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAAAAAAFHJlY2VpdmVyX2luZGV4X3Nob3J0AAAACwAAAAAAAAAAAAAAEmN1cnJlbnRfcGF5ZXJfc2lkZQAAAAAH0AAAAAlQYXllclNpZGUAAAAAAAAAAAAAAAAAABJjdXJyZW50X3BheWVyX3JhdGUAAAAAAAsAAAAAAAAAAAAAABhyZWNlaXZlcl9mbG93X3Blcl9zZWNvbmQAAAALAAAAAAAAAAAAAAASbHBfZmxvd19wZXJfc2Vjb25kAAAAAAALAAAAAAAAAAAAAAAMYm9ycm93X2luZGV4AAAACwAAAAAAAAAAAAAAE2N1cnJlbnRfYm9ycm93X3JhdGUAAAAACwAAAAAAAAAAAAAACXRpbWVzdGFtcAAAAAAAAAYAAAAAAAAAAg==",
130
+ "AAAABQAAAT9GdW5kaW5nL2JvcnJvdyBpbmRpY2VzIGFuZCBjdXJyZW50IHJhdGVzIGFmdGVyIGEga2VlcGVyIGNoZWNrcG9pbnQKKGB1cGRhdGVfaW5kaWNlc2ApLiBUaGUgb2ZmLWNoYWluIGZlZSBwcm9qZWN0aW9uIGFuZCBzdGFsZW5lc3MgbW9uaXRvcnMKa2V5IG9uIHRoaXMgZXZlbnQuIFZhbHVlcyBhcmUgZXhhY3QgYXQgYHRpbWVzdGFtcGA7IHBvc2l0aW9uIGFjdGlvbnMKYmV0d2VlbiBrZWVwZXIgcnVucyBjaGFuZ2UgZmxvd3MgYW5kIHJhdGVzIHdpdGhvdXQgZW1pdHRpbmcgb25lLCBzbwpwcm9qZWN0aW9ucyBjYXJyeSBrZWVwZXItY2FkZW5jZSBzdGFsZW5lc3MuAAAAAAAAAAAQTWFya2V0Q2hlY2twb2ludAAAAAEAAAAGbWt0Y2hrAAAAAAANAAAAAAAAAAZtYXJrZXQAAAAAABEAAAABAAAAAAAAABpyZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZwAAAAAACwAAAAAAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAAAAAAAAAAAAUbHBfYmFja2VkX2luZGV4X2xvbmcAAAALAAAAAAAAAAAAAAAVbHBfYmFja2VkX2luZGV4X3Nob3J0AAAAAAAACwAAAAAAAAAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAAAAAAFHJlY2VpdmVyX2luZGV4X3Nob3J0AAAACwAAAAAAAAAAAAAAEmN1cnJlbnRfcGF5ZXJfc2lkZQAAAAAH0AAAAAlQYXllclNpZGUAAAAAAAAAAAAAAAAAABJjdXJyZW50X3BheWVyX3JhdGUAAAAAAAsAAAAAAAAAAAAAAAhza2V3X2VtYQAAAAsAAAAAAAAAAAAAAAxib3Jyb3dfaW5kZXgAAAALAAAAAAAAAAAAAAATY3VycmVudF9ib3Jyb3dfcmF0ZQAAAAALAAAAAAAAAAAAAAAJdGltZXN0YW1wAAAAAAAABgAAAAAAAAAC",
131
131
  "AAAABQAAAI1BIHNpZGUgZW50ZXJlZCBvciBsZWZ0IGEgcmVzdHJpY3RlZCByaXNrIHN0YXRlICjCpzE0KS4gRW1pdHRlZCBvbmx5IG9uCmFjdHVhbCB0cmFuc2l0aW9ucyDigJQgdGhlIGtlZXBlcidzIHB1c2ggc2lnbmFsIGZvciBBREwvaGFyZC1jYXAgZHV0eS4AAAAAAAAAAAAAEFJpc2tTdGF0ZUNoYW5nZWQAAAABAAAACXJpc2tzdGF0ZQAAAAAAAAMAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAAAAAAB2lzX2xvbmcAAAAAAQAAAAAAAAAAAAAABXN0YXRlAAAAAAAH0AAAAAlSaXNrU3RhdGUAAAAAAAAAAAAAAQ==",
132
- "AAAABQAAAKxBIHBhcnRpYWwgY2xvc2UgKMKnMTIuMikuIEZlZSBmaWVsZHMgYXJlIHRoZSBhbW91bnRzIGFjdHVhbGx5IGNvbGxlY3RlZCBpbgp0aGlzIHNldHRsZW1lbnQ7IGBmdW5kaW5nX3JlY2VpdmVkYCBpcyB0aGUgY3JlZGl0IGNhcGl0YWxpemVkIGZyb20gdGhlCmd1YXJhbnRlZWQgcmVjZWl2ZXIgY2xhaW0uAAAAAAAAABFQb3NpdGlvbkRlY3JlYXNlZAAAAAAAAAEAAAAGcG9zZGVjAAAAAAAOAAAAAAAAAAtwb3NpdGlvbl9pZAAAAAAGAAAAAQAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAGbWFya2V0AAAAAAARAAAAAAAAAAAAAAAMc2l6ZV9yZW1vdmVkAAAACwAAAAAAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAAAAAAB3Jhd19wbmwAAAAACwAAAAAAAAAAAAAAC3BheWFibGVfcG5sAAAAAAsAAAAAAAAAAAAAAA9yZWFsaXplZF9wYXlvdXQAAAAACwAAAAAAAAAAAAAAFGNvbGxhdGVyYWxfd2l0aGRyYXduAAAACwAAAAAAAAAAAAAAFXJlY2VpdmVyX2Z1bmRpbmdfcGFpZAAAAAAAAAsAAAAAAAAAAAAAAA9scF9mdW5kaW5nX3BhaWQAAAAACwAAAAAAAAAAAAAAC2JvcnJvd19wYWlkAAAAAAsAAAAAAAAAAAAAABBmdW5kaW5nX3JlY2VpdmVkAAAACwAAAAAAAAAAAAAADmxvc3NfY29sbGVjdGVkAAAAAAALAAAAAAAAAAI=",
133
- "AAAABQAAAAAAAAAAAAAAEVBvc2l0aW9uSW5jcmVhc2VkAAAAAAAAAQAAAAZwb3NpbmMAAAAAAA0AAAAAAAAAC3Bvc2l0aW9uX2lkAAAAAAYAAAABAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAAAZtYXJrZXQAAAAAABEAAAAAAAAAAAAAAApzaXplX2FkZGVkAAAAAAALAAAAAAAAAAAAAAAKYmFzZV9hZGRlZAAAAAAACwAAAAAAAAAAAAAAEGNvbGxhdGVyYWxfYWRkZWQAAAALAAAAAAAAAAAAAAAFcHJpY2UAAAAAAAALAAAAAAAAAAAAAAALb3BlbmluZ19mZWUAAAAACwAAAAAAAAAwU3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIgZmVlcyBhbmQgY2FwaXRhbGl6YXRpb24uAAAAEXN0b3JlZF9jb2xsYXRlcmFsAAAAAAAACwAAAAAAAAB7QWNjcnVlZCBhbW91bnRzIHRoZSBpbmNyZWFzZSBjYXBpdGFsaXplZCBiZWZvcmUgYWRkaW5nIG5ldyBzaXplIOKAlAp0aGUgc2FtZSBkZWNvbXBvc2l0aW9uIHRoZSBkZWNyZWFzZS9jbG9zZSBldmVudHMgY2FycnkuAAAAABVyZWNlaXZlcl9mdW5kaW5nX3BhaWQAAAAAAAALAAAAAAAAAAAAAAAPbHBfZnVuZGluZ19wYWlkAAAAAAsAAAAAAAAAAAAAAAtib3Jyb3dfcGFpZAAAAAALAAAAAAAAAAAAAAAQZnVuZGluZ19yZWNlaXZlZAAAAAsAAAAAAAAAAg==",
132
+ "AAAABQAAAKxBIHBhcnRpYWwgY2xvc2UgKMKnMTIuMikuIEZlZSBmaWVsZHMgYXJlIHRoZSBhbW91bnRzIGFjdHVhbGx5IGNvbGxlY3RlZCBpbgp0aGlzIHNldHRsZW1lbnQ7IGBmdW5kaW5nX3JlY2VpdmVkYCBpcyB0aGUgY3JlZGl0IGNhcGl0YWxpemVkIGZyb20gdGhlCmd1YXJhbnRlZWQgcmVjZWl2ZXIgY2xhaW0uAAAAAAAAABFQb3NpdGlvbkRlY3JlYXNlZAAAAAAAAAEAAAAGcG9zZGVjAAAAAAAPAAAAAAAAAAtwb3NpdGlvbl9pZAAAAAAGAAAAAQAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAGbWFya2V0AAAAAAARAAAAAAAAAAAAAAAMc2l6ZV9yZW1vdmVkAAAACwAAAAAAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAAAAAAB3Jhd19wbmwAAAAACwAAAAAAAAAAAAAAC3BheWFibGVfcG5sAAAAAAsAAAAAAAAAAAAAAA9yZWFsaXplZF9wYXlvdXQAAAAACwAAAAAAAAAAAAAAFGNvbGxhdGVyYWxfd2l0aGRyYXduAAAACwAAAAAAAAA6wqcxMS4xIGNsb3NpbmcgZmVlIGNvbGxlY3RlZCBvdXQgb2YgdGhlIHJlYWxpemVkIHdpbm5pbmdzLgAAAAAAC2Nsb3NpbmdfZmVlAAAAAAsAAAAAAAAAAAAAABVyZWNlaXZlcl9mdW5kaW5nX3BhaWQAAAAAAAALAAAAAAAAAAAAAAAPbHBfZnVuZGluZ19wYWlkAAAAAAsAAAAAAAAAAAAAAAtib3Jyb3dfcGFpZAAAAAALAAAAAAAAAAAAAAAQZnVuZGluZ19yZWNlaXZlZAAAAAsAAAAAAAAAAAAAAA5sb3NzX2NvbGxlY3RlZAAAAAAACwAAAAAAAAAC",
133
+ "AAAABQAAAAAAAAAAAAAAEVBvc2l0aW9uSW5jcmVhc2VkAAAAAAAAAQAAAAZwb3NpbmMAAAAAAAwAAAAAAAAAC3Bvc2l0aW9uX2lkAAAAAAYAAAABAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAAAZtYXJrZXQAAAAAABEAAAAAAAAAAAAAAApzaXplX2FkZGVkAAAAAAALAAAAAAAAAAAAAAAKYmFzZV9hZGRlZAAAAAAACwAAAAAAAAAAAAAAEGNvbGxhdGVyYWxfYWRkZWQAAAALAAAAAAAAAAAAAAAFcHJpY2UAAAAAAAALAAAAAAAAACdTdG9yZWQgY29sbGF0ZXJhbCBhZnRlciBjYXBpdGFsaXphdGlvbi4AAAAAEXN0b3JlZF9jb2xsYXRlcmFsAAAAAAAACwAAAAAAAAB7QWNjcnVlZCBhbW91bnRzIHRoZSBpbmNyZWFzZSBjYXBpdGFsaXplZCBiZWZvcmUgYWRkaW5nIG5ldyBzaXplIOKAlAp0aGUgc2FtZSBkZWNvbXBvc2l0aW9uIHRoZSBkZWNyZWFzZS9jbG9zZSBldmVudHMgY2FycnkuAAAAABVyZWNlaXZlcl9mdW5kaW5nX3BhaWQAAAAAAAALAAAAAAAAAAAAAAAPbHBfZnVuZGluZ19wYWlkAAAAAAsAAAAAAAAAAAAAAAtib3Jyb3dfcGFpZAAAAAALAAAAAAAAAAAAAAAQZnVuZGluZ19yZWNlaXZlZAAAAAsAAAAAAAAAAg==",
134
134
  "AAAABQAAAAAAAAAAAAAAE0dsb2JhbENvbmZpZ1VwZGF0ZWQAAAAAAQAAAAljZmdnbG9iYWwAAAAAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMR2xvYmFsQ29uZmlnAAAAAAAAAAI=",
135
135
  "AAAABQAAAAAAAAAAAAAAE01hcmtldENvbmZpZ1VwZGF0ZWQAAAAAAQAAAAljZmdtYXJrZXQAAAAAAAACAAAAAAAAAAZtYXJrZXQAAAAAABEAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAAAAAAAI=",
136
136
  "AAAABQAAAAAAAAAAAAAAE01hcmtldFN0YXR1c0NoYW5nZWQAAAAAAQAAAAlta3RzdGF0dXMAAAAAAAACAAAAAAAAAAZtYXJrZXQAAAAAABEAAAAAAAAAAAAAAAhkaXNhYmxlZAAAAAEAAAAAAAAAAQ==",
137
137
  "AAAABQAAAFdSZXdhcmQgZm9yIHJldmVhbGluZyBhbiBpbnNvbHZlbnQgcG9zaXRpb24sIHBhaWQgZnJvbSB0aGUgcmlzay1rZWVwZXIKcmVzZXJ2ZSAowqcxMi4zKS4AAAAAAAAAABRJbnNvbHZlbmN5UmV3YXJkUGFpZAAAAAEAAAAJaW5zcmV3YXJkAAAAAAAAAwAAAAAAAAALcG9zaXRpb25faWQAAAAABgAAAAAAAAAAAAAABmtlZXBlcgAAAAAAEwAAAAAAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAB",
138
138
  "AAAABQAAAAAAAAAAAAAAFUV4ZWN1dGlvbkJ1ZGdldEZ1bmRlZAAAAAAAAAEAAAAIYnVkZ2V0aW4AAAACAAAAAAAAAAtwb3NpdGlvbl9pZAAAAAAGAAAAAAAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAE=",
139
139
  "AAAABQAAAAAAAAAAAAAAGEV4ZWN1dGlvbkJ1ZGdldFdpdGhkcmF3bgAAAAEAAAAJYnVkZ2V0b3V0AAAAAAAAAgAAAAAAAAALcG9zaXRpb25faWQAAAAABgAAAAAAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAB",
140
- "AAAAAQAAAInCpzUuMSBnbG9iYWwgc3RhdGU6IHRoZSBmaXZlIG5vbi1MUCBjbGFpbSB0b3RhbHMsIHRoZSByaXNrIGNvdW50ZXJzLCBhbmQKdGhlIGdsb2JhbCBhY2NydWFsIHN0YXRlIChib3Jyb3cgaW5kZXggKyByZWNlaXZlci1mdW5kaW5nIGZsb3cpLgAAAAAAAAAAAAAGTGVkZ2VyAAAAAAAOAAAAAAAAAAxib3Jyb3dfaW5kZXgAAAALAAAAAAAAABZib3Jyb3dfaW5kZXhfcmVtYWluZGVyAAAAAAALAAAAP2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHJhdGUgZm9yIHRoZSBjdXJyZW50IGludGVydmFsLgAAAAATY3VycmVudF9ib3Jyb3dfcmF0ZQAAAAALAAAAAAAAABZleGVjdXRpb25fYnVkZ2V0X3RvdGFsAAAAAAALAAAAAAAAABZsYXN0X2dsb2JhbF9jaGVja3BvaW50AAAAAAAGAAAAAAAAABVscF9ibG9ja2VkX3NpZGVfY291bnQAAAAAAAAEAAAAAAAAABNvcGVuX3Bvc2l0aW9uX2NvdW50AAAAAAYAAAAAAAAAHnBlbmRpbmdfcmVjZWl2ZXJfZnVuZGluZ190b3RhbAAAAAAACwAAAAAAAAAZcG9zaXRpb25fY29sbGF0ZXJhbF90b3RhbAAAAAAAAAsAAAAAAAAAGHByb3RvY29sX2NsYWltYWJsZV90b3RhbAAAAAsAAAAAAAAAGnJlY2VpdmVyX2FjY3J1YWxfcmVtYWluZGVyAAAAAAALAAAARlN1bSBvZiBldmVyeSBtYXJrZXQncyByZWNlaXZlciBmbG93LCBjYXNoL3NlY29uZCBhdCBgSU5ERVhfUFJFQ0lTSU9OYC4AAAAAABhyZWNlaXZlcl9mbG93X3Blcl9zZWNvbmQAAAALAAAAAAAAABlyaXNrX2tlZXBlcl9yZXNlcnZlX3RvdGFsAAAAAAAACwAAAAAAAAAQdG90YWxfcmlza191bml0cwAAAAs=",
140
+ "AAAAAQAAAMbCpzUuMSBnbG9iYWwgc3RhdGU6IHRoZSBmaXZlIG5vbi1MUCBjbGFpbSB0b3RhbHMsIHRoZSByaXNrIGNvdW50ZXJzLCBhbmQKdGhlIGdsb2JhbCBib3Jyb3cgYWNjcnVhbC4gVGhlIHJlY2VpdmVyLWZ1bmRpbmcgbGlhYmlsaXR5IHRvdGFsIGlzIGZlZApwZXItbWFya2V0IGJ5IGBjaGVja3BvaW50OjpjaGVja3BvaW50X21hcmtldGAgKMKnOC4zKS4AAAAAAAAAAAAGTGVkZ2VyAAAAAAAMAAAAAAAAAAxib3Jyb3dfaW5kZXgAAAALAAAAAAAAABZib3Jyb3dfaW5kZXhfcmVtYWluZGVyAAAAAAALAAAAP2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHJhdGUgZm9yIHRoZSBjdXJyZW50IGludGVydmFsLgAAAAATY3VycmVudF9ib3Jyb3dfcmF0ZQAAAAALAAAAAAAAABZleGVjdXRpb25fYnVkZ2V0X3RvdGFsAAAAAAALAAAAAAAAABZsYXN0X2dsb2JhbF9jaGVja3BvaW50AAAAAAAGAAAAAAAAABVscF9ibG9ja2VkX3NpZGVfY291bnQAAAAAAAAEAAAAAAAAABNvcGVuX3Bvc2l0aW9uX2NvdW50AAAAAAYAAAAAAAAAHnBlbmRpbmdfcmVjZWl2ZXJfZnVuZGluZ190b3RhbAAAAAAACwAAAAAAAAAZcG9zaXRpb25fY29sbGF0ZXJhbF90b3RhbAAAAAAAAAsAAAAAAAAAGHByb3RvY29sX2NsYWltYWJsZV90b3RhbAAAAAsAAAAAAAAAGXJpc2tfa2VlcGVyX3Jlc2VydmVfdG90YWwAAAAAAAALAAAAAAAAABB0b3RhbF9yaXNrX3VuaXRzAAAACw==",
141
141
  "AAAAAgAAAAAAAAAAAAAAA0tleQAAAAANAAAAAAAAAAAAAAANQ29uZmlnTWFuYWdlcgAAAAAAAAAAAAAAAAAADE9yYWNsZVJvdXRlcgAAAAAAAAAAAAAABVZhdWx0AAAAAAAAAAAAAAAAAAAMR2xvYmFsQ29uZmlnAAAAAAAAAAAAAAALSW5pdGlhbGl6ZWQAAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAAAAAAAAAAAAA5OZXh0UG9zaXRpb25JZAAAAAAAAAAAAAAAAAANQWN0aXZlTWFya2V0cwAAAAAAAAAAAAAAAAAABkxlZGdlcgAAAAAAAAAAAAAAAAAHVmVyc2lvbgAAAAABAAAAAAAAAAhQb3NpdGlvbgAAAAEAAAAGAAAAAQAAAAAAAAAGTWFya2V0AAAAAAABAAAAEQAAAAEAAAAAAAAADk1hcmtldERpc2FibGVkAAAAAAABAAAAEQ==",
142
142
  "AAAAAAAAAAAAAAAFcGF1c2UAAAAAAAABAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAA",
143
143
  "AAAAAAAAAAAAAAAHbWlncmF0ZQAAAAACAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAH0AAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAAAAAAhvcGVyYXRvcgAAABMAAAAA",
@@ -177,17 +177,17 @@ export class Client extends ContractClient {
177
177
  "AAAAAAAAAAAAAAAZcmlza19rZWVwZXJfcmVzZXJ2ZV90b3RhbAAAAAAAAAAAAAABAAAACw==",
178
178
  "AAAAAAAAAAAAAAAZd2l0aGRyYXdfZXhlY3V0aW9uX2J1ZGdldAAAAAAAAAIAAAAAAAAAC3Bvc2l0aW9uX2lkAAAAAAYAAAAAAAAABmFtb3VudAAAAAAACwAAAAA=",
179
179
  "AAAAAAAAAAAAAAAecGVuZGluZ19yZWNlaXZlcl9mdW5kaW5nX3RvdGFsAAAAAAAAAAAAAQAAAAs=",
180
- "AAAAAQAAAY9BdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBjdXJyZW50IGZ1bmRpbmcgZmxvd3MsIGFuZCB0aGUgbWFya2V0IGNvbmZpZ3VyYXRpb24uCgpTb3JvYmFuIGxpbWl0cyBVRFQgZmllbGQgbmFtZXMgdG8gMzAgY2hhcmFjdGVycywgc28gd2hlcmUgYSBkb2MgZ2xvc3NhcnkKdGVybSBpcyBsb25nZXIgdGhlIGZpZWxkIGRyb3BzIHRoZSByZWR1bmRhbnQgcXVhbGlmaWVyIGFuZCBpdHMgZG9jCmNvbW1lbnQgY2FycmllcyB0aGUgZnVsbCB0ZXJtIChlLmcuIGByZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZ2AgaXMgdGhlCmRvYydzIGByZWNlaXZlcl9iYWNrZWRfcGF5ZXJfaW5kZXhgIGZvciB0aGUgbG9uZyBzaWRlKS4AAAAAAAAAAAZNYXJrZXQAAAAAABIAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxNYXJrZXRDb25maWcAAABFYElOREVYX1BSRUNJU0lPTmAtc2NhbGVkIGJwcy9kYXkgcGF5ZXIgcmF0ZSBmb3IgdGhlIGN1cnJlbnQgaW50ZXJ2YWwuAAAAAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAABTTFAtYWxsb2NhdGVkIHJlbWFpbmRlciBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAEmxwX2Zsb3dfcGVyX3NlY29uZAAAAAAACwAAAAAAAAASbHBfcGF5ZXJfcmVtYWluZGVyAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAVVJlY2VpdmVyLWFsbG9jYXRlZCBzaGFyZSBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAAAAYcmVjZWl2ZXJfZmxvd19wZXJfc2Vjb25kAAAACwAAAAAAAAAXcmVjZWl2ZXJfZmxvd19yZW1haW5kZXIAAAAACwAAAD5DdW11bGF0aXZlIGZ1bmRpbmcgY3JlZGl0IHBlciB1bml0IG9mIGxpZ2h0LXNpZGUgc2l6ZSAowqc4LjIpLgAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAYcmVjZWl2ZXJfaW5kZXhfcmVtYWluZGVyAAAACwAAAAAAAAAUcmVjZWl2ZXJfaW5kZXhfc2hvcnQAAAALAAAAAAAAABhyZWNlaXZlcl9wYXllcl9yZW1haW5kZXIAAAALAAAAAAAAAAVzaG9ydAAAAAAAB9AAAAAKTWFya2V0U2lkZQAA",
180
+ "AAAAAQAAAYVBdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBmdW5kaW5nIEVNQSwgYW5kIHRoZSBtYXJrZXQgY29uZmlndXJhdGlvbi4KClNvcm9iYW4gbGltaXRzIFVEVCBmaWVsZCBuYW1lcyB0byAzMCBjaGFyYWN0ZXJzLCBzbyB3aGVyZSBhIGRvYyBnbG9zc2FyeQp0ZXJtIGlzIGxvbmdlciB0aGUgZmllbGQgZHJvcHMgdGhlIHJlZHVuZGFudCBxdWFsaWZpZXIgYW5kIGl0cyBkb2MKY29tbWVudCBjYXJyaWVzIHRoZSBmdWxsIHRlcm0gKGUuZy4gYHJlY2VpdmVyX2JhY2tlZF9pbmRleF9sb25nYCBpcyB0aGUKZG9jJ3MgYHJlY2VpdmVyX2JhY2tlZF9wYXllcl9pbmRleGAgZm9yIHRoZSBsb25nIHNpZGUpLgAAAAAAAAAAAAAGTWFya2V0AAAAAAARAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAQ2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHBheWVyIHJhdGUgYXMgb2YgdGhlIGxhc3QgcmVmcmVzaC4AAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAAAAAAAAEmxwX3BheWVyX3JlbWFpbmRlcgAAAAAACwAAADtTdWItc3Ryb29wIGNhcnJ5IG9mIHRoZSByZWNlaXZlci1saWFiaWxpdHkgYWNjcnVhbCAowqc4LjMpLgAAAAARcGVuZGluZ19yZW1haW5kZXIAAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAPkN1bXVsYXRpdmUgZnVuZGluZyBjcmVkaXQgcGVyIHVuaXQgb2YgbGlnaHQtc2lkZSBzaXplICjCpzguMikuAAAAAAATcmVjZWl2ZXJfaW5kZXhfbG9uZwAAAAALAAAAAAAAABhyZWNlaXZlcl9pbmRleF9yZW1haW5kZXIAAAALAAAAAAAAABRyZWNlaXZlcl9pbmRleF9zaG9ydAAAAAsAAAAAAAAAGHJlY2VpdmVyX3BheWVyX3JlbWFpbmRlcgAAAAsAAAAAAAAABXNob3J0AAAAAAAH0AAAAApNYXJrZXRTaWRlAAAAAAC+wqc4LjEgc2lnbmVkIEVNQSBvZiB0aGUgaW5zdGFudGFuZW91cyBza2V3OiBhIGZyYWN0aW9uIG9mIG9uZSBhdApgSU5ERVhfUFJFQ0lTSU9OYCBzY2FsZSwgcG9zaXRpdmUgd2hlbiBoaXN0b3J5IHNheXMgbG9uZ3MgZG9taW5hdGUuCkRlY2F5cyB0b3dhcmQgdGhlIGN1cnJlbnQgc2tldyB3aXRoIHRoZSBnbG9iYWwgaGFsZi1saWZlLgAAAAAACHNrZXdfZW1hAAAACw==",
181
181
  "AAAAAQAAAAAAAAAAAAAACExwQ29uZmlnAAAAAwAAAAAAAAAQbHBfcmVxdWVzdF9kZWxheQAAAAYAAAAAAAAAHG1heF93aXRoZHJhd191dGlsaXphdGlvbl9icHMAAAAEAAAAAAAAABptaW5fZGVwb3NpdF9uYXZfZmFjdG9yX2JwcwAAAAAABA==",
182
182
  "AAAAAQAAADVSZXByZXNlbnRzIGEgc2luZ2xlIHRyYWRlcidzIG9wZW4gbGV2ZXJhZ2VkIHBvc2l0aW9uLgAAAAAAAAAAAAAIUG9zaXRpb24AAAAQAAAAIUFzc2V0IHVuaXRzIGF0IGBQUklDRV9QUkVDSVNJT05gLgAAAAAAAA1iYXNlX2V4cG9zdXJlAAAAAAAACwAAAAAAAAALYm9ycm93X2RlYnQAAAAACwAAAClDYXNoIG93bmVkIGJ5IGFuIG9wdGlvbmFsLW9yZGVyIGV4ZWN1dG9yLgAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAYZnVuZGluZ19wYWlkX3RvX2xwc19kZWJ0AAAACwAAAAAAAAAeZnVuZGluZ19wYWlkX3RvX3JlY2VpdmVyc19kZWJ0AAAAAAALAAAAAAAAABVmdW5kaW5nX3JlY2VpdmVkX2RlYnQAAAAAAAALAAAAAAAAAAJpZAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAABNsYXN0X2luY3JlYXNlZF90aW1lAAAAAAYAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAALkZpeGVkIGdyb3NzIGNhcGFjaXR5IGFzc2lnbmVkIHdoZW4gcmlzayBvcGVucy4AAAAAAApyaXNrX3VuaXRzAAAAAAALAAAAIlVTRCBub3Rpb25hbCBhdCBgUFJJQ0VfUFJFQ0lTSU9OYC4AAAAAAARzaXplAAAACwAAADtUcmlnZ2VyIHByaWNlIGZvciB0aGUgb3B0aW9uYWwgc3RvcC1sb3NzIG9yZGVyOyBgMGAgPSBub25lLgAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAMpUcmFkZXItb3duZWQgY29sbGF0ZXJhbCByZWNvcmRlZCBpbiBjb250cmFjdCBzdGF0ZSAodGhlIGRvYydzCiJzdG9yZWQgY29sbGF0ZXJhbCIpLiBFZmZlY3RpdmUgY29sbGF0ZXJhbCDigJQgc3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIKcGVuZGluZyBmZWVzIGFuZCBmdW5kaW5nIGNyZWRpdHMg4oCUIGlzIGFsd2F5cyBkZXJpdmVkLCBuZXZlciBzdG9yZWQuAAAAAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAPVRyaWdnZXIgcHJpY2UgZm9yIHRoZSBvcHRpb25hbCB0YWtlLXByb2ZpdCBvcmRlcjsgYDBgID0gbm9uZS4AAAAAAAALdGFrZV9wcm9maXQAAAAACw==",
183
183
  "AAAAAQAAAAAAAAAAAAAACUxwUmVxdWVzdAAAAAAAAAcAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAANZXhlY3V0ZV9hZnRlcgAAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAARraW5kAAAH0AAAAA1McFJlcXVlc3RLaW5kAAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHJlcXVlc3RfdGltZQAAAAYAAAAAAAAABnN0YXR1cwAAAAAH0AAAAA9McFJlcXVlc3RTdGF0dXMA",
184
- "AAAAAgAAAHlXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB3aXRoIG1vcmUgYmFzZQpleHBvc3VyZSkuIGBOb25lYCB3aGVuIHRoZSBtYXJrZXQgaXMgYmFsYW5jZWQgb3IgZW1wdHkuAAAAAAAAAAAAAAlQYXllclNpZGUAAAAAAAADAAAAAAAAAAAAAAAETm9uZQAAAAAAAAAAAAAABExvbmcAAAAAAAAAAAAAAAVTaG9ydAAAAA==",
184
+ "AAAAAgAAANFXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB0aGUgYmxlbmRlZCBpbnRlZ3JhbApza2V3IHBvaW50cyBhdCDigJQgdW5kZXIgdGhlIEVNQSB0aGlzIGNhbiBiZSB0aGUgKmxpZ2h0ZXIqIHNpZGUgZm9yIGEKd2hpbGUgYWZ0ZXIgdGhlIGJvb2sgZmxpcHMpLiBgTm9uZWAgd2hlbiB0aGUgYmxlbmQgaXMgZXhhY3RseSB6ZXJvLgAAAAAAAAAAAAAJUGF5ZXJTaWRlAAAAAAAAAwAAAAAAAAAAAAAABE5vbmUAAAAAAAAAAAAAAARMb25nAAAAAAAAAAAAAAAFU2hvcnQAAAA=",
185
185
  "AAAAAgAAAAAAAAAAAAAACVJpc2tTdGF0ZQAAAAAAAAQAAAAAAAAAAAAAAAZOb3JtYWwAAAAAAAAAAAAAAAAAB1dhcm5pbmcAAAAAAAAAAAAAAAADQWRsAAAAAAAAAAAAAAAAB0hhcmRDYXAA",
186
186
  "AAAAAQAAAAAAAAAAAAAACk1hcmtldFNpZGUAAAAAAAUAAAAAAAAADWJhc2VfZXhwb3N1cmUAAAAAAAALAAAAAAAAAApyaXNrX3N0YXRlAAAAAAfQAAAACVJpc2tTdGF0ZQAAAAAAAAAAAAAKcmlza191bml0cwAAAAAACwAAAAAAAAASc2l6ZV9vcGVuX2ludGVyZXN0AAAAAAALAAAAAAAAABdzdG9yZWRfY29sbGF0ZXJhbF90b3RhbAAAAAAL",
187
187
  "AAAAAQAAAAAAAAAAAAAAClJvdW5kUHJpY2UAAAAAAAIAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAGc3ltYm9sAAAAAAAR",
188
188
  "AAAAAQAAAAAAAAAAAAAAC09yYWNsZVJvdW5kAAAAAAUAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAtwcmV2aW91c19pZAAAAAAGAAAAAAAAABJwcmV2aW91c190aW1lc3RhbXAAAAAAAAYAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAAKUm91bmRQcmljZQAAAAAAAAAAAAl0aW1lc3RhbXAAAAAAAAAG",
189
- "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAsAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAAAAAAAFW1pbl9wb3NpdGlvbl9saWZldGltZQAAAAAAAAYAAAAAAAAAF3Jpc2tfY2FwYWNpdHlfbGltaXRfYnBzAAAAAAQAAAAAAAAAHXJpc2tfa2VlcGVyX3JldmVudWVfc2hhcmVfYnBzAAAAAAAABA==",
190
- "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAAA8AAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAF2hhcmRfY2FwX3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAFm1haW50ZW5hbmNlX21hcmdpbl9icHMAAAAAAAQAAAAAAAAAFm1hcmtldF9yaXNrX2ZhY3Rvcl9icHMAAAAAAAQAAAAAAAAAGG1heF9mdW5kaW5nX3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAFm1heF9sb25nX2Jhc2VfZXhwb3N1cmUAAAAAAAsAAAAAAAAAG21heF9sb25nX3NpemVfb3Blbl9pbnRlcmVzdAAAAAALAAAAAAAAABdtYXhfc2hvcnRfYmFzZV9leHBvc3VyZQAAAAALAAAAAAAAABxtYXhfc2hvcnRfc2l6ZV9vcGVuX2ludGVyZXN0AAAACwAAAAAAAAARb3Blbl9mZWVfaGlnaF9icHMAAAAAAAAEAAAAAAAAABBvcGVuX2ZlZV9sb3dfYnBzAAAABAAAAAAAAAAXcmVjb3ZlcnlfcG5sX2ZhY3Rvcl9icHMAAAAABAAAAAAAAAAWd2FybmluZ19wbmxfZmFjdG9yX2JwcwAAAAAABA==",
189
+ "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAwAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAABfwqc4LjEgaGFsZi1saWZlIG9mIHRoZSBmdW5kaW5nIHNrZXcgRU1BLCBzZWNvbmRzIChnbG9iYWw6IG9uZSBtZW1vcnkKaG9yaXpvbiBmb3IgZXZlcnkgbWFya2V0KS4AAAAAGWZ1bmRpbmdfaGFsZl9saWZlX3NlY29uZHMAAAAAAAAGAAAAAAAAABloYXJkX2NhcF9mYWN0b3JfbGltaXRfYnBzAAAAAAAABAAAAAAAAAAUbHBfcmV2ZW51ZV9zaGFyZV9icHMAAAAEAAAAAAAAABJtYXhfYWN0aXZlX21hcmtldHMAAAAAAAQAAAAAAAAADm1heF9hZGxfcmV3YXJkAAAAAAALAAAAAAAAABptYXhfaW5zb2x2ZW50X3RvdWNoX3Jld2FyZAAAAAAACwAAAAAAAAAbbWF4X3ZhcmlhYmxlX2JvcnJvd19icHNfZGF5AAAAAAsAAAAAAAAADm1pbl9jb2xsYXRlcmFsAAAAAAALAAAAAAAAABVtaW5fcG9zaXRpb25fbGlmZXRpbWUAAAAAAAAGAAAAAAAAABdyaXNrX2NhcGFjaXR5X2xpbWl0X2JwcwAAAAAEAAAAAAAAAB1yaXNrX2tlZXBlcl9yZXZlbnVlX3NoYXJlX2JwcwAAAAAAAAQ=",
190
+ "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAABEAAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAA0wqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2Ugd29yc2VucyBza2V3LgAAABJjbG9zZV9mZWVfaGlnaF9icHMAAAAAAAQAAABCwqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2UgaW1wcm92ZXMgb3IgcHJlc2VydmVzIHNrZXcuAAAAAAARY2xvc2VfZmVlX2xvd19icHMAAAAAAAAEAAAAAAAAABdoYXJkX2NhcF9wbmxfZmFjdG9yX2JwcwAAAAAEAAAAgk1hcmdpbiByZXF1aXJlZCB0byBvcGVuIG9yIGFkZCByaXNrICjCpzEyLjMpLiBEaXZpZGVzIG1heCBsZXZlcmFnZToKYSBwb3NpdGlvbiBtYXkgbm90IGJlIGNyZWF0ZWQgY2xvc2VyIHRvIGxpcXVpZGF0aW9uIHRoYW4gdGhpcy4AAAAAABJpbml0aWFsX21hcmdpbl9icHMAAAAAAAQAAACHwqc4LjEgd2VpZ2h0IG9mIHRoZSBpbnN0YW50YW5lb3VzIHNrZXcgaW4gdGhlIGZ1bmRpbmcgYmxlbmQsIGluIGJwczsKdGhlIHJlc3QgaXMgdGhlIGhhbGYtbGlmZSBFTUEuIGBCUFNgIHJlcHJvZHVjZXMgcHVyZSBpbnN0YW50IHNrZXcuAAAAABJpbnN0YW50X3dlaWdodF9icHMAAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAB8TWFyZ2luIGJlbG93IHdoaWNoIHRoZSBwb3NpdGlvbiBpcyBsaXF1aWRhdGFibGUgKMKnMTIuMykuIE11c3Qgbm90CmV4Y2VlZCBgaW5pdGlhbF9tYXJnaW5fYnBzYDsgdGhlIGdhcCBpcyB0aGUgZW50cnkgYnVmZmVyLgAAABZtYWludGVuYW5jZV9tYXJnaW5fYnBzAAAAAAAEAAAAAAAAABZtYXJrZXRfcmlza19mYWN0b3JfYnBzAAAAAAAEAAAAAAAAABhtYXhfZnVuZGluZ19yYXRlX2Jwc19kYXkAAAALAAAAAAAAABZtYXhfbG9uZ19iYXNlX2V4cG9zdXJlAAAAAAALAAAAAAAAABttYXhfbG9uZ19zaXplX29wZW5faW50ZXJlc3QAAAAACwAAAAAAAAAXbWF4X3Nob3J0X2Jhc2VfZXhwb3N1cmUAAAAACwAAAAAAAAAcbWF4X3Nob3J0X3NpemVfb3Blbl9pbnRlcmVzdAAAAAsAAAAAAAAAF3JlY292ZXJ5X3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFndhcm5pbmdfcG5sX2ZhY3Rvcl9icHMAAAAAAAQ=",
191
191
  "AAAAAQAAAC5HbG9iYWwgc2FmZXR5IHRocmVzaG9sZHMgZm9yIHByaWNlIHZhbGlkYXRpb24uAAAAAAAAAAAADE9yYWNsZUNvbmZpZwAAAAQAAADzSG93IGxvbmcgYSBjYWNoZWQgYWdncmVnYXRlZCBwcmljZSByZW1haW5zIHZhbGlkIGFmdGVyIHRoZSByb3V0ZXIKZmV0Y2ggKGluIHNlY29uZHMpLiBBIGNhY2hlIGhpdCBhbHNvIHJlcXVpcmVzIGV2ZXJ5IHNvdXJjZSB0aW1lc3RhbXAKdXNlZCBmb3IgdGhlIGNhY2hlZCBtZWRpYW4gdG8gcmVtYWluIHdpdGhpbiBgc3RhbGVuZXNzX3RocmVzaG9sZGAuCk11c3QgYmUgPiAwIGFuZCA8PSBgc3RhbGVuZXNzX3RocmVzaG9sZGAuAAAAAA5jYWNoZV9kdXJhdGlvbgAAAAAABgAAAIlNYXhpbXVtIGFsbG93ZWQgc3ByZWFkIGJldHdlZW4gb3JhY2xlIHNvdXJjZXMgaW4gYmFzaXMgcG9pbnRzCihlLmcuLCAxMDAgPSAxJSkuIEJvdW5kZWQgYXQgYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9ERVZJQVRJT05fQlBTX0NFSUxJTkdgLgAAAAAAABFtYXhfZGV2aWF0aW9uX2JwcwAAAAAAAAsAAADhTWluaW11bSBudW1iZXIgb2Ygc291cmNlIHJlc3BvbnNlcyB0aGF0IG11c3QgYWdyZWUgd2l0aGluCmBtYXhfZGV2aWF0aW9uX2Jwc2AgZm9yIE9yYWNsZVJvdXRlciB0byByZXR1cm4gYSBwcmljZS4gRmxvb3JlZCBhdApgY3JhdGU6OmNvbnN0YW50czo6TUlOX1JFUVVJUkVEX1NPVVJDRVNfRkxPT1JgLCBjZWlsaW5nZWQgYXQKYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9PUkFDTEVfU09VUkNFU2AuAAAAAAAAFG1pbl9yZXF1aXJlZF9zb3VyY2VzAAAABAAAAFlNYXhpbXVtIGFnZSBvZiBhbiBleHRlcm5hbCBTRVAtNDAgcHJpY2UgZmVlZCBiZWZvcmUgaXQgaXMgcmVqZWN0ZWQKYXMgc3RhbGUgKGluIHNlY29uZHMpLgAAAAAAABNzdGFsZW5lc3NfdGhyZXNob2xkAAAAAAY=",
192
192
  "AAAAAgAAAAAAAAAAAAAADUxwUmVxdWVzdEtpbmQAAAAAAAACAAAAAAAAAAAAAAAHRGVwb3NpdAAAAAAAAAAAAAAAAApXaXRoZHJhd2FsAAA=",
193
193
  "AAAAAQAAAEtEYXRhIHJlcXVpcmVkIGR1cmluZyBhIFdBU00gbWlncmF0aW9uLiBTaW5nbGUgZGVmaW5pdGlvbiBmb3IgYWxsIGNvbnRyYWN0cy4AAAAAAAAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAQAAAAAAAAAHdmVyc2lvbgAAAAAE",
@@ -47,7 +47,7 @@ export declare const RequestRouterError: {
47
47
  };
48
48
  /**
49
49
  * Authoritative per-market state: the side aggregates, the funding indices,
50
- * the current funding flows, and the market configuration.
50
+ * the funding EMA, and the market configuration.
51
51
  *
52
52
  * Soroban limits UDT field names to 30 characters, so where a doc glossary
53
53
  * term is longer the field drops the redundant qualifier and its doc
@@ -57,7 +57,7 @@ export declare const RequestRouterError: {
57
57
  export interface Market {
58
58
  config: MarketConfig;
59
59
  /**
60
- * `INDEX_PRECISION`-scaled bps/day payer rate for the current interval.
60
+ * `INDEX_PRECISION`-scaled bps/day payer rate as of the last refresh.
61
61
  */
62
62
  current_payer_rate: i128;
63
63
  current_payer_side: PayerSide;
@@ -69,12 +69,11 @@ export interface Market {
69
69
  */
70
70
  lp_backed_index_long: i128;
71
71
  lp_backed_index_short: i128;
72
+ lp_payer_remainder: i128;
72
73
  /**
73
- * LP-allocated remainder of the payer flow, cash/second at
74
- * `INDEX_PRECISION` (§8.1).
74
+ * Sub-stroop carry of the receiver-liability accrual (§8.3).
75
75
  */
76
- lp_flow_per_second: i128;
77
- lp_payer_remainder: i128;
76
+ pending_remainder: i128;
78
77
  /**
79
78
  * Cumulative payer fee per unit of dominant-side size whose collection
80
79
  * restores cash backing an already-accrued receiver claim (§8.2).
@@ -82,12 +81,6 @@ export interface Market {
82
81
  receiver_backed_index_long: i128;
83
82
  receiver_backed_index_short: i128;
84
83
  /**
85
- * Receiver-allocated share of the payer flow, cash/second at
86
- * `INDEX_PRECISION` (§8.1).
87
- */
88
- receiver_flow_per_second: i128;
89
- receiver_flow_remainder: i128;
90
- /**
91
84
  * Cumulative funding credit per unit of light-side size (§8.2).
92
85
  */
93
86
  receiver_index_long: i128;
@@ -95,6 +88,12 @@ export interface Market {
95
88
  receiver_index_short: i128;
96
89
  receiver_payer_remainder: i128;
97
90
  short: MarketSide;
91
+ /**
92
+ * §8.1 signed EMA of the instantaneous skew: a fraction of one at
93
+ * `INDEX_PRECISION` scale, positive when history says longs dominate.
94
+ * Decays toward the current skew with the global half-life.
95
+ */
96
+ skew_ema: i128;
98
97
  }
99
98
  export interface LpConfig {
100
99
  lp_request_delay: u64;
@@ -155,8 +154,9 @@ export interface LpRequest {
155
154
  status: LpRequestStatus;
156
155
  }
157
156
  /**
158
- * Which side currently pays funding (§8.1: the side with more base
159
- * exposure). `None` when the market is balanced or empty.
157
+ * Which side currently pays funding (§8.1: the side the blended integral
158
+ * skew points at — under the EMA this can be the *lighter* side for a
159
+ * while after the book flips). `None` when the blend is exactly zero.
160
160
  */
161
161
  export type PayerSide = {
162
162
  tag: "None";
@@ -201,6 +201,11 @@ export interface OracleRound {
201
201
  }
202
202
  export interface GlobalConfig {
203
203
  base_borrow_rate_bps_day: i128;
204
+ /**
205
+ * §8.1 half-life of the funding skew EMA, seconds (global: one memory
206
+ * horizon for every market).
207
+ */
208
+ funding_half_life_seconds: u64;
204
209
  hard_cap_factor_limit_bps: u32;
205
210
  lp_revenue_share_bps: u32;
206
211
  max_active_markets: u32;
@@ -215,8 +220,30 @@ export interface GlobalConfig {
215
220
  export interface MarketConfig {
216
221
  adl_pnl_factor_bps: u32;
217
222
  adl_reward_bps: u32;
223
+ /**
224
+ * §11.1 closing-fee tier when the close worsens skew.
225
+ */
226
+ close_fee_high_bps: u32;
227
+ /**
228
+ * §11.1 closing-fee tier when the close improves or preserves skew.
229
+ */
230
+ close_fee_low_bps: u32;
218
231
  hard_cap_pnl_factor_bps: u32;
232
+ /**
233
+ * Margin required to open or add risk (§12.3). Divides max leverage:
234
+ * a position may not be created closer to liquidation than this.
235
+ */
236
+ initial_margin_bps: u32;
237
+ /**
238
+ * §8.1 weight of the instantaneous skew in the funding blend, in bps;
239
+ * the rest is the half-life EMA. `BPS` reproduces pure instant skew.
240
+ */
241
+ instant_weight_bps: u32;
219
242
  liquidation_reward_bps: u32;
243
+ /**
244
+ * Margin below which the position is liquidatable (§12.3). Must not
245
+ * exceed `initial_margin_bps`; the gap is the entry buffer.
246
+ */
220
247
  maintenance_margin_bps: u32;
221
248
  market_risk_factor_bps: u32;
222
249
  max_funding_rate_bps_day: i128;
@@ -224,8 +251,6 @@ export interface MarketConfig {
224
251
  max_long_size_open_interest: i128;
225
252
  max_short_base_exposure: i128;
226
253
  max_short_size_open_interest: i128;
227
- open_fee_high_bps: u32;
228
- open_fee_low_bps: u32;
229
254
  recovery_pnl_factor_bps: u32;
230
255
  warning_pnl_factor_bps: u32;
231
256
  }
@@ -105,17 +105,17 @@ export class Client extends ContractClient {
105
105
  "AAAAAAAAAAAAAAAPcmVxdWVzdF9kZXBvc2l0AAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAGYXNzZXRzAAAAAAALAAAAAQAAAAY=",
106
106
  "AAAAAAAAAAAAAAAScmVxdWVzdF93aXRoZHJhd2FsAAAAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAABnNoYXJlcwAAAAAACwAAAAEAAAAG",
107
107
  "AAAAAAAAAAAAAAAXbmV4dF9yZXF1ZXN0X3RvX3Jlc29sdmUAAAAAAAAAAAEAAAAG",
108
- "AAAAAQAAAY9BdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBjdXJyZW50IGZ1bmRpbmcgZmxvd3MsIGFuZCB0aGUgbWFya2V0IGNvbmZpZ3VyYXRpb24uCgpTb3JvYmFuIGxpbWl0cyBVRFQgZmllbGQgbmFtZXMgdG8gMzAgY2hhcmFjdGVycywgc28gd2hlcmUgYSBkb2MgZ2xvc3NhcnkKdGVybSBpcyBsb25nZXIgdGhlIGZpZWxkIGRyb3BzIHRoZSByZWR1bmRhbnQgcXVhbGlmaWVyIGFuZCBpdHMgZG9jCmNvbW1lbnQgY2FycmllcyB0aGUgZnVsbCB0ZXJtIChlLmcuIGByZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZ2AgaXMgdGhlCmRvYydzIGByZWNlaXZlcl9iYWNrZWRfcGF5ZXJfaW5kZXhgIGZvciB0aGUgbG9uZyBzaWRlKS4AAAAAAAAAAAZNYXJrZXQAAAAAABIAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxNYXJrZXRDb25maWcAAABFYElOREVYX1BSRUNJU0lPTmAtc2NhbGVkIGJwcy9kYXkgcGF5ZXIgcmF0ZSBmb3IgdGhlIGN1cnJlbnQgaW50ZXJ2YWwuAAAAAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAABTTFAtYWxsb2NhdGVkIHJlbWFpbmRlciBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAEmxwX2Zsb3dfcGVyX3NlY29uZAAAAAAACwAAAAAAAAASbHBfcGF5ZXJfcmVtYWluZGVyAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAVVJlY2VpdmVyLWFsbG9jYXRlZCBzaGFyZSBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAAAAYcmVjZWl2ZXJfZmxvd19wZXJfc2Vjb25kAAAACwAAAAAAAAAXcmVjZWl2ZXJfZmxvd19yZW1haW5kZXIAAAAACwAAAD5DdW11bGF0aXZlIGZ1bmRpbmcgY3JlZGl0IHBlciB1bml0IG9mIGxpZ2h0LXNpZGUgc2l6ZSAowqc4LjIpLgAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAYcmVjZWl2ZXJfaW5kZXhfcmVtYWluZGVyAAAACwAAAAAAAAAUcmVjZWl2ZXJfaW5kZXhfc2hvcnQAAAALAAAAAAAAABhyZWNlaXZlcl9wYXllcl9yZW1haW5kZXIAAAALAAAAAAAAAAVzaG9ydAAAAAAAB9AAAAAKTWFya2V0U2lkZQAA",
108
+ "AAAAAQAAAYVBdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBmdW5kaW5nIEVNQSwgYW5kIHRoZSBtYXJrZXQgY29uZmlndXJhdGlvbi4KClNvcm9iYW4gbGltaXRzIFVEVCBmaWVsZCBuYW1lcyB0byAzMCBjaGFyYWN0ZXJzLCBzbyB3aGVyZSBhIGRvYyBnbG9zc2FyeQp0ZXJtIGlzIGxvbmdlciB0aGUgZmllbGQgZHJvcHMgdGhlIHJlZHVuZGFudCBxdWFsaWZpZXIgYW5kIGl0cyBkb2MKY29tbWVudCBjYXJyaWVzIHRoZSBmdWxsIHRlcm0gKGUuZy4gYHJlY2VpdmVyX2JhY2tlZF9pbmRleF9sb25nYCBpcyB0aGUKZG9jJ3MgYHJlY2VpdmVyX2JhY2tlZF9wYXllcl9pbmRleGAgZm9yIHRoZSBsb25nIHNpZGUpLgAAAAAAAAAAAAAGTWFya2V0AAAAAAARAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAQ2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHBheWVyIHJhdGUgYXMgb2YgdGhlIGxhc3QgcmVmcmVzaC4AAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAAAAAAAAEmxwX3BheWVyX3JlbWFpbmRlcgAAAAAACwAAADtTdWItc3Ryb29wIGNhcnJ5IG9mIHRoZSByZWNlaXZlci1saWFiaWxpdHkgYWNjcnVhbCAowqc4LjMpLgAAAAARcGVuZGluZ19yZW1haW5kZXIAAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAPkN1bXVsYXRpdmUgZnVuZGluZyBjcmVkaXQgcGVyIHVuaXQgb2YgbGlnaHQtc2lkZSBzaXplICjCpzguMikuAAAAAAATcmVjZWl2ZXJfaW5kZXhfbG9uZwAAAAALAAAAAAAAABhyZWNlaXZlcl9pbmRleF9yZW1haW5kZXIAAAALAAAAAAAAABRyZWNlaXZlcl9pbmRleF9zaG9ydAAAAAsAAAAAAAAAGHJlY2VpdmVyX3BheWVyX3JlbWFpbmRlcgAAAAsAAAAAAAAABXNob3J0AAAAAAAH0AAAAApNYXJrZXRTaWRlAAAAAAC+wqc4LjEgc2lnbmVkIEVNQSBvZiB0aGUgaW5zdGFudGFuZW91cyBza2V3OiBhIGZyYWN0aW9uIG9mIG9uZSBhdApgSU5ERVhfUFJFQ0lTSU9OYCBzY2FsZSwgcG9zaXRpdmUgd2hlbiBoaXN0b3J5IHNheXMgbG9uZ3MgZG9taW5hdGUuCkRlY2F5cyB0b3dhcmQgdGhlIGN1cnJlbnQgc2tldyB3aXRoIHRoZSBnbG9iYWwgaGFsZi1saWZlLgAAAAAACHNrZXdfZW1hAAAACw==",
109
109
  "AAAAAQAAAAAAAAAAAAAACExwQ29uZmlnAAAAAwAAAAAAAAAQbHBfcmVxdWVzdF9kZWxheQAAAAYAAAAAAAAAHG1heF93aXRoZHJhd191dGlsaXphdGlvbl9icHMAAAAEAAAAAAAAABptaW5fZGVwb3NpdF9uYXZfZmFjdG9yX2JwcwAAAAAABA==",
110
110
  "AAAAAQAAADVSZXByZXNlbnRzIGEgc2luZ2xlIHRyYWRlcidzIG9wZW4gbGV2ZXJhZ2VkIHBvc2l0aW9uLgAAAAAAAAAAAAAIUG9zaXRpb24AAAAQAAAAIUFzc2V0IHVuaXRzIGF0IGBQUklDRV9QUkVDSVNJT05gLgAAAAAAAA1iYXNlX2V4cG9zdXJlAAAAAAAACwAAAAAAAAALYm9ycm93X2RlYnQAAAAACwAAAClDYXNoIG93bmVkIGJ5IGFuIG9wdGlvbmFsLW9yZGVyIGV4ZWN1dG9yLgAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAYZnVuZGluZ19wYWlkX3RvX2xwc19kZWJ0AAAACwAAAAAAAAAeZnVuZGluZ19wYWlkX3RvX3JlY2VpdmVyc19kZWJ0AAAAAAALAAAAAAAAABVmdW5kaW5nX3JlY2VpdmVkX2RlYnQAAAAAAAALAAAAAAAAAAJpZAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAABNsYXN0X2luY3JlYXNlZF90aW1lAAAAAAYAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAALkZpeGVkIGdyb3NzIGNhcGFjaXR5IGFzc2lnbmVkIHdoZW4gcmlzayBvcGVucy4AAAAAAApyaXNrX3VuaXRzAAAAAAALAAAAIlVTRCBub3Rpb25hbCBhdCBgUFJJQ0VfUFJFQ0lTSU9OYC4AAAAAAARzaXplAAAACwAAADtUcmlnZ2VyIHByaWNlIGZvciB0aGUgb3B0aW9uYWwgc3RvcC1sb3NzIG9yZGVyOyBgMGAgPSBub25lLgAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAMpUcmFkZXItb3duZWQgY29sbGF0ZXJhbCByZWNvcmRlZCBpbiBjb250cmFjdCBzdGF0ZSAodGhlIGRvYydzCiJzdG9yZWQgY29sbGF0ZXJhbCIpLiBFZmZlY3RpdmUgY29sbGF0ZXJhbCDigJQgc3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIKcGVuZGluZyBmZWVzIGFuZCBmdW5kaW5nIGNyZWRpdHMg4oCUIGlzIGFsd2F5cyBkZXJpdmVkLCBuZXZlciBzdG9yZWQuAAAAAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAPVRyaWdnZXIgcHJpY2UgZm9yIHRoZSBvcHRpb25hbCB0YWtlLXByb2ZpdCBvcmRlcjsgYDBgID0gbm9uZS4AAAAAAAALdGFrZV9wcm9maXQAAAAACw==",
111
111
  "AAAAAQAAAAAAAAAAAAAACUxwUmVxdWVzdAAAAAAAAAcAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAANZXhlY3V0ZV9hZnRlcgAAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAARraW5kAAAH0AAAAA1McFJlcXVlc3RLaW5kAAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHJlcXVlc3RfdGltZQAAAAYAAAAAAAAABnN0YXR1cwAAAAAH0AAAAA9McFJlcXVlc3RTdGF0dXMA",
112
- "AAAAAgAAAHlXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB3aXRoIG1vcmUgYmFzZQpleHBvc3VyZSkuIGBOb25lYCB3aGVuIHRoZSBtYXJrZXQgaXMgYmFsYW5jZWQgb3IgZW1wdHkuAAAAAAAAAAAAAAlQYXllclNpZGUAAAAAAAADAAAAAAAAAAAAAAAETm9uZQAAAAAAAAAAAAAABExvbmcAAAAAAAAAAAAAAAVTaG9ydAAAAA==",
112
+ "AAAAAgAAANFXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB0aGUgYmxlbmRlZCBpbnRlZ3JhbApza2V3IHBvaW50cyBhdCDigJQgdW5kZXIgdGhlIEVNQSB0aGlzIGNhbiBiZSB0aGUgKmxpZ2h0ZXIqIHNpZGUgZm9yIGEKd2hpbGUgYWZ0ZXIgdGhlIGJvb2sgZmxpcHMpLiBgTm9uZWAgd2hlbiB0aGUgYmxlbmQgaXMgZXhhY3RseSB6ZXJvLgAAAAAAAAAAAAAJUGF5ZXJTaWRlAAAAAAAAAwAAAAAAAAAAAAAABE5vbmUAAAAAAAAAAAAAAARMb25nAAAAAAAAAAAAAAAFU2hvcnQAAAA=",
113
113
  "AAAAAgAAAAAAAAAAAAAACVJpc2tTdGF0ZQAAAAAAAAQAAAAAAAAAAAAAAAZOb3JtYWwAAAAAAAAAAAAAAAAAB1dhcm5pbmcAAAAAAAAAAAAAAAADQWRsAAAAAAAAAAAAAAAAB0hhcmRDYXAA",
114
114
  "AAAAAQAAAAAAAAAAAAAACk1hcmtldFNpZGUAAAAAAAUAAAAAAAAADWJhc2VfZXhwb3N1cmUAAAAAAAALAAAAAAAAAApyaXNrX3N0YXRlAAAAAAfQAAAACVJpc2tTdGF0ZQAAAAAAAAAAAAAKcmlza191bml0cwAAAAAACwAAAAAAAAASc2l6ZV9vcGVuX2ludGVyZXN0AAAAAAALAAAAAAAAABdzdG9yZWRfY29sbGF0ZXJhbF90b3RhbAAAAAAL",
115
115
  "AAAAAQAAAAAAAAAAAAAAClJvdW5kUHJpY2UAAAAAAAIAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAGc3ltYm9sAAAAAAAR",
116
116
  "AAAAAQAAAAAAAAAAAAAAC09yYWNsZVJvdW5kAAAAAAUAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAtwcmV2aW91c19pZAAAAAAGAAAAAAAAABJwcmV2aW91c190aW1lc3RhbXAAAAAAAAYAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAAKUm91bmRQcmljZQAAAAAAAAAAAAl0aW1lc3RhbXAAAAAAAAAG",
117
- "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAsAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAAAAAAAFW1pbl9wb3NpdGlvbl9saWZldGltZQAAAAAAAAYAAAAAAAAAF3Jpc2tfY2FwYWNpdHlfbGltaXRfYnBzAAAAAAQAAAAAAAAAHXJpc2tfa2VlcGVyX3JldmVudWVfc2hhcmVfYnBzAAAAAAAABA==",
118
- "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAAA8AAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAF2hhcmRfY2FwX3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAFm1haW50ZW5hbmNlX21hcmdpbl9icHMAAAAAAAQAAAAAAAAAFm1hcmtldF9yaXNrX2ZhY3Rvcl9icHMAAAAAAAQAAAAAAAAAGG1heF9mdW5kaW5nX3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAFm1heF9sb25nX2Jhc2VfZXhwb3N1cmUAAAAAAAsAAAAAAAAAG21heF9sb25nX3NpemVfb3Blbl9pbnRlcmVzdAAAAAALAAAAAAAAABdtYXhfc2hvcnRfYmFzZV9leHBvc3VyZQAAAAALAAAAAAAAABxtYXhfc2hvcnRfc2l6ZV9vcGVuX2ludGVyZXN0AAAACwAAAAAAAAARb3Blbl9mZWVfaGlnaF9icHMAAAAAAAAEAAAAAAAAABBvcGVuX2ZlZV9sb3dfYnBzAAAABAAAAAAAAAAXcmVjb3ZlcnlfcG5sX2ZhY3Rvcl9icHMAAAAABAAAAAAAAAAWd2FybmluZ19wbmxfZmFjdG9yX2JwcwAAAAAABA==",
117
+ "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAwAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAABfwqc4LjEgaGFsZi1saWZlIG9mIHRoZSBmdW5kaW5nIHNrZXcgRU1BLCBzZWNvbmRzIChnbG9iYWw6IG9uZSBtZW1vcnkKaG9yaXpvbiBmb3IgZXZlcnkgbWFya2V0KS4AAAAAGWZ1bmRpbmdfaGFsZl9saWZlX3NlY29uZHMAAAAAAAAGAAAAAAAAABloYXJkX2NhcF9mYWN0b3JfbGltaXRfYnBzAAAAAAAABAAAAAAAAAAUbHBfcmV2ZW51ZV9zaGFyZV9icHMAAAAEAAAAAAAAABJtYXhfYWN0aXZlX21hcmtldHMAAAAAAAQAAAAAAAAADm1heF9hZGxfcmV3YXJkAAAAAAALAAAAAAAAABptYXhfaW5zb2x2ZW50X3RvdWNoX3Jld2FyZAAAAAAACwAAAAAAAAAbbWF4X3ZhcmlhYmxlX2JvcnJvd19icHNfZGF5AAAAAAsAAAAAAAAADm1pbl9jb2xsYXRlcmFsAAAAAAALAAAAAAAAABVtaW5fcG9zaXRpb25fbGlmZXRpbWUAAAAAAAAGAAAAAAAAABdyaXNrX2NhcGFjaXR5X2xpbWl0X2JwcwAAAAAEAAAAAAAAAB1yaXNrX2tlZXBlcl9yZXZlbnVlX3NoYXJlX2JwcwAAAAAAAAQ=",
118
+ "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAABEAAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAA0wqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2Ugd29yc2VucyBza2V3LgAAABJjbG9zZV9mZWVfaGlnaF9icHMAAAAAAAQAAABCwqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2UgaW1wcm92ZXMgb3IgcHJlc2VydmVzIHNrZXcuAAAAAAARY2xvc2VfZmVlX2xvd19icHMAAAAAAAAEAAAAAAAAABdoYXJkX2NhcF9wbmxfZmFjdG9yX2JwcwAAAAAEAAAAgk1hcmdpbiByZXF1aXJlZCB0byBvcGVuIG9yIGFkZCByaXNrICjCpzEyLjMpLiBEaXZpZGVzIG1heCBsZXZlcmFnZToKYSBwb3NpdGlvbiBtYXkgbm90IGJlIGNyZWF0ZWQgY2xvc2VyIHRvIGxpcXVpZGF0aW9uIHRoYW4gdGhpcy4AAAAAABJpbml0aWFsX21hcmdpbl9icHMAAAAAAAQAAACHwqc4LjEgd2VpZ2h0IG9mIHRoZSBpbnN0YW50YW5lb3VzIHNrZXcgaW4gdGhlIGZ1bmRpbmcgYmxlbmQsIGluIGJwczsKdGhlIHJlc3QgaXMgdGhlIGhhbGYtbGlmZSBFTUEuIGBCUFNgIHJlcHJvZHVjZXMgcHVyZSBpbnN0YW50IHNrZXcuAAAAABJpbnN0YW50X3dlaWdodF9icHMAAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAB8TWFyZ2luIGJlbG93IHdoaWNoIHRoZSBwb3NpdGlvbiBpcyBsaXF1aWRhdGFibGUgKMKnMTIuMykuIE11c3Qgbm90CmV4Y2VlZCBgaW5pdGlhbF9tYXJnaW5fYnBzYDsgdGhlIGdhcCBpcyB0aGUgZW50cnkgYnVmZmVyLgAAABZtYWludGVuYW5jZV9tYXJnaW5fYnBzAAAAAAAEAAAAAAAAABZtYXJrZXRfcmlza19mYWN0b3JfYnBzAAAAAAAEAAAAAAAAABhtYXhfZnVuZGluZ19yYXRlX2Jwc19kYXkAAAALAAAAAAAAABZtYXhfbG9uZ19iYXNlX2V4cG9zdXJlAAAAAAALAAAAAAAAABttYXhfbG9uZ19zaXplX29wZW5faW50ZXJlc3QAAAAACwAAAAAAAAAXbWF4X3Nob3J0X2Jhc2VfZXhwb3N1cmUAAAAACwAAAAAAAAAcbWF4X3Nob3J0X3NpemVfb3Blbl9pbnRlcmVzdAAAAAsAAAAAAAAAF3JlY292ZXJ5X3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFndhcm5pbmdfcG5sX2ZhY3Rvcl9icHMAAAAAAAQ=",
119
119
  "AAAAAQAAAC5HbG9iYWwgc2FmZXR5IHRocmVzaG9sZHMgZm9yIHByaWNlIHZhbGlkYXRpb24uAAAAAAAAAAAADE9yYWNsZUNvbmZpZwAAAAQAAADzSG93IGxvbmcgYSBjYWNoZWQgYWdncmVnYXRlZCBwcmljZSByZW1haW5zIHZhbGlkIGFmdGVyIHRoZSByb3V0ZXIKZmV0Y2ggKGluIHNlY29uZHMpLiBBIGNhY2hlIGhpdCBhbHNvIHJlcXVpcmVzIGV2ZXJ5IHNvdXJjZSB0aW1lc3RhbXAKdXNlZCBmb3IgdGhlIGNhY2hlZCBtZWRpYW4gdG8gcmVtYWluIHdpdGhpbiBgc3RhbGVuZXNzX3RocmVzaG9sZGAuCk11c3QgYmUgPiAwIGFuZCA8PSBgc3RhbGVuZXNzX3RocmVzaG9sZGAuAAAAAA5jYWNoZV9kdXJhdGlvbgAAAAAABgAAAIlNYXhpbXVtIGFsbG93ZWQgc3ByZWFkIGJldHdlZW4gb3JhY2xlIHNvdXJjZXMgaW4gYmFzaXMgcG9pbnRzCihlLmcuLCAxMDAgPSAxJSkuIEJvdW5kZWQgYXQgYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9ERVZJQVRJT05fQlBTX0NFSUxJTkdgLgAAAAAAABFtYXhfZGV2aWF0aW9uX2JwcwAAAAAAAAsAAADhTWluaW11bSBudW1iZXIgb2Ygc291cmNlIHJlc3BvbnNlcyB0aGF0IG11c3QgYWdyZWUgd2l0aGluCmBtYXhfZGV2aWF0aW9uX2Jwc2AgZm9yIE9yYWNsZVJvdXRlciB0byByZXR1cm4gYSBwcmljZS4gRmxvb3JlZCBhdApgY3JhdGU6OmNvbnN0YW50czo6TUlOX1JFUVVJUkVEX1NPVVJDRVNfRkxPT1JgLCBjZWlsaW5nZWQgYXQKYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9PUkFDTEVfU09VUkNFU2AuAAAAAAAAFG1pbl9yZXF1aXJlZF9zb3VyY2VzAAAABAAAAFlNYXhpbXVtIGFnZSBvZiBhbiBleHRlcm5hbCBTRVAtNDAgcHJpY2UgZmVlZCBiZWZvcmUgaXQgaXMgcmVqZWN0ZWQKYXMgc3RhbGUgKGluIHNlY29uZHMpLgAAAAAAABNzdGFsZW5lc3NfdGhyZXNob2xkAAAAAAY=",
120
120
  "AAAAAgAAAAAAAAAAAAAADUxwUmVxdWVzdEtpbmQAAAAAAAACAAAAAAAAAAAAAAAHRGVwb3NpdAAAAAAAAAAAAAAAAApXaXRoZHJhd2FsAAA=",
121
121
  "AAAAAQAAAEtEYXRhIHJlcXVpcmVkIGR1cmluZyBhIFdBU00gbWlncmF0aW9uLiBTaW5nbGUgZGVmaW5pdGlvbiBmb3IgYWxsIGNvbnRyYWN0cy4AAAAAAAAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAQAAAAAAAAAHdmVyc2lvbgAAAAAE",
@@ -1147,7 +1147,7 @@ export interface AllowanceData {
1147
1147
  }
1148
1148
  /**
1149
1149
  * Authoritative per-market state: the side aggregates, the funding indices,
1150
- * the current funding flows, and the market configuration.
1150
+ * the funding EMA, and the market configuration.
1151
1151
  *
1152
1152
  * Soroban limits UDT field names to 30 characters, so where a doc glossary
1153
1153
  * term is longer the field drops the redundant qualifier and its doc
@@ -1157,7 +1157,7 @@ export interface AllowanceData {
1157
1157
  export interface Market {
1158
1158
  config: MarketConfig;
1159
1159
  /**
1160
- * `INDEX_PRECISION`-scaled bps/day payer rate for the current interval.
1160
+ * `INDEX_PRECISION`-scaled bps/day payer rate as of the last refresh.
1161
1161
  */
1162
1162
  current_payer_rate: i128;
1163
1163
  current_payer_side: PayerSide;
@@ -1169,12 +1169,11 @@ export interface Market {
1169
1169
  */
1170
1170
  lp_backed_index_long: i128;
1171
1171
  lp_backed_index_short: i128;
1172
+ lp_payer_remainder: i128;
1172
1173
  /**
1173
- * LP-allocated remainder of the payer flow, cash/second at
1174
- * `INDEX_PRECISION` (§8.1).
1174
+ * Sub-stroop carry of the receiver-liability accrual (§8.3).
1175
1175
  */
1176
- lp_flow_per_second: i128;
1177
- lp_payer_remainder: i128;
1176
+ pending_remainder: i128;
1178
1177
  /**
1179
1178
  * Cumulative payer fee per unit of dominant-side size whose collection
1180
1179
  * restores cash backing an already-accrued receiver claim (§8.2).
@@ -1182,12 +1181,6 @@ export interface Market {
1182
1181
  receiver_backed_index_long: i128;
1183
1182
  receiver_backed_index_short: i128;
1184
1183
  /**
1185
- * Receiver-allocated share of the payer flow, cash/second at
1186
- * `INDEX_PRECISION` (§8.1).
1187
- */
1188
- receiver_flow_per_second: i128;
1189
- receiver_flow_remainder: i128;
1190
- /**
1191
1184
  * Cumulative funding credit per unit of light-side size (§8.2).
1192
1185
  */
1193
1186
  receiver_index_long: i128;
@@ -1195,6 +1188,12 @@ export interface Market {
1195
1188
  receiver_index_short: i128;
1196
1189
  receiver_payer_remainder: i128;
1197
1190
  short: MarketSide;
1191
+ /**
1192
+ * §8.1 signed EMA of the instantaneous skew: a fraction of one at
1193
+ * `INDEX_PRECISION` scale, positive when history says longs dominate.
1194
+ * Decays toward the current skew with the global half-life.
1195
+ */
1196
+ skew_ema: i128;
1198
1197
  }
1199
1198
  export interface LpConfig {
1200
1199
  lp_request_delay: u64;
@@ -1255,8 +1254,9 @@ export interface LpRequest {
1255
1254
  status: LpRequestStatus;
1256
1255
  }
1257
1256
  /**
1258
- * Which side currently pays funding (§8.1: the side with more base
1259
- * exposure). `None` when the market is balanced or empty.
1257
+ * Which side currently pays funding (§8.1: the side the blended integral
1258
+ * skew points at — under the EMA this can be the *lighter* side for a
1259
+ * while after the book flips). `None` when the blend is exactly zero.
1260
1260
  */
1261
1261
  export type PayerSide = {
1262
1262
  tag: "None";
@@ -1301,6 +1301,11 @@ export interface OracleRound {
1301
1301
  }
1302
1302
  export interface GlobalConfig {
1303
1303
  base_borrow_rate_bps_day: i128;
1304
+ /**
1305
+ * §8.1 half-life of the funding skew EMA, seconds (global: one memory
1306
+ * horizon for every market).
1307
+ */
1308
+ funding_half_life_seconds: u64;
1304
1309
  hard_cap_factor_limit_bps: u32;
1305
1310
  lp_revenue_share_bps: u32;
1306
1311
  max_active_markets: u32;
@@ -1315,8 +1320,30 @@ export interface GlobalConfig {
1315
1320
  export interface MarketConfig {
1316
1321
  adl_pnl_factor_bps: u32;
1317
1322
  adl_reward_bps: u32;
1323
+ /**
1324
+ * §11.1 closing-fee tier when the close worsens skew.
1325
+ */
1326
+ close_fee_high_bps: u32;
1327
+ /**
1328
+ * §11.1 closing-fee tier when the close improves or preserves skew.
1329
+ */
1330
+ close_fee_low_bps: u32;
1318
1331
  hard_cap_pnl_factor_bps: u32;
1332
+ /**
1333
+ * Margin required to open or add risk (§12.3). Divides max leverage:
1334
+ * a position may not be created closer to liquidation than this.
1335
+ */
1336
+ initial_margin_bps: u32;
1337
+ /**
1338
+ * §8.1 weight of the instantaneous skew in the funding blend, in bps;
1339
+ * the rest is the half-life EMA. `BPS` reproduces pure instant skew.
1340
+ */
1341
+ instant_weight_bps: u32;
1319
1342
  liquidation_reward_bps: u32;
1343
+ /**
1344
+ * Margin below which the position is liquidatable (§12.3). Must not
1345
+ * exceed `initial_margin_bps`; the gap is the entry buffer.
1346
+ */
1320
1347
  maintenance_margin_bps: u32;
1321
1348
  market_risk_factor_bps: u32;
1322
1349
  max_funding_rate_bps_day: i128;
@@ -1324,8 +1351,6 @@ export interface MarketConfig {
1324
1351
  max_long_size_open_interest: i128;
1325
1352
  max_short_base_exposure: i128;
1326
1353
  max_short_size_open_interest: i128;
1327
- open_fee_high_bps: u32;
1328
- open_fee_low_bps: u32;
1329
1354
  recovery_pnl_factor_bps: u32;
1330
1355
  warning_pnl_factor_bps: u32;
1331
1356
  }
@@ -651,17 +651,17 @@ export class Client extends ContractClient {
651
651
  "AAAAAgAAADlTdG9yYWdlIGtleXMgZm9yIHRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCBgRnVuZ2libGVUb2tlbmAAAAAAAAAAAAAAClN0b3JhZ2VLZXkAAAAAAAMAAAAAAAAAAAAAAAtUb3RhbFN1cHBseQAAAAABAAAAAAAAAAdCYWxhbmNlAAAAAAEAAAATAAAAAQAAAAAAAAAJQWxsb3dhbmNlAAAAAAAAAQAAB9AAAAAMQWxsb3dhbmNlS2V5",
652
652
  "AAAAAQAAACpTdG9yYWdlIGtleSB0aGF0IG1hcHMgdG8gW2BBbGxvd2FuY2VEYXRhYF0AAAAAAAAAAAAMQWxsb3dhbmNlS2V5AAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAdzcGVuZGVyAAAAABM=",
653
653
  "AAAAAQAAAINTdG9yYWdlIGNvbnRhaW5lciBmb3IgdGhlIGFtb3VudCBvZiB0b2tlbnMgZm9yIHdoaWNoIGFuIGFsbG93YW5jZSBpcyBncmFudGVkCmFuZCB0aGUgbGVkZ2VyIG51bWJlciBhdCB3aGljaCB0aGlzIGFsbG93YW5jZSBleHBpcmVzLgAAAAAAAAAADUFsbG93YW5jZURhdGEAAAAAAAACAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAEWxpdmVfdW50aWxfbGVkZ2VyAAAAAAAABA==",
654
- "AAAAAQAAAY9BdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBjdXJyZW50IGZ1bmRpbmcgZmxvd3MsIGFuZCB0aGUgbWFya2V0IGNvbmZpZ3VyYXRpb24uCgpTb3JvYmFuIGxpbWl0cyBVRFQgZmllbGQgbmFtZXMgdG8gMzAgY2hhcmFjdGVycywgc28gd2hlcmUgYSBkb2MgZ2xvc3NhcnkKdGVybSBpcyBsb25nZXIgdGhlIGZpZWxkIGRyb3BzIHRoZSByZWR1bmRhbnQgcXVhbGlmaWVyIGFuZCBpdHMgZG9jCmNvbW1lbnQgY2FycmllcyB0aGUgZnVsbCB0ZXJtIChlLmcuIGByZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZ2AgaXMgdGhlCmRvYydzIGByZWNlaXZlcl9iYWNrZWRfcGF5ZXJfaW5kZXhgIGZvciB0aGUgbG9uZyBzaWRlKS4AAAAAAAAAAAZNYXJrZXQAAAAAABIAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxNYXJrZXRDb25maWcAAABFYElOREVYX1BSRUNJU0lPTmAtc2NhbGVkIGJwcy9kYXkgcGF5ZXIgcmF0ZSBmb3IgdGhlIGN1cnJlbnQgaW50ZXJ2YWwuAAAAAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAABTTFAtYWxsb2NhdGVkIHJlbWFpbmRlciBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAEmxwX2Zsb3dfcGVyX3NlY29uZAAAAAAACwAAAAAAAAASbHBfcGF5ZXJfcmVtYWluZGVyAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAVVJlY2VpdmVyLWFsbG9jYXRlZCBzaGFyZSBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAAAAYcmVjZWl2ZXJfZmxvd19wZXJfc2Vjb25kAAAACwAAAAAAAAAXcmVjZWl2ZXJfZmxvd19yZW1haW5kZXIAAAAACwAAAD5DdW11bGF0aXZlIGZ1bmRpbmcgY3JlZGl0IHBlciB1bml0IG9mIGxpZ2h0LXNpZGUgc2l6ZSAowqc4LjIpLgAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAYcmVjZWl2ZXJfaW5kZXhfcmVtYWluZGVyAAAACwAAAAAAAAAUcmVjZWl2ZXJfaW5kZXhfc2hvcnQAAAALAAAAAAAAABhyZWNlaXZlcl9wYXllcl9yZW1haW5kZXIAAAALAAAAAAAAAAVzaG9ydAAAAAAAB9AAAAAKTWFya2V0U2lkZQAA",
654
+ "AAAAAQAAAYVBdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBmdW5kaW5nIEVNQSwgYW5kIHRoZSBtYXJrZXQgY29uZmlndXJhdGlvbi4KClNvcm9iYW4gbGltaXRzIFVEVCBmaWVsZCBuYW1lcyB0byAzMCBjaGFyYWN0ZXJzLCBzbyB3aGVyZSBhIGRvYyBnbG9zc2FyeQp0ZXJtIGlzIGxvbmdlciB0aGUgZmllbGQgZHJvcHMgdGhlIHJlZHVuZGFudCBxdWFsaWZpZXIgYW5kIGl0cyBkb2MKY29tbWVudCBjYXJyaWVzIHRoZSBmdWxsIHRlcm0gKGUuZy4gYHJlY2VpdmVyX2JhY2tlZF9pbmRleF9sb25nYCBpcyB0aGUKZG9jJ3MgYHJlY2VpdmVyX2JhY2tlZF9wYXllcl9pbmRleGAgZm9yIHRoZSBsb25nIHNpZGUpLgAAAAAAAAAAAAAGTWFya2V0AAAAAAARAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAQ2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHBheWVyIHJhdGUgYXMgb2YgdGhlIGxhc3QgcmVmcmVzaC4AAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAAAAAAAAEmxwX3BheWVyX3JlbWFpbmRlcgAAAAAACwAAADtTdWItc3Ryb29wIGNhcnJ5IG9mIHRoZSByZWNlaXZlci1saWFiaWxpdHkgYWNjcnVhbCAowqc4LjMpLgAAAAARcGVuZGluZ19yZW1haW5kZXIAAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAPkN1bXVsYXRpdmUgZnVuZGluZyBjcmVkaXQgcGVyIHVuaXQgb2YgbGlnaHQtc2lkZSBzaXplICjCpzguMikuAAAAAAATcmVjZWl2ZXJfaW5kZXhfbG9uZwAAAAALAAAAAAAAABhyZWNlaXZlcl9pbmRleF9yZW1haW5kZXIAAAALAAAAAAAAABRyZWNlaXZlcl9pbmRleF9zaG9ydAAAAAsAAAAAAAAAGHJlY2VpdmVyX3BheWVyX3JlbWFpbmRlcgAAAAsAAAAAAAAABXNob3J0AAAAAAAH0AAAAApNYXJrZXRTaWRlAAAAAAC+wqc4LjEgc2lnbmVkIEVNQSBvZiB0aGUgaW5zdGFudGFuZW91cyBza2V3OiBhIGZyYWN0aW9uIG9mIG9uZSBhdApgSU5ERVhfUFJFQ0lTSU9OYCBzY2FsZSwgcG9zaXRpdmUgd2hlbiBoaXN0b3J5IHNheXMgbG9uZ3MgZG9taW5hdGUuCkRlY2F5cyB0b3dhcmQgdGhlIGN1cnJlbnQgc2tldyB3aXRoIHRoZSBnbG9iYWwgaGFsZi1saWZlLgAAAAAACHNrZXdfZW1hAAAACw==",
655
655
  "AAAAAQAAAAAAAAAAAAAACExwQ29uZmlnAAAAAwAAAAAAAAAQbHBfcmVxdWVzdF9kZWxheQAAAAYAAAAAAAAAHG1heF93aXRoZHJhd191dGlsaXphdGlvbl9icHMAAAAEAAAAAAAAABptaW5fZGVwb3NpdF9uYXZfZmFjdG9yX2JwcwAAAAAABA==",
656
656
  "AAAAAQAAADVSZXByZXNlbnRzIGEgc2luZ2xlIHRyYWRlcidzIG9wZW4gbGV2ZXJhZ2VkIHBvc2l0aW9uLgAAAAAAAAAAAAAIUG9zaXRpb24AAAAQAAAAIUFzc2V0IHVuaXRzIGF0IGBQUklDRV9QUkVDSVNJT05gLgAAAAAAAA1iYXNlX2V4cG9zdXJlAAAAAAAACwAAAAAAAAALYm9ycm93X2RlYnQAAAAACwAAAClDYXNoIG93bmVkIGJ5IGFuIG9wdGlvbmFsLW9yZGVyIGV4ZWN1dG9yLgAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAYZnVuZGluZ19wYWlkX3RvX2xwc19kZWJ0AAAACwAAAAAAAAAeZnVuZGluZ19wYWlkX3RvX3JlY2VpdmVyc19kZWJ0AAAAAAALAAAAAAAAABVmdW5kaW5nX3JlY2VpdmVkX2RlYnQAAAAAAAALAAAAAAAAAAJpZAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAABNsYXN0X2luY3JlYXNlZF90aW1lAAAAAAYAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAALkZpeGVkIGdyb3NzIGNhcGFjaXR5IGFzc2lnbmVkIHdoZW4gcmlzayBvcGVucy4AAAAAAApyaXNrX3VuaXRzAAAAAAALAAAAIlVTRCBub3Rpb25hbCBhdCBgUFJJQ0VfUFJFQ0lTSU9OYC4AAAAAAARzaXplAAAACwAAADtUcmlnZ2VyIHByaWNlIGZvciB0aGUgb3B0aW9uYWwgc3RvcC1sb3NzIG9yZGVyOyBgMGAgPSBub25lLgAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAMpUcmFkZXItb3duZWQgY29sbGF0ZXJhbCByZWNvcmRlZCBpbiBjb250cmFjdCBzdGF0ZSAodGhlIGRvYydzCiJzdG9yZWQgY29sbGF0ZXJhbCIpLiBFZmZlY3RpdmUgY29sbGF0ZXJhbCDigJQgc3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIKcGVuZGluZyBmZWVzIGFuZCBmdW5kaW5nIGNyZWRpdHMg4oCUIGlzIGFsd2F5cyBkZXJpdmVkLCBuZXZlciBzdG9yZWQuAAAAAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAPVRyaWdnZXIgcHJpY2UgZm9yIHRoZSBvcHRpb25hbCB0YWtlLXByb2ZpdCBvcmRlcjsgYDBgID0gbm9uZS4AAAAAAAALdGFrZV9wcm9maXQAAAAACw==",
657
657
  "AAAAAQAAAAAAAAAAAAAACUxwUmVxdWVzdAAAAAAAAAcAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAANZXhlY3V0ZV9hZnRlcgAAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAARraW5kAAAH0AAAAA1McFJlcXVlc3RLaW5kAAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHJlcXVlc3RfdGltZQAAAAYAAAAAAAAABnN0YXR1cwAAAAAH0AAAAA9McFJlcXVlc3RTdGF0dXMA",
658
- "AAAAAgAAAHlXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB3aXRoIG1vcmUgYmFzZQpleHBvc3VyZSkuIGBOb25lYCB3aGVuIHRoZSBtYXJrZXQgaXMgYmFsYW5jZWQgb3IgZW1wdHkuAAAAAAAAAAAAAAlQYXllclNpZGUAAAAAAAADAAAAAAAAAAAAAAAETm9uZQAAAAAAAAAAAAAABExvbmcAAAAAAAAAAAAAAAVTaG9ydAAAAA==",
658
+ "AAAAAgAAANFXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB0aGUgYmxlbmRlZCBpbnRlZ3JhbApza2V3IHBvaW50cyBhdCDigJQgdW5kZXIgdGhlIEVNQSB0aGlzIGNhbiBiZSB0aGUgKmxpZ2h0ZXIqIHNpZGUgZm9yIGEKd2hpbGUgYWZ0ZXIgdGhlIGJvb2sgZmxpcHMpLiBgTm9uZWAgd2hlbiB0aGUgYmxlbmQgaXMgZXhhY3RseSB6ZXJvLgAAAAAAAAAAAAAJUGF5ZXJTaWRlAAAAAAAAAwAAAAAAAAAAAAAABE5vbmUAAAAAAAAAAAAAAARMb25nAAAAAAAAAAAAAAAFU2hvcnQAAAA=",
659
659
  "AAAAAgAAAAAAAAAAAAAACVJpc2tTdGF0ZQAAAAAAAAQAAAAAAAAAAAAAAAZOb3JtYWwAAAAAAAAAAAAAAAAAB1dhcm5pbmcAAAAAAAAAAAAAAAADQWRsAAAAAAAAAAAAAAAAB0hhcmRDYXAA",
660
660
  "AAAAAQAAAAAAAAAAAAAACk1hcmtldFNpZGUAAAAAAAUAAAAAAAAADWJhc2VfZXhwb3N1cmUAAAAAAAALAAAAAAAAAApyaXNrX3N0YXRlAAAAAAfQAAAACVJpc2tTdGF0ZQAAAAAAAAAAAAAKcmlza191bml0cwAAAAAACwAAAAAAAAASc2l6ZV9vcGVuX2ludGVyZXN0AAAAAAALAAAAAAAAABdzdG9yZWRfY29sbGF0ZXJhbF90b3RhbAAAAAAL",
661
661
  "AAAAAQAAAAAAAAAAAAAAClJvdW5kUHJpY2UAAAAAAAIAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAGc3ltYm9sAAAAAAAR",
662
662
  "AAAAAQAAAAAAAAAAAAAAC09yYWNsZVJvdW5kAAAAAAUAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAtwcmV2aW91c19pZAAAAAAGAAAAAAAAABJwcmV2aW91c190aW1lc3RhbXAAAAAAAAYAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAAKUm91bmRQcmljZQAAAAAAAAAAAAl0aW1lc3RhbXAAAAAAAAAG",
663
- "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAsAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAAAAAAAFW1pbl9wb3NpdGlvbl9saWZldGltZQAAAAAAAAYAAAAAAAAAF3Jpc2tfY2FwYWNpdHlfbGltaXRfYnBzAAAAAAQAAAAAAAAAHXJpc2tfa2VlcGVyX3JldmVudWVfc2hhcmVfYnBzAAAAAAAABA==",
664
- "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAAA8AAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAF2hhcmRfY2FwX3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAFm1haW50ZW5hbmNlX21hcmdpbl9icHMAAAAAAAQAAAAAAAAAFm1hcmtldF9yaXNrX2ZhY3Rvcl9icHMAAAAAAAQAAAAAAAAAGG1heF9mdW5kaW5nX3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAFm1heF9sb25nX2Jhc2VfZXhwb3N1cmUAAAAAAAsAAAAAAAAAG21heF9sb25nX3NpemVfb3Blbl9pbnRlcmVzdAAAAAALAAAAAAAAABdtYXhfc2hvcnRfYmFzZV9leHBvc3VyZQAAAAALAAAAAAAAABxtYXhfc2hvcnRfc2l6ZV9vcGVuX2ludGVyZXN0AAAACwAAAAAAAAARb3Blbl9mZWVfaGlnaF9icHMAAAAAAAAEAAAAAAAAABBvcGVuX2ZlZV9sb3dfYnBzAAAABAAAAAAAAAAXcmVjb3ZlcnlfcG5sX2ZhY3Rvcl9icHMAAAAABAAAAAAAAAAWd2FybmluZ19wbmxfZmFjdG9yX2JwcwAAAAAABA==",
663
+ "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAwAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAABfwqc4LjEgaGFsZi1saWZlIG9mIHRoZSBmdW5kaW5nIHNrZXcgRU1BLCBzZWNvbmRzIChnbG9iYWw6IG9uZSBtZW1vcnkKaG9yaXpvbiBmb3IgZXZlcnkgbWFya2V0KS4AAAAAGWZ1bmRpbmdfaGFsZl9saWZlX3NlY29uZHMAAAAAAAAGAAAAAAAAABloYXJkX2NhcF9mYWN0b3JfbGltaXRfYnBzAAAAAAAABAAAAAAAAAAUbHBfcmV2ZW51ZV9zaGFyZV9icHMAAAAEAAAAAAAAABJtYXhfYWN0aXZlX21hcmtldHMAAAAAAAQAAAAAAAAADm1heF9hZGxfcmV3YXJkAAAAAAALAAAAAAAAABptYXhfaW5zb2x2ZW50X3RvdWNoX3Jld2FyZAAAAAAACwAAAAAAAAAbbWF4X3ZhcmlhYmxlX2JvcnJvd19icHNfZGF5AAAAAAsAAAAAAAAADm1pbl9jb2xsYXRlcmFsAAAAAAALAAAAAAAAABVtaW5fcG9zaXRpb25fbGlmZXRpbWUAAAAAAAAGAAAAAAAAABdyaXNrX2NhcGFjaXR5X2xpbWl0X2JwcwAAAAAEAAAAAAAAAB1yaXNrX2tlZXBlcl9yZXZlbnVlX3NoYXJlX2JwcwAAAAAAAAQ=",
664
+ "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAABEAAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAA0wqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2Ugd29yc2VucyBza2V3LgAAABJjbG9zZV9mZWVfaGlnaF9icHMAAAAAAAQAAABCwqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2UgaW1wcm92ZXMgb3IgcHJlc2VydmVzIHNrZXcuAAAAAAARY2xvc2VfZmVlX2xvd19icHMAAAAAAAAEAAAAAAAAABdoYXJkX2NhcF9wbmxfZmFjdG9yX2JwcwAAAAAEAAAAgk1hcmdpbiByZXF1aXJlZCB0byBvcGVuIG9yIGFkZCByaXNrICjCpzEyLjMpLiBEaXZpZGVzIG1heCBsZXZlcmFnZToKYSBwb3NpdGlvbiBtYXkgbm90IGJlIGNyZWF0ZWQgY2xvc2VyIHRvIGxpcXVpZGF0aW9uIHRoYW4gdGhpcy4AAAAAABJpbml0aWFsX21hcmdpbl9icHMAAAAAAAQAAACHwqc4LjEgd2VpZ2h0IG9mIHRoZSBpbnN0YW50YW5lb3VzIHNrZXcgaW4gdGhlIGZ1bmRpbmcgYmxlbmQsIGluIGJwczsKdGhlIHJlc3QgaXMgdGhlIGhhbGYtbGlmZSBFTUEuIGBCUFNgIHJlcHJvZHVjZXMgcHVyZSBpbnN0YW50IHNrZXcuAAAAABJpbnN0YW50X3dlaWdodF9icHMAAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAB8TWFyZ2luIGJlbG93IHdoaWNoIHRoZSBwb3NpdGlvbiBpcyBsaXF1aWRhdGFibGUgKMKnMTIuMykuIE11c3Qgbm90CmV4Y2VlZCBgaW5pdGlhbF9tYXJnaW5fYnBzYDsgdGhlIGdhcCBpcyB0aGUgZW50cnkgYnVmZmVyLgAAABZtYWludGVuYW5jZV9tYXJnaW5fYnBzAAAAAAAEAAAAAAAAABZtYXJrZXRfcmlza19mYWN0b3JfYnBzAAAAAAAEAAAAAAAAABhtYXhfZnVuZGluZ19yYXRlX2Jwc19kYXkAAAALAAAAAAAAABZtYXhfbG9uZ19iYXNlX2V4cG9zdXJlAAAAAAALAAAAAAAAABttYXhfbG9uZ19zaXplX29wZW5faW50ZXJlc3QAAAAACwAAAAAAAAAXbWF4X3Nob3J0X2Jhc2VfZXhwb3N1cmUAAAAACwAAAAAAAAAcbWF4X3Nob3J0X3NpemVfb3Blbl9pbnRlcmVzdAAAAAsAAAAAAAAAF3JlY292ZXJ5X3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFndhcm5pbmdfcG5sX2ZhY3Rvcl9icHMAAAAAAAQ=",
665
665
  "AAAAAQAAAC5HbG9iYWwgc2FmZXR5IHRocmVzaG9sZHMgZm9yIHByaWNlIHZhbGlkYXRpb24uAAAAAAAAAAAADE9yYWNsZUNvbmZpZwAAAAQAAADzSG93IGxvbmcgYSBjYWNoZWQgYWdncmVnYXRlZCBwcmljZSByZW1haW5zIHZhbGlkIGFmdGVyIHRoZSByb3V0ZXIKZmV0Y2ggKGluIHNlY29uZHMpLiBBIGNhY2hlIGhpdCBhbHNvIHJlcXVpcmVzIGV2ZXJ5IHNvdXJjZSB0aW1lc3RhbXAKdXNlZCBmb3IgdGhlIGNhY2hlZCBtZWRpYW4gdG8gcmVtYWluIHdpdGhpbiBgc3RhbGVuZXNzX3RocmVzaG9sZGAuCk11c3QgYmUgPiAwIGFuZCA8PSBgc3RhbGVuZXNzX3RocmVzaG9sZGAuAAAAAA5jYWNoZV9kdXJhdGlvbgAAAAAABgAAAIlNYXhpbXVtIGFsbG93ZWQgc3ByZWFkIGJldHdlZW4gb3JhY2xlIHNvdXJjZXMgaW4gYmFzaXMgcG9pbnRzCihlLmcuLCAxMDAgPSAxJSkuIEJvdW5kZWQgYXQgYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9ERVZJQVRJT05fQlBTX0NFSUxJTkdgLgAAAAAAABFtYXhfZGV2aWF0aW9uX2JwcwAAAAAAAAsAAADhTWluaW11bSBudW1iZXIgb2Ygc291cmNlIHJlc3BvbnNlcyB0aGF0IG11c3QgYWdyZWUgd2l0aGluCmBtYXhfZGV2aWF0aW9uX2Jwc2AgZm9yIE9yYWNsZVJvdXRlciB0byByZXR1cm4gYSBwcmljZS4gRmxvb3JlZCBhdApgY3JhdGU6OmNvbnN0YW50czo6TUlOX1JFUVVJUkVEX1NPVVJDRVNfRkxPT1JgLCBjZWlsaW5nZWQgYXQKYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9PUkFDTEVfU09VUkNFU2AuAAAAAAAAFG1pbl9yZXF1aXJlZF9zb3VyY2VzAAAABAAAAFlNYXhpbXVtIGFnZSBvZiBhbiBleHRlcm5hbCBTRVAtNDAgcHJpY2UgZmVlZCBiZWZvcmUgaXQgaXMgcmVqZWN0ZWQKYXMgc3RhbGUgKGluIHNlY29uZHMpLgAAAAAAABNzdGFsZW5lc3NfdGhyZXNob2xkAAAAAAY=",
666
666
  "AAAAAgAAAAAAAAAAAAAADUxwUmVxdWVzdEtpbmQAAAAAAAACAAAAAAAAAAAAAAAHRGVwb3NpdAAAAAAAAAAAAAAAAApXaXRoZHJhd2FsAAA=",
667
667
  "AAAAAQAAAEtEYXRhIHJlcXVpcmVkIGR1cmluZyBhIFdBU00gbWlncmF0aW9uLiBTaW5nbGUgZGVmaW5pdGlvbiBmb3IgYWxsIGNvbnRyYWN0cy4AAAAAAAAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAQAAAAAAAAAHdmVyc2lvbgAAAAAE",