@keetanetwork/keetanet-client 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/api/index.d.ts +23 -2
  2. package/api/node.d.ts +7 -1
  3. package/api/p2p.d.ts +13 -0
  4. package/api/vote.d.ts +10 -0
  5. package/benchmarking/test.d.ts +4 -0
  6. package/client/builder.d.ts +6 -4
  7. package/client/client_common_tests.d.ts +18 -0
  8. package/client/index-browser.d.ts +42 -14
  9. package/client/index-browser.js +2577 -881
  10. package/client/index.d.ts +42 -14
  11. package/client/index.js +2318 -663
  12. package/config/index.d.ts +2 -0
  13. package/docs/assets/hierarchy.js +1 -1
  14. package/docs/assets/navigation.js +1 -1
  15. package/docs/assets/search.js +1 -1
  16. package/docs/classes/KeetaNetSDK.Client.html +14 -10
  17. package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +2 -2
  18. package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +10 -0
  19. package/docs/classes/KeetaNetSDK.Referenced.Block.html +9 -5
  20. package/docs/classes/KeetaNetSDK.Referenced.BlockBuilder.html +3 -2
  21. package/docs/classes/KeetaNetSDK.Referenced.BlockHash.html +1 -1
  22. package/docs/classes/KeetaNetSDK.Referenced.BlockOperation.html +1 -1
  23. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationCREATE_IDENTIFIER.html +4 -4
  24. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMANAGE_CERTIFICATE.html +2 -2
  25. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMODIFY_PERMISSIONS.html +1 -1
  26. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationRECEIVE.html +1 -1
  27. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSEND.html +1 -1
  28. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_INFO.html +1 -1
  29. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_REP.html +1 -1
  30. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
  31. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_SUPPLY.html +1 -1
  32. package/docs/classes/KeetaNetSDK.Referenced.Certificate.html +26 -8
  33. package/docs/classes/KeetaNetSDK.Referenced.CertificateBundle.html +1 -1
  34. package/docs/classes/KeetaNetSDK.Referenced.CertificateHash.html +1 -1
  35. package/docs/classes/KeetaNetSDK.Referenced.ECDSAKeyPair.html +1 -1
  36. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1KeyPair.html +1 -1
  37. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PrivateKey.html +1 -1
  38. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PublicKey.html +1 -1
  39. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1Signature.html +1 -1
  40. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1KeyPair.html +1 -1
  41. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PrivateKey.html +1 -1
  42. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PublicKey.html +1 -1
  43. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1Signature.html +1 -1
  44. package/docs/classes/KeetaNetSDK.Referenced.ED25519KeyPair.html +1 -1
  45. package/docs/classes/KeetaNetSDK.Referenced.ED25519PrivateKey.html +1 -1
  46. package/docs/classes/KeetaNetSDK.Referenced.ED25519PublicKey.html +1 -1
  47. package/docs/classes/KeetaNetSDK.Referenced.ED25519Signature.html +1 -1
  48. package/docs/classes/KeetaNetSDK.Referenced.ExternalKeyPair.html +1 -1
  49. package/docs/classes/KeetaNetSDK.Referenced.ExternalSet.html +1 -1
  50. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKey.html +1 -1
  51. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +1 -1
  52. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetError.html +1 -1
  53. package/docs/classes/KeetaNetSDK.Referenced.KeyInterface.html +1 -1
  54. package/docs/classes/KeetaNetSDK.Referenced.KeyStorage.html +1 -1
  55. package/docs/classes/KeetaNetSDK.Referenced.Ledger.html +5 -2
  56. package/docs/classes/KeetaNetSDK.Referenced.LedgerAtomicInterface.html +3 -1
  57. package/docs/classes/KeetaNetSDK.Referenced.P2PSwitch.html +6 -2
  58. package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
  59. package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +31 -26
  60. package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +1 -1
  61. package/docs/classes/KeetaNetSDK.Referenced.UserClientBuilder.html +4 -3
  62. package/docs/classes/KeetaNetSDK.Referenced.Vote.html +8 -3
  63. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +3 -3
  64. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockHash.html +2 -2
  65. package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +10 -7
  66. package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +2 -2
  67. package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +32 -0
  68. package/docs/classes/KeetaNetSDK.Referenced.VoteQuote.html +34 -0
  69. package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +11 -0
  70. package/docs/classes/KeetaNetSDK.Referenced.VoteStaple.html +3 -3
  71. package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +2 -2
  72. package/docs/classes/KeetaNetSDK.Referenced.default.html +1 -1
  73. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.html +2 -2
  74. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +1 -1
  75. package/docs/classes/KeetaNetSDK.UserClient.html +7 -2
  76. package/docs/enums/KeetaNetSDK.Referenced.BaseFlag.html +2 -1
  77. package/docs/enums/KeetaNetSDK.Referenced.BasePermissionGroup.html +3 -1
  78. package/docs/enums/KeetaNetSDK.Referenced.BlockPurpose.html +3 -0
  79. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_asn1.isASN1Object.html +1 -0
  80. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_buffer.ZlibDeflateAsync.html +1 -0
  81. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_buffer.ZlibInflateAsync.html +1 -0
  82. package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_helper.bufferToBigInt.html +1 -0
  83. package/docs/hierarchy.html +1 -1
  84. package/docs/interfaces/KeetaNetSDK.PublishOptions.html +5 -0
  85. package/docs/interfaces/KeetaNetSDK.Referenced.ACLEntry.html +1 -1
  86. package/docs/interfaces/KeetaNetSDK.Referenced.ACLUpdate.html +1 -1
  87. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ExplicitContextTag.html +1 -1
  88. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ImplicitContextTag.html +1 -1
  89. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1Object.html +1 -1
  90. package/docs/interfaces/KeetaNetSDK.Referenced.AccountInfo.html +4 -2
  91. package/docs/interfaces/KeetaNetSDK.Referenced.BaseExternalKeyPairFunctions.html +1 -1
  92. package/docs/interfaces/KeetaNetSDK.Referenced.BaseGenerationConfig.html +1 -1
  93. package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierCreateArguments.html +3 -0
  94. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
  95. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +3 -3
  96. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html +1 -1
  97. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATESerializable.html +1 -1
  98. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html +1 -1
  99. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html +1 -1
  100. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSEND.html +1 -1
  101. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html +1 -1
  102. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html +1 -1
  103. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
  104. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html +1 -1
  105. package/docs/interfaces/{KeetaNetSDK.Referenced.BlockCanonical.html → KeetaNetSDK.Referenced.BlockV1Canonical.html} +1 -1
  106. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1JSON.html +12 -0
  107. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1UnsignedCanonical.html +11 -0
  108. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +11 -0
  109. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2JSON.html +12 -0
  110. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2UnsignedCanonical.html +11 -0
  111. package/docs/interfaces/KeetaNetSDK.Referenced.ComputedBlocksEffectFields.html +3 -2
  112. package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
  113. package/docs/interfaces/KeetaNetSDK.Referenced.CreateIdentifierRequest.html +4 -0
  114. package/docs/interfaces/KeetaNetSDK.Referenced.DisposableTimingHandle.html +1 -1
  115. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsNoEncryption.html +1 -1
  116. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsSupportsEncryption.html +1 -1
  117. package/docs/interfaces/KeetaNetSDK.Referenced.FeeAmountAndToken.html +5 -0
  118. package/docs/interfaces/KeetaNetSDK.Referenced.FeeAmountAndTokenJSON.html +4 -0
  119. package/docs/interfaces/KeetaNetSDK.Referenced.InitialConfigSupply.html +1 -1
  120. package/docs/interfaces/KeetaNetSDK.Referenced.InstanceSet.html +1 -1
  121. package/docs/interfaces/KeetaNetSDK.Referenced.KVGenericOptionsType.html +1 -1
  122. package/docs/interfaces/KeetaNetSDK.Referenced.KVSetOptionsType.html +1 -1
  123. package/docs/interfaces/KeetaNetSDK.Referenced.LedgerConfig.html +5 -3
  124. package/docs/interfaces/KeetaNetSDK.Referenced.LedgerStorageAPI.html +3 -3
  125. package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
  126. package/docs/interfaces/KeetaNetSDK.Referenced.MultiSigIdentifierCreateArguments.html +5 -0
  127. package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +3 -0
  128. package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
  129. package/docs/interfaces/KeetaNetSDK.Referenced.P2PConfig.html +4 -2
  130. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerBase.html +1 -1
  131. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerListener.html +1 -1
  132. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerRepBase.html +4 -2
  133. package/docs/interfaces/KeetaNetSDK.Referenced.PrincipalACLWithInfoParsed.html +1 -0
  134. package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.html +1 -1
  135. package/docs/interfaces/KeetaNetSDK.Referenced.RequestTokenReceiveEntry.html +1 -1
  136. package/docs/interfaces/KeetaNetSDK.Referenced.TokenNumericEntry.html +1 -1
  137. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientConfig.html +5 -3
  138. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientOptions.html +4 -2
  139. package/docs/interfaces/KeetaNetSDK.Referenced.VoteJSON.html +4 -2
  140. package/docs/interfaces/KeetaNetSDK.Referenced.VoteStapleJSON.html +2 -2
  141. package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
  142. package/docs/interfaces/KeetaNetSDK.Referenced.src_config.ValidationConfig.html +2 -2
  143. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1BitString.html +1 -1
  144. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Date.html +1 -1
  145. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1OID.html +1 -1
  146. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Set.html +1 -1
  147. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1String.html +1 -1
  148. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_helper.InstanceSetConstructor.html +2 -2
  149. package/docs/modules/KeetaNetSDK.Referenced.html +1 -1
  150. package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_asn1.html +1 -1
  151. package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_buffer.html +1 -1
  152. package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_helper.html +1 -1
  153. package/docs/modules/KeetaNetSDK.html +2 -2
  154. package/docs/types/KeetaNetSDK.Referenced.BlockASN1SchemaWithoutSignature.html +1 -0
  155. package/docs/types/KeetaNetSDK.Referenced.BlockJSON.html +1 -0
  156. package/docs/types/KeetaNetSDK.Referenced.BlockJSONIncomplete.html +1 -1
  157. package/docs/types/KeetaNetSDK.Referenced.BlockOperationASN1SchemaType.html +1 -0
  158. package/docs/types/KeetaNetSDK.Referenced.BlockOperationTypes.html +1 -0
  159. package/docs/types/KeetaNetSDK.Referenced.BlockSignature.html +2 -0
  160. package/docs/types/KeetaNetSDK.Referenced.BlockSignatureField.html +1 -0
  161. package/docs/types/KeetaNetSDK.Referenced.BlockSignerField.html +1 -0
  162. package/docs/types/KeetaNetSDK.Referenced.BlockSignerFieldJSON.html +1 -0
  163. package/docs/types/KeetaNetSDK.Referenced.BlockV1ASN1WithoutSignature.html +1 -0
  164. package/docs/types/KeetaNetSDK.Referenced.BlockV2ASN1WithoutSignature.html +1 -0
  165. package/docs/types/KeetaNetSDK.Referenced.CertificateBuilderParams.html +8 -3
  166. package/docs/types/KeetaNetSDK.Referenced.CertificateExtensionData.html +1 -0
  167. package/docs/types/KeetaNetSDK.Referenced.CertificateExtensions.html +2 -2
  168. package/docs/types/KeetaNetSDK.Referenced.ComputedEffectOfBlocks.html +2 -2
  169. package/docs/types/KeetaNetSDK.Referenced.GetAccountStateAPIResponseFormatted.html +1 -0
  170. package/docs/types/KeetaNetSDK.Referenced.HashNames.html +1 -0
  171. package/docs/types/KeetaNetSDK.Referenced.MultisigAddress.html +1 -0
  172. package/docs/types/KeetaNetSDK.Referenced.MultisigSignerField.html +1 -0
  173. package/docs/types/KeetaNetSDK.Referenced.MultisigSignerFieldJSON.html +1 -0
  174. package/docs/types/KeetaNetSDK.Referenced.OmitLastArrayValue.html +1 -0
  175. package/docs/types/KeetaNetSDK.Referenced.P2PUpdateOptions.html +1 -0
  176. package/docs/types/KeetaNetSDK.Referenced.StorageAddress.html +1 -0
  177. package/docs/types/KeetaNetSDK.Referenced.UserEditableAccountInfo.html +1 -0
  178. package/docs/types/KeetaNetSDK.Referenced.VoteBuilderOptions.html +4 -0
  179. package/docs/types/KeetaNetSDK.Referenced.src_config.NetworkConfig.html +1 -1
  180. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.Schema.html +1 -1
  181. package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.SchemaMap.html +1 -1
  182. package/docs/variables/KeetaNetSDK.Referenced.BlockErrorCodes.html +1 -1
  183. package/docs/variables/KeetaNetSDK.Referenced.BlockOperationASN1Schema.html +2 -0
  184. package/docs/variables/KeetaNetSDK.Referenced.LedgerErrorCodes.html +1 -1
  185. package/docs/variables/KeetaNetSDK.Referenced.VoteErrorCodes.html +1 -1
  186. package/docs/variables/KeetaNetSDK.Referenced.src_lib_utils_helper.crypto.html +1 -0
  187. package/lib/block/index.d.ts +104 -36
  188. package/lib/block/operations.d.ts +31 -3
  189. package/lib/error/block.d.ts +1 -1
  190. package/lib/error/ledger.d.ts +1 -1
  191. package/lib/error/vote.d.ts +1 -1
  192. package/lib/ledger/common.d.ts +14 -1
  193. package/lib/ledger/db_dynamodb.d.ts +2 -2
  194. package/lib/ledger/db_postgres.d.ts +1 -1
  195. package/lib/ledger/db_spanner.d.ts +1 -1
  196. package/lib/ledger/db_spanner_helper.d.ts +28 -5
  197. package/lib/ledger/db_sqlite.d.ts +1 -1
  198. package/lib/ledger/effects.d.ts +10 -9
  199. package/lib/ledger/index.d.ts +17 -8
  200. package/lib/ledger/types.d.ts +10 -1
  201. package/lib/node/utils.d.ts +5 -0
  202. package/lib/p2p.d.ts +32 -0
  203. package/lib/permissions.d.ts +5 -2
  204. package/lib/utils/asn1.d.ts +5 -4
  205. package/lib/utils/buffer.d.ts +4 -0
  206. package/lib/utils/certificate.d.ts +82 -15
  207. package/lib/utils/helper.d.ts +9 -1
  208. package/lib/vote.d.ts +106 -30
  209. package/package.json +1 -1
  210. package/version.d.ts +1 -1
  211. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSON.html +0 -11
  212. package/docs/interfaces/KeetaNetSDK.Referenced.BlockUnsignedCanonical.html +0 -11
  213. package/docs/types/KeetaNetSDK.Referenced.CreateIdentifierRequest.html +0 -6
