@usesigil/kit 0.8.0 → 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.
Files changed (89) hide show
  1. package/README.md +158 -145
  2. package/dist/alt-config.d.ts +4 -2
  3. package/dist/alt-config.d.ts.map +1 -1
  4. package/dist/alt-config.js +4 -2
  5. package/dist/alt-config.js.map +1 -1
  6. package/dist/alt-loader.d.ts.map +1 -1
  7. package/dist/alt-loader.js +2 -1
  8. package/dist/alt-loader.js.map +1 -1
  9. package/dist/balance-tracker.d.ts +7 -0
  10. package/dist/balance-tracker.d.ts.map +1 -1
  11. package/dist/balance-tracker.js +26 -9
  12. package/dist/balance-tracker.js.map +1 -1
  13. package/dist/create-vault.d.ts +40 -3
  14. package/dist/create-vault.d.ts.map +1 -1
  15. package/dist/create-vault.js +45 -7
  16. package/dist/create-vault.js.map +1 -1
  17. package/dist/dashboard/discover.d.ts.map +1 -1
  18. package/dist/dashboard/discover.js +2 -1
  19. package/dist/dashboard/discover.js.map +1 -1
  20. package/dist/dashboard/from-json.d.ts +1 -0
  21. package/dist/dashboard/from-json.d.ts.map +1 -1
  22. package/dist/dashboard/from-json.js +3 -1
  23. package/dist/dashboard/from-json.js.map +1 -1
  24. package/dist/dashboard/mutations.d.ts.map +1 -1
  25. package/dist/dashboard/mutations.js +2 -1
  26. package/dist/dashboard/mutations.js.map +1 -1
  27. package/dist/dashboard/reads.d.ts.map +1 -1
  28. package/dist/dashboard/reads.js +5 -4
  29. package/dist/dashboard/reads.js.map +1 -1
  30. package/dist/errors/public.d.ts +24 -0
  31. package/dist/errors/public.d.ts.map +1 -0
  32. package/dist/errors/public.js +30 -0
  33. package/dist/errors/public.js.map +1 -0
  34. package/dist/errors/walk.d.ts +8 -0
  35. package/dist/errors/walk.d.ts.map +1 -1
  36. package/dist/errors/walk.js +12 -1
  37. package/dist/errors/walk.js.map +1 -1
  38. package/dist/helpers/ata.d.ts +73 -0
  39. package/dist/helpers/ata.d.ts.map +1 -0
  40. package/dist/helpers/ata.js +107 -0
  41. package/dist/helpers/ata.js.map +1 -0
  42. package/dist/helpers/parse-usd.d.ts +43 -0
  43. package/dist/helpers/parse-usd.d.ts.map +1 -0
  44. package/dist/helpers/parse-usd.js +81 -0
  45. package/dist/helpers/parse-usd.js.map +1 -0
  46. package/dist/helpers/validate-cap-aggregate.d.ts +41 -0
  47. package/dist/helpers/validate-cap-aggregate.d.ts.map +1 -0
  48. package/dist/helpers/validate-cap-aggregate.js +61 -0
  49. package/dist/helpers/validate-cap-aggregate.js.map +1 -0
  50. package/dist/index.d.ts +12 -5
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +36 -5
  53. package/dist/index.js.map +1 -1
  54. package/dist/integrations/compose-errors.d.ts.map +1 -1
  55. package/dist/integrations/compose-errors.js +15 -1
  56. package/dist/integrations/compose-errors.js.map +1 -1
  57. package/dist/logger.d.ts +77 -0
  58. package/dist/logger.d.ts.map +1 -0
  59. package/dist/logger.js +153 -0
  60. package/dist/logger.js.map +1 -0
  61. package/dist/math-utils.d.ts +5 -0
  62. package/dist/math-utils.d.ts.map +1 -1
  63. package/dist/math-utils.js +7 -0
  64. package/dist/math-utils.js.map +1 -1
  65. package/dist/presets.d.ts +73 -6
  66. package/dist/presets.d.ts.map +1 -1
  67. package/dist/presets.js +75 -6
  68. package/dist/presets.js.map +1 -1
  69. package/dist/priority-fees.d.ts +3 -0
  70. package/dist/priority-fees.d.ts.map +1 -1
  71. package/dist/priority-fees.js +14 -37
  72. package/dist/priority-fees.js.map +1 -1
  73. package/dist/seal.d.ts +85 -6
  74. package/dist/seal.d.ts.map +1 -1
  75. package/dist/seal.js +199 -9
  76. package/dist/seal.js.map +1 -1
  77. package/dist/shield.d.ts.map +1 -1
  78. package/dist/shield.js +10 -9
  79. package/dist/shield.js.map +1 -1
  80. package/dist/tee/verify.d.ts.map +1 -1
  81. package/dist/tee/verify.js +11 -10
  82. package/dist/tee/verify.js.map +1 -1
  83. package/dist/transaction-executor.d.ts.map +1 -1
  84. package/dist/transaction-executor.js +3 -2
  85. package/dist/transaction-executor.js.map +1 -1
  86. package/dist/x402/shielded-fetch.d.ts.map +1 -1
  87. package/dist/x402/shielded-fetch.js +7 -4
  88. package/dist/x402/shielded-fetch.js.map +1 -1
  89. package/package.json +6 -2
