@bananapus/nana-sdk-core 2.12.1 → 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.
Files changed (73) hide show
  1. package/dist/cjs/bendystrawOperations.d.ts +38 -0
  2. package/dist/cjs/bendystrawOperations.d.ts.map +1 -0
  3. package/dist/cjs/bendystrawOperations.js +212 -0
  4. package/dist/cjs/bendystrawOperations.js.map +1 -0
  5. package/dist/cjs/generated/juicebox.d.ts +44 -10
  6. package/dist/cjs/generated/juicebox.d.ts.map +1 -1
  7. package/dist/cjs/generated/juicebox.js +37 -10
  8. package/dist/cjs/generated/juicebox.js.map +1 -1
  9. package/dist/cjs/review/contractWrite.d.ts +38 -0
  10. package/dist/cjs/review/contractWrite.d.ts.map +1 -0
  11. package/dist/cjs/review/contractWrite.js +57 -0
  12. package/dist/cjs/review/contractWrite.js.map +1 -0
  13. package/dist/cjs/review/gas.d.ts +28 -0
  14. package/dist/cjs/review/gas.d.ts.map +1 -0
  15. package/dist/cjs/review/gas.js +40 -0
  16. package/dist/cjs/review/gas.js.map +1 -0
  17. package/dist/cjs/review/index.d.ts +4 -0
  18. package/dist/cjs/review/index.d.ts.map +1 -0
  19. package/dist/cjs/review/index.js +20 -0
  20. package/dist/cjs/review/index.js.map +1 -0
  21. package/dist/cjs/review/transactionReview.d.ts +81 -0
  22. package/dist/cjs/review/transactionReview.d.ts.map +1 -0
  23. package/dist/cjs/review/transactionReview.js +203 -0
  24. package/dist/cjs/review/transactionReview.js.map +1 -0
  25. package/dist/cjs/safeService.d.ts +36 -0
  26. package/dist/cjs/safeService.d.ts.map +1 -0
  27. package/dist/cjs/safeService.js +142 -0
  28. package/dist/cjs/safeService.js.map +1 -0
  29. package/dist/cjs/utils/bendystraw.d.ts +15 -0
  30. package/dist/cjs/utils/bendystraw.d.ts.map +1 -1
  31. package/dist/cjs/utils/bendystraw.js +54 -0
  32. package/dist/cjs/utils/bendystraw.js.map +1 -1
  33. package/dist/cjs/v6/feeBuyback.d.ts +43 -0
  34. package/dist/cjs/v6/feeBuyback.d.ts.map +1 -0
  35. package/dist/cjs/v6/feeBuyback.js +306 -0
  36. package/dist/cjs/v6/feeBuyback.js.map +1 -0
  37. package/dist/esm/bendystrawOperations.d.ts +38 -0
  38. package/dist/esm/bendystrawOperations.d.ts.map +1 -0
  39. package/dist/esm/bendystrawOperations.js +206 -0
  40. package/dist/esm/bendystrawOperations.js.map +1 -0
  41. package/dist/esm/generated/juicebox.d.ts +44 -10
  42. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  43. package/dist/esm/generated/juicebox.js +37 -10
  44. package/dist/esm/generated/juicebox.js.map +1 -1
  45. package/dist/esm/review/contractWrite.d.ts +38 -0
  46. package/dist/esm/review/contractWrite.d.ts.map +1 -0
  47. package/dist/esm/review/contractWrite.js +54 -0
  48. package/dist/esm/review/contractWrite.js.map +1 -0
  49. package/dist/esm/review/gas.d.ts +28 -0
  50. package/dist/esm/review/gas.d.ts.map +1 -0
  51. package/dist/esm/review/gas.js +36 -0
  52. package/dist/esm/review/gas.js.map +1 -0
  53. package/dist/esm/review/index.d.ts +4 -0
  54. package/dist/esm/review/index.d.ts.map +1 -0
  55. package/dist/esm/review/index.js +4 -0
  56. package/dist/esm/review/index.js.map +1 -0
  57. package/dist/esm/review/transactionReview.d.ts +81 -0
  58. package/dist/esm/review/transactionReview.d.ts.map +1 -0
  59. package/dist/esm/review/transactionReview.js +192 -0
  60. package/dist/esm/review/transactionReview.js.map +1 -0
  61. package/dist/esm/safeService.d.ts +36 -0
  62. package/dist/esm/safeService.d.ts.map +1 -0
  63. package/dist/esm/safeService.js +135 -0
  64. package/dist/esm/safeService.js.map +1 -0
  65. package/dist/esm/utils/bendystraw.d.ts +15 -0
  66. package/dist/esm/utils/bendystraw.d.ts.map +1 -1
  67. package/dist/esm/utils/bendystraw.js +53 -0
  68. package/dist/esm/utils/bendystraw.js.map +1 -1
  69. package/dist/esm/v6/feeBuyback.d.ts +43 -0
  70. package/dist/esm/v6/feeBuyback.d.ts.map +1 -0
  71. package/dist/esm/v6/feeBuyback.js +299 -0
  72. package/dist/esm/v6/feeBuyback.js.map +1 -0
  73. package/package.json +30 -1
@@ -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":"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"}
@@ -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"}