@bananapus/nana-sdk-core 2.14.0 → 2.16.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/review/contractWrite.d.ts +9 -1
- package/dist/cjs/review/contractWrite.d.ts.map +1 -1
- package/dist/cjs/review/contractWrite.js +20 -5
- package/dist/cjs/review/contractWrite.js.map +1 -1
- package/dist/cjs/review/decode.d.ts +138 -0
- package/dist/cjs/review/decode.d.ts.map +1 -0
- package/dist/cjs/review/decode.js +1118 -0
- package/dist/cjs/review/decode.js.map +1 -0
- package/dist/cjs/review/index.d.ts +2 -0
- package/dist/cjs/review/index.d.ts.map +1 -1
- package/dist/cjs/review/index.js +2 -0
- package/dist/cjs/review/index.js.map +1 -1
- package/dist/cjs/review/receipt.d.ts +32 -0
- package/dist/cjs/review/receipt.d.ts.map +1 -0
- package/dist/cjs/review/receipt.js +57 -0
- package/dist/cjs/review/receipt.js.map +1 -0
- package/dist/cjs/review/simulation.d.ts +47 -0
- package/dist/cjs/review/simulation.d.ts.map +1 -0
- package/dist/cjs/review/simulation.js +142 -0
- package/dist/cjs/review/simulation.js.map +1 -0
- package/dist/cjs/safeService.d.ts +15 -0
- package/dist/cjs/safeService.d.ts.map +1 -1
- package/dist/cjs/safeService.js +58 -25
- package/dist/cjs/safeService.js.map +1 -1
- package/dist/cjs/v6/feeBuyback.d.ts +27 -0
- package/dist/cjs/v6/feeBuyback.d.ts.map +1 -1
- package/dist/cjs/v6/feeBuyback.js +66 -0
- package/dist/cjs/v6/feeBuyback.js.map +1 -1
- package/dist/esm/review/contractWrite.d.ts +9 -1
- package/dist/esm/review/contractWrite.d.ts.map +1 -1
- package/dist/esm/review/contractWrite.js +19 -5
- package/dist/esm/review/contractWrite.js.map +1 -1
- package/dist/esm/review/decode.d.ts +138 -0
- package/dist/esm/review/decode.d.ts.map +1 -0
- package/dist/esm/review/decode.js +1102 -0
- package/dist/esm/review/decode.js.map +1 -0
- package/dist/esm/review/index.d.ts +2 -0
- package/dist/esm/review/index.d.ts.map +1 -1
- package/dist/esm/review/index.js +2 -0
- package/dist/esm/review/index.js.map +1 -1
- package/dist/esm/review/receipt.d.ts +32 -0
- package/dist/esm/review/receipt.d.ts.map +1 -0
- package/dist/esm/review/receipt.js +51 -0
- package/dist/esm/review/receipt.js.map +1 -0
- package/dist/esm/review/simulation.d.ts +47 -0
- package/dist/esm/review/simulation.d.ts.map +1 -0
- package/dist/esm/review/simulation.js +137 -0
- package/dist/esm/review/simulation.js.map +1 -0
- package/dist/esm/safeService.d.ts +15 -0
- package/dist/esm/safeService.d.ts.map +1 -1
- package/dist/esm/safeService.js +57 -25
- package/dist/esm/safeService.js.map +1 -1
- package/dist/esm/v6/feeBuyback.d.ts +27 -0
- package/dist/esm/v6/feeBuyback.d.ts.map +1 -1
- package/dist/esm/v6/feeBuyback.js +62 -0
- package/dist/esm/v6/feeBuyback.js.map +1 -1
- package/package.json +6 -1
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Address } from "viem";
|
|
2
2
|
export type ReviewedWritePhase = "review" | "simulating" | "signing";
|
|
3
|
+
/**
|
|
4
|
+
* Whether a wallet error proves that nothing was broadcast. Only an explicit
|
|
5
|
+
* rejection does: EIP-1193 code 4001, or viem's `UserRejectedRequestError`,
|
|
6
|
+
* anywhere in the first eight links of the error's `cause` chain. A timeout or
|
|
7
|
+
* any other failure may still have sent the transaction, so it returns false
|
|
8
|
+
* and the caller keeps its recovery lock.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isDefiniteWalletRejection(error: unknown): boolean;
|
|
3
11
|
export type ReviewedContractWriteOptions<TRequest extends {
|
|
4
12
|
chainId: number;
|
|
5
13
|
}, TSimulated, THash> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractWrite.d.ts","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"contractWrite.d.ts","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAcjE;AAED,MAAM,MAAM,4BAA4B,CACtC,QAAQ,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpC,UAAU,EACV,KAAK,IACH;IACF,OAAO,EAAE,QAAQ,CAAC;IAClB,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1C,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EACpC,UAAU,EACV,KAAK,EACL,EACA,OAAO,EACP,eAAe,EACf,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,KAAK,EACL,OAAO,EACP,mBAAgF,EAChF,KAAK,GACN,EAAE,4BAA4B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAyC5E"}
|
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDefiniteWalletRejection = isDefiniteWalletRejection;
|
|
3
4
|
exports.submitReviewedContractWrite = submitReviewedContractWrite;
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Whether a wallet error proves that nothing was broadcast. Only an explicit
|
|
7
|
+
* rejection does: EIP-1193 code 4001, or viem's `UserRejectedRequestError`,
|
|
8
|
+
* anywhere in the first eight links of the error's `cause` chain. A timeout or
|
|
9
|
+
* any other failure may still have sent the transaction, so it returns false
|
|
10
|
+
* and the caller keeps its recovery lock.
|
|
11
|
+
*/
|
|
12
|
+
function isDefiniteWalletRejection(error) {
|
|
13
|
+
let current = error;
|
|
14
|
+
for (let depth = 0; depth < 8 && current && typeof current === "object"; depth += 1) {
|
|
15
|
+
const item = current;
|
|
16
|
+
if (item.code === 4001 || item.name === "UserRejectedRequestError") {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
current = item.cause;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
5
23
|
/**
|
|
6
24
|
* Shared review-to-wallet boundary for direct contract writes.
|
|
7
25
|
*
|
|
@@ -41,10 +59,7 @@ async function submitReviewedContractWrite({ request, expectedAccount, review, s
|
|
|
41
59
|
catch (error) {
|
|
42
60
|
// The same-looking error from review/simulation never reaches this catch.
|
|
43
61
|
// An RPC timeout or ambiguous submission must preserve the recovery lock.
|
|
44
|
-
|
|
45
|
-
(error instanceof viem_1.BaseError &&
|
|
46
|
-
error.walk((cause) => cause instanceof viem_1.UserRejectedRequestError) instanceof viem_1.UserRejectedRequestError);
|
|
47
|
-
if (rejected)
|
|
62
|
+
if (isDefiniteWalletRejection(error))
|
|
48
63
|
await onWriteRejected?.();
|
|
49
64
|
throw error;
|
|
50
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractWrite.js","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"contractWrite.js","sourceRoot":"","sources":["../../../src/review/contractWrite.ts"],"names":[],"mappings":";;AAWA,8DAcC;AAqCD,kEA4DC;AAtHD;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,KAAc;IACtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KACE,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACnD,KAAK,IAAI,CAAC,EACV,CAAC;QACD,MAAM,IAAI,GAAG,OAA8D,CAAC;QAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA8BD;;;;;;GAMG;AACI,KAAK,UAAU,2BAA2B,CAI/C,EACA,OAAO,EACP,eAAe,EACf,MAAM,EACN,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,KAAK,EACL,OAAO,EACP,mBAAmB,GAAG,0DAA0D,EAChF,KAAK,GACqD;IAC1D,KAAK,EAAE,EAAE,CAAC;IACV,IAAI,CAAC,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEjE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;IACpB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IACxB,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAC9E,MAAM,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1B,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,qBAAqB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAE9E,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,qBAAqB,CACnB,cAAc,EAAE,EAChB,eAAe,EACf,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;YACrE,kDAAkD;YAClD,MAAM,oBAAoB,EAAE,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,yBAAyB,CAAC,KAAK,CAAC;YAAE,MAAM,eAAe,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA4B,EAC5B,QAAiB,EACjB,OAAe;IAEf,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { type AbiFunction } from "viem";
|
|
2
|
+
import type { TransactionReviewCall, TransactionReviewRequest } from "./transactionReview.js";
|
|
3
|
+
/** A decoded argument: numbered steps of `Label: value` rows. */
|
|
4
|
+
export type PrettyStep = {
|
|
5
|
+
title: string;
|
|
6
|
+
rows: [string, string][];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The name of a Juicebox V6 deployment, Permit2, the Uniswap Universal Router
|
|
10
|
+
* or USDC at `value` on `chainId`, or null. A contract with retired
|
|
11
|
+
* generations names the generation: "JBBuybackHook (current)",
|
|
12
|
+
* "JBBuybackHook (previous)".
|
|
13
|
+
*/
|
|
14
|
+
export declare function knownAddressName(chainId: number, value: unknown): string | null;
|
|
15
|
+
/**
|
|
16
|
+
* One ABI value as review text. An address carries its known name
|
|
17
|
+
* ("JBController | 0x…"), and long bytes are shortened; the raw payload keeps
|
|
18
|
+
* the full value.
|
|
19
|
+
*/
|
|
20
|
+
export declare function readableValue(type: string, value: unknown, chainId: number): string;
|
|
21
|
+
/** A tuple component's value, from a positional array or a named object. */
|
|
22
|
+
export declare function namedValue(value: unknown, name: string, index: number): unknown;
|
|
23
|
+
/** A native amount as "0.5 ETH | 500000000000000000 wei". */
|
|
24
|
+
export declare function nativeValue(value?: bigint): string;
|
|
25
|
+
/**
|
|
26
|
+
* The ABI function a reviewed call actually invokes, or null. It is the item
|
|
27
|
+
* named `functionName` whose selector is the calldata's first four bytes, and
|
|
28
|
+
* only when `args` encode to exactly that calldata. The dialog renders `args`,
|
|
29
|
+
* so a name alone, or arguments the bytes don't carry, never match.
|
|
30
|
+
*/
|
|
31
|
+
export declare function functionFromCall(call: Pick<TransactionReviewCall, "abi" | "args" | "data" | "functionName">): AbiFunction | null;
|
|
32
|
+
/**
|
|
33
|
+
* The review's lead paragraph. Callers assemble descriptions from optional
|
|
34
|
+
* parts, so a blank one falls back to the standing guidance instead of an
|
|
35
|
+
* empty banner.
|
|
36
|
+
*/
|
|
37
|
+
export declare function reviewDescription(request: Pick<TransactionReviewRequest, "calls" | "description" | "kind">): string;
|
|
38
|
+
export type V4PlanStep = {
|
|
39
|
+
action: "INCREASE_LIQUIDITY";
|
|
40
|
+
position: string;
|
|
41
|
+
liquidity: bigint;
|
|
42
|
+
maximumIn: {
|
|
43
|
+
currency0: bigint;
|
|
44
|
+
currency1: bigint;
|
|
45
|
+
};
|
|
46
|
+
} | {
|
|
47
|
+
action: "DECREASE_LIQUIDITY";
|
|
48
|
+
position: string;
|
|
49
|
+
liquidity: bigint;
|
|
50
|
+
minimumOut: {
|
|
51
|
+
currency0: bigint;
|
|
52
|
+
currency1: bigint;
|
|
53
|
+
};
|
|
54
|
+
} | {
|
|
55
|
+
action: "MINT_POSITION";
|
|
56
|
+
owner: string;
|
|
57
|
+
pool: {
|
|
58
|
+
currency0: string;
|
|
59
|
+
currency1: string;
|
|
60
|
+
fee: number;
|
|
61
|
+
tickSpacing: number;
|
|
62
|
+
hook: string;
|
|
63
|
+
};
|
|
64
|
+
ticks: {
|
|
65
|
+
lower: number;
|
|
66
|
+
upper: number;
|
|
67
|
+
};
|
|
68
|
+
liquidity: bigint;
|
|
69
|
+
maximumIn: {
|
|
70
|
+
currency0: bigint;
|
|
71
|
+
currency1: bigint;
|
|
72
|
+
};
|
|
73
|
+
} | {
|
|
74
|
+
action: "BURN_POSITION";
|
|
75
|
+
position: string;
|
|
76
|
+
minimumOut: {
|
|
77
|
+
currency0: bigint;
|
|
78
|
+
currency1: bigint;
|
|
79
|
+
};
|
|
80
|
+
} | {
|
|
81
|
+
action: "TAKE_PAIR";
|
|
82
|
+
currency0: string;
|
|
83
|
+
currency1: string;
|
|
84
|
+
recipient: string;
|
|
85
|
+
} | {
|
|
86
|
+
action: "CLOSE_CURRENCY";
|
|
87
|
+
currency: string;
|
|
88
|
+
} | {
|
|
89
|
+
action: "SWEEP";
|
|
90
|
+
currency: string;
|
|
91
|
+
recipient: string;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Decode a Uniswap V4 PositionManager `unlockData` plan into typed steps.
|
|
95
|
+
* It covers the actions the apps build (increase, decrease, mint, burn, take
|
|
96
|
+
* pair, close, sweep) with empty hook data and canonical encodings; anything
|
|
97
|
+
* else is null. Amounts stay in raw token units and addresses stay raw, since
|
|
98
|
+
* the dialog shows the exact payload.
|
|
99
|
+
*/
|
|
100
|
+
export declare function describeV4UnlockData(value: unknown): V4PlanStep[] | null;
|
|
101
|
+
/**
|
|
102
|
+
* Decode a Uniswap Universal Router `execute(commands, inputs, deadline)` into
|
|
103
|
+
* readable steps. It covers the command shapes the pay flow builds (Permit2
|
|
104
|
+
* permit, wrap, V3 hop, unwrap, V4 swap) in canonical encodings; anything
|
|
105
|
+
* else is null.
|
|
106
|
+
*/
|
|
107
|
+
export declare function describeUniversalRouterExecute(chainId: number, args: readonly unknown[] | undefined): PrettyStep[] | null;
|
|
108
|
+
/**
|
|
109
|
+
* Decode a `pay`/`addToBalanceOf`/`cashOutTokensOf` `metadata` argument into
|
|
110
|
+
* its hook entries, reading the payload shapes the ecosystem's builders
|
|
111
|
+
* produce (721 mints and redeems, buyback routing). A payload that matches
|
|
112
|
+
* several shapes is reported as ambiguous instead of picking one.
|
|
113
|
+
*/
|
|
114
|
+
export declare function describeJBHookMetadata(context: "pay" | "cashOut", value: unknown): PrettyStep[] | null;
|
|
115
|
+
/** A sucker `claim` argument: its leaf, with the 32-hash proof summarized. */
|
|
116
|
+
export declare function describeSuckerClaim(chainId: number, value: unknown): PrettyStep[] | null;
|
|
117
|
+
/**
|
|
118
|
+
* The call a Safe `execTransaction` makes: `data` sent to `to`. Several of
|
|
119
|
+
* these contracts share selectors (`pay` on the terminal and the router
|
|
120
|
+
* gateway, `approve` on JBProjects and any ERC-20), so the ABI comes from the
|
|
121
|
+
* target. A known Juicebox deployment, a retired generation included, is read
|
|
122
|
+
* with its contract's ABI, and USDC as ERC-20. An unknown target is read as
|
|
123
|
+
* ERC-20 and titled as unrecognized, except for `approve` and `transferFrom`:
|
|
124
|
+
* ERC-721 shares those selectors with a token ID where ERC-20 has an amount,
|
|
125
|
+
* so they are null. Any other target, a selector its ABI lacks, or a
|
|
126
|
+
* non-canonical encoding is null too.
|
|
127
|
+
*/
|
|
128
|
+
export declare function describeSafeInnerCall(chainId: number, to: unknown, data: unknown): PrettyStep[] | null;
|
|
129
|
+
/** A Safe proxy `initializer`: owners, threshold, setup hook and any payment. */
|
|
130
|
+
export declare function describeSafeInitializer(chainId: number, value: unknown): PrettyStep[] | null;
|
|
131
|
+
/** A `setPermissionsFor` grant, naming each permission id from the V6 catalog. */
|
|
132
|
+
export declare function describePermissionsData(chainId: number, value: unknown): PrettyStep[] | null;
|
|
133
|
+
/**
|
|
134
|
+
* `setSplitGroupsOf` groups: each split's share, recipient, hook and lock,
|
|
135
|
+
* with an honest total. A Sticky split names the holder group it pays.
|
|
136
|
+
*/
|
|
137
|
+
export declare function describeSplitGroups(chainId: number, value: unknown): PrettyStep[] | null;
|
|
138
|
+
//# sourceMappingURL=decode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../src/review/decode.ts"],"names":[],"mappings":"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"}
|