@keetanetwork/keetanet-client 0.14.14 → 0.16.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.
Files changed (238) hide show
  1. package/client/builder.d.ts +32 -6
  2. package/client/client_common_tests.d.ts +23 -4
  3. package/client/index-browser.d.ts +31 -14
  4. package/client/index-browser.js +3754 -2821
  5. package/client/index.d.ts +31 -14
  6. package/client/index.js +1458 -673
  7. package/docs/assets/hierarchy.js +1 -1
  8. package/docs/assets/search.js +1 -1
  9. package/docs/classes/KeetaNetSDK.Client.html +12 -12
  10. package/docs/classes/KeetaNetSDK.Referenced.Account.html +30 -30
  11. package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +1 -1
  12. package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +2 -2
  13. package/docs/classes/KeetaNetSDK.Referenced.Block.html +33 -30
  14. package/docs/classes/KeetaNetSDK.Referenced.BlockBuilder.html +2 -1
  15. package/docs/classes/KeetaNetSDK.Referenced.BlockHash.html +3 -2
  16. package/docs/classes/KeetaNetSDK.Referenced.BlockOperation.html +1 -1
  17. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationCREATE_IDENTIFIER.html +2 -2
  18. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMANAGE_CERTIFICATE.html +2 -2
  19. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMODIFY_PERMISSIONS.html +2 -2
  20. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationRECEIVE.html +2 -2
  21. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSEND.html +2 -2
  22. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_INFO.html +2 -2
  23. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_REP.html +2 -2
  24. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_MODIFY_BALANCE.html +2 -2
  25. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_SUPPLY.html +2 -2
  26. package/docs/classes/KeetaNetSDK.Referenced.Certificate.html +14 -8
  27. package/docs/classes/KeetaNetSDK.Referenced.CertificateBundle.html +1 -1
  28. package/docs/classes/KeetaNetSDK.Referenced.CertificateHash.html +3 -2
  29. package/docs/classes/KeetaNetSDK.Referenced.ECDSAKeyPair.html +1 -1
  30. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1KeyPair.html +1 -1
  31. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PrivateKey.html +3 -2
  32. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PublicKey.html +3 -2
  33. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1Signature.html +3 -2
  34. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1KeyPair.html +1 -1
  35. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PrivateKey.html +3 -2
  36. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PublicKey.html +3 -2
  37. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1Signature.html +3 -2
  38. package/docs/classes/KeetaNetSDK.Referenced.ED25519KeyPair.html +1 -1
  39. package/docs/classes/KeetaNetSDK.Referenced.ED25519PrivateKey.html +3 -2
  40. package/docs/classes/KeetaNetSDK.Referenced.ED25519PublicKey.html +3 -2
  41. package/docs/classes/KeetaNetSDK.Referenced.ED25519Signature.html +3 -2
  42. package/docs/classes/KeetaNetSDK.Referenced.ExternalKeyPair.html +1 -1
  43. package/docs/classes/KeetaNetSDK.Referenced.ExternalSet.html +1 -1
  44. package/docs/classes/KeetaNetSDK.Referenced.IdempotentKey.html +3 -2
  45. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKey.html +3 -2
  46. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +4 -4
  47. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetError.html +2 -2
  48. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetErrorBase.html +1 -1
  49. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerError.html +1 -1
  50. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerIdempotentKeyError.html +1 -1
  51. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerVoteError.html +1 -1
  52. package/docs/classes/KeetaNetSDK.Referenced.KeyInterface.html +1 -1
  53. package/docs/classes/KeetaNetSDK.Referenced.KeyStorage.html +3 -2
  54. package/docs/classes/KeetaNetSDK.Referenced.Ledger.html +2 -2
  55. package/docs/classes/KeetaNetSDK.Referenced.LedgerAtomicInterface.html +1 -1
  56. package/docs/classes/KeetaNetSDK.Referenced.LogTargetConsole.html +3 -2
  57. package/docs/classes/KeetaNetSDK.Referenced.Node.html +1 -1
  58. package/docs/classes/KeetaNetSDK.Referenced.P2PSwitch.html +6 -4
  59. package/docs/classes/KeetaNetSDK.Referenced.PendingAccount.html +1 -1
  60. package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
  61. package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +2 -2
  62. package/docs/classes/KeetaNetSDK.Referenced.PossiblyUnsignedBlock.html +38 -0
  63. package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +3 -2
  64. package/docs/classes/KeetaNetSDK.Referenced.Stats.html +1 -1
  65. package/docs/classes/KeetaNetSDK.Referenced.StatsPending.html +1 -1
  66. package/docs/classes/KeetaNetSDK.Referenced.UnsignedBlock.html +42 -0
  67. package/docs/classes/KeetaNetSDK.Referenced.UserClientBuilder.html +15 -3
  68. package/docs/classes/KeetaNetSDK.Referenced.Vote.html +2 -2
  69. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +12 -10
  70. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockHash.html +3 -2
  71. package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +2 -2
  72. package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +3 -2
  73. package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +2 -2
  74. package/docs/classes/KeetaNetSDK.Referenced.VoteQuote.html +2 -2
  75. package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +2 -2
  76. package/docs/classes/KeetaNetSDK.Referenced.VoteStaple.html +11 -9
  77. package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +3 -2
  78. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +3 -2
  79. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_certificate.CertificateBuilder.html +4 -2
  80. package/docs/classes/KeetaNetSDK.UserClient.html +33 -25
  81. package/docs/documents/GETTING-STARTED.html +3 -3
  82. package/docs/enums/KeetaNetSDK.Referenced.AccountKeyAlgorithm.html +8 -8
  83. package/docs/enums/KeetaNetSDK.Referenced.AdjustMethod.html +4 -4
  84. package/docs/enums/KeetaNetSDK.Referenced.OperationType.html +10 -10
  85. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_buffer.DecodeBase32.html +2 -2
  86. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_buffer.DecodeBase64URL.html +1 -0
  87. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_buffer.EncodeBase64URL.html +1 -0
  88. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_conversion.toJSONSerializable.html +1 -1
  89. package/docs/hierarchy.html +1 -1
  90. package/docs/interfaces/KeetaNetSDK.Referenced.ACLEntry.html +1 -1
  91. package/docs/interfaces/KeetaNetSDK.Referenced.ACLUpdate.html +1 -1
  92. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ExplicitContextTag.html +1 -1
  93. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ImplicitContextTag.html +1 -1
  94. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1Object.html +1 -1
  95. package/docs/interfaces/KeetaNetSDK.Referenced.BaseAccountInfo.html +10 -0
  96. package/docs/interfaces/KeetaNetSDK.Referenced.BaseExternalKeyPairFunctions.html +1 -1
  97. package/docs/interfaces/KeetaNetSDK.Referenced.BaseGenerationConfig.html +2 -2
  98. package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierAccountInfo.html +12 -0
  99. package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierCreateArguments.html +1 -1
  100. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
  101. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +2 -2
  102. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html +2 -2
  103. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html +2 -2
  104. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html +2 -2
  105. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSEND.html +2 -2
  106. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html +2 -2
  107. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html +2 -2
  108. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html +2 -2
  109. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html +2 -2
  110. package/docs/interfaces/KeetaNetSDK.Referenced.BlockOperationValidateContext.html +2 -2
  111. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1Canonical.html +1 -1
  112. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1JSON.html +2 -2
  113. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +1 -1
  114. package/docs/interfaces/KeetaNetSDK.Referenced.BuilderBlockOptions.html +2 -2
  115. package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
  116. package/docs/interfaces/KeetaNetSDK.Referenced.DisposableTimingHandle.html +1 -1
  117. package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256K1AccountInfo.html +10 -0
  118. package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256R1AccountInfo.html +10 -0
  119. package/docs/interfaces/KeetaNetSDK.Referenced.ED25519AccountInfo.html +10 -0
  120. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsNoEncryption.html +1 -1
  121. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsSupportsEncryption.html +1 -1
  122. package/docs/interfaces/KeetaNetSDK.Referenced.FeeAmountAndToken.html +2 -2
  123. package/docs/interfaces/KeetaNetSDK.Referenced.FeeAmountAndTokenJSON.html +2 -2
  124. package/docs/interfaces/KeetaNetSDK.Referenced.IdentifierCreateRequest.html +3 -2
  125. package/docs/interfaces/KeetaNetSDK.Referenced.InitialConfigSupply.html +2 -2
  126. package/docs/interfaces/KeetaNetSDK.Referenced.InstanceSet.html +1 -1
  127. package/docs/interfaces/KeetaNetSDK.Referenced.KVGenericOptionsType.html +1 -1
  128. package/docs/interfaces/KeetaNetSDK.Referenced.KVSetOptionsType.html +1 -1
  129. package/docs/interfaces/KeetaNetSDK.Referenced.LedgerConfig.html +4 -4
  130. package/docs/interfaces/KeetaNetSDK.Referenced.LedgerStorageAPI.html +5 -5
  131. package/docs/interfaces/KeetaNetSDK.Referenced.LogTarget.html +3 -2
  132. package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
  133. package/docs/interfaces/KeetaNetSDK.Referenced.MultiSigIdentifierCreateArguments.html +2 -2
  134. package/docs/interfaces/KeetaNetSDK.Referenced.MultisigAccountInfo.html +14 -0
  135. package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +2 -2
  136. package/docs/interfaces/KeetaNetSDK.Referenced.NetworkAccountInfo.html +12 -0
  137. package/docs/interfaces/KeetaNetSDK.Referenced.NodeConfig.html +5 -5
  138. package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
  139. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerBase.html +1 -1
  140. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerListener.html +1 -1
  141. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerRepBase.html +1 -1
  142. package/docs/interfaces/KeetaNetSDK.Referenced.PendingOperations.html +2 -2
  143. package/docs/interfaces/KeetaNetSDK.Referenced.PendingOperationsJSON.html +2 -2
  144. package/docs/interfaces/KeetaNetSDK.Referenced.PrincipalACLWithInfoParsed.html +3 -10
  145. package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.html +1 -1
  146. package/docs/interfaces/KeetaNetSDK.Referenced.PublishOptions.html +1 -1
  147. package/docs/interfaces/KeetaNetSDK.Referenced.RequestTokenReceiveEntry.html +1 -1
  148. package/docs/interfaces/KeetaNetSDK.Referenced.StorageAccountInfo.html +12 -0
  149. package/docs/interfaces/KeetaNetSDK.Referenced.TokenAccountInfo.html +14 -0
  150. package/docs/interfaces/KeetaNetSDK.Referenced.TokenNumericEntry.html +1 -1
  151. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientConfig.html +2 -2
  152. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientOptions.html +1 -1
  153. package/docs/interfaces/KeetaNetSDK.Referenced.VoteBundleConstructor.html +2 -2
  154. package/docs/interfaces/KeetaNetSDK.Referenced.VoteJSON.html +2 -2
  155. package/docs/interfaces/KeetaNetSDK.Referenced.VoteStapleJSON.html +2 -2
  156. package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
  157. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1BitString.html +1 -1
  158. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Date.html +1 -1
  159. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1OID.html +1 -1
  160. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Set.html +1 -1
  161. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1String.html +1 -1
  162. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Struct.html +1 -1
  163. package/docs/modules/KeetaNetSDK.Referenced.html +1 -1
  164. package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_buffer.html +1 -1
  165. package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_certificate.html +1 -1
  166. package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_helper.html +1 -1
  167. package/docs/types/KeetaNetSDK.Referenced.AccountInfo.html +1 -0
  168. package/docs/types/KeetaNetSDK.Referenced.AccountInfoForType.html +1 -0
  169. package/docs/types/KeetaNetSDK.Referenced.AccountInfoResponse.html +2 -2
  170. package/docs/types/KeetaNetSDK.Referenced.AccountInfoWithoutAccount.html +1 -0
  171. package/docs/types/KeetaNetSDK.Referenced.BlockJSONOptionalSigned.html +1 -0
  172. package/docs/types/KeetaNetSDK.Referenced.BlockV1JSONOptionalSigned.html +1 -0
  173. package/docs/types/KeetaNetSDK.Referenced.BlockV2JSONOptionalSigned.html +1 -0
  174. package/docs/types/KeetaNetSDK.Referenced.CertificateUpdate.html +1 -1
  175. package/docs/types/{KeetaNetSDK.Referenced.src_lib_utils_helper.DistributiveOmit.html → KeetaNetSDK.Referenced.DistributiveOmit.html} +1 -1
  176. package/docs/types/KeetaNetSDK.Referenced.GetAccountStateAPIResponseFormatted.html +5 -12
  177. package/docs/types/KeetaNetSDK.Referenced.IsTuple.html +1 -0
  178. package/docs/types/KeetaNetSDK.Referenced.JSONDepthLimit.html +1 -0
  179. package/docs/types/KeetaNetSDK.Referenced.KeyPairAccountInfo.html +1 -0
  180. package/docs/types/{KeetaNetSDK.Referenced.MultisigSignerField.html → KeetaNetSDK.Referenced.KeyPairKeyAlgorithm.html} +1 -1
  181. package/docs/types/KeetaNetSDK.Referenced.KeyUsage.html +1 -0
  182. package/docs/types/KeetaNetSDK.Referenced.KeyUsageBits.html +1 -0
  183. package/docs/types/KeetaNetSDK.Referenced.LogTargetConsoleConfig.html +3 -2
  184. package/docs/types/KeetaNetSDK.Referenced.MultisigSignerFieldJSON.html +1 -1
  185. package/docs/types/KeetaNetSDK.Referenced.NetworkAddress.html +1 -1
  186. package/docs/types/KeetaNetSDK.Referenced.StorageAddress.html +1 -1
  187. package/docs/types/KeetaNetSDK.Referenced.TokenAddress.html +1 -1
  188. package/docs/types/KeetaNetSDK.Referenced.TokenOrPending.html +1 -1
  189. package/docs/types/KeetaNetSDK.Referenced.UserEditableAccountInfo.html +1 -1
  190. package/docs/types/KeetaNetSDK.Referenced.VoteBuilderOptions.html +2 -2
  191. package/docs/types/KeetaNetSDK.Referenced.VoteOptions.html +7 -3
  192. package/docs/types/KeetaNetSDK.Referenced.VoteStapleInputs.html +2 -0
  193. package/docs/types/KeetaNetSDK.Referenced.VoteStapleOptions.html +9 -0
  194. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_certificate.CertificateBundleJSONOutput.html +1 -0
  195. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_certificate.CertificateJSONOutput.html +1 -1
  196. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_conversion.ToJSONSerializable.html +1 -1
  197. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_initial.BaseNetworkInfo.html +1 -1
  198. package/docs/variables/KeetaNetSDK.Referenced.BlockOperationASN1Schema.html +2 -2
  199. package/docs/variables/KeetaNetSDK.Referenced.allFullErrorCodes.html +1 -1
  200. package/docs/variables/KeetaNetSDK.Referenced.identifierKeyTypes.html +1 -1
  201. package/docs/variables/KeetaNetSDK.Referenced.keyUsageBits.html +1 -0
  202. package/lib/account.d.ts +2 -1
  203. package/lib/block/index.d.ts +363 -50
  204. package/lib/block/operations.d.ts +25 -21
  205. package/lib/error/block.d.ts +2 -2
  206. package/lib/error/index.d.ts +1 -1
  207. package/lib/error/vote.d.ts +2 -2
  208. package/lib/ledger/common.d.ts +3 -3
  209. package/lib/ledger/db_dynamodb.d.ts +4 -4
  210. package/lib/ledger/db_postgres.d.ts +2 -2
  211. package/lib/ledger/db_spanner.d.ts +3 -3
  212. package/lib/ledger/db_spanner_helper.d.ts +2 -2
  213. package/lib/ledger/db_sqlite.d.ts +2 -2
  214. package/lib/ledger/effects.d.ts +3 -1
  215. package/lib/ledger/index.d.ts +7 -7
  216. package/lib/ledger/types.d.ts +43 -9
  217. package/lib/log/common.d.ts +3 -0
  218. package/lib/log/internal.d.ts +22 -0
  219. package/lib/log/target_console.d.ts +6 -0
  220. package/lib/log/target_gcp.d.ts +6 -0
  221. package/lib/log/target_gcp.js +262 -77
  222. package/lib/log/target_https.d.ts +28 -0
  223. package/lib/log/target_https.js +6062 -0
  224. package/lib/p2p.d.ts +6 -2
  225. package/lib/utils/buffer.d.ts +7 -2
  226. package/lib/utils/certificate.d.ts +47 -30
  227. package/lib/utils/conversion.d.ts +18 -5
  228. package/lib/utils/external-keys/passkey-prf.d.ts +156 -0
  229. package/lib/utils/external-keys/passkey-prf.js +391 -0
  230. package/lib/utils/initial.d.ts +3 -2
  231. package/lib/utils/never.d.ts +4 -0
  232. package/lib/vote.d.ts +263 -61
  233. package/npm-shrinkwrap.json +5 -5
  234. package/package.json +2 -2
  235. package/version.d.ts +1 -1
  236. package/docs/interfaces/KeetaNetSDK.Referenced.AccountInfo.html +0 -14
  237. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATESerializable.html +0 -5
  238. package/docs/types/KeetaNetSDK.Referenced.ExportedJSONOperation.html +0 -1