package/dist/presets.js CHANGED
@@ -1,12 +1,16 @@
1
1
  /**
2
- * Vault creation presets — safe defaults for common use cases.
2
+ * Vault creation presets — two axes:
3
3
  *
4
- * Presets provide the policy/permission fields for CreateVaultOptions.
5
- * Runtime fields (rpc, network, owner, agent, feeDestination, vaultId)
6
- * are NOT included the caller supplies those.
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
- * Dashboard "Create Vault" wizard uses these as "Quick Setup" cards
9
- * before the custom configuration step.
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
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
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"}
@@ -18,6 +18,9 @@ export declare const CU_OWNER_ACTION = 200000;
18
18
  /**
19
19
  * Detect CU budget based on the DeFi instructions in a composed transaction.
20
20
  * Uses `programAddress` (Kit convention, not `programId`).
21
+ *
22
+ * Derives CU estimates from SUPPORTED_PROTOCOLS.defaultCU when available,
23
+ * with special-case handling for Jupiter multi-hop (>2 instructions).
21
24
  */
22
25
  export declare function estimateComposedCU(defiInstructions: Instruction[]): number;
23
26
  export type PriorityLevel = "low" | "medium" | "high" | "very_high";
@@ -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;AAgCvE,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;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,MAAM,CA2B1E;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"}
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"}
@@ -5,29 +5,10 @@
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
- // ─── Known Protocol Program Addresses (PR 3.B F042 — derived from registry)
10
- // These local aliases keep the CU estimation code readable while sourcing
11
- // addresses from the canonical SUPPORTED_PROTOCOLS in types.ts.
10
+ // Jupiter multi-hop needs special handling (>2 instructions = multi-hop)
12
11
  const JUPITER_PROGRAM = "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
13
- const JUPITER_LEND_PROGRAM = "JLend2fEim9xUFcaHsyGePEoBzFLvkjMi3MnPcSuCdu";
14
- const FLASH_TRADE_PROGRAM = "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
15
- const DRIFT_PROGRAM = "dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH";
16
- const KAMINO_LEND_PROGRAM = "KLend2g3cP87ber8CzRaqeECGwNvLFM9acPVcRkRHvM";
17
- // Runtime assert: all local aliases exist in the canonical registry.
18
- // If a protocol is removed from SUPPORTED_PROTOCOLS but the local alias
19
- // survives, this fires at module load.
20
- for (const addr of [
21
- JUPITER_PROGRAM,
22
- JUPITER_LEND_PROGRAM,
23
- FLASH_TRADE_PROGRAM,
24
- DRIFT_PROGRAM,
25
- KAMINO_LEND_PROGRAM,
26
- ]) {
27
- if (!SUPPORTED_PROTOCOLS[addr]) {
28
- console.warn(`[priority-fees] ${addr} not in SUPPORTED_PROTOCOLS — registry drift`);
29
- }
30
- }
31
12
  // ─── CU Budget Defaults ─────────────────────────────────────────────────────
32
13
  export const CU_AGENT_TRANSFER = 200_000;
33
14
  export const CU_JUPITER_SWAP = 600_000;
@@ -42,28 +23,24 @@ export const CU_OWNER_ACTION = 200_000;
42
23
  /**
43
24
  * Detect CU budget based on the DeFi instructions in a composed transaction.
44
25
  * Uses `programAddress` (Kit convention, not `programId`).
26
+ *
27
+ * Derives CU estimates from SUPPORTED_PROTOCOLS.defaultCU when available,
28
+ * with special-case handling for Jupiter multi-hop (>2 instructions).
45
29
  */
