@capxul/sdk 2.1.1 → 2.2.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 +24 -0
- package/dist/{InMemoryAuthCacheAdapter-Rc8tCtml.mjs → InMemoryAuthCacheAdapter-PycLJWeW.mjs} +12 -2
- package/dist/{create-capxul-client-CPhTPz_9.mjs → create-capxul-client-B8qMV-_e.mjs} +571 -374
- package/dist/index.d.mts +25 -64
- package/dist/index.mjs +141 -88
- package/dist/node/index.d.mts +1 -1
- package/dist/node/index.mjs +1 -1
- package/dist/{create-capxul-client-BI-6Za6X.d.mts → observation-BwPo8qeo.d.mts} +95 -11
- package/dist/{signer-Bj4F-RwT.d.mts → signer-D4roBkcX.d.mts} +94 -1
- package/dist/testing/index.d.mts +3 -1
- package/dist/testing/index.mjs +4 -3
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import { $ as
|
|
1
|
+
import { $ as CapxulError, A as CountryCode, D as AuthUserId, E as AuthSession, G as RoleKey, I as Money, Q as CAPXUL_ERROR_CODES, R as OrgId, X as toAddress, Z as toCountryCode, a as AccountProvider, at as isCapxulError, b as AccountId, c as Eip1193Provider, d as CapxulResult, et as CapxulErrorCode, f as Profile, i as injectedWalletSigner, it as FailureMode, l as eip1193AccountProvider, m as SmartAccount, n as CapxulSigner, nt as Errors, o as AccountProviderSource, p as Session, r as Eip1193RequestProvider, s as AccountRequirement, t as CapxulDigestSigner, tt as CapxulErrorDetails, u as localPrivateKeyAccountProvider, x as Address, y as Account, z as PartyId } from "./signer-D4roBkcX.mjs";
|
|
2
|
+
import { $ as ActorRequest, $t as TargetReference, A as OrganizationAccount, At as OfframpMethods, B as PermissionAssignInput, Bt as PaymentDocumentRender, C as InviteMemberInput, Cn as Readiness, Ct as DestinationRail, D as OrgScopedMethods, Dn as InvocationControls, Dt as HandlesMethods, E as OrgMethods, En as IdentityTransition, Et as FinancialOpsMethods, F as RoleView, Ft as PayeesMethods, G as PermissionReplaceInput, Gt as PaymentTiming, H as PermissionCreateInput, Ht as PaymentDocumentsMethods, I as OrganizationPaymentBatchInput, It as Payment, J as AccountsMethods, Jt as PaymentsPayInput, K as PermissionRevokeInput, Kt as PaymentType, L as OrganizationPaymentInput, Lt as PaymentDirection, M as ResendInviteTokenInput, Mt as OfframpQuoteInput, N as RoleDefinition, Nt as OfframpStatus, O as OrgTemplate, Ot as MeMethods, P as RoleSpendCap, Pt as Payee, Q as ActorRelationshipMethods, Qt as ResolvedTarget, R as OrganizationPaymentItemInput, Rt as PaymentDocumentKind, S as DetectPendingOrgInvitationsResult, Sn as OrgLane, St as DestinationPayload, T as MemberView, Tn as destination, Tt as DestinationsMethods, U as PermissionMethods, Ut as PaymentMoney, V as PermissionChangeInput, Vt as PaymentDocumentVerification, W as PermissionOptions, Wt as PaymentStatus, X as ActorProfile, Xt as RecipientResolutionKind, Y as AccountMethods, Yt as RecipientResolution, Z as ActorProfileMethods, Zt as Ref, _ as SystemHealth, _n as TelemetryPort, _t as DepositInstructions, a as SdkFailureObservation, an as IdentityMethods, at as AddressBookMethods, b as CurrentUserMethods, bn as IdentityEvent, bt as DestinationKind, c as PostHogObservabilityOptions, cn as OrgLifecycle, ct as InboxMethods, d as CreateCapxulClientInput, dn as MovementAnnotation, dt as ActivityItem, en as TargetsMethods, et as ActorRequestIssueInput, f as IdentityProfileDetails, fn as Permission, ft as ActivityListParams, g as SystemMethods, gt as ActorReference, h as HoldingsMethods, ht as ActivityReference, i as ObservationDelivery, in as isSettingUpLifecycle, it as AddressBookLabelInput, j as OrganizationAuditLogItem, jt as OfframpQuote, k as OrgView, kt as MeProfile, l as postHogObservability, ln as OrgSetupStep, lt as ActivityAnnotationInput, m as IdentityRuntimeSendResult, mt as ActivityPage, n as ObservationAdapter, nn as AccountLifecycle, nt as AddressBookAddInput, o as HostObservability, on as SmartAccountMethods, ot as InboxApproveInput, p as IdentityRuntime, pn as SubmittedPermissionExecution, pt as ActivityMethods, q as PermissionReadResult, qt as PaymentsMethods, r as ObservationContext, rn as AccountSetupStep, rt as AddressBookEntry, s as PostHogObservabilityClient, sn as AuthMethods, st as InboxItem, t as CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, tn as fingerprintPaymentIntent, tt as ActorRequestsMethods, u as CapxulClient, un as CurrentHoldings, ut as ActivityDetail, v as MediaMethods, vn as CAPXUL_PAYMENTS_V2_ADDRESS, vt as Destination, w as MemberStatus, wn as StateLabel, wt as DestinationRemoveInput, x as CreateOrgInput, xn as IdentityState, xt as DestinationListInput, y as CurrentUserContext, yn as Destination$1, yt as DestinationAddInput, z as OrganizationPaymentsMethods, zt as PaymentDocumentRef } from "./observation-BwPo8qeo.mjs";
|
|
3
3
|
import { Hex } from "viem";
|
|
4
4
|
import { Context, Effect, Layer } from "effect";
|
|
5
5
|
import { FunctionReference } from "convex/server";
|
|
6
6
|
|
|
7
|
+
//#region src/domain/money/format-money.d.ts
|
|
8
|
+
declare function formatMoney(money: Money, options?: {
|
|
9
|
+
readonly grammar?: "symbol" | "code";
|
|
10
|
+
}): string;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/domain/money/parse-money.d.ts
|
|
13
|
+
type MoneyParseErrorReason = "required" | "too-long" | "invalid-format" | "non-positive" | "too-many-decimals";
|
|
14
|
+
interface MoneyParseError {
|
|
15
|
+
readonly kind: "error";
|
|
16
|
+
readonly reason: MoneyParseErrorReason;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* ADR-0023 R1: the reason is a closed code and the ONLY failure vocabulary —
|
|
20
|
+
* the consuming app maps each code to its own sentence. The SDK ships no
|
|
21
|
+
* English for user-text failure.
|
|
22
|
+
*/
|
|
23
|
+
declare function isMoneyParseError(value: Money | MoneyParseError): value is MoneyParseError;
|
|
24
|
+
declare function parseMoney(input: string, asset: Pick<Money, "currency" | "decimals">): Money | MoneyParseError;
|
|
25
|
+
//#endregion
|
|
7
26
|
//#region src/adapters/auth-cache/BrowserAuthCacheAdapter.d.ts
|
|
8
27
|
interface BrowserStorageShape {
|
|
9
28
|
getItem(key: string): string | null;
|
|
@@ -86,65 +105,6 @@ declare function openfortEmbeddedSigner(input: OpenfortEmbeddedSignerInput): Ope
|
|
|
86
105
|
*/
|
|
87
106
|
declare const embeddedSigner: typeof openfortEmbeddedSigner;
|
|
88
107
|
//#endregion
|
|
89
|
-
//#region src/host-observability.d.ts
|
|
90
|
-
/** One host-owned observability module at the SDK consumer boundary. */
|
|
91
|
-
interface HostObservability {
|
|
92
|
-
readonly failures: ObservationAdapter;
|
|
93
|
-
readonly product: TelemetryPort;
|
|
94
|
-
}
|
|
95
|
-
interface PostHogObservabilityClient {
|
|
96
|
-
capture(event: string, properties?: Readonly<Record<string, unknown>>): unknown;
|
|
97
|
-
captureException?(exception: Error, properties?: Readonly<Record<string, unknown>>): unknown;
|
|
98
|
-
identify?(distinctId: string, properties?: Readonly<Record<string, unknown>>): unknown;
|
|
99
|
-
group?(groupType: string, groupKey: string, properties?: Readonly<Record<string, unknown>>): unknown;
|
|
100
|
-
reset?(): unknown;
|
|
101
|
-
}
|
|
102
|
-
interface PostHogObservabilityOptions {
|
|
103
|
-
/** Consent / kill-switch seam. Defaults to enabled. */
|
|
104
|
-
readonly enabled?: boolean | (() => boolean);
|
|
105
|
-
/** Host environment stamped on every SDK-owned product event. */
|
|
106
|
-
readonly capxulEnv?: CapxulEnv;
|
|
107
|
-
/** Host-owned correlation context shared by product and failure delivery. */
|
|
108
|
-
readonly context?: ObservationContext | (() => ObservationContext | undefined);
|
|
109
|
-
}
|
|
110
|
-
/** Build the SDK's one host module around an already-initialized PostHog client. */
|
|
111
|
-
declare function postHogObservability(client: PostHogObservabilityClient | null | undefined, options?: PostHogObservabilityOptions): HostObservability;
|
|
112
|
-
//#endregion
|
|
113
|
-
//#region src/observation.d.ts
|
|
114
|
-
/** Host-owned correlation fields that are safe to attach to an SDK failure. */
|
|
115
|
-
interface ObservationContext extends Omit<WireObservationContext, "applicationId"> {}
|
|
116
|
-
/**
|
|
117
|
-
* The small, SDK-owned failure envelope delivered to observation adapters.
|
|
118
|
-
* Method arguments, response bodies, wallet payloads, and arbitrary error
|
|
119
|
-
* details are deliberately absent.
|
|
120
|
-
*/
|
|
121
|
-
interface SdkFailureObservation {
|
|
122
|
-
readonly exception: Error;
|
|
123
|
-
readonly sdkVersion: string;
|
|
124
|
-
readonly operation: string;
|
|
125
|
-
readonly errorKind: string;
|
|
126
|
-
/** Invocation snapshot; failure correlation wins over later host state. */
|
|
127
|
-
readonly context?: ObservationContext;
|
|
128
|
-
}
|
|
129
|
-
type ObservationDelivery = void | PromiseLike<void>;
|
|
130
|
-
/**
|
|
131
|
-
* High-level host observation boundary. The SDK owns when each method is
|
|
132
|
-
* called; the host owns the destination client, consent, and delivery policy.
|
|
133
|
-
*/
|
|
134
|
-
interface ObservationAdapter {
|
|
135
|
-
/**
|
|
136
|
-
* Optional read-only invocation context. Transport adapters snapshot it once
|
|
137
|
-
* at call start; implementations must not mutate global SDK state.
|
|
138
|
-
*/
|
|
139
|
-
readonly resolveContext?: () => ObservationContext | undefined;
|
|
140
|
-
/** A method returned the SDK's typed `{ ok: false, error }` result. */
|
|
141
|
-
captureOperationFailure(failure: SdkFailureObservation): ObservationDelivery;
|
|
142
|
-
/** A method unexpectedly threw or rejected instead of returning a typed result. */
|
|
143
|
-
captureException(exception: SdkFailureObservation): ObservationDelivery;
|
|
144
|
-
}
|
|
145
|
-
/** Stable PostHog event used for typed failures that are expected product outcomes. */
|
|
146
|
-
declare const CAPXUL_SDK_EXPECTED_OUTCOME_EVENT = "capxul_sdk_expected_outcome";
|
|
147
|
-
//#endregion
|
|
148
108
|
//#region src/production.d.ts
|
|
149
109
|
/**
|
|
150
110
|
* Consumer-facing `createCapxulClient` input (SDK DX public surface · #326).
|
|
@@ -202,9 +162,10 @@ interface HandledErrorReportContext {
|
|
|
202
162
|
declare function captureException(telemetry: TelemetryPort, error: unknown, context?: HandledErrorReportContext): Effect.Effect<void, never>;
|
|
203
163
|
/**
|
|
204
164
|
* Synchronous fire-and-forget capture. Runs the Effect inline with
|
|
205
|
-
* `Effect.runSync` so callers outside an Effect context
|
|
206
|
-
*
|
|
165
|
+
* `Effect.runSync` so callers outside an Effect context can report errors
|
|
166
|
+
* without awaiting. Core SDK public methods use the assembled observation
|
|
167
|
+
* boundary instead.
|
|
207
168
|
*/
|
|
208
169
|
declare function captureExceptionSync(telemetry: TelemetryPort, error: unknown, context?: HandledErrorReportContext): void;
|
|
209
170
|
//#endregion
|
|
210
|
-
export { type Account, type AccountId, type AccountLifecycle, type AccountMethods, type AccountProvider, type AccountProviderSource, type AccountRequirement, type AccountSetupStep, type AccountsMethods, type ActivityAnnotationInput, type ActivityDetail, type ActivityItem, type ActivityListParams, type ActivityMethods, type ActivityPage, type ActivityReference, type ActorProfile, type ActorProfileMethods, type ActorReference, type ActorRelationshipMethods, type ActorRequest, type ActorRequestIssueInput, type ActorRequestsMethods, type Address, type AddressBookAddInput, type AddressBookEntry, type AddressBookLabelInput, type AddressBookMethods, type AuthMethods, type AuthSession, type AuthUserId, CAPXUL_PAYMENTS_V2_ADDRESS, CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, type CapxulClient, type CapxulClientInput, type CapxulDigestSigner, CapxulError, type CapxulErrorCode, type CapxulErrorDetails, type CapxulResult, type CapxulSigner, type CountryCode, type CreateCapxulClientInput, type CreateOrgInput, type CurrentHoldings, type CurrentUserContext, type CurrentUserMethods, type DepositInstructions, type Destination, type DestinationAddInput, type DestinationKind, type DestinationListInput, type DestinationPayload, type DestinationRail, type DestinationRemoveInput, type DestinationsMethods, type DetectPendingOrgInvitationsResult, type DevPrivateKeySignerInput, type Eip1193Provider, type Eip1193RequestProvider, type FinancialOpsMethods, type HandledErrorReportContext, type HandlesMethods, type HoldingsMethods, type HostObservability, type Destination$1 as IdentityDestination, type IdentityEvent, type IdentityMethods, type IdentityProfileDetails, type IdentityRuntime, type IdentityRuntimeSendResult, type IdentityState, type IdentityTransition, type InboxApproveInput, type InboxItem, type InboxMethods, type InviteMemberInput, type InvocationControls, type MeMethods, type MeProfile, type MediaMethods, type MemberStatus, type MemberView, type Money, type MovementAnnotation, type ObservationAdapter, type ObservationContext, type ObservationDelivery, type OfframpMethods, type OfframpQuote, type OfframpQuoteInput, type OfframpStatus, type OpenfortEmbeddedSignerInput, type OpenfortEmbeddedWalletApi, type OpenfortEmbeddedWalletPort, type OrgId, type OrgLane, type OrgLifecycle, type OrgMethods, type OrgScopedMethods, type OrgSetupStep, type OrgTemplate, type OrgView, type OrganizationAccount, type OrganizationAuditLogItem, type OrganizationPaymentBatchInput, type OrganizationPaymentInput, type OrganizationPaymentItemInput, type OrganizationPaymentsMethods, type Payee, type PayeesMethods, type Payment, type PaymentDirection, type PaymentDocumentKind, type PaymentDocumentRef, type PaymentDocumentRender, type PaymentDocumentVerification, type PaymentDocumentsMethods, type PaymentMoney, type PaymentStatus, type PaymentTiming, type PaymentType, type PaymentsMethods, type PaymentsPayInput, type Permission, type PermissionAssignInput, type PermissionChangeInput, type PermissionCreateInput, type PermissionMethods, type PermissionOptions, type PermissionReadResult, type PermissionReplaceInput, type PermissionRevokeInput, type PostHogObservabilityClient, type PostHogObservabilityOptions, type Profile, type Readiness, type RecipientResolution, type RecipientResolutionKind, type Ref, type ResendInviteTokenInput, type ResolvedTarget, type RoleDefinition, type RoleKey, type RoleSpendCap, type RoleView, type SdkFailureObservation, type Session, type SmartAccount, type SmartAccountMethods, type StateLabel, type SubmittedPermissionExecution, type SystemHealth, type SystemMethods, type TargetReference, type TargetsMethods, type TelemetryPort, captureException, captureExceptionSync, createCapxulClient, deriveDevPrivateKey, devPrivateKeySigner, eip1193AccountProvider, embeddedSigner, fingerprintPaymentIntent, injectedWalletSigner, isCapxulError, isSettingUpLifecycle, localPrivateKeyAccountProvider, openfortEmbeddedSigner, openfortEmbeddedSignerFromWallet, openfortEmbeddedWalletPort, postHogObservability, destination as resolveIdentityDestination, toCountryCode, toAddress as toEvmAddress };
|
|
171
|
+
export { type Account, type AccountId, type AccountLifecycle, type AccountMethods, type AccountProvider, type AccountProviderSource, type AccountRequirement, type AccountSetupStep, type AccountsMethods, type ActivityAnnotationInput, type ActivityDetail, type ActivityItem, type ActivityListParams, type ActivityMethods, type ActivityPage, type ActivityReference, type ActorProfile, type ActorProfileMethods, type ActorReference, type ActorRelationshipMethods, type ActorRequest, type ActorRequestIssueInput, type ActorRequestsMethods, type Address, type AddressBookAddInput, type AddressBookEntry, type AddressBookLabelInput, type AddressBookMethods, type AuthMethods, type AuthSession, type AuthUserId, CAPXUL_ERROR_CODES, CAPXUL_PAYMENTS_V2_ADDRESS, CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, type CapxulClient, type CapxulClientInput, type CapxulDigestSigner, CapxulError, type CapxulErrorCode, type CapxulErrorDetails, type CapxulResult, type CapxulSigner, type CountryCode, type CreateCapxulClientInput, type CreateOrgInput, type CurrentHoldings, type CurrentUserContext, type CurrentUserMethods, type DepositInstructions, type Destination, type DestinationAddInput, type DestinationKind, type DestinationListInput, type DestinationPayload, type DestinationRail, type DestinationRemoveInput, type DestinationsMethods, type DetectPendingOrgInvitationsResult, type DevPrivateKeySignerInput, type Eip1193Provider, type Eip1193RequestProvider, Errors, type FinancialOpsMethods, type HandledErrorReportContext, type HandlesMethods, type HoldingsMethods, type HostObservability, type Destination$1 as IdentityDestination, type IdentityEvent, type IdentityMethods, type IdentityProfileDetails, type IdentityRuntime, type IdentityRuntimeSendResult, type IdentityState, type IdentityTransition, type InboxApproveInput, type InboxItem, type InboxMethods, type InviteMemberInput, type InvocationControls, type MeMethods, type MeProfile, type MediaMethods, type MemberStatus, type MemberView, type Money, type MoneyParseError, type MoneyParseErrorReason, type MovementAnnotation, type ObservationAdapter, type ObservationContext, type ObservationDelivery, type OfframpMethods, type OfframpQuote, type OfframpQuoteInput, type OfframpStatus, type OpenfortEmbeddedSignerInput, type OpenfortEmbeddedWalletApi, type OpenfortEmbeddedWalletPort, type OrgId, type OrgLane, type OrgLifecycle, type OrgMethods, type OrgScopedMethods, type OrgSetupStep, type OrgTemplate, type OrgView, type OrganizationAccount, type OrganizationAuditLogItem, type OrganizationPaymentBatchInput, type OrganizationPaymentInput, type OrganizationPaymentItemInput, type OrganizationPaymentsMethods, type PartyId, type Payee, type PayeesMethods, type Payment, type PaymentDirection, type PaymentDocumentKind, type PaymentDocumentRef, type PaymentDocumentRender, type PaymentDocumentVerification, type PaymentDocumentsMethods, type PaymentMoney, type PaymentStatus, type PaymentTiming, type PaymentType, type PaymentsMethods, type PaymentsPayInput, type Permission, type PermissionAssignInput, type PermissionChangeInput, type PermissionCreateInput, type PermissionMethods, type PermissionOptions, type PermissionReadResult, type PermissionReplaceInput, type PermissionRevokeInput, type PostHogObservabilityClient, type PostHogObservabilityOptions, type Profile, type Readiness, type RecipientResolution, type RecipientResolutionKind, type Ref, type ResendInviteTokenInput, type ResolvedTarget, type RoleDefinition, type RoleKey, type RoleSpendCap, type RoleView, type SdkFailureObservation, type Session, type SmartAccount, type SmartAccountMethods, type StateLabel, type SubmittedPermissionExecution, type SystemHealth, type SystemMethods, type TargetReference, type TargetsMethods, type TelemetryPort, captureException, captureExceptionSync, createCapxulClient, deriveDevPrivateKey, devPrivateKeySigner, eip1193AccountProvider, embeddedSigner, fingerprintPaymentIntent, formatMoney, injectedWalletSigner, isCapxulError, isMoneyParseError, isSettingUpLifecycle, localPrivateKeyAccountProvider, openfortEmbeddedSigner, openfortEmbeddedSignerFromWallet, openfortEmbeddedWalletPort, parseMoney, postHogObservability, destination as resolveIdentityDestination, toCountryCode, toAddress as toEvmAddress };
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
import { A as
|
|
1
|
+
import { A as fingerprintPaymentIntent, B as formatTraceparent, C as ClockPortTag, D as AuthClientError, E as authClientPortFromPromiseAdapter, F as sanitizeObservationContext, G as CAPXUL_PAYMENTS_V2_ADDRESS, H as readInvocationObservation, I as CAPXUL_FUNCTIONS, K as normalizeBindingEmail, L as BootstrapEnvelope, M as fromWei, N as OBSERVATION_CONTEXT_HEADER, O as AuthClientPortTag, P as encodeObservationContextHeader, R as EngineeringTelemetryBootstrapPolicy, S as ClockError, T as bootstrapErrorFromCapxul, U as injectedWalletSigner, V as copyInvocationObservation, W as signerFailure, Y as destination, _ as wireChainId, a as observeFailedResult, b as ConvexCallPortTag, c as captureExceptionSync, d as TelemetryPortTag, g as accountReadErrorFromCapxul, h as AccountReadPortTag, i as observationContextProps, j as toWei, k as version, l as detectAuthCacheAdapter, m as smartAccountErrorFromCapxul, n as postHogProductTelemetry, o as postHogFailureObservation, p as SmartAccountPortTag, q as BASE_SEPOLIA_CHAIN_ID, r as CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, s as captureException, t as assembleCapxulClient, u as PostHogTelemetryLayer, v as IdentityPortTag, w as BootstrapPortTag, x as convexCallErrorFromCapxul, y as identityErrorFromCapxul, z as isSettingUpLifecycle } from "./create-capxul-client-B8qMV-_e.mjs";
|
|
2
|
+
import { A as toPublishableKey, C as toEmail, D as toKycTier, E as toJwtToken, F as CapxulError, L as Errors, M as toSessionToken, N as decodeConvexError, O as toOrgId, P as CAPXUL_ERROR_CODES, R as isCapxulError, S as toDurationMs, T as toEpochSeconds, b as toCountryCode, g as toAllowedOrigin, h as toAddress, j as toRoleKey, m as toAccountId, o as AuthCachePortTag, p as currencySymbolFor, v as toAuthUserId, w as toEpochMs, x as toCurrencyCode, y as toChainId } from "./InMemoryAuthCacheAdapter-PycLJWeW.mjs";
|
|
3
3
|
import { keccak256, recoverAddress, stringToHex } from "viem";
|
|
4
4
|
import { Cause, Context, Data, Effect, Exit, Layer, Result, SchemaIssue, SchemaParser, Scope, Tracer } from "effect";
|
|
5
5
|
import { getFunctionName, makeFunctionReference } from "convex/server";
|
|
@@ -8,6 +8,89 @@ import { FetchHttpClient, Headers, HttpClient } from "effect/unstable/http";
|
|
|
8
8
|
import { OtlpExporter, OtlpLogger, OtlpSerialization, OtlpTracer } from "effect/unstable/observability";
|
|
9
9
|
import { ConvexClient } from "convex/browser";
|
|
10
10
|
import { AccountTypeEnum, ChainTypeEnum, EmbeddedState, Openfort, RecoveryMethod, ThirdPartyOAuthProvider } from "@openfort/openfort-js";
|
|
11
|
+
//#region src/domain/money/format-money.ts
|
|
12
|
+
function formatMoney(money, options = {}) {
|
|
13
|
+
if (!Number.isInteger(money.decimals) || money.decimals < 0) throw Errors.invalidInput("money.decimals", "must be a non-negative integer");
|
|
14
|
+
const symbol = currencySymbolFor(money.currency);
|
|
15
|
+
const maximumFractionDigits = options.grammar === "code" ? 4 : 2;
|
|
16
|
+
const rounded = roundDecimal(money.value, money.decimals, maximumFractionDigits);
|
|
17
|
+
const grouped = rounded.integer.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
18
|
+
const signed = `${rounded.negative ? "-" : ""}${grouped}`;
|
|
19
|
+
if (options.grammar === "code") {
|
|
20
|
+
if (!rounded.hadFraction) return `${signed} ${String(money.currency)}`;
|
|
21
|
+
let displayedFraction = rounded.fraction;
|
|
22
|
+
while (displayedFraction.length > 2 && displayedFraction.endsWith("0")) displayedFraction = displayedFraction.slice(0, -1);
|
|
23
|
+
return `${signed}.${displayedFraction} ${String(money.currency)}`;
|
|
24
|
+
}
|
|
25
|
+
return `${symbol}${signed}.${rounded.fraction}`;
|
|
26
|
+
}
|
|
27
|
+
function roundDecimal(value, decimals, maximumFractionDigits) {
|
|
28
|
+
const match = /^(-?)(\d+)(?:\.(\d+))?$/.exec(value);
|
|
29
|
+
if (match === null) throw Errors.invalidInput("money.value", "must be a base-10 decimal string");
|
|
30
|
+
const integer = match[2] ?? "0";
|
|
31
|
+
const sourceFraction = match[3] ?? "";
|
|
32
|
+
if (sourceFraction.length > decimals) throw Errors.invalidInput("money.value", "fraction exceeds money.decimals");
|
|
33
|
+
const scale = 10n ** BigInt(maximumFractionDigits);
|
|
34
|
+
const keptFraction = sourceFraction.slice(0, maximumFractionDigits).padEnd(maximumFractionDigits, "0");
|
|
35
|
+
let scaled = BigInt(integer) * scale + BigInt(keptFraction || "0");
|
|
36
|
+
if ((sourceFraction[maximumFractionDigits] ?? "0") >= "5") scaled += 1n;
|
|
37
|
+
return {
|
|
38
|
+
negative: match[1] === "-",
|
|
39
|
+
integer: (scaled / scale).toString(),
|
|
40
|
+
fraction: (scaled % scale).toString().padStart(maximumFractionDigits, "0"),
|
|
41
|
+
hadFraction: /[1-9]/.test(sourceFraction)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/domain/money/parse-money.ts
|
|
46
|
+
/**
|
|
47
|
+
* ADR-0023 R1: the reason is a closed code and the ONLY failure vocabulary —
|
|
48
|
+
* the consuming app maps each code to its own sentence. The SDK ships no
|
|
49
|
+
* English for user-text failure.
|
|
50
|
+
*/
|
|
51
|
+
function isMoneyParseError(value) {
|
|
52
|
+
return "kind" in value;
|
|
53
|
+
}
|
|
54
|
+
const AMOUNT_PATTERN = /^(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?$/;
|
|
55
|
+
const ZERO_PATTERN = /^0+(?:\.0+)?$/;
|
|
56
|
+
function parseMoney(input, asset) {
|
|
57
|
+
if (!Number.isInteger(asset.decimals) || asset.decimals < 0) throw Errors.invalidInput("asset.decimals", "must be a non-negative integer");
|
|
58
|
+
const value = input.trim();
|
|
59
|
+
if (value.length === 0) return {
|
|
60
|
+
kind: "error",
|
|
61
|
+
reason: "required"
|
|
62
|
+
};
|
|
63
|
+
if (value.length > 24) return {
|
|
64
|
+
kind: "error",
|
|
65
|
+
reason: "too-long"
|
|
66
|
+
};
|
|
67
|
+
const negative = value.startsWith("-");
|
|
68
|
+
const unsigned = negative ? value.slice(1) : value;
|
|
69
|
+
if (!AMOUNT_PATTERN.test(unsigned)) return {
|
|
70
|
+
kind: "error",
|
|
71
|
+
reason: "invalid-format"
|
|
72
|
+
};
|
|
73
|
+
if (negative) return {
|
|
74
|
+
kind: "error",
|
|
75
|
+
reason: "non-positive"
|
|
76
|
+
};
|
|
77
|
+
const normalized = unsigned.replaceAll(",", "");
|
|
78
|
+
const fraction = normalized.split(".")[1];
|
|
79
|
+
if (fraction !== void 0 && fraction.length > asset.decimals) return {
|
|
80
|
+
kind: "error",
|
|
81
|
+
reason: "too-many-decimals"
|
|
82
|
+
};
|
|
83
|
+
if (ZERO_PATTERN.test(normalized)) return {
|
|
84
|
+
kind: "error",
|
|
85
|
+
reason: "non-positive"
|
|
86
|
+
};
|
|
87
|
+
return {
|
|
88
|
+
currency: asset.currency,
|
|
89
|
+
value: normalized,
|
|
90
|
+
decimals: asset.decimals
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
11
94
|
//#region src/surface/account-providers.ts
|
|
12
95
|
function localPrivateKeyAccountProvider(input) {
|
|
13
96
|
const account = privateKeyToAccount(input.privateKey);
|
|
@@ -53,7 +136,7 @@ function eip1193AccountProvider(input) {
|
|
|
53
136
|
} catch (err) {
|
|
54
137
|
return {
|
|
55
138
|
ok: false,
|
|
56
|
-
error:
|
|
139
|
+
error: signerFailure("injected-eip1193", "eth_accounts", err)
|
|
57
140
|
};
|
|
58
141
|
} finally {
|
|
59
142
|
inFlight = null;
|
|
@@ -78,60 +161,6 @@ function firstAccount(value) {
|
|
|
78
161
|
return typeof first === "string" ? first : null;
|
|
79
162
|
}
|
|
80
163
|
//#endregion
|
|
81
|
-
//#region src/signer.ts
|
|
82
|
-
const EVM_ADDRESS_HEX$1 = /^0x[0-9a-fA-F]{40}$/;
|
|
83
|
-
const ECDSA_SIGNATURE_HEX$1 = /^0x[0-9a-fA-F]{130}$/;
|
|
84
|
-
const SAFE_OP_DIGEST_HEX$1 = /^0x[0-9a-fA-F]{64}$/;
|
|
85
|
-
/**
|
|
86
|
-
* Browser `CapxulSigner` backed by an injected EIP-1193 wallet (MetaMask, etc.).
|
|
87
|
-
* Signs the SafeOp digest via `eth_sign`, then verifies the returned signature
|
|
88
|
-
* recovers the selected account against that raw digest. Wallets that prefix
|
|
89
|
-
* `eth_sign` payloads are rejected before the backend submits an invalid SafeOp.
|
|
90
|
-
* The node key signer lives in `@capxul/sdk/node` (`localPrivateKeySigner`).
|
|
91
|
-
*/
|
|
92
|
-
function injectedWalletSigner(provider) {
|
|
93
|
-
const resolveAddress = async () => {
|
|
94
|
-
const accounts = await provider.request({ method: "eth_requestAccounts" });
|
|
95
|
-
const first = Array.isArray(accounts) ? accounts[0] : void 0;
|
|
96
|
-
if (typeof first !== "string") throw new Error("injectedWalletSigner: wallet returned no accounts");
|
|
97
|
-
if (!EVM_ADDRESS_HEX$1.test(first)) throw new Error("injectedWalletSigner: wallet returned invalid address format");
|
|
98
|
-
return toAddress(first);
|
|
99
|
-
};
|
|
100
|
-
return {
|
|
101
|
-
source: "injected-eip1193",
|
|
102
|
-
getAddress: resolveAddress,
|
|
103
|
-
async signUserOpHash(hash) {
|
|
104
|
-
if (!SAFE_OP_DIGEST_HEX$1.test(hash)) throw new Error("injectedWalletSigner: SafeOp digest must be a 0x-prefixed 32-byte hex");
|
|
105
|
-
const address = await resolveAddress();
|
|
106
|
-
let signature;
|
|
107
|
-
try {
|
|
108
|
-
signature = await provider.request({
|
|
109
|
-
method: "eth_sign",
|
|
110
|
-
params: [address, hash]
|
|
111
|
-
});
|
|
112
|
-
} catch (cause) {
|
|
113
|
-
const detail = cause instanceof Error ? cause.message : String(cause);
|
|
114
|
-
throw new Error(`injectedWalletSigner: eth_sign failed; enable raw-hash signing for deployment (${detail})`, { cause });
|
|
115
|
-
}
|
|
116
|
-
if (typeof signature !== "string") throw new Error("injectedWalletSigner: wallet returned a non-string signature");
|
|
117
|
-
if (!ECDSA_SIGNATURE_HEX$1.test(signature)) throw new Error("injectedWalletSigner: wallet returned invalid signature format");
|
|
118
|
-
if ((await recoverRawDigestSigner$1({
|
|
119
|
-
hash,
|
|
120
|
-
signature
|
|
121
|
-
})).toLowerCase() !== address.toLowerCase()) throw new Error("injectedWalletSigner: wallet signature did not recover the selected account for the raw SafeOp digest; use a raw-hash-capable wallet or @capxul/sdk/node localPrivateKeySigner for deployed flows");
|
|
122
|
-
return signature;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
async function recoverRawDigestSigner$1(input) {
|
|
127
|
-
try {
|
|
128
|
-
return toAddress(await recoverAddress(input));
|
|
129
|
-
} catch (cause) {
|
|
130
|
-
const detail = cause instanceof Error ? cause.message : String(cause);
|
|
131
|
-
throw new Error(`injectedWalletSigner: could not verify raw SafeOp digest signature (${detail})`, { cause });
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
//#endregion
|
|
135
164
|
//#region src/dev-signer.ts
|
|
136
165
|
const SESSION_KEY = "capxul.session";
|
|
137
166
|
/**
|
|
@@ -1399,9 +1428,27 @@ function mapToCapxulError(operation, err) {
|
|
|
1399
1428
|
function mapToConvexCallError(operation, err) {
|
|
1400
1429
|
return convexCallErrorFromCapxul(operation, mapToCapxulError(operation, err));
|
|
1401
1430
|
}
|
|
1431
|
+
const TRANSPORT_ERROR_CODES = new Set([
|
|
1432
|
+
"EAI_AGAIN",
|
|
1433
|
+
"ECONNREFUSED",
|
|
1434
|
+
"ECONNRESET",
|
|
1435
|
+
"ENOTFOUND",
|
|
1436
|
+
"EPIPE",
|
|
1437
|
+
"ETIMEDOUT",
|
|
1438
|
+
"UND_ERR_CONNECT_TIMEOUT",
|
|
1439
|
+
"UND_ERR_HEADERS_TIMEOUT",
|
|
1440
|
+
"UND_ERR_SOCKET"
|
|
1441
|
+
]);
|
|
1402
1442
|
function isTransportError(err) {
|
|
1403
|
-
const
|
|
1404
|
-
|
|
1443
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1444
|
+
let current = err;
|
|
1445
|
+
while (current !== void 0 && !seen.has(current)) {
|
|
1446
|
+
seen.add(current);
|
|
1447
|
+
const code = current.code;
|
|
1448
|
+
if (current.name === "FetchError" || current.name === "NetworkError" || typeof code === "string" && TRANSPORT_ERROR_CODES.has(code)) return true;
|
|
1449
|
+
current = current.cause instanceof Error ? current.cause : void 0;
|
|
1450
|
+
}
|
|
1451
|
+
return false;
|
|
1405
1452
|
}
|
|
1406
1453
|
//#endregion
|
|
1407
1454
|
//#region src/adapters/identity/ConvexIdentityAdapter.ts
|
|
@@ -1848,7 +1895,7 @@ var ConvexOrganizationSetupAdapter = class {
|
|
|
1848
1895
|
async authorizeAndSubmitBootstrap(input) {
|
|
1849
1896
|
const cancelled = cancellation(input.signal);
|
|
1850
1897
|
if (cancelled !== void 0) return cancelled;
|
|
1851
|
-
const signerAddress = await signerResult("getAddress", () => this.#signer.getAddress());
|
|
1898
|
+
const signerAddress = await signerResult(this.#signer.source, "getAddress", () => this.#signer.getAddress());
|
|
1852
1899
|
if (!signerAddress.ok) return signerAddress;
|
|
1853
1900
|
const prepared = await runCall("prepareBootstrap", this.#convex.action(this.#fns.prepareBootstrap, copyInvocationObservation(input, {
|
|
1854
1901
|
orgId: input.orgId,
|
|
@@ -1860,7 +1907,7 @@ var ConvexOrganizationSetupAdapter = class {
|
|
|
1860
1907
|
if (!authority.ok) return authority;
|
|
1861
1908
|
const cancelledAfterPrepare = cancellation(input.signal);
|
|
1862
1909
|
if (cancelledAfterPrepare !== void 0) return cancelledAfterPrepare;
|
|
1863
|
-
const signature = await signerResult("signUserOpHash", () => this.#signer.signUserOpHash(prepared.value.digest));
|
|
1910
|
+
const signature = await signerResult(this.#signer.source, "signUserOpHash", () => this.#signer.signUserOpHash(prepared.value.digest));
|
|
1864
1911
|
if (!signature.ok) return signature;
|
|
1865
1912
|
const cancelledAfterSign = cancellation(input.signal);
|
|
1866
1913
|
if (cancelledAfterSign !== void 0) return cancelledAfterSign;
|
|
@@ -1949,7 +1996,7 @@ function resetSignerSession(signer) {
|
|
|
1949
1996
|
value: void 0
|
|
1950
1997
|
};
|
|
1951
1998
|
} catch (cause) {
|
|
1952
|
-
return fail(
|
|
1999
|
+
return fail(signerFailure(signer.source, "resetSession", cause));
|
|
1953
2000
|
}
|
|
1954
2001
|
}
|
|
1955
2002
|
async function runCall(operation, effect) {
|
|
@@ -1971,14 +2018,14 @@ function publicError(operation, cause) {
|
|
|
1971
2018
|
}
|
|
1972
2019
|
return Errors.providerError("convex-organization", operation, cause);
|
|
1973
2020
|
}
|
|
1974
|
-
async function signerResult(operation, run) {
|
|
2021
|
+
async function signerResult(source, operation, run) {
|
|
1975
2022
|
try {
|
|
1976
2023
|
return {
|
|
1977
2024
|
ok: true,
|
|
1978
2025
|
value: await run()
|
|
1979
2026
|
};
|
|
1980
2027
|
} catch (cause) {
|
|
1981
|
-
return fail(
|
|
2028
|
+
return fail(signerFailure(source, operation, cause));
|
|
1982
2029
|
}
|
|
1983
2030
|
}
|
|
1984
2031
|
function validatePreparedAuthorities(prepared, signerAddress) {
|
|
@@ -2114,28 +2161,20 @@ function clearStaleOpenfortBrowserStorage(publishableKey) {
|
|
|
2114
2161
|
}
|
|
2115
2162
|
function createOpenfortBrowserSignerFromBootstrap(bootstrap, options = {}) {
|
|
2116
2163
|
const diagnostic = options.diagnostic;
|
|
2117
|
-
const telemetry = options.telemetry;
|
|
2118
2164
|
const authBaseUrl = normalizeBetterAuthBaseUrl(bootstrap.authBaseUrl);
|
|
2119
2165
|
/**
|
|
2120
2166
|
* Closes the black hole: when the browser has no Web Crypto, OpenFort's
|
|
2121
2167
|
* `configure` would resolve to no address and the failure would be reported
|
|
2122
2168
|
* as `unknown`. Detect it before any network/wallet work, tag it
|
|
2123
2169
|
* `no-secure-context` on a PROVIDER_ERROR scoped to `configure`, breadcrumb
|
|
2124
|
-
* it via DiagnosticPort
|
|
2170
|
+
* it via DiagnosticPort. The assembled Core SDK boundary reports the error.
|
|
2125
2171
|
*/
|
|
2126
2172
|
function failNoSecureContext() {
|
|
2127
2173
|
diagnostic?.trace("openfort.configure", {
|
|
2128
2174
|
ok: false,
|
|
2129
2175
|
failure_mode: "no-secure-context"
|
|
2130
2176
|
});
|
|
2131
|
-
|
|
2132
|
-
if (telemetry) captureExceptionSync(telemetry, error, {
|
|
2133
|
-
layer: "openfort",
|
|
2134
|
-
operation: "configure",
|
|
2135
|
-
provider: "openfort",
|
|
2136
|
-
failure_mode: "no-secure-context"
|
|
2137
|
-
});
|
|
2138
|
-
throw error;
|
|
2177
|
+
throw Errors.providerError("openfort", "configure", /* @__PURE__ */ new Error("Web Crypto unavailable: browser is not a secure context"), { failure_mode: "no-secure-context" });
|
|
2139
2178
|
}
|
|
2140
2179
|
function betterAuthSessionUrl() {
|
|
2141
2180
|
return `${authBaseUrl}/get-session`;
|
|
@@ -2674,16 +2713,24 @@ function refreshConvexAuthOnSession(authClient, refresh) {
|
|
|
2674
2713
|
* particular object rather than on the auth seam itself. Here it wraps
|
|
2675
2714
|
* `AuthClientPort.signOut`, so it holds for every route to a sign-out.
|
|
2676
2715
|
*
|
|
2677
|
-
*
|
|
2678
|
-
*
|
|
2679
|
-
* to `tap` would silently strand an Openfort session on the error path.
|
|
2716
|
+
* Capture the sign-out exit before reset. This preserves the old `try/finally`
|
|
2717
|
+
* order and keeps a reset failure in the typed error channel.
|
|
2680
2718
|
*/
|
|
2681
2719
|
function resetSignerSessionOnSignOut(authClient, resetRef) {
|
|
2682
2720
|
return {
|
|
2683
2721
|
...authClient,
|
|
2684
|
-
signOut: (options) =>
|
|
2685
|
-
|
|
2686
|
-
|
|
2722
|
+
signOut: (options) => Effect.gen(function* () {
|
|
2723
|
+
const exit = yield* Effect.exit(authClient.signOut(options));
|
|
2724
|
+
yield* Effect.try({
|
|
2725
|
+
try: () => resetRef.current?.(),
|
|
2726
|
+
catch: (cause) => new AuthClientError({
|
|
2727
|
+
operation: "signOut",
|
|
2728
|
+
kind: "signer",
|
|
2729
|
+
cause
|
|
2730
|
+
})
|
|
2731
|
+
});
|
|
2732
|
+
return yield* exit;
|
|
2733
|
+
})
|
|
2687
2734
|
};
|
|
2688
2735
|
}
|
|
2689
2736
|
async function createCapxulClient$1(input) {
|
|
@@ -2709,14 +2756,15 @@ async function createCapxulClient$1(input) {
|
|
|
2709
2756
|
if (signer === void 0 && runtime === "browser") signer = createOpenfortBrowserSignerFromBootstrap({
|
|
2710
2757
|
...adapters.value.bootstrap,
|
|
2711
2758
|
authBaseUrl: resolvedAuthBaseUrl
|
|
2712
|
-
}, {
|
|
2713
|
-
diagnostic: new ConsoleDiagnosticAdapter(),
|
|
2714
|
-
telemetry: adapters.value.ports.telemetry
|
|
2715
|
-
});
|
|
2759
|
+
}, { diagnostic: new ConsoleDiagnosticAdapter() });
|
|
2716
2760
|
if (signer !== void 0 && "resetSession" in signer) {
|
|
2717
|
-
const { resetSession } = signer;
|
|
2761
|
+
const { resetSession, source } = signer;
|
|
2718
2762
|
resetSignerSession.current = () => {
|
|
2719
|
-
|
|
2763
|
+
try {
|
|
2764
|
+
resetSession();
|
|
2765
|
+
} catch (cause) {
|
|
2766
|
+
throw signerFailure(source, "resetSession", cause);
|
|
2767
|
+
}
|
|
2720
2768
|
};
|
|
2721
2769
|
}
|
|
2722
2770
|
const client = assembleCapxulClient({
|
|
@@ -2734,6 +2782,7 @@ async function createCapxulClient$1(input) {
|
|
|
2734
2782
|
...input.signal === void 0 ? {} : { signal: input.signal },
|
|
2735
2783
|
...input.otpTtlMs === void 0 ? {} : { otpTtlMs: input.otpTtlMs },
|
|
2736
2784
|
invokeTimeoutMs: input.invokeTimeoutMs ?? 3e4,
|
|
2785
|
+
...input.observability?.failures === void 0 && input.observation === void 0 ? {} : { failureObservation: input.observability?.failures ?? input.observation },
|
|
2737
2786
|
...input.observability === void 0 ? {} : { hostObservationSnapshot: () => snapshotHostObservability(input.observability) },
|
|
2738
2787
|
effectRunner: {
|
|
2739
2788
|
runSync: Effect.runSyncWith(adapters.value.context),
|
|
@@ -2743,7 +2792,11 @@ async function createCapxulClient$1(input) {
|
|
|
2743
2792
|
const upstreamClose = adapters.value.close;
|
|
2744
2793
|
const close = idempotentClose(async () => {
|
|
2745
2794
|
try {
|
|
2746
|
-
if ("resetSession" in
|
|
2795
|
+
if (signer !== void 0 && "resetSession" in signer) try {
|
|
2796
|
+
signer.resetSession();
|
|
2797
|
+
} catch (cause) {
|
|
2798
|
+
throw signerFailure(signer.source, "resetSession", cause);
|
|
2799
|
+
}
|
|
2747
2800
|
} finally {
|
|
2748
2801
|
await Promise.all([client._internal.close?.(), upstreamClose()]);
|
|
2749
2802
|
}
|
|
@@ -2912,4 +2965,4 @@ async function createCapxulClient(input) {
|
|
|
2912
2965
|
return createCapxulClient$1(input);
|
|
2913
2966
|
}
|
|
2914
2967
|
//#endregion
|
|
2915
|
-
export { CAPXUL_PAYMENTS_V2_ADDRESS, CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, CapxulError, captureException, captureExceptionSync, createCapxulClient, deriveDevPrivateKey, devPrivateKeySigner, eip1193AccountProvider, embeddedSigner, fingerprintPaymentIntent, injectedWalletSigner, isCapxulError, isSettingUpLifecycle, localPrivateKeyAccountProvider, openfortEmbeddedSigner, openfortEmbeddedSignerFromWallet, openfortEmbeddedWalletPort, postHogObservability, destination as resolveIdentityDestination, toCountryCode, toAddress as toEvmAddress };
|
|
2968
|
+
export { CAPXUL_ERROR_CODES, CAPXUL_PAYMENTS_V2_ADDRESS, CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, CapxulError, Errors, captureException, captureExceptionSync, createCapxulClient, deriveDevPrivateKey, devPrivateKeySigner, eip1193AccountProvider, embeddedSigner, fingerprintPaymentIntent, formatMoney, injectedWalletSigner, isCapxulError, isMoneyParseError, isSettingUpLifecycle, localPrivateKeyAccountProvider, openfortEmbeddedSigner, openfortEmbeddedSignerFromWallet, openfortEmbeddedWalletPort, parseMoney, postHogObservability, destination as resolveIdentityDestination, toCountryCode, toAddress as toEvmAddress };
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as AuthSession, _ as AuthCachePortTag, g as AuthCachePort, h as AuthCacheError, n as CapxulSigner, v as CachedJwt } from "../signer-
|
|
1
|
+
import { E as AuthSession, _ as AuthCachePortTag, g as AuthCachePort, h as AuthCacheError, n as CapxulSigner, v as CachedJwt } from "../signer-D4roBkcX.mjs";
|
|
2
2
|
import { Hex } from "viem";
|
|
3
3
|
import { Effect, FileSystem, Layer, Path } from "effect";
|
|
4
4
|
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as AuthCacheError,
|
|
1
|
+
import { a as AuthCacheError, h as toAddress, i as parseCachedJwt, n as BrowserAuthCacheAdapter, o as AuthCachePortTag, r as parseAuthSession, t as InMemoryAuthCacheAdapter } from "../InMemoryAuthCacheAdapter-PycLJWeW.mjs";
|
|
2
2
|
import { Effect, FileSystem, Layer, Path } from "effect";
|
|
3
3
|
import { privateKeyToAccount } from "viem/accounts";
|
|
4
4
|
import * as os from "node:os";
|