@keetanetwork/keetanet-client 0.16.2 → 0.18.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 (181) hide show
  1. package/client/index-browser.js +509 -159
  2. package/client/index.js +511 -137
  3. package/docs/assets/hierarchy.js +1 -1
  4. package/docs/assets/navigation.js +1 -1
  5. package/docs/assets/search.js +1 -1
  6. package/docs/classes/KeetaNetSDK.Client.html +4 -4
  7. package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +1 -1
  8. package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +1 -1
  9. package/docs/classes/KeetaNetSDK.Referenced.Block.html +3 -3
  10. package/docs/classes/KeetaNetSDK.Referenced.BlockBuilder.html +1 -1
  11. package/docs/classes/KeetaNetSDK.Referenced.BlockHash.html +1 -1
  12. package/docs/classes/KeetaNetSDK.Referenced.BlockOperation.html +1 -1
  13. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationCREATE_IDENTIFIER.html +1 -1
  14. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMANAGE_CERTIFICATE.html +1 -1
  15. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMODIFY_PERMISSIONS.html +2 -2
  16. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationRECEIVE.html +1 -1
  17. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSEND.html +1 -1
  18. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_INFO.html +1 -1
  19. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_REP.html +1 -1
  20. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
  21. package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_SUPPLY.html +1 -1
  22. package/docs/classes/KeetaNetSDK.Referenced.CertificateHash.html +1 -1
  23. package/docs/classes/KeetaNetSDK.Referenced.ECDSAKeyPair.html +1 -1
  24. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1KeyPair.html +1 -1
  25. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PrivateKey.html +1 -1
  26. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PublicKey.html +1 -1
  27. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1Signature.html +1 -1
  28. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1KeyPair.html +1 -1
  29. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PrivateKey.html +1 -1
  30. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PublicKey.html +1 -1
  31. package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1Signature.html +1 -1
  32. package/docs/classes/KeetaNetSDK.Referenced.ED25519KeyPair.html +1 -1
  33. package/docs/classes/KeetaNetSDK.Referenced.ED25519PrivateKey.html +1 -1
  34. package/docs/classes/KeetaNetSDK.Referenced.ED25519PublicKey.html +1 -1
  35. package/docs/classes/KeetaNetSDK.Referenced.ED25519Signature.html +1 -1
  36. package/docs/classes/KeetaNetSDK.Referenced.ExternalKeyPair.html +1 -1
  37. package/docs/classes/KeetaNetSDK.Referenced.ExternalSet.html +1 -1
  38. package/docs/classes/KeetaNetSDK.Referenced.IdempotentKey.html +1 -1
  39. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKey.html +1 -1
  40. package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +1 -1
  41. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetError.html +2 -2
  42. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetErrorBase.html +1 -1
  43. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerError.html +2 -2
  44. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerIdempotentKeyError.html +1 -1
  45. package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerVoteError.html +1 -1
  46. package/docs/classes/KeetaNetSDK.Referenced.KeyInterface.html +1 -1
  47. package/docs/classes/KeetaNetSDK.Referenced.KeyStorage.html +1 -1
  48. package/docs/classes/KeetaNetSDK.Referenced.Ledger.html +1 -1
  49. package/docs/classes/KeetaNetSDK.Referenced.LedgerAtomicInterface.html +1 -1
  50. package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
  51. package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +1 -1
  52. package/docs/classes/KeetaNetSDK.Referenced.PossiblyUnsignedBlock.html +3 -3
  53. package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +1 -1
  54. package/docs/classes/KeetaNetSDK.Referenced.Stats.html +1 -1
  55. package/docs/classes/KeetaNetSDK.Referenced.StatsPending.html +1 -1
  56. package/docs/classes/KeetaNetSDK.Referenced.UnsignedBlock.html +3 -3
  57. package/docs/classes/KeetaNetSDK.Referenced.Vote.html +1 -1
  58. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +2 -2
  59. package/docs/classes/KeetaNetSDK.Referenced.VoteBlockHash.html +1 -1
  60. package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +1 -1
  61. package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +1 -1
  62. package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +1 -1
  63. package/docs/classes/KeetaNetSDK.Referenced.VoteQuote.html +1 -1
  64. package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +1 -1
  65. package/docs/classes/KeetaNetSDK.Referenced.VoteStaple.html +2 -2
  66. package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +1 -1
  67. package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +1 -1
  68. package/docs/classes/KeetaNetSDK.UserClient.html +4 -4
  69. package/docs/hierarchy.html +1 -1
  70. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ExplicitContextTag.html +1 -1
  71. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ImplicitContextTag.html +1 -1
  72. package/docs/interfaces/KeetaNetSDK.Referenced.ASN1Object.html +1 -1
  73. package/docs/interfaces/KeetaNetSDK.Referenced.AccountACLRow.html +11 -0
  74. package/docs/interfaces/KeetaNetSDK.Referenced.AccountComputedEffect.html +4 -0
  75. package/docs/interfaces/KeetaNetSDK.Referenced.BaseACLRow.html +9 -0
  76. package/docs/interfaces/KeetaNetSDK.Referenced.BaseAccountInfo.html +1 -1
  77. package/docs/interfaces/KeetaNetSDK.Referenced.BaseExternalKeyPairFunctions.html +1 -1
  78. package/docs/interfaces/KeetaNetSDK.Referenced.BaseGenerationConfig.html +1 -1
  79. package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierAccountInfo.html +1 -1
  80. package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierCreateArguments.html +1 -1
  81. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
  82. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +1 -1
  83. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html +1 -1
  84. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html +2 -2
  85. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html +1 -1
  86. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSEND.html +1 -1
  87. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html +1 -1
  88. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html +1 -1
  89. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
  90. package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html +1 -1
  91. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1Canonical.html +1 -1
  92. package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +1 -1
  93. package/docs/interfaces/KeetaNetSDK.Referenced.CertificateACLPrincipal.html +4 -0
  94. package/docs/interfaces/KeetaNetSDK.Referenced.CertificateACLRow.html +11 -0
  95. package/docs/interfaces/KeetaNetSDK.Referenced.CertificateComputedEffect.html +5 -0
  96. package/docs/interfaces/KeetaNetSDK.Referenced.ComputedBlocksEffectFields.html +2 -2
  97. package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
  98. package/docs/interfaces/KeetaNetSDK.Referenced.DisposableTimingHandle.html +1 -1
  99. package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256K1AccountInfo.html +1 -1
  100. package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256R1AccountInfo.html +1 -1
  101. package/docs/interfaces/KeetaNetSDK.Referenced.ED25519AccountInfo.html +1 -1
  102. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsNoEncryption.html +1 -1
  103. package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsSupportsEncryption.html +1 -1
  104. package/docs/interfaces/KeetaNetSDK.Referenced.InitialConfigSupply.html +1 -1
  105. package/docs/interfaces/KeetaNetSDK.Referenced.InstanceSet.html +1 -1
  106. package/docs/interfaces/KeetaNetSDK.Referenced.KVGenericOptionsType.html +1 -1
  107. package/docs/interfaces/KeetaNetSDK.Referenced.KVSetOptionsType.html +1 -1
  108. package/docs/interfaces/KeetaNetSDK.Referenced.LedgerStorageAPI.html +3 -3
  109. package/docs/interfaces/KeetaNetSDK.Referenced.ListACLsByEntityFilters.html +4 -0
  110. package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
  111. package/docs/interfaces/KeetaNetSDK.Referenced.MultiSigIdentifierCreateArguments.html +1 -1
  112. package/docs/interfaces/KeetaNetSDK.Referenced.MultisigAccountInfo.html +1 -1
  113. package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +1 -1
  114. package/docs/interfaces/KeetaNetSDK.Referenced.NetworkAccountInfo.html +1 -1
  115. package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
  116. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerBase.html +1 -1
  117. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerListener.html +1 -1
  118. package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerRepBase.html +1 -1
  119. package/docs/interfaces/KeetaNetSDK.Referenced.PrincipalACLWithInfoParsed.html +2 -7
  120. package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.html +1 -1
  121. package/docs/interfaces/KeetaNetSDK.Referenced.PublishOptions.html +1 -1
  122. package/docs/interfaces/KeetaNetSDK.Referenced.RequestTokenReceiveEntry.html +1 -1
  123. package/docs/interfaces/KeetaNetSDK.Referenced.StorageAccountInfo.html +1 -1
  124. package/docs/interfaces/KeetaNetSDK.Referenced.TokenAccountInfo.html +1 -1
  125. package/docs/interfaces/KeetaNetSDK.Referenced.TokenNumericEntry.html +1 -1
  126. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientConfig.html +1 -1
  127. package/docs/interfaces/KeetaNetSDK.Referenced.UserClientOptions.html +1 -1
  128. package/docs/interfaces/KeetaNetSDK.Referenced.VoteStapleJSON.html +2 -2
  129. package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
  130. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1BitString.html +1 -1
  131. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Date.html +1 -1
  132. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1OID.html +1 -1
  133. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Set.html +1 -1
  134. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1String.html +1 -1
  135. package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Struct.html +1 -1
  136. package/docs/modules/KeetaNetSDK.Referenced.html +1 -1
  137. package/docs/types/KeetaNetSDK.Referenced.ACLEntryUnparsed.html +1 -5
  138. package/docs/types/KeetaNetSDK.Referenced.ACLPermissionRequirement.html +2 -0
  139. package/docs/types/KeetaNetSDK.Referenced.ACLPrincipalType.html +1 -0
  140. package/docs/types/KeetaNetSDK.Referenced.ACLRow.html +2 -0
  141. package/docs/types/KeetaNetSDK.Referenced.ACLUpdate.html +5 -0
  142. package/docs/types/KeetaNetSDK.Referenced.ComputedBlockEffect.html +2 -0
  143. package/docs/types/KeetaNetSDK.Referenced.ComputedEffectOfBlocks.html +2 -2
  144. package/docs/types/KeetaNetSDK.Referenced.ComputedEffectOfBlocksByEntity.html +2 -0
  145. package/docs/types/KeetaNetSDK.Referenced.ModifyPermissionsPrincipal.html +1 -0
  146. package/docs/types/KeetaNetSDK.Referenced.ModifyPermissionsPrincipalInput.html +1 -0
  147. package/docs/variables/KeetaNetSDK.Referenced.BlockOperationASN1Schema.html +2 -2
  148. package/docs/variables/KeetaNetSDK.Referenced.FullLedgerBaseErrorCode.html +1 -1
  149. package/docs/variables/KeetaNetSDK.Referenced.aclPrincipalType.html +1 -0
  150. package/docs/variables/KeetaNetSDK.Referenced.allFullErrorCodes.html +1 -1
  151. package/lib/block/index.d.ts +14 -2
  152. package/lib/block/operations.d.ts +40 -4
  153. package/lib/error/block.d.ts +2 -2
  154. package/lib/error/index.d.ts +1 -1
  155. package/lib/error/ledger.d.ts +3 -3
  156. package/lib/ledger/common.d.ts +7 -5
  157. package/lib/ledger/db_dynamodb.d.ts +2 -2
  158. package/lib/ledger/db_postgres.d.ts +3 -3
  159. package/lib/ledger/db_spanner.d.ts +3 -3
  160. package/lib/ledger/db_spanner_helper.d.ts +23 -3
  161. package/lib/ledger/db_sqlite.d.ts +3 -3
  162. package/lib/ledger/effects.d.ts +17 -9
  163. package/lib/ledger/index.d.ts +14 -5
  164. package/lib/ledger/types.d.ts +38 -14
  165. package/lib/log/target_gcp.js +19 -17
  166. package/lib/utils/external-keys/gcp-kms-wrapped.d.ts +85 -0
  167. package/lib/utils/external-keys/gcp-kms-wrapped.js +453 -0
  168. package/lib/utils/external-keys/gcp-kms.common.d.ts +17 -0
  169. package/lib/utils/external-keys/gcp-kms.d.ts +4 -9
  170. package/lib/utils/external-keys/gcp-kms.js +52 -39
  171. package/lib/utils/external-keys/passkey-prf.d.ts +42 -1
  172. package/lib/utils/external-keys/passkey-prf.js +107 -13
  173. package/lib/vote.d.ts +7 -1
  174. package/npm-shrinkwrap.json +24 -24
  175. package/package.json +1 -1
  176. package/version.d.ts +1 -1
  177. package/docs/interfaces/KeetaNetSDK.Referenced.ACLEntry.html +0 -10
  178. package/docs/interfaces/KeetaNetSDK.Referenced.ACLRow.html +0 -10
  179. package/docs/interfaces/KeetaNetSDK.Referenced.ACLUpdate.html +0 -12
  180. package/docs/interfaces/KeetaNetSDK.Referenced.ComputedBlockEffect.html +0 -4
  181. package/docs/types/KeetaNetSDK.Referenced.ComputedEffectOfBlocksByAccount.html +0 -2