@@ -44,6 +44,7 @@ type CertificateSchema = [
44
44
  signatureAlgorithm: ASN1.ASN1OID[],
45
45
  signature: ASN1.ASN1BitString
46
46
  ];
47
+ type HashNames = 'sha256' | 'sha3-256';
47
48
  type CertificateBuilderParams = {
48
49
  /**
49
50
  * Subject for the certificate, to store as the public key within the certificate
@@ -93,15 +94,45 @@ type CertificateBuilderParams = {
93
94
  includeCommonExts?: boolean;
94
95
  /**
95
96
  * Hashing library to use
97
+ *
98
+ * Because several different things are hashed this is
99
+ * @deprecated Use `hashParams` instead
96
100
  */
97
- hashLib: {
101
+ hashLib?: {
98
102
  hash: (...args: Parameters<typeof HashLib.Hash>) => ReturnType<typeof HashLib.Hash>;
99
103
  name: string;
100
104
  };
105
+ /**
106
+ * This option lets you control the hashing method used for the
107
+ * certificate signature as well as provide alternative implementations
108
+ */
109
+ hashParams: {
110
+ functions?: {
111
+ [name in HashNames]?: (...args: Parameters<typeof HashLib.Hash>) => ReturnType<typeof HashLib.Hash>;
112
+ };
113
+ defaults?: {
114
+ /**
115
+ * Default hashing function to use for the certificate signature
116
+ */
117
+ signature?: HashNames;
118
+ /**
119
+ * Default hashing function to use for the Subject Key Identifier
120
+ */
121
+ ski?: HashNames;
122
+ /**
123
+ * Default hashing function to use for the Authority Key Identifier
124
+ * (must match the issuer certificate's Subject Key Identifier
125
+ * hashing function)
126
+ */
127
+ aki?: HashNames;
128
+ };
129
+ };
101
130
  };
102
131
  export declare class CertificateBuilder {
103
132
  #private;
104
133
  constructor(params?: Partial<CertificateBuilderParams>);
134
+ private static hashName;
135
+ private static hash;
105
136
  /**
106
137
  * Construct an extension
107
138
  */
@@ -180,6 +211,18 @@ export declare class CertificateHash extends BufferStorage {
180
211
  toJSON(): CertificateHashString;
181
212
  toString(): CertificateHashString;
182
213
  }
214
+ export declare class CertificateBundle {
215
+ #private;
216
+ static isInstance: (obj: any, strict?: boolean) => obj is CertificateBundle;
217
+ constructor(input: CertificateBundle | Certificate[] | ArrayBuffer | Buffer | string | (ConstructorParameters<typeof Certificate>[0])[] | Set<Certificate>);
218
+ get bundleSize(): number;
219
+ getDER(): ArrayBuffer;
220
+ getDERBuffer(): Buffer;
221
+ getCertificates(): Certificate[];
222
+ toJSON(): {
223
+ certificates: string[];
224
+ };
225
+ }
183
226
  export type CertificateJSONOutput = ToJSONSerializable<ReturnType<Certificate['toJSON']>>;
184
227
  export declare class Certificate {
185
228
  #private;
@@ -187,6 +230,14 @@ export declare class Certificate {
187
230
  * The Certificate Builder
188
231
  */
189
232
  static readonly Builder: typeof CertificateBuilder;
233
+ /**
234
+ * The certificate bundle
235
+ */
236
+ static readonly Bundle: typeof CertificateBundle;
237
+ /**
238
+ * The certificate hash information
239
+ */
240
+ static readonly Hash: typeof CertificateHash;
190
241
  /**
191
242
  * The serial number of the certificate
192
243
  */
@@ -203,10 +254,24 @@ export declare class Certificate {
203
254
  * The Subject DN of the certificate as a string --- for informational purposes only
204
255
  */
205
256
  readonly subject: string;
257
+ /**
258
+ * The Subject DN of the certificate --- for informational purposes only
259
+ */
260
+ readonly subjectDN: ({
261
+ name: string;
262
+ value: string;
263
+ })[];
206
264
  /**
207
265
  * The Issuer DN of the certificate as a string --- for informational purposes only
208
266
  */
209
267
  readonly issuer: string;
268
+ /**
269
+ * The Issuer DN of the certificate --- for informational purposes only
270
+ */
271
+ readonly issuerDN: ({
272
+ name: string;
273
+ value: string;
274
+ })[];
210
275
  /**
211
276
  * The Subject of the certificate as a KeetaNet Account, derived from the
212
277
  * public key in the certificate
@@ -247,11 +312,11 @@ export declare class Certificate {
247
312
  /**
248
313
  * The complete SubjectDN
249
314
  */
250
- protected subjectDN: CertificateSchema[0][5];
315
+ protected subjectDNSet: CertificateSchema[0][5];
251
316
  /**
252
317
  * The complete IssuerDN
253
318
  */
254
- protected issuerDN: CertificateSchema[0][3];
319
+ protected issuerDNSet: CertificateSchema[0][3];
255
320
  /**
256
321
  * Object type ID for {@link Certificate.isCertificate}
257
322
  */
@@ -333,6 +398,12 @@ export declare class Certificate {
333
398
  * Get the issuer account
334
399
  */
335
400
  getIssuerAccount(): Account | null;
401
+ /**
402
+ * Get the extensions present in the certificate -- this is the raw
403
+ * extensions as they were parsed from the certificate, and may
404
+ * contain extensions that are not processed by this class.
405
+ */
406
+ getExtensions(): NonNullable<CertificateSchema[0][7]>['contains'] | undefined;
336
407
  private assertConstructed;
337
408
  /**
338
409
  * Compare the certificate with another certificate and return true if they
@@ -351,6 +422,14 @@ export declare class Certificate {
351
422
  * Get the certificate as a PEM encoded string
352
423
  */
353
424
  toPEM(): string;
425
+ /**
426
+ * The string representation of the certificate
427
+ * is a PEM encoded certificate -- this misses
428
+ * some of the internal details like chain
429
+ * and verified, but is usually what someone
430
+ * wants to see when they call toString()
431
+ */
432
+ toString(): string;
354
433
  /**
355
434
  * Compute a hash of the certificate
356
435
  */
@@ -396,16 +475,4 @@ export declare class Certificate {
396
475
  $hash: CertificateHash;
397
476
  };
398
477
  }
399
- export declare class CertificateBundle {
400
- #private;
401
- static isInstance: (obj: any, strict?: boolean) => obj is CertificateBundle;
402
- constructor(input: CertificateBundle | Certificate[] | ArrayBuffer | Buffer | string | (ConstructorParameters<typeof Certificate>[0])[] | Set<Certificate>);
403
- get bundleSize(): number;
404
- getDER(): ArrayBuffer;
405
- getDERBuffer(): Buffer;
406
- getCertificates(): Certificate[];
407
- toJSON(): {
408
- certificates: string[];
409
- };
410
- }
411
478
  export {};
@@ -1,6 +1,8 @@
1
+ import _crypto from 'crypto';
1
2
  import type { JSONSerializable } from './conversion';
2
3
  export type DistributiveOmit<T, P extends PropertyKey> = T extends T ? Omit<T, P> : never;
3
4
  export declare function bufferToArrayBuffer(input: Buffer): ArrayBuffer;
5
+ export declare function bufferToBigInt(buffer: Buffer): bigint;
4
6
  /**
5
7
  * Check if a value is an integer or a bigint.
6
8
  */
@@ -72,7 +74,13 @@ interface InstanceSet<Instance, Encoded = string> extends Set<Instance> {
72
74
  */
73
75
  export declare const AsyncDisposableStack: AsyncDisposableStackConstructor;
74
76
  export interface InstanceSetConstructor<Instance, Encoded = string> {
75
- new (data?: (Instance)[]): InstanceSet<Instance, Encoded>;
77
+ new (data?: Iterable<(Instance)>): InstanceSet<Instance, Encoded>;
76
78
  }
77
79
  export declare function setGenerator<P extends WithIsInstance<Instance>, E extends EncodeFunc<Instance, Encoded>, D extends DecodeFunc<Instance, Encoded>, Instance = InstanceType<P>, Encoded = ReturnType<E>>(parent: P, rawEncode: E, rawDecode: D): InstanceSetConstructor<Instance, Encoded>;
80
+ export declare const crypto: {
81
+ randomUUID: typeof _crypto.randomUUID | (() => string);
82
+ randomBytes: typeof _crypto.randomBytes;
83
+ createCipheriv: typeof _crypto.createCipheriv;
84
+ createDecipheriv: typeof _crypto.createDecipheriv;
85
+ };
78
86
  export {};
package/lib/vote.d.ts CHANGED
@@ -1,9 +1,22 @@
1
1
  import { Block, BlockHash } from './block';
2
- import type { BlockJSON, BlockJSONOutput } from './block';
3
- import Account, { AccountKeyAlgorithm } from './account';
2
+ import type { BlockJSON, BlockJSONOutput, BlockJSONOutputSerialized } from './block';
3
+ import Account, { AccountKeyAlgorithm, type StorageAddress, type TokenAddress } from './account';
4
4
  import type { ASN1Date } from './utils/asn1';
5
- import type { ToJSONSerializableOptions, ToJSONSerializable } from './utils/conversion';
5
+ import { type ToJSONSerializableOptions, type ToJSONSerializable } from './utils/conversion';
6
6
  import { BufferStorage } from './utils/buffer';
7
+ /**
8
+ * Representation of the expected fee for this vote
9
+ */
10
+ export interface FeeAmountAndToken {
11
+ amount: bigint;
12
+ payTo?: Account | StorageAddress;
13
+ token?: TokenAddress;
14
+ }
15
+ interface FeeAmountAndTokenJSON {
16
+ amount: string | bigint;
17
+ payTo?: string | Account | StorageAddress;
18
+ token?: string | TokenAddress;
19
+ }
7
20
  /**
8
21
  * Representation of the vote
9
22
  */
@@ -14,14 +27,16 @@ export interface VoteJSON {
14
27
  validityFrom: string | Date;
15
28
  validityTo: string | Date;
16
29
  signature: string | ArrayBuffer;
30
+ fee?: FeeAmountAndTokenJSON;
31
+ quote?: boolean;
17
32
  }
18
33
  type VoteJSONOutput = ToJSONSerializable<ReturnType<Vote['toJSON']>>;
19
34
  export interface VoteStapleJSON {
20
- blocks: BlockJSON[] | BlockJSONOutput[];
35
+ blocks: BlockJSON[] | BlockJSONOutput[] | BlockJSONOutputSerialized[];
21
36
  votes: VoteJSON[] | VoteJSONOutput[];
22
37
  }
23
38
  declare class VoteHash extends BufferStorage {
24
- static isInstance: (obj: any, strict?: boolean) => obj is VoteHash;
39
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteHash;
25
40
  readonly storageKind = "VoteHash";
26
41
  constructor(blockhash: ConstructorParameters<typeof BufferStorage>[0]);
27
42
  }
@@ -49,17 +64,32 @@ type CertificatePublicKeyInfo = [CertificateOID[], {
49
64
  type: 'bitstring';
50
65
  value: Buffer;
51
66
  }];
67
+ export type CertificateExtensionFeeEntry = [
68
+ quote: boolean,
69
+ amount: bigint,
70
+ payTo?: {
71
+ type: 'context';
72
+ value: 0;
73
+ kind: 'implicit';
74
+ contains: Buffer;
75
+ },
76
+ token?: {
77
+ type: 'context';
78
+ value: 1;
79
+ kind: 'implicit';
80
+ contains: Buffer;
81
+ }
82
+ ];
83
+ type CertificateExtensionData = [
84
+ CertificateOID,
85
+ boolean,
86
+ Buffer
87
+ ];
52
88
  type CertificateExtensions = {
53
89
  type: 'context';
54
90
  value: number;
55
91
  kind: 'explicit';
56
- contains: [
57
- [
58
- CertificateOID,
59
- boolean,
60
- Buffer
61
- ]
62
- ];
92
+ contains: CertificateExtensionData[];
63
93
  };
64
94
  type CertificateSchema = [
65
95
  version: CertificateVersionInfo,
@@ -99,7 +129,7 @@ export declare class VoteBlockHashMap<ValueType = unknown> implements Map<VoteBl
99
129
  * VoteBlockHash.
100
130
  */
101
131
  export declare class VoteBlockHash extends BufferStorage {
102
- static isInstance: (obj: any, strict?: boolean) => obj is VoteBlockHash;
132
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteBlockHash;
103
133
  static readonly Map: typeof VoteBlockHashMap;
104
134
  readonly storageKind = "VoteBlockHash";
105
135
  get hashFunctionName(): string;
@@ -117,7 +147,16 @@ type VoteOptions = {
117
147
  */
118
148
  now?: Date;
119
149
  };
120
- export declare class PossiblyExpiredVote {
150
+ /**
151
+ * Options for Vote Builder
152
+ */
153
+ type VoteBuilderOptions = {
154
+ /**
155
+ * Fee amount to add to the vote
156
+ */
157
+ fee?: FeeAmountAndToken;
158
+ };
159
+ declare class VoteLikeBase {
121
160
  #private;
122
161
  readonly issuer: Account;
123
162
  readonly serial: bigint;
@@ -125,6 +164,9 @@ export declare class PossiblyExpiredVote {
125
164
  readonly validityFrom: Date;
126
165
  readonly validityTo: Date;
127
166
  readonly signature: ArrayBuffer;
167
+ readonly fee: FeeAmountAndToken | undefined;
168
+ readonly quote: boolean | undefined;
169
+ protected static expectedQuoteValue: boolean;
128
170
  readonly $trusted: boolean;
129
171
  readonly $permanent: boolean;
130
172
  readonly $uid: string;
@@ -132,18 +174,22 @@ export declare class PossiblyExpiredVote {
132
174
  protected static allowedSlop: number;
133
175
  protected static permanentVoteThreshold: number;
134
176
  static Staple: typeof VoteStaple;
135
- static Builder: typeof VoteBuilder;
177
+ static Builder: typeof BaseVoteBuilder;
136
178
  static readonly VoteBlocksHash: typeof VoteBlockHash;
137
- static isInstance: (obj: any, strict?: boolean) => obj is PossiblyExpiredVote;
179
+ static Quote: typeof VoteQuote;
180
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteLikeBase;
181
+ protected getClass<T extends typeof VoteLikeBase>(): T;
138
182
  static isValidJSON(voteJSON: VoteJSON | VoteJSONOutput): voteJSON is VoteJSON | VoteJSONOutput;
139
- static fromJSON(voteJSON: VoteJSON | VoteJSONOutput, options?: VoteOptions): PossiblyExpiredVote | Vote;
140
- constructor(vote: Buffer | ArrayBuffer | PossiblyExpiredVote | Uint8Array | string | VoteJSON | VoteJSONOutput, options?: VoteOptions);
183
+ static fromJSON<T extends typeof VoteLikeBase = typeof VoteLikeBase>(this: T, voteJSON: VoteJSON | VoteJSONOutput, options?: VoteOptions): InstanceType<T>;
184
+ constructor(vote: Buffer | ArrayBuffer | VoteLikeBase | Uint8Array | string | VoteJSON | VoteJSONOutput, options?: VoteOptions);
141
185
  toBytes(): ArrayBuffer;
142
186
  get hash(): VoteHash;
143
187
  get blocksHash(): VoteBlockHash;
144
188
  toString(): string;
145
189
  toJSON(options?: ToJSONSerializableOptions): {
146
190
  $binary?: string;
191
+ fee?: FeeAmountAndTokenJSON;
192
+ quote?: boolean;
147
193
  issuer: Account<AccountKeyAlgorithm.ECDSA_SECP256K1 | AccountKeyAlgorithm.ED25519 | AccountKeyAlgorithm.ECDSA_SECP256R1>;
148
194
  serial: bigint;
149
195
  blocks: BlockHash[];
@@ -158,21 +204,36 @@ export declare class PossiblyExpiredVote {
158
204
  protected expirationCheckMoment(): number;
159
205
  get expired(): boolean;
160
206
  }
207
+ export declare class PossiblyExpiredVote extends VoteLikeBase {
208
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is PossiblyExpiredVote;
209
+ constructor(vote: Buffer | ArrayBuffer | VoteLikeBase | string | VoteJSON | VoteJSONOutput, options?: VoteOptions);
210
+ }
161
211
  /**
162
212
  * A vote is a certificate issued indicating that the issuer "vouches" for the
163
213
  * blocks specified will fit into the ledger of the operator/issuer.
164
214
  */
165
215
  export declare class Vote extends PossiblyExpiredVote {
216
+ static Builder: typeof VoteBuilder;
166
217
  readonly possiblyExpired = false;
167
- static isInstance: (obj: any, strict?: boolean) => obj is Vote;
168
- constructor(vote: Buffer | ArrayBuffer | Vote | PossiblyExpiredVote | string | VoteJSON | VoteJSONOutput, options?: VoteOptions);
218
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is Vote;
219
+ constructor(vote: Buffer | ArrayBuffer | VoteLikeBase | string | VoteJSON | VoteJSONOutput, options?: VoteOptions);
220
+ }
221
+ /**
222
+ * A VoteQuote is a certificate issued indicating what the issuer will charge for fees
223
+ */
224
+ export declare class VoteQuote extends VoteLikeBase {
225
+ static Builder: typeof VoteQuoteBuilder;
226
+ protected static expectedQuoteValue: boolean;
227
+ readonly isVoteQuote = true;
228
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteQuote;
229
+ constructor(vote: Buffer | ArrayBuffer | VoteLikeBase | string | VoteJSON | VoteJSONOutput, options?: VoteOptions);
169
230
  }
170
231
  /**
171
232
  * A vote staple is a distributable block consisting of one or more blocks
172
233
  * and one or more votes.
173
234
  */
174
235
  declare class VoteStapleHash extends BufferStorage {
175
- static isInstance: (obj: any, strict?: boolean) => obj is VoteStapleHash;
236
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteStapleHash;
176
237
  readonly storageKind = "VoteStapleHash";
177
238
  get hashFunctionName(): string;
178
239
  constructor(stapleHash: ConstructorParameters<typeof BufferStorage>[0]);
@@ -191,7 +252,7 @@ export declare class VoteBlockBundle {
191
252
  readonly votes: Vote[];
192
253
  readonly blocks: Block[];
193
254
  static readonly VoteBlockHash: typeof VoteBlockHash;
194
- static isInstance: (obj: any, strict?: boolean) => obj is VoteBlockBundle;
255
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteBlockBundle;
195
256
  /**
196
257
  * Construct a new vote bundle from votes and blocks
197
258
  */
@@ -243,6 +304,8 @@ export declare class VoteBlockBundle {
243
304
  $binary?: string;
244
305
  votes: {
245
306
  $binary?: string;
307
+ fee?: FeeAmountAndTokenJSON;
308
+ quote?: boolean;
246
309
  issuer: Account<AccountKeyAlgorithm.ECDSA_SECP256K1 | AccountKeyAlgorithm.ED25519 | AccountKeyAlgorithm.ECDSA_SECP256R1>;
247
310
  serial: bigint;
248
311
  blocks: BlockHash[];
@@ -256,12 +319,14 @@ export declare class VoteBlockBundle {
256
319
  }[];
257
320
  blocks: {
258
321
  $binary?: string;
259
- version: 1;
322
+ signature?: string;
323
+ signatures?: string[];
324
+ version: 1 | 2;
260
325
  date: Date;
261
326
  previous: BlockHash;
262
327
  account: import("./account").GenericAccount;
263
- signer: Account<AccountKeyAlgorithm.ECDSA_SECP256K1 | AccountKeyAlgorithm.ED25519 | AccountKeyAlgorithm.ECDSA_SECP256R1>;
264
- signature: string;
328
+ purpose: import("./block").BlockPurpose;
329
+ signer: Account | [import("./account").MultisigAddress, any[]];
265
330
  network: bigint;
266
331
  subnet: bigint | undefined;
267
332
  operations: import("./block/operations").ExportedJSONOperation[];
@@ -271,21 +336,32 @@ export declare class VoteBlockBundle {
271
336
  };
272
337
  }
273
338
  export declare class VoteStaple extends VoteBlockBundle {
274
- static isInstance: (obj: any, strict?: boolean) => obj is VoteStaple;
339
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteStaple;
275
340
  constructor(votesStapled: ArrayBuffer | Buffer | VoteStapleJSON | string, voteOptions?: VoteOptions);
276
341
  }
277
- export declare class VoteBuilder {
342
+ export declare class BaseVoteBuilder {
278
343
  #private;
279
- static isInstance: (obj: any, strict?: boolean) => obj is VoteBuilder;
280
- constructor(account: Account, blocks?: (Block | BlockHash)[]);
344
+ protected quote: boolean;
345
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is BaseVoteBuilder;
346
+ constructor(account: Account, blocks?: (Block | BlockHash)[], options?: VoteBuilderOptions);
281
347
  addBlocks(blocks: (Block | BlockHash | string)[]): void;
282
348
  addBlock(block: Block | BlockHash | string): void;
349
+ addFee(feeInput: FeeAmountAndTokenJSON): void;
283
350
  generateVoteData(serial: bigint, validTo: Date, validFrom: Date): {
284
351
  voteData: ArrayBuffer;
285
352
  tbsCertificate: CertificateSchema;
286
353
  signatureInfo: CertificateOID[];
287
354
  };
288
- createVote(voteData: ArrayBuffer, tbsCertificate: CertificateSchema, signatureInfo: CertificateOID[], signature: BufferStorage, voteOptions?: VoteOptions): Vote;
355
+ createVote(voteData: ArrayBuffer, tbsCertificate: CertificateSchema, signatureInfo: CertificateOID[], signature: BufferStorage): ArrayBuffer;
356
+ protected generate(serial: bigint, validTo: Date | null, validFrom?: Date): Promise<ArrayBuffer>;
357
+ }
358
+ export declare class VoteBuilder extends BaseVoteBuilder {
359
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteBuilder;
289
360
  seal(serial: bigint, validTo: Date | null, validFrom?: Date, voteOptions?: VoteOptions): Promise<Vote>;
290
361
  }
362
+ export declare class VoteQuoteBuilder extends BaseVoteBuilder {
363
+ static readonly isInstance: (obj: any, strict?: boolean) => obj is VoteQuoteBuilder;
364
+ protected quote: boolean;
365
+ seal(serial: bigint, validTo: Date | null, validFrom?: Date, voteOptions?: VoteOptions): Promise<VoteQuote>;
366
+ }
291
367
  export default Vote;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@keetanetwork/keetanet-client",
3
3
  "repository": "https://github.com/keetanetwork/node.git",
4
- "version": "0.12.0",
4
+ "version": "0.14.0",
5
5
  "description": "KeetaNet Client TypeScript Reference Implementation",
6
6
  "files": [
7
7
  "**/*.js",
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "0.12.0+g0baa5ce2aac600e17a0fe832eadebcacebe23bf1";
1
+ export declare const version = "0.14.0+g8b0bdc16c0cba85135437a9ffb3a8cea2dae170d";
2
2
  export default version;
@@ -1,11 +0,0 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>BlockJSON | @keetanetwork/keetanet-client</title><meta name="description" content="Documentation for @keetanetwork/keetanet-client"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script><link rel="stylesheet" href="../assets/typedoc-github-style.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title"><img src="../assets/logo-keeta-light.svg" alt="Keeta Logo" class="keeta-logo-light" width="50" height="20"/><img src="../assets/logo-keeta-dark.svg" alt="Keeta Logo" class="keeta-logo-dark" width="50" height="20"/>@keetanetwork/keetanet-client</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.9421 17.0578L14.0304 13.1469C15.1642 11.7857 15.7295 10.0398 15.6089 8.27245C15.4882 6.50506 14.6908 4.85223 13.3825 3.65779C12.0743 2.46335 10.3559 1.81926 8.58486 1.85951C6.81382 1.89976 5.12647 2.62125 3.87383 3.87389C2.62118 5.12653 1.89969 6.81388 1.85944 8.58493C1.8192 10.356 2.46328 12.0744 3.65772 13.3826C4.85217 14.6909 6.50499 15.4883 8.27238 15.6089C10.0398 15.7296 11.7856 15.1642 13.1468 14.0305L17.0577 17.9422C17.1158 18.0003 17.1848 18.0463 17.2606 18.0777C17.3365 18.1092 17.4178 18.1253 17.4999 18.1253C17.5821 18.1253 17.6634 18.1092 17.7392 18.0777C17.8151 18.0463 17.8841 18.0003 17.9421 17.9422C18.0002 17.8841 18.0463 17.8152 18.0777 17.7393C18.1091 17.6634 18.1253 17.5821 18.1253 17.5C18.1253 17.4179 18.1091 17.3366 18.0777 17.2607C18.0463 17.1848 18.0002 17.1159 17.9421 17.0578ZM3.12493 8.75C3.12493 7.63748 3.45483 6.54994 4.07292 5.62492C4.691 4.69989 5.56951 3.97892 6.59734 3.55318C7.62517 3.12743 8.75617 3.01604 9.84732 3.23308C10.9385 3.45012 11.9407 3.98585 12.7274 4.77252C13.5141 5.55919 14.0498 6.56147 14.2669 7.65262C14.4839 8.74376 14.3725 9.87476 13.9468 10.9026C13.521 11.9304 12.8 12.8089 11.875 13.427C10.95 14.0451 9.86245 14.375 8.74993 14.375C7.2586 14.3733 5.82882 13.7802 4.77429 12.7256C3.71975 11.6711 3.12659 10.2413 3.12493 8.75Z" fill="var(--color-icon-text)"></path></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><rect x="1" y="3" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-icon-text)"></rect></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/KeetaNetSDK.html">KeetaNetSDK</a></li><li><a href="../modules/KeetaNetSDK.Referenced.html">Referenced</a></li><li><a href="" aria-current="page">BlockJSON</a></li></ul><h1>Interface BlockJSON</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Representation of the block</p>
2
- </div><div class="tsd-comment tsd-typography"></div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">BlockJSON</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#account">account</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <a href="../types/KeetaNetSDK.Referenced.GenericAccount.html" class="tsd-signature-type tsd-kind-type-alias">GenericAccount</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#date">date</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Date</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#network">network</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">bigint</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#operations">operations</a><span class="tsd-signature-symbol">:</span><br/>        <span class="tsd-signature-symbol">|</span> <a href="../types/KeetaNetSDK.Referenced.BlockOperations.html" class="tsd-signature-type tsd-kind-type-alias">BlockOperations</a><span class="tsd-signature-symbol">[]</span><br/>        <span class="tsd-signature-symbol">|</span> (<br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationSEND.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationSEND</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationSET_REP</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationSET_INFO</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationMODIFY_PERMISSIONS</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationCREATE_IDENTIFIER</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationTOKEN_ADMIN_SUPPLY</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationRECEIVE</a><br/>            <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationMANAGE_CERTIFICATE</a><br/>        )<span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#previous">previous</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><br/>    <span class="tsd-signature-symbol">|</span> <a href="../classes/KeetaNetSDK.Referenced.BlockHash.html" class="tsd-signature-type tsd-kind-class">BlockHash</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#signature">signature</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Buffer</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#signer">signer</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <a href="../classes/KeetaNetSDK.Referenced.Account.html" class="tsd-signature-type tsd-kind-class">Account</a><span class="tsd-signature-symbol">&lt;</span><a href="../modules/KeetaNetSDK.Referenced.html#ecdsa_secp256k1" class="tsd-signature-type tsd-kind-enum-member">ECDSA_SECP256K1</a> <span class="tsd-signature-symbol">|</span> <a href="../modules/KeetaNetSDK.Referenced.html#ed25519" class="tsd-signature-type tsd-kind-enum-member">ED25519</a> <span class="tsd-signature-symbol">|</span> <a href="../modules/KeetaNetSDK.Referenced.html#ecdsa_secp256r1" class="tsd-signature-type tsd-kind-enum-member">ECDSA_SECP256R1</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#subnet">subnet</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">bigint</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#version">version</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">1</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#account" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>account</span></a>
3
- <a href="#date" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>date</span></a>
4
- <a href="#network" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>network</span></a>
5
- <a href="#operations" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>operations</span></a>
6
- <a href="#previous" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>previous</span></a>
7
- <a href="#signature" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>signature</span></a>
8
- <a href="#signer" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>signer</span></a>
9
- <a href="#subnet" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>subnet?</span></a>
10
- <a href="#version" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>version</span></a>
11
- </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="account"><span>account</span><a href="#account" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">account</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <a href="../types/KeetaNetSDK.Referenced.GenericAccount.html" class="tsd-signature-type tsd-kind-type-alias">GenericAccount</a></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="date"><span>date</span><a href="#date" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">date</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Date</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="network"><span>network</span><a href="#network" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">network</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">bigint</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="operations"><span>operations</span><a href="#operations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">operations</span><span class="tsd-signature-symbol">:</span><br/>    <span class="tsd-signature-symbol">|</span> <a href="../types/KeetaNetSDK.Referenced.BlockOperations.html" class="tsd-signature-type tsd-kind-type-alias">BlockOperations</a><span class="tsd-signature-symbol">[]</span><br/>    <span class="tsd-signature-symbol">|</span> (<br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationSEND.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationSEND</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationSET_REP</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationSET_INFO</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationMODIFY_PERMISSIONS</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationCREATE_IDENTIFIER</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationTOKEN_ADMIN_SUPPLY</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationRECEIVE</a><br/>        <span class="tsd-signature-symbol">|</span> <a href="KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html" class="tsd-signature-type tsd-kind-interface">BlockJSONOperationMANAGE_CERTIFICATE</a><br/>    )<span class="tsd-signature-symbol">[]</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="previous"><span>previous</span><a href="#previous" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">previous</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <a href="../classes/KeetaNetSDK.Referenced.BlockHash.html" class="tsd-signature-type tsd-kind-class">BlockHash</a></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="signature"><span>signature</span><a href="#signature" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">signature</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Buffer</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="signer"><span>signer</span><a href="#signer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">signer</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <a href="../classes/KeetaNetSDK.Referenced.Account.html" class="tsd-signature-type tsd-kind-class">Account</a><span class="tsd-signature-symbol">&lt;</span><a href="../modules/KeetaNetSDK.Referenced.html#ecdsa_secp256k1" class="tsd-signature-type tsd-kind-enum-member">ECDSA_SECP256K1</a> <span class="tsd-signature-symbol">|</span> <a href="../modules/KeetaNetSDK.Referenced.html#ed25519" class="tsd-signature-type tsd-kind-enum-member">ED25519</a> <span class="tsd-signature-symbol">|</span> <a href="../modules/KeetaNetSDK.Referenced.html#ecdsa_secp256r1" class="tsd-signature-type tsd-kind-enum-member">ECDSA_SECP256R1</a><span class="tsd-signature-symbol">&gt;</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="subnet"><code class="tsd-tag">Optional</code><span>subnet</span><a href="#subnet" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">subnet</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">bigint</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="version"><span>version</span><a href="#version" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">1</span></div></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></svg>Properties</summary><div><a href="#account"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>account</span></a><a href="#date"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>date</span></a><a href="#network"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>network</span></a><a href="#operations"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>operations</span></a><a href="#previous"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>previous</span></a><a href="#signature"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>signature</span></a><a href="#signer"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>signer</span></a><a href="#subnet"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>subnet</span></a><a href="#version"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property" stroke="black"><rect fill="var(--color-icon-background)" stroke="black" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle" stroke-width="0">P</text></svg><span>version</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@keetanetwork/keetanet-client</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">KeetaSDK Documentation</p></footer><div class="overlay"></div></body></html>