@bananapus/nana-sdk-core 2.12.2 → 2.13.0
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/bendystrawOperations.d.ts +38 -0
- package/dist/cjs/bendystrawOperations.d.ts.map +1 -0
- package/dist/cjs/bendystrawOperations.js +212 -0
- package/dist/cjs/bendystrawOperations.js.map +1 -0
- package/dist/cjs/review/contractWrite.d.ts +38 -0
- package/dist/cjs/review/contractWrite.d.ts.map +1 -0
- package/dist/cjs/review/contractWrite.js +57 -0
- package/dist/cjs/review/contractWrite.js.map +1 -0
- package/dist/cjs/review/gas.d.ts +28 -0
- package/dist/cjs/review/gas.d.ts.map +1 -0
- package/dist/cjs/review/gas.js +40 -0
- package/dist/cjs/review/gas.js.map +1 -0
- package/dist/cjs/review/index.d.ts +4 -0
- package/dist/cjs/review/index.d.ts.map +1 -0
- package/dist/cjs/review/index.js +20 -0
- package/dist/cjs/review/index.js.map +1 -0
- package/dist/cjs/review/transactionReview.d.ts +81 -0
- package/dist/cjs/review/transactionReview.d.ts.map +1 -0
- package/dist/cjs/review/transactionReview.js +203 -0
- package/dist/cjs/review/transactionReview.js.map +1 -0
- package/dist/cjs/safeService.d.ts +36 -0
- package/dist/cjs/safeService.d.ts.map +1 -0
- package/dist/cjs/safeService.js +142 -0
- package/dist/cjs/safeService.js.map +1 -0
- package/dist/cjs/utils/bendystraw.d.ts +15 -0
- package/dist/cjs/utils/bendystraw.d.ts.map +1 -1
- package/dist/cjs/utils/bendystraw.js +54 -0
- package/dist/cjs/utils/bendystraw.js.map +1 -1
- package/dist/cjs/v6/feeBuyback.d.ts +43 -0
- package/dist/cjs/v6/feeBuyback.d.ts.map +1 -0
- package/dist/cjs/v6/feeBuyback.js +306 -0
- package/dist/cjs/v6/feeBuyback.js.map +1 -0
- package/dist/esm/bendystrawOperations.d.ts +38 -0
- package/dist/esm/bendystrawOperations.d.ts.map +1 -0
- package/dist/esm/bendystrawOperations.js +206 -0
- package/dist/esm/bendystrawOperations.js.map +1 -0
- package/dist/esm/review/contractWrite.d.ts +38 -0
- package/dist/esm/review/contractWrite.d.ts.map +1 -0
- package/dist/esm/review/contractWrite.js +54 -0
- package/dist/esm/review/contractWrite.js.map +1 -0
- package/dist/esm/review/gas.d.ts +28 -0
- package/dist/esm/review/gas.d.ts.map +1 -0
- package/dist/esm/review/gas.js +36 -0
- package/dist/esm/review/gas.js.map +1 -0
- package/dist/esm/review/index.d.ts +4 -0
- package/dist/esm/review/index.d.ts.map +1 -0
- package/dist/esm/review/index.js +4 -0
- package/dist/esm/review/index.js.map +1 -0
- package/dist/esm/review/transactionReview.d.ts +81 -0
- package/dist/esm/review/transactionReview.d.ts.map +1 -0
- package/dist/esm/review/transactionReview.js +192 -0
- package/dist/esm/review/transactionReview.js.map +1 -0
- package/dist/esm/safeService.d.ts +36 -0
- package/dist/esm/safeService.d.ts.map +1 -0
- package/dist/esm/safeService.js +135 -0
- package/dist/esm/safeService.js.map +1 -0
- package/dist/esm/utils/bendystraw.d.ts +15 -0
- package/dist/esm/utils/bendystraw.d.ts.map +1 -1
- package/dist/esm/utils/bendystraw.js +53 -0
- package/dist/esm/utils/bendystraw.js.map +1 -1
- package/dist/esm/v6/feeBuyback.d.ts +43 -0
- package/dist/esm/v6/feeBuyback.d.ts.map +1 -0
- package/dist/esm/v6/feeBuyback.js +299 -0
- package/dist/esm/v6/feeBuyback.js.map +1 -0
- package/package.json +30 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.registerFundingChainSelectionHandler = registerFundingChainSelectionHandler;
|
|
5
|
+
exports.requireFundingChainSelection = requireFundingChainSelection;
|
|
6
|
+
exports.registerTransactionReviewHandler = registerTransactionReviewHandler;
|
|
7
|
+
exports.requestContractTransactionReview = requestContractTransactionReview;
|
|
8
|
+
exports.requireTransactionReview = requireTransactionReview;
|
|
9
|
+
exports.requireContractTransactionReview = requireContractTransactionReview;
|
|
10
|
+
exports.transactionReviewJson = transactionReviewJson;
|
|
11
|
+
exports.buildTransactionDebugPrompt = buildTransactionDebugPrompt;
|
|
12
|
+
exports.buildTransactionReviewPrompt = buildTransactionReviewPrompt;
|
|
13
|
+
const viem_1 = require("viem");
|
|
14
|
+
const transactionReviewHandlers = [];
|
|
15
|
+
const fundingChainSelectionHandlers = [];
|
|
16
|
+
function registerFundingChainSelectionHandler(handler) {
|
|
17
|
+
fundingChainSelectionHandlers.push(handler);
|
|
18
|
+
return () => {
|
|
19
|
+
const index = fundingChainSelectionHandlers.lastIndexOf(handler);
|
|
20
|
+
if (index >= 0)
|
|
21
|
+
fundingChainSelectionHandlers.splice(index, 1);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** Funding always requires an explicit choice, even with one quoted option. */
|
|
25
|
+
async function requireFundingChainSelection(options) {
|
|
26
|
+
const snapshot = options.map((option) => ({ ...option }));
|
|
27
|
+
const chainIds = new Set(snapshot.map((option) => option.chainId));
|
|
28
|
+
if (!snapshot.length ||
|
|
29
|
+
chainIds.size !== snapshot.length ||
|
|
30
|
+
snapshot.some((option) => !Number.isSafeInteger(option.chainId) ||
|
|
31
|
+
option.chainId <= 0 ||
|
|
32
|
+
!option.label.trim())) {
|
|
33
|
+
throw new Error("No valid funding chain choices are available. Request a new quote.");
|
|
34
|
+
}
|
|
35
|
+
const handler = fundingChainSelectionHandlers[fundingChainSelectionHandlers.length - 1];
|
|
36
|
+
if (!handler) {
|
|
37
|
+
throw new Error("Funding chain selection is unavailable. Reload the page before continuing.");
|
|
38
|
+
}
|
|
39
|
+
const selected = await handler(snapshot);
|
|
40
|
+
if (selected === null) {
|
|
41
|
+
throw new Error("Funding chain selection cancelled. Nothing was sent.");
|
|
42
|
+
}
|
|
43
|
+
if (!chainIds.has(selected)) {
|
|
44
|
+
throw new Error("The selected funding chain is not available in this quote.");
|
|
45
|
+
}
|
|
46
|
+
return selected;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The provider registers the only UI capable of approving a transaction.
|
|
50
|
+
* Keeping the entry point in a small client module lets non-React wallet
|
|
51
|
+
* helpers (Safe and Relayr) use the same mandatory review queue.
|
|
52
|
+
*/
|
|
53
|
+
function registerTransactionReviewHandler(handler) {
|
|
54
|
+
transactionReviewHandlers.push(handler);
|
|
55
|
+
return () => {
|
|
56
|
+
const index = transactionReviewHandlers.lastIndexOf(handler);
|
|
57
|
+
if (index >= 0)
|
|
58
|
+
transactionReviewHandlers.splice(index, 1);
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
async function requestTransactionReview(request) {
|
|
62
|
+
if (!request.calls.length && !request.authorization) {
|
|
63
|
+
throw new Error("There is no transaction to review.");
|
|
64
|
+
}
|
|
65
|
+
const transactionReviewHandler = transactionReviewHandlers[transactionReviewHandlers.length - 1];
|
|
66
|
+
if (!transactionReviewHandler) {
|
|
67
|
+
throw new Error("Transaction review is unavailable. Reload the page before continuing.");
|
|
68
|
+
}
|
|
69
|
+
return transactionReviewHandler(request);
|
|
70
|
+
}
|
|
71
|
+
/** Encode once for review using the same ABI/function/args passed to wagmi. */
|
|
72
|
+
function contractCallForReview(call, options = {}) {
|
|
73
|
+
const data = (0, viem_1.encodeFunctionData)({
|
|
74
|
+
abi: call.abi,
|
|
75
|
+
functionName: call.functionName,
|
|
76
|
+
args: call.args,
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
chainId: call.chainId,
|
|
80
|
+
to: call.address,
|
|
81
|
+
data,
|
|
82
|
+
value: call.value,
|
|
83
|
+
from: call.account,
|
|
84
|
+
abi: call.abi,
|
|
85
|
+
functionName: call.functionName,
|
|
86
|
+
args: call.args,
|
|
87
|
+
label: options.label,
|
|
88
|
+
contractName: options.contractName,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function requestContractTransactionReview(call, options = {}) {
|
|
92
|
+
const { label, contractName, ...requestOptions } = options;
|
|
93
|
+
const reviewed = contractCallForReview(call, { label, contractName });
|
|
94
|
+
return requestTransactionReview({
|
|
95
|
+
...requestOptions,
|
|
96
|
+
calls: [reviewed],
|
|
97
|
+
}).then((approved) => {
|
|
98
|
+
if (!approved)
|
|
99
|
+
return false;
|
|
100
|
+
const current = contractCallForReview(call, { label, contractName });
|
|
101
|
+
if (current.chainId !== reviewed.chainId ||
|
|
102
|
+
current.to.toLowerCase() !== reviewed.to.toLowerCase() ||
|
|
103
|
+
(current.value ?? 0n) !== (reviewed.value ?? 0n) ||
|
|
104
|
+
current.data !== reviewed.data) {
|
|
105
|
+
throw new Error("Transaction data changed after review. Nothing was sent; review it again.");
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
class TransactionReviewCancelledError extends Error {
|
|
111
|
+
constructor() {
|
|
112
|
+
super("Review closed. Nothing was sent.");
|
|
113
|
+
this.name = "TransactionReviewCancelledError";
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function requireTransactionReview(request) {
|
|
117
|
+
if (!(await requestTransactionReview(request))) {
|
|
118
|
+
throw new TransactionReviewCancelledError();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async function requireContractTransactionReview(call, options = {}) {
|
|
122
|
+
if (!(await requestContractTransactionReview(call, options))) {
|
|
123
|
+
throw new TransactionReviewCancelledError();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function transactionReviewJson(request) {
|
|
127
|
+
const transactions = request.calls.map((call) => ({
|
|
128
|
+
chainId: call.chainId,
|
|
129
|
+
from: call.from,
|
|
130
|
+
to: call.to,
|
|
131
|
+
value: `0x${(call.value ?? 0n).toString(16)}`,
|
|
132
|
+
data: call.data,
|
|
133
|
+
}));
|
|
134
|
+
const calls = transactions.length === 1 ? transactions[0] : { transactions };
|
|
135
|
+
const payload = request.authorization
|
|
136
|
+
? transactions.length > 0
|
|
137
|
+
? { authorization: request.authorization, resultingCall: calls }
|
|
138
|
+
: { authorization: request.authorization }
|
|
139
|
+
: calls;
|
|
140
|
+
return JSON.stringify(payload, (_, value) => (typeof value === "bigint" ? value.toString() : value), 2);
|
|
141
|
+
}
|
|
142
|
+
/** A website/-style prompt which keeps the exact reviewed RPC call intact. */
|
|
143
|
+
const ETHERSCAN_SKILL_LINE = "If your agent has Etherscan's skills installed (`npx skills add etherscan/skills`), run `etherscan-contract-review` on each target address to pull its verified source, proxy roles, and privileged controls before decoding. Otherwise work from the explorer pages.";
|
|
144
|
+
/**
|
|
145
|
+
* The post-transaction counterpart of the review prompt: a mined tx the user
|
|
146
|
+
* wants explained (or diagnosed) from explorer evidence. Points at Etherscan's
|
|
147
|
+
* transaction-debugger skill when the reader's agent has it, and degrades to
|
|
148
|
+
* the explorer page when it doesn't.
|
|
149
|
+
*/
|
|
150
|
+
function buildTransactionDebugPrompt(calls, { chainName: displayChainName, explorerOrigin }) {
|
|
151
|
+
const lines = [
|
|
152
|
+
"A Juicebox V6 transaction (the nana V6 / revnet V6 protocol release, not an older Juicebox version) was mined. Explain what happened in it and whether it did what a Juicebox user would expect.",
|
|
153
|
+
"",
|
|
154
|
+
];
|
|
155
|
+
calls.forEach((call) => {
|
|
156
|
+
const explorer = explorerOrigin(call.chainId);
|
|
157
|
+
lines.push(`- ${displayChainName(call.chainId)} (chain ${call.chainId}): ${explorer ? `${explorer}/tx/${call.txHash}` : call.txHash}`);
|
|
158
|
+
});
|
|
159
|
+
lines.push("", "If your agent has Etherscan's skills installed (`npx skills add etherscan/skills`), use `etherscan-transaction-debugger` in security mode on each hash. Otherwise work from the explorer page: receipt status, decoded input, event logs, and internal transactions.", "", "Verify contract source only against the Juicebox V6 repositories: https://github.com/Bananapus/version-6 (repositories ending in `-v6`; same-named repositories without that suffix are older versions).", "", "Report the decoded method and arguments, every native and token movement with its recipient, every permission, ownership, or ruleset change, and, if it reverted, the narrowest root cause the evidence supports. Mark each claim observed, derived, or inferred. Never invent a function name, amount, or revert reason. End with one line: what the transaction did in plain English, and anything that looks wrong.");
|
|
160
|
+
return lines.join("\n");
|
|
161
|
+
}
|
|
162
|
+
function buildTransactionReviewPrompt(request, { explorerOrigin }) {
|
|
163
|
+
const lines = [
|
|
164
|
+
"I'm about to authorize a blockchain transaction in the Juicebox V6 app (the nana V6 / revnet V6 protocol release, not an older Juicebox version). Act as a careful security reviewer. Independently verify the payload against the deployed contracts and V6 source, confirm it matches my intent, and give a go/no-go. Assume the UI could be spoofed; trust the onchain call and verified V6 source over the page.",
|
|
165
|
+
"",
|
|
166
|
+
"Exact app-controlled transaction payload:",
|
|
167
|
+
"```json",
|
|
168
|
+
transactionReviewJson(request),
|
|
169
|
+
"```",
|
|
170
|
+
"",
|
|
171
|
+
];
|
|
172
|
+
if (typeof window !== "undefined") {
|
|
173
|
+
lines.push("Audit the app build I am using:");
|
|
174
|
+
lines.push(`- Page: ${window.location.href}`);
|
|
175
|
+
lines.push("- Confirm this page builds exactly the destination, native value, and calldata above, with no hidden or substituted call.");
|
|
176
|
+
lines.push("");
|
|
177
|
+
}
|
|
178
|
+
lines.push("Verify the contracts and protocol version:");
|
|
179
|
+
lines.push("- Juicebox V6 ecosystem source: https://github.com/Bananapus/version-6");
|
|
180
|
+
lines.push("- Use only V6 repositories (normally ending in `-v6`); same-named repositories without that suffix may be older and incompatible.");
|
|
181
|
+
lines.push(`- ${ETHERSCAN_SKILL_LINE}`);
|
|
182
|
+
request.calls.forEach((call, index) => {
|
|
183
|
+
// Apps pass their one explorer registry; a second copy once drifted on OP mainnet.
|
|
184
|
+
const explorer = explorerOrigin(call.chainId);
|
|
185
|
+
const prefix = request.calls.length > 1 ? `Transaction ${index + 1}` : "Target";
|
|
186
|
+
lines.push(explorer
|
|
187
|
+
? `- ${prefix} onchain: ${explorer}/address/${call.to}`
|
|
188
|
+
: `- ${prefix}: chain ${call.chainId}, address ${call.to}`);
|
|
189
|
+
});
|
|
190
|
+
lines.push("");
|
|
191
|
+
lines.push("Check specifically:");
|
|
192
|
+
lines.push("1. Decode the calldata selector and every argument. Explain in plain English what state, permissions, ownership, tokens, or funds can change.");
|
|
193
|
+
lines.push("2. Verify the chain ID, `to` address, native `value`, and calldata exactly. Flag any unexpected non-zero value or unknown target.");
|
|
194
|
+
lines.push("3. Identify every beneficiary, recipient, spender, operator, owner, hook, terminal, and permission-bearing address in the decoded arguments.");
|
|
195
|
+
lines.push("4. Warn about unlimited approvals, arbitrary-call capability, delegatecalls, ownership transfers, permission grants, upgradeability, or drain paths.");
|
|
196
|
+
lines.push("5. For multiple chains, confirm the intended change is consistent and that no extra chain or call was added.");
|
|
197
|
+
lines.push("");
|
|
198
|
+
lines.push("Before your verdict, quiz me with 2–4 short plain-English questions about what I expect to happen (what changes, who receives or controls what, how much value moves, and on which chain). Wait for my answers, compare them with the decoded payload, and flag every mismatch.");
|
|
199
|
+
lines.push("");
|
|
200
|
+
lines.push("End with one verdict: SAFE TO SIGN / DO NOT SIGN / NEEDS MORE INFO, followed by the most important reasons. If the target is not a recognizable verified Juicebox V6 deployment, say so explicitly.");
|
|
201
|
+
return lines.join("\n");
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=transactionReview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionReview.js","sourceRoot":"","sources":["../../../src/review/transactionReview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* Safe's per-chain app URL prefix. Wider than {@link SAFE_SERVICE_PREFIX}:
|
|
4
|
+
* Safe app links work on chains without a hosted transaction service.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SAFE_PREFIX: Partial<Record<number, string>>;
|
|
7
|
+
/**
|
|
8
|
+
* Chains with a HOSTED Safe Transaction Service — a smaller set than the
|
|
9
|
+
* chains Safe app links work on: `api.safe.global/tx-service/{opsepolia,
|
|
10
|
+
* arb1-sep}` both 404, while `basesep` is live. Probed against
|
|
11
|
+
* `/api/v1/about/`. This split from {@link SAFE_PREFIX} is DELIBERATE:
|
|
12
|
+
* conflating the two maps is what made service calls fire at chains with
|
|
13
|
+
* none. Every tx-service URL must come from here, never from `SAFE_PREFIX`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SAFE_SERVICE_PREFIX: Partial<Record<number, string>>;
|
|
16
|
+
/** The Safe Transaction Service base URL for a chain, honoring the
|
|
17
|
+
* `jb-safe-tx-base` localStorage override; null when the chain has none. */
|
|
18
|
+
export declare function safeServiceBase(chainId: number): string | null;
|
|
19
|
+
export declare const SAFE_NONCE_GUIDANCE = "On Safe\u2019s confirmation screen, Nonce defaults to the next available value. Open its dropdown to see queued nonces and replace one if desired.";
|
|
20
|
+
/** The unix deadline for a swap/liquidity transaction proposed now. */
|
|
21
|
+
export declare function swapDeadline(isSafe: boolean, nowMs?: number): bigint;
|
|
22
|
+
export declare function safeQueueUrl(chainId: number, safe: Address): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a Safe proposal identifier to its actual onchain execution hash.
|
|
25
|
+
* A safeTxHash is not a transaction hash and must never be receipt-polled.
|
|
26
|
+
*
|
|
27
|
+
* The polling URL comes from {@link safeServiceBase} (the hosted-service
|
|
28
|
+
* map), NOT `SAFE_PREFIX`: OP Sepolia and Arbitrum Sepolia have Safe app
|
|
29
|
+
* URLs but no hosted transaction service, and polling a nonexistent service
|
|
30
|
+
* left every Safe write there pending forever.
|
|
31
|
+
*/
|
|
32
|
+
export declare function waitForSafeExecutionHash(chainId: number, safeTxHash: Hex, options?: {
|
|
33
|
+
pollingIntervalMs?: number;
|
|
34
|
+
signal?: AbortSignal;
|
|
35
|
+
}): Promise<Hex>;
|
|
36
|
+
//# sourceMappingURL=safeService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeService.d.ts","sourceRoot":"","sources":["../../src/safeService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASvD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO/D,CAAC;AAEF;6EAC6E;AAC7E,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW9D;AAED,eAAO,MAAM,mBAAmB,uJACiH,CAAC;AAUlJ,uEAAuE;AACvE,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,KAAK,GAAE,MAAmB,GACzB,MAAM,CAKR;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAK1E;AAWD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,GAAG,EACf,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACjE,OAAO,CAAC,GAAG,CAAC,CAiEd"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SAFE_NONCE_GUIDANCE = exports.SAFE_SERVICE_PREFIX = exports.SAFE_PREFIX = void 0;
|
|
4
|
+
exports.safeServiceBase = safeServiceBase;
|
|
5
|
+
exports.swapDeadline = swapDeadline;
|
|
6
|
+
exports.safeQueueUrl = safeQueueUrl;
|
|
7
|
+
exports.waitForSafeExecutionHash = waitForSafeExecutionHash;
|
|
8
|
+
/**
|
|
9
|
+
* Safe's per-chain app URL prefix. Wider than {@link SAFE_SERVICE_PREFIX}:
|
|
10
|
+
* Safe app links work on chains without a hosted transaction service.
|
|
11
|
+
*/
|
|
12
|
+
exports.SAFE_PREFIX = {
|
|
13
|
+
1: "eth",
|
|
14
|
+
10: "oeth",
|
|
15
|
+
8453: "base",
|
|
16
|
+
42161: "arb1",
|
|
17
|
+
11155111: "sep",
|
|
18
|
+
11155420: "opsepolia",
|
|
19
|
+
84532: "basesep",
|
|
20
|
+
421614: "arb1-sep",
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Chains with a HOSTED Safe Transaction Service — a smaller set than the
|
|
24
|
+
* chains Safe app links work on: `api.safe.global/tx-service/{opsepolia,
|
|
25
|
+
* arb1-sep}` both 404, while `basesep` is live. Probed against
|
|
26
|
+
* `/api/v1/about/`. This split from {@link SAFE_PREFIX} is DELIBERATE:
|
|
27
|
+
* conflating the two maps is what made service calls fire at chains with
|
|
28
|
+
* none. Every tx-service URL must come from here, never from `SAFE_PREFIX`.
|
|
29
|
+
*/
|
|
30
|
+
exports.SAFE_SERVICE_PREFIX = {
|
|
31
|
+
1: "eth",
|
|
32
|
+
10: "oeth",
|
|
33
|
+
8453: "base",
|
|
34
|
+
42161: "arb1",
|
|
35
|
+
11155111: "sep",
|
|
36
|
+
84532: "basesep",
|
|
37
|
+
};
|
|
38
|
+
/** The Safe Transaction Service base URL for a chain, honoring the
|
|
39
|
+
* `jb-safe-tx-base` localStorage override; null when the chain has none. */
|
|
40
|
+
function safeServiceBase(chainId) {
|
|
41
|
+
try {
|
|
42
|
+
const custom = JSON.parse(globalThis.localStorage?.getItem("jb-safe-tx-base") ?? "null");
|
|
43
|
+
if (custom?.[chainId])
|
|
44
|
+
return custom[chainId].replace(/\/$/, "");
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Local overrides are optional.
|
|
48
|
+
}
|
|
49
|
+
const prefix = exports.SAFE_SERVICE_PREFIX[chainId];
|
|
50
|
+
return prefix ? `https://api.safe.global/tx-service/${prefix}` : null;
|
|
51
|
+
}
|
|
52
|
+
exports.SAFE_NONCE_GUIDANCE = "On Safe’s confirmation screen, Nonce defaults to the next available value. Open its dropdown to see queued nonces and replace one if desired.";
|
|
53
|
+
/** Swap/mint execution deadline seconds: 20 minutes for an EOA, whose review
|
|
54
|
+
* and signature are one sitting. */
|
|
55
|
+
const SWAP_DEADLINE_SECONDS = 20 * 60;
|
|
56
|
+
/** Safe deadline seconds: co-signer collection routinely outlives 20 minutes,
|
|
57
|
+
* so match the 30-day Permit2 approval windows. The longer window widens MEV
|
|
58
|
+
* exposure only within the swap's already-frozen slippage floor. */
|
|
59
|
+
const SAFE_SWAP_DEADLINE_SECONDS = 30 * 24 * 60 * 60;
|
|
60
|
+
/** The unix deadline for a swap/liquidity transaction proposed now. */
|
|
61
|
+
function swapDeadline(isSafe, nowMs = Date.now()) {
|
|
62
|
+
return BigInt(Math.floor(nowMs / 1000) +
|
|
63
|
+
(isSafe ? SAFE_SWAP_DEADLINE_SECONDS : SWAP_DEADLINE_SECONDS));
|
|
64
|
+
}
|
|
65
|
+
function safeQueueUrl(chainId, safe) {
|
|
66
|
+
const prefix = exports.SAFE_PREFIX[chainId];
|
|
67
|
+
return prefix
|
|
68
|
+
? `https://app.safe.global/transactions/queue?safe=${prefix}:${safe}`
|
|
69
|
+
: null;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Consecutive 404s from the transaction service before the wait gives up. The
|
|
73
|
+
* service can lag a just-created proposal briefly, but a sustained 404 means
|
|
74
|
+
* it will never report this proposal (wrong network or an unhosted chain that
|
|
75
|
+
* slipped through) — polling forever just strands the flow at "pending".
|
|
76
|
+
* At the default 5s interval this is about a minute of patience.
|
|
77
|
+
*/
|
|
78
|
+
const SAFE_EXECUTION_NOT_FOUND_LIMIT = 12;
|
|
79
|
+
/**
|
|
80
|
+
* Resolve a Safe proposal identifier to its actual onchain execution hash.
|
|
81
|
+
* A safeTxHash is not a transaction hash and must never be receipt-polled.
|
|
82
|
+
*
|
|
83
|
+
* The polling URL comes from {@link safeServiceBase} (the hosted-service
|
|
84
|
+
* map), NOT `SAFE_PREFIX`: OP Sepolia and Arbitrum Sepolia have Safe app
|
|
85
|
+
* URLs but no hosted transaction service, and polling a nonexistent service
|
|
86
|
+
* left every Safe write there pending forever.
|
|
87
|
+
*/
|
|
88
|
+
async function waitForSafeExecutionHash(chainId, safeTxHash, options = {}) {
|
|
89
|
+
const base = safeServiceBase(chainId);
|
|
90
|
+
if (!base) {
|
|
91
|
+
throw new Error(`Safe does not host a transaction service on chain ${chainId}, so this proposal cannot be tracked here. Execute it from the Safe app; the action takes effect once it is executed there.`);
|
|
92
|
+
}
|
|
93
|
+
const interval = options.pollingIntervalMs ?? 5_000;
|
|
94
|
+
const endpoint = `${base}/api/v1/multisig-transactions/${safeTxHash}/`;
|
|
95
|
+
let consecutiveNotFound = 0;
|
|
96
|
+
for (;;) {
|
|
97
|
+
if (options.signal?.aborted) {
|
|
98
|
+
throw new DOMException("Safe execution wait aborted", "AbortError");
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
const response = await fetch(endpoint);
|
|
102
|
+
if (response.ok) {
|
|
103
|
+
consecutiveNotFound = 0;
|
|
104
|
+
const transaction = (await response.json());
|
|
105
|
+
if (transaction.isExecuted && transaction.isSuccessful === false) {
|
|
106
|
+
throw new Error("Safe executed the proposal, but the onchain transaction failed.");
|
|
107
|
+
}
|
|
108
|
+
if (transaction.isExecuted && transaction.transactionHash) {
|
|
109
|
+
return transaction.transactionHash;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (response.status === 404) {
|
|
113
|
+
consecutiveNotFound += 1;
|
|
114
|
+
if (consecutiveNotFound >= SAFE_EXECUTION_NOT_FOUND_LIMIT) {
|
|
115
|
+
throw new Error("Safe’s transaction service has no record of this proposal. Tracking cannot continue here — check the proposal in the Safe app; if it exists there, it will still take effect once executed.");
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (error instanceof Error &&
|
|
121
|
+
/executed the proposal.*failed|no record of this proposal/i.test(error.message)) {
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
// Other service/network failures are transient. Keep the already-created
|
|
125
|
+
// proposal pending instead of inviting a duplicate submission.
|
|
126
|
+
}
|
|
127
|
+
await new Promise((resolve, reject) => {
|
|
128
|
+
function onAbort() {
|
|
129
|
+
clearTimeout(timer);
|
|
130
|
+
reject(new DOMException("Safe execution wait aborted", "AbortError"));
|
|
131
|
+
}
|
|
132
|
+
const timer = setTimeout(() => {
|
|
133
|
+
options.signal?.removeEventListener("abort", onAbort);
|
|
134
|
+
resolve();
|
|
135
|
+
}, interval);
|
|
136
|
+
options.signal?.addEventListener("abort", onAbort, { once: true });
|
|
137
|
+
if (options.signal?.aborted)
|
|
138
|
+
onAbort();
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=safeService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeService.js","sourceRoot":"","sources":["../../src/safeService.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,4 +118,19 @@ export declare function matchesBendystrawProjectRef(row: BendystrawProjectRow, r
|
|
|
118
118
|
* @throws {BendystrawTimeoutError} When every attempt timed out.
|
|
119
119
|
*/
|
|
120
120
|
export declare function requestBendystraw<TResult, TVariables extends object = Record<string, never>>(endpoint: string, query: string, variables: TVariables, options?: BendystrawRequestOptions<TResult, TVariables>): Promise<TResult>;
|
|
121
|
+
/** The index row fields {@link resolveProjectDeployments} reads. */
|
|
122
|
+
export type BendystrawDeploymentRow = {
|
|
123
|
+
chainId: number;
|
|
124
|
+
projectId: number;
|
|
125
|
+
version: number;
|
|
126
|
+
suckerGroupId?: string | null;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Turn a sucker-group response into verified per-chain deployments for the
|
|
130
|
+
* exact project route which loaded it. A linked project may have a different
|
|
131
|
+
* project ID on every chain. Conflicting rows are therefore never repaired by
|
|
132
|
+
* copying the home ID: the route chain fails closed to home-only, while an
|
|
133
|
+
* ambiguous remote chain is omitted.
|
|
134
|
+
*/
|
|
135
|
+
export declare function resolveProjectDeployments<T extends BendystrawDeploymentRow>(home: T, members: readonly T[]): T[];
|
|
121
136
|
//# sourceMappingURL=bendystraw.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bendystraw.d.ts","sourceRoot":"","sources":["../../../src/utils/bendystraw.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bendystraw.d.ts","sourceRoot":"","sources":["../../../src/utils/bendystraw.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ exports.bendystrawProjectRefsFilter = bendystrawProjectRefsFilter;
|
|
|
14
14
|
exports.bendystrawProjectRefsFilters = bendystrawProjectRefsFilters;
|
|
15
15
|
exports.matchesBendystrawProjectRef = matchesBendystrawProjectRef;
|
|
16
16
|
exports.requestBendystraw = requestBendystraw;
|
|
17
|
+
exports.resolveProjectDeployments = resolveProjectDeployments;
|
|
17
18
|
const constants_js_1 = require("../constants.js");
|
|
18
19
|
exports.BENDYSTRAW_TIMEOUT_MS = 15_000;
|
|
19
20
|
exports.MAX_BENDYSTRAW_RESPONSE_BYTES = 5 * 1024 * 1024;
|
|
@@ -404,4 +405,57 @@ async function requestBendystraw(endpoint, query, variables, options = {}) {
|
|
|
404
405
|
await delay(retryDelaysMs[attempt]);
|
|
405
406
|
}
|
|
406
407
|
}
|
|
408
|
+
/**
|
|
409
|
+
* Turn a sucker-group response into verified per-chain deployments for the
|
|
410
|
+
* exact project route which loaded it. A linked project may have a different
|
|
411
|
+
* project ID on every chain. Conflicting rows are therefore never repaired by
|
|
412
|
+
* copying the home ID: the route chain fails closed to home-only, while an
|
|
413
|
+
* ambiguous remote chain is omitted.
|
|
414
|
+
*/
|
|
415
|
+
function resolveProjectDeployments(home, members) {
|
|
416
|
+
const homeOnly = [home];
|
|
417
|
+
if (!home.suckerGroupId)
|
|
418
|
+
return homeOnly;
|
|
419
|
+
const isUsable = (member) => member.version === 6 &&
|
|
420
|
+
Number.isSafeInteger(member.chainId) &&
|
|
421
|
+
member.chainId > 0 &&
|
|
422
|
+
Number.isSafeInteger(member.projectId) &&
|
|
423
|
+
member.projectId > 0;
|
|
424
|
+
// A group which identifies another project on the route's own chain cannot
|
|
425
|
+
// authorize any remote identity for this route.
|
|
426
|
+
if (members.some((member) => isUsable(member) &&
|
|
427
|
+
member.chainId === home.chainId &&
|
|
428
|
+
member.projectId !== home.projectId)) {
|
|
429
|
+
return homeOnly;
|
|
430
|
+
}
|
|
431
|
+
const reportedIdByChain = new Map();
|
|
432
|
+
const conflictedChains = new Set();
|
|
433
|
+
for (const member of members) {
|
|
434
|
+
if (!isUsable(member) || member.chainId === home.chainId)
|
|
435
|
+
continue;
|
|
436
|
+
const reported = reportedIdByChain.get(member.chainId);
|
|
437
|
+
if (reported !== undefined && reported !== member.projectId) {
|
|
438
|
+
conflictedChains.add(member.chainId);
|
|
439
|
+
}
|
|
440
|
+
else if (reported === undefined) {
|
|
441
|
+
reportedIdByChain.set(member.chainId, member.projectId);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
const byChain = new Map([[home.chainId, home]]);
|
|
445
|
+
for (const member of members) {
|
|
446
|
+
if (!isUsable(member) ||
|
|
447
|
+
member.suckerGroupId !== home.suckerGroupId ||
|
|
448
|
+
conflictedChains.has(member.chainId)) {
|
|
449
|
+
continue;
|
|
450
|
+
}
|
|
451
|
+
if (member.chainId === home.chainId)
|
|
452
|
+
continue;
|
|
453
|
+
const existing = byChain.get(member.chainId);
|
|
454
|
+
if (existing && existing.projectId !== member.projectId)
|
|
455
|
+
continue;
|
|
456
|
+
if (!existing)
|
|
457
|
+
byChain.set(member.chainId, member);
|
|
458
|
+
}
|
|
459
|
+
return [...byChain.values()].sort((a, b) => a.chainId - b.chainId);
|
|
460
|
+
}
|
|
407
461
|
//# sourceMappingURL=bendystraw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bendystraw.js","sourceRoot":"","sources":["../../../src/utils/bendystraw.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bendystraw.js","sourceRoot":"","sources":["../../../src/utils/bendystraw.ts"],"names":[],"mappings":";;;AAkIA,4DAoCC;AAGD,kEAWC;AAGD,4DAOC;AAED,gDAIC;AAGD,0DAMC;AAED,oDAYC;AAED,8DAYC;AAaD,gDAEC;AAwBD,gEAWC;AAMD,kEAkBC;AAOD,oEA2BC;AAOD,kEAsBC;AAuED,8CAuIC;AAiBD,8DAyDC;AA1oBD,kDAA4C;AAE/B,QAAA,qBAAqB,GAAG,MAAM,CAAC;AAC/B,QAAA,6BAA6B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,QAAA,iCAAiC,GAAG,GAAG,CAAC;AACxC,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;CACN,CAAC;AAEX,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,CAAU,CAAC;AAC5C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AA+BnE,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,YACE,OAAe,EACN,MAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAS;QAGxB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AARD,wDAQC;AAED;;;;;;;;GAQG;AACH,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAqB,SAAiB;QACpC,KAAK,CAAC,sCAAsC,SAAS,IAAI,CAAC,CAAC;QADxC,cAAS,GAAT,SAAS,CAAQ;QAEpC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AALD,wDAKC;AAgBD,SAAS,yBAAyB,CAChC,KAAc,EACd,QAAqB,EACrB,KAAK,GAAG,CAAC;IAET,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IACxD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE;oBAC/C,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;oBACnB,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,QAAQ,GAAG,wBAAS,CAAC,OAAiC,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,SAAS,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,YAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;QACpD,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,yBAAyB,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAC3D,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACjB,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IACE,SAAS,CAAC,OAAO;QACjB,eAAe;QACf,SAAS,CAAC,OAAO,KAAK,eAAe,EACrC,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,sBAAsB,SAAS,CAAC,OAAO,mBAAmB,eAAe,kBAAkB,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,CACL,SAAS,CAAC,OAAO;QACjB,eAAe;QACf,SAAS,CAAC,cAAc;QACxB,SAAS,CACV,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAgB,2BAA2B,CAAC,QAAgB;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ;SAC3B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC;IACjC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,8EAA8E;AAC9E,SAAgB,wBAAwB,CACtC,SAA8B,EAC9B,YAAwC,EAAE;IAE1C,OAAO,2BAA2B,CAChC,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,KAAc;IAEd,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,8EAA8E;AAC9E,SAAgB,uBAAuB,CACrC,GAAG,MAAuB;IAE1B,OAAO,CAAC,KAAK,EAAkC,EAAE,CAC/C,kBAAkB,CAAC,KAAK,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAc,EACd,SAAiC,EACjC,aAAa,GAAG,sBAAsB;IAEtC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAC9B,GAAG,aAAa,wBAAwB,EACxC,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,yBAAyB,CACvC,KAAc,EACd,SAAiC,EACjC,aAAa,GAAG,sBAAsB;IAEtC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAC9B,GAAG,aAAa,6BAA6B,EAC7C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAAC,MAA6B;IAC9D,OAAO,+BAAuB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAyB;IAEzB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACjC,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;QAClC,GAAG,CAAC,OAAO,IAAI,CAAC;QAChB,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;QACpC,GAAG,CAAC,SAAS,IAAI,CAAC;QAClB,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC,EACZ,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CACxC,GAAyB;IAEzB,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,EAAE;YACH,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE;YAC/B,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACnC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE;SAChC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CACzC,IAAqC;IAErC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAC;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CACR,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,EACrE,UAAU,CACX,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAgB,4BAA4B,CAC1C,IAAqC,EACrC,SAAS,GAAG,yCAAiC;IAE7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAC;IACjE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CACR,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,EACrE,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,UAAU;iBACX,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;iBAC/B,GAAG,CAAC,0BAA0B,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,GAAyB,EACzB,IAAqC;IAErC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9B,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;QAChC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,CACL,OAAO,KAAK,UAAU,CAAC,OAAO;YAC9B,SAAS,KAAK,UAAU,CAAC,SAAS;YAClC,OAAO,KAAK,UAAU,CAAC,OAAO,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAkB,EAClB,gBAAwB;IAExB,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACrE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,sBAAsB,CAC9B,4CAA4C,EAC5C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,sBAAsB,CAC9B,6CAA6C,EAC7C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,IAAI,UAAU,EAAE,CAAC;IAE5C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;gBAClE,MAAM,IAAI,sBAAsB,CAC9B,4CAA4C,EAC5C,GAAG,CACJ,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,iBAAiB,CAIrC,QAAgB,EAChB,KAAa,EACb,SAAqB,EACrB,UAAyD,EAAE;IAE3D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,gBAAgB,GACpB,OAAO,CAAC,gBAAgB,IAAI,qCAA6B,CAAC;IAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,eAAe,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,6BAAqB,CAAC;IAE7D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,yBAAyB,CACvB,SAAS,EACT,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,aAAa,CACtB,CAAC;IACJ,CAAC;IAED,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,EACrC,SAAS,CACV,CAAC;QACF,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,KAAK,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,MAAM,EAAE,qDAAqD;oBAC7D,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK;oBACL,SAAS;oBACT,GAAG,CAAC,OAAO,CAAC,aAAa;wBACvB,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;wBAC1C,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;gBACF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IACE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvC,OAAO,GAAG,aAAa,CAAC,MAAM,EAC9B,CAAC;gBACD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAChE,IAAI,QAGH,CAAC;gBACF,IAAI,CAAC;oBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CACnB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CACb,CAAC;gBACvB,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,sBAAsB,CAC9B,kCAAkC,EAClC,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,sBAAsB,CAC9B,8BAA8B,QAAQ,CAAC,MAAM,GAAG,EAChD,QAAQ,CAAC,MAAM,CAChB,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAC9C,EAAE,OAAO,CAAC;gBACX,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBAC5B,MAAM,IAAI,sBAAsB,CAC9B,OAAO,OAAO,KAAK,QAAQ;wBACzB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACvB,CAAC,CAAC,yBAAyB,EAC7B,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,sBAAsB,CAC9B,qCAAqC,EACrC,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAe,CAAC;gBACtC,OAAO,OAAO,CAAC,YAAY;oBACzB,CAAC,CAAC,oBAAoB,CAClB,IAAI,EACJ,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,aAAa,CACtB;oBACH,CAAC,CAAC,IAAI,CAAC;YACX,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,QAAQ,GACZ,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa;gBAC1C,KAAK,KAAK,aAAa;gBACvB,KAAK,YAAY,sBAAsB,CAAC;YAC1C,MAAM,SAAS,GACb,CAAC,QAAQ;gBACT,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;oBACtB,SAAS,CAAC,KAAK,CAAC,KAAK,YAAY;oBACjC,SAAS,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,CAAC;YACzC,IACE,SAAS;gBACT,KAAK,YAAY,sBAAsB;gBACvC,OAAO,IAAI,aAAa,CAAC,MAAM,EAC/B,CAAC;gBACD,uEAAuE;gBACvE,MAAM,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;YACzC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAUD;;;;;;GAMG;AACH,SAAgB,yBAAyB,CACvC,IAAO,EACP,OAAqB;IAErB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAO,QAAQ,CAAC;IAEzC,MAAM,QAAQ,GAAG,CAAC,MAAS,EAAE,EAAE,CAC7B,MAAM,CAAC,OAAO,KAAK,CAAC;QACpB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,CAAC,OAAO,GAAG,CAAC;QAClB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;QACtC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;IAEvB,2EAA2E;IAC3E,gDAAgD;IAChD,IACE,OAAO,CAAC,IAAI,CACV,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,CAAC,MAAM,CAAC;QAChB,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAC/B,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CACtC,EACD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;YAAE,SAAS;QACnE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5D,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAY,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjB,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa;YAC3C,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EACpC,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;YAAE,SAAS;QAE9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;YAAE,SAAS;QAClE,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type Address, type Hex } from "viem";
|
|
2
|
+
export type Fee = {
|
|
3
|
+
key: string;
|
|
4
|
+
projectId: bigint;
|
|
5
|
+
beneficiary?: string;
|
|
6
|
+
received: bigint;
|
|
7
|
+
route: "fallback" | "swap" | "issuance" | "unknown";
|
|
8
|
+
};
|
|
9
|
+
export type FeeResult = {
|
|
10
|
+
status: "none" | "fallback" | "ready" | "unknown";
|
|
11
|
+
fees: Fee[];
|
|
12
|
+
block?: string;
|
|
13
|
+
checkedAt?: number;
|
|
14
|
+
};
|
|
15
|
+
export type FeeCall = {
|
|
16
|
+
from?: Address;
|
|
17
|
+
to: Address;
|
|
18
|
+
data: Hex;
|
|
19
|
+
value?: bigint;
|
|
20
|
+
gas?: bigint;
|
|
21
|
+
};
|
|
22
|
+
export type FeeOptions = {
|
|
23
|
+
trustedHooks: readonly string[];
|
|
24
|
+
beneficiary: string;
|
|
25
|
+
terminals?: readonly string[];
|
|
26
|
+
controllers?: readonly string[];
|
|
27
|
+
feePayers?: readonly string[];
|
|
28
|
+
};
|
|
29
|
+
export type FeeRpc = {
|
|
30
|
+
request: (args: never) => Promise<unknown>;
|
|
31
|
+
};
|
|
32
|
+
/** Successful simulation logs include internal same-terminal fees that call traces cannot isolate. */
|
|
33
|
+
export declare function analyzeFeeSimulation(value: unknown, options: FeeOptions): FeeResult;
|
|
34
|
+
export declare function checkFeeBuyback(client: FeeRpc, call: FeeCall, options: FeeOptions): Promise<FeeResult>;
|
|
35
|
+
export declare function feeMessage(result: FeeResult): string;
|
|
36
|
+
export declare function feeReceipt(fee: Fee): string;
|
|
37
|
+
/** One review owns one watcher. It never sends, and stale/closed reviews cannot approve. */
|
|
38
|
+
export declare function createFeeWatch(check: () => Promise<FeeResult>, changed: (result: FeeResult) => void): {
|
|
39
|
+
refresh: () => Promise<FeeResult>;
|
|
40
|
+
confirm(): Promise<boolean>;
|
|
41
|
+
stop(): void;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=feeBuyback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feeBuyback.d.ts","sourceRoot":"","sources":["../../../src/v6/feeBuyback.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAWd,MAAM,MAAM,GAAG,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACrD,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAClD,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,MAAM,GAAG;IAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAKpE,sGAAsG;AACtG,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,UAAU,GAClB,SAAS,CA6IX;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CAqDpB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAQpD;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAO3C;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,EAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI;mBAQV,OAAO,CAAC,SAAS,CAAC;;;EA2E7C"}
|