@@ -49,6 +49,22 @@ type KeetaPasskeyPRFKeyPairOptions = {
49
49
  * string "keeta.com/wallet/seed/v1" and should generally be used.
50
50
  */
51
51
  salt?: Uint8Array;
52
+ /**
53
+ * Time in milliseconds to cache the backing account for signing and
54
+ * decryption operations. This is optional and defaults to no
55
+ * caching of the account (the safest option), but can be set to a
56
+ * positive integer to cache the account for a certain amount of time
57
+ * after it is first retrieved. This removes the need for the user
58
+ * to interact for a series of subsequent signing or decryption
59
+ * operations, but also increases the risk of signing unintended
60
+ * messages.
61
+ *
62
+ * The caching can be disabled after setup by calling
63
+ * {@link KeetaPasskeyPRFKeyPair.removeCachedAccountTimeout}
64
+ * on the key pair instance, which will remove the cached account
65
+ * and disable caching.
66
+ */
67
+ cachedAccountTimeout?: number;
52
68
  };
53
69
  /**
54
70
  * Options for looking up an existing Passkey PRF key pair. You can look up
@@ -56,7 +72,15 @@ type KeetaPasskeyPRFKeyPairOptions = {
56
72
  * or you can just look up any key pair (the user will be prompted to select a
57
73
  * credential.
58
74
  */
