@arcanetech/privacy-sdk-stellar 0.2.3 → 0.4.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/dist/index.d.ts CHANGED
@@ -3,10 +3,8 @@ import { OperationKind, DepositIntent, TransferIntent, WithdrawIntent, createRej
3
3
  export { isPreparedOperation } from '@arcanetech/privacy-sdk-core';
4
4
  import * as _arcanetech_privacy_sdk_core_state from '@arcanetech/privacy-sdk-core/state';
5
5
  import { StateBridgeAdapter, StateBridgeDefinition } from '@arcanetech/privacy-sdk-core/state';
6
- import { OnboardingPayload } from 'contract';
7
- export { OnboardingPayload, PrivateAddressRegistration } from 'contract';
8
- import { DepositObject, CoinData, AuditPublicKey, PrivacyPoolSDK, StateFile, TransactionAuditParams, InspectKytPassageApproved } from '@auditable/privacy-pool-zk-sdk';
9
- export { DEFAULT_STEALTH_SIGN_NONCE as DEFAULT_PRIVATE_ADDRESS_SIGN_NONCE } from '@auditable/privacy-pool-zk-sdk';
6
+ import { DepositObject, CoinData, ZkCircuitLayoutFields, BundledZkCircuit, AuditPublicKey, SpendScalarDomain, PrivacyPoolSDK, StateFile, TransactionAuditParams, InspectKytPassageApproved } from '@arcanetech/stellar-privacy-pool-zk-sdk';
7
+ export { BundledZkCircuit, DEFAULT_STEALTH_SIGN_NONCE as DEFAULT_PRIVATE_ADDRESS_SIGN_NONCE, OWNER_BOUND_NOTE_SCHEMA_VERSION, SpendScalarDomain, spendScalarHexFromStellarSignature } from '@arcanetech/stellar-privacy-pool-zk-sdk';
10
8
  import { Buffer as Buffer$1 } from 'buffer';
11
9
 
12
10
  type StellarPrivateRecordStatus = 'pending' | 'finalized' | 'spent';
@@ -81,35 +79,6 @@ interface StellarLeafEphemeral {
81
79
  yHex: string;
82
80
  cachedAt?: string;
83
81
  }
84
- interface StellarPendingClaim {
85
- id: string;
86
- owner: StellarAddress;
87
- asset: StellarAssetId;
88
- amount: bigint;
89
- createdAt: string;
90
- poolTxId?: string;
91
- commitmentHex?: string;
92
- nullifierHex?: string;
93
- futureNullifierHashHex?: string;
94
- assetHiHex?: string;
95
- assetLoHex?: string;
96
- nullifierFieldHex?: string;
97
- secretHex?: string;
98
- tempPublicKeyXHex?: string;
99
- tempPublicKeyYHex?: string;
100
- encryptedRecoveryBase64?: string;
101
- createdAtLedger?: number;
102
- }
103
- interface StellarPendingClaimsPagination {
104
- total: number;
105
- page: number;
106
- pageSize: number;
107
- hasMore: boolean;
108
- }
109
- interface StellarPendingClaimsState {
110
- items: StellarPendingClaim[];
111
- pagination?: StellarPendingClaimsPagination;
112
- }
113
82
  interface StellarIncomingDelivery {
114
83
  id: number;
115
84
  privateAddress: string;
@@ -164,10 +133,6 @@ interface StellarAvailablePrivateRecordsFilter {
164
133
  privateAddress?: string;
165
134
  asset?: StellarAssetId;
166
135
  }
167
- interface StellarPendingClaimsFilter {
168
- owner?: StellarAddress;
169
- asset?: StellarAssetId;
170
- }
171
136
  interface StellarIncomingDeliveriesFilter {
172
137
  privateAddress: string;
173
138
  asset?: StellarAssetId;
@@ -181,11 +146,13 @@ type AlignedDepositSlot = {
181
146
  depositScalarHex: string;
182
147
  precommitementHex: string;
183
148
  };
184
- type KytApplicationIdHints = [string, string, string, string];
149
+ type KytApplicationIdHints = string[];
185
150
  type ProofResult = {
186
151
  proof_hex: string;
187
152
  public_hex: string;
188
153
  applicationIdsPlaintext: KytApplicationIdHints;
154
+ ciphertext_hex?: string;
155
+ output_note_ephemeral_scalars?: string[];
189
156
  };
190
157
  type ProofWithChange = ProofResult & {
191
158
  changeCoin?: {
@@ -196,14 +163,7 @@ type ProofWithChange = ProofResult & {
196
163
  };
197
164
  };
198
165
 
199
- type StellarPendingClaimSource = {
200
- kind: 'pendingClaim';
201
- claimId: string;
202
- } | {
203
- kind: 'pendingClaim';
204
- claim: StellarPendingClaim;
205
- };
206
- type StellarTransferFromAddress = StellarAddress | StellarPendingClaimSource;
166
+ type StellarTransferFromAddress = StellarAddress;
207
167
 
208
168
  interface PoolMerkleStatePort {
209
169
  get(poolContract: string): Promise<StellarPoolMerkleState | undefined>;
@@ -225,33 +185,68 @@ type StellarSignTransaction = (input: {
225
185
  signedTxXdr: string;
226
186
  }>;
227
187
 
188
+ type StellarBundledZkCircuitDefinition = ZkCircuitLayoutFields & {
189
+ circuit: BundledZkCircuit;
190
+ };
191
+ type StellarCustomZkCircuitDefinition = ZkCircuitLayoutFields & {
192
+ zkeyUrl: string;
193
+ circuitGraphUrl: string;
194
+ r1csUrl: string;
195
+ provingKeyUrl: string;
196
+ };
197
+ type StellarZkCircuitDefinition = StellarBundledZkCircuitDefinition | StellarCustomZkCircuitDefinition;
198
+ declare const DEFAULT_STELLAR_ZK_CIRCUITS: Record<string, StellarBundledZkCircuitDefinition>;
199
+ declare function optionalZkArtifactBaseUrl(value: string | undefined): {
200
+ zkArtifactBaseUrl?: string;
201
+ };
202
+
228
203
  interface TransferTemporaryRecipientKey {
229
204
  temporaryScalarHex: string;
230
205
  temporaryPrivateAddressStpl1: string;
231
206
  }
232
- interface TransferOnboardingRecipientNoteInput$1 {
233
- tokenAddress: string;
234
- nullifier: string;
235
- secret: string;
236
- value: string;
207
+ interface TransferEscrowSend {
208
+ nonceDecimal: string;
209
+ recipientHi: string;
210
+ recipientLo: string;
211
+ recipientStellarAddress: string;
212
+ }
213
+ interface TransferEscrowClaimantLimbs {
214
+ recipientHi: string;
215
+ recipientLo: string;
216
+ nonceDecimal?: string;
237
217
  }
238
218
  interface TransferRecipientExecutionContext {
239
219
  recipientPrivateAddressStpl1: string;
240
220
  recipientStellarAddress?: string;
221
+ escrowSend?: TransferEscrowSend;
241
222
  temporaryRecipientKey?: TransferTemporaryRecipientKey;
242
223
  }
243
- interface BuildTransferOnboardingAtExecuteInput {
244
- ownerStellarAddress: string;
245
- temporaryRecipientKey: TransferTemporaryRecipientKey;
246
- recipientNote: TransferOnboardingRecipientNoteInput$1;
247
- }
248
224
  interface StellarKytEnvironment {
249
225
  apiBaseUrl: string;
250
226
  kytPassageRegistryContract: string;
251
227
  registerPassageOnChain?: boolean;
228
+ inspectAuthorization?: string;
252
229
  }
253
230
  interface StellarTransactEnvironment {
254
231
  network: StellarNetworkConfig;
232
+ /**
233
+ * Nonce (persistent storage key) of the pool's `ZkConfig` entry this
234
+ * environment's proofs/circuit shape target. Defaults to `2n` (Commitment
235
+ * V2, 95 public signals) when omitted. Nonce `0` is the retired 93-signal
236
+ * layout and must be passed explicitly.
237
+ */
238
+ zkConfigNonce?: bigint;
239
+ /**
240
+ * Optional nonce-keyed circuit map. Defaults to the SDK bundled 2×2 (nonce 2)
241
+ * and 6×6 (nonce 6) schemes. URL fields are only for a custom/dev circuit.
242
+ */
243
+ zkCircuits?: Record<string, StellarZkCircuitDefinition>;
244
+ /**
245
+ * Directory or HTTP prefix for graph / r1cs / proving-key files.
246
+ * Defaults to the GitHub release for `@arcanetech/stellar-privacy-pool-zk-sdk`.
247
+ * Staging and local stands override this to serve files from disk.
248
+ */
249
+ zkArtifactBaseUrl?: string;
255
250
  auditPublicKey?: AuditPublicKey;
256
251
  kyt: StellarKytEnvironment;
257
252
  signTransaction?: StellarSignTransaction;
@@ -267,7 +262,6 @@ interface StellarTransactEnvironment {
267
262
  recipientStellarAddress: string;
268
263
  walletPublicKey: string;
269
264
  }) => Promise<TransferRecipientExecutionContext>;
270
- buildTransferOnboardingAtExecute?: (input: BuildTransferOnboardingAtExecuteInput) => Promise<OnboardingPayload>;
271
265
  resolveWalletPublicKey?: () => Promise<string>;
272
266
  poolMerkleState?: PoolMerkleStatePort;
273
267
  leafEphemeral?: LeafEphemeralStatePort;
@@ -294,16 +288,25 @@ interface StellarSubmissionPayload {
294
288
  interface StellarTransactArtifacts {
295
289
  proofHex?: string;
296
290
  publicHex?: string;
291
+ ciphertextHex?: string;
292
+ outputNoteEphemeralScalars?: string[];
297
293
  applicationIdsPlaintext?: KytApplicationIdHints;
298
294
  tokenAddress?: string;
299
295
  depositScalarHex?: string;
300
296
  precommitementHex?: string;
301
297
  commitmentHex?: string;
302
298
  walletPublicKey?: string;
303
- onboarding?: OnboardingPayload;
299
+ escrowRecipient?: string;
300
+ escrowAuthorization?: string;
301
+ escrowSend?: boolean;
302
+ escrowSpendScalarHex?: string;
303
+ escrowClaimantLimbs?: {
304
+ recipientHi: string;
305
+ recipientLo: string;
306
+ nonceDecimal?: string;
307
+ };
304
308
  executeFinalizeRequired?: boolean;
305
- pendingClaim?: StellarPendingClaim;
306
- spendSource?: 'privateAddress' | 'pendingClaim';
309
+ spendSource?: 'privateAddress' | 'escrow';
307
310
  }
308
311
  interface StellarOperationReceipt {
309
312
  operationId: string;
@@ -319,8 +322,6 @@ interface StellarNetworkConfig {
319
322
  }
320
323
  interface StellarBrowserAssets {
321
324
  sdkWasm: ArrayBuffer;
322
- circuitWasm: ArrayBuffer;
323
- provingKey: ArrayBuffer;
324
325
  }
325
326
  interface StellarWalletAdapter {
326
327
  getAddress(): Promise<StellarAddress>;
@@ -419,22 +420,6 @@ declare function composeStellarPrivacyClient(config: ResolvedStellarPrivacyClien
419
420
  getIncomingDeliveries: (filter: StellarIncomingDeliveriesFilter) => Promise<StellarIncomingDelivery[]>;
420
421
  upsertIncomingDeliveries: (deliveries: StellarIncomingDelivery[]) => Promise<void>;
421
422
  markDeliveryProcessed(id: number): Promise<void>;
422
- getPendingClaims: (filter?: StellarPendingClaimsFilter) => Promise<StellarPendingClaimsState>;
423
- getPendingClaimsCount(owner: StellarAddress): Promise<number | undefined>;
424
- appendPendingClaims: (claims: StellarPendingClaim[], paginationInfo: StellarPendingClaimsPagination) => Promise<void>;
425
- replacePendingClaimsPage: (input: {
426
- owner: StellarAddress;
427
- claims: StellarPendingClaim[];
428
- paginationInfo: StellarPendingClaimsPagination;
429
- count?: number;
430
- }) => Promise<void>;
431
- upsertPendingClaims: (claims: StellarPendingClaim[]) => Promise<void>;
432
- removePendingClaims: (ids: string[]) => Promise<void>;
433
- clearPendingClaims: (input?: {
434
- owner?: StellarAddress;
435
- asset?: StellarAssetId;
436
- }) => Promise<void>;
437
- setPendingClaimsCount: (owner: StellarAddress, count: number) => Promise<void>;
438
423
  getLeafEphemeral(input: {
439
424
  poolContract: string;
440
425
  leafIndex: number;
@@ -506,6 +491,7 @@ declare function composeStellarPrivacyClient(config: ResolvedStellarPrivacyClien
506
491
  poolContractId?: string;
507
492
  nullifier: string;
508
493
  walletPublicKey: string;
494
+ privKeyScalarHex: string;
509
495
  }) => Promise<{
510
496
  spent: boolean;
511
497
  nullifierHashHex: string;
@@ -551,18 +537,6 @@ declare function composeStellarPrivacyClient(config: ResolvedStellarPrivacyClien
551
537
  };
552
538
  type ComposedStellarPrivacyClient = ReturnType<typeof composeStellarPrivacyClient>;
553
539
 
554
- interface LoadPendingClaimsFromBackendInput {
555
- backendBaseUrl: string;
556
- ownerAddress: StellarAddress;
557
- asset?: StellarAssetId;
558
- page?: number;
559
- pageSize?: number;
560
- }
561
- interface LoadPendingClaimsCountFromBackendInput {
562
- backendBaseUrl: string;
563
- ownerAddress: StellarAddress;
564
- }
565
-
566
540
  declare function readPrivateRecordsFromStateSnapshot(state: unknown): StellarPrivateRecord[];
567
541
  declare function readWalletPrivateAddressScalarFromStateSnapshot(input: {
568
542
  state: unknown;
@@ -626,22 +600,6 @@ declare function composeStellarStateService(adapter: StateBridgeAdapter): {
626
600
  getIncomingDeliveries: (filter: StellarIncomingDeliveriesFilter) => Promise<StellarIncomingDelivery[]>;
627
601
  upsertIncomingDeliveries: (deliveries: StellarIncomingDelivery[]) => Promise<void>;
628
602
  markDeliveryProcessed(id: number): Promise<void>;
629
- getPendingClaims: (filter?: StellarPendingClaimsFilter) => Promise<StellarPendingClaimsState>;
630
- getPendingClaimsCount(owner: StellarAddress): Promise<number | undefined>;
631
- appendPendingClaims: (claims: StellarPendingClaim[], paginationInfo: StellarPendingClaimsPagination) => Promise<void>;
632
- replacePendingClaimsPage: (input: {
633
- owner: StellarAddress;
634
- claims: StellarPendingClaim[];
635
- paginationInfo: StellarPendingClaimsPagination;
636
- count?: number;
637
- }) => Promise<void>;
638
- upsertPendingClaims: (claims: StellarPendingClaim[]) => Promise<void>;
639
- removePendingClaims: (ids: string[]) => Promise<void>;
640
- clearPendingClaims: (input?: {
641
- owner?: StellarAddress;
642
- asset?: StellarAssetId;
643
- }) => Promise<void>;
644
- setPendingClaimsCount: (owner: StellarAddress, count: number) => Promise<void>;
645
603
  getLeafEphemeral(input: {
646
604
  poolContract: string;
647
605
  leafIndex: number;
@@ -723,16 +681,6 @@ declare function createStateDelegates(state: StellarStateService): {
723
681
  markDeliveryProcessed: (id: Parameters<StellarStateService["markDeliveryProcessed"]>[0]) => Promise<void>;
724
682
  getDeliverySyncState: (input: Parameters<StellarStateService["getDeliverySyncState"]>[0]) => Promise<StellarDeliverySyncState | undefined>;
725
683
  setDeliverySyncState: (syncState: Parameters<StellarStateService["setDeliverySyncState"]>[0]) => Promise<void>;
726
- appendPendingClaims: (claims: Parameters<StellarStateService["appendPendingClaims"]>[0], paginationInfo: Parameters<StellarStateService["appendPendingClaims"]>[1]) => Promise<void>;
727
- loadPendingClaimsFromBackend: (input: LoadPendingClaimsFromBackendInput) => Promise<void>;
728
- loadPendingClaimsCountFromBackend: (input: LoadPendingClaimsCountFromBackendInput) => Promise<void>;
729
- replacePendingClaimsPage: (input: Parameters<StellarStateService["replacePendingClaimsPage"]>[0]) => Promise<void>;
730
- upsertPendingClaims: (claims: Parameters<StellarStateService["upsertPendingClaims"]>[0]) => Promise<void>;
731
- removePendingClaims: (ids: Parameters<StellarStateService["removePendingClaims"]>[0]) => Promise<void>;
732
- clearPendingClaims: (input?: Parameters<StellarStateService["clearPendingClaims"]>[0]) => Promise<void>;
733
- getPendingClaims: (filter?: Parameters<StellarStateService["getPendingClaims"]>[0]) => Promise<StellarPendingClaimsState>;
734
- getPendingClaimsCount: (owner: Parameters<StellarStateService["getPendingClaimsCount"]>[0]) => Promise<number | undefined>;
735
- setPendingClaimsCount: (owner: Parameters<StellarStateService["setPendingClaimsCount"]>[0], count: Parameters<StellarStateService["setPendingClaimsCount"]>[1]) => Promise<void>;
736
684
  getPoolMerkleState: (poolContract: Parameters<StellarStateService["getPoolMerkleState"]>[0]) => Promise<StellarPoolMerkleState | undefined>;
737
685
  setPoolMerkleState: (poolState: Parameters<StellarStateService["setPoolMerkleState"]>[0]) => Promise<void>;
738
686
  appendPoolCommitments: (input: Parameters<StellarStateService["appendPoolCommitments"]>[0]) => Promise<void>;
@@ -802,23 +750,44 @@ declare function createStellarPolicyAdapterFromEnvironment(transactEnvironment:
802
750
  inspectOperation: (_kind: StellarPreparedOperation["kind"], _intent: StellarPreparedOperation["intent"]) => Promise<void>;
803
751
  };
804
752
 
753
+ type DecodedPrivateAddress = {
754
+ x: string;
755
+ y: string;
756
+ };
757
+ type PrivateAddressGenerator = (signature: string, domain: SpendScalarDomain) => string | Promise<string>;
758
+ type PrivateAddressSdk = {
759
+ generatePrivateAddressFromStellarSignature: PrivateAddressGenerator;
760
+ };
761
+ declare function buildPrivateAddressSignMessage(publicKey: string, domain: SpendScalarDomain, nonce?: string): string;
762
+ declare function decodePrivateAddress(value: string): DecodedPrivateAddress;
763
+ declare function encodePrivateAddress(decoded: DecodedPrivateAddress): string;
764
+ declare function encodePrivateAddressFromHexCoordinates(publicKeyXHex: string, publicKeyYHex: string): string;
765
+ declare function recipientPublicKeysDecimalFromPrivateAddress(value: string): unknown;
766
+ declare function privateAddressSdk(sdk: PrivacyPoolSDK): PrivateAddressSdk;
767
+
805
768
  declare class PrivacyPoolService {
806
769
  private readonly assets?;
807
770
  private readonly applicationId?;
808
771
  private readonly auditPublicKey?;
772
+ private readonly zkCircuits?;
773
+ private readonly zkConfigNonce?;
774
+ private readonly zkArtifactBaseUrl?;
809
775
  private sdk;
810
776
  private initPromise;
811
- constructor(assets?: StellarBrowserAssets | undefined, applicationId?: string | undefined, auditPublicKey?: [string, string] | undefined);
777
+ constructor(assets?: StellarBrowserAssets | undefined, applicationId?: string | undefined, auditPublicKey?: [string, string] | undefined, zkCircuits?: Record<string, StellarZkCircuitDefinition> | undefined, zkConfigNonce?: bigint | undefined, zkArtifactBaseUrl?: string | undefined);
812
778
  private ensureInit;
813
779
  getInitializedSdk(): Promise<PrivacyPoolSDK>;
814
780
  getAuditPublicKey(): [string, string] | undefined;
815
781
  getApplicationId(): string;
816
- generatePrivateAddressFromStellarSignature(signature: string): Promise<string>;
782
+ generatePrivateAddressFromStellarSignature(signature: string, domain: SpendScalarDomain): Promise<string>;
817
783
  sharedSecretX(recipientScalarHex: string, ephemeralKeyEncoded: string): Promise<string>;
818
784
  buildAlignedDepositSlot(parameters: {
819
785
  privateAddressStpl1: string;
820
786
  amountStroops: bigint;
821
787
  tokenAddress: string;
788
+ escrowNonce?: string;
789
+ recipientHi?: string;
790
+ recipientLo?: string;
822
791
  }): Promise<AlignedDepositSlot>;
823
792
  createAlignedShieldCoinData(parameters: {
824
793
  privateAddressStpl1: string;
@@ -832,7 +801,7 @@ declare class PrivacyPoolService {
832
801
  merkleRootBytes: Buffer$1;
833
802
  tokenAddress: string;
834
803
  }): Promise<ProofResult>;
835
- calculateNullifierHash(nullifier: string): Promise<string>;
804
+ calculateNullifierHash(nullifier: string, privKeyScalar: string): Promise<string>;
836
805
  prepareWithdrawTransactProof(parameters: {
837
806
  coin: CoinData;
838
807
  state: StateFile;
@@ -861,6 +830,9 @@ declare function createPrivacyPoolService(input?: {
861
830
  assets?: StellarBrowserAssets;
862
831
  applicationId?: string;
863
832
  auditPublicKey?: [string, string];
833
+ zkCircuits?: Record<string, StellarZkCircuitDefinition>;
834
+ zkConfigNonce?: bigint;
835
+ zkArtifactBaseUrl?: string;
864
836
  }): PrivacyPoolService;
865
837
  declare function configurePrivacyPoolService(service: PrivacyPoolService): void;
866
838
  declare function getPrivacyPoolService(): PrivacyPoolService;
@@ -869,28 +841,111 @@ declare function parseAuditPublicKeyFromEnvHex(raw: string): AuditPublicKey;
869
841
  declare function buildPoolTransactionAuditParameters(input: {
870
842
  applicationId: string;
871
843
  auditPublicKey?: AuditPublicKey;
844
+ nAuditSlots?: number;
872
845
  }): TransactionAuditParams;
873
846
  declare function resolvePoolApplicationId(applicationId: string | undefined): string;
874
847
 
875
- type DecodedPrivateAddress = {
876
- x: string;
877
- y: string;
848
+ type BlindedRecipientTagChallengeFields = {
849
+ stellarAddress: string;
850
+ networkPassphrase: string;
851
+ issuedAt: string;
852
+ expiresAt: string;
853
+ nonce: string;
878
854
  };
879
- type PrivateAddressGenerator = (signature: string) => string | Promise<string>;
880
- type PrivateAddressSdk = {
881
- generatePrivateAddressFromStellarSignature: PrivateAddressGenerator;
855
+ declare function buildBlindedRecipientTagChallengeMessage(fields: BlindedRecipientTagChallengeFields): string;
856
+
857
+ type DerivedEscrowRecipient = {
858
+ nonceDecimal: string;
859
+ recipientHi: string;
860
+ recipientLo: string;
861
+ recipientStellarAddress: string;
862
+ privateAddressStpl1: string;
863
+ scalarHex: string;
882
864
  };
883
- declare function buildPrivateAddressSignMessage(publicKey: string, nonce: string): string;
884
- declare function decodePrivateAddress(value: string): DecodedPrivateAddress;
885
- declare function encodePrivateAddress(decoded: DecodedPrivateAddress): string;
886
- declare function encodePrivateAddressFromHexCoordinates(publicKeyXHex: string, publicKeyYHex: string): string;
887
- declare function recipientPublicKeysDecimalFromPrivateAddress(value: string): unknown;
888
- declare function privateAddressSdk(sdk: PrivacyPoolSDK): PrivateAddressSdk;
865
+ type DerivedEscrowKeyFn = (nonce: bigint, recipientHi: bigint, recipientLo: bigint) => Promise<{
866
+ scalarHex: string;
867
+ pointXHex: string;
868
+ pointYHex: string;
869
+ }>;
870
+ declare function deriveEscrowRecipientFromStellarAddress(input: {
871
+ recipientStellarAddress: string;
872
+ nonceDecimal?: string;
873
+ deriveKey?: DerivedEscrowKeyFn;
874
+ }): Promise<DerivedEscrowRecipient>;
875
+
876
+ declare function assertEscrowSweepClaimant(input: {
877
+ walletPublicKey: string;
878
+ claimantAddress: string;
879
+ }): void;
880
+
881
+ type EscrowOutputNoteCiphertextEvent = {
882
+ outputIndex: number;
883
+ commitmentHashHex: string;
884
+ createdEphemeralKey: readonly [string, string];
885
+ ciphertext: readonly string[];
886
+ tag: string;
887
+ };
888
+ type ReconstructedEscrowNote = {
889
+ coin: CoinData;
890
+ scalarHex: string;
891
+ privateAddressStpl1: string;
892
+ recipientHi: string;
893
+ recipientLo: string;
894
+ nonceDecimal: string;
895
+ tokenAddress: string;
896
+ commitmentHex: string;
897
+ };
898
+ type DecryptEscrowOutputNote = (input: {
899
+ recipientScalarHex: string;
900
+ commitmentHashHex: string;
901
+ createdEphemeralKey: readonly [string, string];
902
+ ciphertext: readonly string[];
903
+ tag: string;
904
+ ownerMode?: bigint;
905
+ }) => Promise<{
906
+ value: string;
907
+ assetHi: string;
908
+ assetLo: string;
909
+ nullifier: string;
910
+ secret: string;
911
+ applicationId: string;
912
+ commitmentHex: string;
913
+ commitmentMatches: boolean;
914
+ }>;
915
+ declare function reconstructEscrowNote(input: {
916
+ claimantAddress: string;
917
+ nonceDecimal: string;
918
+ seq: number;
919
+ events: readonly EscrowOutputNoteCiphertextEvent[];
920
+ decrypt?: DecryptEscrowOutputNote;
921
+ deriveKey?: DerivedEscrowKeyFn;
922
+ }): Promise<ReconstructedEscrowNote>;
923
+
924
+ type PrepareEscrowSweepInput = {
925
+ walletPublicKey: string;
926
+ claimantAddress: string;
927
+ registeredPrivateAddress: string;
928
+ reconstructed: ReconstructedEscrowNote;
929
+ poolContract: string;
930
+ asset: string;
931
+ };
932
+ declare function attachEscrowAuthorization(prepared: StellarPreparedOperation, escrowAuthorization: string): StellarPreparedOperation;
933
+ declare function prepareEscrowSweepOperation(input: PrepareEscrowSweepInput): StellarPreparedOperation;
934
+
935
+ declare function fetchEscrowOutputNoteEvents(input: {
936
+ transactEnvironment: StellarTransactEnvironment;
937
+ txId: string;
938
+ poolAddress: string;
939
+ }): Promise<EscrowOutputNoteCiphertextEvent[]>;
940
+
941
+ declare function unsignedEscrowAuthorizationForSweep(input: {
942
+ prepared: StellarPreparedOperation;
943
+ transactEnvironment: StellarTransactEnvironment;
944
+ relayerPublicKey: string;
945
+ }): Promise<string>;
889
946
 
890
947
  interface LoadBrowserAssetsInput {
891
948
  sdkWasmUrl: string;
892
- circuitWasmUrl: string;
893
- provingKeyUrl: string;
894
949
  cacheBust?: boolean;
895
950
  }
896
951
  declare function loadStellarBrowserAssets(input: LoadBrowserAssetsInput): Promise<StellarBrowserAssets>;
@@ -898,30 +953,18 @@ declare function loadDefaultStellarBrowserAssets(options?: {
898
953
  cacheBust?: boolean;
899
954
  }): Promise<StellarBrowserAssets>;
900
955
 
956
+ declare const STANDARD_ZK_CONFIG_NONCE = 0n;
957
+ declare const COMMITMENT_V2_ZK_NONCE = 2n;
958
+ declare const SIX_BY_SIX_ZK_NONCE = 6n;
959
+ declare const DEFAULT_ZK_CONFIG_NONCE = 3n;
960
+ declare function resolveZkConfigNonce(transactEnvironment: StellarTransactEnvironment): bigint;
961
+
962
+ declare function generateRandomDepositScalarHex(): Promise<string>;
901
963
  declare function generateTemporaryRecipientPrivateAddress(): Promise<{
902
964
  temporaryScalarHex: string;
903
965
  temporaryPrivateAddressStpl1: string;
904
966
  }>;
905
967
 
906
- type TransferOnboardingRecipientNoteInput = {
907
- tokenAddress: string;
908
- nullifier: string;
909
- secret: string;
910
- value: string;
911
- };
912
- type TemporaryRecipientKeyMaterial = {
913
- temporaryScalarHex: string;
914
- temporaryPrivateAddressStpl1: string;
915
- };
916
- declare function generateRandomDepositScalarHex(): Promise<string>;
917
- declare function buildOnboardingPayload(parameters: {
918
- ownerStellarAddress: string;
919
- temporaryKey: TemporaryRecipientKeyMaterial;
920
- recipientNotes: TransferOnboardingRecipientNoteInput[];
921
- permanentPrivateAddressStpl1?: string;
922
- }): OnboardingPayload;
923
- declare function buildTransferOnboardingAtExecute(input: BuildTransferOnboardingAtExecuteInput): Promise<OnboardingPayload>;
924
-
925
968
  declare class KytInspectError extends Error {
926
969
  readonly reasonCode: string;
927
970
  readonly decisionId?: string;
@@ -957,7 +1000,8 @@ interface SubmitSorobanConfidentialTransferInput {
957
1000
  walletPublicKey: string;
958
1001
  proofHex: string;
959
1002
  publicHex: string;
960
- onboarding?: OnboardingPayload;
1003
+ ciphertextHex?: string;
1004
+ outputNoteEphemeralScalars?: string[];
961
1005
  applicationIdsPlaintext?: KytApplicationIdHints;
962
1006
  networkPassphrase: string;
963
1007
  sorobanRpcUrl: string;
@@ -979,7 +1023,6 @@ type PrepareConfidentialTransferProofDualParameters = {
979
1023
  coinA: CoinData;
980
1024
  coinB: CoinData;
981
1025
  state: StateFile;
982
- senderGAddress: string;
983
1026
  senderPrivKeyScalarHex: string;
984
1027
  ephemeralAKey: string;
985
1028
  ephemeralBKey: string;
@@ -987,10 +1030,14 @@ type PrepareConfidentialTransferProofDualParameters = {
987
1030
  recipientPrivateAddressStpl1: string;
988
1031
  selfPrivateAddressStpl1ForChange: string | undefined;
989
1032
  tokenAddress: string;
1033
+ escrowSend?: TransferEscrowSend;
1034
+ escrowClaimantLimbs?: TransferEscrowClaimantLimbs;
990
1035
  };
991
1036
  type PrepareConfidentialTransferProofDualResult = {
992
1037
  proof_hex: string;
993
1038
  public_hex: string;
1039
+ ciphertext_hex?: string;
1040
+ output_note_ephemeral_scalars?: string[];
994
1041
  applicationIdsPlaintext: KytApplicationIdHints;
995
1042
  recipientCoin: GeneratedOutputCoin;
996
1043
  changeCoin?: GeneratedOutputCoin;
@@ -1000,17 +1047,20 @@ declare function prepareConfidentialTransferProofDual(parameters: PrepareConfide
1000
1047
  type PrepareConfidentialTransferProofParameters = {
1001
1048
  coin: CoinData;
1002
1049
  state: StateFile;
1003
- senderGAddress: string;
1004
1050
  senderPrivKeyScalarHex: string;
1005
1051
  depositorEphemeralKey: string;
1006
1052
  transferStroops: bigint;
1007
1053
  recipientPrivateAddressStpl1: string;
1008
1054
  selfPrivateAddressStpl1ForChange: string | undefined;
1009
1055
  tokenAddress: string;
1056
+ escrowSend?: TransferEscrowSend;
1057
+ escrowClaimantLimbs?: TransferEscrowClaimantLimbs;
1010
1058
  };
1011
1059
  type PrepareConfidentialTransferProofResult = {
1012
1060
  proof_hex: string;
1013
1061
  public_hex: string;
1062
+ ciphertext_hex?: string;
1063
+ output_note_ephemeral_scalars?: string[];
1014
1064
  applicationIdsPlaintext: KytApplicationIdHints;
1015
1065
  recipientCoin: GeneratedOutputCoin;
1016
1066
  changeCoin?: GeneratedOutputCoin;
@@ -1030,7 +1080,8 @@ interface RequestKytPassageForPoolInteractionInput {
1030
1080
  poolContract: string;
1031
1081
  proofHex: string;
1032
1082
  publicHex: string;
1033
- onboarding?: OnboardingPayload;
1083
+ ciphertextHex?: string;
1084
+ outputNoteEphemeralScalars?: string[];
1034
1085
  decryptedAuditSlots?: DecryptedKytAuditSlot[];
1035
1086
  applicationIdsPlaintext?: KytApplicationIdHints;
1036
1087
  networkPassphrase: string;
@@ -1048,4 +1099,106 @@ declare function runTtlPreflight(assembledTransaction: unknown): Promise<void>;
1048
1099
 
1049
1100
  declare function attachPoolStatePorts(transactEnvironment: StellarTransactEnvironment | undefined, state: StateBridgeAdapter): StellarTransactEnvironment | undefined;
1050
1101
 
1051
- export { type AlignedDepositSlot, type BuildTransferOnboardingAtExecuteInput, type CreateStellarPrivacyClientResult, type KytApplicationIdHints, KytInspectError, type LoadBrowserAssetsInput, type LoadPendingClaimsCountFromBackendInput, type LoadPendingClaimsFromBackendInput, MIN_CONFIDENTIAL_TRANSFER_STROOPS, PrivacyPoolService, type ProofResult, type ProofWithChange, type RequestKytPassageForPoolInteractionInput, type StellarAddress, type StellarAsset, type StellarAssetId, type StellarAssetsCatalog, type StellarAvailablePrivateRecordsFilter, type StellarBrowserAssets, type StellarBrowserPrivacyClientConfig, type StellarDeliverySyncState, type StellarIncomingDeliveriesFilter, type StellarIncomingDelivery, type StellarKytEnvironment, type StellarLeafEphemeral, type StellarNetworkConfig, type StellarOperationReceipt, type StellarPendingClaim, type StellarPendingClaimSource, type StellarPendingClaimsFilter, type StellarPendingClaimsPagination, type StellarPendingClaimsState, 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 TemporaryRecipientKeyMaterial, type TransferOnboardingRecipientNoteInput$1 as TransferOnboardingRecipientNoteInput, type TransferRecipientExecutionContext, type TransferTemporaryRecipientKey, ZERO_STROOPS, assetLegToTokenAddress, attachPoolStatePorts, buildOnboardingPayload, buildPoolTransactionAuditParameters, buildPrivateAddressSignMessage, buildTransferOnboardingAtExecute, configurePrivacyPoolService, createDefaultTransactEngine, createPrivacyPoolService, createStellarPolicyAdapterFromEnvironment, createStellarPrivacyClient, createStellarPrivacyClientFromResolvedConfig, decodePrivateAddress, encodePrivateAddress, encodePrivateAddressFromHexCoordinates, fetchAndMergeMerkleState, frDecimalToPaddedBytes32, generateRandomDepositScalarHex, generateTemporaryRecipientPrivateAddress, getPrivacyPoolService, isStellarPrivacyClient, listWalletPrivateAddressRecordsForOwnerFromStateSnapshot, listWalletPrivateAddressScalarsForOwnerFromStateSnapshot, loadDefaultStellarBrowserAssets, loadStellarBrowserAssets, parseAuditPublicKeyFromEnvHex, parseKytReasonCode, prepareConfidentialTransferProof, prepareConfidentialTransferProofDual, privateAddressSdk, readLeafEphemeralHex, readPrivateRecordsFromStateSnapshot, readWalletDefaultPrivateAddressNonceFromStateSnapshot, readWalletPrivateAddressRecordFromStateSnapshot, readWalletPrivateAddressScalarFromStateSnapshot, recipientPublicKeysDecimalFromPrivateAddress, requestKytPassageForPoolInteraction, resolvePoolApplicationId, resolveStellarPrivacyClientConfig, runTtlPreflight, stellarStateDefinitions, submitSorobanConfidentialTransfer, submitSorobanDeposit, tokenAddressToAssetLeg };
1102
+ declare function finalizeSpendOperationAtExecute(prepared: StellarPreparedOperation, environment: StellarTransactEnvironment, poolService: PrivacyPoolService): Promise<StellarPreparedOperation>;
1103
+
1104
+ declare const RELAY_TRANSACT_PACKAGE_VERSION_V1 = 1;
1105
+ declare const RELAY_TRANSACT_SUPPORTED_SIGNAL_COUNT = 93;
1106
+ declare const RELAY_TRANSACT_FIELD_BYTES = 32;
1107
+ declare const RELAY_TRANSACT_SIGNAL_PREFIX_BYTES = 4;
1108
+ declare const RELAY_SIGNAL_INDEX_NULLIFIER_0 = 0;
1109
+ declare const RELAY_SIGNAL_INDEX_NULLIFIER_1 = 1;
1110
+ declare const RELAY_SIGNAL_INDEX_STATE_ROOT = 82;
1111
+ declare const RELAY_SIGNAL_INDEX_WITHDRAW_ADDRESS_HI = 83;
1112
+ declare const RELAY_SIGNAL_INDEX_WITHDRAW_ADDRESS_LO = 84;
1113
+ declare const RELAY_SIGNAL_INDEX_ESCROW_RECIPIENT_HI = 85;
1114
+ declare const RELAY_SIGNAL_INDEX_ESCROW_RECIPIENT_LO = 86;
1115
+ declare const RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL_ASSET_HI = 87;
1116
+ declare const RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL_ASSET_LO = 88;
1117
+ declare const RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT_ASSET_HI = 89;
1118
+ declare const RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT_ASSET_LO = 90;
1119
+ declare const RELAY_SIGNAL_INDEX_PUBLIC_DEPOSIT = 91;
1120
+ declare const RELAY_SIGNAL_INDEX_PUBLIC_WITHDRAWAL = 92;
1121
+
1122
+ type RelayTransactPackageVersion = typeof RELAY_TRANSACT_PACKAGE_VERSION_V1;
1123
+ type RelayKeyVersionHints = [
1124
+ number | undefined,
1125
+ number | undefined,
1126
+ number | undefined,
1127
+ number | undefined
1128
+ ];
1129
+ type RelayTransactPackageV1 = {
1130
+ version: RelayTransactPackageVersion;
1131
+ poolSelector: string;
1132
+ zkConfigNonce: bigint;
1133
+ proofBytes: string;
1134
+ publicSignals: string;
1135
+ ciphertextBytes?: string;
1136
+ outputNoteEphemeralScalars?: string[];
1137
+ applicationIdHints: KytApplicationIdHints;
1138
+ escrowAuthorization?: string;
1139
+ keyVersionHints?: RelayKeyVersionHints;
1140
+ };
1141
+ type PrepareRelayTransactPackageInput = {
1142
+ poolSelector: string;
1143
+ proofBytes: string;
1144
+ publicSignals: string;
1145
+ ciphertextBytes?: string;
1146
+ outputNoteEphemeralScalars?: string[];
1147
+ applicationIdHints: KytApplicationIdHints;
1148
+ zkConfigNonce?: bigint;
1149
+ escrowAuthorization?: string;
1150
+ keyVersionHints?: RelayKeyVersionHints;
1151
+ };
1152
+
1153
+ declare function prepareRelayTransactPackage(input: PrepareRelayTransactPackageInput): RelayTransactPackageV1;
1154
+
1155
+ type PrepareRelayTransactPackageFromPreparedInput = {
1156
+ prepared: StellarPreparedOperation;
1157
+ poolSelector: string;
1158
+ zkConfigNonce?: bigint;
1159
+ keyVersionHints?: RelayKeyVersionHints;
1160
+ };
1161
+ declare function prepareRelayTransactPackageFromPrepared(input: PrepareRelayTransactPackageFromPreparedInput): RelayTransactPackageV1;
1162
+
1163
+ type RelayTransactPublicLegContext = {
1164
+ stateRoot: string;
1165
+ withdrawAddressHi: string;
1166
+ withdrawAddressLo: string;
1167
+ escrowRecipientHi: string;
1168
+ escrowRecipientLo: string;
1169
+ publicWithdrawalAssetHi: string;
1170
+ publicWithdrawalAssetLo: string;
1171
+ publicDepositAssetHi: string;
1172
+ publicDepositAssetLo: string;
1173
+ publicDepositAmount: string;
1174
+ publicWithdrawalAmount: string;
1175
+ };
1176
+ type RelayTransactSupportedProfile = {
1177
+ orderedNullifiers: [string, string];
1178
+ publicLegContext: RelayTransactPublicLegContext;
1179
+ };
1180
+ declare function readRelayTransactSupportedProfile(prepared: RelayTransactPackageV1): RelayTransactSupportedProfile;
1181
+
1182
+ declare const SUBMISSION_METHOD: {
1183
+ readonly direct: "direct";
1184
+ readonly relay: "relay";
1185
+ };
1186
+ type SubmissionMethod = (typeof SUBMISSION_METHOD)[keyof typeof SUBMISSION_METHOD];
1187
+ declare const ESCROW_SUBMISSION_REFUSAL: {
1188
+ readonly positivePublicDeposit: "escrow_positive_public_deposit";
1189
+ };
1190
+ type EscrowSubmissionRefusal = (typeof ESCROW_SUBMISSION_REFUSAL)[keyof typeof ESCROW_SUBMISSION_REFUSAL];
1191
+ type RequiredSubmissionMethodResult = {
1192
+ method: SubmissionMethod;
1193
+ } | {
1194
+ refused: EscrowSubmissionRefusal;
1195
+ };
1196
+ declare class EscrowSubmissionRefusedError extends Error {
1197
+ readonly reason: EscrowSubmissionRefusal;
1198
+ constructor(reason: EscrowSubmissionRefusal);
1199
+ }
1200
+ declare function isEscrowPreparedOperation(prepared: StellarPreparedOperation): boolean;
1201
+ declare function evaluateRequiredSubmissionMethod(prepared: StellarPreparedOperation, zkConfigNonce?: bigint): RequiredSubmissionMethodResult;
1202
+ declare function requiredSubmissionMethod(prepared: StellarPreparedOperation, zkConfigNonce?: bigint): SubmissionMethod;
1203
+
1204
+ 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 };