@arcanetech/privacy-sdk-stellar 0.5.2 → 0.6.1

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 CHANGED
@@ -16,6 +16,7 @@ This package provides:
16
16
  - `buildBlindedRecipientTagChallengeMessage()` (`@arcanetech/privacy-sdk-stellar/transact`) — builds the wallet-signed challenge used to issue blinded recipient tags so a recipient can discover escrow notes after they register
17
17
  - `fetchEscrowOutputNoteEvents({ transactEnvironment, txId, poolAddress })` — loads escrow output-note ciphertexts for a claim using the environment's network configuration
18
18
  - `unsignedEscrowAuthorizationForSweep({ prepared, transactEnvironment, relayerPublicKey })` — simulates the relayer invocation and returns the unsigned claimant authorization entry to sign offline
19
+ - Protocol fee: deposit, transfer, and withdraw quote Required Fee and attach a private Fee Output (2×2 for deposit/withdraw, 6×6 for transfer with change). Escrow sweep does not attach a Fee Output.
19
20
 
20
21
  ## Browser Example
21
22
 
package/dist/index.d.ts CHANGED
@@ -64,6 +64,11 @@ interface StellarWalletPrivateAddressRecord {
64
64
  privateAddress: string;
65
65
  createdAt: number;
66
66
  }
67
+ interface StellarLeanImtNode {
68
+ level: number;
69
+ index: number;
70
+ value: string;
71
+ }
67
72
  interface StellarPoolMerkleState {
68
73
  poolContract: string;
69
74
  commitments: string[];
@@ -71,6 +76,7 @@ interface StellarPoolMerkleState {
71
76
  merkleRootHex: string;
72
77
  updatedAt: number;
73
78
  syncedLedger?: number;
79
+ nodes?: StellarLeanImtNode[];
74
80
  }
75
81
  interface StellarLeafEphemeral {
76
82
  poolContract: string;
@@ -176,6 +182,12 @@ interface LeafEphemeralStatePort {
176
182
  }): Promise<StellarLeafEphemeral | undefined>;
177
183
  set(ephemeral: StellarLeafEphemeral): Promise<void>;
178
184
  }
185
+ interface CachedPoolMerkleView {
186
+ commitments: string[];
187
+ updatedAt: number;
188
+ merkleRootHex?: string;
189
+ nodes?: StellarLeanImtNode[];
190
+ }
179
191
 