59
- type KeetaPasskeyPRFKeyPairLookupOptions = KeetaPasskeyPRFKeyPairOptions & ({
75
+ type KeetaPasskeyPRFKeyPairLookupOptions = KeetaPasskeyPRFKeyPairOptions & {
76
+ /**
77
+ * Relying party ID to use for looking up the credential. This is
78
+ * optional and defaults to not being specified, but can be set to
79
+ * a specific relying party ID. This will be passed to the WebAuthn
80
+ * API and can result in errors if set incorrectly.
81
+ */
82
+ rpID?: string;
83
+ } & ({
60
84
  /**
61
85
  * Look up by a key ID
62
86
  */
@@ -123,6 +147,16 @@ type KeetaPasskeyPRFKeyPairGenerateOptions = KeetaPasskeyPRFKeyPairOptions & {
123
147
  */
124
148
  id?: Uint8Array;
125
149
  };
150
+ /**
151
+ * Whether the generated credential should be syncable across devices.
152
+ *
153
+ * This is optional and defaults to false, which means the credential
154
+ * may not be synced across devices. If set to true, the credential
155
+ * will be created in such a way that it can be synced across devices,
156
+ * but this may result in the credential being stored in a less secure
157
+ * manner by the authenticator.
158
+ */
159
+ syncable?: boolean;
126
160
  };
127
161
  interface KeetaPasskeyPRFKeyPair extends InstanceType<typeof KeetaNet.lib.Account.ExternalKeyPair> {
128
162
  /**
@@ -145,6 +179,13 @@ interface KeetaPasskeyPRFKeyPair extends InstanceType<typeof KeetaNet.lib.Accoun
145
179
  * compromise the security of the key pair.
146
180
  */
147
181
  exportPassphrase: () => Promise<string>;
182
+ /**
183
+ * Remove the cached account and disable further caching for this key pair.
184
+ * This method should be called when you want to ensure that subsequent
185
+ * signing or decryption operations will require user interaction, even if
186
+ * a cachedAccountTimeout was configured.
187
+ */
188
+ removeCachedAccountTimeout: () => void;
148
189
  }
149
190
  interface KeetaPasskeyPRFKeyPairClass {
150
191
  lookup: (options?: KeetaPasskeyPRFKeyPairLookupOptions) => Promise<KeetaPasskeyPRFKeyPair>;
@@ -181,6 +181,10 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
181
181
  var _salt = /*#__PURE__*/new WeakMap();
182
182
  var _keyID = /*#__PURE__*/new WeakMap();
183
183
  var _index = /*#__PURE__*/new WeakMap();
184
+ var _rpID = /*#__PURE__*/new WeakMap();
185
+ var _cachedAccount = /*#__PURE__*/new WeakMap();
186
+ var _cachedAccountInterval = /*#__PURE__*/new WeakMap();
187
+ var _cachedAccountTimeout = /*#__PURE__*/new WeakMap();
184
188
  var _KeetaPasskeyPRFKeyPair_brand = /*#__PURE__*/new WeakSet();
185
189
  class KeetaPasskeyPRFKeyPair extends KeetaNet.lib.Account.ExternalKeyPair {
186
190
  /**
@@ -191,7 +195,8 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
191
195
  * @see KeetaPasskeyPRFKeyPair.lookup, or to create a
192
196
  * new key pair through the static @see KeetaPasskeyPRFKeyPair.generate method.
193
197
  */
194
- constructor(rawPublicKey, keyID, salt, index, keyType) {
198
+ constructor(args) {
199
+ var _args$salt;
195
200
  super({
196
201
  sign: async (data, options) => {
197
202
  const account = await _assertClassBrand(_KeetaPasskeyPRFKeyPair_brand, this, _lookupBackingAccount).call(this);
@@ -205,15 +210,26 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
205
210
  return await account.decrypt(data);
206
211
  },
207
212
  supportsEncryption: true
208
- }, rawPublicKey, keyType, false);
213
+ }, args.rawPublicKey, args.keyType, false);
209
214
  _classPrivateMethodInitSpec(this, _KeetaPasskeyPRFKeyPair_brand);
210
215
  _classPrivateFieldInitSpec(this, _salt, void 0);
211
216
  _classPrivateFieldInitSpec(this, _keyID, void 0);
212
217
  _classPrivateFieldInitSpec(this, _index, void 0);
213
- _classPrivateFieldSet(_keyID, this, keyID);
214
- _classPrivateFieldSet(_index, this, index);
215
- _classPrivateFieldSet(_salt, this, new Uint8Array(salt !== null && salt !== void 0 ? salt : defaultSalt));
216
- this.keyID = keyID;
218
+ _classPrivateFieldInitSpec(this, _rpID, void 0);
219
+ _classPrivateFieldInitSpec(this, _cachedAccount, void 0);
220
+ _classPrivateFieldInitSpec(this, _cachedAccountInterval, void 0);
221
+ _classPrivateFieldInitSpec(this, _cachedAccountTimeout, void 0);
222
+ _classPrivateFieldSet(_keyID, this, args.keyID);
223
+ _classPrivateFieldSet(_index, this, args.index);
224
+ _classPrivateFieldSet(_salt, this, new Uint8Array((_args$salt = args.salt) !== null && _args$salt !== void 0 ? _args$salt : defaultSalt));
225
+ this.keyID = args.keyID;
226
+ _classPrivateFieldSet(_rpID, this, args.rpID);
227
+ _classPrivateFieldSet(_cachedAccountTimeout, this, args.cachedAccountTimeout);
228
+ if (_classPrivateFieldGet(_cachedAccountTimeout, this) !== undefined) {
229
+ if (!Number.isSafeInteger(_classPrivateFieldGet(_cachedAccountTimeout, this)) || _classPrivateFieldGet(_cachedAccountTimeout, this) < 1) {
230
+ throw new Error('cachedAccountTimeout must be a non-negative integer if specified');
231
+ }
232
+ }
217
233
  Object.freeze(this);
218
234
  }
219
235
 
@@ -231,7 +247,7 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
231
247
  * select a credential from their authenticator.
232
248
  */
233
249
  static async lookup(options) {
234
- var _options$salt, _options, _options$keyType, _options2, _options$index, _options3;
250
+ var _options$salt, _options, _options$keyType, _options2, _options$index, _options3, _options4, _options5;
235
251
  options = {
236
252
  ...options
237
253
  };
@@ -246,8 +262,19 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
246
262
  const salt = (_options$salt = (_options = options) === null || _options === void 0 ? void 0 : _options.salt) !== null && _options$salt !== void 0 ? _options$salt : defaultSalt;
247
263
  const keyType = (_options$keyType = (_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.keyType) !== null && _options$keyType !== void 0 ? _options$keyType : KeetaNet.lib.Account.AccountKeyAlgorithm.ECDSA_SECP256K1;
248
264
  const index = (_options$index = (_options3 = options) === null || _options3 === void 0 ? void 0 : _options3.index) !== null && _options$index !== void 0 ? _options$index : 0;
249
- const key = await _lookupByKeyIDWithSalt.call(KeetaPasskeyPRFKeyPair, keyID, salt, index, keyType);
250
- const keyPair = new KeetaPasskeyPRFKeyPair(key.rawPublicKey, key.keyID, key.salt, key.index, key.keyType);
265
+ const rpID = (_options4 = options) === null || _options4 === void 0 ? void 0 : _options4.rpID;
266
+ const cachedAccountTimeout = (_options5 = options) === null || _options5 === void 0 ? void 0 : _options5.cachedAccountTimeout;
267
+ const key = await _lookupByKeyIDWithSalt.call(KeetaPasskeyPRFKeyPair, keyID, salt, index, keyType, rpID);
268
+ const keyPair = new KeetaPasskeyPRFKeyPair({
269
+ rawPublicKey: key.rawPublicKey,
270
+ keyID: key.keyID,
271
+ salt: key.salt,
272
+ index: key.index,
273
+ keyType: key.keyType,
274
+ rpID: rpID,
275
+ cachedAccountTimeout: cachedAccountTimeout
276
+ });
277
+ _assertClassBrand(_KeetaPasskeyPRFKeyPair_brand, keyPair, _setCachedAccount).call(keyPair, key.account);
251
278
  return keyPair;
252
279
  }
253
280
 
@@ -257,10 +284,35 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
257
284
  * extracting
258
285
  */
259
286
  static async generate(options) {
260
- var _options$salt2, _options$keyType2, _options$index2, _options$rp$name, _options$user$id;
287
+ var _options$salt2, _options$keyType2, _options$index2, _options$syncable, _options$rp$name, _options$user$id;
261
288
  const salt = new Uint8Array(bufferToArrayBuffer(Buffer.from((_options$salt2 = options === null || options === void 0 ? void 0 : options.salt) !== null && _options$salt2 !== void 0 ? _options$salt2 : defaultSalt)));
262
289
  const keyType = (_options$keyType2 = options === null || options === void 0 ? void 0 : options.keyType) !== null && _options$keyType2 !== void 0 ? _options$keyType2 : KeetaNet.lib.Account.AccountKeyAlgorithm.ECDSA_SECP256K1;
263
290
  const index = (_options$index2 = options === null || options === void 0 ? void 0 : options.index) !== null && _options$index2 !== void 0 ? _options$index2 : 0;
291
+ const syncable = (_options$syncable = options === null || options === void 0 ? void 0 : options.syncable) !== null && _options$syncable !== void 0 ? _options$syncable : false;
292
+ const cachedAccountTimeout = options === null || options === void 0 ? void 0 : options.cachedAccountTimeout;
293
+ let syncableExtraAttributes;
294
+ if (syncable) {
295
+ syncableExtraAttributes = {
296
+ authenticatorSelection: {
297
+ /**
298
+ * Restricts to the device's built-in authenticator (Touch ID, Face ID,
299
+ * Windows Hello) backed by the OS keychain. Required for cross-device
300
+ * sync — only platform authenticators sync passkeys via iCloud Keychain
301
+ * / Google Password Manager, which is what lets the same passkey work
302
+ * on web and iOS. Excludes roaming security keys (e.g., YubiKey).
303
+ */
304
+ authenticatorAttachment: 'platform',
305
+ /**
306
+ * Required for cross-device sync and usernameless sign-in.
307
+ */
308
+ residentKey: 'required',
309
+ /**
310
+ * Requires biometric or PIN verification during the ceremony.
311
+ */
312
+ userVerification: 'required'
313
+ }
314
+ };
315
+ }
264
316
  const challenge = bufferToArrayBuffer(crypto.randomBytes(32));
265
317
  const credential = await navigator.credentials.create({
266
318
  publicKey: {
@@ -281,6 +333,7 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
281
333
  name: options.user.name,
282
334
  id: (_options$user$id = options.user.id) !== null && _options$user$id !== void 0 ? _options$user$id : bufferToArrayBuffer(crypto.randomBytes(16))
283
335
  },
336
+ ...syncableExtraAttributes,
284
337
  extensions: {
285
338
  // @ts-ignore
286
339
  prf: {
@@ -302,7 +355,22 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
302
355
  rawPublicKey
303
356
  } = await entropyToAccount(entropy, index, keyType);
304
357
  const keyID = Buffer.from(credential.rawId).toString('base64');
305
- return new KeetaPasskeyPRFKeyPair(rawPublicKey, keyID, salt, index, keyType);
358
+ const rpID = options.rp.id;
359
+ return new KeetaPasskeyPRFKeyPair({
360
+ rawPublicKey,
361
+ keyID,
362
+ salt,
363
+ index,
364
+ keyType,
365
+ rpID,
366
+ cachedAccountTimeout
367
+ });
368
+ }
369
+ removeCachedAccountTimeout() {
370
+ _classPrivateFieldSet(_cachedAccountTimeout, this, undefined);
371
+ _classPrivateFieldSet(_cachedAccount, this, undefined);
372
+ clearTimeout(_classPrivateFieldGet(_cachedAccountInterval, this));
373
+ _classPrivateFieldSet(_cachedAccountInterval, this, undefined);
306
374
  }
307
375
  async exportPassphrase() {
308
376
  const keyInfo = await _assertClassBrand(_KeetaPasskeyPRFKeyPair_brand, this, _lookupKeyInfo).call(this);
@@ -310,7 +378,7 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
310
378
  }
311
379
  }
312
380
  _KeetaPasskeyPRFKeyPair = KeetaPasskeyPRFKeyPair;
313
- async function _lookupByKeyIDWithSalt(keyID, salt, index, keyType) {
381
+ async function _lookupByKeyIDWithSalt(keyID, salt, index, keyType, rpID) {
314
382
  const challenge = bufferToArrayBuffer(crypto.randomBytes(32));
315
383
  let allowCredentials = undefined;
316
384
  if (keyID !== null) {
@@ -319,10 +387,17 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
319
387
  id: bufferToArrayBuffer(Buffer.from(keyID, 'base64'))
320
388
  }];
321
389
  }
390
+ let rpIDObject = {};
391
+ if (rpID !== undefined) {
392
+ rpIDObject = {
393
+ rpId: rpID
394
+ };
395
+ }
322
396
  const credential = await navigator.credentials.get({
323
397
  publicKey: {
324
398
  challenge: challenge,
325
399
  allowCredentials: allowCredentials,
400
+ ...rpIDObject,
326
401
  extensions: {
327
402
  /*
328
403
  * This extension is standardized
@@ -365,11 +440,30 @@ function KeetaPasskeyPRFKeyPairFactory(packages) {
365
440
  ...convertedData
366
441
  };
367
442
  }
443
+ function _setCachedAccount(account) {
444
+ if (_classPrivateFieldGet(_cachedAccountTimeout, this) === undefined) {
445
+ return;
446
+ }
447
+ if (_classPrivateFieldGet(_cachedAccount, this) !== undefined) {
448
+ return;
449
+ }
450
+ _classPrivateFieldSet(_cachedAccount, this, account);
451
+ if (_classPrivateFieldGet(_cachedAccountInterval, this) === undefined) {
452
+ _classPrivateFieldSet(_cachedAccountInterval, this, setTimeout(() => {
453
+ _classPrivateFieldSet(_cachedAccountInterval, this, undefined);
454
+ _classPrivateFieldSet(_cachedAccount, this, undefined);
455
+ }, _classPrivateFieldGet(_cachedAccountTimeout, this)));
456
+ }
457
+ }
368
458
  async function _lookupKeyInfo() {
369
- const keyInfo = await _lookupByKeyIDWithSalt.call(_KeetaPasskeyPRFKeyPair, _classPrivateFieldGet(_keyID, this), _classPrivateFieldGet(_salt, this), _classPrivateFieldGet(_index, this), this.keyType);
459
+ const keyInfo = await _lookupByKeyIDWithSalt.call(_KeetaPasskeyPRFKeyPair, _classPrivateFieldGet(_keyID, this), _classPrivateFieldGet(_salt, this), _classPrivateFieldGet(_index, this), this.keyType, _classPrivateFieldGet(_rpID, this));
460
+ _assertClassBrand(_KeetaPasskeyPRFKeyPair_brand, this, _setCachedAccount).call(this, keyInfo.account);
370
461
  return keyInfo;
371
462
  }
372
463
  async function _lookupBackingAccount() {
464
+ if (_classPrivateFieldGet(_cachedAccount, this) !== undefined) {
465
+ return _classPrivateFieldGet(_cachedAccount, this);
466
+ }
373
467
  const keyInfo = await _assertClassBrand(_KeetaPasskeyPRFKeyPair_brand, this, _lookupKeyInfo).call(this);
374
468
  return keyInfo.account;
375
469
  }
package/lib/vote.d.ts CHANGED
@@ -393,7 +393,13 @@ export declare class VoteBlockBundle {
393
393
  defaultPermission?: false | [string, number[]] | [string, string] | [number[] | import("./permissions").BaseFlagNames, number[]] | undefined;
394
394
  }) | ({
395
395
  type: import("./block/operations").OperationType.MODIFY_PERMISSIONS;
396
- principal: string;
396
+ principal: string | ({
397
+ usingCertificate: true;
398
+ certificateHash: string | (string & {
399
+ readonly __certificateHash: never;
400
+ });
401
+ certificateAccount: string;
402
+ } & {});
397
403
  method: import("./block").AdjustMethod;
398
404
  permissions: false | [string, number[]] | [string, string] | [number[] | import("./permissions").BaseFlagNames, number[]] | null;
399
405
  } & {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@keetanetwork/keetanet-client",
3
- "version": "0.16.2",
3
+ "version": "0.18.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@keetanetwork/keetanet-client",
9
- "version": "0.16.2",
9
+ "version": "0.18.0",
10
10
  "license": "see LICENSE",
11
11
  "dependencies": {
12
12
  "secp256k1": "5.0.1"
@@ -136,14 +136,14 @@
136
136
  }
137
137
  },
138
138
  "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": {
139
- "version": "0.8.0",
140
- "integrity": "sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==",
139
+ "version": "0.8.1",
140
+ "integrity": "sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==",
141
141
  "license": "Apache-2.0",
142
142
  "optional": true,
143
143
  "dependencies": {
144
144
  "lodash.camelcase": "^4.3.0",
145
145
  "long": "^5.0.0",
146
- "protobufjs": "^7.5.3",
146
+ "protobufjs": "^7.5.5",
147
147
  "yargs": "^17.7.2"
148
148
  },
149
149
  "bin": {
@@ -212,8 +212,8 @@
212
212
  "optional": true
213
213
  },
214
214
  "node_modules/@protobufjs/codegen": {
215
- "version": "2.0.4",
216
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
215
+ "version": "2.0.5",
216
+ "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
217
217
  "license": "BSD-3-Clause",
218
218
  "optional": true
219
219
  },
@@ -224,13 +224,12 @@
224
224
  "optional": true
225
225
  },
226
226
  "node_modules/@protobufjs/fetch": {
227
- "version": "1.1.0",
228
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
227
+ "version": "1.1.1",
228
+ "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
229
229
  "license": "BSD-3-Clause",
230
230
  "optional": true,
231
231
  "dependencies": {
232
- "@protobufjs/aspromise": "^1.1.1",
233
- "@protobufjs/inquire": "^1.1.0"
232
+ "@protobufjs/aspromise": "^1.1.1"
234
233
  }
235
234
  },
236
235
  "node_modules/@protobufjs/float": {
@@ -240,8 +239,8 @@
240
239
  "optional": true
241
240
  },
242
241
  "node_modules/@protobufjs/inquire": {
243
- "version": "1.1.0",
244
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
242
+ "version": "1.1.2",
243
+ "integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==",
245
244
  "license": "BSD-3-Clause",
246
245
  "optional": true
247
246
  },
@@ -258,8 +257,8 @@
258
257
  "optional": true
259
258
  },
260
259
  "node_modules/@protobufjs/utf8": {
261
- "version": "1.1.0",
262
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
260
+ "version": "1.1.1",
261
+ "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==",
263
262
  "license": "BSD-3-Clause",
264
263
  "optional": true
265
264
  },
@@ -1008,8 +1007,8 @@
1008
1007
  "license": "MIT"
1009
1008
  },
1010
1009
  "node_modules/long": {
1011
- "version": "5.2.4",
1012
- "integrity": "sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==",
1010
+ "version": "5.3.2",
1011
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
1013
1012
  "devOptional": true,
1014
1013
  "license": "Apache-2.0"
1015
1014
  },
@@ -1122,24 +1121,24 @@
1122
1121
  }
1123
1122
  },
1124
1123
  "node_modules/protobufjs": {
1125
- "version": "7.5.4",
1126
- "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==",
1124
+ "version": "7.6.0",
1125
+ "integrity": "sha512-LtESOsMPTZgyYtwxhvdgdjGL0HmXEaRA/hVD6sol4zA60hVXXXP/SGmxnqDbgGE8gy7pYex7cym+5vYPcmaXBQ==",
1127
1126
  "hasInstallScript": true,
1128
1127
  "license": "BSD-3-Clause",
1129
1128
  "optional": true,
1130
1129
  "dependencies": {
1131
1130
  "@protobufjs/aspromise": "^1.1.2",
1132
1131
  "@protobufjs/base64": "^1.1.2",
1133
- "@protobufjs/codegen": "^2.0.4",
1132
+ "@protobufjs/codegen": "^2.0.5",
1134
1133
  "@protobufjs/eventemitter": "^1.1.0",
1135
- "@protobufjs/fetch": "^1.1.0",
1134
+ "@protobufjs/fetch": "^1.1.1",
1136
1135
  "@protobufjs/float": "^1.0.2",
1137
- "@protobufjs/inquire": "^1.1.0",
1136
+ "@protobufjs/inquire": "^1.1.2",
1138
1137
  "@protobufjs/path": "^1.1.2",
1139
1138
  "@protobufjs/pool": "^1.1.0",
1140
- "@protobufjs/utf8": "^1.1.0",
1139
+ "@protobufjs/utf8": "^1.1.1",
1141
1140
  "@types/node": ">=13.7.0",
1142
- "long": "^5.0.0"
1141
+ "long": "^5.3.2"
1143
1142
  },
1144
1143
  "engines": {
1145
1144
  "node": ">=12.0.0"
@@ -1354,6 +1353,7 @@
1354
1353
  "node_modules/uuid": {
1355
1354
  "version": "9.0.1",
1356
1355
  "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
1356
+ "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).",
1357
1357
  "funding": [
1358
1358
  "https://github.com/sponsors/broofa",
1359
1359
  "https://github.com/sponsors/ctavan"
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.16.2",
4
+ "version": "0.18.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.16.2+g2c1441eed2a1c71a895d0fb5166c431799b3d3ca";
1
+ export declare const version = "0.18.0+g5417d9af948be899fcebb75694edb492ff971891";
2
2
  export default version;
@@ -1,10 +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>ACLEntry | @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">ACLEntry</a></li></ul><h1>Interface ACLEntry</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>An entry for the ACL</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">ACLEntry</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#entity">entity</a><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="#method">method</a><span class="tsd-signature-symbol">?:</span> <a href="../enums/KeetaNetSDK.Referenced.AdjustMethod.html#set" class="tsd-signature-type tsd-kind-enum-member">SET</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#permissions">permissions</a><span class="tsd-signature-symbol">:</span> <a href="../classes/KeetaNetSDK.Referenced.Permissions.html" class="tsd-signature-type tsd-kind-class">Permissions</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#principal">principal</a><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="#target">target</a><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/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="13185"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-signature-type">Omit</span><span class="tsd-signature-symbol">&lt;</span><a href="KeetaNetSDK.Referenced.ACLRow.html" class="tsd-signature-type tsd-kind-interface">ACLRow</a><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">&quot;target&quot;</span><span class="tsd-signature-symbol">&gt;</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ACLEntry</span></li></ul></li></ul></section><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="#entity" class="tsd-index-link tsd-is-inherited"><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>entity</span></a>
3
- <a href="#method" 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>method?</span></a>
4
- <a href="#permissions" class="tsd-index-link tsd-is-inherited"><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>permissions</span></a>
5
- <a href="#principal" class="tsd-index-link tsd-is-inherited"><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>principal</span></a>
6
- <a href="#target" 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>target?</span></a>
7
- </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 tsd-is-inherited"><h3 class="tsd-anchor-link" id="entity"><span>entity</span><a href="#entity" 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">entity</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><div class="tsd-comment tsd-typography"><p>The account that this row is for</p>
8
- </div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from Omit.entity</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="method"><code class="tsd-tag">Optional</code><span>method</span><a href="#method" 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">method</span><span class="tsd-signature-symbol">?:</span> <a href="../enums/KeetaNetSDK.Referenced.AdjustMethod.html#set" class="tsd-signature-type tsd-kind-enum-member">SET</a></div></section><section class="tsd-panel tsd-member tsd-is-inherited"><h3 class="tsd-anchor-link" id="permissions"><span>permissions</span><a href="#permissions" 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">permissions</span><span class="tsd-signature-symbol">:</span> <a href="../classes/KeetaNetSDK.Referenced.Permissions.html" class="tsd-signature-type tsd-kind-class">Permissions</a></div><div class="tsd-comment tsd-typography"><p>The permissions for which this row grants</p>
9
- </div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from Omit.permissions</p></aside></section><section class="tsd-panel tsd-member tsd-is-inherited"><h3 class="tsd-anchor-link" id="principal"><span>principal</span><a href="#principal" 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">principal</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><div class="tsd-comment tsd-typography"><p>The account that these permissions apply to</p>
10
- </div><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Inherited from Omit.principal</p></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="target"><code class="tsd-tag">Optional</code><span>target</span><a href="#target" 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">target</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></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="#entity" class="tsd-is-inherited"><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>entity</span></a><a href="#method"><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>method</span></a><a href="#permissions" class="tsd-is-inherited"><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>permissions</span></a><a href="#principal" class="tsd-is-inherited"><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>principal</span></a><a href="#target"><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>target</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>
@@ -1,10 +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>ACLRow | @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">ACLRow</a></li></ul><h1>Interface ACLRow</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Permissions types</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">ACLRow</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#entity">entity</a><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="#permissions">permissions</a><span class="tsd-signature-symbol">:</span> <a href="../classes/KeetaNetSDK.Referenced.Permissions.html" class="tsd-signature-type tsd-kind-class">Permissions</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#principal">principal</a><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="#target">target</a><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/><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="#entity" 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>entity</span></a>
3
- <a href="#permissions" 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>permissions</span></a>
4
- <a href="#principal" 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>principal</span></a>
5
- <a href="#target" 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>target</span></a>
6
- </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="entity"><span>entity</span><a href="#entity" 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">entity</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><div class="tsd-comment tsd-typography"><p>The account that this row is for</p>
7
- </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="permissions"><span>permissions</span><a href="#permissions" 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">permissions</span><span class="tsd-signature-symbol">:</span> <a href="../classes/KeetaNetSDK.Referenced.Permissions.html" class="tsd-signature-type tsd-kind-class">Permissions</a></div><div class="tsd-comment tsd-typography"><p>The permissions for which this row grants</p>
8
- </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="principal"><span>principal</span><a href="#principal" 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">principal</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><div class="tsd-comment tsd-typography"><p>The account that these permissions apply to</p>
9
- </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="target"><span>target</span><a href="#target" 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">target</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><div class="tsd-comment tsd-typography"><p>An optional target account which, depending on the permissions, may be targeted by the permission</p>
10
- </div><div class="tsd-comment tsd-typography"></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="#entity"><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>entity</span></a><a href="#permissions"><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>permissions</span></a><a href="#principal"><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>principal</span></a><a href="#target"><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>target</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>