46
30
  export function estimateComposedCU(defiInstructions) {
47
31
  if (defiInstructions.length === 0)
48
32
  return CU_AGENT_TRANSFER;
49
33
  const programAddresses = defiInstructions.map((ix) => ix.programAddress);
34
+ // Jupiter multi-hop special case: >2 instructions = higher CU
50
35
  const hasJupiter = programAddresses.some((id) => id === JUPITER_PROGRAM);
51
- const hasJupiterLend = programAddresses.some((id) => id === JUPITER_LEND_PROGRAM);
52
- const hasFlashTrade = programAddresses.some((id) => id === FLASH_TRADE_PROGRAM);
53
- const hasDrift = programAddresses.some((id) => id === DRIFT_PROGRAM);
54
- const hasKaminoLend = programAddresses.some((id) => id === KAMINO_LEND_PROGRAM);
55
36
  if (hasJupiter && defiInstructions.length > 2)
56
37
  return CU_JUPITER_MULTI_HOP;
57
- if (hasJupiter)
58
- return CU_JUPITER_SWAP;
59
- if (hasJupiterLend)
60
- return CU_JUPITER_LEND;
61
- if (hasFlashTrade)
62
- return CU_FLASH_TRADE;
63
- if (hasDrift)
64
- return CU_DRIFT;
65
- if (hasKaminoLend)
66
- return CU_KAMINO_LEND;
38
+ // Look up CU from the canonical registry
39
+ for (const addr of programAddresses) {
40
+ const meta = SUPPORTED_PROTOCOLS[addr];
41
+ if (meta)
42
+ return meta.defaultCU;
43
+ }
67
44
  return CU_DEFAULT_COMPOSED;
68
45
  }
69
46
  const LEVEL_PERCENTILES = {
@@ -170,7 +147,7 @@ export class PriorityFeeEstimator {
170
147
  // default fee with no visibility. A warn is cheap and makes API
171
148
  // shape drift detectable in production.
172
149
  const cause = redactCause(err);
173
- console.warn(`[priority-fees] Helius estimate failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
150
+ getSigilModuleLogger().warn(`[priority-fees] Helius estimate failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
174
151
  return null;
175
152
  }
176
153
  }
@@ -195,7 +172,7 @@ export class PriorityFeeEstimator {
195
172
  // Same rationale as the Helius path — log so a failing RPC doesn't
196
173
  // silently push users to the fallback fee without trace.
197
174
  const cause = redactCause(err);
198
- console.warn(`[priority-fees] RPC getRecentPrioritizationFees failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
175
+ getSigilModuleLogger().warn(`[priority-fees] RPC getRecentPrioritizationFees failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
199
176
  return null;
200
177
  }
201
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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"}
package/dist/seal.d.ts CHANGED
@@ -125,6 +125,37 @@ export interface SigilClientConfig {
125
125
  tokenMint: Address;
126
126
  amount: bigint;
127
127
  }) => void;
128
+ /**
129
+ * Structured logger for SDK-internal diagnostics (ALT cache warnings,
130
+ * RPC retries, shield advisories, etc.). When provided to
131
+ * `SigilClient.create()`, it is installed via `setSigilModuleLogger()`
132
+ * so every leaf utility in the SDK routes output through it.
133
+ *
134
+ * Default: `NOOP_LOGGER` — no output.
135
+ *
136
+ * For local development, pass `createConsoleLogger()`. For production,
137
+ * wrap your preferred structured logger (pino, bunyan, OpenTelemetry)
138
+ * in the `SigilLogger` interface shape.
139
+ */
140
+ logger?: import("./logger.js").SigilLogger;
141
+ /**
142
+ * Skip the `getGenesisHash()` network assertion at client construction.
143
+ *
144
+ * **Do not set this in production.** The assertion prevents a very
145
+ * common misconfiguration — pointing a mainnet-built SDK instance at a
146
+ * devnet RPC (or vice versa) — from reaching transaction submission,
147
+ * where it would silently succeed against the wrong cluster and drain
148
+ * funds that weren't supposed to move.
149
+ *
150
+ * Opt-outs are provided only for two narrow cases:
151
+ * - Local Surfpool / LiteSVM test harnesses whose genesis hash does
152
+ * not match the canonical devnet or mainnet hashes.
153
+ * - CI jobs where the RPC is stubbed entirely.
154
+ *
155
+ * When set to `true`, a deprecation-tier warning is emitted via the
156
+ * injected logger so the bypass is observable in audit trails.
157
+ */
158
+ skipGenesisAssertion?: boolean;
128
159
  }