180
192
  type StellarSignTransaction = (input: {
181
193
  xdr: string;
@@ -308,6 +320,7 @@ interface StellarTransactArtifacts {
308
320
  };
309
321
  executeFinalizeRequired?: boolean;
310
322
  spendSource?: 'privateAddress' | 'escrow';
323
+ zkConfigNonce?: bigint;
311
324
  }
312
325
  interface StellarOperationReceipt {
313
326
  operationId: string;
@@ -363,29 +376,15 @@ interface FetchContractMerkleResult {
363
376
  commitments: string[];
364
377
  merkleRootHex: string;
365
378
  updatedAt: number;
379
+ nodes?: StellarLeanImtNode[];
366
380
  }
367
- /**
368
- * Loads pool Merkle leaves without `get_commitments()`. That helper walks the
369
- * whole tree in one simulate and exceeds the Soroban host budget on a live
370
- * stand. Completes the cached prefix from persistent `TreeDataKey::Leaf`
371
- * ledger entries instead.
372
- */
373
- declare function fetchAndMergeMerkleState(parameters: {
381
+ declare function persistFetchedMerkleState(input: {
374
382
  poolContractId: string;
375
- walletPublicKey: string;
376
- transactEnvironment: StellarTransactEnvironment;
383
+ commitments: string[];
384
+ merkleRootHex: string;
385
+ cachedState: CachedPoolMerkleView | undefined;
377
386
  poolMerkleState?: PoolMerkleStatePort;
378
387
  }): Promise<FetchContractMerkleResult>;
379
- declare function readLeafEphemeralHex(parameters: {
380
- poolContractId: string;
381
- walletPublicKey: string;
382
- leafIndex: number;
383
- transactEnvironment: StellarTransactEnvironment;
384
- leafEphemeral?: LeafEphemeralStatePort;
385
- }): Promise<{
386
- xHex: string;
387
- yHex: string;
388
- }>;
389
388
 
390
389
  type StellarTransactionDetails = {
391
390
  txHash: string;
@@ -439,6 +438,7 @@ declare function composeStellarPrivacyClient(config: ResolvedStellarPrivacyClien
439
438
  commitments: string[];
440
439
  merkleRootHex: string;
441
440
  syncedLedger?: number;
441
+ nodes?: StellarPoolMerkleState["nodes"];
442
442
  }): Promise<void>;
443
443
  getWalletPrivateAddressRecord(input: {
444
444
  owner: StellarAddress;
@@ -619,6 +619,7 @@ declare function composeStellarStateService(adapter: StateBridgeAdapter): {
619
619
  commitments: string[];
620
620
  merkleRootHex: string;
621
621
  syncedLedger?: number;
622
+ nodes?: StellarPoolMerkleState["nodes"];
622
623
  }): Promise<void>;
623
624
  getWalletPrivateAddressRecord(input: {
624
625
  owner: StellarAddress;
@@ -720,6 +721,18 @@ declare function createStateDelegates(state: StellarStateService): {
720
721
  };
721
722
  type StellarPrivacyClientStateDelegates = ReturnType<typeof createStateDelegates>;
722
723
 
724
+ type StellarPrivacyStateHydration = {
725
+ poolMerkleStates?: StellarPoolMerkleState[];
726
+ privateRecords?: StellarPrivateRecord[];
727
+ walletPrivateAddressRecords?: StellarWalletPrivateAddressRecord[];
728
+ walletPrivateAddressScalars?: StellarWalletPrivateAddressScalar[];
729
+ walletDefaultPrivateAddressNonces?: Array<{
730
+ owner: string;
731
+ nonce: string;
732
+ }>;
733
+ assets?: StellarAsset[];
734
+ };
735
+
723
736
  type StellarPrivacyClientNetwork = ComposedStellarPrivacyClient['network'];
724
737
  type StellarPrivacyClientOperations = ComposedStellarPrivacyClient['operations'];
725
738
  type StellarPrivacyClient = {
@@ -737,7 +750,9 @@ type StellarPrivacyClient = {
737
750
  waitForTransactionConfirmation: StellarPrivacyClientNetwork['waitForTransactionConfirmation'];
738
751
  fetchTransactionConfirmationStatus: StellarPrivacyClientNetwork['fetchTransactionConfirmationStatus'];
739
752
  getTransactionDetails: StellarPrivacyClientNetwork['getTransactionDetails'];
740
- } & StellarPrivacyClientStateDelegates;
753
+ } & StellarPrivacyClientStateDelegates & {
754
+ hydrateState: (snapshot: StellarPrivacyStateHydration) => Promise<void>;
755
+ };
741
756
 
742
757
  type CreateStellarPrivacyClientResult = StellarPrivacyClient | ReturnType<typeof createRejectedOperation>;
743
758
  declare function isStellarPrivacyClient(result: CreateStellarPrivacyClientResult): result is StellarPrivacyClient;
@@ -772,6 +787,17 @@ declare function encodePrivateAddressFromHexCoordinates(publicKeyXHex: string, p
772
787
  declare function recipientPublicKeysDecimalFromPrivateAddress(value: string): unknown;
773
788
  declare function privateAddressSdk(sdk: PrivacyPoolSDK): PrivateAddressSdk;
774
789
 
790
+ type FeeOutputSpec = {
791
+ requiredFee: bigint;
792
+ feeCollectorPrivateAddress: string;
793
+ };
794
+
795
+ type FeeOutputKindInput = {
796
+ kind: OperationKind;
797
+ spendSource?: StellarTransactArtifacts['spendSource'];
798
+ escrowSend?: boolean;
799
+ };
800
+
775
801
  declare class PrivacyPoolService {
776
802
  private readonly assets?;
777
803
  private readonly applicationId?;
@@ -779,11 +805,12 @@ declare class PrivacyPoolService {
779
805
  private readonly zkCircuits?;
780
806
  private readonly zkConfigNonce?;
781
807
  private readonly zkArtifactBaseUrl?;
782
- private sdk;
783
- private initPromise;
808
+ private readonly sdks;
809
+ private readonly initPromises;
784
810
  constructor(assets?: StellarBrowserAssets | undefined, applicationId?: string | undefined, auditPublicKey?: [string, string] | undefined, zkCircuits?: Record<string, StellarZkCircuitDefinition> | undefined, zkConfigNonce?: bigint | undefined, zkArtifactBaseUrl?: string | undefined);
785
- private ensureInit;
786
- getInitializedSdk(): Promise<PrivacyPoolSDK>;
811
+ getInitializedSdk(nonce?: bigint): Promise<PrivacyPoolSDK>;
812
+ feeBearingZkConfigNonce(input: FeeOutputKindInput): bigint;
813
+ private initializeSdk;
787
814
  getAuditPublicKey(): [string, string] | undefined;
788
815
  getApplicationId(): string;
789
816
  generatePrivateAddressFromStellarSignature(signature: string, domain: SpendScalarDomain): Promise<string>;
@@ -807,6 +834,8 @@ declare class PrivacyPoolService {
807
834
  depositScalarHex: string;
808
835
  merkleRootBytes: Buffer$1;
809
836
  tokenAddress: string;
837
+ publicDepositStroops?: bigint;
838
+ feeOutput?: FeeOutputSpec;
810
839
  }): Promise<ProofResult>;
811
840
  calculateNullifierHash(nullifier: string, privKeyScalar: string): Promise<string>;
812
841
  prepareWithdrawTransactProof(parameters: {
@@ -818,6 +847,7 @@ declare class PrivacyPoolService {
818
847
  withdrawAmountStroops: bigint;
819
848
  changePrivateAddressStpl1: string | undefined;
820
849
  tokenAddress: string;
850
+ feeOutput?: FeeOutputSpec;
821
851
  }): Promise<ProofWithChange>;
822
852
  prepareWithdrawTransactProofDual(parameters: {
823
853
  coinA: CoinData;
@@ -830,6 +860,7 @@ declare class PrivacyPoolService {
830
860
  withdrawAmountStroops: bigint;
831
861
  changePrivateAddressStpl1: string | undefined;
832
862
  tokenAddress: string;
863
+ feeOutput?: FeeOutputSpec;
833
864
  }): Promise<ProofWithChange>;
834
865
  }
835
866
 
@@ -962,7 +993,9 @@ declare function loadDefaultStellarBrowserAssets(options?: {
962
993
 
963
994
  declare const STANDARD_ZK_CONFIG_NONCE = 0n;
964
995
  declare const COMMITMENT_V2_ZK_NONCE = 2n;
996
+ declare const BINDING_ZK_NONCE = 3n;
965
997
  declare const SIX_BY_SIX_ZK_NONCE = 6n;
998
+ declare const SIX_BY_SIX_BINDING_ZK_NONCE = 7n;
966
999
  declare const DEFAULT_ZK_CONFIG_NONCE = 3n;
967
1000
  declare function resolveZkConfigNonce(transactEnvironment: StellarTransactEnvironment): bigint;
968
1001
 
@@ -1010,6 +1043,7 @@ interface SubmitSorobanConfidentialTransferInput {
1010
1043
  ciphertextHex?: string;
1011
1044
  outputNoteEphemeralScalars?: string[];
1012
1045
  applicationIdsPlaintext?: KytApplicationIdHints;
1046
+ zkConfigNonce?: bigint;
1013
1047
  networkPassphrase: string;
1014
1048
  sorobanRpcUrl: string;
1015
1049
  transactEnvironment: StellarTransactEnvironment;
@@ -1039,6 +1073,7 @@ type PrepareConfidentialTransferProofDualParameters = {
1039
1073
  tokenAddress: string;
1040
1074
  escrowSend?: TransferEscrowSend;
1041
1075
  escrowClaimantLimbs?: TransferEscrowClaimantLimbs;
1076
+ feeOutput?: FeeOutputSpec;
1042
1077
  };
1043
1078
  type PrepareConfidentialTransferProofDualResult = {
1044
1079
  proof_hex: string;
@@ -1062,6 +1097,7 @@ type PrepareConfidentialTransferProofParameters = {
1062
1097
  tokenAddress: string;
1063
1098
  escrowSend?: TransferEscrowSend;
1064
1099
  escrowClaimantLimbs?: TransferEscrowClaimantLimbs;
1100
+ feeOutput?: FeeOutputSpec;
1065
1101
  };
1066
1102
  type PrepareConfidentialTransferProofResult = {
1067
1103
  proof_hex: string;
@@ -1074,6 +1110,29 @@ type PrepareConfidentialTransferProofResult = {
1074
1110
  };
1075
1111
  declare function prepareConfidentialTransferProof(parameters: PrepareConfidentialTransferProofParameters): Promise<PrepareConfidentialTransferProofResult>;
1076
1112
 
1113
+ /**
1114
+ * Loads pool Merkle leaves without `get_commitments()`. That helper walks the
1115
+ * whole tree in one simulate and exceeds the Soroban host budget on a live
1116
+ * stand. Completes the cached prefix from persistent `TreeDataKey::Leaf`
1117
+ * ledger entries instead.
1118
+ */
1119
+ declare function fetchAndMergeMerkleState(parameters: {
1120
+ poolContractId: string;
1121
+ walletPublicKey: string;
1122
+ transactEnvironment: StellarTransactEnvironment;
1123
+ poolMerkleState?: PoolMerkleStatePort;
1124
+ }): Promise<Awaited<ReturnType<typeof persistFetchedMerkleState>>>;
1125
+ declare function readLeafEphemeralHex(parameters: {
1126
+ poolContractId: string;
1127
+ walletPublicKey: string;
1128
+ leafIndex: number;
1129
+ transactEnvironment: StellarTransactEnvironment;
1130
+ leafEphemeral?: LeafEphemeralStatePort;
1131
+ }): Promise<{
1132
+ xHex: string;
1133
+ yHex: string;
1134
+ }>;
1135
+
1077
1136
  interface DecryptedKytAuditSlot {
1078
1137
  slot: number;
1079
1138
  decryptOk: boolean;
@@ -1091,6 +1150,7 @@ interface RequestKytPassageForPoolInteractionInput {
1091
1150
  outputNoteEphemeralScalars?: string[];
1092
1151
  decryptedAuditSlots?: DecryptedKytAuditSlot[];
1093
1152
  applicationIdsPlaintext?: KytApplicationIdHints;
1153
+ zkConfigNonce?: bigint;
1094
1154
  networkPassphrase: string;
1095
1155
  sorobanRpcUrl: string;
1096
1156
  transactEnvironment: StellarTransactEnvironment;
@@ -1208,4 +1268,4 @@ declare function isEscrowPreparedOperation(prepared: StellarPreparedOperation):
1208
1268
  declare function evaluateRequiredSubmissionMethod(prepared: StellarPreparedOperation, zkConfigNonce?: bigint): RequiredSubmissionMethodResult;
1209
1269
  declare function requiredSubmissionMethod(prepared: StellarPreparedOperation, zkConfigNonce?: bigint): SubmissionMethod;
1210
1270
 
1211
- export { type AlignedDepositSlot, type BlindedRecipientTagChallengeFields, COMMITMENT_V2_ZK_NONCE, type CreateStellarPrivacyClientResult, DEFAULT_STELLAR_ZK_CIRCUITS, DEFAULT_ZK_CONFIG_NONCE, ESCROW_SUBMISSION_REFUSAL, type EscrowOutputNoteCiphertextEvent, type EscrowSubmissionRefusal, EscrowSubmissionRefusedError, type KytApplicationIdHints, KytInspectError, type LoadBrowserAssetsInput, MIN_CONFIDENTIAL_TRANSFER_STROOPS, type PrepareRelayTransactPackageFromPreparedInput, type PrepareRelayTransactPackageInput, PrivacyPoolService, type ProofResult, type ProofWithChange, RELAY_SIGNAL_INDEX_ESCROW_RECIPIENT_HI, RELAY_SIGNAL_INDEX_ESCROW_RECIPIENT_LO, RELAY_SIGNAL_INDEX_NULLIFIER_0, RELAY_SIGNAL_INDEX_NULLIFIER_1, RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT, RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT_ASSET_HI, RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT_ASSET_LO, RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL, RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL_ASSET_HI, RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL_ASSET_LO, RELAY_SIGNAL_INDEX_STATE_ROOT, RELAY_SIGNAL_INDEX_WITHDRAW_ADDRESS_HI, RELAY_SIGNAL_INDEX_WITHDRAW_ADDRESS_LO, RELAY_TRANSACT_FIELD_BYTES, RELAY_TRANSACT_PACKAGE_VERSION_V1, RELAY_TRANSACT_SIGNAL_PREFIX_BYTES, RELAY_TRANSACT_SUPPORTED_SIGNAL_COUNT, type ReconstructedEscrowNote, type RelayKeyVersionHints, type RelayTransactPackageV1, type RelayTransactPackageVersion, type RelayTransactPublicLegContext, type RelayTransactSupportedProfile, type RequestKytPassageForPoolInteractionInput, type RequiredSubmissionMethodResult, SIX_BY_SIX_ZK_NONCE, STANDARD_ZK_CONFIG_NONCE, SUBMISSION_METHOD, type StellarAddress, type StellarAsset, type StellarAssetId, type StellarAssetsCatalog, type StellarAvailablePrivateRecordsFilter, type StellarBrowserAssets, type StellarBrowserPrivacyClientConfig, type StellarBundledZkCircuitDefinition, type StellarCustomZkCircuitDefinition, type StellarDeliverySyncState, type StellarIncomingDeliveriesFilter, type StellarIncomingDelivery, type StellarKytEnvironment, type StellarLeafEphemeral, type StellarNetworkConfig, type StellarOperationReceipt, type StellarPolicyAdapter, type StellarPoolMerkleState, type StellarPreparedOperation, type StellarPrivacyClient, type StellarPrivacyClientConfig, type StellarPrivateAssetRow, type StellarPrivateRecord, type StellarPrivateRecordStatus, type StellarPublicBalance, type StellarPublicBalanceInput, type StellarRegistryLookup, type StellarStateAdapter, type StellarSubmissionPayload, type StellarTransactEngine, type StellarTransactEnvironment, type StellarTransactionDetails, type StellarTransactionStatus, type StellarTransferFromAddress, type StellarTransferIntent, type StellarZkCircuitDefinition, type SubmissionMethod, type TransferEscrowClaimantLimbs, type TransferEscrowSend, type TransferRecipientExecutionContext, type TransferTemporaryRecipientKey, ZERO_STROOPS, assertEscrowSweepClaimant, assetLegToTokenAddress, attachEscrowAuthorization, attachPoolStatePorts, buildBlindedRecipientTagChallengeMessage, buildPoolTransactionAuditParameters, buildPrivateAddressSignMessage, configurePrivacyPoolService, createDefaultTransactEngine, createPrivacyPoolService, createStellarPolicyAdapterFromEnvironment, createStellarPrivacyClient, createStellarPrivacyClientFromResolvedConfig, decodePrivateAddress, deriveEscrowRecipientFromStellarAddress, encodePrivateAddress, encodePrivateAddressFromHexCoordinates, evaluateRequiredSubmissionMethod, fetchAndMergeMerkleState, fetchEscrowOutputNoteEvents, finalizeSpendOperationAtExecute, frDecimalToPaddedBytes32, generateRandomDepositScalarHex, generateTemporaryRecipientPrivateAddress, getPrivacyPoolService, isEscrowPreparedOperation, isStellarPrivacyClient, listWalletPrivateAddressRecordsForOwnerFromStateSnapshot, listWalletPrivateAddressScalarsForOwnerFromStateSnapshot, loadDefaultStellarBrowserAssets, loadStellarBrowserAssets, optionalZkArtifactBaseUrl, parseAuditPublicKeyFromEnvHex, parseKytReasonCode, prepareConfidentialTransferProof, prepareConfidentialTransferProofDual, prepareEscrowSweepOperation, prepareRelayTransactPackage, prepareRelayTransactPackageFromPrepared, privateAddressSdk, readLeafEphemeralHex, readPrivateRecordsFromStateSnapshot, readRelayTransactSupportedProfile, readWalletDefaultPrivateAddressNonceFromStateSnapshot, readWalletPrivateAddressRecordFromStateSnapshot, readWalletPrivateAddressScalarFromStateSnapshot, recipientPublicKeysDecimalFromPrivateAddress, reconstructEscrowNote, requestKytPassageForPoolInteraction, requiredSubmissionMethod, resolvePoolApplicationId, resolveStellarPrivacyClientConfig, resolveZkConfigNonce, runTtlPreflight, stellarStateDefinitions, submitSorobanConfidentialTransfer, submitSorobanDeposit, tokenAddressToAssetLeg, unsignedEscrowAuthorizationForSweep };
1271
+ export { type AlignedDepositSlot, BINDING_ZK_NONCE, type BlindedRecipientTagChallengeFields, COMMITMENT_V2_ZK_NONCE, type CreateStellarPrivacyClientResult, DEFAULT_STELLAR_ZK_CIRCUITS, DEFAULT_ZK_CONFIG_NONCE, ESCROW_SUBMISSION_REFUSAL, type EscrowOutputNoteCiphertextEvent, type EscrowSubmissionRefusal, EscrowSubmissionRefusedError, type KytApplicationIdHints, KytInspectError, type LoadBrowserAssetsInput, MIN_CONFIDENTIAL_TRANSFER_STROOPS, type PrepareRelayTransactPackageFromPreparedInput, type PrepareRelayTransactPackageInput, PrivacyPoolService, type ProofResult, type ProofWithChange, RELAY_SIGNAL_INDEX_ESCROW_RECIPIENT_HI, RELAY_SIGNAL_INDEX_ESCROW_RECIPIENT_LO, RELAY_SIGNAL_INDEX_NULLIFIER_0, RELAY_SIGNAL_INDEX_NULLIFIER_1, RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT, RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT_ASSET_HI, RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT_ASSET_LO, RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL, RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL_ASSET_HI, RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL_ASSET_LO, RELAY_SIGNAL_INDEX_STATE_ROOT, RELAY_SIGNAL_INDEX_WITHDRAW_ADDRESS_HI, RELAY_SIGNAL_INDEX_WITHDRAW_ADDRESS_LO, RELAY_TRANSACT_FIELD_BYTES, RELAY_TRANSACT_PACKAGE_VERSION_V1, RELAY_TRANSACT_SIGNAL_PREFIX_BYTES, RELAY_TRANSACT_SUPPORTED_SIGNAL_COUNT, type ReconstructedEscrowNote, type RelayKeyVersionHints, type RelayTransactPackageV1, type RelayTransactPackageVersion, type RelayTransactPublicLegContext, type RelayTransactSupportedProfile, type RequestKytPassageForPoolInteractionInput, type RequiredSubmissionMethodResult, SIX_BY_SIX_BINDING_ZK_NONCE, SIX_BY_SIX_ZK_NONCE, STANDARD_ZK_CONFIG_NONCE, SUBMISSION_METHOD, type StellarAddress, type StellarAsset, type StellarAssetId, type StellarAssetsCatalog, type StellarAvailablePrivateRecordsFilter, type StellarBrowserAssets, type StellarBrowserPrivacyClientConfig, type StellarBundledZkCircuitDefinition, type StellarCustomZkCircuitDefinition, type StellarDeliverySyncState, type StellarIncomingDeliveriesFilter, type StellarIncomingDelivery, type StellarKytEnvironment, type StellarLeafEphemeral, type StellarLeanImtNode, type StellarNetworkConfig, type StellarOperationReceipt, type StellarPolicyAdapter, type StellarPoolMerkleState, type StellarPreparedOperation, type StellarPrivacyClient, type StellarPrivacyClientConfig, type StellarPrivacyStateHydration, type StellarPrivateAssetRow, type StellarPrivateRecord, type StellarPrivateRecordStatus, type StellarPublicBalance, type StellarPublicBalanceInput, type StellarRegistryLookup, type StellarStateAdapter, type StellarSubmissionPayload, type StellarTransactEngine, type StellarTransactEnvironment, type StellarTransactionDetails, type StellarTransactionStatus, type StellarTransferFromAddress, type StellarTransferIntent, type StellarZkCircuitDefinition, type SubmissionMethod, type TransferEscrowClaimantLimbs, type TransferEscrowSend, type TransferRecipientExecutionContext, type TransferTemporaryRecipientKey, ZERO_STROOPS, assertEscrowSweepClaimant, assetLegToTokenAddress, attachEscrowAuthorization, attachPoolStatePorts, buildBlindedRecipientTagChallengeMessage, buildPoolTransactionAuditParameters, buildPrivateAddressSignMessage, configurePrivacyPoolService, createDefaultTransactEngine, createPrivacyPoolService, createStellarPolicyAdapterFromEnvironment, createStellarPrivacyClient, createStellarPrivacyClientFromResolvedConfig, decodePrivateAddress, deriveEscrowRecipientFromStellarAddress, encodePrivateAddress, encodePrivateAddressFromHexCoordinates, evaluateRequiredSubmissionMethod, fetchAndMergeMerkleState, fetchEscrowOutputNoteEvents, finalizeSpendOperationAtExecute, frDecimalToPaddedBytes32, generateRandomDepositScalarHex, generateTemporaryRecipientPrivateAddress, getPrivacyPoolService, isEscrowPreparedOperation, isStellarPrivacyClient, listWalletPrivateAddressRecordsForOwnerFromStateSnapshot, listWalletPrivateAddressScalarsForOwnerFromStateSnapshot, loadDefaultStellarBrowserAssets, loadStellarBrowserAssets, optionalZkArtifactBaseUrl, parseAuditPublicKeyFromEnvHex, parseKytReasonCode, prepareConfidentialTransferProof, prepareConfidentialTransferProofDual, prepareEscrowSweepOperation, prepareRelayTransactPackage, prepareRelayTransactPackageFromPrepared, privateAddressSdk, readLeafEphemeralHex, readPrivateRecordsFromStateSnapshot, readRelayTransactSupportedProfile, readWalletDefaultPrivateAddressNonceFromStateSnapshot, readWalletPrivateAddressRecordFromStateSnapshot, readWalletPrivateAddressScalarFromStateSnapshot, recipientPublicKeysDecimalFromPrivateAddress, reconstructEscrowNote, requestKytPassageForPoolInteraction, requiredSubmissionMethod, resolvePoolApplicationId, resolveStellarPrivacyClientConfig, resolveZkConfigNonce, runTtlPreflight, stellarStateDefinitions, submitSorobanConfidentialTransfer, submitSorobanDeposit, tokenAddressToAssetLeg, unsignedEscrowAuthorizationForSweep };