@usesigil/kit 0.8.1 → 0.10.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/README.md +157 -184
- package/dist/alt-config.d.ts +4 -2
- package/dist/alt-config.d.ts.map +1 -1
- package/dist/alt-config.js +4 -2
- package/dist/alt-config.js.map +1 -1
- package/dist/alt-loader.d.ts.map +1 -1
- package/dist/alt-loader.js +2 -1
- package/dist/alt-loader.js.map +1 -1
- package/dist/balance-tracker.d.ts.map +1 -1
- package/dist/balance-tracker.js +2 -1
- package/dist/balance-tracker.js.map +1 -1
- package/dist/create-vault.d.ts +40 -3
- package/dist/create-vault.d.ts.map +1 -1
- package/dist/create-vault.js +45 -7
- package/dist/create-vault.js.map +1 -1
- package/dist/dashboard/discover.d.ts.map +1 -1
- package/dist/dashboard/discover.js +2 -1
- package/dist/dashboard/discover.js.map +1 -1
- package/dist/dashboard/from-json.d.ts +1 -0
- package/dist/dashboard/from-json.d.ts.map +1 -1
- package/dist/dashboard/from-json.js +3 -1
- package/dist/dashboard/from-json.js.map +1 -1
- package/dist/dashboard/mutations.d.ts.map +1 -1
- package/dist/dashboard/mutations.js +2 -1
- package/dist/dashboard/mutations.js.map +1 -1
- package/dist/dashboard/reads.d.ts.map +1 -1
- package/dist/dashboard/reads.js +5 -4
- package/dist/dashboard/reads.js.map +1 -1
- package/dist/errors/public.d.ts +24 -0
- package/dist/errors/public.d.ts.map +1 -0
- package/dist/errors/public.js +30 -0
- package/dist/errors/public.js.map +1 -0
- package/dist/errors/walk.d.ts.map +1 -1
- package/dist/errors/walk.js +2 -1
- package/dist/errors/walk.js.map +1 -1
- package/dist/helpers/ata.d.ts +73 -0
- package/dist/helpers/ata.d.ts.map +1 -0
- package/dist/helpers/ata.js +107 -0
- package/dist/helpers/ata.js.map +1 -0
- package/dist/helpers/parse-usd.d.ts +43 -0
- package/dist/helpers/parse-usd.d.ts.map +1 -0
- package/dist/helpers/parse-usd.js +81 -0
- package/dist/helpers/parse-usd.js.map +1 -0
- package/dist/helpers/validate-cap-aggregate.d.ts +41 -0
- package/dist/helpers/validate-cap-aggregate.d.ts.map +1 -0
- package/dist/helpers/validate-cap-aggregate.js +61 -0
- package/dist/helpers/validate-cap-aggregate.js.map +1 -0
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -5
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +77 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +153 -0
- package/dist/logger.js.map +1 -0
- package/dist/presets.d.ts +73 -6
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +75 -6
- package/dist/presets.js.map +1 -1
- package/dist/priority-fees.d.ts.map +1 -1
- package/dist/priority-fees.js +3 -2
- package/dist/priority-fees.js.map +1 -1
- package/dist/seal.d.ts +85 -6
- package/dist/seal.d.ts.map +1 -1
- package/dist/seal.js +199 -9
- package/dist/seal.js.map +1 -1
- package/dist/shield.d.ts.map +1 -1
- package/dist/shield.js +8 -7
- package/dist/shield.js.map +1 -1
- package/dist/tee/verify.d.ts.map +1 -1
- package/dist/tee/verify.js +6 -5
- package/dist/tee/verify.js.map +1 -1
- package/dist/transaction-executor.d.ts.map +1 -1
- package/dist/transaction-executor.js +3 -2
- package/dist/transaction-executor.js.map +1 -1
- package/dist/x402/shielded-fetch.d.ts.map +1 -1
- package/dist/x402/shielded-fetch.js +7 -4
- package/dist/x402/shielded-fetch.js.map +1 -1
- package/package.json +6 -2
package/dist/index.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
// @usesigil/kit — Kit-native SDK for Sigil
|
|
2
2
|
// ESM-only, zero web3.js dependency
|
|
3
3
|
// ─── Generated Client ─────────────────────────────────────────────────────────
|
|
4
|
-
|
|
4
|
+
//
|
|
5
|
+
// v0.9.0 barrel surgery (A12): was `export * from "./generated/index.js"`
|
|
6
|
+
// which pulled ~500 Codama exports (37 instruction builders + 60+ event/
|
|
7
|
+
// struct types + 82 hex error constants) into the root barrel. Consumers
|
|
8
|
+
// should go through `seal()` / `createSigilClient()` / `createVault()` for
|
|
9
|
+
// instruction building, and `SIGIL_PROGRAM_ADDRESS` (re-exported from
|
|
10
|
+
// `types.js` below) for the program ID. Account decoders stay public —
|
|
11
|
+
// they're the supported way to parse vault state fetched from an RPC.
|
|
12
|
+
export * from "./generated/accounts/index.js";
|
|
5
13
|
// ─── Type Constants + Permissions ─────────────────────────────────────────────
|
|
6
14
|
//
|
|
7
15
|
// The legacy 21-bit permission bitmasks (`SWAP_ONLY`, `PERPS_ONLY`,
|
|
@@ -104,7 +112,21 @@ SigilClient, replaceAgentAtas, } from "./seal.js";
|
|
|
104
112
|
// ─── Create Vault ──────────────────────────────────────────────────────────
|
|
105
113
|
export { createVault, createAndSendVault } from "./create-vault.js";
|
|
106
114
|
// ─── Vault Presets ───────────────────────────────────────────────────────────
|
|
107
|
-
export { VAULT_PRESETS, getPreset, listPresets, presetToCreateVaultFields,
|
|
115
|
+
export { VAULT_PRESETS, getPreset, listPresets, presetToCreateVaultFields,
|
|
116
|
+
// v0.9.0 A10: orthogonal SAFETY_PRESETS for timelock + cap defaults.
|
|
117
|
+
SAFETY_PRESETS, applySafetyPreset, requireResolvedSafetyPreset, } from "./presets.js";
|
|
118
|
+
// ─── v0.9.0 helpers (A3, A4, A9) ────────────────────────────────────────────
|
|
119
|
+
// Strict USD parser, policy-gated ATA builder, aggregate cap validator.
|
|
120
|
+
export { parseUsd } from "./helpers/parse-usd.js";
|
|
121
|
+
export { initializeVaultAtas, } from "./helpers/ata.js";
|
|
122
|
+
export { validateAgentCapAggregate, } from "./helpers/validate-cap-aggregate.js";
|
|
123
|
+
// ─── v0.9.0 logger (A5) ─────────────────────────────────────────────────────
|
|
124
|
+
// SigilLogger interface + NOOP_LOGGER default + createConsoleLogger opt-in.
|
|
125
|
+
// setSigilModuleLogger / getSigilModuleLogger are for SDK internals; the
|
|
126
|
+
// consumer-facing install point is SigilClient.create(config.logger).
|
|
127
|
+
export { NOOP_LOGGER, createConsoleLogger, resolveLogger, setSigilModuleLogger, getSigilModuleLogger, } from "./logger.js";
|
|
128
|
+
// ─── v0.9.0 genesis hash constants (A7) ─────────────────────────────────────
|
|
129
|
+
export { SOLANA_DEVNET_GENESIS_HASH, SOLANA_MAINNET_GENESIS_HASH, } from "./seal.js";
|
|
108
130
|
// ─── Owner Transaction ───────────────────────────────────────────────────────
|
|
109
131
|
export { buildOwnerTransaction } from "./owner-transaction.js";
|
|
110
132
|
// ─── Inscribe / withVault ─────────────────────────────────────────────────────
|
|
@@ -143,9 +165,11 @@ export { KNOWN_PROTOCOLS, KNOWN_TOKENS, SYSTEM_PROGRAMS, getTokenInfo, getProtoc
|
|
|
143
165
|
// Internally the class is still called `SigilError`; the rename happens at
|
|
144
166
|
// the public export boundary. Internal code in sdk/kit/src/ continues to
|
|
145
167
|
// use `SigilError`. Targeted full rename for a follow-up cleanup PR.
|
|
146
|
-
|
|
147
|
-
//
|
|
148
|
-
|
|
168
|
+
// v0.9.0 A12: the 49 `SIGIL_ERROR__*` code constants are no longer
|
|
169
|
+
// re-exported from the root barrel — import them from the `./errors`
|
|
170
|
+
// subpath: `import { SIGIL_ERROR__SDK__CAP_EXCEEDED } from "@usesigil/kit/errors"`.
|
|
171
|
+
// Error classes + domain-union types stay at root for catch-block narrowing.
|
|
172
|
+
export { SigilError as SigilKitError, SigilShieldError, SigilTeeError, SigilX402Error, SigilComposeError, SigilSdkDomainError, SigilRpcError, SIGIL_KIT_VERSION, walk as walkSigilCause, } from "./errors/index.js";
|
|
149
173
|
// ─── Dashboard / Owner Client ────────────────────────────────────────────────
|
|
150
174
|
// Re-exported from the dashboard subpath for convenience. Consumers preferring
|
|
151
175
|
// a single import path can use these; the dashboard subpath remains the
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,oCAAoC;AAEpC,iFAAiF;AACjF,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SigilLogger — pluggable structured logger for `@usesigil/kit`.
|
|
3
|
+
*
|
|
4
|
+
* Every internal `console.warn` / `console.error` / `console.debug` in the
|
|
5
|
+
* SDK routes through an injected `SigilLogger`. Consumers embedding the
|
|
6
|
+
* SDK into their own application decide where that output goes — a
|
|
7
|
+
* Pino/Bunyan/Winston instance, an OpenTelemetry span, a custom appender,
|
|
8
|
+
* or the bundled `NOOP_LOGGER` that discards everything.
|
|
9
|
+
*
|
|
10
|
+
* Default behavior: `NOOP_LOGGER`. No output is emitted unless the
|
|
11
|
+
* consumer explicitly opts in. This matters because the SDK is embedded
|
|
12
|
+
* in TEE-signed agent workflows where stray stdout/stderr can leak
|
|
13
|
+
* sensitive fields (vault addresses, mint addresses, cap values) to
|
|
14
|
+
* unintended destinations.
|
|
15
|
+
*
|
|
16
|
+
* For local development and test suites, `createConsoleLogger()` returns
|
|
17
|
+
* a drop-in forwarder that emits to `console.*`.
|
|
18
|
+
*
|
|
19
|
+
* Rationale: see the plan in
|
|
20
|
+
* `.claude/worktrees/<wt>/Plans/recursive-snuggling-reddy.md` step A5.
|
|
21
|
+
* This replaces raw `console.*` calls scattered across 13 files.
|
|
22
|
+
*/
|
|
23
|
+
/** Structured logger interface. All methods are side-effect-only. */
|
|
24
|
+
export interface SigilLogger {
|
|
25
|
+
/** Diagnostic messages — verbose, disabled by default. */
|
|
26
|
+
debug(message: string, context?: Record<string, unknown>): void;
|
|
27
|
+
/** Informational messages — nominal operational events. */
|
|
28
|
+
info(message: string, context?: Record<string, unknown>): void;
|
|
29
|
+
/** Warnings — unexpected but recoverable conditions. */
|
|
30
|
+
warn(message: string, context?: Record<string, unknown>): void;
|
|
31
|
+
/**
|
|
32
|
+
* Errors — failures the caller should know about. The `err` parameter
|
|
33
|
+
* is the originating exception, if any; it is logged separately from
|
|
34
|
+
* `context` to encourage structured-field reporting.
|
|
35
|
+
*/
|
|
36
|
+
error(message: string, err?: unknown, context?: Record<string, unknown>): void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* `NOOP_LOGGER` — discards every log call. Exported as a `const` so
|
|
40
|
+
* consumers may pass it explicitly; also used internally as the fallback
|
|
41
|
+
* when a `SigilClient` / `OwnerClient` is constructed without a logger.
|
|
42
|
+
*/
|
|
43
|
+
export declare const NOOP_LOGGER: SigilLogger;
|
|
44
|
+
/**
|
|
45
|
+
* `createConsoleLogger` — opt-in logger that forwards to `console.*`.
|
|
46
|
+
*
|
|
47
|
+
* Use in test suites and development when you want SDK output on stderr/
|
|
48
|
+
* stdout. Not the default, because production consumers should inject
|
|
49
|
+
* their own structured logger (pino, bunyan, otel, etc.) rather than
|
|
50
|
+
* rely on `console`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function createConsoleLogger(): SigilLogger;
|
|
53
|
+
/**
|
|
54
|
+
* Internal helper: if the caller supplied a logger, use it; otherwise
|
|
55
|
+
* return the no-op default. All public SDK entry points (SigilClient,
|
|
56
|
+
* OwnerClient, seal, shielded-fetch, etc.) should call this once during
|
|
57
|
+
* construction so the rest of the module can assume a non-null logger.
|
|
58
|
+
*
|
|
59
|
+
* Marked public so subpackages (dashboard, custody) can reuse the same
|
|
60
|
+
* resolution rule.
|
|
61
|
+
*/
|
|
62
|
+
export declare function resolveLogger(logger: SigilLogger | undefined): SigilLogger;
|
|
63
|
+
/**
|
|
64
|
+
* Set the module-level logger used by leaf SDK utilities that don't
|
|
65
|
+
* accept a per-call logger parameter.
|
|
66
|
+
*
|
|
67
|
+
* Called by `SigilClient.create()` / `new SigilClient()` / `OwnerClient`
|
|
68
|
+
* constructors when `config.logger` is provided, so an application's
|
|
69
|
+
* chosen logger reaches every corner of the SDK.
|
|
70
|
+
*/
|
|
71
|
+
export declare function setSigilModuleLogger(logger: SigilLogger): void;
|
|
72
|
+
/**
|
|
73
|
+
* Read the current module-level logger. Internal SDK sites that cannot
|
|
74
|
+
* thread a per-call logger should call this to emit warnings/errors.
|
|
75
|
+
*/
|
|
76
|
+
export declare function getSigilModuleLogger(): SigilLogger;
|
|
77
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,2DAA2D;IAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D;;;;OAIG;IACH,KAAK,CACH,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAAC;CACT;AAQD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WAKxB,CAAC;AAMH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CA6CjD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAE1E;AAuBD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAE9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CAElD"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SigilLogger — pluggable structured logger for `@usesigil/kit`.
|
|
3
|
+
*
|
|
4
|
+
* Every internal `console.warn` / `console.error` / `console.debug` in the
|
|
5
|
+
* SDK routes through an injected `SigilLogger`. Consumers embedding the
|
|
6
|
+
* SDK into their own application decide where that output goes — a
|
|
7
|
+
* Pino/Bunyan/Winston instance, an OpenTelemetry span, a custom appender,
|
|
8
|
+
* or the bundled `NOOP_LOGGER` that discards everything.
|
|
9
|
+
*
|
|
10
|
+
* Default behavior: `NOOP_LOGGER`. No output is emitted unless the
|
|
11
|
+
* consumer explicitly opts in. This matters because the SDK is embedded
|
|
12
|
+
* in TEE-signed agent workflows where stray stdout/stderr can leak
|
|
13
|
+
* sensitive fields (vault addresses, mint addresses, cap values) to
|
|
14
|
+
* unintended destinations.
|
|
15
|
+
*
|
|
16
|
+
* For local development and test suites, `createConsoleLogger()` returns
|
|
17
|
+
* a drop-in forwarder that emits to `console.*`.
|
|
18
|
+
*
|
|
19
|
+
* Rationale: see the plan in
|
|
20
|
+
* `.claude/worktrees/<wt>/Plans/recursive-snuggling-reddy.md` step A5.
|
|
21
|
+
* This replaces raw `console.*` calls scattered across 13 files.
|
|
22
|
+
*/
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// NOOP logger — zero-output default
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
const noop = () => undefined;
|
|
27
|
+
/**
|
|
28
|
+
* `NOOP_LOGGER` — discards every log call. Exported as a `const` so
|
|
29
|
+
* consumers may pass it explicitly; also used internally as the fallback
|
|
30
|
+
* when a `SigilClient` / `OwnerClient` is constructed without a logger.
|
|
31
|
+
*/
|
|
32
|
+
export const NOOP_LOGGER = Object.freeze({
|
|
33
|
+
debug: noop,
|
|
34
|
+
info: noop,
|
|
35
|
+
warn: noop,
|
|
36
|
+
error: noop,
|
|
37
|
+
});
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// Console logger — opt-in forwarder to `console.*`
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
/**
|
|
42
|
+
* `createConsoleLogger` — opt-in logger that forwards to `console.*`.
|
|
43
|
+
*
|
|
44
|
+
* Use in test suites and development when you want SDK output on stderr/
|
|
45
|
+
* stdout. Not the default, because production consumers should inject
|
|
46
|
+
* their own structured logger (pino, bunyan, otel, etc.) rather than
|
|
47
|
+
* rely on `console`.
|
|
48
|
+
*/
|
|
49
|
+
export function createConsoleLogger() {
|
|
50
|
+
return {
|
|
51
|
+
debug: (message, context) => {
|
|
52
|
+
if (context !== undefined) {
|
|
53
|
+
// eslint-disable-next-line no-console
|
|
54
|
+
console.debug(message, context);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// eslint-disable-next-line no-console
|
|
58
|
+
console.debug(message);
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
info: (message, context) => {
|
|
62
|
+
if (context !== undefined) {
|
|
63
|
+
// eslint-disable-next-line no-console
|
|
64
|
+
console.info(message, context);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// eslint-disable-next-line no-console
|
|
68
|
+
console.info(message);
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
warn: (message, context) => {
|
|
72
|
+
if (context !== undefined) {
|
|
73
|
+
// eslint-disable-next-line no-console
|
|
74
|
+
console.warn(message, context);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// eslint-disable-next-line no-console
|
|
78
|
+
console.warn(message);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
error: (message, err, context) => {
|
|
82
|
+
if (err !== undefined && context !== undefined) {
|
|
83
|
+
// eslint-disable-next-line no-console
|
|
84
|
+
console.error(message, err, context);
|
|
85
|
+
}
|
|
86
|
+
else if (err !== undefined) {
|
|
87
|
+
// eslint-disable-next-line no-console
|
|
88
|
+
console.error(message, err);
|
|
89
|
+
}
|
|
90
|
+
else if (context !== undefined) {
|
|
91
|
+
// eslint-disable-next-line no-console
|
|
92
|
+
console.error(message, context);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// eslint-disable-next-line no-console
|
|
96
|
+
console.error(message);
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
// resolveLogger — internal helper for SDK entry points
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
/**
|
|
105
|
+
* Internal helper: if the caller supplied a logger, use it; otherwise
|
|
106
|
+
* return the no-op default. All public SDK entry points (SigilClient,
|
|
107
|
+
* OwnerClient, seal, shielded-fetch, etc.) should call this once during
|
|
108
|
+
* construction so the rest of the module can assume a non-null logger.
|
|
109
|
+
*
|
|
110
|
+
* Marked public so subpackages (dashboard, custody) can reuse the same
|
|
111
|
+
* resolution rule.
|
|
112
|
+
*/
|
|
113
|
+
export function resolveLogger(logger) {
|
|
114
|
+
return logger ?? NOOP_LOGGER;
|
|
115
|
+
}
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
// Module-level logger — leaf-utility fallback
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
//
|
|
120
|
+
// Some SDK internals (walk(), alt-loader, balance-tracker, dashboard
|
|
121
|
+
// reads, etc.) are called from deep in the stack where threading a
|
|
122
|
+
// per-call `logger` argument would require signature changes across
|
|
123
|
+
// many consumers. For these sites, the SDK uses a module-level logger
|
|
124
|
+
// that SigilClient / OwnerClient constructors set from config.logger
|
|
125
|
+
// during initialization.
|
|
126
|
+
//
|
|
127
|
+
// Default: NOOP_LOGGER — nothing is emitted until a consumer opts in.
|
|
128
|
+
//
|
|
129
|
+
// Trade-off: this is module-local mutable state. Tests that want to
|
|
130
|
+
// observe warnings should call `setSigilModuleLogger` in `beforeEach`
|
|
131
|
+
// and reset with `setSigilModuleLogger(NOOP_LOGGER)` in `afterEach`.
|
|
132
|
+
// The state is process-wide, so parallel test suites must NOT share a
|
|
133
|
+
// worker unless all cooperate on the reset.
|
|
134
|
+
let _sigilModuleLogger = NOOP_LOGGER;
|
|
135
|
+
/**
|
|
136
|
+
* Set the module-level logger used by leaf SDK utilities that don't
|
|
137
|
+
* accept a per-call logger parameter.
|
|
138
|
+
*
|
|
139
|
+
* Called by `SigilClient.create()` / `new SigilClient()` / `OwnerClient`
|
|
140
|
+
* constructors when `config.logger` is provided, so an application's
|
|
141
|
+
* chosen logger reaches every corner of the SDK.
|
|
142
|
+
*/
|
|
143
|
+
export function setSigilModuleLogger(logger) {
|
|
144
|
+
_sigilModuleLogger = logger;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Read the current module-level logger. Internal SDK sites that cannot
|
|
148
|
+
* thread a per-call logger should call this to emit warnings/errors.
|
|
149
|
+
*/
|
|
150
|
+
export function getSigilModuleLogger() {
|
|
151
|
+
return _sigilModuleLogger;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/presets.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Vault creation presets —
|
|
2
|
+
* Vault creation presets — two axes:
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* 1. VAULT_PRESETS: use-case templates (jupiter-swap-bot, perps-trader,
|
|
5
|
+
* lending-optimizer, full-access). Policy + capability configuration
|
|
6
|
+
* for a specific agent role. Used by the dashboard "Quick Setup" cards.
|
|
7
|
+
*
|
|
8
|
+
* 2. SAFETY_PRESETS: timelock + cap defaults (development, production).
|
|
9
|
+
* Orthogonal to use-case — either preset can be composed with any
|
|
10
|
+
* VAULT_PRESET to produce a complete CreateVaultOptions.
|
|
7
11
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
12
|
+
* Runtime fields (rpc, network, owner, agent, feeDestination, vaultId)
|
|
13
|
+
* are NOT included in either axis — the caller supplies those.
|
|
10
14
|
*/
|
|
11
15
|
import type { Address } from "./kit-adapter.js";
|
|
12
16
|
import type { CreateVaultOptions } from "./create-vault.js";
|
|
@@ -120,4 +124,67 @@ export declare function listPresets(): PresetName[];
|
|
|
120
124
|
* ```
|
|
121
125
|
*/
|
|
122
126
|
export declare function presetToCreateVaultFields(name: PresetName): Pick<CreateVaultOptions, "permissions" | "dailySpendingCapUsd" | "maxTransactionSizeUsd" | "maxSlippageBps" | "protocolMode" | "protocols" | "maxLeverageBps" | "maxConcurrentPositions">;
|
|
127
|
+
/**
|
|
128
|
+
* Fields a safety preset can fill. `null` means "caller must supply" —
|
|
129
|
+
* the production preset leaves caps explicit on purpose to force thought
|
|
130
|
+
* about the vault's blast radius before deployment.
|
|
131
|
+
*/
|
|
132
|
+
export interface SafetyPresetFields {
|
|
133
|
+
/** Timelock duration in seconds — owner-initiated policy changes wait this long. */
|
|
134
|
+
timelockDuration: number;
|
|
135
|
+
/** Per-agent spending cap in USD base units, or null if caller must supply. */
|
|
136
|
+
spendingLimitUsd: UsdBaseUnits | null;
|
|
137
|
+
/** Vault-wide daily cap in USD base units, or null if caller must supply. */
|
|
138
|
+
dailySpendingCapUsd: UsdBaseUnits | null;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* SAFETY_PRESETS — timelock + cap bundles for common deployment contexts.
|
|
142
|
+
*
|
|
143
|
+
* `development` — short timelock and small caps for throwaway devnet
|
|
144
|
+
* vaults. The low caps keep a compromised agent's blast radius under
|
|
145
|
+
* $500/day, and the 30-min timelock keeps iteration fast. Suitable for
|
|
146
|
+
* CI runs and live testing.
|
|
147
|
+
*
|
|
148
|
+
* `production` — a 24-hour timelock to give operators time to notice
|
|
149
|
+
* and cancel unexpected policy changes. Caps are deliberately left as
|
|
150
|
+
* `null` — the consumer must supply them explicitly, which forces a
|
|
151
|
+
* conversation about the vault's blast radius before the first real tx.
|
|
152
|
+
*/
|
|
153
|
+
export declare const SAFETY_PRESETS: {
|
|
154
|
+
readonly development: {
|
|
155
|
+
readonly timelockDuration: 1800;
|
|
156
|
+
readonly spendingLimitUsd: UsdBaseUnits;
|
|
157
|
+
readonly dailySpendingCapUsd: UsdBaseUnits;
|
|
158
|
+
};
|
|
159
|
+
readonly production: {
|
|
160
|
+
readonly timelockDuration: 86400;
|
|
161
|
+
readonly spendingLimitUsd: null;
|
|
162
|
+
readonly dailySpendingCapUsd: null;
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
export type SafetyPresetName = keyof typeof SAFETY_PRESETS;
|
|
166
|
+
/**
|
|
167
|
+
* Compose a safety preset with explicit overrides. Overrides win on
|
|
168
|
+
* every field, so callers of `applySafetyPreset("production", { ... })`
|
|
169
|
+
* can narrow the `null` caps with real values while keeping the
|
|
170
|
+
* production timelock.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* const fields = applySafetyPreset("production", {
|
|
174
|
+
* spendingLimitUsd: usd(1_000_000_000n),
|
|
175
|
+
* dailySpendingCapUsd: usd(10_000_000_000n),
|
|
176
|
+
* });
|
|
177
|
+
* // → { timelockDuration: 86400, spendingLimitUsd: 1_000_000_000n, dailySpendingCapUsd: 10_000_000_000n }
|
|
178
|
+
*/
|
|
179
|
+
export declare function applySafetyPreset(name: SafetyPresetName, overrides?: Partial<SafetyPresetFields>): SafetyPresetFields;
|
|
180
|
+
/**
|
|
181
|
+
* Ergonomic guard: if a safety preset has `null` caps (production), the
|
|
182
|
+
* consumer must resolve them before calling createVault. This helper
|
|
183
|
+
* narrows the preset type to its fully-resolved form or throws.
|
|
184
|
+
*/
|
|
185
|
+
export declare function requireResolvedSafetyPreset(preset: SafetyPresetFields): {
|
|
186
|
+
timelockDuration: number;
|
|
187
|
+
spendingLimitUsd: UsdBaseUnits;
|
|
188
|
+
dailySpendingCapUsd: UsdBaseUnits;
|
|
189
|
+
};
|
|
123
190
|
//# sourceMappingURL=presets.d.ts.map
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AA4BpD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,mBAAmB,EAAE,YAAY,CAAC;IAClC,qDAAqD;IACrD,qBAAqB,EAAE,YAAY,CAAC;IACpC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAID,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DsB,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,aAAa,CAAC;AAIpD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAI/D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,UAAU,EAAE,CAE1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,GACf,IAAI,CACL,kBAAkB,EAChB,aAAa,GACb,qBAAqB,GACrB,uBAAuB,GACvB,gBAAgB,GAChB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,wBAAwB,CAC3B,CAYA;AAQD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,gBAAgB,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,6EAA6E;IAC7E,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;CAW4B,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC1C,kBAAkB,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,GAAG;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,mBAAmB,EAAE,YAAY,CAAC;CACnC,CAeA"}
|
package/dist/presets.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Vault creation presets —
|
|
2
|
+
* Vault creation presets — two axes:
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* 1. VAULT_PRESETS: use-case templates (jupiter-swap-bot, perps-trader,
|
|
5
|
+
* lending-optimizer, full-access). Policy + capability configuration
|
|
6
|
+
* for a specific agent role. Used by the dashboard "Quick Setup" cards.
|
|
7
|
+
*
|
|
8
|
+
* 2. SAFETY_PRESETS: timelock + cap defaults (development, production).
|
|
9
|
+
* Orthogonal to use-case — either preset can be composed with any
|
|
10
|
+
* VAULT_PRESET to produce a complete CreateVaultOptions.
|
|
7
11
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
12
|
+
* Runtime fields (rpc, network, owner, agent, feeDestination, vaultId)
|
|
13
|
+
* are NOT included in either axis — the caller supplies those.
|
|
10
14
|
*/
|
|
11
15
|
import { usd } from "./types.js";
|
|
12
16
|
import { FULL_CAPABILITY, PROTOCOL_MODE_ALL, PROTOCOL_MODE_ALLOWLIST, JUPITER_PROGRAM_ADDRESS, } from "./types.js";
|
|
@@ -113,4 +117,69 @@ export function presetToCreateVaultFields(name) {
|
|
|
113
117
|
maxConcurrentPositions: preset.maxConcurrentPositions,
|
|
114
118
|
};
|
|
115
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* SAFETY_PRESETS — timelock + cap bundles for common deployment contexts.
|
|
122
|
+
*
|
|
123
|
+
* `development` — short timelock and small caps for throwaway devnet
|
|
124
|
+
* vaults. The low caps keep a compromised agent's blast radius under
|
|
125
|
+
* $500/day, and the 30-min timelock keeps iteration fast. Suitable for
|
|
126
|
+
* CI runs and live testing.
|
|
127
|
+
*
|
|
128
|
+
* `production` — a 24-hour timelock to give operators time to notice
|
|
129
|
+
* and cancel unexpected policy changes. Caps are deliberately left as
|
|
130
|
+
* `null` — the consumer must supply them explicitly, which forces a
|
|
131
|
+
* conversation about the vault's blast radius before the first real tx.
|
|
132
|
+
*/
|
|
133
|
+
export const SAFETY_PRESETS = {
|
|
134
|
+
development: {
|
|
135
|
+
timelockDuration: 1800, // 30 min
|
|
136
|
+
spendingLimitUsd: usd(100000000n), // $100/agent
|
|
137
|
+
dailySpendingCapUsd: usd(500000000n), // $500/day vault-wide
|
|
138
|
+
},
|
|
139
|
+
production: {
|
|
140
|
+
timelockDuration: 86400, // 24 hours
|
|
141
|
+
spendingLimitUsd: null,
|
|
142
|
+
dailySpendingCapUsd: null,
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Compose a safety preset with explicit overrides. Overrides win on
|
|
147
|
+
* every field, so callers of `applySafetyPreset("production", { ... })`
|
|
148
|
+
* can narrow the `null` caps with real values while keeping the
|
|
149
|
+
* production timelock.
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* const fields = applySafetyPreset("production", {
|
|
153
|
+
* spendingLimitUsd: usd(1_000_000_000n),
|
|
154
|
+
* dailySpendingCapUsd: usd(10_000_000_000n),
|
|
155
|
+
* });
|
|
156
|
+
* // → { timelockDuration: 86400, spendingLimitUsd: 1_000_000_000n, dailySpendingCapUsd: 10_000_000_000n }
|
|
157
|
+
*/
|
|
158
|
+
export function applySafetyPreset(name, overrides = {}) {
|
|
159
|
+
const preset = SAFETY_PRESETS[name];
|
|
160
|
+
return {
|
|
161
|
+
timelockDuration: overrides.timelockDuration ?? preset.timelockDuration,
|
|
162
|
+
spendingLimitUsd: overrides.spendingLimitUsd ?? preset.spendingLimitUsd,
|
|
163
|
+
dailySpendingCapUsd: overrides.dailySpendingCapUsd ?? preset.dailySpendingCapUsd,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Ergonomic guard: if a safety preset has `null` caps (production), the
|
|
168
|
+
* consumer must resolve them before calling createVault. This helper
|
|
169
|
+
* narrows the preset type to its fully-resolved form or throws.
|
|
170
|
+
*/
|
|
171
|
+
export function requireResolvedSafetyPreset(preset) {
|
|
172
|
+
if (preset.spendingLimitUsd === null || preset.dailySpendingCapUsd === null) {
|
|
173
|
+
throw new Error(`Safety preset has unresolved caps. The "production" preset ` +
|
|
174
|
+
`intentionally leaves spendingLimitUsd and dailySpendingCapUsd ` +
|
|
175
|
+
`null so the caller supplies them explicitly. Pass both to ` +
|
|
176
|
+
`applySafetyPreset("production", { ... }) before using the ` +
|
|
177
|
+
`result with createVault.`);
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
timelockDuration: preset.timelockDuration,
|
|
181
|
+
spendingLimitUsd: preset.spendingLimitUsd,
|
|
182
|
+
dailySpendingCapUsd: preset.dailySpendingCapUsd,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
116
185
|
//# sourceMappingURL=presets.js.map
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,GAAG,EAAqB,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,gFAAgF;AAEhF,MAAM,mBAAmB,GACvB,8CAAyD,CAAC;AAC5D,MAAM,oBAAoB,GACxB,6CAAwD,CAAC;AAC3D,MAAM,mBAAmB,GACvB,6CAAwD,CAAC;AA+C3D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB,EAAE;QAClB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,mGAAmG;QACrG,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,eAAe;QAC5B,mBAAmB,EAAE,GAAG,CAAC,UAAY,CAAC,EAAE,OAAO;QAC/C,qBAAqB,EAAE,GAAG,CAAC,UAAY,CAAC,EAAE,OAAO;QACjD,cAAc,EAAE,GAAG,EAAE,KAAK;QAC1B,YAAY,EAAE,uBAAuB;QACrC,SAAS,EAAE,CAAC,uBAAuB,CAAC;QACpC,cAAc,EAAE,CAAC;QACjB,sBAAsB,EAAE,CAAC;KAC1B;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,yFAAyF;QAC3F,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,eAAe;QAC5B,mBAAmB,EAAE,GAAG,CAAC,WAAc,CAAC,EAAE,SAAS;QACnD,qBAAqB,EAAE,GAAG,CAAC,WAAc,CAAC,EAAE,SAAS;QACrD,cAAc,EAAE,GAAG,EAAE,KAAK;QAC1B,YAAY,EAAE,uBAAuB;QACrC,SAAS,EAAE,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;QACzD,cAAc,EAAE,MAAM,EAAE,MAAM;QAC9B,sBAAsB,EAAE,CAAC;KAC1B;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,kGAAkG;QACpG,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,eAAe;QAC5B,mBAAmB,EAAE,GAAG,CAAC,WAAc,CAAC,EAAE,SAAS;QACnD,qBAAqB,EAAE,GAAG,CAAC,UAAY,CAAC,EAAE,OAAO;QACjD,cAAc,EAAE,GAAG,EAAE,KAAK;QAC1B,YAAY,EAAE,uBAAuB;QACrC,SAAS,EAAE;YACT,uBAAuB;YACvB,oBAAoB;YACpB,mBAAmB;SACpB;QACD,cAAc,EAAE,CAAC;QACjB,sBAAsB,EAAE,CAAC;KAC1B;IACD,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,qGAAqG;QACvG,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,eAAe;QAC5B,mBAAmB,EAAE,GAAG,CAAC,YAAe,CAAC,EAAE,UAAU;QACrD,qBAAqB,EAAE,GAAG,CAAC,WAAc,CAAC,EAAE,SAAS;QACrD,cAAc,EAAE,GAAG,EAAE,KAAK;QAC1B,YAAY,EAAE,iBAAiB;QAC/B,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,MAAM,EAAE,MAAM;QAC9B,sBAAsB,EAAE,EAAE;KAC3B;CAC6C,CAAC;AAIjD,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,OAAQ,aAA6C,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAiB,CAAC;AACpD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAgB;IAYhB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QAChC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;KACtD,CAAC;AACJ,CAAC;AAsBD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE;QACX,gBAAgB,EAAE,IAAI,EAAE,SAAS;QACjC,gBAAgB,EAAE,GAAG,CAAC,UAAY,CAAC,EAAE,aAAa;QAClD,mBAAmB,EAAE,GAAG,CAAC,UAAY,CAAC,EAAE,sBAAsB;KAC/D;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,KAAK,EAAE,WAAW;QACpC,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,IAAI;KAC1B;CACoD,CAAC;AAIxD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAsB,EACtB,YAAyC,EAAE;IAE3C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO;QACL,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB;QACvE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB;QACvE,mBAAmB,EACjB,SAAS,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB;KAC9D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAA0B;IAKpE,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,MAAM,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACb,6DAA6D;YAC3D,gEAAgE;YAChE,4DAA4D;YAC5D,4DAA4D;YAC5D,0BAA0B,CAC7B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;KAChD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority-fees.d.ts","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"priority-fees.d.ts","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUvE,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,eAAe,SAAU,CAAC;AACvC,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAC5C,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,eAAe,SAAU,CAAC;AACvC,eAAO,MAAM,QAAQ,SAAU,CAAC;AAChC,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAC3C,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,eAAe,SAAU,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,MAAM,CAkB1E;AAID,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAqBD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAGhB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,EAC9C,MAAM,CAAC,EAAE,iBAAiB;IAiBtB,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YAmCxC,cAAc;YA6Cd,WAAW;CA+B1B"}
|
package/dist/priority-fees.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* 3-layer fallback: Helius → Kit RPC → static.
|
|
6
6
|
*/
|
|
7
7
|
import { redactCause } from "./network-errors.js";
|
|
8
|
+
import { getSigilModuleLogger } from "./logger.js";
|
|
8
9
|
import { SUPPORTED_PROTOCOLS } from "./types.js";
|
|
9
10
|
// Jupiter multi-hop needs special handling (>2 instructions = multi-hop)
|
|
10
11
|
const JUPITER_PROGRAM = "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
|
|
@@ -146,7 +147,7 @@ export class PriorityFeeEstimator {
|
|
|
146
147
|
// default fee with no visibility. A warn is cheap and makes API
|
|
147
148
|
// shape drift detectable in production.
|
|
148
149
|
const cause = redactCause(err);
|
|
149
|
-
|
|
150
|
+
getSigilModuleLogger().warn(`[priority-fees] Helius estimate failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
|
|
150
151
|
return null;
|
|
151
152
|
}
|
|
152
153
|
}
|
|
@@ -171,7 +172,7 @@ export class PriorityFeeEstimator {
|
|
|
171
172
|
// Same rationale as the Helius path — log so a failing RPC doesn't
|
|
172
173
|
// silently push users to the fallback fee without trace.
|
|
173
174
|
const cause = redactCause(err);
|
|
174
|
-
|
|
175
|
+
getSigilModuleLogger().warn(`[priority-fees] RPC getRecentPrioritizationFees failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
|
|
175
176
|
return null;
|
|
176
177
|
}
|
|
177
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority-fees.js","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"priority-fees.js","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"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"}
|