@intent-engine/cli 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/src/agent/actions.d.ts +2 -1
  2. package/dist/src/agent/actions.js.map +1 -1
  3. package/dist/src/agent/create.d.ts +5 -1
  4. package/dist/src/agent/create.js +26 -3
  5. package/dist/src/agent/create.js.map +1 -1
  6. package/dist/src/agent/everyday.js +8 -0
  7. package/dist/src/agent/everyday.js.map +1 -1
  8. package/dist/src/agent/hash.d.ts +1 -0
  9. package/dist/src/agent/hash.js +14 -0
  10. package/dist/src/agent/hash.js.map +1 -0
  11. package/dist/src/agent/jobs.d.ts +2 -0
  12. package/dist/src/agent/jobs.js +109 -0
  13. package/dist/src/agent/jobs.js.map +1 -0
  14. package/dist/src/agent/mcp.d.ts +2 -0
  15. package/dist/src/agent/mcp.js +30 -7
  16. package/dist/src/agent/mcp.js.map +1 -1
  17. package/dist/src/agent/problems.d.ts +4 -0
  18. package/dist/src/agent/problems.js +9 -5
  19. package/dist/src/agent/problems.js.map +1 -1
  20. package/dist/src/agent/profile.js +6 -3
  21. package/dist/src/agent/profile.js.map +1 -1
  22. package/dist/src/agent/read.d.ts +1 -1
  23. package/dist/src/agent/read.js +3 -37
  24. package/dist/src/agent/read.js.map +1 -1
  25. package/dist/src/agent/registry.js +4 -1
  26. package/dist/src/agent/registry.js.map +1 -1
  27. package/dist/src/agent/reputation.d.ts +13 -0
  28. package/dist/src/agent/reputation.js +46 -6
  29. package/dist/src/agent/reputation.js.map +1 -1
  30. package/dist/src/agent/spec.d.ts +1 -0
  31. package/dist/src/agent/spec.js +6 -1
  32. package/dist/src/agent/spec.js.map +1 -1
  33. package/dist/src/agent/wallet/account.js +9 -3
  34. package/dist/src/agent/wallet/account.js.map +1 -1
  35. package/dist/src/agent/wallet/attest.js +7 -4
  36. package/dist/src/agent/wallet/attest.js.map +1 -1
  37. package/dist/src/agent/wallet/committee.js +5 -2
  38. package/dist/src/agent/wallet/committee.js.map +1 -1
  39. package/dist/src/agent/wallet/delivery.d.ts +2 -0
  40. package/dist/src/agent/wallet/delivery.js +94 -39
  41. package/dist/src/agent/wallet/delivery.js.map +1 -1
  42. package/dist/src/agent/wallet/escrow.d.ts +2 -0
  43. package/dist/src/agent/wallet/escrow.js +60 -21
  44. package/dist/src/agent/wallet/escrow.js.map +1 -1
  45. package/dist/src/agent/wallet/guard.d.ts +8 -2
  46. package/dist/src/agent/wallet/guard.js +7 -5
  47. package/dist/src/agent/wallet/guard.js.map +1 -1
  48. package/dist/src/agent/wallet/offer.d.ts +2 -1
  49. package/dist/src/agent/wallet/offer.js +4 -4
  50. package/dist/src/agent/wallet/offer.js.map +1 -1
  51. package/dist/src/agent/wallet/receipt.d.ts +6 -1
  52. package/dist/src/agent/wallet/receipt.js +53 -13
  53. package/dist/src/agent/wallet/receipt.js.map +1 -1
  54. package/dist/src/agent/wallet/record.d.ts +1 -1
  55. package/dist/src/agent/wallet/record.js +1 -1
  56. package/dist/src/agent/wallet/record.js.map +1 -1
  57. package/dist/src/agent/wallet/split.js +5 -2
  58. package/dist/src/agent/wallet/split.js.map +1 -1
  59. package/dist/src/agent/wallet/trade.d.ts +6 -0
  60. package/dist/src/agent/wallet/trade.js +49 -17
  61. package/dist/src/agent/wallet/trade.js.map +1 -1
  62. package/dist/src/agent/wallet/unwrap.d.ts +2 -0
  63. package/dist/src/agent/wallet/unwrap.js +46 -0
  64. package/dist/src/agent/wallet/unwrap.js.map +1 -0
  65. package/dist/src/agent/wallet/wait.d.ts +2 -0
  66. package/dist/src/agent/wallet/wait.js +12 -9
  67. package/dist/src/agent/wallet/wait.js.map +1 -1
  68. package/dist/src/agent/wallet.d.ts +4 -3
  69. package/dist/src/agent/wallet.js +5 -2
  70. package/dist/src/agent/wallet.js.map +1 -1
  71. package/dist/src/agent/work-claims.js +6 -3
  72. package/dist/src/agent/work-claims.js.map +1 -1
  73. package/dist/src/arg-admin.d.ts +4 -0
  74. package/dist/src/arg-admin.js +79 -0
  75. package/dist/src/arg-admin.js.map +1 -0
  76. package/dist/src/arg-options.d.ts +34 -2
  77. package/dist/src/arg-options.js +9 -4
  78. package/dist/src/arg-options.js.map +1 -1
  79. package/dist/src/arg-solve.d.ts +7 -0
  80. package/dist/src/arg-solve.js +51 -0
  81. package/dist/src/arg-solve.js.map +1 -0
  82. package/dist/src/arg-usage.js +3 -3
  83. package/dist/src/arg-usage.js.map +1 -1
  84. package/dist/src/args.d.ts +1 -4
  85. package/dist/src/args.js +13 -120
  86. package/dist/src/args.js.map +1 -1
  87. package/dist/src/check-process.d.ts +3 -24
  88. package/dist/src/check-process.js +5 -272
  89. package/dist/src/check-process.js.map +1 -1
  90. package/dist/src/command-types.d.ts +6 -0
  91. package/dist/src/commands.js +1 -1
  92. package/dist/src/commands.js.map +1 -1
  93. package/dist/src/container-check.d.ts +9 -0
  94. package/dist/src/container-check.js +82 -0
  95. package/dist/src/container-check.js.map +1 -0
  96. package/dist/src/delivery-fetch.d.ts +6 -0
  97. package/dist/src/delivery-fetch.js +29 -4
  98. package/dist/src/delivery-fetch.js.map +1 -1
  99. package/dist/src/draw.d.ts +27 -0
  100. package/dist/src/draw.js +163 -0
  101. package/dist/src/draw.js.map +1 -0
  102. package/dist/src/job-args.d.ts +2 -1
  103. package/dist/src/job-args.js +18 -0
  104. package/dist/src/job-args.js.map +1 -1
  105. package/dist/src/job-commands.js +20 -13
  106. package/dist/src/job-commands.js.map +1 -1
  107. package/dist/src/job-filters.d.ts +13 -0
  108. package/dist/src/job-filters.js +32 -0
  109. package/dist/src/job-filters.js.map +1 -0
  110. package/dist/src/judge-watch.d.ts +1 -0
  111. package/dist/src/judge-watch.js +26 -8
  112. package/dist/src/judge-watch.js.map +1 -1
  113. package/dist/src/judge.d.ts +2 -0
  114. package/dist/src/judge.js +11 -3
  115. package/dist/src/judge.js.map +1 -1
  116. package/dist/src/mcp-smoke.d.ts +55 -0
  117. package/dist/src/mcp-smoke.js +174 -0
  118. package/dist/src/mcp-smoke.js.map +1 -0
  119. package/dist/src/process-reap.d.ts +15 -0
  120. package/dist/src/process-reap.js +121 -0
  121. package/dist/src/process-reap.js.map +1 -0
  122. package/dist/src/process-table.d.ts +16 -0
  123. package/dist/src/process-table.js +78 -0
  124. package/dist/src/process-table.js.map +1 -0
  125. package/dist/src/reputation-commands.js +9 -3
  126. package/dist/src/reputation-commands.js.map +1 -1
  127. package/dist/src/trust-args.js +12 -1
  128. package/dist/src/trust-args.js.map +1 -1
  129. package/dist/src/version.d.ts +1 -1
  130. package/dist/src/version.js +1 -1
  131. package/dist/src/viper.d.ts +10 -0
  132. package/dist/src/viper.js +37 -5
  133. package/dist/src/viper.js.map +1 -1
  134. package/dist/src/wallet.d.ts +1 -0
  135. package/dist/src/wallet.js +2 -1
  136. package/dist/src/wallet.js.map +1 -1
  137. package/package.json +4 -4