@@ -2,11 +2,12 @@ import type { GenericAccount, IdentifierKeyAlgorithm } from '../lib/account';
2
2
  import { Account, AccountKeyAlgorithm } from '../lib/account';
3
3
  import type { AdjustMethod, BlockHash } from '../lib/block';
4
4
  import { Block } from '../lib/block';
5
- import { type BlockJSONOperations } from '../lib/block/operations';
6
- import type { AccountInfo } from '../lib/ledger/types';
5
+ import type { IdentifierCreateArguments, BlockJSONOperations } from '../lib/block/operations';
6
+ import type { AccountInfo, AccountInfoWithoutAccount } from '../lib/ledger/types';
7
7
  import type { AcceptedPermissionTypes } from '../lib/permissions';
8
8
  import type { UserClient, Client } from '.';
9
9
  import { Permissions } from '../lib/permissions';
10
+ import type { ToJSONSerializable } from '../lib/utils/conversion';
10
11
  import { Certificate, CertificateBundle } from '../lib/utils/certificate';
11
12
  import type { VoteStaple } from '../lib/vote';
12
13
  type GetPrevFunction = (acct: GenericAccount | string) => Promise<BlockHash | string | null | undefined>;
@@ -53,6 +54,7 @@ type PerAccount<T> = {
53
54
  interface IdentifierCreateRequest {
54
55
  type: IdentifierKeyAlgorithm;
55
56
  toResolve?: PendingAccount;
57
+ createArguments?: IdentifierCreateArguments;
56
58
  }
57
59
  type AccountOrPending<Type extends AccountKeyAlgorithm = AccountKeyAlgorithm> = Account<Type> | PendingAccount<Type>;
58
60
  type TokenOrPending = AccountOrPending<AccountKeyAlgorithm.TOKEN>;
@@ -89,7 +91,7 @@ export interface PendingOperations {
89
91
  method: AdjustMethod;
90
92
  permissions: Permissions;
91
93
  }[]>>;
92
- info?: AccountInfo;
94
+ info?: AccountInfoWithoutAccount;
93
95
  setRep?: Account;
94
96
  }
