@brightchain/brightchain-lib 0.8.1 → 0.10.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.
- package/brightchain-lib/BLOCK_COVERAGE_AUDIT.md +169 -0
- package/package.json +2 -2
- package/src/browser.d.ts +1 -4
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +6 -9
- package/src/browser.js.map +1 -1
- package/src/lib/blockMetadata.d.ts +10 -9
- package/src/lib/blockMetadata.d.ts.map +1 -1
- package/src/lib/blockMetadata.js +20 -36
- package/src/lib/blockMetadata.js.map +1 -1
- package/src/lib/blocks/base.d.ts +23 -0
- package/src/lib/blocks/base.d.ts.map +1 -1
- package/src/lib/blocks/base.js +33 -15
- package/src/lib/blocks/base.js.map +1 -1
- package/src/lib/blocks/cbl.d.ts +34 -1
- package/src/lib/blocks/cbl.d.ts.map +1 -1
- package/src/lib/blocks/cbl.js +36 -3
- package/src/lib/blocks/cbl.js.map +1 -1
- package/src/lib/blocks/cblBase.d.ts +45 -1
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js +106 -52
- package/src/lib/blocks/cblBase.js.map +1 -1
- package/src/lib/blocks/encrypted.d.ts +34 -5
- package/src/lib/blocks/encrypted.d.ts.map +1 -1
- package/src/lib/blocks/encrypted.js +129 -24
- package/src/lib/blocks/encrypted.js.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.js +2 -2
- package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
- package/src/lib/blocks/ephemeral.d.ts +35 -9
- package/src/lib/blocks/ephemeral.d.ts.map +1 -1
- package/src/lib/blocks/ephemeral.js +71 -42
- package/src/lib/blocks/ephemeral.js.map +1 -1
- package/src/lib/blocks/extendedCbl.d.ts +1 -1
- package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
- package/src/lib/blocks/extendedCbl.js +7 -7
- package/src/lib/blocks/extendedCbl.js.map +1 -1
- package/src/lib/blocks/handle.js +2 -2
- package/src/lib/blocks/handle.js.map +1 -1
- package/src/lib/blocks/handleTuple.js +2 -2
- package/src/lib/blocks/handleTuple.js.map +1 -1
- package/src/lib/blocks/random.d.ts +2 -1
- package/src/lib/blocks/random.d.ts.map +1 -1
- package/src/lib/blocks/random.js +7 -4
- package/src/lib/blocks/random.js.map +1 -1
- package/src/lib/blocks/rawData.d.ts +3 -1
- package/src/lib/blocks/rawData.d.ts.map +1 -1
- package/src/lib/blocks/rawData.js +31 -6
- package/src/lib/blocks/rawData.js.map +1 -1
- package/src/lib/blocks/whitened.d.ts +2 -1
- package/src/lib/blocks/whitened.d.ts.map +1 -1
- package/src/lib/blocks/whitened.js +7 -5
- package/src/lib/blocks/whitened.js.map +1 -1
- package/src/lib/config/constants.d.ts +2 -0
- package/src/lib/config/constants.d.ts.map +1 -0
- package/src/lib/config/constants.js +5 -0
- package/src/lib/config/constants.js.map +1 -0
- package/src/lib/constants.d.ts +37 -0
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +40 -1
- package/src/lib/constants.js.map +1 -1
- package/src/lib/cpus/index.d.ts +2 -3
- package/src/lib/cpus/index.d.ts.map +1 -1
- package/src/lib/cpus/index.js +5 -0
- package/src/lib/cpus/index.js.map +1 -1
- package/src/lib/cpus/instructionFactory.d.ts +56 -0
- package/src/lib/cpus/instructionFactory.d.ts.map +1 -0
- package/src/lib/cpus/instructionFactory.js +190 -0
- package/src/lib/cpus/instructionFactory.js.map +1 -0
- package/src/lib/cpus/instructionTables.d.ts +14 -12
- package/src/lib/cpus/instructionTables.d.ts.map +1 -1
- package/src/lib/cpus/instructionTables.js +17 -147
- package/src/lib/cpus/instructionTables.js.map +1 -1
- package/src/lib/cpus/riscvCpu.d.ts +51 -0
- package/src/lib/cpus/riscvCpu.d.ts.map +1 -0
- package/src/lib/cpus/riscvCpu.js +131 -0
- package/src/lib/cpus/riscvCpu.js.map +1 -0
- package/src/lib/documents/base/document.d.ts +1 -1
- package/src/lib/documents/base/document.d.ts.map +1 -1
- package/src/lib/documents/member/index.d.ts +2 -0
- package/src/lib/documents/member/index.d.ts.map +1 -1
- package/src/lib/documents/member/index.js +2 -0
- package/src/lib/documents/member/index.js.map +1 -1
- package/src/lib/documents/member/memberDocument.d.ts +4 -3
- package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
- package/src/lib/documents/member/memberDocument.js +11 -8
- package/src/lib/documents/member/memberDocument.js.map +1 -1
- package/src/lib/documents/member/memberHydration.d.ts.map +1 -1
- package/src/lib/documents/member/memberHydration.js +7 -21
- package/src/lib/documents/member/memberHydration.js.map +1 -1
- package/src/lib/documents/member/memberOperational.d.ts.map +1 -1
- package/src/lib/documents/member/memberOperational.js +2 -2
- package/src/lib/documents/member/memberOperational.js.map +1 -1
- package/src/lib/documents/member/memberProfileDocument.d.ts +138 -0
- package/src/lib/documents/member/memberProfileDocument.d.ts.map +1 -0
- package/src/lib/documents/member/memberProfileDocument.js +326 -0
- package/src/lib/documents/member/memberProfileDocument.js.map +1 -0
- package/src/lib/documents/member/memberProfileHydration.d.ts +12 -0
- package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -0
- package/src/lib/documents/member/memberProfileHydration.js +143 -0
- package/src/lib/documents/member/memberProfileHydration.js.map +1 -0
- package/src/lib/documents/network/networkDocument.d.ts.map +1 -1
- package/src/lib/documents/network/networkDocument.js +4 -3
- package/src/lib/documents/network/networkDocument.js.map +1 -1
- package/src/lib/documents/quorumDocument.d.ts +3 -14
- package/src/lib/documents/quorumDocument.d.ts.map +1 -1
- package/src/lib/documents/quorumDocument.js +4 -2
- package/src/lib/documents/quorumDocument.js.map +1 -1
- package/src/lib/encryptedBlockMetadata.d.ts +13 -5
- package/src/lib/encryptedBlockMetadata.d.ts.map +1 -1
- package/src/lib/encryptedBlockMetadata.js +31 -23
- package/src/lib/encryptedBlockMetadata.js.map +1 -1
- package/src/lib/enumerations/blockSize.d.ts +2 -2
- package/src/lib/enumerations/blockSize.d.ts.map +1 -1
- package/src/lib/enumerations/blockSize.js +15 -15
- package/src/lib/enumerations/blockSize.js.map +1 -1
- package/src/lib/enumerations/{stringNames.d.ts → brightChainStrings.d.ts} +4 -3
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -0
- package/src/lib/enumerations/brightChainStrings.js +437 -0
- package/src/lib/enumerations/brightChainStrings.js.map +1 -0
- package/src/lib/enumerations/cblErrorType.d.ts +1 -0
- package/src/lib/enumerations/cblErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/cblErrorType.js +1 -0
- package/src/lib/enumerations/cblErrorType.js.map +1 -1
- package/src/lib/enumerations/index.d.ts +1 -1
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +1 -1
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/votingDerivationErrorType.d.ts +2 -2
- package/src/lib/enumerations/votingDerivationErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/votingDerivationErrorType.js +11 -11
- package/src/lib/enumerations/votingDerivationErrorType.js.map +1 -1
- package/src/lib/ephemeralBlockMetadata.d.ts +13 -8
- package/src/lib/ephemeralBlockMetadata.d.ts.map +1 -1
- package/src/lib/ephemeralBlockMetadata.js +27 -19
- package/src/lib/ephemeralBlockMetadata.js.map +1 -1
- package/src/lib/errors/block/blockAccess.d.ts +2 -2
- package/src/lib/errors/block/blockAccess.d.ts.map +1 -1
- package/src/lib/errors/block/blockAccess.js +8 -8
- package/src/lib/errors/block/blockAccess.js.map +1 -1
- package/src/lib/errors/block/blockCapacity.d.ts +2 -2
- package/src/lib/errors/block/blockCapacity.d.ts.map +1 -1
- package/src/lib/errors/block/blockCapacity.js +8 -8
- package/src/lib/errors/block/blockCapacity.js.map +1 -1
- package/src/lib/errors/block/blockError.d.ts +2 -2
- package/src/lib/errors/block/blockError.d.ts.map +1 -1
- package/src/lib/errors/block/blockError.js +16 -16
- package/src/lib/errors/block/blockError.js.map +1 -1
- package/src/lib/errors/block/blockMetadata.d.ts +2 -2
- package/src/lib/errors/block/blockMetadata.d.ts.map +1 -1
- package/src/lib/errors/block/blockMetadata.js +8 -8
- package/src/lib/errors/block/blockMetadata.js.map +1 -1
- package/src/lib/errors/block/blockValidation.d.ts +2 -2
- package/src/lib/errors/block/blockValidation.d.ts.map +1 -1
- package/src/lib/errors/block/blockValidation.js +36 -36
- package/src/lib/errors/block/blockValidation.js.map +1 -1
- package/src/lib/errors/block/cannotDecrypt.d.ts.map +1 -1
- package/src/lib/errors/block/cannotDecrypt.js +2 -2
- package/src/lib/errors/block/cannotDecrypt.js.map +1 -1
- package/src/lib/errors/block/cannotEncrypt.d.ts.map +1 -1
- package/src/lib/errors/block/cannotEncrypt.js +2 -2
- package/src/lib/errors/block/cannotEncrypt.js.map +1 -1
- package/src/lib/errors/blockServiceError.d.ts +2 -2
- package/src/lib/errors/blockServiceError.d.ts.map +1 -1
- package/src/lib/errors/blockServiceError.js +15 -15
- package/src/lib/errors/blockServiceError.js.map +1 -1
- package/src/lib/errors/bufferError.d.ts.map +1 -1
- package/src/lib/errors/bufferError.js +2 -2
- package/src/lib/errors/bufferError.js.map +1 -1
- package/src/lib/errors/cblError.d.ts +2 -2
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js +37 -36
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/checksumMismatch.js +2 -2
- package/src/lib/errors/checksumMismatch.js.map +1 -1
- package/src/lib/errors/disposed.js +2 -2
- package/src/lib/errors/disposed.js.map +1 -1
- package/src/lib/errors/document.d.ts +2 -2
- package/src/lib/errors/document.d.ts.map +1 -1
- package/src/lib/errors/document.js +5 -5
- package/src/lib/errors/document.js.map +1 -1
- package/src/lib/errors/eciesError.d.ts +2 -2
- package/src/lib/errors/eciesError.d.ts.map +1 -1
- package/src/lib/errors/eciesError.js +20 -20
- package/src/lib/errors/eciesError.js.map +1 -1
- package/src/lib/errors/extendedCblError.d.ts +2 -2
- package/src/lib/errors/extendedCblError.d.ts.map +1 -1
- package/src/lib/errors/extendedCblError.js +25 -25
- package/src/lib/errors/extendedCblError.js.map +1 -1
- package/src/lib/errors/failedToHydrate.js +2 -2
- package/src/lib/errors/failedToHydrate.js.map +1 -1
- package/src/lib/errors/failedToSerialize.js +2 -2
- package/src/lib/errors/failedToSerialize.js.map +1 -1
- package/src/lib/errors/fecError.d.ts +2 -2
- package/src/lib/errors/fecError.d.ts.map +1 -1
- package/src/lib/errors/fecError.js +19 -19
- package/src/lib/errors/fecError.js.map +1 -1
- package/src/lib/errors/handleTupleError.d.ts +2 -2
- package/src/lib/errors/handleTupleError.d.ts.map +1 -1
- package/src/lib/errors/handleTupleError.js +5 -5
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/index.d.ts +0 -6
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +0 -9
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/invalidBlockSize.js +2 -2
- package/src/lib/errors/invalidBlockSize.js.map +1 -1
- package/src/lib/errors/invalidBlockSizeLength.js +2 -2
- package/src/lib/errors/invalidBlockSizeLength.js.map +1 -1
- package/src/lib/errors/invalidCredentials.js +2 -2
- package/src/lib/errors/invalidCredentials.js.map +1 -1
- package/src/lib/errors/invalidIDFormat.js +2 -2
- package/src/lib/errors/invalidIDFormat.js.map +1 -1
- package/src/lib/errors/invalidSessionID.js +2 -2
- package/src/lib/errors/invalidSessionID.js.map +1 -1
- package/src/lib/errors/invalidTupleCount.js +2 -2
- package/src/lib/errors/invalidTupleCount.js.map +1 -1
- package/src/lib/errors/isolatedKeyError.d.ts +2 -2
- package/src/lib/errors/isolatedKeyError.d.ts.map +1 -1
- package/src/lib/errors/isolatedKeyError.js +7 -7
- package/src/lib/errors/isolatedKeyError.js.map +1 -1
- package/src/lib/errors/memberError.d.ts +2 -2
- package/src/lib/errors/memberError.d.ts.map +1 -1
- package/src/lib/errors/memberError.js +27 -27
- package/src/lib/errors/memberError.js.map +1 -1
- package/src/lib/errors/memoryTupleError.d.ts +2 -2
- package/src/lib/errors/memoryTupleError.d.ts.map +1 -1
- package/src/lib/errors/memoryTupleError.js +7 -7
- package/src/lib/errors/memoryTupleError.js.map +1 -1
- package/src/lib/errors/metadataMismatch.js +2 -2
- package/src/lib/errors/metadataMismatch.js.map +1 -1
- package/src/lib/errors/multiEncryptedError.d.ts +2 -2
- package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
- package/src/lib/errors/multiEncryptedError.js +11 -11
- package/src/lib/errors/multiEncryptedError.js.map +1 -1
- package/src/lib/errors/notImplemented.js +2 -2
- package/src/lib/errors/notImplemented.js.map +1 -1
- package/src/lib/errors/quorumError.d.ts +2 -2
- package/src/lib/errors/quorumError.d.ts.map +1 -1
- package/src/lib/errors/quorumError.js +8 -8
- package/src/lib/errors/quorumError.js.map +1 -1
- package/src/lib/errors/sealingError.d.ts +2 -2
- package/src/lib/errors/sealingError.d.ts.map +1 -1
- package/src/lib/errors/sealingError.js +9 -9
- package/src/lib/errors/sealingError.js.map +1 -1
- package/src/lib/errors/secureStorage.d.ts +2 -2
- package/src/lib/errors/secureStorage.d.ts.map +1 -1
- package/src/lib/errors/secureStorage.js +4 -4
- package/src/lib/errors/secureStorage.js.map +1 -1
- package/src/lib/errors/storeError.d.ts +2 -2
- package/src/lib/errors/storeError.d.ts.map +1 -1
- package/src/lib/errors/storeError.js +20 -20
- package/src/lib/errors/storeError.js.map +1 -1
- package/src/lib/errors/streamError.d.ts +2 -2
- package/src/lib/errors/streamError.d.ts.map +1 -1
- package/src/lib/errors/streamError.js +8 -8
- package/src/lib/errors/streamError.js.map +1 -1
- package/src/lib/errors/symmetricError.d.ts +2 -2
- package/src/lib/errors/symmetricError.d.ts.map +1 -1
- package/src/lib/errors/symmetricError.js +3 -3
- package/src/lib/errors/symmetricError.js.map +1 -1
- package/src/lib/errors/systemKeyringError.d.ts +2 -2
- package/src/lib/errors/systemKeyringError.d.ts.map +1 -1
- package/src/lib/errors/systemKeyringError.js +4 -4
- package/src/lib/errors/systemKeyringError.js.map +1 -1
- package/src/lib/errors/tupleError.d.ts +2 -2
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js +13 -13
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/errors/typedError.d.ts +2 -2
- package/src/lib/errors/typedError.d.ts.map +1 -1
- package/src/lib/errors/typedWithReasonError.d.ts +3 -3
- package/src/lib/errors/typedWithReasonError.d.ts.map +1 -1
- package/src/lib/errors/typedWithReasonError.js.map +1 -1
- package/src/lib/errors/userNotFound.js +2 -2
- package/src/lib/errors/userNotFound.js.map +1 -1
- package/src/lib/errors/whitenedError.d.ts +2 -2
- package/src/lib/errors/whitenedError.d.ts.map +1 -1
- package/src/lib/errors/whitenedError.js +5 -5
- package/src/lib/errors/whitenedError.js.map +1 -1
- package/src/lib/factories/blockFactory.d.ts +23 -0
- package/src/lib/factories/blockFactory.d.ts.map +1 -0
- package/src/lib/factories/blockFactory.js +43 -0
- package/src/lib/factories/blockFactory.js.map +1 -0
- package/src/lib/i18n/index.d.ts +2 -2
- package/src/lib/i18n/index.d.ts.map +1 -1
- package/src/lib/i18n/index.js +2 -2
- package/src/lib/i18n/index.js.map +1 -1
- package/src/lib/index.d.ts +9 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +12 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/init.d.ts +10 -0
- package/src/lib/init.d.ts.map +1 -1
- package/src/lib/init.js +24 -4
- package/src/lib/init.js.map +1 -1
- package/src/lib/interfaces/blockCapacity.d.ts +8 -0
- package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/encrypted.d.ts +1 -1
- package/src/lib/interfaces/blocks/encrypted.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/ephemeral.d.ts +4 -7
- package/src/lib/interfaces/blocks/ephemeral.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/headers/index.d.ts +1 -0
- package/src/lib/interfaces/blocks/headers/index.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/headers/superCblHeader.d.ts +63 -0
- package/src/lib/interfaces/blocks/headers/superCblHeader.d.ts.map +1 -0
- package/src/lib/interfaces/{storage/superCbl.js → blocks/headers/superCblHeader.js} +1 -1
- package/src/lib/interfaces/blocks/headers/superCblHeader.js.map +1 -0
- package/src/lib/interfaces/blocks/metadata/index.d.ts +0 -1
- package/src/lib/interfaces/blocks/metadata/index.d.ts.map +1 -1
- package/src/lib/interfaces/constants.d.ts +29 -0
- package/src/lib/interfaces/constants.d.ts.map +1 -1
- package/src/lib/interfaces/document/quorumDocument.d.ts +15 -0
- package/src/lib/interfaces/document/quorumDocument.d.ts.map +1 -0
- package/src/lib/interfaces/document/quorumDocument.js +3 -0
- package/src/lib/interfaces/document/quorumDocument.js.map +1 -0
- package/src/lib/interfaces/member/memberData.d.ts +2 -0
- package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
- package/src/lib/interfaces/member/profileStorage.d.ts +77 -0
- package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -0
- package/src/lib/interfaces/member/profileStorage.js +3 -0
- package/src/lib/interfaces/member/profileStorage.js.map +1 -0
- package/src/lib/interfaces/serviceProvider.interface.d.ts +11 -8
- package/src/lib/interfaces/serviceProvider.interface.d.ts.map +1 -1
- package/src/lib/interfaces/services/cblServices.d.ts +148 -0
- package/src/lib/interfaces/services/cblServices.d.ts.map +1 -0
- package/src/lib/interfaces/services/cblServices.js +11 -0
- package/src/lib/interfaces/services/cblServices.js.map +1 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.d.ts +15 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.d.ts.map +1 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.js +3 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.js.map +1 -0
- package/src/lib/interfaces/services/index.d.ts +1 -0
- package/src/lib/interfaces/services/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +0 -1
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/logging/blockLogger.d.ts +218 -0
- package/src/lib/logging/blockLogger.d.ts.map +1 -0
- package/src/lib/logging/blockLogger.js +341 -0
- package/src/lib/logging/blockLogger.js.map +1 -0
- package/src/lib/logging/index.d.ts +24 -0
- package/src/lib/logging/index.d.ts.map +1 -0
- package/src/lib/logging/index.js +27 -0
- package/src/lib/logging/index.js.map +1 -0
- package/src/lib/logging/structuredLogger.d.ts +42 -0
- package/src/lib/logging/structuredLogger.d.ts.map +1 -0
- package/src/lib/logging/structuredLogger.js +93 -0
- package/src/lib/logging/structuredLogger.js.map +1 -0
- package/src/lib/primeTupleGeneratorStream.d.ts.map +1 -1
- package/src/lib/primeTupleGeneratorStream.js +4 -2
- package/src/lib/primeTupleGeneratorStream.js.map +1 -1
- package/src/lib/quorum.d.ts.map +1 -1
- package/src/lib/quorum.js +7 -5
- package/src/lib/quorum.js.map +1 -1
- package/src/lib/quorumDataRecord.d.ts +1 -1
- package/src/lib/quorumDataRecord.d.ts.map +1 -1
- package/src/lib/quorumDataRecord.js +5 -4
- package/src/lib/quorumDataRecord.js.map +1 -1
- package/src/lib/schemas/network/networkDocumentSchema.d.ts.map +1 -1
- package/src/lib/schemas/network/networkDocumentSchema.js +9 -8
- package/src/lib/schemas/network/networkDocumentSchema.js.map +1 -1
- package/src/lib/schemas/quorumDocument.d.ts +1 -1
- package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
- package/src/lib/schemas/quorumDocument.js +6 -4
- package/src/lib/schemas/quorumDocument.js.map +1 -1
- package/src/lib/security/dosProtection.d.ts +13 -0
- package/src/lib/security/dosProtection.d.ts.map +1 -0
- package/src/lib/security/dosProtection.js +29 -0
- package/src/lib/security/dosProtection.js.map +1 -0
- package/src/lib/security/dosProtectionValidator.d.ts +27 -0
- package/src/lib/security/dosProtectionValidator.d.ts.map +1 -0
- package/src/lib/security/dosProtectionValidator.js +60 -0
- package/src/lib/security/dosProtectionValidator.js.map +1 -0
- package/src/lib/security/index.d.ts +12 -0
- package/src/lib/security/index.d.ts.map +1 -0
- package/src/lib/security/index.js +15 -0
- package/src/lib/security/index.js.map +1 -0
- package/src/lib/security/rateLimitTypes.d.ts +20 -0
- package/src/lib/security/rateLimitTypes.d.ts.map +1 -0
- package/src/lib/security/rateLimitTypes.js +15 -0
- package/src/lib/security/rateLimitTypes.js.map +1 -0
- package/src/lib/security/rateLimiter.d.ts +29 -0
- package/src/lib/security/rateLimiter.d.ts.map +1 -0
- package/src/lib/security/rateLimiter.js +107 -0
- package/src/lib/security/rateLimiter.js.map +1 -0
- package/src/lib/security/securityAuditLogger.d.ts +59 -0
- package/src/lib/security/securityAuditLogger.d.ts.map +1 -0
- package/src/lib/security/securityAuditLogger.js +120 -0
- package/src/lib/security/securityAuditLogger.js.map +1 -0
- package/src/lib/security/securityEvent.d.ts +45 -0
- package/src/lib/security/securityEvent.d.ts.map +1 -0
- package/src/lib/security/securityEvent.js +44 -0
- package/src/lib/security/securityEvent.js.map +1 -0
- package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.js +14 -5
- package/src/lib/services/blockCapacity.service.js.map +1 -1
- package/src/lib/services/blockFormatService.d.ts +41 -0
- package/src/lib/services/blockFormatService.d.ts.map +1 -0
- package/src/lib/services/blockFormatService.js +252 -0
- package/src/lib/services/blockFormatService.js.map +1 -0
- package/src/lib/services/blockService.d.ts +6 -0
- package/src/lib/services/blockService.d.ts.map +1 -1
- package/src/lib/services/blockService.js +130 -28
- package/src/lib/services/blockService.js.map +1 -1
- package/src/lib/services/cblService.d.ts +162 -3
- package/src/lib/services/cblService.d.ts.map +1 -1
- package/src/lib/services/cblService.js +502 -21
- package/src/lib/services/cblService.js.map +1 -1
- package/src/lib/services/globalServiceProvider.d.ts +4 -0
- package/src/lib/services/globalServiceProvider.d.ts.map +1 -0
- package/src/lib/services/globalServiceProvider.js +26 -0
- package/src/lib/services/globalServiceProvider.js.map +1 -0
- package/src/lib/services/index.d.ts +0 -2
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +0 -2
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/member/memberCblService.d.ts.map +1 -1
- package/src/lib/services/member/memberCblService.js +11 -8
- package/src/lib/services/member/memberCblService.js.map +1 -1
- package/src/lib/services/memberStore.d.ts +8 -0
- package/src/lib/services/memberStore.d.ts.map +1 -1
- package/src/lib/services/memberStore.js +105 -76
- package/src/lib/services/memberStore.js.map +1 -1
- package/src/lib/services/sealing.service.d.ts +1 -1
- package/src/lib/services/sealing.service.d.ts.map +1 -1
- package/src/lib/services/sealing.service.js +4 -13
- package/src/lib/services/sealing.service.js.map +1 -1
- package/src/lib/services/service.provider.d.ts +2 -0
- package/src/lib/services/service.provider.d.ts.map +1 -1
- package/src/lib/services/service.provider.js +7 -12
- package/src/lib/services/service.provider.js.map +1 -1
- package/src/lib/services/serviceLocator.d.ts.map +1 -1
- package/src/lib/services/serviceLocator.js +2 -0
- package/src/lib/services/serviceLocator.js.map +1 -1
- package/src/lib/services/tuple.service.js +4 -4
- package/src/lib/services/tuple.service.js.map +1 -1
- package/src/lib/sharedTypes.d.ts +1 -22
- package/src/lib/sharedTypes.d.ts.map +1 -1
- package/src/lib/sharedTypes.js.map +1 -1
- package/src/lib/strings/englishUs.d.ts.map +1 -1
- package/src/lib/strings/englishUs.js +392 -392
- package/src/lib/strings/englishUs.js.map +1 -1
- package/src/lib/test/service.initializer.helper.d.ts +2 -1
- package/src/lib/test/service.initializer.helper.d.ts.map +1 -1
- package/src/lib/test/service.initializer.helper.js +11 -15
- package/src/lib/test/service.initializer.helper.js.map +1 -1
- package/src/lib/types/schema.d.ts +38 -0
- package/src/lib/types/schema.d.ts.map +1 -0
- package/src/lib/types/schema.js +7 -0
- package/src/lib/types/schema.js.map +1 -0
- package/src/lib/utils/constantTime.d.ts +27 -0
- package/src/lib/utils/constantTime.d.ts.map +1 -0
- package/src/lib/utils/constantTime.js +67 -0
- package/src/lib/utils/constantTime.js.map +1 -0
- package/src/lib/utils/constantTimeXor.d.ts +76 -0
- package/src/lib/utils/constantTimeXor.d.ts.map +1 -0
- package/src/lib/utils/constantTimeXor.js +122 -0
- package/src/lib/utils/constantTimeXor.js.map +1 -0
- package/src/lib/utils/dateUtils.d.ts +67 -0
- package/src/lib/utils/dateUtils.d.ts.map +1 -0
- package/src/lib/utils/dateUtils.js +136 -0
- package/src/lib/utils/dateUtils.js.map +1 -0
- package/src/lib/utils/index.d.ts +57 -0
- package/src/lib/utils/index.d.ts.map +1 -1
- package/src/lib/utils/index.js +69 -0
- package/src/lib/utils/index.js.map +1 -1
- package/src/lib/utils/typeGuards.d.ts +102 -0
- package/src/lib/utils/typeGuards.d.ts.map +1 -0
- package/src/lib/utils/typeGuards.js +244 -0
- package/src/lib/utils/typeGuards.js.map +1 -0
- package/src/lib/cpus/instructions.d.ts +0 -35
- package/src/lib/cpus/instructions.d.ts.map +0 -1
- package/src/lib/cpus/instructions.js +0 -285
- package/src/lib/cpus/instructions.js.map +0 -1
- package/src/lib/cpus/mach-o.d.ts +0 -7
- package/src/lib/cpus/mach-o.d.ts.map +0 -1
- package/src/lib/cpus/mach-o.js +0 -99
- package/src/lib/cpus/mach-o.js.map +0 -1
- package/src/lib/cpus/x86Cpu.d.ts +0 -21
- package/src/lib/cpus/x86Cpu.d.ts.map +0 -1
- package/src/lib/cpus/x86Cpu.js +0 -89
- package/src/lib/cpus/x86Cpu.js.map +0 -1
- package/src/lib/enumerations/stringNames.d.ts.map +0 -1
- package/src/lib/enumerations/stringNames.js +0 -436
- package/src/lib/enumerations/stringNames.js.map +0 -1
- package/src/lib/errors/superCbl.d.ts +0 -24
- package/src/lib/errors/superCbl.d.ts.map +0 -1
- package/src/lib/errors/superCbl.js +0 -43
- package/src/lib/errors/superCbl.js.map +0 -1
- package/src/lib/interfaces/storage/superCbl.d.ts +0 -102
- package/src/lib/interfaces/storage/superCbl.d.ts.map +0 -1
- package/src/lib/interfaces/storage/superCbl.js.map +0 -1
- package/src/lib/services/jsonCblCapacity.service.d.ts +0 -80
- package/src/lib/services/jsonCblCapacity.service.d.ts.map +0 -1
- package/src/lib/services/jsonCblCapacity.service.js +0 -147
- package/src/lib/services/jsonCblCapacity.service.js.map +0 -1
- package/src/lib/services/superCbl.service.d.ts +0 -68
- package/src/lib/services/superCbl.service.d.ts.map +0 -1
- package/src/lib/services/superCbl.service.js +0 -213
- package/src/lib/services/superCbl.service.js.map +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { X86Cpu } from './x86Cpu';
|
|
2
|
-
export declare function popr(cpu: X86Cpu, reg: number): () => void;
|
|
3
|
-
export declare function pushi(cpu: X86Cpu): () => void;
|
|
4
|
-
export declare function pushr(cpu: X86Cpu, register: number): () => void;
|
|
5
|
-
export declare function mov(cpu: X86Cpu, register: number): () => void;
|
|
6
|
-
export declare function movRegReg(cpu: X86Cpu): () => void;
|
|
7
|
-
export declare function movl(cpu: X86Cpu): () => void;
|
|
8
|
-
export declare function yam(cpu: X86Cpu): () => void;
|
|
9
|
-
export declare function lea(cpu: X86Cpu): () => void;
|
|
10
|
-
export declare function addReg(cpu: X86Cpu): () => void;
|
|
11
|
-
export declare function addRegPad(cpu: X86Cpu): () => void;
|
|
12
|
-
export declare function addEAX(cpu: X86Cpu): () => void;
|
|
13
|
-
export declare function subRAX(cpu: X86Cpu): () => void;
|
|
14
|
-
export declare function invokeX83(cpu: X86Cpu): () => void;
|
|
15
|
-
export declare function x83Add(cpu: X86Cpu): (reg: number, op2: number) => void;
|
|
16
|
-
export declare function x83Sub(cpu: X86Cpu): (reg: number, op2: number) => void;
|
|
17
|
-
export declare function x83Cmp(cpu: X86Cpu): (reg: number, op2: number) => void;
|
|
18
|
-
export declare function invokeX81_05Sub(cpu: X86Cpu): (reg: number, value?: number) => void;
|
|
19
|
-
export declare function invokeX81_07Cmp(cpu: X86Cpu): (reg: number) => void;
|
|
20
|
-
export declare function invokeX81(cpu: X86Cpu): () => void;
|
|
21
|
-
export declare function fn0x0f8dJge(cpu: X86Cpu): () => void;
|
|
22
|
-
export declare function invokeFn0x0f(cpu: X86Cpu): () => void;
|
|
23
|
-
export declare function fn0x0f8eJle(cpu: X86Cpu): () => void;
|
|
24
|
-
export declare function fn0x0fAfImul(cpu: X86Cpu): () => void;
|
|
25
|
-
export declare function noOp(): () => void;
|
|
26
|
-
export declare function jmpImm32(cpu: X86Cpu): () => void;
|
|
27
|
-
export declare function jmpImm8(cpu: X86Cpu): () => void;
|
|
28
|
-
export declare function jge(cpu: X86Cpu): () => void;
|
|
29
|
-
export declare function dec(cpu: X86Cpu, register: number): () => void;
|
|
30
|
-
export declare function call(cpu: X86Cpu): () => void;
|
|
31
|
-
export declare function ret(cpu: X86Cpu): () => void;
|
|
32
|
-
export declare function int(cpu: X86Cpu): () => void;
|
|
33
|
-
export declare function sysCallExit(cpu: X86Cpu): () => void;
|
|
34
|
-
export declare function sysCallInterrupt(cpu: X86Cpu): () => void;
|
|
35
|
-
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.popr = popr;
|
|
4
|
-
exports.pushi = pushi;
|
|
5
|
-
exports.pushr = pushr;
|
|
6
|
-
exports.mov = mov;
|
|
7
|
-
exports.movRegReg = movRegReg;
|
|
8
|
-
exports.movl = movl;
|
|
9
|
-
exports.yam = yam;
|
|
10
|
-
exports.lea = lea;
|
|
11
|
-
exports.addReg = addReg;
|
|
12
|
-
exports.addRegPad = addRegPad;
|
|
13
|
-
exports.addEAX = addEAX;
|
|
14
|
-
exports.subRAX = subRAX;
|
|
15
|
-
exports.invokeX83 = invokeX83;
|
|
16
|
-
exports.x83Add = x83Add;
|
|
17
|
-
exports.x83Sub = x83Sub;
|
|
18
|
-
exports.x83Cmp = x83Cmp;
|
|
19
|
-
exports.invokeX81_05Sub = invokeX81_05Sub;
|
|
20
|
-
exports.invokeX81_07Cmp = invokeX81_07Cmp;
|
|
21
|
-
exports.invokeX81 = invokeX81;
|
|
22
|
-
exports.fn0x0f8dJge = fn0x0f8dJge;
|
|
23
|
-
exports.invokeFn0x0f = invokeFn0x0f;
|
|
24
|
-
exports.fn0x0f8eJle = fn0x0f8eJle;
|
|
25
|
-
exports.fn0x0fAfImul = fn0x0fAfImul;
|
|
26
|
-
exports.noOp = noOp;
|
|
27
|
-
exports.jmpImm32 = jmpImm32;
|
|
28
|
-
exports.jmpImm8 = jmpImm8;
|
|
29
|
-
exports.jge = jge;
|
|
30
|
-
exports.dec = dec;
|
|
31
|
-
exports.call = call;
|
|
32
|
-
exports.ret = ret;
|
|
33
|
-
exports.int = int;
|
|
34
|
-
exports.sysCallExit = sysCallExit;
|
|
35
|
-
exports.sysCallInterrupt = sysCallInterrupt;
|
|
36
|
-
const cpuRegisters_1 = require("../enumerations/cpuRegisters");
|
|
37
|
-
const instructionTables_1 = require("./instructionTables");
|
|
38
|
-
// pop reg
|
|
39
|
-
function popr(cpu, reg) {
|
|
40
|
-
return function () {
|
|
41
|
-
cpu.Registers[reg] = cpu.pop();
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function pushi(cpu) {
|
|
45
|
-
return function () {
|
|
46
|
-
cpu.push(cpu.read(1));
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function pushr(cpu, register) {
|
|
50
|
-
return function () {
|
|
51
|
-
cpu.push(cpu.Registers[register]);
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
function mov(cpu, register) {
|
|
55
|
-
return function () {
|
|
56
|
-
cpu.Registers[register] = cpu.read(4);
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
function movRegReg(cpu) {
|
|
60
|
-
return function () {
|
|
61
|
-
const rm = cpu.read(1);
|
|
62
|
-
const r0 = (rm >> 3) & 7;
|
|
63
|
-
const r1 = rm & 7;
|
|
64
|
-
if (!(rm & (1 << 7))) {
|
|
65
|
-
let offset = cpu.read(-1) >> 2;
|
|
66
|
-
if (rm & 4 && offset == 9) {
|
|
67
|
-
offset = 0;
|
|
68
|
-
}
|
|
69
|
-
cpu.Stack[cpu.Registers[r1] + offset] = cpu.Registers[r0];
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
cpu.Registers[r1] = cpu.Registers[r0];
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
function movl(cpu) {
|
|
77
|
-
return function () {
|
|
78
|
-
const op1 = cpu.read(1);
|
|
79
|
-
const reg = op1 & 7;
|
|
80
|
-
let offset = cpu.read(-1) >> 2;
|
|
81
|
-
if (!(op1 & (1 << 6))) {
|
|
82
|
-
offset = 0;
|
|
83
|
-
}
|
|
84
|
-
const sp = cpu.Registers[reg] + offset;
|
|
85
|
-
cpu.Stack[sp] = cpu.read(4);
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
function yam(cpu) {
|
|
89
|
-
return function () {
|
|
90
|
-
const rm = cpu.read(1);
|
|
91
|
-
const r0 = (rm >> 3) & 7;
|
|
92
|
-
const r1 = rm & 7;
|
|
93
|
-
const offset = cpu.read(-1) >> 2;
|
|
94
|
-
cpu.Registers[r0] = cpu.Stack[cpu.Registers[r1] + offset];
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
function lea(cpu) {
|
|
98
|
-
return function () {
|
|
99
|
-
const op1 = cpu.read(1);
|
|
100
|
-
const reg0 = (op1 >> 3) & 7;
|
|
101
|
-
const reg1 = op1 & 7;
|
|
102
|
-
let offset = cpu.read(-1);
|
|
103
|
-
if (!(op1 & (1 << 6))) {
|
|
104
|
-
offset = 0;
|
|
105
|
-
}
|
|
106
|
-
cpu.Registers[reg0] = cpu.Registers[reg1] + offset;
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
function addReg(cpu) {
|
|
110
|
-
return function () {
|
|
111
|
-
const rm = cpu.read(1) - 0xc0;
|
|
112
|
-
const r0 = rm >> 3;
|
|
113
|
-
const r1 = rm & 7;
|
|
114
|
-
cpu.Registers[r1] += cpu.Registers[r0];
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
function addRegPad(cpu) {
|
|
118
|
-
return function () {
|
|
119
|
-
const rm = cpu.read(1);
|
|
120
|
-
const r0 = (rm >> 3) & 7;
|
|
121
|
-
const r1 = rm & 7;
|
|
122
|
-
const offset = cpu.read(-1) >> 2;
|
|
123
|
-
cpu.Registers[r0] += cpu.Stack[cpu.Registers[r1] + offset];
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
function addEAX(cpu) {
|
|
127
|
-
return function () {
|
|
128
|
-
cpu.Registers[cpuRegisters_1.default.EAX] += cpu.read(4);
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
function subRAX(cpu) {
|
|
132
|
-
return function () {
|
|
133
|
-
cpu.Registers[cpuRegisters_1.default.EAX] -= cpu.read(4);
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
function invokeX83(cpu) {
|
|
137
|
-
return function () {
|
|
138
|
-
const op1 = cpu.read(1);
|
|
139
|
-
const fn = (op1 >> 3) & 7;
|
|
140
|
-
const reg = op1 & 7;
|
|
141
|
-
const op2 = cpu.read(1);
|
|
142
|
-
const fnFunc = (0, instructionTables_1.getX83Instruction)(cpu, fn);
|
|
143
|
-
fnFunc(reg, op2);
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
function x83Add(cpu) {
|
|
147
|
-
return function (reg, op2) {
|
|
148
|
-
cpu.Registers[reg] += op2 >> 2;
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
function x83Sub(cpu) {
|
|
152
|
-
return function (reg, op2) {
|
|
153
|
-
cpu.Registers[reg] -= op2 >> 2;
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
function x83Cmp(cpu) {
|
|
157
|
-
return function (reg, op2) {
|
|
158
|
-
const tmp = cpu.Registers[reg] - op2;
|
|
159
|
-
cpu.NZ = tmp != 0;
|
|
160
|
-
cpu.NG = tmp < 0;
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
function invokeX81_05Sub(cpu) {
|
|
164
|
-
return function (reg, value) {
|
|
165
|
-
if (value == undefined) {
|
|
166
|
-
throw new Error('value is undefined');
|
|
167
|
-
}
|
|
168
|
-
cpu.Registers[reg] -= cpu.read(4);
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
function invokeX81_07Cmp(cpu) {
|
|
172
|
-
return function (reg) {
|
|
173
|
-
const offset = cpu.read(-1) >> 2;
|
|
174
|
-
const value = cpu.read(4);
|
|
175
|
-
const tmp = cpu.Stack[cpu.Registers[reg] + offset] - value;
|
|
176
|
-
cpu.NZ = tmp != 0;
|
|
177
|
-
cpu.NG = tmp < 0;
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
function invokeX81(cpu) {
|
|
181
|
-
return function () {
|
|
182
|
-
const op1 = cpu.read(1);
|
|
183
|
-
const fn = (op1 >> 3) & 7;
|
|
184
|
-
const reg = op1 & 7;
|
|
185
|
-
const fnFunc = (0, instructionTables_1.getFn0x81Instruction)(cpu, fn);
|
|
186
|
-
fnFunc(reg, op1); // this may not be correct
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
function fn0x0f8dJge(cpu) {
|
|
190
|
-
return function () {
|
|
191
|
-
const dist = cpu.read(4);
|
|
192
|
-
if (!cpu.NG) {
|
|
193
|
-
cpu.PC += dist;
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
function invokeFn0x0f(cpu) {
|
|
198
|
-
return function () {
|
|
199
|
-
// Call the actual function inside the prefix
|
|
200
|
-
const op = cpu.read(1);
|
|
201
|
-
const fn = (0, instructionTables_1.getFn0x0fInstruction)(cpu, op);
|
|
202
|
-
fn();
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
function fn0x0f8eJle(cpu) {
|
|
206
|
-
return function () {
|
|
207
|
-
const dist = cpu.read(4);
|
|
208
|
-
if (cpu.NG || !cpu.NZ) {
|
|
209
|
-
cpu.PC += dist;
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
function fn0x0fAfImul(cpu) {
|
|
214
|
-
return function () {
|
|
215
|
-
const rm = cpu.read(1) - 0xc0;
|
|
216
|
-
const r0 = rm >> 3;
|
|
217
|
-
const r1 = rm & 7;
|
|
218
|
-
cpu.Registers[r0] = cpu.Registers[r0] * cpu.Registers[r1];
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
function noOp() {
|
|
222
|
-
return function () {
|
|
223
|
-
// noop
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
function jmpImm32(cpu) {
|
|
227
|
-
return function () {
|
|
228
|
-
const dst = cpu.read(4);
|
|
229
|
-
cpu.PC += dst;
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
// jmp imm8
|
|
233
|
-
function jmpImm8(cpu) {
|
|
234
|
-
return function () {
|
|
235
|
-
const dst = cpu.read(1);
|
|
236
|
-
cpu.PC += dst;
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
function jge(cpu) {
|
|
240
|
-
return function () {
|
|
241
|
-
const dist = cpu.read(-1);
|
|
242
|
-
if (!cpu.NG) {
|
|
243
|
-
cpu.PC += dist;
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
// dec
|
|
248
|
-
function dec(cpu, register) {
|
|
249
|
-
return function () {
|
|
250
|
-
cpu.Registers[register]--;
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
function call(cpu) {
|
|
254
|
-
return function () {
|
|
255
|
-
const dst = cpu.read(4);
|
|
256
|
-
cpu.push(cpu.PC);
|
|
257
|
-
cpu.PC += dst;
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
function ret(cpu) {
|
|
261
|
-
return function () {
|
|
262
|
-
cpu.PC = cpu.pop();
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
function int(cpu) {
|
|
266
|
-
return function () {
|
|
267
|
-
const op = cpu.read(1);
|
|
268
|
-
const fn = (0, instructionTables_1.getInterruptInstruction)(cpu, op);
|
|
269
|
-
fn();
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
function sysCallExit(cpu) {
|
|
273
|
-
return function () {
|
|
274
|
-
console.log('Program returned %s', cpu.Stack[cpu.Registers[cpuRegisters_1.default.ESP + 1]]);
|
|
275
|
-
cpu.PC = -1;
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
function sysCallInterrupt(cpu) {
|
|
279
|
-
return function () {
|
|
280
|
-
const syscallOp = cpu.Registers[cpuRegisters_1.default.EAX];
|
|
281
|
-
const syscallFunc = (0, instructionTables_1.getSysCallInstruction)(cpu, syscallOp);
|
|
282
|
-
syscallFunc();
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/instructions.ts"],"names":[],"mappings":"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"}
|
package/src/lib/cpus/mach-o.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { X86Cpu } from './x86Cpu';
|
|
2
|
-
export declare function loadBinary(file: Blob): void;
|
|
3
|
-
export declare function readBinary(buffer: Uint8Array): X86Cpu;
|
|
4
|
-
export declare function handleCommand(cpu: X86Cpu, buffer: Uint8Array, commandBuffer: Uint8Array): void;
|
|
5
|
-
export declare function handleSegmentCommand(cpu: X86Cpu, buffer: Uint8Array, commandBuffer: Uint8Array): void;
|
|
6
|
-
export declare function handleUnixThreadCommand(cpu: X86Cpu, buffer: Uint8Array, commandBuffer: Uint8Array): void;
|
|
7
|
-
//# sourceMappingURL=mach-o.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mach-o.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/mach-o.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,QAUpC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA6BrD;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,QAa1B;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,QAgB1B;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,QAmB1B"}
|
package/src/lib/cpus/mach-o.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
// https://gist.githubusercontent.com/tadeuzagallo/3853299f033bf9b746e4/raw/43467ba1bee7251e1b653123f29e6ff5643a0735/mach-o.js
|
|
2
|
-
// https://gist.github.com/tadeuzagallo/3853299f033bf9b746e4
|
|
3
|
-
'use strict';
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.loadBinary = loadBinary;
|
|
6
|
-
exports.readBinary = readBinary;
|
|
7
|
-
exports.handleCommand = handleCommand;
|
|
8
|
-
exports.handleSegmentCommand = handleSegmentCommand;
|
|
9
|
-
exports.handleUnixThreadCommand = handleUnixThreadCommand;
|
|
10
|
-
const cpuRegisters_1 = require("../enumerations/cpuRegisters");
|
|
11
|
-
const x86Cpu_1 = require("./x86Cpu");
|
|
12
|
-
const LC_SEGMENT = 0x00000001;
|
|
13
|
-
const LC_UNIXTHREAD = 0x00000005;
|
|
14
|
-
function loadBinary(file) {
|
|
15
|
-
const reader = new FileReader();
|
|
16
|
-
reader.addEventListener('loadend', function () {
|
|
17
|
-
if (typeof reader.result == 'string' || reader.result == null) {
|
|
18
|
-
throw new Error('Invalid Mach-O file');
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
readBinary(new Uint8Array(reader.result));
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
reader.readAsArrayBuffer(file);
|
|
25
|
-
}
|
|
26
|
-
function readBinary(buffer) {
|
|
27
|
-
const header = buffer.subarray(0, 7);
|
|
28
|
-
if (header[0] !== 0xfeedface) {
|
|
29
|
-
throw new Error('Invalid Mach magic');
|
|
30
|
-
}
|
|
31
|
-
const cpu = x86Cpu_1.X86Cpu.new(1048576, 8);
|
|
32
|
-
// var cpuType = header[1];
|
|
33
|
-
// var cpuSubtype = header[2];
|
|
34
|
-
// var fileType = header[3];
|
|
35
|
-
const numCommands = header[4];
|
|
36
|
-
// var commandsSize = header[5];
|
|
37
|
-
// var flags = header[6];
|
|
38
|
-
let currentCommandStart = 7;
|
|
39
|
-
for (let i = 0; i < numCommands; i++) {
|
|
40
|
-
const commandSize = buffer[currentCommandStart + 1];
|
|
41
|
-
const commandEnd = currentCommandStart + commandSize / 4;
|
|
42
|
-
const commandBuffer = buffer.subarray(currentCommandStart, commandEnd);
|
|
43
|
-
handleCommand(cpu, buffer, commandBuffer);
|
|
44
|
-
currentCommandStart = commandEnd;
|
|
45
|
-
}
|
|
46
|
-
if (cpu.PC !== -1) {
|
|
47
|
-
cpu.run();
|
|
48
|
-
return cpu;
|
|
49
|
-
}
|
|
50
|
-
cpu.PC = -1;
|
|
51
|
-
throw new Error('Invalid Mach-O file');
|
|
52
|
-
}
|
|
53
|
-
function handleCommand(cpu, buffer, commandBuffer) {
|
|
54
|
-
const command = commandBuffer[0];
|
|
55
|
-
switch (command) {
|
|
56
|
-
case LC_SEGMENT:
|
|
57
|
-
handleSegmentCommand(cpu, buffer, commandBuffer);
|
|
58
|
-
break;
|
|
59
|
-
case LC_UNIXTHREAD:
|
|
60
|
-
handleUnixThreadCommand(cpu, buffer, commandBuffer);
|
|
61
|
-
break;
|
|
62
|
-
default:
|
|
63
|
-
// Unhandled command
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function handleSegmentCommand(cpu, buffer, commandBuffer) {
|
|
67
|
-
const vmAddress = commandBuffer[6] >> 2;
|
|
68
|
-
const vmSize = commandBuffer[7] >> 2;
|
|
69
|
-
const fileOffset = commandBuffer[8] >> 2;
|
|
70
|
-
const fileSize = commandBuffer[9] >> 2;
|
|
71
|
-
const fileEnd = fileOffset + fileSize;
|
|
72
|
-
const view = new Uint32Array(cpu.Program);
|
|
73
|
-
for (let i = 0; i < vmSize; i++) {
|
|
74
|
-
if (fileOffset + i >= fileEnd) {
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
view[vmAddress + i] = buffer[fileOffset + i];
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
function handleUnixThreadCommand(cpu, buffer, commandBuffer) {
|
|
81
|
-
const offset = 4;
|
|
82
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.EAX] = commandBuffer[offset]; // eax
|
|
83
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.ECX] = commandBuffer[offset + 2]; // ecx
|
|
84
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.EDX] = commandBuffer[offset + 3]; // edx
|
|
85
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.EBX] = commandBuffer[offset + 1]; // ebx
|
|
86
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.ESP] = commandBuffer[offset + 7]; // esp
|
|
87
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.EBP] = commandBuffer[offset + 6]; // ebp
|
|
88
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.ESI] = commandBuffer[offset + 5]; // esi
|
|
89
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.EDI] = commandBuffer[offset + 4]; // edi
|
|
90
|
-
//var ss = commandBuffer[offset + 8];
|
|
91
|
-
//var eflags = commandBuffer[offset + 9];
|
|
92
|
-
cpu.PC = commandBuffer[offset + 10];
|
|
93
|
-
//var cs = commandBuffer[offset + 11];
|
|
94
|
-
//var ds = commandBuffer[offset + 12];
|
|
95
|
-
//var es = commandBuffer[offset + 13];
|
|
96
|
-
//var fs = commandBuffer[offset + 14];
|
|
97
|
-
//var gs = commandBuffer[offset + 15];
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=mach-o.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mach-o.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/mach-o.ts"],"names":[],"mappings":"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"}
|
package/src/lib/cpus/x86Cpu.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export declare class X86Cpu {
|
|
2
|
-
NG: boolean;
|
|
3
|
-
NZ: boolean;
|
|
4
|
-
static readonly StackSize = 1024;
|
|
5
|
-
static readonly RegisterCount = 8;
|
|
6
|
-
readonly Interrupts: Map<number, () => void>;
|
|
7
|
-
readonly Program: Uint8Array;
|
|
8
|
-
readonly Registers: Uint32Array;
|
|
9
|
-
PC: number;
|
|
10
|
-
Instructions: Array<() => void>;
|
|
11
|
-
Syscalls: Map<number, () => void>;
|
|
12
|
-
constructor(memory: ArrayBuffer | Uint8Array | number, registers: number | Uint32Array, pc: number);
|
|
13
|
-
readonly Stack: Uint32Array<ArrayBuffer>;
|
|
14
|
-
read(size: number): number;
|
|
15
|
-
pop(): number;
|
|
16
|
-
push(value: number): void;
|
|
17
|
-
static new(memory: number | Uint8Array | ArrayBuffer, registers: number | Uint32Array, pc?: number): X86Cpu;
|
|
18
|
-
run(): void;
|
|
19
|
-
static run(memory: number | Uint8Array | ArrayBuffer, registers: number | Uint32Array, pc: number): X86Cpu;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=x86Cpu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"x86Cpu.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/x86Cpu.ts"],"names":[],"mappings":"AASA,qBAAa,MAAM;IACV,EAAE,UAAS;IACX,EAAE,UAAS;IAElB,gBAAuB,SAAS,QAAQ;IACxC,gBAAuB,aAAa,KAAK;IAEzC,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAG/C;IACJ,SAAgB,OAAO,EAAE,UAAU,CAAC;IACpC,SAAgB,SAAS,EAAE,WAAW,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;gBAGvC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,EACzC,SAAS,EAAE,MAAM,GAAG,WAAW,EAC/B,EAAE,EAAE,MAAM;IAkBZ,SAAgB,KAAK,2BAAqC;IAEnD,IAAI,CAAC,IAAI,EAAE,MAAM;IA2BjB,GAAG;IAIH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;WAIlB,GAAG,CACf,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,EACzC,SAAS,EAAE,MAAM,GAAG,WAAW,EAC/B,EAAE,SAAK,GACN,MAAM;IAMF,GAAG;WAOI,GAAG,CACf,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,EACzC,SAAS,EAAE,MAAM,GAAG,WAAW,EAC/B,EAAE,EAAE,MAAM,GACT,MAAM;CASV"}
|
package/src/lib/cpus/x86Cpu.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
// https://gist.githubusercontent.com/tadeuzagallo/3853299f033bf9b746e4/raw/43467ba1bee7251e1b653123f29e6ff5643a0735/x86.js
|
|
2
|
-
// https://gist.github.com/tadeuzagallo/3853299f033bf9b746e4
|
|
3
|
-
'use strict';
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.X86Cpu = void 0;
|
|
6
|
-
const cpuRegisters_1 = require("../enumerations/cpuRegisters");
|
|
7
|
-
const instructionTables_1 = require("./instructionTables");
|
|
8
|
-
class X86Cpu {
|
|
9
|
-
constructor(memory, registers, pc) {
|
|
10
|
-
this.NG = false;
|
|
11
|
-
this.NZ = false;
|
|
12
|
-
this.Interrupts = new Map();
|
|
13
|
-
this.Stack = new Uint32Array(X86Cpu.StackSize);
|
|
14
|
-
if (memory instanceof Uint8Array) {
|
|
15
|
-
this.Program = memory;
|
|
16
|
-
}
|
|
17
|
-
else if (memory instanceof ArrayBuffer) {
|
|
18
|
-
this.Program = new Uint8Array(memory);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
this.Program = new Uint8Array(memory);
|
|
22
|
-
}
|
|
23
|
-
if (registers instanceof Uint32Array) {
|
|
24
|
-
this.Registers = registers;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.Registers = new Uint32Array(registers);
|
|
28
|
-
}
|
|
29
|
-
this.PC = pc;
|
|
30
|
-
this.Instructions = (0, instructionTables_1.buildInstructionArray)(this);
|
|
31
|
-
this.Syscalls = (0, instructionTables_1.syscallInstructions)(this);
|
|
32
|
-
}
|
|
33
|
-
read(size) {
|
|
34
|
-
let value;
|
|
35
|
-
switch (size) {
|
|
36
|
-
case 1:
|
|
37
|
-
value = this.Program[this.PC];
|
|
38
|
-
break;
|
|
39
|
-
case 2:
|
|
40
|
-
value = (this.Program[this.PC + 1] << 8) | this.Program[this.PC];
|
|
41
|
-
break;
|
|
42
|
-
case 4:
|
|
43
|
-
value =
|
|
44
|
-
(this.Program[this.PC + 3] << 24) |
|
|
45
|
-
(this.Program[this.PC + 2] << 16) |
|
|
46
|
-
(this.Program[this.PC + 1] << 8) |
|
|
47
|
-
this.Program[this.PC];
|
|
48
|
-
break;
|
|
49
|
-
case -1:
|
|
50
|
-
// http://blog.vjeux.com/2013/javascript/conversion-from-uint8-to-int8-x-24.html
|
|
51
|
-
value = (this.Program[this.PC] << 24) >> 24;
|
|
52
|
-
break;
|
|
53
|
-
default:
|
|
54
|
-
throw new Error('Invalid read size');
|
|
55
|
-
}
|
|
56
|
-
this.PC += Math.abs(size); // & 127; // abs
|
|
57
|
-
return value;
|
|
58
|
-
}
|
|
59
|
-
pop() {
|
|
60
|
-
return this.Stack[this.Registers[cpuRegisters_1.CpuRegisters.ESP]++];
|
|
61
|
-
}
|
|
62
|
-
push(value) {
|
|
63
|
-
this.Stack[--this.Registers[cpuRegisters_1.CpuRegisters.ESP]] = value;
|
|
64
|
-
}
|
|
65
|
-
static new(memory, registers, pc = -1) {
|
|
66
|
-
const cpu = new X86Cpu(memory, registers, pc);
|
|
67
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.ESP] = 1023;
|
|
68
|
-
return cpu;
|
|
69
|
-
}
|
|
70
|
-
run() {
|
|
71
|
-
let op;
|
|
72
|
-
while (this.PC !== -1 && (op = this.read(1))) {
|
|
73
|
-
this.Instructions[op]();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
static run(memory, registers, pc) {
|
|
77
|
-
const cpu = new X86Cpu(memory, registers, pc);
|
|
78
|
-
cpu.Registers[cpuRegisters_1.CpuRegisters.ESP] = 1023;
|
|
79
|
-
let op;
|
|
80
|
-
while (cpu.PC !== -1 && (op = cpu.read(1))) {
|
|
81
|
-
cpu.Instructions[op]();
|
|
82
|
-
}
|
|
83
|
-
return cpu;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
exports.X86Cpu = X86Cpu;
|
|
87
|
-
X86Cpu.StackSize = 1024;
|
|
88
|
-
X86Cpu.RegisterCount = 8;
|
|
89
|
-
//# sourceMappingURL=x86Cpu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"x86Cpu.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/x86Cpu.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stringNames.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/enumerations/stringNames.ts"],"names":[],"mappings":"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"}
|