@keetanetwork/keetanet-client 0.14.7 → 0.14.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/api/index.d.ts +1 -0
  2. package/api/node.d.ts +1 -0
  3. package/client/client_common_tests.d.ts +3 -3
  4. package/client/index-browser.d.ts +107 -12
  5. package/client/index-browser.js +4632 -4237
  6. package/client/index.d.ts +107 -12
  7. package/client/index.js +494 -63
  8. package/docs/assets/hierarchy.js +1 -1
  9. package/docs/assets/navigation.js +1 -1
  10. package/docs/assets/search.js +1 -1
  11. package/docs/classes/KeetaNetSDK.Client.html +16 -6
  12. package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +1 -1
  13. package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +1 -1
  14. package/docs/classes/KeetaNetSDK.Referenced.BlockHash.html +1 -1
  15. package/docs/classes/KeetaNetSDK.Referenced.BlockOperation.html +1 -1
  16. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationCREATE_IDENTIFIER.html +1 -1
  17. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMANAGE_CERTIFICATE.html +1 -1
  18. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMODIFY_PERMISSIONS.html +1 -1
  19. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationRECEIVE.html +1 -1
  20. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSEND.html +1 -1
  21. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_INFO.html +1 -1
  22. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_REP.html +1 -1
  23. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
  24. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_SUPPLY.html +1 -1
  25. package/docs/classes/KeetaNetSDK.Referenced.CertificateHash.html +1 -1
  26. package/docs/classes/KeetaNetSDK.Referenced.ECDSAKeyPair.html +1 -1
  27. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1KeyPair.html +1 -1
  28. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PrivateKey.html +1 -1
  29. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PublicKey.html +1 -1
  30. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1Signature.html +1 -1
  31. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1KeyPair.html +1 -1
  32. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PrivateKey.html +1 -1
  33. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PublicKey.html +1 -1
  34. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1Signature.html +1 -1
  35. package/docs/classes/KeetaNetSDK.Referenced.ED25519KeyPair.html +1 -1
  36. package/docs/classes/KeetaNetSDK.Referenced.ED25519PrivateKey.html +1 -1
  37. package/docs/classes/KeetaNetSDK.Referenced.ED25519PublicKey.html +1 -1
  38. package/docs/classes/KeetaNetSDK.Referenced.ED25519Signature.html +1 -1
  39. package/docs/classes/KeetaNetSDK.Referenced.ExternalKeyPair.html +1 -1
  40. package/docs/classes/KeetaNetSDK.Referenced.ExternalSet.html +1 -1
  41. package/docs/classes/KeetaNetSDK.Referenced.IdempotentKey.html +1 -1
  42. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKey.html +1 -1
  43. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +1 -1
  44. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetError.html +2 -2
  45. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetErrorBase.html +1 -1
  46. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerError.html +1 -1
  47. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerIdempotentKeyError.html +1 -1
  48. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerVoteError.html +1 -1
  49. package/docs/classes/KeetaNetSDK.Referenced.KeyInterface.html +1 -1
  50. package/docs/classes/KeetaNetSDK.Referenced.KeyStorage.html +1 -1
  51. package/docs/classes/KeetaNetSDK.Referenced.Log.html +1 -1
  52. package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
  53. package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +1 -1
  54. package/docs/classes/KeetaNetSDK.Referenced.RequestTiming.html +1 -1
  55. package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +1 -1
  56. package/docs/classes/KeetaNetSDK.Referenced.Stats.html +1 -1
  57. package/docs/classes/KeetaNetSDK.Referenced.StatsPending.html +1 -1
  58. package/docs/classes/KeetaNetSDK.Referenced.Vote.html +1 -1
  59. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +1 -1
  60. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockHash.html +1 -1
  61. package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +1 -1
  62. package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +1 -1
  63. package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +1 -1
  64. package/docs/classes/KeetaNetSDK.Referenced.VoteQuote.html +1 -1
  65. package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +1 -1
  66. package/docs/classes/KeetaNetSDK.Referenced.VoteStaple.html +1 -1
  67. package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +1 -1
  68. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_asn1.BufferStorageASN1.html +1 -1
  69. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.html +73 -2
  70. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +1 -1
  71. package/docs/classes/KeetaNetSDK.UserClient.html +42 -5
  72. package/docs/hierarchy.html +1 -1
  73. package/docs/interfaces/KeetaNetSDK.Referenced.ACLEntry.html +1 -1
  74. package/docs/interfaces/KeetaNetSDK.Referenced.ACLUpdate.html +1 -1
  75. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ExplicitContextTag.html +1 -1
  76. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ImplicitContextTag.html +1 -1
  77. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1Object.html +1 -1
  78. package/docs/interfaces/KeetaNetSDK.Referenced.AcceptSwapRequest.html +3 -0
  79. package/docs/interfaces/KeetaNetSDK.Referenced.BaseExternalKeyPairFunctions.html +1 -1
  80. package/docs/interfaces/KeetaNetSDK.Referenced.BaseGenerationConfig.html +1 -1
  81. package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierCreateArguments.html +1 -1
  82. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
  83. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +1 -1
  84. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html +1 -1
  85. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATESerializable.html +1 -1
  86. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html +1 -1
  87. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html +1 -1
  88. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSEND.html +1 -1
  89. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html +1 -1
  90. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html +1 -1
  91. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
  92. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html +1 -1
  93. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1Canonical.html +1 -1
  94. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +1 -1
  95. package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
  96. package/docs/interfaces/KeetaNetSDK.Referenced.CreateSwapRequest.html +3 -0
  97. package/docs/interfaces/KeetaNetSDK.Referenced.DisposableTimingHandle.html +1 -1
  98. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsNoEncryption.html +1 -1
  99. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsSupportsEncryption.html +1 -1
  100. package/docs/interfaces/KeetaNetSDK.Referenced.InitialConfigSupply.html +1 -1
  101. package/docs/interfaces/KeetaNetSDK.Referenced.InstanceSet.html +1 -1
  102. package/docs/interfaces/KeetaNetSDK.Referenced.KVGenericOptionsType.html +1 -1
  103. package/docs/interfaces/KeetaNetSDK.Referenced.KVSetOptionsType.html +1 -1
  104. package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
  105. package/docs/interfaces/KeetaNetSDK.Referenced.MultiSigIdentifierCreateArguments.html +1 -1
  106. package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +1 -1
  107. package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
  108. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerBase.html +1 -1
  109. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerListener.html +1 -1
  110. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerRepBase.html +1 -1
  111. package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.html +1 -1
  112. package/docs/interfaces/KeetaNetSDK.Referenced.PublishOptions.html +19 -4
  113. package/docs/interfaces/KeetaNetSDK.Referenced.RequestTokenReceiveEntry.html +1 -1
  114. package/docs/interfaces/KeetaNetSDK.Referenced.TokenNumericEntry.html +1 -1
  115. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientConfig.html +2 -2
  116. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientOptions.html +2 -2
  117. package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
  118. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1BitString.html +1 -1
  119. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Date.html +1 -1
  120. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1OID.html +1 -1
  121. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Set.html +1 -1
  122. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1String.html +1 -1
  123. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Struct.html +5 -0
  124. package/docs/modules/KeetaNetSDK.Referenced.html +1 -1
  125. package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_asn1.html +1 -1
  126. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1AnyJS.html +1 -1
  127. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.Schema.html +1 -1
  128. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.SchemaMap.html +1 -1
  129. package/docs/variables/KeetaNetSDK.Referenced.allFullErrorCodes.html +1 -1
  130. package/docs/variables/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1CheckUtilities.html +1 -1
  131. package/lib/error/client.d.ts +2 -2
  132. package/lib/error/index.d.ts +1 -1
  133. package/lib/ledger/db_common_tests.d.ts +1 -0
  134. package/lib/log/target_gcp.d.ts +8 -0
  135. package/lib/log/target_gcp.js +130 -100
  136. package/lib/node/timing.d.ts +3 -2
  137. package/lib/node/utils.d.ts +7 -1
  138. package/lib/utils/asn1.d.ts +109 -2
  139. package/lib/utils/helper_testing.d.ts +2 -1
  140. package/npm-shrinkwrap.json +157 -433
  141. package/package.json +6 -13
  142. package/version.d.ts +1 -1