129
160
  /**
130
161
  * Options for `client.seal()`.
@@ -206,18 +237,27 @@ export interface SigilClientApi {
206
237
  * ```
207
238
  */
208
239
  export declare function createSigilClient(config: SigilClientConfig): SigilClientApi;
240
+ /** Canonical devnet genesis hash — Solana cluster identifier. */
241
+ export declare const SOLANA_DEVNET_GENESIS_HASH = "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG";
242
+ /** Canonical mainnet-beta genesis hash — Solana cluster identifier. */
243
+ export declare const SOLANA_MAINNET_GENESIS_HASH = "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d";
244
+ /** @internal — exposed for test resets only. */
245
+ export declare function _resetGenesisHashCache(): void;
209
246
  /**
210
- * @deprecated Use `createSigilClient(config)` instead. This class will be
211
- * removed at v1.0. The factory returns the same API surface as a plain
212
- * object with closure-bound methods no `this` binding issues, tree-
213
- * shakeable, and aligned with the viem/Kit functional pattern.
247
+ * @deprecated Use `createSigilClient(config)` or the async factory
248
+ * `SigilClient.create(config)` instead. This class will be removed at
249
+ * v1.0. The factory returns the same API surface as a plain object with
250
+ * closure-bound methods no `this` binding issues, tree-shakeable, and
251
+ * aligned with the viem/Kit functional pattern.
214
252
  *
215
253
  * Migration:
216
254
  * ```ts
217
255
  * // Before:
218
256
  * const client = new SigilClient({ rpc, vault, agent, network });
219
- * // After:
257
+ * // After (factory):
220
258
  * const client = createSigilClient({ rpc, vault, agent, network });
259
+ * // After (async with genesis assertion):
260
+ * const client = await SigilClient.create({ rpc, vault, agent, network });
221
261
  * ```
222
262
  */
223
263
  export declare class SigilClient {
@@ -228,7 +268,46 @@ export declare class SigilClient {
228
268
  readonly vault: Address;
229
269
  readonly agent: TransactionSigner;
230
270
  readonly network: "devnet" | "mainnet";
231
- constructor(config: SigilClientConfig);
271
+ /**
272
+ * @deprecated Use the async factory {@link SigilClient.create} instead.
273
+ * The sync constructor skips the genesis-hash assertion and cannot
274
+ * verify the RPC is on the cluster the SDK was configured for. Migrate
275
+ * by awaiting `await SigilClient.create(config)` — signature is
276
+ * otherwise identical.
277
+ *
278
+ * Sync construction remains functional for back-compat and for tests
279
+ * using stubbed RPCs that don't honor `getGenesisHash()`. When called
280
+ * directly (not via `.create()`), emits a warning via the injected
281
+ * logger so the bypass is observable.
282
+ *
283
+ * @param _skipDeprecationWarning — internal flag used by
284
+ * `SigilClient.create()` to suppress the warning on the async path
285
+ * (the async factory IS the recommended path; warning there would
286
+ * be misleading log spam). Not part of the public API.
287
+ */
288
+ constructor(config: SigilClientConfig, _skipDeprecationWarning?: boolean);
289
+ /**
290
+ * Async factory — constructs a `SigilClient` and asserts the RPC's
291
+ * genesis hash matches the configured `network`. Preferred entry
292
+ * point for production use.
293
+ *
294
+ * Throws `SigilRpcError` if:
295
+ * - the RPC fails 3 consecutive `getGenesisHash()` attempts, or
296
+ * - the returned genesis hash does not match the canonical devnet /
297
+ * mainnet hash.
298
+ *
299
+ * Set `config.skipGenesisAssertion: true` to bypass for local test
300
+ * harnesses (Surfpool, LiteSVM) — a warning is emitted in that case.
301
+ *
302
+ * @example
303
+ * ```ts
304
+ * const client = await SigilClient.create({
305
+ * rpc, vault, agent, network: "devnet",
306
+ * logger: createConsoleLogger(),
307
+ * });
308
+ * ```
309
+ */
310
+ static create(config: SigilClientConfig): Promise<SigilClient>;
232
311
  /**
233
312
  * Seal DeFi instructions with Sigil security.
234
313
  *
@@ -1 +1 @@
1
- {"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"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"}