95
97
  export interface PendingOperationsJSON {
@@ -108,6 +110,7 @@ export interface PendingOperationsJSON {
108
110
  }[];
109
111
  createIdentifiers?: {
110
112
  type: IdentifierKeyAlgorithm;
113
+ createArguments?: ToJSONSerializable<IdentifierCreateArguments>;
111
114
  }[];
112
115
  tokenSupply?: string;
113
116
  adminModifyBalance?: {
@@ -159,7 +162,7 @@ export declare class PendingAccount<AccountType extends AccountKeyAlgorithm = Ac
159
162
  static GetValue<T extends AccountKeyAlgorithm>(data: AccountOrPending<T>): Account<T>;
160
163
  set account(account: Account<AccountType>);
161
164
  get account(): Account<AccountType>;
162
- toJSON(): Account<AccountType>;
165
+ toJSON(): import("../lib/account").PublicKeyStringMapping[AccountType];
163
166
  }
164
167
  type AllPending = [AccountSignerOptions, PendingOperations][];
165
168
  export declare class UserClientBuilder {
@@ -184,9 +187,32 @@ export declare class UserClientBuilder {
184
187
  modifyCertificate(method: ManageCertificateMethod, certificate: Certificate, intermediateCertificates?: CertificateBundle | null, options?: BuilderBlockOptions): void;
185
188
  modifyTokenSupply(amount: bigint, options?: BuilderBlockOptions): void;
186
189
  modifyTokenBalance(token: TokenOrPending, amount: bigint, isSet?: boolean, options?: BuilderBlockOptions): void;
187
- setInfo(info: AccountInfo, options?: BuilderBlockOptions): void;
190
+ setInfo(info: AccountInfoWithoutAccount, options?: BuilderBlockOptions): void;
188
191
  setRep(to: Account, options?: BuilderBlockOptions): void;
189
- generateIdentifier<Algo extends IdentifierKeyAlgorithm>(type: Algo, options?: BuilderBlockOptions): PendingAccount<Algo>;
192
+ /**
193
+ * Create a new identifier for the given arguments and add to the pending operations
194
+ *
195
+ * @param toCreate The arguments used to create the identifier (ex: multisig configuration)
196
+ * @param options The options to use for the request
197
+ * @return The identifier that was generated
198
+ */
199
+ generateIdentifier<CreateArguments extends IdentifierCreateArguments>(toCreate: CreateArguments, options?: BuilderBlockOptions): PendingAccount<CreateArguments['type']>;
200
+ /**
201
+ * Create a new identifier with the given type and add to the pending operations
202
+ *
203
+ * @param type The type of identifier to generate
204
+ * @param options The options to use for the request
205
+ * @return The identifier that was generated
206
+ */
207
+ generateIdentifier<CreateKeyType extends Exclude<IdentifierKeyAlgorithm, IdentifierCreateArguments['type']>>(type: CreateKeyType, options?: BuilderBlockOptions): PendingAccount<CreateKeyType>;
208
+ /**
209
+ * Create a new identifier and add to the pending operations
210
+ *
211
+ * @param toCreate The type of identifier or the arguments to create an identifier
212
+ * @param options The options to use for the request
213
+ * @return The identifier that was generated
214
+ */
215
+ generateIdentifier(toCreate: Exclude<IdentifierKeyAlgorithm, IdentifierCreateArguments['type']> | IdentifierCreateArguments, options?: BuilderBlockOptions): PendingAccount<IdentifierKeyAlgorithm>;
190
216
  get blocks(): Block[];
191
217
  get rendered(): boolean;
192
218
  }
@@ -29,7 +29,7 @@ export type NodeCreationOptions = {
29
29
  };
30
30
  export declare function setup(options?: NodeCreationOptions): Promise<{
31
31
  trustedKey: Account<AccountKeyAlgorithm.ECDSA_SECP256K1>;
32
- repKeys: Account<AccountKeyAlgorithm.ECDSA_SECP256K1 | AccountKeyAlgorithm.ED25519 | AccountKeyAlgorithm.ECDSA_SECP256R1>[];
32
+ repKeys: Account<import("../lib/account").KeyPairKeyAlgorithm>[];
33
33
  accounts: Account<AccountKeyAlgorithm.ECDSA_SECP256K1>[];
34
34
  nodes: LocalNode[];
35
35
  trustedClients: KeetaNet.UserClient[];
@@ -40,7 +40,8 @@ export declare function setup(options?: NodeCreationOptions): Promise<{
40
40
  cleanupFunctions: (() => Promise<void>)[];
41
41
  }>;
42
42
  declare function runBasicTests(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
43
- declare function runFeeBlockTests(_ignore_nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
43
+ declare function runSingleFeeTests(_ignore_nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
44
+ declare function runMultipleFeeTests(_ignore_nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
44
45
  declare function runBuilderStorageTests(_ignoreNodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
45
46
  declare function runMultiSigTests(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
46
47
  declare function runRecoverAccountTest(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
@@ -62,8 +63,8 @@ export declare const clientTests: {
62
63
  count: number;
63
64
  };
64
65
  };
65
- 'Fee Block Tests': {
66
- test: typeof runFeeBlockTests;
66
+ 'Single Fee Tests': {
67
+ test: typeof runSingleFeeTests;
67
68
  options: {
68
69
  p2pTested: boolean;
69
70
  count: number;
@@ -76,6 +77,24 @@ export declare const clientTests: {
76
77
  }[];
77
78
  };
78
79
  };
80
+ 'Multiple Fee Tests': {
81
+ test: typeof runMultipleFeeTests;
82
+ options: {
83
+ p2pTested: boolean;
84
+ count: number;
85
+ customNodeOptions: {
86
+ ledger: {
87
+ computeFeeFromBlocks: (ledger: Ledger, blocks: Block[], effects: ComputedEffectOfBlocks) => ({
88
+ amount: bigint;
89
+ token?: undefined;
90
+ } | {
91
+ amount: bigint;
92
+ token: Account<AccountKeyAlgorithm.TOKEN>;
93
+ })[];
94
+ };
95
+ }[];
96
+ };
97
+ };
79
98
  'Builder/Storage Test': {
80
99
  test: typeof runBuilderStorageTests;
81
100
  options: {
@@ -13,16 +13,17 @@ import type { GenericAccount, IdentifierKeyAlgorithm, NetworkAddress, TokenAddre
13
13
  import Account, { AccountKeyAlgorithm } from '../lib/account';
14
14
  import type { AdjustMethod } from '../lib/block';
15
15
  import Block, { BlockHash } from '../lib/block';
16
+ import type { DistributiveOmit } from '../lib/utils/helper';
16
17
  import type { P2PSwitchStatistics } from '../lib/p2p';
17
18
  import * as Config from '../config';
18
19
  import type { BaseNetworkInfo, BaseTokenInfo } from '../lib/utils/initial';
19
- import type { BuilderOptions, ManageCertificateMethod } from './builder';
20
+ import type { BuilderOptions, ManageCertificateMethod, PendingAccount } from './builder';
20
21
  import { UserClientBuilder } from './builder';
21
22
  import { KeetaNetError } from '../lib/error';
22
- import type { AccountInfo, GetAllBalancesResponse, ACLRow, LedgerStatistics } from '../lib/ledger/types';
23
+ import type { GetAllBalancesResponse, ACLRow, LedgerStatistics, AccountInfoForType, AccountInfoWithoutAccount } from '../lib/ledger/types';
23
24
  import type { LedgerSelector, LedgerStorage } from '../lib/ledger';
24
25
  import type { AcceptedPermissionTypes } from '../lib/permissions';
25
- import { type BlockOperations } from '../lib/block/operations';
26
+ import type { IdentifierCreateArguments, BlockOperations } from '../lib/block/operations';
26
27
  import { Certificate } from '../lib/utils/certificate';
27
28
  import { CertificateBundle, type CertificateHash } from '../lib/utils/certificate';
28
29
  import { VoteStaple, type VoteQuote } from '../lib/vote';
@@ -33,11 +34,11 @@ type VoteBlocksHash = Vote['blocksHash'];
33
34
  * @expandType AccountInfo
34
35
  * @expandType GetAllBalancesResponse
35
36
  */
36
- type GetAccountStateAPIResponseFormatted = {
37
+ type GetAccountStateAPIResponseFormatted<AccountType extends AccountKeyAlgorithm = AccountKeyAlgorithm> = {
37
38
  /**
38
39
  * The account for which this information is for
39
40
  */
40
- account: GenericAccount;
41
+ account: Account<AccountType>;
41
42
  /**
42
43
  * The current head block for the account, if there is one
43
44
  * this will be null if the account is not open
@@ -58,7 +59,7 @@ type GetAccountStateAPIResponseFormatted = {
58
59
  * Metadata for the account which can be set with the
59
60
  * {@link UserClient['setInfo']}() method
60
61
  */
61
- info: AccountInfo;
62
+ info: DistributiveOmit<AccountInfoForType<AccountType>, 'account'>;
62
63
  /**
63
64
  * The balances for the account
64
65
  * Each token will have a balance, even if it is 0
@@ -115,7 +116,7 @@ interface PrincipalACLWithInfoParsed {
115
116
  /**
116
117
  * Metadata for the `entity`
117
118
  */
118
- info: AccountInfo;
119
+ info: AccountInfoWithoutAccount;
119
120
  /**
120
121
  * The balances for the `entity`
121
122
  */
@@ -242,7 +243,7 @@ export declare class Client {
242
243
  * is defined by the `Client.DefaultLogger` property, but can be overridden
243
244
  * by the application.
244
245
  */
245
- logger: Pick<Console, "log" | "warn" | "error">;
246
+ logger: Pick<Console, "warn" | "error" | "log">;
246
247
  /**
247
248
  * Indication of whether or not this client has been destroyed.
248
249
  */
@@ -410,7 +411,7 @@ export declare class Client {
410
411
  * @param account The account to fetch the information for
411
412
  * @return The account information
412
413
  */
413
- getAccountInfo(account: GenericAccount | string, rep?: ClientRepresentative | 'ANY'): Promise<GetAccountStateAPIResponseFormatted>;
414
+ getAccountInfo<AccountType extends AccountKeyAlgorithm>(account: Account<AccountType> | string, rep?: ClientRepresentative | 'ANY'): Promise<GetAccountStateAPIResponseFormatted<AccountType>>;
414
415
  /**
415
416
  * Fetch the account information for multiple accounts. This will return
416
417
  * the account information including the current head block, representative,
@@ -672,14 +673,14 @@ export declare class Client {
672
673
  representativeCount: number;
673
674
  db: import("../lib/stats").DbStats;
674
675
  settlementTimes: import("../lib/stats").TimeStats;
675
- };
676
+ } & {};
676
677
  switch: {
677
678
  incomingMessages: number;
678
679
  outgoingMessagesPeerSuccess: number;
679
680
  outgoingMessagesPeerFailure: number;
680
681
  outgoingMessagesPeerFiltered: number;
681
682
  outgoingMessagesPeerFailureUngreeted: number;
682
- };
683
+ } & {};
683
684
  })[]>;
684
685
  /**
685
686
  * Update this client's view of the network representatives.
@@ -765,7 +766,7 @@ export declare class Client {
765
766
  moment: string;
766
767
  momentRange: number;
767
768
  checksum: string;
768
- }>;
769
+ } & {}>;
769
770
  /**
770
771
  * Get the version of the node for a given representative, if no
771
772
  * representative is specified then the version of the "best"
@@ -1084,7 +1085,7 @@ export declare class UserClient {
1084
1085
  * @param options The options to use for the request
1085
1086
  * @return The vote staple that was generated and whether it was able to be published
1086
1087
  */
1087
- setInfo(info: AccountInfo, options?: UserClientOptions): Promise<{
1088
+ setInfo(info: AccountInfoWithoutAccount, options?: UserClientOptions): Promise<{
1088
1089
  voteStaple: VoteStaple;
1089
1090
  publish: boolean;
1090
1091
  from: "direct";
@@ -1168,6 +1169,14 @@ export declare class UserClient {
1168
1169
  * @returns A list of quotes from representatives the client knows about
1169
1170
  */
1170
1171
  getQuotes(blocks: Block[]): Promise<VoteQuote[]>;
1172
+ /**
1173
+ * Generate a new identifier for the given type and publish the blocks
1174
+ *
1175
+ * @param toCreate The arguments used to create the identifier (ex: multisig configuration)
1176
+ * @param options The options to use for the request
1177
+ * @return The identifier that was generated
1178
+ */
1179
+ generateIdentifier<CreateArguments extends IdentifierCreateArguments>(toCreate: CreateArguments, options?: UserClientOptions): Promise<PendingAccount<CreateArguments['type']>>;
1171
1180
  /**
1172
1181
  * Generate a new identifier for the given type and publish the blocks
1173
1182
  *
@@ -1175,7 +1184,15 @@ export declare class UserClient {
1175
1184
  * @param options The options to use for the request
1176
1185
  * @return The identifier that was generated
1177
1186
  */
1178
- generateIdentifier(type: IdentifierKeyAlgorithm, options?: UserClientOptions): Promise<import("./builder").PendingAccount<AccountKeyAlgorithm.NETWORK | AccountKeyAlgorithm.TOKEN | AccountKeyAlgorithm.STORAGE | AccountKeyAlgorithm.MULTISIG>>;
1187
+ generateIdentifier<CreateKeyType extends Exclude<IdentifierKeyAlgorithm, IdentifierCreateArguments['type']>>(type: CreateKeyType, options?: UserClientOptions): Promise<PendingAccount<CreateKeyType>>;
1188
+ /**
1189
+ * Generate a new identifier and publish the blocks
1190
+ *
1191
+ * @param toCreate The type of identifier or the arguments to create an identifier
1192
+ * @param options The options to use for the request
1193
+ * @return The identifier that was generated
1194
+ */
1195
+ generateIdentifier(toCreate: Exclude<IdentifierKeyAlgorithm, IdentifierCreateArguments['type']> | IdentifierCreateArguments, options?: UserClientOptions): Promise<PendingAccount<IdentifierKeyAlgorithm>>;
1179
1196
  /**
1180
1197
  * Update the permissions for a given account. This will publish the
1181
1198
  * changes to the network.