@keetanetwork/keetanet-client 0.18.1 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/index-browser.js +120 -58
- package/client/index.js +69 -19
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperation.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationCREATE_IDENTIFIER.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMANAGE_CERTIFICATE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMODIFY_PERMISSIONS.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationRECEIVE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSEND.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_INFO.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_REP.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_SUPPLY.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSAKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ExternalKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ExternalSet.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdempotentKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdentifierKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetErrorBase.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerIdempotentKeyError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerVoteError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeyInterface.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeyStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.Log.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.PossiblyUnsignedBlock.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.Stats.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.StatsPending.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.UnsignedBlock.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ExplicitContextTag.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ImplicitContextTag.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1Object.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.AccountACLRow.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseACLRow.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseExternalKeyPairFunctions.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseGenerationConfig.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierCreateArguments.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSEND.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1Canonical.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.CertificateACLRow.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.DisposableTimingHandle.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256K1AccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ECDSA_SECP256R1AccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ED25519AccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsNoEncryption.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsSupportsEncryption.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.InitialConfigSupply.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.InstanceSet.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.KVGenericOptionsType.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.KVSetOptionsType.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultisigAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerBase.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerListener.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerRepBase.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.RequestTokenReceiveEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.StorageAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.TokenAccountInfo.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.TokenNumericEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1BitString.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Date.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1OID.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Set.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1String.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Struct.html +1 -1
- package/docs/types/KeetaNetSDK.Referenced.LogOptions.html +13 -3
- package/lib/log/common.d.ts +1 -1
- package/lib/log/index.d.ts +21 -6
- package/lib/utils/external-keys/passkey-prf.js +100 -21
- package/npm-shrinkwrap.json +10 -17
- package/package.json +2 -2
- package/version.d.ts +1 -1
package/client/index-browser.js
CHANGED
|
@@ -118325,11 +118325,14 @@ async function client_computeLedgerEffect(options, effects, storageProvider, net
|
|
|
118325
118325
|
}
|
|
118326
118326
|
}
|
|
118327
118327
|
}
|
|
118328
|
-
|
|
118328
|
+
|
|
118329
|
+
// Process promises in batches to avoid spanner's 100 concurrent read per session limit
|
|
118330
|
+
if (prefetchPromises.length > 50) {
|
|
118329
118331
|
const toAwait = prefetchPromises.splice(0);
|
|
118330
118332
|
await Promise.all(toAwait);
|
|
118331
118333
|
}
|
|
118332
118334
|
}
|
|
118335
|
+
// Wait for the final batch to complete
|
|
118333
118336
|
await Promise.all(prefetchPromises);
|
|
118334
118337
|
const supplies = {};
|
|
118335
118338
|
const balances = {};
|
|
@@ -127103,6 +127106,48 @@ class client_LedgerRequestCache {
|
|
|
127103
127106
|
}
|
|
127104
127107
|
}
|
|
127105
127108
|
/* harmony default export */ const client_cache = (client_LedgerRequestCache);
|
|
127109
|
+
;// ./src/lib/log/common.ts
|
|
127110
|
+
const client_numericLogLevels = {
|
|
127111
|
+
DEBUG: 0,
|
|
127112
|
+
INFO: 1,
|
|
127113
|
+
WARN: 2,
|
|
127114
|
+
ERROR: 3
|
|
127115
|
+
};
|
|
127116
|
+
|
|
127117
|
+
/* XXX:TODO -- Do something with this */
|
|
127118
|
+
|
|
127119
|
+
function client_canLogForLevel(level, currentLevel) {
|
|
127120
|
+
return client_numericLogLevels[level] >= client_numericLogLevels[currentLevel];
|
|
127121
|
+
}
|
|
127122
|
+
function client_canLogForTargetLevel(level, targetLevel) {
|
|
127123
|
+
if (targetLevel === 'ALL') {
|
|
127124
|
+
return true;
|
|
127125
|
+
}
|
|
127126
|
+
if (targetLevel === 'NONE') {
|
|
127127
|
+
return false;
|
|
127128
|
+
}
|
|
127129
|
+
return client_canLogForLevel(level, targetLevel);
|
|
127130
|
+
}
|
|
127131
|
+
function client_filterLog(target, message) {
|
|
127132
|
+
var _message$options$user, _message$options$curr, _message$options$curr2;
|
|
127133
|
+
if (!client_canLogForTargetLevel(message.level, target.logLevel)) {
|
|
127134
|
+
return null;
|
|
127135
|
+
}
|
|
127136
|
+
if (target.filter && !target.filter.test(message.from)) {
|
|
127137
|
+
return null;
|
|
127138
|
+
}
|
|
127139
|
+
return {
|
|
127140
|
+
...message,
|
|
127141
|
+
options: {
|
|
127142
|
+
userVisible: (_message$options$user = message.options.userVisible) !== null && _message$options$user !== void 0 ? _message$options$user : true,
|
|
127143
|
+
currentRequestInfo: {
|
|
127144
|
+
id: (_message$options$curr = (_message$options$curr2 = message.options.currentRequestInfo) === null || _message$options$curr2 === void 0 ? void 0 : _message$options$curr2.id) !== null && _message$options$curr !== void 0 ? _message$options$curr : '<NO_REQUEST_ID>',
|
|
127145
|
+
...message.options.currentRequestInfo
|
|
127146
|
+
},
|
|
127147
|
+
...message.options
|
|
127148
|
+
}
|
|
127149
|
+
};
|
|
127150
|
+
}
|
|
127106
127151
|
// EXTERNAL MODULE: ./node_modules/typia/lib/internal/_assertGuard.js
|
|
127107
127152
|
var client_assertGuard = __webpack_require__(7422);
|
|
127108
127153
|
;// ./src/lib/log/helper.generated.ts
|
|
@@ -127180,48 +127225,6 @@ const client_assertLogTargetLevel = (() => {
|
|
|
127180
127225
|
return input;
|
|
127181
127226
|
};
|
|
127182
127227
|
})();
|
|
127183
|
-
;// ./src/lib/log/common.ts
|
|
127184
|
-
const client_numericLogLevels = {
|
|
127185
|
-
DEBUG: 0,
|
|
127186
|
-
INFO: 1,
|
|
127187
|
-
WARN: 2,
|
|
127188
|
-
ERROR: 3
|
|
127189
|
-
};
|
|
127190
|
-
|
|
127191
|
-
/* XXX:TODO -- Do something with this */
|
|
127192
|
-
|
|
127193
|
-
function client_canLogForLevel(level, currentLevel) {
|
|
127194
|
-
return client_numericLogLevels[level] >= client_numericLogLevels[currentLevel];
|
|
127195
|
-
}
|
|
127196
|
-
function client_canLogForTargetLevel(level, targetLevel) {
|
|
127197
|
-
if (targetLevel === 'ALL') {
|
|
127198
|
-
return true;
|
|
127199
|
-
}
|
|
127200
|
-
if (targetLevel === 'NONE') {
|
|
127201
|
-
return false;
|
|
127202
|
-
}
|
|
127203
|
-
return client_canLogForLevel(level, targetLevel);
|
|
127204
|
-
}
|
|
127205
|
-
function client_filterLog(target, message) {
|
|
127206
|
-
var _message$options$user, _message$options$curr, _message$options$curr2;
|
|
127207
|
-
if (!client_canLogForTargetLevel(message.level, target.logLevel)) {
|
|
127208
|
-
return null;
|
|
127209
|
-
}
|
|
127210
|
-
if (target.filter && !target.filter.test(message.from)) {
|
|
127211
|
-
return null;
|
|
127212
|
-
}
|
|
127213
|
-
return {
|
|
127214
|
-
...message,
|
|
127215
|
-
options: {
|
|
127216
|
-
userVisible: (_message$options$user = message.options.userVisible) !== null && _message$options$user !== void 0 ? _message$options$user : true,
|
|
127217
|
-
currentRequestInfo: {
|
|
127218
|
-
id: (_message$options$curr = (_message$options$curr2 = message.options.currentRequestInfo) === null || _message$options$curr2 === void 0 ? void 0 : _message$options$curr2.id) !== null && _message$options$curr !== void 0 ? _message$options$curr : '<NO_REQUEST_ID>',
|
|
127219
|
-
...message.options.currentRequestInfo
|
|
127220
|
-
},
|
|
127221
|
-
...message.options
|
|
127222
|
-
}
|
|
127223
|
-
};
|
|
127224
|
-
}
|
|
127225
127228
|
;// ./src/lib/log/target_console.ts
|
|
127226
127229
|
function client_target_console_classPrivateFieldInitSpec(e, t, a) { client_target_console_checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
127227
127230
|
function client_target_console_checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
@@ -127284,11 +127287,13 @@ function client_log_checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new Ty
|
|
|
127284
127287
|
function client_log_defineProperty(e, r, t) { return (r = client_log_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
127285
127288
|
function client_log_toPropertyKey(t) { var i = client_log_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
127286
127289
|
function client_log_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
127290
|
+
function client_log_classPrivateGetter(s, r, a) { return a(client_log_assertClassBrand(s, r)); }
|
|
127287
127291
|
function client_log_classPrivateFieldSet(s, a, r) { return s.set(client_log_assertClassBrand(s, a), r), r; }
|
|
127288
127292
|
function client_log_classPrivateFieldGet(s, a) { return s.get(client_log_assertClassBrand(s, a)); }
|
|
127289
127293
|
function client_log_assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
127290
127294
|
|
|
127291
127295
|
|
|
127296
|
+
|
|
127292
127297
|
/**
|
|
127293
127298
|
* Maximum number of logs to enqueue when there are no targets assigned to a
|
|
127294
127299
|
* Log instance
|
|
@@ -127314,6 +127319,8 @@ var client_destroyed = /*#__PURE__*/new WeakMap();
|
|
|
127314
127319
|
var client_emitOnLog = /*#__PURE__*/new WeakMap();
|
|
127315
127320
|
var client_logDebugTracing = /*#__PURE__*/new WeakMap();
|
|
127316
127321
|
var client_targets = /*#__PURE__*/new WeakMap();
|
|
127322
|
+
var client_filter = /*#__PURE__*/new WeakMap();
|
|
127323
|
+
var client_logLevel = /*#__PURE__*/new WeakMap();
|
|
127317
127324
|
var client_Log_brand = /*#__PURE__*/new WeakSet();
|
|
127318
127325
|
class client_Log {
|
|
127319
127326
|
/**
|
|
@@ -127403,19 +127410,37 @@ class client_Log {
|
|
|
127403
127410
|
/**
|
|
127404
127411
|
* Whether or not to generate debug tracing information for each log entry
|
|
127405
127412
|
*/
|
|
127406
|
-
client_log_classPrivateFieldInitSpec(this, client_logDebugTracing,
|
|
127413
|
+
client_log_classPrivateFieldInitSpec(this, client_logDebugTracing, void 0);
|
|
127414
|
+
/**
|
|
127415
|
+
* Registered log targets (sinks) to send logs to, keyed by a unique
|
|
127416
|
+
* ID returned by `registerTarget()`
|
|
127417
|
+
*/
|
|
127407
127418
|
client_log_classPrivateFieldInitSpec(this, client_targets, new Map());
|
|
127408
127419
|
/**
|
|
127409
|
-
*
|
|
127420
|
+
* Filter to apply before sending to targets
|
|
127410
127421
|
*/
|
|
127411
|
-
|
|
127422
|
+
client_log_classPrivateFieldInitSpec(this, client_filter, void 0);
|
|
127423
|
+
/**
|
|
127424
|
+
* Log-level to filter for at the logger level
|
|
127425
|
+
*/
|
|
127426
|
+
client_log_classPrivateFieldInitSpec(this, client_logLevel, void 0);
|
|
127412
127427
|
/**
|
|
127413
127428
|
* Parent logger, if any -- used for creating hierarchical loggers
|
|
127414
127429
|
*/
|
|
127415
127430
|
client_log_defineProperty(this, "parent", null);
|
|
127431
|
+
/**
|
|
127432
|
+
* The maximum number of log entries to send to each target at a time
|
|
127433
|
+
*/
|
|
127434
|
+
client_log_defineProperty(this, "batchSize", 10);
|
|
127416
127435
|
if ((_options === null || _options === void 0 ? void 0 : _options.logDebugTracing) !== undefined) {
|
|
127417
127436
|
client_log_classPrivateFieldSet(client_logDebugTracing, this, _options.logDebugTracing);
|
|
127418
127437
|
}
|
|
127438
|
+
if ((_options === null || _options === void 0 ? void 0 : _options.filter) !== undefined) {
|
|
127439
|
+
client_log_classPrivateFieldSet(client_filter, this, _options.filter);
|
|
127440
|
+
}
|
|
127441
|
+
if ((_options === null || _options === void 0 ? void 0 : _options.logLevel) !== undefined) {
|
|
127442
|
+
client_log_classPrivateFieldSet(client_logLevel, this, _options.logLevel);
|
|
127443
|
+
}
|
|
127419
127444
|
}
|
|
127420
127445
|
log() {
|
|
127421
127446
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
@@ -127528,6 +127553,7 @@ class client_Log {
|
|
|
127528
127553
|
}
|
|
127529
127554
|
return Array.from(client_log_classPrivateFieldGet(client_targets, this).values());
|
|
127530
127555
|
}
|
|
127556
|
+
|
|
127531
127557
|
/**
|
|
127532
127558
|
* Create a child logger instance that shares the same targets as this instance
|
|
127533
127559
|
* but has its own log queue, this is useful for creating hierarchical loggers
|
|
@@ -127536,11 +127562,9 @@ class client_Log {
|
|
|
127536
127562
|
* Since the child shares the same targets, registering or unregistering targets
|
|
127537
127563
|
* from either the parent or child will affect both.
|
|
127538
127564
|
*/
|
|
127539
|
-
createChild() {
|
|
127565
|
+
createChild(options) {
|
|
127540
127566
|
var _this$parent;
|
|
127541
|
-
const child = new client_Log(
|
|
127542
|
-
logDebugTracing: client_log_classPrivateFieldGet(client_logDebugTracing, this)
|
|
127543
|
-
});
|
|
127567
|
+
const child = new client_Log(options);
|
|
127544
127568
|
|
|
127545
127569
|
/**
|
|
127546
127570
|
* Attach child nodes to our own parent to collapse
|
|
@@ -127666,6 +127690,33 @@ class client_Log {
|
|
|
127666
127690
|
client_log_classPrivateFieldSet(client_destroyed, this, true);
|
|
127667
127691
|
}
|
|
127668
127692
|
}
|
|
127693
|
+
function client_get_logDebugTracing(_this) {
|
|
127694
|
+
if (client_log_classPrivateFieldGet(client_logDebugTracing, _this) !== undefined) {
|
|
127695
|
+
return client_log_classPrivateFieldGet(client_logDebugTracing, _this);
|
|
127696
|
+
}
|
|
127697
|
+
if (_this.parent) {
|
|
127698
|
+
return client_log_classPrivateGetter(client_Log_brand, _this.parent, client_get_logDebugTracing);
|
|
127699
|
+
}
|
|
127700
|
+
return false;
|
|
127701
|
+
}
|
|
127702
|
+
function client_get_filter(_this2) {
|
|
127703
|
+
if (client_log_classPrivateFieldGet(client_filter, _this2) !== undefined) {
|
|
127704
|
+
return client_log_classPrivateFieldGet(client_filter, _this2);
|
|
127705
|
+
}
|
|
127706
|
+
if (_this2.parent) {
|
|
127707
|
+
return client_log_classPrivateGetter(client_Log_brand, _this2.parent, client_get_filter);
|
|
127708
|
+
}
|
|
127709
|
+
return null;
|
|
127710
|
+
}
|
|
127711
|
+
function client_get_logLevel(_this3) {
|
|
127712
|
+
if (client_log_classPrivateFieldGet(client_logLevel, _this3) !== undefined) {
|
|
127713
|
+
return client_log_classPrivateFieldGet(client_logLevel, _this3);
|
|
127714
|
+
}
|
|
127715
|
+
if (_this3.parent) {
|
|
127716
|
+
return client_log_classPrivateGetter(client_Log_brand, _this3.parent, client_get_logLevel);
|
|
127717
|
+
}
|
|
127718
|
+
return 'ALL';
|
|
127719
|
+
}
|
|
127669
127720
|
function client_log_log(level, options, from) {
|
|
127670
127721
|
if (client_log_classPrivateFieldGet(client_destroyed, this)) {
|
|
127671
127722
|
return;
|
|
@@ -127679,7 +127730,13 @@ function client_log_log(level, options, from) {
|
|
|
127679
127730
|
from,
|
|
127680
127731
|
args
|
|
127681
127732
|
};
|
|
127682
|
-
if (
|
|
127733
|
+
if (client_filterLog({
|
|
127734
|
+
logLevel: client_log_classPrivateGetter(client_Log_brand, this, client_get_logLevel),
|
|
127735
|
+
filter: client_log_classPrivateGetter(client_Log_brand, this, client_get_filter)
|
|
127736
|
+
}, log) === null) {
|
|
127737
|
+
return;
|
|
127738
|
+
}
|
|
127739
|
+
if (client_log_classPrivateGetter(client_Log_brand, this, client_get_logDebugTracing)) {
|
|
127683
127740
|
var _Error$stack$split$sl, _Error$stack;
|
|
127684
127741
|
log.trace = (_Error$stack$split$sl = (_Error$stack = new Error().stack) === null || _Error$stack === void 0 ? void 0 : _Error$stack.split('\n').slice(2).join('\n')) !== null && _Error$stack$split$sl !== void 0 ? _Error$stack$split$sl : '[No stack trace available]';
|
|
127685
127742
|
}
|
|
@@ -129501,13 +129558,18 @@ async function client_checkPermissionRequirements(effects) {
|
|
|
129501
129558
|
throw new client_ledger_KeetaNetLedgerError('LEDGER_INVALID_PERMISSIONS', `Quorum of ${foundInfo.multisigQuorum} not reached for ${multisigPubKey} -- got ${foundSingerLength}`);
|
|
129502
129559
|
}
|
|
129503
129560
|
}
|
|
129504
|
-
|
|
129505
|
-
|
|
129506
|
-
|
|
129507
|
-
|
|
129508
|
-
|
|
129561
|
+
|
|
129562
|
+
// Process promises in batches to avoid spanner's 100 concurrent read per session limit
|
|
129563
|
+
const batchSize = 50;
|
|
129564
|
+
const principalPubKeys = Object.keys(requirementsByPrincipal);
|
|
129565
|
+
for (let i = 0; i < principalPubKeys.length; i += batchSize) {
|
|
129566
|
+
const batch = principalPubKeys.slice(i, i + batchSize).map(principalPubKey => {
|
|
129567
|
+
const accountRequirements = requirementsByPrincipal[principalPubKey];
|
|
129568
|
+
const principal = client_lib_account.fromPublicKeyString(principalPubKey);
|
|
129569
|
+
return client_ledger_assertClassBrand(client_LedgerAtomicInterface_brand, this, client_checkSingleAccountPermissions).call(this, principal, accountRequirements, foundAccountInfo);
|
|
129570
|
+
});
|
|
129571
|
+
await Promise.all(batch);
|
|
129509
129572
|
}
|
|
129510
|
-
await Promise.all(checkPromises);
|
|
129511
129573
|
return {
|
|
129512
129574
|
newOwners
|
|
129513
129575
|
};
|
|
@@ -130256,7 +130318,7 @@ client_lib_ledger_defineProperty(src_client_Ledger, "isInstance", client_checkab
|
|
|
130256
130318
|
// EXTERNAL MODULE: ws (ignored)
|
|
130257
130319
|
var client_ws_ignored_ = __webpack_require__(4708);
|
|
130258
130320
|
;// ./src/version.ts
|
|
130259
|
-
const client_version = '0.18.
|
|
130321
|
+
const client_version = '0.18.2+gac0baac4139da80613edd4a1ebc7532f37fc834a';
|
|
130260
130322
|
/* harmony default export */ const client_src_version = ((/* unused pure expression or super */ null && (client_version)));
|
|
130261
130323
|
;// ./src/lib/p2p.ts
|
|
130262
130324
|
/* provided dependency */ var client_p2p_Buffer = __webpack_require__(8287)["Buffer"];
|
package/client/index.js
CHANGED
|
@@ -67198,11 +67198,13 @@ async function computeLedgerEffect(options, effects, storageProvider, network, t
|
|
|
67198
67198
|
}
|
|
67199
67199
|
}
|
|
67200
67200
|
}
|
|
67201
|
-
|
|
67201
|
+
// Process promises in batches to avoid spanner's 100 concurrent read per session limit
|
|
67202
|
+
if (prefetchPromises.length > 50) {
|
|
67202
67203
|
const toAwait = prefetchPromises.splice(0);
|
|
67203
67204
|
await Promise.all(toAwait);
|
|
67204
67205
|
}
|
|
67205
67206
|
}
|
|
67207
|
+
// Wait for the final batch to complete
|
|
67206
67208
|
await Promise.all(prefetchPromises);
|
|
67207
67209
|
const supplies = {};
|
|
67208
67210
|
const balances = {};
|
|
@@ -69758,13 +69760,17 @@ _LedgerAtomicInterface_network = new WeakMap(), _LedgerAtomicInterface_subnet =
|
|
|
69758
69760
|
throw (new ledger_1.KeetaNetLedgerError('LEDGER_INVALID_PERMISSIONS', `Quorum of ${foundInfo.multisigQuorum} not reached for ${multisigPubKey} -- got ${foundSingerLength}`));
|
|
69759
69761
|
}
|
|
69760
69762
|
}
|
|
69761
|
-
|
|
69762
|
-
|
|
69763
|
-
|
|
69764
|
-
|
|
69765
|
-
|
|
69763
|
+
// Process promises in batches to avoid spanner's 100 concurrent read per session limit
|
|
69764
|
+
const batchSize = 50;
|
|
69765
|
+
const principalPubKeys = Object.keys(requirementsByPrincipal);
|
|
69766
|
+
for (let i = 0; i < principalPubKeys.length; i += batchSize) {
|
|
69767
|
+
const batch = principalPubKeys.slice(i, i + batchSize).map((principalPubKey) => {
|
|
69768
|
+
const accountRequirements = requirementsByPrincipal[principalPubKey];
|
|
69769
|
+
const principal = account_1.default.fromPublicKeyString(principalPubKey);
|
|
69770
|
+
return (__classPrivateFieldGet(this, _LedgerAtomicInterface_instances, "m", _LedgerAtomicInterface_checkSingleAccountPermissions).call(this, principal, accountRequirements, foundAccountInfo));
|
|
69771
|
+
});
|
|
69772
|
+
await Promise.all(batch);
|
|
69766
69773
|
}
|
|
69767
|
-
await Promise.all(checkPromises);
|
|
69768
69774
|
return ({ newOwners });
|
|
69769
69775
|
}, _LedgerAtomicInterface_validateBlockOperations = async function _LedgerAtomicInterface_validateBlockOperations(blocks) {
|
|
69770
69776
|
if (__classPrivateFieldGet(this, _LedgerAtomicInterface_operations, "f") === undefined) {
|
|
@@ -70580,8 +70586,9 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
70580
70586
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
70581
70587
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
70582
70588
|
};
|
|
70583
|
-
var _Log_instances, _Log_logs, _Log_autoSyncInterval, _Log_isSyncing, _Log_shouldSyncAgain, _Log_destroyed, _Log_emitOnLog,
|
|
70589
|
+
var _Log_instances, _Log_logs, _Log_autoSyncInterval, _Log_isSyncing, _Log_shouldSyncAgain, _Log_destroyed, _Log_emitOnLog, _Log__logDebugTracing, _Log_targets, _Log__filter, _Log__logLevel, _Log_logDebugTracing_get, _Log_filter_get, _Log_logLevel_get, _Log_log, _Log_extractArguments;
|
|
70584
70590
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
70591
|
+
const common_1 = __webpack_require__(7364);
|
|
70585
70592
|
const helper_generated_1 = __webpack_require__(5910);
|
|
70586
70593
|
const target_console_1 = __importDefault(__webpack_require__(9022));
|
|
70587
70594
|
/**
|
|
@@ -70680,18 +70687,36 @@ class Log {
|
|
|
70680
70687
|
/**
|
|
70681
70688
|
* Whether or not to generate debug tracing information for each log entry
|
|
70682
70689
|
*/
|
|
70683
|
-
|
|
70690
|
+
_Log__logDebugTracing.set(this, void 0);
|
|
70691
|
+
/**
|
|
70692
|
+
* Registered log targets (sinks) to send logs to, keyed by a unique
|
|
70693
|
+
* ID returned by `registerTarget()`
|
|
70694
|
+
*/
|
|
70684
70695
|
_Log_targets.set(this, new Map());
|
|
70685
70696
|
/**
|
|
70686
|
-
*
|
|
70697
|
+
* Filter to apply before sending to targets
|
|
70687
70698
|
*/
|
|
70688
|
-
this
|
|
70699
|
+
_Log__filter.set(this, void 0);
|
|
70700
|
+
/**
|
|
70701
|
+
* Log-level to filter for at the logger level
|
|
70702
|
+
*/
|
|
70703
|
+
_Log__logLevel.set(this, void 0);
|
|
70689
70704
|
/**
|
|
70690
70705
|
* Parent logger, if any -- used for creating hierarchical loggers
|
|
70691
70706
|
*/
|
|
70692
70707
|
this.parent = null;
|
|
70708
|
+
/**
|
|
70709
|
+
* The maximum number of log entries to send to each target at a time
|
|
70710
|
+
*/
|
|
70711
|
+
this.batchSize = 10;
|
|
70693
70712
|
if (options?.logDebugTracing !== undefined) {
|
|
70694
|
-
__classPrivateFieldSet(this,
|
|
70713
|
+
__classPrivateFieldSet(this, _Log__logDebugTracing, options.logDebugTracing, "f");
|
|
70714
|
+
}
|
|
70715
|
+
if (options?.filter !== undefined) {
|
|
70716
|
+
__classPrivateFieldSet(this, _Log__filter, options.filter, "f");
|
|
70717
|
+
}
|
|
70718
|
+
if (options?.logLevel !== undefined) {
|
|
70719
|
+
__classPrivateFieldSet(this, _Log__logLevel, options.logLevel, "f");
|
|
70695
70720
|
}
|
|
70696
70721
|
}
|
|
70697
70722
|
log(...args) {
|
|
@@ -70780,10 +70805,8 @@ class Log {
|
|
|
70780
70805
|
* Since the child shares the same targets, registering or unregistering targets
|
|
70781
70806
|
* from either the parent or child will affect both.
|
|
70782
70807
|
*/
|
|
70783
|
-
createChild() {
|
|
70784
|
-
const child = new Log(
|
|
70785
|
-
logDebugTracing: __classPrivateFieldGet(this, _Log_logDebugTracing, "f")
|
|
70786
|
-
});
|
|
70808
|
+
createChild(options) {
|
|
70809
|
+
const child = new Log(options);
|
|
70787
70810
|
/**
|
|
70788
70811
|
* Attach child nodes to our own parent to collapse
|
|
70789
70812
|
* chains of loggers
|
|
@@ -70876,12 +70899,39 @@ class Log {
|
|
|
70876
70899
|
/**
|
|
70877
70900
|
* Dispose of the logger instance, clearing all logs and targets
|
|
70878
70901
|
*/
|
|
70879
|
-
[(_Log_logs = new WeakMap(), _Log_autoSyncInterval = new WeakMap(), _Log_isSyncing = new WeakMap(), _Log_shouldSyncAgain = new WeakMap(), _Log_destroyed = new WeakMap(), _Log_emitOnLog = new WeakMap(),
|
|
70902
|
+
[(_Log_logs = new WeakMap(), _Log_autoSyncInterval = new WeakMap(), _Log_isSyncing = new WeakMap(), _Log_shouldSyncAgain = new WeakMap(), _Log_destroyed = new WeakMap(), _Log_emitOnLog = new WeakMap(), _Log__logDebugTracing = new WeakMap(), _Log_targets = new WeakMap(), _Log__filter = new WeakMap(), _Log__logLevel = new WeakMap(), _Log_instances = new WeakSet(), _Log_logDebugTracing_get = function _Log_logDebugTracing_get() {
|
|
70903
|
+
if (__classPrivateFieldGet(this, _Log__logDebugTracing, "f") !== undefined) {
|
|
70904
|
+
return (__classPrivateFieldGet(this, _Log__logDebugTracing, "f"));
|
|
70905
|
+
}
|
|
70906
|
+
if (this.parent) {
|
|
70907
|
+
return (__classPrivateFieldGet(this.parent, _Log_instances, "a", _Log_logDebugTracing_get));
|
|
70908
|
+
}
|
|
70909
|
+
return (false);
|
|
70910
|
+
}, _Log_filter_get = function _Log_filter_get() {
|
|
70911
|
+
if (__classPrivateFieldGet(this, _Log__filter, "f") !== undefined) {
|
|
70912
|
+
return (__classPrivateFieldGet(this, _Log__filter, "f"));
|
|
70913
|
+
}
|
|
70914
|
+
if (this.parent) {
|
|
70915
|
+
return (__classPrivateFieldGet(this.parent, _Log_instances, "a", _Log_filter_get));
|
|
70916
|
+
}
|
|
70917
|
+
return (null);
|
|
70918
|
+
}, _Log_logLevel_get = function _Log_logLevel_get() {
|
|
70919
|
+
if (__classPrivateFieldGet(this, _Log__logLevel, "f") !== undefined) {
|
|
70920
|
+
return (__classPrivateFieldGet(this, _Log__logLevel, "f"));
|
|
70921
|
+
}
|
|
70922
|
+
if (this.parent) {
|
|
70923
|
+
return (__classPrivateFieldGet(this.parent, _Log_instances, "a", _Log_logLevel_get));
|
|
70924
|
+
}
|
|
70925
|
+
return ('ALL');
|
|
70926
|
+
}, _Log_log = function _Log_log(level, options, from, ...args) {
|
|
70880
70927
|
if (__classPrivateFieldGet(this, _Log_destroyed, "f")) {
|
|
70881
70928
|
return;
|
|
70882
70929
|
}
|
|
70883
70930
|
const log = { options, level, from, args };
|
|
70884
|
-
if (__classPrivateFieldGet(this,
|
|
70931
|
+
if ((0, common_1.filterLog)({ logLevel: __classPrivateFieldGet(this, _Log_instances, "a", _Log_logLevel_get), filter: __classPrivateFieldGet(this, _Log_instances, "a", _Log_filter_get) }, log) === null) {
|
|
70932
|
+
return;
|
|
70933
|
+
}
|
|
70934
|
+
if (__classPrivateFieldGet(this, _Log_instances, "a", _Log_logDebugTracing_get)) {
|
|
70885
70935
|
log.trace = new Error().stack?.split('\n').slice(2).join('\n') ?? '[No stack trace available]';
|
|
70886
70936
|
}
|
|
70887
70937
|
__classPrivateFieldGet(this, _Log_logs, "f").push(log);
|
|
@@ -81283,7 +81333,7 @@ exports.Testing = { findRDN, blockHashesFromVote, feeFromVote, hashDataSchema, f
|
|
|
81283
81333
|
|
|
81284
81334
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
81285
81335
|
exports.version = void 0;
|
|
81286
|
-
exports.version = '0.18.
|
|
81336
|
+
exports.version = '0.18.2+gac0baac4139da80613edd4a1ebc7532f37fc834a';
|
|
81287
81337
|
exports["default"] = exports.version;
|
|
81288
81338
|
|
|
81289
81339
|
|
package/docs/assets/hierarchy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "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"
|