@bananapus/nana-sdk-core 3.2.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/review/heldWrite.js +1 -1
- package/dist/cjs/review/heldWrite.js.map +1 -1
- package/dist/cjs/review/messages.d.ts +3 -1
- package/dist/cjs/review/messages.d.ts.map +1 -1
- package/dist/cjs/review/messages.js +4 -2
- package/dist/cjs/review/messages.js.map +1 -1
- package/dist/cjs/review/writeHold.d.ts +9 -6
- package/dist/cjs/review/writeHold.d.ts.map +1 -1
- package/dist/cjs/review/writeHold.js +12 -4
- package/dist/cjs/review/writeHold.js.map +1 -1
- package/dist/cjs/review/writeRecovery.d.ts +3 -2
- package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
- package/dist/cjs/review/writeRecovery.js +3 -2
- package/dist/cjs/review/writeRecovery.js.map +1 -1
- package/dist/cjs/v6/cashOut.d.ts.map +1 -1
- package/dist/cjs/v6/cashOut.js +11 -39
- package/dist/cjs/v6/cashOut.js.map +1 -1
- package/dist/cjs/v6/defifa.d.ts +4 -2
- package/dist/cjs/v6/defifa.d.ts.map +1 -1
- package/dist/cjs/v6/defifa.js +10 -6
- package/dist/cjs/v6/defifa.js.map +1 -1
- package/dist/cjs/v6/executionErrors.d.ts +107 -0
- package/dist/cjs/v6/executionErrors.d.ts.map +1 -0
- package/dist/cjs/v6/executionErrors.js +373 -0
- package/dist/cjs/v6/executionErrors.js.map +1 -0
- package/dist/cjs/v6/index.d.ts +2 -0
- package/dist/cjs/v6/index.d.ts.map +1 -1
- package/dist/cjs/v6/index.js +6 -1
- package/dist/cjs/v6/index.js.map +1 -1
- package/dist/cjs/v6/pay.d.ts +32 -11
- package/dist/cjs/v6/pay.d.ts.map +1 -1
- package/dist/cjs/v6/pay.js +360 -42
- package/dist/cjs/v6/pay.js.map +1 -1
- package/dist/cjs/v6/uniswapV3.d.ts +21 -0
- package/dist/cjs/v6/uniswapV3.d.ts.map +1 -0
- package/dist/cjs/v6/uniswapV3.js +72 -0
- package/dist/cjs/v6/uniswapV3.js.map +1 -0
- package/dist/esm/review/heldWrite.js +2 -2
- package/dist/esm/review/heldWrite.js.map +1 -1
- package/dist/esm/review/messages.d.ts +3 -1
- package/dist/esm/review/messages.d.ts.map +1 -1
- package/dist/esm/review/messages.js +3 -1
- package/dist/esm/review/messages.js.map +1 -1
- package/dist/esm/review/writeHold.d.ts +9 -6
- package/dist/esm/review/writeHold.d.ts.map +1 -1
- package/dist/esm/review/writeHold.js +12 -4
- package/dist/esm/review/writeHold.js.map +1 -1
- package/dist/esm/review/writeRecovery.d.ts +3 -2
- package/dist/esm/review/writeRecovery.d.ts.map +1 -1
- package/dist/esm/review/writeRecovery.js +3 -2
- package/dist/esm/review/writeRecovery.js.map +1 -1
- package/dist/esm/v6/cashOut.d.ts.map +1 -1
- package/dist/esm/v6/cashOut.js +11 -39
- package/dist/esm/v6/cashOut.js.map +1 -1
- package/dist/esm/v6/defifa.d.ts +4 -2
- package/dist/esm/v6/defifa.d.ts.map +1 -1
- package/dist/esm/v6/defifa.js +10 -6
- package/dist/esm/v6/defifa.js.map +1 -1
- package/dist/esm/v6/executionErrors.d.ts +107 -0
- package/dist/esm/v6/executionErrors.d.ts.map +1 -0
- package/dist/esm/v6/executionErrors.js +367 -0
- package/dist/esm/v6/executionErrors.js.map +1 -0
- package/dist/esm/v6/index.d.ts +2 -0
- package/dist/esm/v6/index.d.ts.map +1 -1
- package/dist/esm/v6/index.js +2 -0
- package/dist/esm/v6/index.js.map +1 -1
- package/dist/esm/v6/pay.d.ts +32 -11
- package/dist/esm/v6/pay.d.ts.map +1 -1
- package/dist/esm/v6/pay.js +360 -43
- package/dist/esm/v6/pay.js.map +1 -1
- package/dist/esm/v6/uniswapV3.d.ts +21 -0
- package/dist/esm/v6/uniswapV3.d.ts.map +1 -0
- package/dist/esm/v6/uniswapV3.js +68 -0
- package/dist/esm/v6/uniswapV3.js.map +1 -0
- package/package.json +1 -1
package/dist/esm/v6/index.js
CHANGED
|
@@ -13,11 +13,13 @@ export * from "./priceFeeds.js";
|
|
|
13
13
|
export * from "./permit2.js";
|
|
14
14
|
export * from "./projectPayers.js";
|
|
15
15
|
export * from "./cashOut.js";
|
|
16
|
+
export { decodePayFailure, PAY_MAX_SLIPPAGE_BPS, payRetrySlippageBps, } from "./executionErrors.js";
|
|
16
17
|
export * from "./nft.js";
|
|
17
18
|
export * from "./nftInventory.js";
|
|
18
19
|
export * from "./defifa.js";
|
|
19
20
|
export { getDefifaHoldings, } from "./defifaHoldings.js";
|
|
20
21
|
export * from "./tokens.js";
|
|
22
|
+
export * from "./uniswapV3.js";
|
|
21
23
|
export * from "./uniswapV4.js";
|
|
22
24
|
export * from "./uniswapV4Fees.js";
|
|
23
25
|
export * from "./permissions.js";
|
package/dist/esm/v6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,iBAAiB,GAGlB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v6/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,iBAAiB,GAGlB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
|
package/dist/esm/v6/pay.d.ts
CHANGED
|
@@ -122,29 +122,50 @@ export interface PreparedUserPay {
|
|
|
122
122
|
preview: PayPreview;
|
|
123
123
|
minReturnedTokens: bigint;
|
|
124
124
|
}
|
|
125
|
+
/** `prepareUserPay`'s tolerance on its quote and fallback minimum: 1%. */
|
|
126
|
+
export declare const PAY_DEFAULT_SLIPPAGE_BPS = 100n;
|
|
125
127
|
/**
|
|
126
128
|
* Prepare a person's payment with {@link buildUserPayMetadata}: preview it,
|
|
127
129
|
* and set the minimum the terminal enforces on the beneficiary's balance.
|
|
128
130
|
*
|
|
129
|
-
* When the project's buyback hook
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
131
|
+
* When the project's buyback hook would swap, this quotes its pool (fee and
|
|
132
|
+
* price impact included) and sends the slippage-floored quote as an explicit
|
|
133
|
+
* minimum, so the payer gets the pool's rate whenever it
|
|
134
|
+
* beats minting. The hook compares that minimum to the swap output plus the
|
|
135
|
+
* leftover mint: the whole leftover mint when the swapped tokens go through
|
|
136
|
+
* the reserved split (`skipSplits` false, and always on hook 1.1.1, which
|
|
137
|
+
* ignores `skipSplits`), its beneficiary share when they skip it. The
|
|
138
|
+
* terminal minimum is the beneficiary's part of that guarantee, plus what the
|
|
139
|
+
* terminal issues itself (such as for NFT splits). The quoted payment is
|
|
140
|
+
* previewed again first, and stays on the mint path if the hook would not
|
|
141
|
+
* swap with that minimum. Without a quote the hook routes by its TWAP floor,
|
|
142
|
+
* which reaches zero on large buys against a thin pool and sends them to
|
|
143
|
+
* minting even when the pool pays far more.
|
|
136
144
|
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
145
|
+
* Behind a router terminal, its registry or its gateway, when the router
|
|
146
|
+
* converts the paid token first with one swap, the pool is the one in the
|
|
147
|
+
* token it converts to, quoted on what that swap is quoted to return. If the
|
|
148
|
+
* conversion returns noticeably less, the hook's minimum reverts the payment.
|
|
149
|
+
* If it returns more, the hook mints once minting reaches the minimum, which
|
|
150
|
+
* happens only when the pool beats minting by less than `slippageBps` plus
|
|
151
|
+
* that gain. The payer still receives at least the minimum, and no fixed
|
|
152
|
+
* minimum avoids this when the pool's edge is inside the conversion's
|
|
153
|
+
* uncertainty. Other routes, such as cashing a project token out first, keep
|
|
154
|
+
* the fallback.
|
|
155
|
+
*
|
|
156
|
+
* Otherwise (no pool, or a failed quote) the minimum is the payer's mint
|
|
139
157
|
* entitlement when the hook would swap, since the hook never settles below it,
|
|
140
|
-
* and the terminal's own issuance when it would not.
|
|
158
|
+
* and the terminal's own issuance when it would not. If the payment then
|
|
159
|
+
* reverts, {@link decodePayFailure} says why. To let the payer accept less,
|
|
160
|
+
* prepare again with a larger `slippageBps`: the hook's minimum is in the
|
|
161
|
+
* metadata, so lowering `minReturnedTokens` alone does not relax it.
|
|
141
162
|
*
|
|
142
163
|
* When the ruleset calls buyback hook 1.4 directly (or through the omnichain
|
|
143
164
|
* deployer) instead of through the registry, the metadata is keyed to the hook,
|
|
144
165
|
* which reads nothing else.
|
|
145
166
|
*
|
|
146
167
|
* @param args.slippageBps Tolerance on the pool quote and on the fallback
|
|
147
|
-
* minimum. Defaults to
|
|
168
|
+
* minimum. Defaults to {@link PAY_DEFAULT_SLIPPAGE_BPS}.
|
|
148
169
|
* @param args.skipSplits Whether the beneficiary keeps the swapped tokens
|
|
149
170
|
* without the reserved split. Defaults to true, as a person's pay card does;
|
|
150
171
|
* pass false for payments that should honor the project's splits, such as
|
package/dist/esm/v6/pay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,YAAY,EAIb,MAAM,MAAM,CAAC;AAMd,OAAO,EAEL,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/v6/pay.js
CHANGED
|
@@ -3,8 +3,10 @@ import { DEFAULT_ALLOW_OVERSPENDING, MAX_RESERVED_PERCENT, NATIVE_TOKEN, } from
|
|
|
3
3
|
import { jbBuybackHookRegistryAbi, jbMultiTerminalAbi, } from "../generated/juicebox.js";
|
|
4
4
|
import { createHookMetadata, hookMetadataId } from "../utils/hook.js";
|
|
5
5
|
import { slippageFloor } from "./cashOut.js";
|
|
6
|
+
import { getAccountingContexts } from "./terminals.js";
|
|
6
7
|
import { v6Address } from "./types.js";
|
|
7
|
-
import {
|
|
8
|
+
import { quoteUniswapV3ExactInputSingle } from "./uniswapV3.js";
|
|
9
|
+
import { quoteUniswapV4ExactInputSingle, uniswapV4PoolId, uniswapV4SwapDirection, } from "./uniswapV4.js";
|
|
8
10
|
/**
|
|
9
11
|
* Build a `pay(projectId, token, amount, beneficiary, minReturnedTokens, memo,
|
|
10
12
|
* metadata)` transaction request for a v6 terminal.
|
|
@@ -303,35 +305,293 @@ const poolKeyOfAbi = [
|
|
|
303
305
|
],
|
|
304
306
|
},
|
|
305
307
|
];
|
|
308
|
+
/** `prepareUserPay`'s tolerance on its quote and fallback minimum: 1%. */
|
|
309
|
+
export const PAY_DEFAULT_SLIPPAGE_BPS = 100n;
|
|
310
|
+
/**
|
|
311
|
+
* The buyback pool a payment's spec reports, and the terminal token it is
|
|
312
|
+
* keyed to, or null. A router converts the paid token first, so its pool is
|
|
313
|
+
* keyed to another token the project accepts. The pool id is the key's hash,
|
|
314
|
+
* so a match proves the key.
|
|
315
|
+
*/
|
|
316
|
+
async function buybackPoolOf(client, { chainId, hook, projectId, token, poolId, }) {
|
|
317
|
+
const poolOf = async (terminalToken) => ({
|
|
318
|
+
terminalToken,
|
|
319
|
+
key: await client.readContract({
|
|
320
|
+
address: hook,
|
|
321
|
+
abi: poolKeyOfAbi,
|
|
322
|
+
functionName: "poolKeyOf",
|
|
323
|
+
args: [
|
|
324
|
+
projectId,
|
|
325
|
+
terminalToken.toLowerCase() === NATIVE_TOKEN.toLowerCase()
|
|
326
|
+
? zeroAddress
|
|
327
|
+
: terminalToken,
|
|
328
|
+
],
|
|
329
|
+
}),
|
|
330
|
+
});
|
|
331
|
+
const paid = await poolOf(token);
|
|
332
|
+
if (uniswapV4PoolId(paid.key) === poolId)
|
|
333
|
+
return paid;
|
|
334
|
+
const contexts = await getAccountingContexts(client, { chainId, projectId });
|
|
335
|
+
const pools = await Promise.all(contexts
|
|
336
|
+
.filter((c) => c.token.toLowerCase() !== token.toLowerCase())
|
|
337
|
+
.map((c) => poolOf(c.token)));
|
|
338
|
+
return pools.find((p) => uniswapV4PoolId(p.key) === poolId) ?? null;
|
|
339
|
+
}
|
|
340
|
+
const previewPayForOutputs = jbMultiTerminalAbi.find((item) => item.type === "function" && item.name === "previewPayFor").outputs;
|
|
341
|
+
// Only these reads of the router and core: their full ABIs would weigh on every pay card.
|
|
342
|
+
const routerConversionAbi = [
|
|
343
|
+
{
|
|
344
|
+
type: "function",
|
|
345
|
+
name: "projectIdOf",
|
|
346
|
+
stateMutability: "view",
|
|
347
|
+
inputs: [{ name: "token", type: "address" }],
|
|
348
|
+
outputs: [{ name: "", type: "uint256" }],
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
type: "function",
|
|
352
|
+
name: "primaryTerminalOf",
|
|
353
|
+
stateMutability: "view",
|
|
354
|
+
inputs: [
|
|
355
|
+
{ name: "projectId", type: "uint256" },
|
|
356
|
+
{ name: "token", type: "address" },
|
|
357
|
+
],
|
|
358
|
+
outputs: [{ name: "", type: "address" }],
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
type: "function",
|
|
362
|
+
name: "previewTerminalPayOf",
|
|
363
|
+
stateMutability: "view",
|
|
364
|
+
inputs: [
|
|
365
|
+
{ name: "destTerminal", type: "address" },
|
|
366
|
+
{ name: "projectId", type: "uint256" },
|
|
367
|
+
{ name: "token", type: "address" },
|
|
368
|
+
{ name: "amount", type: "uint256" },
|
|
369
|
+
{ name: "beneficiary", type: "address" },
|
|
370
|
+
{ name: "metadata", type: "bytes" },
|
|
371
|
+
],
|
|
372
|
+
outputs: previewPayForOutputs,
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
type: "function",
|
|
376
|
+
name: "wrappedNativeToken",
|
|
377
|
+
stateMutability: "view",
|
|
378
|
+
inputs: [],
|
|
379
|
+
outputs: [{ name: "", type: "address" }],
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
type: "function",
|
|
383
|
+
name: "previewSwapAmountOutOf",
|
|
384
|
+
stateMutability: "view",
|
|
385
|
+
inputs: [
|
|
386
|
+
{ name: "tokenIn", type: "address" },
|
|
387
|
+
{ name: "tokenOut", type: "address" },
|
|
388
|
+
{ name: "amount", type: "uint256" },
|
|
389
|
+
{ name: "metadata", type: "bytes" },
|
|
390
|
+
],
|
|
391
|
+
outputs: [{ name: "amountOut", type: "uint256" }],
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
type: "function",
|
|
395
|
+
name: "discoverBestPool",
|
|
396
|
+
stateMutability: "view",
|
|
397
|
+
inputs: [
|
|
398
|
+
{ name: "normalizedTokenIn", type: "address" },
|
|
399
|
+
{ name: "normalizedTokenOut", type: "address" },
|
|
400
|
+
],
|
|
401
|
+
outputs: [
|
|
402
|
+
{
|
|
403
|
+
name: "",
|
|
404
|
+
type: "tuple",
|
|
405
|
+
components: [
|
|
406
|
+
{ name: "isV4", type: "bool" },
|
|
407
|
+
{ name: "v3Pool", type: "address" },
|
|
408
|
+
{
|
|
409
|
+
name: "v4Key",
|
|
410
|
+
type: "tuple",
|
|
411
|
+
components: [
|
|
412
|
+
{ name: "currency0", type: "address" },
|
|
413
|
+
{ name: "currency1", type: "address" },
|
|
414
|
+
{ name: "fee", type: "uint24" },
|
|
415
|
+
{ name: "tickSpacing", type: "int24" },
|
|
416
|
+
{ name: "hooks", type: "address" },
|
|
417
|
+
],
|
|
418
|
+
},
|
|
419
|
+
],
|
|
420
|
+
},
|
|
421
|
+
],
|
|
422
|
+
},
|
|
423
|
+
];
|
|
424
|
+
const v3PoolFeeAbi = [
|
|
425
|
+
{
|
|
426
|
+
type: "function",
|
|
427
|
+
name: "fee",
|
|
428
|
+
stateMutability: "view",
|
|
429
|
+
inputs: [],
|
|
430
|
+
outputs: [{ name: "", type: "uint24" }],
|
|
431
|
+
},
|
|
432
|
+
];
|
|
433
|
+
/**
|
|
434
|
+
* What the router terminal's swap of the whole payment into `tokenOut` is
|
|
435
|
+
* quoted to return (fee and price impact included), and the floor it reverts
|
|
436
|
+
* below, from the pool the router picks. Null when the route is not that one
|
|
437
|
+
* swap, such as when the router cashes a project token out first.
|
|
438
|
+
*/
|
|
439
|
+
async function routerConversionOf(client, { chainId, tokenIn, tokenOut, amount, }) {
|
|
440
|
+
const router = v6Address("JBRouterTerminal", chainId);
|
|
441
|
+
const [sourceProjectId, wrapped] = await Promise.all([
|
|
442
|
+
client.readContract({
|
|
443
|
+
address: v6Address("JBTokens", chainId),
|
|
444
|
+
abi: routerConversionAbi,
|
|
445
|
+
functionName: "projectIdOf",
|
|
446
|
+
args: [tokenIn],
|
|
447
|
+
}),
|
|
448
|
+
client.readContract({
|
|
449
|
+
address: router,
|
|
450
|
+
abi: routerConversionAbi,
|
|
451
|
+
functionName: "wrappedNativeToken",
|
|
452
|
+
}),
|
|
453
|
+
]);
|
|
454
|
+
// The router cashes a project token out before any swap.
|
|
455
|
+
if (sourceProjectId !== 0n)
|
|
456
|
+
return null;
|
|
457
|
+
const isNative = (t) => t.toLowerCase() === NATIVE_TOKEN.toLowerCase() ||
|
|
458
|
+
t.toLowerCase() === zeroAddress;
|
|
459
|
+
const wrap = (t) => (isNative(t) ? wrapped : t);
|
|
460
|
+
const [floor, pool] = await Promise.all([
|
|
461
|
+
client.readContract({
|
|
462
|
+
address: router,
|
|
463
|
+
abi: routerConversionAbi,
|
|
464
|
+
functionName: "previewSwapAmountOutOf",
|
|
465
|
+
args: [tokenIn, tokenOut, amount, "0x"],
|
|
466
|
+
}),
|
|
467
|
+
client.readContract({
|
|
468
|
+
address: router,
|
|
469
|
+
abi: routerConversionAbi,
|
|
470
|
+
functionName: "discoverBestPool",
|
|
471
|
+
args: [wrap(tokenIn), wrap(tokenOut)],
|
|
472
|
+
}),
|
|
473
|
+
]);
|
|
474
|
+
let expected;
|
|
475
|
+
if (pool.isV4) {
|
|
476
|
+
// V4 pools hold the native token itself, which the router uses for wrapped input.
|
|
477
|
+
const unwrap = (t) => wrap(t).toLowerCase() === wrapped.toLowerCase() ? zeroAddress : t;
|
|
478
|
+
const zeroForOne = uniswapV4SwapDirection({
|
|
479
|
+
poolKey: pool.v4Key,
|
|
480
|
+
tokenIn: unwrap(tokenIn),
|
|
481
|
+
tokenOut: unwrap(tokenOut),
|
|
482
|
+
});
|
|
483
|
+
if (zeroForOne === null)
|
|
484
|
+
return null;
|
|
485
|
+
expected = await quoteUniswapV4ExactInputSingle(client, {
|
|
486
|
+
chainId,
|
|
487
|
+
poolKey: pool.v4Key,
|
|
488
|
+
zeroForOne,
|
|
489
|
+
amountIn: amount,
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
else {
|
|
493
|
+
expected = await quoteUniswapV3ExactInputSingle(client, {
|
|
494
|
+
chainId,
|
|
495
|
+
tokenIn: wrap(tokenIn),
|
|
496
|
+
tokenOut: wrap(tokenOut),
|
|
497
|
+
fee: await client.readContract({
|
|
498
|
+
address: pool.v3Pool,
|
|
499
|
+
abi: v3PoolFeeAbi,
|
|
500
|
+
functionName: "fee",
|
|
501
|
+
}),
|
|
502
|
+
amountIn: amount,
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
return expected >= floor ? { expected, floor } : null;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* The buyback spec the destination returns when the router's conversion
|
|
509
|
+
* returns what it is quoted to, and the router's floor. The hook's input is
|
|
510
|
+
* the conversion less anything taken before it, such as an NFT split, and the
|
|
511
|
+
* hook mints instead of swapping once minting that input reaches a fixed
|
|
512
|
+
* minimum, so the minimum is set from this spec. Null when the route is not
|
|
513
|
+
* one swap of the whole payment.
|
|
514
|
+
*/
|
|
515
|
+
async function routedBuybackSpecOf(client, { chainId, projectId, tokenIn, tokenOut, amount, beneficiary, metadata, hook, reservedPercent, }) {
|
|
516
|
+
const conversion = await routerConversionOf(client, {
|
|
517
|
+
chainId,
|
|
518
|
+
tokenIn,
|
|
519
|
+
tokenOut,
|
|
520
|
+
amount,
|
|
521
|
+
});
|
|
522
|
+
if (!conversion)
|
|
523
|
+
return null;
|
|
524
|
+
const destination = await client.readContract({
|
|
525
|
+
address: v6Address("JBDirectory", chainId),
|
|
526
|
+
abi: routerConversionAbi,
|
|
527
|
+
functionName: "primaryTerminalOf",
|
|
528
|
+
args: [projectId, tokenOut],
|
|
529
|
+
});
|
|
530
|
+
const [, , , specs] = await client.readContract({
|
|
531
|
+
address: v6Address("JBRouterTerminal", chainId),
|
|
532
|
+
abi: routerConversionAbi,
|
|
533
|
+
functionName: "previewTerminalPayOf",
|
|
534
|
+
args: [
|
|
535
|
+
destination,
|
|
536
|
+
projectId,
|
|
537
|
+
tokenOut,
|
|
538
|
+
conversion.expected,
|
|
539
|
+
beneficiary,
|
|
540
|
+
metadata,
|
|
541
|
+
],
|
|
542
|
+
});
|
|
543
|
+
const raw = specs.find((s) => s.hook.toLowerCase() === hook.toLowerCase());
|
|
544
|
+
const spec = raw && decodeBuybackPaySpec(raw, reservedPercent);
|
|
545
|
+
return spec ? { spec, floor: conversion.floor } : null;
|
|
546
|
+
}
|
|
306
547
|
/**
|
|
307
548
|
* Prepare a person's payment with {@link buildUserPayMetadata}: preview it,
|
|
308
549
|
* and set the minimum the terminal enforces on the beneficiary's balance.
|
|
309
550
|
*
|
|
310
|
-
* When the project's buyback hook
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
316
|
-
*
|
|
551
|
+
* When the project's buyback hook would swap, this quotes its pool (fee and
|
|
552
|
+
* price impact included) and sends the slippage-floored quote as an explicit
|
|
553
|
+
* minimum, so the payer gets the pool's rate whenever it
|
|
554
|
+
* beats minting. The hook compares that minimum to the swap output plus the
|
|
555
|
+
* leftover mint: the whole leftover mint when the swapped tokens go through
|
|
556
|
+
* the reserved split (`skipSplits` false, and always on hook 1.1.1, which
|
|
557
|
+
* ignores `skipSplits`), its beneficiary share when they skip it. The
|
|
558
|
+
* terminal minimum is the beneficiary's part of that guarantee, plus what the
|
|
559
|
+
* terminal issues itself (such as for NFT splits). The quoted payment is
|
|
560
|
+
* previewed again first, and stays on the mint path if the hook would not
|
|
561
|
+
* swap with that minimum. Without a quote the hook routes by its TWAP floor,
|
|
562
|
+
* which reaches zero on large buys against a thin pool and sends them to
|
|
563
|
+
* minting even when the pool pays far more.
|
|
564
|
+
*
|
|
565
|
+
* Behind a router terminal, its registry or its gateway, when the router
|
|
566
|
+
* converts the paid token first with one swap, the pool is the one in the
|
|
567
|
+
* token it converts to, quoted on what that swap is quoted to return. If the
|
|
568
|
+
* conversion returns noticeably less, the hook's minimum reverts the payment.
|
|
569
|
+
* If it returns more, the hook mints once minting reaches the minimum, which
|
|
570
|
+
* happens only when the pool beats minting by less than `slippageBps` plus
|
|
571
|
+
* that gain. The payer still receives at least the minimum, and no fixed
|
|
572
|
+
* minimum avoids this when the pool's edge is inside the conversion's
|
|
573
|
+
* uncertainty. Other routes, such as cashing a project token out first, keep
|
|
574
|
+
* the fallback.
|
|
317
575
|
*
|
|
318
|
-
* Otherwise (no pool,
|
|
319
|
-
* failed quote) the hook routes by TWAP. The minimum is then the payer's mint
|
|
576
|
+
* Otherwise (no pool, or a failed quote) the minimum is the payer's mint
|
|
320
577
|
* entitlement when the hook would swap, since the hook never settles below it,
|
|
321
|
-
* and the terminal's own issuance when it would not.
|
|
578
|
+
* and the terminal's own issuance when it would not. If the payment then
|
|
579
|
+
* reverts, {@link decodePayFailure} says why. To let the payer accept less,
|
|
580
|
+
* prepare again with a larger `slippageBps`: the hook's minimum is in the
|
|
581
|
+
* metadata, so lowering `minReturnedTokens` alone does not relax it.
|
|
322
582
|
*
|
|
323
583
|
* When the ruleset calls buyback hook 1.4 directly (or through the omnichain
|
|
324
584
|
* deployer) instead of through the registry, the metadata is keyed to the hook,
|
|
325
585
|
* which reads nothing else.
|
|
326
586
|
*
|
|
327
587
|
* @param args.slippageBps Tolerance on the pool quote and on the fallback
|
|
328
|
-
* minimum. Defaults to
|
|
588
|
+
* minimum. Defaults to {@link PAY_DEFAULT_SLIPPAGE_BPS}.
|
|
329
589
|
* @param args.skipSplits Whether the beneficiary keeps the swapped tokens
|
|
330
590
|
* without the reserved split. Defaults to true, as a person's pay card does;
|
|
331
591
|
* pass false for payments that should honor the project's splits, such as
|
|
332
592
|
* fees or revenue routed into a project.
|
|
333
593
|
*/
|
|
334
|
-
export async function prepareUserPay(client, { tiers, slippageBps =
|
|
594
|
+
export async function prepareUserPay(client, { tiers, slippageBps = PAY_DEFAULT_SLIPPAGE_BPS, skipSplits = true, ...args }) {
|
|
335
595
|
const { chainId, projectId, token } = args;
|
|
336
596
|
let metadata = buildUserPayMetadata({ chainId, tiers, skipSplits });
|
|
337
597
|
let read = await readPay(client, { ...args, metadata });
|
|
@@ -353,47 +613,104 @@ export async function prepareUserPay(client, { tiers, slippageBps = 100n, skipSp
|
|
|
353
613
|
maxBigInt(mintEntitlementOf(buyback, weight) - 2n, 0n)
|
|
354
614
|
: terminalBeneficiaryTokenCount, slippageBps),
|
|
355
615
|
};
|
|
356
|
-
if (!buyback
|
|
616
|
+
if (!buyback || buyback.amountToSwapWith === 0n)
|
|
357
617
|
return fallback;
|
|
358
618
|
try {
|
|
359
|
-
const
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
token.toLowerCase() === NATIVE_TOKEN.toLowerCase()
|
|
366
|
-
? zeroAddress
|
|
367
|
-
: token,
|
|
368
|
-
],
|
|
619
|
+
const pool = await buybackPoolOf(client, {
|
|
620
|
+
chainId,
|
|
621
|
+
hook: buyback.hook,
|
|
622
|
+
projectId,
|
|
623
|
+
token,
|
|
624
|
+
poolId: buyback.poolId,
|
|
369
625
|
});
|
|
370
|
-
|
|
371
|
-
if (uniswapV4PoolId(poolKey) !== buyback.poolId)
|
|
626
|
+
if (!pool)
|
|
372
627
|
return fallback;
|
|
628
|
+
let swap = buyback;
|
|
629
|
+
if (pool.terminalToken !== token) {
|
|
630
|
+
// A router converts the payment first, and its preview gave the hook the
|
|
631
|
+
// router's slippage floor. A minimum quoted on that would let a normal
|
|
632
|
+
// conversion mint while the pool pays more, so quote what the hook
|
|
633
|
+
// receives when the conversion returns its quote. A conversion well
|
|
634
|
+
// below its quote then fails with a reason.
|
|
635
|
+
const routed = await routedBuybackSpecOf(client, {
|
|
636
|
+
chainId,
|
|
637
|
+
projectId,
|
|
638
|
+
tokenIn: token,
|
|
639
|
+
tokenOut: pool.terminalToken,
|
|
640
|
+
amount: args.amount,
|
|
641
|
+
beneficiary: args.beneficiary,
|
|
642
|
+
metadata,
|
|
643
|
+
hook: buyback.hook,
|
|
644
|
+
reservedPercent: buyback.reservedPercent,
|
|
645
|
+
});
|
|
646
|
+
// The floor preview must be this route's: no more than the floor reached the hook.
|
|
647
|
+
if (!routed ||
|
|
648
|
+
routed.floor < buyback.amountToSwapWith ||
|
|
649
|
+
routed.spec.poolId !== buyback.poolId) {
|
|
650
|
+
return fallback;
|
|
651
|
+
}
|
|
652
|
+
swap = routed.spec;
|
|
653
|
+
}
|
|
373
654
|
const quote = await quoteUniswapV4ExactInputSingle(client, {
|
|
374
655
|
chainId,
|
|
375
|
-
poolKey,
|
|
376
|
-
zeroForOne: !
|
|
377
|
-
amountIn:
|
|
656
|
+
poolKey: pool.key,
|
|
657
|
+
zeroForOne: !swap.projectTokenIs0,
|
|
658
|
+
amountIn: swap.amountToSwapWith,
|
|
378
659
|
});
|
|
379
660
|
const minimumSwapAmountOut = slippageFloor(quote, slippageBps);
|
|
380
661
|
// The pool loses to minting: leave the payment on the mint path.
|
|
381
|
-
if (minimumSwapAmountOut <=
|
|
662
|
+
if (minimumSwapAmountOut <= swap.tokenCountWithoutHook)
|
|
382
663
|
return fallback;
|
|
383
|
-
const
|
|
664
|
+
const quotedMetadata = buildUserPayMetadata({
|
|
665
|
+
chainId,
|
|
666
|
+
tiers,
|
|
667
|
+
minimumSwapAmountOut,
|
|
668
|
+
skipSplits,
|
|
669
|
+
...(hook ? { hook } : {}),
|
|
670
|
+
});
|
|
671
|
+
// The hook rejects a minimum it cannot route, such as on a pool with no
|
|
672
|
+
// liquidity in range, and then the payment stays on the mint path.
|
|
673
|
+
const [, quotedBeneficiaryCount, quotedReservedCount, quotedSpecs] = await client.readContract({
|
|
674
|
+
address: args.terminal,
|
|
675
|
+
abi: jbMultiTerminalAbi,
|
|
676
|
+
functionName: "previewPayFor",
|
|
677
|
+
args: [projectId, token, args.amount, args.beneficiary, quotedMetadata],
|
|
678
|
+
});
|
|
679
|
+
// It must still swap, and in the quoted pool: a router may pick another route.
|
|
680
|
+
const quotedSpec = quotedSpecs.find((s) => s.hook.toLowerCase() === buyback.hook.toLowerCase());
|
|
681
|
+
if (!quotedSpec ||
|
|
682
|
+
quotedSpec.noop ||
|
|
683
|
+
decodeBuybackPaySpec(quotedSpec, buyback.reservedPercent)?.poolId !==
|
|
684
|
+
buyback.poolId) {
|
|
685
|
+
return fallback;
|
|
686
|
+
}
|
|
687
|
+
// A router folds the hook's estimate into its counts, so only the
|
|
688
|
+
// multi-terminal's own counts are known to be its issuance.
|
|
689
|
+
const issuedByTerminal = args.terminal.toLowerCase() ===
|
|
690
|
+
v6Address("JBMultiTerminal", chainId).toLowerCase()
|
|
691
|
+
? {
|
|
692
|
+
beneficiaryTokenCount: quotedBeneficiaryCount,
|
|
693
|
+
reservedTokenCount: quotedReservedCount,
|
|
694
|
+
}
|
|
695
|
+
: { beneficiaryTokenCount: 0n, reservedTokenCount: 0n };
|
|
696
|
+
const directMint = directMintOf(swap, weight);
|
|
697
|
+
// The swapped tokens skip the split, or are reminted through it with the
|
|
698
|
+
// direct mint. The terminal's own issuance, such as for NFT splits, adds.
|
|
699
|
+
const settle = (swapTokenCount) => {
|
|
700
|
+
const split = swap.skipSplits
|
|
701
|
+
? splitOf(directMint, swap.reservedPercent)
|
|
702
|
+
: splitOf(swapTokenCount + directMint, swap.reservedPercent);
|
|
703
|
+
return {
|
|
704
|
+
beneficiaryTokenCount: (swap.skipSplits ? swapTokenCount : 0n) +
|
|
705
|
+
split.beneficiaryTokenCount +
|
|
706
|
+
issuedByTerminal.beneficiaryTokenCount,
|
|
707
|
+
reservedTokenCount: split.reservedTokenCount + issuedByTerminal.reservedTokenCount,
|
|
708
|
+
};
|
|
709
|
+
};
|
|
384
710
|
return {
|
|
385
|
-
metadata:
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
minimumSwapAmountOut,
|
|
389
|
-
skipSplits,
|
|
390
|
-
...(hook ? { hook } : {}),
|
|
391
|
-
}),
|
|
392
|
-
preview: {
|
|
393
|
-
beneficiaryTokenCount: quote + directMint.beneficiaryTokenCount,
|
|
394
|
-
reservedTokenCount: directMint.reservedTokenCount,
|
|
395
|
-
},
|
|
396
|
-
minReturnedTokens: minimumSwapAmountOut,
|
|
711
|
+
metadata: quotedMetadata,
|
|
712
|
+
preview: settle(quote),
|
|
713
|
+
minReturnedTokens: settle(minimumSwapAmountOut).beneficiaryTokenCount,
|
|
397
714
|
};
|
|
398
715
|
}
|
|
399
716
|
catch {
|
package/dist/esm/v6/pay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EACnB,UAAU,EACV,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACL,8BAA8B,EAC9B,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAexB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,EACX,iBAAiB,GAAG,EAAE,EACtB,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,IAAI,GAWhB;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;IAEpE,OAAO;QACL,OAAO;QACP,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,kBAAkB;QACvB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE;YACJ,SAAS;YACT,KAAK;YACL,MAAM;YACN,WAAW;YACX,iBAAiB;YACjB,IAAI;YACJ,QAAQ;SACT;QACD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;KAC9B,CAAC;AACJ,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,IAAkC;IAElC,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAkCD;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,IAA0B,EAC1B,sBAA8B;IAE9B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CACzB,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAS,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;QAC/B,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzB,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACpB,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAChB,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QACtB,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAC/B,UAAU,EAAE,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1C,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB;KACjE,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,OAAO,CAAC,UAAkB,EAAE,eAAuB;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACzC,MAAM,qBAAqB,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3E,OAAO;QACL,qBAAqB;QACrB,kBAAkB,EAAE,UAAU,GAAG,qBAAqB;KACvD,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,IAAoB,EAAE,MAAc;IACxD,OAAO,IAAI,CAAC,gBAAgB,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE;QAC5D,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW;QACrD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,MAAM,EACN,eAAe,GAAG,EAAE,EACpB,kBAAkB,GASnB;IACC,IAAI,IAAI,GAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC;IACrE,IACE,CAAC,WAAW;QACZ,qBAAqB,KAAK,EAAE;QAC5B,kBAAkB,KAAK,EAAE,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;YACvE,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,cAAc,GAClB,CAAC,OAAO,CAAC,cAAc;YACvB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,oBAAoB;YACjD,CAAC,CAAC,OAAO,CAAC,YAAY;YACtB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACnC,MAAM,SAAS,GAAG,OAAO,CACvB,OAAO,CAAC,UAAU;YAChB,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,cAAc,GAAG,oBAAoB,EACzC,OAAO,CAAC,eAAe,CACxB,CAAC;QACF,IAAI,OAAO,CAAC,UAAU;YAAE,SAAS,CAAC,qBAAqB,IAAI,cAAc,CAAC;QAE1E,IACE,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB;YAC5D,CAAC,SAAS,CAAC,qBAAqB,KAAK,IAAI,CAAC,qBAAqB;gBAC7D,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EACzD,CAAC;YACD,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAoB,EAAE,MAAc;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU;QAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB;QAC5B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,eAAe,CAAC;aACtD,qBAAqB,CAAC;IAC7B,OAAO,CACL,OAAO;QACP,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;aACtD,qBAAqB,CACzB,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,OAAO,CACpB,MAAoB,EACpB,EACE,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,EACX,QAAQ,GAAG,IAAI,GACc;IAW/B,MAAM,CACJ,OAAO,EACP,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EACnB,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAC5B,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,kBAAkB;QACvB,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC;KACxD,CAAC,CAAC;IACH,8EAA8E;IAC9E,MAAM,iBAAiB,GACrB,kBAAkB,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;QAChE,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,WAAW,GACf,iBAAiB;QACjB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC5B,CAAC,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,CAAC;IACZ,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAC3D,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAC1D;QACH,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,OAAO,EAAE,mBAAmB,CAAC;YAC3B,WAAW;YACX,qBAAqB;YACrB,kBAAkB;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe;YACf,kBAAkB;SACnB,CAAC;QACF,6BAA6B,EAAE,qBAAqB;QACpD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;QAClE,cAAc,EACZ,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC;QACtE,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,wFAAwF;AACxF,MAAM,kBAAkB,GAAG;IACzB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SACvC;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC3C,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE;iBAChD;aACF;SACF;KACF;CACO,CAAC;AAEX,KAAK,UAAU,mBAAmB,CAChC,MAAoB,EACpB,OAAkB,EAClB,SAAiB,EACjB,OAAkD;IAElD,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,OAAgB,EAAE,SAAkB,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC9C,SAAS,GAAG,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,UAAU,CACzB,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAC3E,CAAC;IACF,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,kBAAkB;QACvB,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3D,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,qBAAqB,CAClC,MAAoB,EACpB,OAAkB,EAClB,SAAiB;IAEjB,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,SAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6EAA6E;IAC7E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QACrC,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,QAAQ;QACtB,IAAI,EAAE,CAAC,SAAS,CAAC;KAClB,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAS5D,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;SAC3C;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;oBACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;iBACnC;aACF;SACF;KACF;CACO,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAoB,EACpB,EACE,KAAK,EACL,WAAW,GAAG,IAAI,EAClB,UAAU,GAAG,IAAI,EACjB,GAAG,IAAI,EAKR;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,QAAQ,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IACpE,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,4EAA4E;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACpC,IAAI,IAAI,EAAE,CAAC;QACT,QAAQ,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,EACJ,OAAO,EACP,6BAA6B,EAC7B,MAAM,EACN,OAAO,EACP,cAAc,GACf,GAAG,IAAI,CAAC;IACT,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAoB;QAChC,QAAQ;QACR,OAAO;QACP,iBAAiB,EAAE,aAAa,CAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;YACtB,CAAC,CAAC,uDAAuD;gBACvD,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;YACxD,CAAC,CAAC,6BAA6B,EACjC,WAAW,CACZ;KACF,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,gBAAgB,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACxC,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE;gBACJ,SAAS;gBACT,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;oBAChD,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,KAAK;aACV;SACF,CAAC,CAAC;QACH,0EAA0E;QAC1E,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,8BAA8B,CAAC,MAAM,EAAE;YACzD,OAAO;YACP,OAAO;YACP,UAAU,EAAE,CAAC,OAAO,CAAC,eAAe;YACpC,QAAQ,EAAE,OAAO,CAAC,gBAAgB;SACnC,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/D,iEAAiE;QACjE,IAAI,oBAAoB,IAAI,OAAO,CAAC,qBAAqB;YAAE,OAAO,QAAQ,CAAC;QAC3E,MAAM,UAAU,GAAG,OAAO,CACxB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAC7B,OAAO,CAAC,eAAe,CACxB,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,oBAAoB,CAAC;gBAC7B,OAAO;gBACP,KAAK;gBACL,oBAAoB;gBACpB,UAAU;gBACV,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1B,CAAC;YACF,OAAO,EAAE;gBACP,qBAAqB,EAAE,KAAK,GAAG,UAAU,CAAC,qBAAqB;gBAC/D,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;aAClD;YACD,iBAAiB,EAAE,oBAAoB;SACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,iBAAiB,GAAG,0BAA0B,GAO/C;IACC,MAAM,MAAM,GAAG,gBAAgB,IAAI,WAAW,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CACrC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EACxC,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;IAEF,OAAO,kBAAkB,CACvB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAC/B,CAAC,WAAW,CAAC,CACP,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,GAAG,KAAK,GAMnB;IACC,OAAO,kBAAkB,CACvB,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAC7B;QACE,mBAAmB,CACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAC5D,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,CAAC,CACrD;KACF,CACF,CAAC;AACJ,CAAC;AASD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,oBAAoB,GAAG,EAAE,EACzB,UAAU,GAAG,IAAI,EACjB,IAAI,GAAG,SAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC,GAOnD;IACC,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAU;QAClB,mBAAmB,CACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAC5D,CAAC,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,CACvC;KACF,CAAC;IACF,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CACP,mBAAmB,CACjB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EACxC;YACE,KAAK,CAAC,iBAAiB,IAAI,0BAA0B;YACrD,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;SAChC,CACF,CACF,CAAC;IACJ,CAAC;IACD,OAAO,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/v6/pay.ts"],"names":[],"mappings":"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"}
|