package/api/index.d.ts CHANGED
@@ -85,6 +85,7 @@ declare const rootTree: {
85
85
  GET: (request: APIRequest, account: string | import("../lib/account").GenericAccount) => Promise<{
86
86
  account: import("../lib/account").GenericAccount;
87
87
  block: null | import("../lib/block").Block;
88
+ height: null | bigint;
88
89
  }>;
89
90
  };
90
91
  chain: {
package/api/node.d.ts CHANGED
@@ -97,6 +97,7 @@ declare function getBlockFromIdempotent(request: APIRequest, account: string, id
97
97
  declare function getAccountsHead(request: APIRequest, account: string | GenericAccount): Promise<{
98
98
  account: GenericAccount;
99
99
  block: null | Block;
100
+ height: null | bigint;
100
101
  }>;
101
102
  declare function getAccountBalance(request: APIRequest, account: string | GenericAccount, token: string | TokenAddress): Promise<{
102
103
  account: GenericAccount;
@@ -39,7 +39,7 @@ export declare function setup(options?: NodeCreationOptions): Promise<{
39
39
  params: ClientParams;
40
40
  cleanupFunctions: (() => Promise<void>)[];
41
41
  }>;
42
- declare function runBasicTests(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, _ignoreExpectErrorCode: any): Promise<void>;
42
+ declare function runBasicTests(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
43
43
  declare function runFeeBlockTests(_ignore_nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
44
44
  declare function runBuilderStorageTests(_ignoreNodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
45
45
  declare function runMultiSigTests(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
@@ -52,14 +52,14 @@ export declare const clientTests: {
52
52
  options: {
53
53
  p2pTested: boolean;
54
54
  count: number;
55
+ timeout: number;
55
56
  };
56
57
  };
57
- 'Basic Client Tests (No Node)': {
58
+ 'Non-Node Client Tests': {
58
59
  test: typeof runNonNodeTests;
59
60
  options: {
60
61
  p2pTested: boolean;
61
62
  count: number;
62
- timeout: number;
63
63
  };
64
64
  };
65
65
  'Fee Block Tests': {
@@ -125,16 +125,6 @@ interface CertificateWithIntermediatesResponse {
125
125
  certificate: Certificate;
126
126
  intermediates: CertificateBundle | null;
127
127
  }
128
- interface PublishOptions {
129
- /**
130
- * Client provided function to compute the fee block associated with any transactions
131
- */
132
- generateFeeBlock?: (staple: VoteStaple) => Promise<Block>;
133
- /**
134
- * Quotes if provided will be sent to the representative
135
- */
136
- quotes?: VoteQuote[];
137
- }
138
128
  /**
139
129
  */
140
130
  interface UserClientOptions {
@@ -167,6 +157,16 @@ interface UserClientOptions {
167
157
  */
168
158
  generateFeeBlock?: PublishOptions['generateFeeBlock'];
169
159
  }
160
+ interface PublishOptions extends UserClientOptions {
161
+ /**
162
+ * Client provided function to compute the fee block associated with any transactions
163
+ */
164
+ generateFeeBlock?: (staple: VoteStaple, options?: UserClientOptions) => Promise<Block>;
165
+ /**
166
+ * Quotes if provided will be sent to the representative
167
+ */
168
+ quotes?: VoteQuote[];
169
+ }
170
170
  /**
171
171
  * The set of options that are applicable to read-only operations
172
172
  */
@@ -242,7 +242,7 @@ export declare class Client {
242
242
  * is defined by the `Client.DefaultLogger` property, but can be overridden
243
243
  * by the application.
244
244
  */
245
- logger: Pick<Console, "log" | "error" | "warn">;
245
+ logger: Pick<Console, "log" | "warn" | "error">;
246
246
  /**
247
247
  * Indication of whether or not this client has been destroyed.
248
248
  */
@@ -347,6 +347,7 @@ export declare class Client {
347
347
  * The `blocks` builder will be computed using {@link computeBuilderBlocks} and then transmitted.
348
348
  *
349
349
  * @param builder The UserClientBuilder to compute and transmit transmit
350
+ * @param options User provided options {@link PublishOptions }
350
351
  * @param network The network to use for the builder (if using a builder)
351
352
  * @return The result of the publish operation
352
353
  */
@@ -486,6 +487,21 @@ export declare class Client {
486
487
  * @return The certificate and any intermediates or null if the certificate was not found
487
488
  */
488
489
  getCertificateByHash(account: GenericAccount | string, certificateHash: string | CertificateHash): Promise<CertificateWithIntermediatesResponse | null>;
490
+ /**
491
+ * Get the current head block for a given account. This will return the
492
+ * entire block, or null if the account has not created any blocks.
493
+ *
494
+ * An account with no blocks may still have a balance because other users
495
+ * may have sent tokens to it.
496
+ *
497
+ * @param account The account to get the head block for
498
+ * @param rep The representative to get the head block from -- this is generally "ANY" in which case the best representative will be used, but it is possible to request a specific representative
499
+ * @return The head block and height for the account or null if the account has not created any blocks
500
+ */
501
+ getAccountHeadInfo(account: GenericAccount | string, rep?: Config.Representative | 'ANY'): Promise<{
502
+ block: Block;
503
+ height: bigint;
504
+ } | null>;
489
505
  /**
490
506
  * Get the current head block for a given account. This will return the
491
507
  * entire block, or null if the account has not created any blocks.
@@ -725,8 +741,9 @@ export declare class Client {
725
741
  *
726
742
  * @param account Account to recover
727
743
  * @param publish Publish the recovered staple to the network (default is true)
744
+ * @param options options for publishing {@link PublishOptions }
728
745
  */
729
- recoverAccount(account: GenericAccount, publish?: boolean): Promise<VoteStaple | null>;
746
+ recoverAccount(account: GenericAccount, publish?: boolean, options?: PublishOptions): Promise<VoteStaple | null>;
730
747
  /**
731
748
  * Sync any partially-published account artifacts
732
749
  *
@@ -756,6 +773,25 @@ export declare class Client {
756
773
  node: string;
757
774
  }>;
758
775
  }
776
+ interface CreateSwapRequest {
777
+ from: {
778
+ account: GenericAccount;
779
+ token: TokenAddress;
780
+ amount: bigint;
781
+ };
782
+ to: {
783
+ account: GenericAccount;
784
+ token: TokenAddress;
785
+ amount: bigint;
786
+ };
787
+ }
788
+ interface AcceptSwapRequest {
789
+ block: Block;
790
+ expected?: {
791
+ token?: TokenAddress;
792
+ amount?: bigint;
793
+ };
794
+ }
759
795
  interface UserClientListenerTypes {
760
796
  change: ((data: GetAccountStateAPIResponseFormatted) => void);
761
797
  }
@@ -849,6 +885,32 @@ export declare class UserClient {
849
885
  * different contexts.
850
886
  */
851
887
  static isInstance: (obj: any, strict?: boolean) => obj is UserClient;
888
+ /**
889
+ * Initiate a swap request
890
+ *
891
+ * @param request {@link CreateSwapRequest}
892
+ * Defines what is being sent from {@link Account}, {@link TokenAddress} and Amount
893
+ * Defines what is being received from {@link Account}, {@link TokenAddress} and Converted Amount
894
+ * @param client either a UserClient instance or network and signer from which to create a UserClient
895
+ * @param options User client options (common options)
896
+ * @returns Swap {@link Block}
897
+ */
898
+ static createSwapRequest(request: CreateSwapRequest, client: UserClient | {
899
+ network: Config.Networks;
900
+ signer: Account;
901
+ }, options?: UserClientOptions): Promise<Block>;
902
+ /**
903
+ * Finalize a swap request
904
+ *
905
+ * @param request {@link AcceptSwapRequest} initial swap request block and optional expected token and amounts
906
+ * @param builderOrUserClient User Client Options or optional builder to add the new block too
907
+ * @returns Swap Blocks
908
+ */
909
+ static acceptSwapRequest(request: AcceptSwapRequest, builderOrUserClient: UserClient | {
910
+ network: Config.Networks;
911
+ signer: Account | null;
912
+ }, options?: UserClientOptions): Promise<Block[]>;
913
+ static acceptSwapRequest(request: AcceptSwapRequest, builderOrUserClient: UserClientBuilder): Promise<Block[]>;
852
914
  /**
853
915
  * Helper method to filter a list of vote staples into
854
916
  * a list of blocks and operations that are related to
@@ -965,6 +1027,21 @@ export declare class UserClient {
965
1027
  publish: boolean;
966
1028
  from: "publish-aid";
967
1029
  }>;
1030
+ /**
1031
+ * Transmit a set of blocks to the network. This will request short
1032
+ * votes and permanent votes for the blocks and then publish them to
1033
+ * the network. Optionally it will generate a fee block from a user
1034
+ * provided function if fees are required.
1035
+ *
1036
+ * @param blocks The blocks to transmit
1037
+ * @param options User provided options {@link PublishOptions }
1038
+ * @return The result of the publish operation
1039
+ */
1040
+ transmit(blocks: Block[], options?: PublishOptions): Promise<{
1041
+ voteStaple: VoteStaple;
1042
+ publish: boolean;
1043
+ from: "direct";
1044
+ }>;
968
1045
  /**
969
1046
  * Set the metadata for an account and publish the blocks to the
970
1047
  * network.
@@ -1222,6 +1299,24 @@ export declare class UserClient {
1222
1299
  * @param options User client options (common options)
1223
1300
  */
1224
1301
  sync(publish?: boolean, options?: UserClientOptions): Promise<VoteStaple | null>;
1302
+ /**
1303
+ * Initiate a swap request
1304
+ *
1305
+ * @param request {@link CreateSwapRequest}
1306
+ * Defines what is being sent from {@link Account}, {@link TokenAddress} and Amount
1307
+ * Defines what is being received from {@link Account}, {@link TokenAddress} and Converted Amount
1308
+ * @param options User client options (common options)
1309
+ * @returns Swap {@link Block}
1310
+ */
1311
+ createSwapRequest(request: CreateSwapRequest, options?: UserClientOptions): Promise<Block>;
1312
+ /**
1313
+ * Finalize a swap request
1314
+ *
1315
+ * @param request {@link AcceptSwapRequest} initial swap request block and optional expected token and amounts
1316
+ * @param builderOrOptions {@link UserClientBuilder} or {@link UserClientOptions} to use for building the swap block
1317
+ * @returns Blocks
1318
+ */
1319
+ acceptSwapRequest(request: AcceptSwapRequest, builderOrOptions?: UserClientBuilder | UserClientOptions): Promise<Block[]>;
1225
1320
  /**
1226
1321
  * Register a callback for change messages and set up a websocket filtered to our account only.
1227
1322
  * Also set up long timeout polling for changes in case the websocket misses a change update