@candledottv/agent-sdk 0.1.0 → 0.3.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/client.d.ts +73 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/errors.d.ts +27 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/file-lock.d.ts +19 -0
- package/dist/file-lock.d.ts.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +150 -28
- package/dist/internal/rpc-endpoint.d.ts +30 -0
- package/dist/internal/rpc-endpoint.d.ts.map +1 -0
- package/dist/keychain-secret-store.d.ts +5 -3
- package/dist/keychain-secret-store.d.ts.map +1 -1
- package/dist/secret-store.d.ts +23 -5
- package/dist/secret-store.d.ts.map +1 -1
- package/dist/wallet-import.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/client.d.ts
CHANGED
|
@@ -44,6 +44,14 @@ export interface CandleClientOptions {
|
|
|
44
44
|
apiKey?: string;
|
|
45
45
|
/** Injectable fetch for tests; defaults to the global. */
|
|
46
46
|
fetch?: typeof fetch;
|
|
47
|
+
/**
|
|
48
|
+
* Allow an `http://` {@link apiUrl} pointing at a NON-loopback host. Off by default: this client
|
|
49
|
+
* attaches `x-api-key` to every authenticated call, so cleartext hands the key to anything on the
|
|
50
|
+
* path, and a redirect to HTTPS is too late to help. Loopback (`localhost`, `127.0.0.0/8`, `::1`)
|
|
51
|
+
* is always allowed and needs no flag. Set this only for a trusted local endpoint that is not
|
|
52
|
+
* loopback, such as a devcontainer reaching its host.
|
|
53
|
+
*/
|
|
54
|
+
allowInsecureHttp?: boolean;
|
|
47
55
|
/** Max launch() retries after the initial attempt. Default 3. */
|
|
48
56
|
maxRetries?: number;
|
|
49
57
|
/**
|
|
@@ -482,9 +490,30 @@ export interface BuildTradeRequest {
|
|
|
482
490
|
*/
|
|
483
491
|
quoteAsset?: "sol" | "usdc" | "cndl";
|
|
484
492
|
}
|
|
485
|
-
/**
|
|
493
|
+
/**
|
|
494
|
+
* The platform fee actually itemized on this trade.
|
|
495
|
+
*
|
|
496
|
+
* WHICH SIDE IT COMES FROM, because it is not symmetric and cost-basis math depends on it.
|
|
497
|
+
* The fee is always denominated in the QUOTE asset, on both chains and both sides. What differs
|
|
498
|
+
* is the amount it is charged on:
|
|
499
|
+
*
|
|
500
|
+
* - **Buy**: charged on what you SPEND. `feeRaw = amountRaw * bps / 10000`, and it is an
|
|
501
|
+
* ADDITIONAL transfer -- the full `amountRaw` still enters the swap. So the wallet parts with
|
|
502
|
+
* `amountRaw + feeRaw`, and `expectedOutRaw`/`minOutRaw` (the token you receive) are
|
|
503
|
+
* unaffected by the fee entirely.
|
|
504
|
+
* - **Sell**: charged on what you RECEIVE. `feeRaw = expectedOutRaw * bps / 10000`, drawn from
|
|
505
|
+
* the swap's own output in the same transaction. So `expectedOutRaw` and `minOutRaw` are
|
|
506
|
+
* **gross**, and the wallet nets `expectedOutRaw - feeRaw`.
|
|
507
|
+
*
|
|
508
|
+
* A caller computing realised PnL therefore subtracts the fee on a buy from the cost side, and
|
|
509
|
+
* on a sell from the proceeds -- never from the token amount on either.
|
|
510
|
+
*
|
|
511
|
+
* `treasury` is null only when the fee is disabled server-side (unset AGENT_FEE_TREASURY_*), in
|
|
512
|
+
* which case `feeRaw` is "0" and `bps` is 0; the pair is never a nonzero rate with a zero amount.
|
|
513
|
+
*/
|
|
486
514
|
export interface TradeFee {
|
|
487
515
|
bps: number;
|
|
516
|
+
/** Base units of the QUOTE asset. Never the token being traded, on either side. */
|
|
488
517
|
feeRaw: string;
|
|
489
518
|
treasury: string | null;
|
|
490
519
|
}
|
|
@@ -535,6 +564,8 @@ export type BuildTradeBuiltResult = {
|
|
|
535
564
|
expectedOutRaw: string;
|
|
536
565
|
minOutRaw: string;
|
|
537
566
|
expiresAt: number;
|
|
567
|
+
/** The linked payer's own base58 address: the wallet that must sign this build. */
|
|
568
|
+
walletAddress: string;
|
|
538
569
|
} | {
|
|
539
570
|
success: true;
|
|
540
571
|
status: "built";
|
|
@@ -574,6 +605,21 @@ export interface ExecutedTradeResult {
|
|
|
574
605
|
expectedOutRaw: string;
|
|
575
606
|
minOutRaw: string;
|
|
576
607
|
quoteAsset: string;
|
|
608
|
+
/**
|
|
609
|
+
* What the trade ACTUALLY delivered, in the output asset's raw units.
|
|
610
|
+
*
|
|
611
|
+
* `expectedOutRaw` beside it is the quote taken at BUILD time -- what you agreed to, not what
|
|
612
|
+
* arrived. The difference between them is your realised slippage, and it is the number a
|
|
613
|
+
* position ledger needs: without this you had to re-read the transaction the server had
|
|
614
|
+
* already read to confirm it.
|
|
615
|
+
*
|
|
616
|
+
* Present on SOLANA confirmations, where the server derives the payer's own balance delta
|
|
617
|
+
* for the mint as the gate that proves the trade happened and moved the right way, so the
|
|
618
|
+
* figure is decoded truth rather than an estimate. Absent on Hood, whose confirm verifies a
|
|
619
|
+
* fee receipt and decodes no balance delta -- absent rather than a guess or a zero, so
|
|
620
|
+
* `"actualOutRaw" in result.amounts` is a truthful test.
|
|
621
|
+
*/
|
|
622
|
+
actualOutRaw?: string;
|
|
577
623
|
};
|
|
578
624
|
}
|
|
579
625
|
/** POST /api/v1/trade/agent/build response: "built" for a linked payer, "executed" for a main payer (or an idempotent replay of an already-confirmed trade under the same clientTradeId). */
|
|
@@ -993,6 +1039,24 @@ export declare class CandleClient {
|
|
|
993
1039
|
*
|
|
994
1040
|
* Requires an agent key with the `swap:write` scope -- opt-in, omitted by default when a key is
|
|
995
1041
|
* issued; pass `scopes: [..., "swap:write"]` to `POST /api/v1/agent/keys` to grant it.
|
|
1042
|
+
*
|
|
1043
|
+
* ## Rebuilding an UNCONFIRMED `clientTradeId`
|
|
1044
|
+
*
|
|
1045
|
+
* The idempotency notes elsewhere on this rail describe the CONFIRMED case (you get the
|
|
1046
|
+
* original result back). The unconfirmed case, which a caller hits whenever a build expires
|
|
1047
|
+
* before it is signed, was undocumented until an integrator asked on 2026-08-27:
|
|
1048
|
+
*
|
|
1049
|
+
* - **It re-quotes, and does NOT create a second intent.** There is one row per
|
|
1050
|
+
* `(account, clientTradeId)`, and a rebuild patches it in place with a fresh plan. That is
|
|
1051
|
+
* deliberate rather than incidental: a Solana blockhash dies in about 90 seconds, so a
|
|
1052
|
+
* replayed build MUST re-plan or it would hand back an artifact that can no longer land.
|
|
1053
|
+
* - **The request body is conflict-checked on every build**, not only after confirmation. A
|
|
1054
|
+
* differing body under the same id is refused with `IDEMPOTENCY_CONFLICT`, exactly as the
|
|
1055
|
+
* launch rail does -- so an id cannot be reused for a different trade.
|
|
1056
|
+
* - **A `failed` row is reset to `built`** by a matching rebuild, so one id survives a failed
|
|
1057
|
+
* attempt and stays the anti-double-spend key across the retry.
|
|
1058
|
+
* - Beyond `BuildTradeBuiltResult.expiresAt`, the server-side states are
|
|
1059
|
+
* `built | confirmed | failed`.
|
|
996
1060
|
*/
|
|
997
1061
|
buildTrade(req: BuildTradeRequest): Promise<BuildTradeResult>;
|
|
998
1062
|
/**
|
|
@@ -1073,8 +1137,14 @@ export declare class CandleClient {
|
|
|
1073
1137
|
* read at all -- `solanaRpcUrl` is unused on this path, and there is no client-side
|
|
1074
1138
|
* blockhash-rebuild loop; the server controls broadcast and its own blockhash freshness now.
|
|
1075
1139
|
* The lower-level `buildTrade`/`signLinkedTransaction`/`broadcastSignedTransaction`/
|
|
1076
|
-
* `confirmTrade` sequence
|
|
1077
|
-
*
|
|
1140
|
+
* `confirmTrade` sequence stays available for callers who want to broadcast client-side.
|
|
1141
|
+
* **That path has NO blockhash-rebuild loop, and never did.**
|
|
1142
|
+
* `broadcastSignedTransaction` is a single unretried JSON-RPC send, so a caller who takes it
|
|
1143
|
+
* owns expiry themselves: a Solana blockhash dies in about 90 seconds, and a send that
|
|
1144
|
+
* arrives after that fails with no recovery unless the caller rebuilds. This doc previously
|
|
1145
|
+
* said the opposite, which was the worst possible way to be wrong -- a caller who trusted it
|
|
1146
|
+
* would lose transactions and have no reason to look for the retry that was not there.
|
|
1147
|
+
* Reported by an integrator on 2026-08-27.
|
|
1078
1148
|
* - **Hood/EVM**: unchanged from before -- `artifacts.approval` (when present), then
|
|
1079
1149
|
* `artifacts.trade`, then `artifacts.feeTransfer` (when present) -- in that exact order, EACH
|
|
1080
1150
|
* leg's receipt awaited (`waitForReceipt`) before the next leg is even assembled, then
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -39,9 +39,34 @@ export declare class CandleApiError extends Error {
|
|
|
39
39
|
* Solana `-32002` "Transaction simulation failed", `data` is typically `{ err, logs }`, naming
|
|
40
40
|
* the actual on-chain failure (e.g. `err: "BlockhashNotFound"`) that the top-level `message`
|
|
41
41
|
* alone does not surface. `broadcastSignedTransaction()` lets this propagate unchanged, and the
|
|
42
|
-
*
|
|
43
|
-
*
|
|
42
|
+
* `selfLaunch()` inspects `.data.err` to decide whether a failed broadcast is a blockhash expiry
|
|
43
|
+
* worth rebuilding and retrying. `trade()` no longer does: it hands broadcast to the server and
|
|
44
|
+
* has no client-side rebuild loop, so nothing there reads this field. (This sentence used to
|
|
45
|
+
* name both; corrected 2026-08-27 after an integrator found the pair of claims disagreed.)
|
|
44
46
|
*/
|
|
47
|
+
/**
|
|
48
|
+
* The shape a Solana JSON-RPC error's `data` takes for a failed simulation or send.
|
|
49
|
+
*
|
|
50
|
+
* `JsonRpcError.data` stays `unknown`, deliberately: it is a third party's field and a different
|
|
51
|
+
* endpoint may answer with anything. But the doc above has always told callers what to expect,
|
|
52
|
+
* so the type is exported rather than left for each integration to hand-roll -- pair it with
|
|
53
|
+
* `isSolanaRpcErrorData` instead of asserting.
|
|
54
|
+
*
|
|
55
|
+
* `logs` is the FULL array, untruncated. The preview inside `JsonRpcError.message` is three
|
|
56
|
+
* lines from the tail; anything doing real diagnosis should read this.
|
|
57
|
+
*/
|
|
58
|
+
export interface SolanaRpcErrorData {
|
|
59
|
+
/** The on-chain failure, e.g. `"BlockhashNotFound"` or `{ InstructionError: [3, ...] }`. */
|
|
60
|
+
err: unknown;
|
|
61
|
+
logs: string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Whether a `JsonRpcError.data` carries the Solana `{ err, logs }` shape.
|
|
65
|
+
*
|
|
66
|
+
* Checks `logs` is an array of strings rather than trusting the key's presence, because that is
|
|
67
|
+
* the field callers iterate and a non-array there would throw at the call site instead of here.
|
|
68
|
+
*/
|
|
69
|
+
export declare function isSolanaRpcErrorData(data: unknown): data is SolanaRpcErrorData;
|
|
45
70
|
export declare class JsonRpcError extends Error {
|
|
46
71
|
/** The JSON-RPC error's numeric code, e.g. -32002. */
|
|
47
72
|
readonly code: number;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;gBAEX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAQxG;AAED
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;gBAEX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAQxG;AAED;;;;;;;;;;;GAWG;AACH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,4FAA4F;IAC5F,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAK9E;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;gBAEV,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAMpE;AAkBD,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuB3F"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A cross-process exclusive lock, for the read-modify-write cycles that share one file.
|
|
3
|
+
*
|
|
4
|
+
* credentials.enc and wallets.enc are each a SINGLE json document holding every entry, so a write
|
|
5
|
+
* is read-whole, modify-one, write-whole. Two of those interleaving is not a torn file (the write
|
|
6
|
+
* itself is atomic via rename) but a LOST ENTRY: both readers see the same starting state, both
|
|
7
|
+
* add their own ref, and whichever renames second silently drops the other's. Running `candle keys
|
|
8
|
+
* create` in one terminal while `candle auth login` finishes in another is enough.
|
|
9
|
+
*
|
|
10
|
+
* O_EXCL is the primitive because the guarantee has to hold across PROCESSES, which an in-memory
|
|
11
|
+
* mutex cannot do. A lock older than STALE_MS is broken rather than waited on, so a process killed
|
|
12
|
+
* while holding one does not wedge the CLI for the next operator; the window is long enough that
|
|
13
|
+
* no honest holder is mistaken for a corpse.
|
|
14
|
+
*
|
|
15
|
+
* node:fs is imported lazily inside the function, matching secret-store.ts: importing this module
|
|
16
|
+
* must not drag a filesystem dependency into a bundle that only wanted InMemorySecretStore.
|
|
17
|
+
*/
|
|
18
|
+
export declare function withFileLock<T>(target: string, fn: () => Promise<T>): Promise<T>;
|
|
19
|
+
//# sourceMappingURL=file-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../src/file-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,wBAAsB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgCtF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type { AcceptedJob, AgentProfile, AgentTierInfo, BaseAssetKey, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, Chain, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, MarketState, MigrationStatus, PresetsPayload, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfLaunchRequest, SignLinkedTransactionParams, SignLinkedTransactionResult, SolanaTradeArtifacts, SpendLimit, SwapRequest, SwapResult, TradeFee, TradePayer, TradeRequest, TradeSide, VerifyResult, } from "./client";
|
|
1
|
+
export type { AcceptedJob, AgentProfile, AgentTierInfo, AtomicBundleLegRole, AtomicBundleLegSigner, AtomicBundleResponseLeg, AtomicFirstBuyRequest, AtomicLaunchPayer, BaseAssetKey, BuildAtomicLaunchRequest, BuildAtomicLaunchResult, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, Chain, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchAtomicFirstBuyRequest, LaunchAtomicPayer, LaunchAtomicRequest, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, LinkedSwapRequest, LinkedSwapResult, LinkedWalletRow, ListWalletsResult, MarketState, MigrationStatus, PresetsPayload, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfLaunchRequest, SignLinkedTransactionParams, SignLinkedTransactionResult, SolanaTradeArtifacts, SpendLimit, SpendLimitsResult, SubmitAtomicLaunchRequest, SubmitAtomicLaunchResult, SubmitTradeRequest, SwapRequest, SwapResult, TradeFee, TradePayer, TradeRequest, TradeSide, VerifyResult, } from "./client";
|
|
2
2
|
export { CandleClient } from "./client";
|
|
3
|
-
export type { CandleErrorPayload } from "./errors";
|
|
4
|
-
export { CandleApiError, JsonRpcError } from "./errors";
|
|
3
|
+
export type { CandleErrorPayload, SolanaRpcErrorData } from "./errors";
|
|
4
|
+
export { CandleApiError, isSolanaRpcErrorData, JsonRpcError } from "./errors";
|
|
5
5
|
export { KeychainSecretStore } from "./keychain-secret-store";
|
|
6
6
|
export type { SecretStore } from "./secret-store";
|
|
7
7
|
export { EncryptedFileSecretStore, InMemorySecretStore } from "./secret-store";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -87,6 +87,14 @@ class CandleApiError extends Error {
|
|
|
87
87
|
this.field = args.field;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
+
function isSolanaRpcErrorData(data) {
|
|
91
|
+
if (typeof data !== "object" || data === null)
|
|
92
|
+
return false;
|
|
93
|
+
const candidate = data;
|
|
94
|
+
if (!("err" in candidate))
|
|
95
|
+
return false;
|
|
96
|
+
return Array.isArray(candidate.logs) && candidate.logs.every((line) => typeof line === "string");
|
|
97
|
+
}
|
|
90
98
|
|
|
91
99
|
class JsonRpcError extends Error {
|
|
92
100
|
code;
|
|
@@ -234,6 +242,15 @@ async function waitForReceipt(rpc, txHash, opts = {}) {
|
|
|
234
242
|
}
|
|
235
243
|
}
|
|
236
244
|
|
|
245
|
+
// src/internal/rpc-endpoint.ts
|
|
246
|
+
function describeRpcEndpoint(url) {
|
|
247
|
+
try {
|
|
248
|
+
return new URL(url).origin;
|
|
249
|
+
} catch {
|
|
250
|
+
return "<unparseable rpc endpoint>";
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
237
254
|
// src/wallet-import.ts
|
|
238
255
|
import { Chacha20Poly1305 } from "@hpke/chacha20poly1305";
|
|
239
256
|
import { CipherSuite, DhkemP256HkdfSha256, HkdfSha256 } from "@hpke/core";
|
|
@@ -248,11 +265,16 @@ function buildCipherSuite() {
|
|
|
248
265
|
function parseSolanaSecret(input) {
|
|
249
266
|
const trimmed = input.trim();
|
|
250
267
|
if (!trimmed.startsWith("[")) {
|
|
268
|
+
let decoded;
|
|
251
269
|
try {
|
|
252
|
-
|
|
270
|
+
decoded = base58.decode(trimmed);
|
|
253
271
|
} catch {
|
|
254
272
|
throw new Error("Invalid Solana private key: expected a base58 string or an id.json byte array.");
|
|
255
273
|
}
|
|
274
|
+
if (decoded.length !== 64) {
|
|
275
|
+
throw new Error(`Invalid Solana private key: expected 64 bytes, got ${decoded.length}. A 32-byte value is the ` + "SEED, not the keypair; export the full secret key, which is what solana-keygen writes to id.json.");
|
|
276
|
+
}
|
|
277
|
+
return decoded;
|
|
256
278
|
}
|
|
257
279
|
const parsed = (() => {
|
|
258
280
|
try {
|
|
@@ -270,8 +292,8 @@ function parseSolanaSecret(input) {
|
|
|
270
292
|
function decodeWalletPrivateKey(chain, privateKey) {
|
|
271
293
|
if (chain === "evm") {
|
|
272
294
|
const hex = privateKey.startsWith("0x") ? privateKey.slice(2) : privateKey;
|
|
273
|
-
if (hex.length
|
|
274
|
-
throw new Error(
|
|
295
|
+
if (hex.length !== 64 || !/^[0-9a-fA-F]+$/.test(hex)) {
|
|
296
|
+
throw new Error("Invalid EVM private key: expected 32 bytes as 64 hex characters " + `(optionally "0x"-prefixed), got ${hex.length} characters`);
|
|
275
297
|
}
|
|
276
298
|
return Uint8Array.from(Buffer.from(hex, "hex"));
|
|
277
299
|
}
|
|
@@ -346,7 +368,7 @@ function withRpcLagHint(error) {
|
|
|
346
368
|
});
|
|
347
369
|
}
|
|
348
370
|
function formatJsonRpcErrorMessage(method, url, rpcError) {
|
|
349
|
-
const base = `JSON-RPC ${method} against ${url} was rejected (code ${rpcError.code}): ${rpcError.message}`;
|
|
371
|
+
const base = `JSON-RPC ${method} against ${describeRpcEndpoint(url)} was rejected (code ${rpcError.code}): ${rpcError.message}`;
|
|
350
372
|
const data = rpcError.data;
|
|
351
373
|
if (typeof data !== "object" || data === null)
|
|
352
374
|
return base;
|
|
@@ -356,7 +378,8 @@ function formatJsonRpcErrorMessage(method, url, rpcError) {
|
|
|
356
378
|
parts.push(`err: ${typeof d.err === "string" ? d.err : JSON.stringify(d.err)}`);
|
|
357
379
|
}
|
|
358
380
|
if (Array.isArray(d.logs) && d.logs.length > 0) {
|
|
359
|
-
|
|
381
|
+
const logs = d.logs.filter((line) => typeof line === "string");
|
|
382
|
+
parts.push(`logs: ${logs.slice(-3).join(" | ")}`);
|
|
360
383
|
}
|
|
361
384
|
return parts.length > 0 ? `${base} [${parts.join("; ")}]` : base;
|
|
362
385
|
}
|
|
@@ -379,6 +402,50 @@ function isAtomicSubmitOutcome(value) {
|
|
|
379
402
|
var DEFAULT_MAX_RETRIES = 3;
|
|
380
403
|
var DEFAULT_POLL_MS = 2000;
|
|
381
404
|
var DEFAULT_WAIT_TIMEOUT_MS = 180000;
|
|
405
|
+
function isLoopbackHost(hostname) {
|
|
406
|
+
const host = hostname.toLowerCase();
|
|
407
|
+
if (host === "localhost" || host.endsWith(".localhost"))
|
|
408
|
+
return true;
|
|
409
|
+
if (host === "::1" || host === "[::1]")
|
|
410
|
+
return true;
|
|
411
|
+
return /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(host);
|
|
412
|
+
}
|
|
413
|
+
function isPrivateHost(hostname) {
|
|
414
|
+
const host = hostname.toLowerCase().replace(/^\[|\]$/g, "");
|
|
415
|
+
if (!host.includes(".") && !host.includes(":"))
|
|
416
|
+
return true;
|
|
417
|
+
if (/\.(local|internal|home\.arpa)$/.test(host))
|
|
418
|
+
return true;
|
|
419
|
+
if (/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(host))
|
|
420
|
+
return true;
|
|
421
|
+
if (/^192\.168\.\d{1,3}\.\d{1,3}$/.test(host))
|
|
422
|
+
return true;
|
|
423
|
+
if (/^172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}$/.test(host))
|
|
424
|
+
return true;
|
|
425
|
+
if (/^169\.254\.\d{1,3}\.\d{1,3}$/.test(host))
|
|
426
|
+
return true;
|
|
427
|
+
if (/^f[cd][0-9a-f]{2}:/.test(host))
|
|
428
|
+
return true;
|
|
429
|
+
return /^fe[89ab][0-9a-f]:/.test(host);
|
|
430
|
+
}
|
|
431
|
+
function assertTransportSecurity(apiUrl, allowInsecureHttp) {
|
|
432
|
+
let parsed;
|
|
433
|
+
try {
|
|
434
|
+
parsed = new URL(apiUrl);
|
|
435
|
+
} catch {
|
|
436
|
+
throw new Error(`CandleClient: apiUrl is not a valid URL: ${JSON.stringify(apiUrl)}`);
|
|
437
|
+
}
|
|
438
|
+
if (parsed.protocol === "https:")
|
|
439
|
+
return;
|
|
440
|
+
if (parsed.protocol !== "http:") {
|
|
441
|
+
throw new Error(`CandleClient: apiUrl must be http or https, got ${parsed.protocol.replace(":", "")}`);
|
|
442
|
+
}
|
|
443
|
+
if (isLoopbackHost(parsed.hostname))
|
|
444
|
+
return;
|
|
445
|
+
if (allowInsecureHttp && isPrivateHost(parsed.hostname))
|
|
446
|
+
return;
|
|
447
|
+
throw new Error(`CandleClient: refusing to send credentials in the clear to ${parsed.origin}. Use https://.` + (isPrivateHost(parsed.hostname) ? " Pass allowInsecureHttp: true if this really is a trusted local endpoint." : " allowInsecureHttp does not apply here: it covers private networks only, and this is a" + " public address."));
|
|
448
|
+
}
|
|
382
449
|
|
|
383
450
|
class CandleClient {
|
|
384
451
|
apiUrl;
|
|
@@ -390,10 +457,14 @@ class CandleClient {
|
|
|
390
457
|
solanaRpcUrl;
|
|
391
458
|
evmRpcUrl;
|
|
392
459
|
constructor(opts) {
|
|
460
|
+
assertTransportSecurity(opts.apiUrl, opts.allowInsecureHttp === true);
|
|
393
461
|
this.apiUrl = opts.apiUrl.replace(/\/+$/, "");
|
|
394
462
|
if (opts.apiKey !== undefined)
|
|
395
463
|
this.apiKey = opts.apiKey;
|
|
396
464
|
this.fetchImpl = opts.fetch ?? fetch;
|
|
465
|
+
if (opts.maxRetries !== undefined && (!Number.isInteger(opts.maxRetries) || opts.maxRetries < 0)) {
|
|
466
|
+
throw new Error(`CandleClient: maxRetries must be a non-negative integer, got ${opts.maxRetries}`);
|
|
467
|
+
}
|
|
397
468
|
this.maxRetries = opts.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
398
469
|
if (opts.privyAppId !== undefined)
|
|
399
470
|
this.privyAppId = opts.privyAppId;
|
|
@@ -910,7 +981,7 @@ class CandleClient {
|
|
|
910
981
|
});
|
|
911
982
|
const text = await res.text();
|
|
912
983
|
if (!res.ok) {
|
|
913
|
-
throw new Error(`JSON-RPC ${method} against ${url} failed: HTTP ${res.status}: ${text}`);
|
|
984
|
+
throw new Error(`JSON-RPC ${method} against ${describeRpcEndpoint(url)} failed: HTTP ${res.status}: ${text}`);
|
|
914
985
|
}
|
|
915
986
|
const parsed = JSON.parse(text);
|
|
916
987
|
if (parsed.error) {
|
|
@@ -921,7 +992,7 @@ class CandleClient {
|
|
|
921
992
|
});
|
|
922
993
|
}
|
|
923
994
|
if (typeof parsed.result !== "string") {
|
|
924
|
-
throw new Error(`JSON-RPC ${method} against ${url} returned a non-string result: ${JSON.stringify(parsed.result)}`);
|
|
995
|
+
throw new Error(`JSON-RPC ${method} against ${describeRpcEndpoint(url)} returned a non-string result: ${JSON.stringify(parsed.result)}`);
|
|
925
996
|
}
|
|
926
997
|
return parsed.result;
|
|
927
998
|
}
|
|
@@ -933,7 +1004,7 @@ class CandleClient {
|
|
|
933
1004
|
});
|
|
934
1005
|
const text = await res.text();
|
|
935
1006
|
if (!res.ok) {
|
|
936
|
-
throw new Error(`JSON-RPC ${method} against ${url} failed: HTTP ${res.status}: ${text}`);
|
|
1007
|
+
throw new Error(`JSON-RPC ${method} against ${describeRpcEndpoint(url)} failed: HTTP ${res.status}: ${text}`);
|
|
937
1008
|
}
|
|
938
1009
|
const parsed = JSON.parse(text);
|
|
939
1010
|
if (parsed.error) {
|
|
@@ -977,6 +1048,12 @@ function assertStorable(value) {
|
|
|
977
1048
|
throw new Error("Refusing to store a signer value that is not single-line base64");
|
|
978
1049
|
}
|
|
979
1050
|
}
|
|
1051
|
+
var UNSAFE_FOR_SECURITY_COMMAND_LINE = /["\\\n\r]/;
|
|
1052
|
+
function assertSafeRef(ref) {
|
|
1053
|
+
if (UNSAFE_FOR_SECURITY_COMMAND_LINE.test(ref)) {
|
|
1054
|
+
throw new Error("Refusing to use this wallet reference against the macOS Keychain: it contains a quote, " + "backslash, or newline, which could break out of the quoted argument on security's " + "command-on-stdin line");
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
980
1057
|
var RUN_TIMEOUT_MS = 1e4;
|
|
981
1058
|
var realExec = (binary, args, stdin) => new Promise((resolvePromise, reject) => {
|
|
982
1059
|
const child = spawn(binary, args, { stdio: ["pipe", "pipe", "ignore"], env: process.env });
|
|
@@ -1036,6 +1113,7 @@ class KeychainSecretStore {
|
|
|
1036
1113
|
const value = pemToStoredSigner(privateKeyPem);
|
|
1037
1114
|
assertStorable(value);
|
|
1038
1115
|
if (this.backend === "security") {
|
|
1116
|
+
assertSafeRef(ref);
|
|
1039
1117
|
const command = `add-generic-password -U -s "${SERVICE}" -a "${ref}" -w "${value}"
|
|
1040
1118
|
`;
|
|
1041
1119
|
const result2 = await this.exec("security", ["-i"], command);
|
|
@@ -1050,6 +1128,7 @@ class KeychainSecretStore {
|
|
|
1050
1128
|
async delete(walletRef) {
|
|
1051
1129
|
const ref = walletSignerRef(walletRef);
|
|
1052
1130
|
if (this.backend === "security") {
|
|
1131
|
+
assertSafeRef(ref);
|
|
1053
1132
|
await this.exec("security", ["-i"], `delete-generic-password -s "${SERVICE}" -a "${ref}"
|
|
1054
1133
|
`);
|
|
1055
1134
|
return;
|
|
@@ -1057,6 +1136,39 @@ class KeychainSecretStore {
|
|
|
1057
1136
|
await this.exec("secret-tool", ["clear", "service", SERVICE, "account", ref]);
|
|
1058
1137
|
}
|
|
1059
1138
|
}
|
|
1139
|
+
// src/file-lock.ts
|
|
1140
|
+
var STALE_MS = 30000;
|
|
1141
|
+
var RETRY_MS = 25;
|
|
1142
|
+
var TIMEOUT_MS = 1e4;
|
|
1143
|
+
async function withFileLock(target, fn) {
|
|
1144
|
+
const { open, rm, stat } = await import("node:fs/promises");
|
|
1145
|
+
const lockPath = `${target}.lock`;
|
|
1146
|
+
const deadline = Date.now() + TIMEOUT_MS;
|
|
1147
|
+
for (;; ) {
|
|
1148
|
+
try {
|
|
1149
|
+
await (await open(lockPath, "wx")).close();
|
|
1150
|
+
break;
|
|
1151
|
+
} catch (error) {
|
|
1152
|
+
if (error.code !== "EEXIST")
|
|
1153
|
+
throw error;
|
|
1154
|
+
const age = await stat(lockPath).then((s) => Date.now() - s.mtimeMs).catch(() => 0);
|
|
1155
|
+
if (age > STALE_MS) {
|
|
1156
|
+
await rm(lockPath, { force: true });
|
|
1157
|
+
continue;
|
|
1158
|
+
}
|
|
1159
|
+
if (Date.now() > deadline) {
|
|
1160
|
+
throw new Error(`Timed out waiting for ${lockPath}. Another candle process is writing; if none is running, delete that file.`);
|
|
1161
|
+
}
|
|
1162
|
+
await new Promise((resolve) => setTimeout(resolve, RETRY_MS));
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
try {
|
|
1166
|
+
return await fn();
|
|
1167
|
+
} finally {
|
|
1168
|
+
await rm(lockPath, { force: true });
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1060
1172
|
// src/secret-store.ts
|
|
1061
1173
|
class InMemorySecretStore {
|
|
1062
1174
|
entries = new Map;
|
|
@@ -1100,25 +1212,29 @@ class EncryptedFileSecretStore {
|
|
|
1100
1212
|
return new TextDecoder().decode(plaintext);
|
|
1101
1213
|
}
|
|
1102
1214
|
async set(walletRef, privateKeyPem) {
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1215
|
+
return withFileLock(this.path, async () => {
|
|
1216
|
+
const contents = await this.readFile();
|
|
1217
|
+
const salt = crypto.getRandomValues(new Uint8Array(SALT_LENGTH_BYTES));
|
|
1218
|
+
const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH_BYTES));
|
|
1219
|
+
const key = await deriveKey(this.passphrase, salt, PBKDF2_ITERATIONS);
|
|
1220
|
+
const ciphertext = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, new TextEncoder().encode(privateKeyPem));
|
|
1221
|
+
contents[walletRef] = {
|
|
1222
|
+
salt: toBase64(salt),
|
|
1223
|
+
iv: toBase64(iv),
|
|
1224
|
+
ciphertext: toBase64(new Uint8Array(ciphertext)),
|
|
1225
|
+
iterations: PBKDF2_ITERATIONS
|
|
1226
|
+
};
|
|
1227
|
+
await this.writeFile(contents);
|
|
1228
|
+
});
|
|
1115
1229
|
}
|
|
1116
1230
|
async delete(walletRef) {
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1231
|
+
return withFileLock(this.path, async () => {
|
|
1232
|
+
const contents = await this.readFile();
|
|
1233
|
+
if (!Object.hasOwn(contents, walletRef))
|
|
1234
|
+
return;
|
|
1235
|
+
delete contents[walletRef];
|
|
1236
|
+
await this.writeFile(contents);
|
|
1237
|
+
});
|
|
1122
1238
|
}
|
|
1123
1239
|
async readFile() {
|
|
1124
1240
|
const { readFile } = await import("node:fs/promises");
|
|
@@ -1132,10 +1248,15 @@ class EncryptedFileSecretStore {
|
|
|
1132
1248
|
}
|
|
1133
1249
|
}
|
|
1134
1250
|
async writeFile(contents) {
|
|
1135
|
-
const { mkdir, writeFile } = await import("node:fs/promises");
|
|
1251
|
+
const { chmod, mkdir, rename, writeFile } = await import("node:fs/promises");
|
|
1136
1252
|
const { dirname } = await import("node:path");
|
|
1137
|
-
|
|
1138
|
-
await
|
|
1253
|
+
const dir = dirname(this.path);
|
|
1254
|
+
await mkdir(dir, { recursive: true });
|
|
1255
|
+
await chmod(dir, 448);
|
|
1256
|
+
const tmpPath = `${this.path}.${crypto.randomUUID()}.tmp`;
|
|
1257
|
+
await writeFile(tmpPath, JSON.stringify(contents, null, 2), { encoding: "utf8", mode: 384 });
|
|
1258
|
+
await chmod(tmpPath, 384);
|
|
1259
|
+
await rename(tmpPath, this.path);
|
|
1139
1260
|
}
|
|
1140
1261
|
}
|
|
1141
1262
|
// src/webhooks.ts
|
|
@@ -1175,6 +1296,7 @@ function verifyWebhookSignature(secret, header, body, nowSec, toleranceSec = 300
|
|
|
1175
1296
|
}
|
|
1176
1297
|
export {
|
|
1177
1298
|
verifyWebhookSignature,
|
|
1299
|
+
isSolanaRpcErrorData,
|
|
1178
1300
|
generateSignerKeypair,
|
|
1179
1301
|
encryptWalletKeyForImport,
|
|
1180
1302
|
KeychainSecretStore,
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How an RPC endpoint is named in an error message.
|
|
3
|
+
*
|
|
4
|
+
* Every JSON-RPC failure the SDK throws used to interpolate the endpoint URL verbatim, and most
|
|
5
|
+
* Solana and EVM providers authenticate by API key: Helius carries it in the query string
|
|
6
|
+
* (`?api-key=...`), Alchemy in the path (`/v2/<key>`). So a thrown message could contain a live
|
|
7
|
+
* credential, and error messages are the most widely copied strings a program produces -- they
|
|
8
|
+
* reach logs, alerting, exception trackers, support tickets and chat.
|
|
9
|
+
*
|
|
10
|
+
* That is not hypothetical. A caller forwarded one of these messages to a Discord alert channel
|
|
11
|
+
* on 2026-08-27 and had to rotate a production Helius key. They fixed the forwarding; this makes
|
|
12
|
+
* the SDK stop handing out the credential in the first place, so the next caller cannot make the
|
|
13
|
+
* same mistake as cheaply.
|
|
14
|
+
*
|
|
15
|
+
* The origin is what survives. `https://mainnet.helius-rpc.com/?api-key=SECRET` and
|
|
16
|
+
* `https://x.g.alchemy.com/v2/SECRET` both reduce to their host, which is the part with
|
|
17
|
+
* diagnostic value -- WHICH provider refused, paired with the method name the caller already
|
|
18
|
+
* has. Neither the path nor the query is ever needed to read one of these errors.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* The endpoint as it may appear in an error message: scheme and host, never the path or query.
|
|
22
|
+
*
|
|
23
|
+
* Never throws. It is called only while BUILDING an error, so a throw here would replace a real
|
|
24
|
+
* failure with a URL-parsing one and lose the original entirely. A value that will not parse is
|
|
25
|
+
* therefore reported as unknown rather than passed through -- passing it through is exactly the
|
|
26
|
+
* leak this exists to prevent, and a caller who configured a malformed URL has a bigger problem
|
|
27
|
+
* this message would not help with.
|
|
28
|
+
*/
|
|
29
|
+
export declare function describeRpcEndpoint(url: string): string;
|
|
30
|
+
//# sourceMappingURL=rpc-endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-endpoint.d.ts","sourceRoot":"","sources":["../../src/internal/rpc-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMvD"}
|
|
@@ -20,9 +20,11 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Secrets travel exclusively via the child's STDIN or its stdout, never argv, mirroring the
|
|
22
22
|
* CLI's own stores: macOS `security` only takes secrets as a `-w` argv flag in its normal form,
|
|
23
|
-
* so writes go through `security -i` (command-on-stdin mode) instead.
|
|
24
|
-
*
|
|
25
|
-
*
|
|
23
|
+
* so writes go through `security -i` (command-on-stdin mode) instead. BOTH interpolated halves of
|
|
24
|
+
* that command line are checked rather than assumed: `assertStorable` for the `-w "<value>"` token
|
|
25
|
+
* and `assertSafeRef` for the `-a "<ref>"` one. The value check alone is not enough, and saying so
|
|
26
|
+
* here is the point: this doc previously reasoned only about the value, and the unchecked ref was
|
|
27
|
+
* a command-injection path through `security -i` for anything that could influence a wallet id.
|
|
26
28
|
*/
|
|
27
29
|
import type { SecretStore } from "./secret-store";
|
|
28
30
|
export interface ExecResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keychain-secret-store.d.ts","sourceRoot":"","sources":["../src/keychain-secret-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"keychain-secret-store.d.ts","sourceRoot":"","sources":["../src/keychain-secret-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAsDjD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAiC5F,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;gBAEjB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO;IAK9E;;;;;OAKG;IACH,MAAM,CAAC,MAAM,IAAI,mBAAmB,GAAG,IAAI;IAMrC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY/C"}
|
package/dist/secret-store.d.ts
CHANGED
|
@@ -60,14 +60,17 @@ export declare class InMemorySecretStore implements SecretStore {
|
|
|
60
60
|
* re-derive the key even after {@link PBKDF2_ITERATIONS} is raised for new entries later.
|
|
61
61
|
* - Encryption: AES-GCM-256, a random {@link IV_LENGTH_BYTES}-byte IV generated fresh for every
|
|
62
62
|
* `set` call (never reused across entries or across overwrites of the same entry).
|
|
63
|
-
* - At rest: one JSON object per file,
|
|
64
|
-
* The ciphertext is AES-GCM's own output
|
|
65
|
-
*
|
|
66
|
-
*
|
|
63
|
+
* - At rest: one JSON object per file (mode 0600, parent directory 0700), one
|
|
64
|
+
* salt/iv/iterations/ciphertext record per `walletRef`. The ciphertext is AES-GCM's own output
|
|
65
|
+
* (ciphertext + auth tag), so a wrong passphrase derives the wrong key and
|
|
66
|
+
* `crypto.subtle.decrypt` throws on the auth-tag check -- it can never silently return garbage
|
|
67
|
+
* plaintext instead of the real PEM. Writes go to a temp file in the same directory and are
|
|
68
|
+
* renamed over the real path, so an interrupted write cannot leave a half-written file.
|
|
67
69
|
*
|
|
68
70
|
* Not safe for concurrent writers against the same file: `set` and `delete` both do a
|
|
69
71
|
* read-modify-write of the whole file, so two concurrent calls (same process or different
|
|
70
|
-
* processes) against the same `path` can race and lose one write.
|
|
72
|
+
* processes) against the same `path` can race and lose one write. The atomic rename bounds the
|
|
73
|
+
* damage to a lost update; it does not make the read-modify-write itself safe.
|
|
71
74
|
*/
|
|
72
75
|
export declare class EncryptedFileSecretStore implements SecretStore {
|
|
73
76
|
private readonly path;
|
|
@@ -77,6 +80,21 @@ export declare class EncryptedFileSecretStore implements SecretStore {
|
|
|
77
80
|
set(walletRef: string, privateKeyPem: string): Promise<void>;
|
|
78
81
|
delete(walletRef: string): Promise<void>;
|
|
79
82
|
private readFile;
|
|
83
|
+
/**
|
|
84
|
+
* Write the whole store, owner-only and atomically. Mirrors `writeContents` in the CLI's
|
|
85
|
+
* secret-store.ts, which has done both from the start; this copy did neither.
|
|
86
|
+
*
|
|
87
|
+
* The modes matter because the file holds signer ciphertext whose only protection is a
|
|
88
|
+
* PBKDF2 passphrase: created with no `mode`, a normal `umask 022` left the directory 0755 and
|
|
89
|
+
* the file 0644, so any other local account could copy the ciphertext and attack the passphrase
|
|
90
|
+
* offline, at its leisure. `chmod` runs after `mkdir`/`writeFile` because the `mode` options
|
|
91
|
+
* apply only when the entry is newly created, and a directory or leftover temp file from an
|
|
92
|
+
* earlier run would otherwise keep its old, wider mode.
|
|
93
|
+
*
|
|
94
|
+
* The rename matters because `set` and `delete` rewrite the entire file: truncating it in place
|
|
95
|
+
* means an interrupted write loses EVERY stored signer, not just the entry being changed.
|
|
96
|
+
* `rename` within one directory is atomic, so a reader sees either the old file or the new one.
|
|
97
|
+
*/
|
|
80
98
|
private writeFile;
|
|
81
99
|
}
|
|
82
100
|
//# sourceMappingURL=secret-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../src/secret-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../src/secret-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,6FAA6F;IAC7F,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC9C,2FAA2F;IAC3F,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,wFAAwF;IACxF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzC;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAE9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,wBAAyB,YAAW,WAAW;IAExD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAG/B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoB9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAShC,QAAQ;IAWtB;;;;;;;;;;;;;;OAcG;YACW,SAAS;CAWxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-import.d.ts","sourceRoot":"","sources":["../src/wallet-import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAeH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE1C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"wallet-import.d.ts","sourceRoot":"","sources":["../src/wallet-import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAeH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE1C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAsC3D;AAuBD,MAAM,WAAW,sBAAsB;IACrC,kGAAkG;IAClG,KAAK,EAAE,WAAW,CAAA;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,4GAA4G;IAC5G,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAY/G;AAED,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,aAAa,EAAE,MAAM,CAAA;IACrB,iHAAiH;IACjH,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAUpE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@candledottv/agent-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "TypeScript SDK for the Candle agent rail: typed headless launches, market reads, and webhook verification",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"url": "git+https://github.com/candledottv/agentic.git",
|
|
18
18
|
"directory": "packages/sdk"
|
|
19
19
|
},
|
|
20
|
-
"homepage": "https://docs.candle.tv/developers/
|
|
20
|
+
"homepage": "https://docs.candle.tv/developers/sdk",
|
|
21
21
|
"bugs": {
|
|
22
22
|
"url": "https://github.com/candledottv/agentic/issues"
|
|
23
23
|
},
|