@@ -11,17 +11,34 @@ import { offerFields, offerOutput, offered } from "./offer.js";
11
11
  import { recentFills, bestOf, medianOf, openingAsk } from "./fills.js";
12
12
  export const SWAP_FALLS_OVER = 120;
13
13
  export const PAY_TO = "the wallet that receives what is bought, such as someone this wallet pays; default this wallet. This wallet pays for its token account if it has none";
14
+ export const ORDER_DONE = `placed; ${tool("wallet_wait")} its nonce, then ${tool("wallet_balance")}`;
15
+ export const DEFAULT_SLIPPAGE_BPS = 100n;
16
+ export const MAX_SLIPPAGE_BPS = 5_000;
17
+ export const NO_MARKET = "no recent fills of this pair to set a floor from; pass min_receive, or call wallet_estimate first to see the price";
18
+ export function marketFloor(fills, amount, slippageBps) {
19
+ const typical = medianOf(fills);
20
+ if (typical === undefined || typical.amountIn === 0n) {
21
+ throw new InvalidInput([{ path: "min_receive", message: NO_MARKET }]);
22
+ }
23
+ const slippage = BigInt(slippageBps ?? DEFAULT_SLIPPAGE_BPS);
24
+ const floor = (amount * typical.delivered * (10000n - slippage)) / (typical.amountIn * 10000n);
25
+ if (floor <= 0n) {
26
+ throw new InvalidInput([{ path: "min_receive", message: NO_MARKET }]);
27
+ }
28
+ return floor;
29
+ }
14
30
  export const walletSwap = define({
15
31
  name: tool("wallet_swap"),
16
32
  title: "Swap from the wallet",
17
- description: `Sells one token for at least min_receive of another. Solvers, the bots that fill orders, pay the least an order asks, so the ask starts above recent fills and falls to min_receive: set it to the least the user accepts. ${PREVIEW_FIRST} Pass back the preview's start_receive.`,
33
+ description: `Sells one token for another at the market: the simple sell, the ask falling to min_receive. Leave min_receive out to accept the recent median less max_slippage_bps. To buy, sell the other. For a price curve you set yourself, use ${tool("wallet_auction")}. ${PREVIEW_FIRST} Pass back the preview's start_receive.`,
18
34
  effect: "submit",
19
35
  repeats: true,
20
36
  input: object({
21
37
  sell: text("SOL, TEST or a mint address"),
22
38
  buy: text("SOL, TEST or a mint address"),
23
39
  amount: text("whole tokens to sell, such as 0.05"),
24
- min_receive: text("least whole tokens to receive for all of it"),
40
+ min_receive: optional(text("least whole tokens to receive for all of it; default the recent median less max_slippage_bps")),
41
+ max_slippage_bps: optional(integer(1, MAX_SLIPPAGE_BPS, "how far below the recent median the default min_receive sits, in basis points; default 100 = 1%")),
25
42
  start_receive: optional(text("whole tokens asked when the offer lands; default a little above the median recent fill, between 1.25 and 2 times min_receive")),
26
43
  falls_over: optional(integer(MIN_EXPIRES_IN, MAX_EXPIRES_IN, `seconds the ask takes to fall to min_receive; default ${SWAP_FALLS_OVER}`)),
27
44
  exact: optional(flag("true asks min_receive from the start, with no falling ask")),
@@ -29,17 +46,24 @@ export const walletSwap = define({
29
46
  expires_in: optional(integer(MIN_EXPIRES_IN, MAX_EXPIRES_IN, `least seconds the offer stays open once sent; default ${DEFAULT_EXPIRES_IN}`)),
30
47
  send: optional(flag("true signs and sends; leave out to preview")),
31
48
  }),
32
- output: object({ ...offerFields, start_receive: optional(text("whole tokens asked when the offer lands; pass it back when sending")) }),
49
+ output: object({
50
+ ...offerFields,
51
+ min_receive: optional(text("the floor the order will not sell below, whole tokens; echoes what you passed or the market default used")),
52
+ start_receive: optional(text("whole tokens asked when the offer lands; pass it back when sending")),
53
+ }),
33
54
  run: async (ctx, input, call) => {
34
55
  let opening;
56
+ let floorShown;
35
57
  const result = await offered(ctx, call, input, async (sold, bought, now, inputMint, outputMint) => {
36
58
  const amountIn = raw(input.amount, sold.decimals, "amount");
37
- const floor = raw(input.min_receive, bought.decimals, "min_receive");
59
+ const fills = await recentFills(ctx.transport, inputMint, outputMint);
60
+ const floor = input.min_receive === undefined ? marketFloor(fills, amountIn, input.max_slippage_bps) : raw(input.min_receive, bought.decimals, "min_receive");
61
+ floorShown = formatAmount(floor, bought.decimals);
38
62
  const expiresIn = BigInt(input.expires_in ?? DEFAULT_EXPIRES_IN);
39
63
  const ask = input.exact === true
40
64
  ? floor
41
65
  : input.start_receive === undefined
42
- ? openingAsk(await recentFills(ctx.transport, inputMint, outputMint), amountIn, floor)
66
+ ? openingAsk(fills, amountIn, floor)
43
67
  : raw(input.start_receive, bought.decimals, "start_receive");
44
68
  if (ask <= floor) {
45
69
  return { order: { kind: "swap", amount_in: amountIn, min_out: floor }, expires_at: now + expiresIn + BigInt(LANDING_SECONDS) };
@@ -51,8 +75,8 @@ export const walletSwap = define({
51
75
  order: { kind: "dutch", amount_in: amountIn, start_out: ask, end_out: floor, start_time: start, end_time: start + falls },
52
76
  expires_at: start + (expiresIn > falls ? expiresIn : falls),
53
77
  };
54
- });
55
- return opening === undefined ? result : { ...result, start_receive: opening };
78
+ }, ORDER_DONE);
79
+ return { ...result, ...(opening === undefined ? {} : { start_receive: opening }), ...(floorShown === undefined ? {} : { min_receive: floorShown }) };
56
80
  },
57
81
  });
58
82
  export const MAX_RECURRING = 12;
@@ -64,14 +88,15 @@ export const MAX_EVERY = 30 * 24 * 60 * 60;
64
88
  export const walletRecurring = define({
65
89
  name: tool("wallet_recurring"),
66
90
  title: "Repeat a swap on a schedule",
67
- description: `Repeats a sale on a schedule with no bot running: every order is sent and its tokens locked now. Each asks start_receive until its turn, then falls to min_receive; set start_receive above current fills, or orders fill early. Cancel any with ${tool("wallet_cancel")}. ${PREVIEW_FIRST} Pass back the preview's start_receive.`,
91
+ description: `Repeats a sale on a schedule: every order is sent now, each falling to min_receive. Leave min_receive out to accept the recent median less max_slippage_bps. To buy on a schedule, sell the other. Cancel any with ${tool("wallet_cancel")}. ${PREVIEW_FIRST} Pass back the preview's start_receive.`,
68
92
  effect: "submit",
69
93
  repeats: true,
70
94
  input: object({
71
95
  sell: text("SOL, TEST or a mint address"),
72
96
  buy: text("SOL, TEST or a mint address"),
73
97
  amount: text("whole tokens each order sells, such as 0.05"),
74
- min_receive: text("least whole tokens each order receives"),
98
+ min_receive: optional(text("least whole tokens each order receives; default the recent median less max_slippage_bps")),
99
+ max_slippage_bps: optional(integer(1, MAX_SLIPPAGE_BPS, "how far below the recent median the default min_receive sits, in basis points; default 100 = 1%")),
75
100
  every: integer(MIN_EXPIRES_IN, MAX_EVERY, "seconds between one order opening and the next"),
76
101
  times: integer(2, MAX_RECURRING, "how many orders"),
77
102
  start_receive: optional(text("whole tokens each order asks until and when it opens; default a little above the median recent fill, between 1.25 and 2 times min_receive")),
@@ -84,6 +109,7 @@ export const walletRecurring = define({
84
109
  summary: list(text(), 24, "the whole plan, then the first order"),
85
110
  warnings: list(text(), 16),
86
111
  start_receive: text("whole tokens each order asks when it opens; pass it back when sending"),
112
+ min_receive: optional(text("the floor each order will not sell below, whole tokens; echoes what you passed or the market default used")),
87
113
  sent: flag(),
88
114
  next: optional(text()),
89
115
  }),
@@ -97,10 +123,9 @@ export const walletRecurring = define({
97
123
  chainTime(ctx.transport),
98
124
  ]);
99
125
  const amountIn = raw(input.amount, inputToken.decimals, "amount");
100
- const floor = raw(input.min_receive, outputToken.decimals, "min_receive");
101
- const ask = input.start_receive === undefined
102
- ? openingAsk(await recentFills(ctx.transport, inputMint, outputMint), amountIn, floor)
103
- : raw(input.start_receive, outputToken.decimals, "start_receive");
126
+ const fills = await recentFills(ctx.transport, inputMint, outputMint);
127
+ const floor = input.min_receive === undefined ? marketFloor(fills, amountIn, input.max_slippage_bps) : raw(input.min_receive, outputToken.decimals, "min_receive");
128
+ const ask = input.start_receive === undefined ? openingAsk(fills, amountIn, floor) : raw(input.start_receive, outputToken.decimals, "start_receive");
104
129
  if (ask <= floor) {
105
130
  throw new InvalidInput([
106
131
  input.start_receive === undefined ? { path: "min_receive", message: NO_FALL } : { path: "start_receive", message: "must be more than min_receive, or the order has no ask to fall" },
@@ -117,7 +142,7 @@ export const walletRecurring = define({
117
142
  order: { kind: "dutch", amount_in: amountIn, start_out: ask, end_out: floor, start_time: open, end_time: open + falls },
118
143
  expires_at: open + life,
119
144
  });
120
- const shown = { start_receive: formatAmount(ask, outputToken.decimals) };
145
+ const shown = { start_receive: formatAmount(ask, outputToken.decimals), min_receive: formatAmount(floor, outputToken.decimals) };
121
146
  const last = opens[opens.length - 1];
122
147
  const first = (await offered(ctx, call, { ...input, send: input.send }, terms(opens[0])));
123
148
  const sold = TOKEN_NAMES[inputMint] ?? inputMint;
@@ -158,13 +183,20 @@ export const walletRecurring = define({
158
183
  };
159
184
  }
160
185
  }
161
- return { orders, summary: plan, warnings, ...shown, sent: true };
186
+ return {
187
+ orders,
188
+ summary: plan,
189
+ warnings,
190
+ ...shown,
191
+ sent: true,
192
+ next: `${input.times} orders placed; ${tool("wallet_intents")} to list, ${tool("wallet_wait")} each nonce`,
193
+ };
162
194
  },
163
195
  });
164
196
  export const walletAuction = define({
165
197
  name: tool("wallet_auction"),
166
198
  title: "Auction from the wallet",
167
- description: `Sells an exact amount of one token in a falling-price (Dutch) auction: the ask starts at start_receive, falls evenly to end_receive over falls_over seconds, then holds until the offer expires. A solver fills it as soon as the ask meets what it can pay. ${PREVIEW_FIRST}`,
199
+ description: `Sells an exact amount in a falling-price (Dutch) auction you design: the ask starts at start_receive, falls evenly to end_receive over falls_over seconds, then holds until it expires. A solver fills when the ask meets what it can pay. For a simple market sell, use ${tool("wallet_swap")}. ${PREVIEW_FIRST}`,
168
200
  effect: "submit",
169
201
  repeats: true,
170
202
  input: object({
@@ -197,7 +229,7 @@ export const walletAuction = define({
197
229
  },
198
230
  expires_at: start + BigInt(Math.max(input.expires_in ?? DEFAULT_EXPIRES_IN, input.falls_over)),
199
231
  };
200
- }),
232
+ }, ORDER_DONE),
201
233
  });
202
234
  export const ESTIMATE_NEXT = "solvers pay the least an intent asks, so these fills show what owners asked and got, not the most a solver would pay; ask a minimum near receive_at_median, since a single fill can be staged by one party on both sides, or auction from a little above it down to the least the user accepts to find the price";
203
235
  export const NO_FILLS = `no recent fill sold this token for that one; auction from a high ask down to the least the user accepts with ${tool("wallet_auction")} to find the price`;
@@ -1 +1 @@
1
- {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../../src/agent/wallet/trade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,EACH,OAAO,EACP,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAElF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,MAAM,GAAG,uJAAuJ,CAAC;AAE9K,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;IACzB,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,8NAA8N,aAAa,yCAAyC;IACjS,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAClD,WAAW,EAAE,IAAI,CAAC,6CAA6C,CAAC;QAChE,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC;QAC7J,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,yDAAyD,eAAe,EAAE,CAAC,CAAC;QACzI,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAClF,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,yDAAyD,kBAAkB,EAAE,CAAC,CAAC;QAC5I,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACnE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC,EAAE,CAAC;IACvI,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,IAAI,OAA2B,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YAChG,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC;YACjE,MAAM,GAAG,GACP,KAAK,CAAC,KAAK,KAAK,IAAI;gBAClB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;oBACjC,CAAC,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC;oBACtF,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACnE,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjI,CAAC;YACD,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC;YAC1D,OAAO;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE;gBACzH,UAAU,EAAE,KAAK,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;aAC5D,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAChF,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAC5E,GAAG,IAAI,OAAO,KAAK,uDAAuD,OAAO,YAAY,IAAI,CAAC,gBAAgB,CAAC,wDAAwD,CAAC;AAE9K,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CACzE,GAAG,IAAI,OAAO,KAAK,2CAA2C,OAAO,kCAAkC,KAAK,GAAG,IAAI,4CAA4C,CAAC;AAElK,MAAM,CAAC,MAAM,UAAU,GAAG,8EAA8E,CAAC;AAEzG,MAAM,CAAC,MAAM,OAAO,GAAG,wDAAwD,CAAC;AAEhF,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;IACpC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9B,KAAK,EAAE,6BAA6B;IACpC,WAAW,EAAE,oPAAoP,IAAI,CAAC,eAAe,CAAC,KAAK,aAAa,yCAAyC;IACjV,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,6CAA6C,CAAC;QAC3D,WAAW,EAAE,IAAI,CAAC,wCAAwC,CAAC;QAC3D,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,gDAAgD,CAAC;QAC3F,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,CAAC;QACnD,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,2IAA2I,CAAC,CAAC;QAC1K,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,kEAAkE,eAAe,EAAE,CAAC,CAAC;QAC7I,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,IAAI,CACV,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,qCAAqC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EACtJ,aAAa,CACd;QACD,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QAC1B,aAAa,EAAE,IAAI,CAAC,uEAAuE,CAAC;QAC5F,IAAI,EAAE,IAAI,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC;YACjC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;SACzB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,MAAM,GAAG,GACP,KAAK,CAAC,aAAa,KAAK,SAAS;YAC/B,CAAC,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC;YACtF,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC;gBACrB,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,gEAAgE,EAAE;aACrL,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/E,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,KAAK,EAAE;YAChI,UAAU,EAAE,IAAI,GAAG,IAAI;SACxB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAW,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,CAA4B,CAAC;QAC/H,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QACjD,MAAM,IAAI,GAAG;YACX,SAAS,KAAK,CAAC,KAAK,cAAc,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,uBAAuB;YAChM,kCAAkC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;YACtI,GAAI,KAAK,CAAC,SAAS,CAAc;SAClC,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG;YACf,GAAG,MAAM;YACT,UAAU;YACV,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1G,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClI,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAW,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjI,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC;gBAC1G,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO;oBACL,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACpF,OAAO,EAAE,IAAI;oBACb,QAAQ;oBACR,GAAG,KAAK;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;wBAC/B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC5E,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;iBAClF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnE,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC5B,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,gQAAgQ,aAAa,EAAE;IAC5R,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAClD,aAAa,EAAE,IAAI,CAAC,mEAAmE,CAAC;QACxF,WAAW,EAAE,IAAI,CAAC,iEAAiE,CAAC;QACpF,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,0EAA0E,CAAC;QAC/H,UAAU,EAAE,QAAQ,CAClB,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,qFAAqF,kBAAkB,EAAE,CAAC,CACnJ;QACD,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACnE,CAAC;IACF,MAAM,EAAE,WAAW;IACnB,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE,CAClD,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtE,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kFAAkF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxK,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACrD,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;aAC3C;YACD,UAAU,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;SAC/F,CAAC;IACJ,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GACxB,kTAAkT,CAAC;AAErT,MAAM,CAAC,MAAM,QAAQ,GAAG,gHAAgH,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;AAEnL,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;IAC7B,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,gKAAgK,aAAa,kDAAkD,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,sDAAsD;IAClV,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC;KACnD,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,IAAI,CACT,MAAM,CAAC;YACL,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,iCAAiC,CAAC;YACjD,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC1C,SAAS,EAAE,IAAI,EAAE;SAClB,CAAC,EACF,cAAc,EACd,cAAc,CACf;QACD,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;QACrI,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC5F,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC5F,IAAI,EAAE,IAAI,EAAE;KACb,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3H,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;YACnD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC;YACzD,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YACpD,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,CAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC9J,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../../src/agent/wallet/trade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,EACH,OAAO,EACP,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAElF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,MAAM,GAAG,uJAAuJ,CAAC;AAE9K,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,IAAI,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAErG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,oHAAoH,CAAC;AAE9I,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,WAA+B;IACxF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,oBAAoB,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,MAAO,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAO,CAAC,CAAC;IACjG,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;IACzB,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,wOAAwO,IAAI,CAAC,gBAAgB,CAAC,KAAK,aAAa,yCAAyC;IACtU,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAClD,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;QAC3H,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE,iGAAiG,CAAC,CAAC;QAC3J,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,8HAA8H,CAAC,CAAC;QAC7J,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,yDAAyD,eAAe,EAAE,CAAC,CAAC;QACzI,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAClF,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,yDAAyD,kBAAkB,EAAE,CAAC,CAAC;QAC5I,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACnE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,GAAG,WAAW;QACd,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;QACvI,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;KACpG,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,IAAI,OAA2B,CAAC;QAChC,IAAI,UAA8B,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YAChG,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC9J,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC;YACjE,MAAM,GAAG,GACP,KAAK,CAAC,KAAK,KAAK,IAAI;gBAClB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;oBACjC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;oBACpC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACnE,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;gBACjB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjI,CAAC;YACD,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC;YAC1D,OAAO;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE;gBACzH,UAAU,EAAE,KAAK,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;aAC5D,CAAC;QACJ,CAAC,EAAE,UAAU,CAAC,CAAC;QACf,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACvJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAC5E,GAAG,IAAI,OAAO,KAAK,uDAAuD,OAAO,YAAY,IAAI,CAAC,gBAAgB,CAAC,wDAAwD,CAAC;AAE9K,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CACzE,GAAG,IAAI,OAAO,KAAK,2CAA2C,OAAO,kCAAkC,KAAK,GAAG,IAAI,4CAA4C,CAAC;AAElK,MAAM,CAAC,MAAM,UAAU,GAAG,8EAA8E,CAAC;AAEzG,MAAM,CAAC,MAAM,OAAO,GAAG,wDAAwD,CAAC;AAEhF,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;IACpC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9B,KAAK,EAAE,6BAA6B;IACpC,WAAW,EAAE,sNAAsN,IAAI,CAAC,eAAe,CAAC,KAAK,aAAa,yCAAyC;IACnT,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,6CAA6C,CAAC;QAC3D,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QACtH,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE,iGAAiG,CAAC,CAAC;QAC3J,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,gDAAgD,CAAC;QAC3F,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,CAAC;QACnD,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,2IAA2I,CAAC,CAAC;QAC1K,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,kEAAkE,eAAe,EAAE,CAAC,CAAC;QAC7I,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,IAAI,CACV,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,qCAAqC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EACtJ,aAAa,CACd;QACD,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,sCAAsC,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QAC1B,aAAa,EAAE,IAAI,CAAC,uEAAuE,CAAC;QAC5F,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,2GAA2G,CAAC,CAAC;QACxI,IAAI,EAAE,IAAI,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC;YACjC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;SACzB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACnK,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrJ,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC;gBACrB,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,gEAAgE,EAAE;aACrL,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/E,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,KAAK,EAAE;YAChI,UAAU,EAAE,IAAI,GAAG,IAAI;SACxB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjI,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAW,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,CAA4B,CAAC;QAC/H,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QACjD,MAAM,IAAI,GAAG;YACX,SAAS,KAAK,CAAC,KAAK,cAAc,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,uBAAuB;YAChM,kCAAkC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;YACtI,GAAI,KAAK,CAAC,SAAS,CAAc;SAClC,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAa,CAAC;QAC7C,MAAM,QAAQ,GAAG;YACf,GAAG,MAAM;YACT,UAAU;YACV,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,kBAAkB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1G,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClI,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAW,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACjI,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC;gBAC1G,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO;oBACL,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACpF,OAAO,EAAE,IAAI;oBACb,QAAQ;oBACR,GAAG,KAAK;oBACR,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;wBAC/B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC5E,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;iBAClF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;YACL,MAAM;YACN,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,GAAG,KAAK;YACR,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,mBAAmB,IAAI,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,aAAa;SAC3G,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC5B,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,4QAA4Q,IAAI,CAAC,aAAa,CAAC,KAAK,aAAa,EAAE;IAChU,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAClD,aAAa,EAAE,IAAI,CAAC,mEAAmE,CAAC;QACxF,WAAW,EAAE,IAAI,CAAC,iEAAiE,CAAC;QACpF,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,0EAA0E,CAAC;QAC/H,UAAU,EAAE,QAAQ,CAClB,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,qFAAqF,kBAAkB,EAAE,CAAC,CACnJ;QACD,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;KACnE,CAAC;IACF,MAAM,EAAE,WAAW;IACnB,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE,CAClD,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtE,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kFAAkF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxK,CAAC;QACD,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBACrD,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;aAC3C;YACD,UAAU,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;SAC/F,CAAC;IACJ,CAAC,EAAE,UAAU,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GACxB,kTAAkT,CAAC;AAErT,MAAM,CAAC,MAAM,QAAQ,GAAG,gHAAgH,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;AAEnL,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;IAC7B,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,gKAAgK,aAAa,kDAAkD,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,sDAAsD;IAClV,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACzC,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC;KACnD,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,IAAI,CACT,MAAM,CAAC;YACL,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,iCAAiC,CAAC;YACjD,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC1C,SAAS,EAAE,IAAI,EAAE;SAClB,CAAC,EACF,cAAc,EACd,cAAc,CACf;QACD,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;QACrI,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC5F,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC5F,IAAI,EAAE,IAAI,EAAE;KACb,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3H,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;YACnD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC;YACzD,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YACpD,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,CAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC9J,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const NOTHING_WRAPPED = "this wallet has no wrapped SOL account to unwrap";
2
+ export declare const walletUnwrap: import("../actions.js").AnyAction;
@@ -0,0 +1,46 @@
1
+ import { createNoopSigner } from "@solana/kit";
2
+ import { findAssociatedTokenPda, getCloseAccountInstruction, getTokenDecoder, TOKEN_PROGRAM_ADDRESS } from "@solana-program/token";
3
+ import { formatAmount, NATIVE_MINT } from "@intent-engine/core";
4
+ import { define } from "../actions.js";
5
+ import { tool } from "../names.js";
6
+ import { AgentRefusal } from "../problems.js";
7
+ import { account, flag, list, object, optional, text } from "../schema.js";
8
+ import { preparedView } from "../shapes.js";
9
+ import { prepare } from "../prepare.js";
10
+ import { PREVIEW_FIRST, signerOf, sent } from "./guard.js";
11
+ const SOL_DECIMALS = 9;
12
+ export const NOTHING_WRAPPED = "this wallet has no wrapped SOL account to unwrap";
13
+ export const walletUnwrap = define({
14
+ name: tool("wallet_unwrap"),
15
+ title: "Turn wrapped SOL into SOL",
16
+ description: `Closes this wallet's wrapped SOL account, where escrow payouts in SOL arrive, so its whole balance and the account's rent return to the wallet as plain SOL. ${PREVIEW_FIRST}`,
17
+ effect: "submit",
18
+ destructive: false,
19
+ input: object({ send: optional(flag("true signs and sends; leave out to preview")) }),
20
+ output: object({
21
+ account: account("the wrapped SOL account this closes"),
22
+ wrapped: text("whole SOL the account holds"),
23
+ summary: list(text(), 4),
24
+ sent: flag(),
25
+ signature: optional(text()),
26
+ next: optional(text()),
27
+ }),
28
+ run: async (ctx, input, call) => {
29
+ const signer = await signerOf(ctx);
30
+ const [wrappedAccount] = await findAssociatedTokenPda({ owner: signer.address, mint: NATIVE_MINT, tokenProgram: TOKEN_PROGRAM_ADDRESS });
31
+ const held = await ctx.transport.getAccount(wrappedAccount);
32
+ if (held === null || held.owner !== TOKEN_PROGRAM_ADDRESS) {
33
+ throw new AgentRefusal("NotFound", NOTHING_WRAPPED);
34
+ }
35
+ const wrapped = formatAmount(getTokenDecoder().decode(held.data).amount, SOL_DECIMALS);
36
+ const close = getCloseAccountInstruction({ account: wrappedAccount, destination: signer.address, owner: createNoopSigner(signer.address) });
37
+ const view = {
38
+ account: wrappedAccount,
39
+ wrapped,
40
+ summary: [`Unwraps: ${wrapped} wrapped SOL in ${wrappedAccount}, and the account's rent, into plain SOL in this wallet`, "Costs: the transaction fee"],
41
+ prepared: preparedView(await prepare(ctx.transport, [close], signer.address)),
42
+ };
43
+ return sent(ctx, signer, view, input.send, call, { done: `unwrapped; ${tool("wallet_balance")} shows the SOL` });
44
+ },
45
+ });
46
+ //# sourceMappingURL=unwrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrap.js","sourceRoot":"","sources":["../../../../src/agent/wallet/unwrap.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { type Clock } from "./guard.js";
1
2
  export declare const WAIT_STATUS: readonly ["open", "filling", "filled", "cancelled", "expired", "closed"];
2
3
  export declare const UNREAD: string;
3
4
  export declare const FILL_UNKNOWN: string;
4
5
  export declare const stillWaiting: (status: string) => string;
6
+ export declare function poll(clock: Clock, within: number, done: () => Promise<boolean>): Promise<number>;
5
7
  export declare const walletWait: import("../actions.js").AnyAction;
@@ -11,6 +11,14 @@ export const WAIT_STATUS = ["open", "filling", "filled", "cancelled", "expired",
11
11
  export const UNREAD = `the node could not yet return all of this intent's transactions, so whether it filled is unknown; call ${tool("wallet_wait")} again in a few seconds before acting on it`;
12
12
  export const FILL_UNKNOWN = `this intent's history could not be read in full, so what its fills delivered is unknown: it is longer than the ${HISTORY_PAGES} pages read or the RPC node's ledger does not reach back to its creation; ${tool("wallet_balance")} shows what the wallet holds now`;
13
13
  export const stillWaiting = (status) => `still ${status}; call ${tool("wallet_wait")} again to keep waiting, or ${tool("wallet_cancel")} to take the escrow back`;
14
+ export async function poll(clock, within, done) {
15
+ const deadline = clock.now() + BigInt(within);
16
+ let waited = 0;
17
+ while (!(await done()) && waited < within && clock.now() < deadline && (await clock.sleep(1))) {
18
+ waited += 1;
19
+ }
20
+ return waited;
21
+ }
14
22
  export const walletWait = define({
15
23
  name: tool("wallet_wait"),
16
24
  title: "Wait for a wallet intent",
@@ -36,24 +44,19 @@ export const walletWait = define({
36
44
  const [intent] = await findIntentPda({ owner, nonce: input.nonce });
37
45
  const within = input.within ?? WAIT_DEFAULT;
38
46
  const fresh = unmemoized(ctx.transport);
39
- const deadline = wallet.now() + BigInt(within);
40
- let waited = 0;
41
47
  let pair = null;
42
48
  let status = "closed";
43
- for (;;) {
49
+ const waited = await poll(wallet, within, async () => {
44
50
  const view = await fresh.getAccount(intent);
45
51
  if (view === null) {
46
52
  status = "closed";
47
- break;
53
+ return true;
48
54
  }
49
55
  const decoded = getIntentDecoder().decode(view.data);
50
56
  pair = { inputMint: decoded.inputMint, outputMint: decoded.outputMint };
51
57
  status = STATUS[decoded.status] ?? "open";
52
- if ((status !== "open" && status !== "filling") || waited >= within || wallet.now() >= deadline || !(await wallet.sleep(1))) {
53
- break;
54
- }
55
- waited += 1;
56
- }
58
+ return status !== "open" && status !== "filling";
59
+ });
57
60
  if (status === "open" || status === "filling") {
58
61
  return { intent, status, waited, next: stillWaiting(status) };
59
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../../src/agent/wallet/wait.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../../src/agent/wallet/wait.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAc,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAExF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAIpG,MAAM,CAAC,MAAM,MAAM,GAAG,0GAA0G,IAAI,CAAC,aAAa,CAAC,6CAA6C,CAAC;AAEjM,MAAM,CAAC,MAAM,YAAY,GAAG,kHAAkH,aAAa,6EAA6E,IAAI,CAAC,gBAAgB,CAAC,kCAAkC,CAAC;AAEjS,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE,CAC7C,SAAS,MAAM,UAAU,IAAI,CAAC,aAAa,CAAC,8BAA8B,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC;AAE5H,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,KAAY,EAAE,MAAc,EAAE,IAA4B;IACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;IACzB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,yRAAyR;IACtS,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC,qDAAqD,CAAC;QACpE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,iCAAiC,YAAY,EAAE,CAAC,CAAC;KACxF,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,OAAO,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,6FAA6F,CAAC;QAC1H,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QAC9C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;QAC7G,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,qHAAqH,CAAC,CAAC;QAC/I,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACvD,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAChE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;IACF,GAAG,EAAE,KAAK,EAAE,GAAiB,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,IAAI,GAAG,IAAmB,CAAC;QAC/B,IAAI,MAAM,GAAG,QAAsB,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,GAAG,QAAQ,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;YAC1C,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9F,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAiC,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,EAAE,SAAS,IAAI,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAwB,CAAC,CAAC;YAC9I,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/F,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,QAAQ;gBAChB,MAAM;gBACN,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAW,EAAE,QAAQ,CAAC;gBACzD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS;aAChC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnF,MAAM,OAAO,GAAG,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC;YACzD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvJ,CAAC;QACD,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrG,OAAO;YACL,MAAM;YACN,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;YACjF,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS;SAC/B,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { AnyAction } from "./actions.js";
2
- export { walletGuard, SALE_WINDOW, ESTIMATE_SCAN, ESTIMATE_FILLS, WAIT_DEFAULT, WAIT_MAX, WAIT_SCAN, DEFAULT_EXPIRES_IN, LANDING_SECONDS, MAINNET_GENESIS, WALLET_NOTICE, walletEmpty, NO_WALLET, WALLET_OFF, PREVIEW_ONLY, limitLines, rpcRefused, } from "./wallet/guard.js";
3
- export type { WalletGuard, WalletAccess } from "./wallet/guard.js";
2
+ export { walletGuard, SALE_WINDOW, ESTIMATE_SCAN, ESTIMATE_FILLS, WAIT_DEFAULT, WAIT_MAX, WAIT_SCAN, DEFAULT_EXPIRES_IN, LANDING_SECONDS, MAINNET_GENESIS, WALLET_NOTICE, walletEmpty, NO_WALLET, WALLET_OFF, PREVIEW_ONLY, PREVIEW_APPROVAL_NEXT, limitLines, rpcRefused, } from "./wallet/guard.js";
3
+ export type { Clock, WalletGuard, WalletAccess } from "./wallet/guard.js";
4
4
  export { walletBalance } from "./wallet/account.js";
5
+ export { NOTHING_WRAPPED } from "./wallet/unwrap.js";
5
6
  export { nonceTaken } from "./wallet/offer.js";
6
7
  export { SWAP_HEADROOM_BPS, SWAP_BLIND_BPS, SWAP_CAP_BPS } from "./wallet/fills.js";
7
8
  export { SWAP_FALLS_OVER, PAY_TO, MAX_RECURRING, mayHaveLanded, partlySent, WARN_EARLY, NO_FALL, MAX_EVERY, ESTIMATE_NEXT, NO_FILLS, } from "./wallet/trade.js";
@@ -15,6 +16,6 @@ export type { Recording } from "./wallet/record.js";
15
16
  export { releaseNotOf, releaseUnread, HISTORY_PAGES, escrowHistory, RELEASE_PAGES, RELEASE_UNKNOWN, LIFECYCLE_FETCHES, outlives, releaseLookup, aroundRelease, namedRelease, releasedMint, SPLIT_INTENT_ACCOUNT, splitRecipients, } from "./wallet/releases.js";
16
17
  export type { ReleaseLookup, AroundRelease } from "./wallet/releases.js";
17
18
  export { WAIT_STATUS, UNREAD, FILL_UNKNOWN, stillWaiting } from "./wallet/wait.js";
18
- export { NOT_RELEASED, RECEIPT_PARTIAL, getReceipt, escrowReceipt } from "./wallet/receipt.js";
19
+ export { NOT_RELEASED, NO_CLOCK, PAID_WRAPPED, RECEIPT_PARTIAL, getReceipt, escrowReceipt, stillUnreleased } from "./wallet/receipt.js";
19
20
  export { PACKET_DATA_SIZE } from "@intent-engine/client";
20
21
  export declare const WALLET_ACTIONS: readonly AnyAction[];
@@ -12,8 +12,10 @@ import { walletProfile } from "./profile.js";
12
12
  import { walletRecordDelivery } from "./wallet/record.js";
13
13
  import { walletWait } from "./wallet/wait.js";
14
14
  import { walletReceipt } from "./wallet/receipt.js";
15
- export { walletGuard, SALE_WINDOW, ESTIMATE_SCAN, ESTIMATE_FILLS, WAIT_DEFAULT, WAIT_MAX, WAIT_SCAN, DEFAULT_EXPIRES_IN, LANDING_SECONDS, MAINNET_GENESIS, WALLET_NOTICE, walletEmpty, NO_WALLET, WALLET_OFF, PREVIEW_ONLY, limitLines, rpcRefused, } from "./wallet/guard.js";
15
+ import { walletUnwrap } from "./wallet/unwrap.js";
16
+ export { walletGuard, SALE_WINDOW, ESTIMATE_SCAN, ESTIMATE_FILLS, WAIT_DEFAULT, WAIT_MAX, WAIT_SCAN, DEFAULT_EXPIRES_IN, LANDING_SECONDS, MAINNET_GENESIS, WALLET_NOTICE, walletEmpty, NO_WALLET, WALLET_OFF, PREVIEW_ONLY, PREVIEW_APPROVAL_NEXT, limitLines, rpcRefused, } from "./wallet/guard.js";
16
17
  export { walletBalance } from "./wallet/account.js";
18
+ export { NOTHING_WRAPPED } from "./wallet/unwrap.js";
17
19
  export { nonceTaken } from "./wallet/offer.js";
18
20
  export { SWAP_HEADROOM_BPS, SWAP_BLIND_BPS, SWAP_CAP_BPS } from "./wallet/fills.js";
19
21
  export { SWAP_FALLS_OVER, PAY_TO, MAX_RECURRING, mayHaveLanded, partlySent, WARN_EARLY, NO_FALL, MAX_EVERY, ESTIMATE_NEXT, NO_FILLS, } from "./wallet/trade.js";
@@ -25,7 +27,7 @@ export { SPLIT_FITS, SPLIT_FITS_WITH_TABLE, splitTooLarge, RECORDS_SPLIT, follow
25
27
  export { RELEASE_INPUT, RELEASE_SIGNATURE, releaseOf, notReleasedYet, alreadyRecorded, releasedBy, escrowGone, creationUnread, notAProofEscrow, neverAnnounced, paidOther, splitPaidOthers, recipientsUnread, followUpsUnknown, historyLagging, otherLifecycle, COVERAGE_UNPROVABLE, coverageOf, recordingOf, } from "./wallet/record.js";
26
28
  export { releaseNotOf, releaseUnread, HISTORY_PAGES, escrowHistory, RELEASE_PAGES, RELEASE_UNKNOWN, LIFECYCLE_FETCHES, outlives, releaseLookup, aroundRelease, namedRelease, releasedMint, SPLIT_INTENT_ACCOUNT, splitRecipients, } from "./wallet/releases.js";
27
29
  export { WAIT_STATUS, UNREAD, FILL_UNKNOWN, stillWaiting } from "./wallet/wait.js";
28
- export { NOT_RELEASED, RECEIPT_PARTIAL, getReceipt, escrowReceipt } from "./wallet/receipt.js";
30
+ export { NOT_RELEASED, NO_CLOCK, PAID_WRAPPED, RECEIPT_PARTIAL, getReceipt, escrowReceipt, stillUnreleased } from "./wallet/receipt.js";
29
31
  export { PACKET_DATA_SIZE } from "@intent-engine/client";
30
32
  export const WALLET_ACTIONS = [
31
33
  walletSetup,
@@ -51,5 +53,6 @@ export const WALLET_ACTIONS = [
51
53
  walletIntents,
52
54
  walletHistory,
53
55
  walletCancel,
56
+ walletUnwrap,
54
57
  ];
55
58
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/agent/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/agent/wallet.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { AgentRefusal } from "./problems.js";
8
8
  import { account, amount, choice, flag, InvalidInput, integer, list, nullable, object, optional, text, time } from "./schema.js";
9
9
  import { preparedView } from "./shapes.js";
10
10
  import { prepare } from "./prepare.js";
11
- import { PREVIEW_APPROVAL, signerOf, sent } from "./wallet/guard.js";
11
+ import { PREVIEW_APPROVAL, PREVIEW_APPROVAL_NEXT, signerOf, sent } from "./wallet/guard.js";
12
12
  export const CLAIM_CHANGED = "this claim differs from its preview: the escrow, action, seconds or stake changed, or no approval was given; preview it again and show the user";
13
13
  const escrowRef = {
14
14
  owner: account("the wallet that made the escrow"),
@@ -22,7 +22,7 @@ async function claimsFor(ctx, owner, nonce) {
22
22
  export const getClaims = define({
23
23
  name: tool("get_claims"),
24
24
  title: "Who holds a job's claim",
25
- description: `Read the claims board of a proof escrow: whether its owner opened claims, and whether the job is free, held by a worker until a time, or held by a claim that lapsed. While a claim holds, only its worker can be paid. A worker claims or drops it with ${tool("wallet_claim")}.`,
25
+ description: `Read the claims board of a proof escrow: whether its owner opened claims, and whether the job is free, held by a worker until a time, or held by a claim that lapsed. While a claim holds, only its worker can be paid.`,
26
26
  effect: "read",
27
27
  input: object(escrowRef),
28
28
  output: object({
@@ -139,7 +139,10 @@ export const walletClaim = define({
139
139
  summary,
140
140
  prepared: input.send === true ? preparedView(await prepare(ctx.transport, [instruction], signer.address)) : undefined,
141
141
  };
142
- return sent(ctx, signer, shown, input.send, call);
142
+ return sent(ctx, signer, shown, input.send, call, {
143
+ preview: PREVIEW_APPROVAL_NEXT,
144
+ done: input.action === "take" ? `you hold ${intent}; do the work, then ${tool("wallet_deliver")} before it lapses` : `dropped; stake returned, job free for others`,
145
+ });
143
146
  },
144
147
  });
145
148
  //# sourceMappingURL=work-claims.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"work-claims.js","sourceRoot":"","sources":["../../../src/agent/work-claims.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work-claims.js","sourceRoot":"","sources":["../../../src/agent/work-claims.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Values } from "./arg-options.js";
2
+ import type { Command, Remote } from "./command-types.js";
3
+ export type AdminVerb = "init-config" | "raise-pause" | "lower-pause" | "set-economics" | "update-config" | "propose-admin" | "accept-admin" | "set-mint-cap" | "set-caps-required";
4
+ export declare function adminOf(verb: AdminVerb, sub: string | undefined, remote: Remote, values: Values): Command;
@@ -0,0 +1,79 @@
1
+ import { key, noSub, parseBounded, parseFeeBps, parseKindFees, parseKinds, parsePause, required, u64, UsageError } from "./arg-values.js";
2
+ import { authorityOf, configChange } from "./command-builders.js";
3
+ import { MIN_CAP_WINDOW_SECS } from "@intent-engine/core";
4
+ export function adminOf(verb, sub, remote, values) {
5
+ switch (verb) {
6
+ case "init-config":
7
+ noSub(sub);
8
+ return {
9
+ name: "init-config",
10
+ ...remote,
11
+ by: authorityOf(values),
12
+ guardian: key(values, "guardian"),
13
+ feeRecipient: key(values, "fee-recipient"),
14
+ feeBps: parseFeeBps(required(values, "fee-bps")),
15
+ enabledKinds: parseKinds(required(values, "kinds")),
16
+ paused: parsePause(values.flags ?? "none", "flags"),
17
+ };
18
+ case "raise-pause":
19
+ case "lower-pause": {
20
+ noSub(sub);
21
+ const flags = parsePause(required(values, "flags"), "flags");
22
+ if (flags === 0) {
23
+ throw new UsageError("--flags must name at least one of create, fill or all");
24
+ }
25
+ return { name: verb, ...remote, by: authorityOf(values), flags };
26
+ }
27
+ case "set-economics": {
28
+ noSub(sub);
29
+ const kindFees = parseKindFees(values["kind-fees"] ?? "");
30
+ return {
31
+ name: "set-economics",
32
+ ...remote,
33
+ by: authorityOf(values),
34
+ economics: {
35
+ kindFeeMask: kindFees.mask,
36
+ kindFeeBps: kindFees.bps,
37
+ partnerCutBps: parseBounded(values["partner-cut"] ?? "0", "partner-cut", 0xffff),
38
+ crankBounty: parseBounded(required(values, "bounty"), "bounty", 0xffff_ffff),
39
+ createFee: parseBounded(required(values, "create-fee"), "create-fee", 0xffff_ffff),
40
+ },
41
+ };
42
+ }
43
+ case "update-config":
44
+ noSub(sub);
45
+ return { name: "update-config", ...remote, by: authorityOf(values), change: configChange(values) };
46
+ case "propose-admin":
47
+ noSub(sub);
48
+ return { name: "propose-admin", ...remote, by: authorityOf(values), pendingAdmin: key(values, "new-admin") };
49
+ case "accept-admin":
50
+ noSub(sub);
51
+ return { name: "accept-admin", ...remote, by: authorityOf(values) };
52
+ case "set-mint-cap": {
53
+ noSub(sub);
54
+ const maxPerOrder = u64(values, "max-per-order");
55
+ const windowCap = u64(values, "window-cap");
56
+ if (maxPerOrder === 0n) {
57
+ throw new UsageError("--max-per-order must be above zero");
58
+ }
59
+ if (windowCap < maxPerOrder) {
60
+ throw new UsageError("--window-cap must be at least --max-per-order");
61
+ }
62
+ return {
63
+ name: "set-mint-cap",
64
+ ...remote,
65
+ by: authorityOf(values),
66
+ mint: key(values, "mint"),
67
+ maxPerOrder,
68
+ windowCap,
69
+ windowSecs: parseBounded(required(values, "window-secs"), "window-secs", 0xffff_ffff, MIN_CAP_WINDOW_SECS),
70
+ };
71
+ }
72
+ case "set-caps-required":
73
+ if (sub !== "on" && sub !== "off") {
74
+ throw new UsageError("set-caps-required needs on or off");
75
+ }
76
+ return { name: "set-caps-required", ...remote, by: authorityOf(values), required: sub === "on" };
77
+ }
78
+ }
79
+ //# sourceMappingURL=arg-admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arg-admin.js","sourceRoot":"","sources":["../../src/arg-admin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1I,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAa1D,MAAM,UAAU,OAAO,CAAC,IAAe,EAAE,GAAuB,EAAE,MAAc,EAAE,MAAc;IAC9F,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa;YAChB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,GAAG,MAAM;gBACT,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC;gBACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;gBACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;gBAC1C,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAChD,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE,OAAO,CAAC;aACpD,CAAC;QACJ,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa,EAAE,CAAC;YACnB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,UAAU,CAAC,uDAAuD,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACnE,CAAC;QACD,KAAK,eAAe,EAAE,CAAC;YACrB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,GAAG,MAAM;gBACT,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC;gBACvB,SAAS,EAAE;oBACT,WAAW,EAAE,QAAQ,CAAC,IAAI;oBAC1B,UAAU,EAAE,QAAQ,CAAC,GAAG;oBACxB,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC;oBAChF,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;oBAC5E,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC;iBACnF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,eAAe;YAClB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACrG,KAAK,eAAe;YAClB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/G,KAAK,cAAc;YACjB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,KAAK,cAAc,EAAE,CAAC;YACpB,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC5C,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;YACxE,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,GAAG,MAAM;gBACT,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;gBACzB,WAAW;gBACX,SAAS;gBACT,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,CAAC;aAC3G,CAAC;QACJ,CAAC;QACD,KAAK,mBAAmB;YACtB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClC,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IACrG,CAAC;AACH,CAAC"}