@bsv/sdk 1.0.24 → 1.0.29
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/package.json +1 -1
- package/dist/cjs/mod.js +0 -25
- package/dist/cjs/mod.js.map +0 -1
- package/dist/cjs/package.json +0 -49
- package/dist/cjs/src/compat/BSM.js +0 -77
- package/dist/cjs/src/compat/BSM.js.map +0 -1
- package/dist/cjs/src/compat/ECIES.js +0 -512
- package/dist/cjs/src/compat/ECIES.js.map +0 -1
- package/dist/cjs/src/compat/HD.js +0 -344
- package/dist/cjs/src/compat/HD.js.map +0 -1
- package/dist/cjs/src/compat/Mnemonic.js +0 -298
- package/dist/cjs/src/compat/Mnemonic.js.map +0 -1
- package/dist/cjs/src/compat/bip-39-wordlist-en.js +0 -2057
- package/dist/cjs/src/compat/bip-39-wordlist-en.js.map +0 -1
- package/dist/cjs/src/compat/index.js +0 -37
- package/dist/cjs/src/compat/index.js.map +0 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +0 -69
- package/dist/cjs/src/messages/EncryptedMessage.js.map +0 -1
- package/dist/cjs/src/messages/SignedMessage.js +0 -85
- package/dist/cjs/src/messages/SignedMessage.js.map +0 -1
- package/dist/cjs/src/messages/index.js +0 -29
- package/dist/cjs/src/messages/index.js.map +0 -1
- package/dist/cjs/src/primitives/AESGCM.js +0 -384
- package/dist/cjs/src/primitives/AESGCM.js.map +0 -1
- package/dist/cjs/src/primitives/BasePoint.js +0 -19
- package/dist/cjs/src/primitives/BasePoint.js.map +0 -1
- package/dist/cjs/src/primitives/BigNumber.js +0 -4272
- package/dist/cjs/src/primitives/BigNumber.js.map +0 -1
- package/dist/cjs/src/primitives/Curve.js +0 -1126
- package/dist/cjs/src/primitives/Curve.js.map +0 -1
- package/dist/cjs/src/primitives/DRBG.js +0 -99
- package/dist/cjs/src/primitives/DRBG.js.map +0 -1
- package/dist/cjs/src/primitives/ECDSA.js +0 -169
- package/dist/cjs/src/primitives/ECDSA.js.map +0 -1
- package/dist/cjs/src/primitives/Hash.js +0 -1387
- package/dist/cjs/src/primitives/Hash.js.map +0 -1
- package/dist/cjs/src/primitives/JacobianPoint.js +0 -400
- package/dist/cjs/src/primitives/JacobianPoint.js.map +0 -1
- package/dist/cjs/src/primitives/K256.js +0 -111
- package/dist/cjs/src/primitives/K256.js.map +0 -1
- package/dist/cjs/src/primitives/Mersenne.js +0 -118
- package/dist/cjs/src/primitives/Mersenne.js.map +0 -1
- package/dist/cjs/src/primitives/MontgomoryMethod.js +0 -150
- package/dist/cjs/src/primitives/MontgomoryMethod.js.map +0 -1
- package/dist/cjs/src/primitives/Point.js +0 -819
- package/dist/cjs/src/primitives/Point.js.map +0 -1
- package/dist/cjs/src/primitives/PrivateKey.js +0 -246
- package/dist/cjs/src/primitives/PrivateKey.js.map +0 -1
- package/dist/cjs/src/primitives/PublicKey.js +0 -168
- package/dist/cjs/src/primitives/PublicKey.js.map +0 -1
- package/dist/cjs/src/primitives/Random.js +0 -57
- package/dist/cjs/src/primitives/Random.js.map +0 -1
- package/dist/cjs/src/primitives/ReductionContext.js +0 -490
- package/dist/cjs/src/primitives/ReductionContext.js.map +0 -1
- package/dist/cjs/src/primitives/Signature.js +0 -357
- package/dist/cjs/src/primitives/Signature.js.map +0 -1
- package/dist/cjs/src/primitives/SymmetricKey.js +0 -82
- package/dist/cjs/src/primitives/SymmetricKey.js.map +0 -1
- package/dist/cjs/src/primitives/TransactionSignature.js +0 -172
- package/dist/cjs/src/primitives/TransactionSignature.js.map +0 -1
- package/dist/cjs/src/primitives/index.js +0 -51
- package/dist/cjs/src/primitives/index.js.map +0 -1
- package/dist/cjs/src/primitives/utils.js +0 -624
- package/dist/cjs/src/primitives/utils.js.map +0 -1
- package/dist/cjs/src/script/LockingScript.js +0 -35
- package/dist/cjs/src/script/LockingScript.js.map +0 -1
- package/dist/cjs/src/script/OP.js +0 -207
- package/dist/cjs/src/script/OP.js.map +0 -1
- package/dist/cjs/src/script/Script.js +0 -435
- package/dist/cjs/src/script/Script.js.map +0 -1
- package/dist/cjs/src/script/ScriptChunk.js +0 -3
- package/dist/cjs/src/script/ScriptChunk.js.map +0 -1
- package/dist/cjs/src/script/ScriptTemplate.js +0 -3
- package/dist/cjs/src/script/ScriptTemplate.js.map +0 -1
- package/dist/cjs/src/script/Spend.js +0 -1252
- package/dist/cjs/src/script/Spend.js.map +0 -1
- package/dist/cjs/src/script/UnlockingScript.js +0 -35
- package/dist/cjs/src/script/UnlockingScript.js.map +0 -1
- package/dist/cjs/src/script/index.js +0 -32
- package/dist/cjs/src/script/index.js.map +0 -1
- package/dist/cjs/src/script/templates/P2PKH.js +0 -120
- package/dist/cjs/src/script/templates/P2PKH.js.map +0 -1
- package/dist/cjs/src/script/templates/RPuzzle.js +0 -125
- package/dist/cjs/src/script/templates/RPuzzle.js.map +0 -1
- package/dist/cjs/src/script/templates/index.js +0 -11
- package/dist/cjs/src/script/templates/index.js.map +0 -1
- package/dist/cjs/src/transaction/Broadcaster.js +0 -3
- package/dist/cjs/src/transaction/Broadcaster.js.map +0 -1
- package/dist/cjs/src/transaction/ChainTracker.js +0 -3
- package/dist/cjs/src/transaction/ChainTracker.js.map +0 -1
- package/dist/cjs/src/transaction/FeeModel.js +0 -3
- package/dist/cjs/src/transaction/FeeModel.js.map +0 -1
- package/dist/cjs/src/transaction/MerklePath.js +0 -239
- package/dist/cjs/src/transaction/MerklePath.js.map +0 -1
- package/dist/cjs/src/transaction/Transaction.js +0 -616
- package/dist/cjs/src/transaction/Transaction.js.map +0 -1
- package/dist/cjs/src/transaction/TransactionInput.js +0 -3
- package/dist/cjs/src/transaction/TransactionInput.js.map +0 -1
- package/dist/cjs/src/transaction/TransactionOutput.js +0 -3
- package/dist/cjs/src/transaction/TransactionOutput.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/ARC.js +0 -112
- package/dist/cjs/src/transaction/broadcasters/ARC.js.map +0 -1
- package/dist/cjs/src/transaction/broadcasters/index.js +0 -9
- package/dist/cjs/src/transaction/broadcasters/index.js.map +0 -1
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +0 -69
- package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +0 -1
- package/dist/cjs/src/transaction/fee-models/index.js +0 -9
- package/dist/cjs/src/transaction/fee-models/index.js.map +0 -1
- package/dist/cjs/src/transaction/index.js +0 -11
- package/dist/cjs/src/transaction/index.js.map +0 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/esm/mod.js +0 -9
- package/dist/esm/mod.js.map +0 -1
- package/dist/esm/src/compat/BSM.js +0 -45
- package/dist/esm/src/compat/BSM.js.map +0 -1
- package/dist/esm/src/compat/ECIES.js +0 -483
- package/dist/esm/src/compat/ECIES.js.map +0 -1
- package/dist/esm/src/compat/HD.js +0 -322
- package/dist/esm/src/compat/HD.js.map +0 -1
- package/dist/esm/src/compat/Mnemonic.js +0 -272
- package/dist/esm/src/compat/Mnemonic.js.map +0 -1
- package/dist/esm/src/compat/bip-39-wordlist-en.js +0 -2054
- package/dist/esm/src/compat/bip-39-wordlist-en.js.map +0 -1
- package/dist/esm/src/compat/index.js +0 -5
- package/dist/esm/src/compat/index.js.map +0 -1
- package/dist/esm/src/messages/EncryptedMessage.js +0 -61
- package/dist/esm/src/messages/EncryptedMessage.js.map +0 -1
- package/dist/esm/src/messages/SignedMessage.js +0 -77
- package/dist/esm/src/messages/SignedMessage.js.map +0 -1
- package/dist/esm/src/messages/index.js +0 -3
- package/dist/esm/src/messages/index.js.map +0 -1
- package/dist/esm/src/primitives/AESGCM.js +0 -371
- package/dist/esm/src/primitives/AESGCM.js.map +0 -1
- package/dist/esm/src/primitives/BasePoint.js +0 -16
- package/dist/esm/src/primitives/BasePoint.js.map +0 -1
- package/dist/esm/src/primitives/BigNumber.js +0 -4307
- package/dist/esm/src/primitives/BigNumber.js.map +0 -1
- package/dist/esm/src/primitives/Curve.js +0 -1141
- package/dist/esm/src/primitives/Curve.js.map +0 -1
- package/dist/esm/src/primitives/DRBG.js +0 -98
- package/dist/esm/src/primitives/DRBG.js.map +0 -1
- package/dist/esm/src/primitives/ECDSA.js +0 -161
- package/dist/esm/src/primitives/ECDSA.js.map +0 -1
- package/dist/esm/src/primitives/Hash.js +0 -1391
- package/dist/esm/src/primitives/Hash.js.map +0 -1
- package/dist/esm/src/primitives/JacobianPoint.js +0 -398
- package/dist/esm/src/primitives/JacobianPoint.js.map +0 -1
- package/dist/esm/src/primitives/K256.js +0 -105
- package/dist/esm/src/primitives/K256.js.map +0 -1
- package/dist/esm/src/primitives/Mersenne.js +0 -117
- package/dist/esm/src/primitives/Mersenne.js.map +0 -1
- package/dist/esm/src/primitives/MontgomoryMethod.js +0 -149
- package/dist/esm/src/primitives/MontgomoryMethod.js.map +0 -1
- package/dist/esm/src/primitives/Point.js +0 -816
- package/dist/esm/src/primitives/Point.js.map +0 -1
- package/dist/esm/src/primitives/PrivateKey.js +0 -240
- package/dist/esm/src/primitives/PrivateKey.js.map +0 -1
- package/dist/esm/src/primitives/PublicKey.js +0 -162
- package/dist/esm/src/primitives/PublicKey.js.map +0 -1
- package/dist/esm/src/primitives/Random.js +0 -56
- package/dist/esm/src/primitives/Random.js.map +0 -1
- package/dist/esm/src/primitives/ReductionContext.js +0 -486
- package/dist/esm/src/primitives/ReductionContext.js.map +0 -1
- package/dist/esm/src/primitives/Signature.js +0 -360
- package/dist/esm/src/primitives/Signature.js.map +0 -1
- package/dist/esm/src/primitives/SymmetricKey.js +0 -76
- package/dist/esm/src/primitives/SymmetricKey.js.map +0 -1
- package/dist/esm/src/primitives/TransactionSignature.js +0 -144
- package/dist/esm/src/primitives/TransactionSignature.js.map +0 -1
- package/dist/esm/src/primitives/index.js +0 -13
- package/dist/esm/src/primitives/index.js.map +0 -1
- package/dist/esm/src/primitives/utils.js +0 -609
- package/dist/esm/src/primitives/utils.js.map +0 -1
- package/dist/esm/src/script/LockingScript.js +0 -29
- package/dist/esm/src/script/LockingScript.js.map +0 -1
- package/dist/esm/src/script/OP.js +0 -205
- package/dist/esm/src/script/OP.js.map +0 -1
- package/dist/esm/src/script/Script.js +0 -430
- package/dist/esm/src/script/Script.js.map +0 -1
- package/dist/esm/src/script/ScriptChunk.js +0 -2
- package/dist/esm/src/script/ScriptChunk.js.map +0 -1
- package/dist/esm/src/script/ScriptTemplate.js +0 -2
- package/dist/esm/src/script/ScriptTemplate.js.map +0 -1
- package/dist/esm/src/script/Spend.js +0 -1240
- package/dist/esm/src/script/Spend.js.map +0 -1
- package/dist/esm/src/script/UnlockingScript.js +0 -29
- package/dist/esm/src/script/UnlockingScript.js.map +0 -1
- package/dist/esm/src/script/index.js +0 -7
- package/dist/esm/src/script/index.js.map +0 -1
- package/dist/esm/src/script/templates/P2PKH.js +0 -113
- package/dist/esm/src/script/templates/P2PKH.js.map +0 -1
- package/dist/esm/src/script/templates/RPuzzle.js +0 -119
- package/dist/esm/src/script/templates/RPuzzle.js.map +0 -1
- package/dist/esm/src/script/templates/index.js +0 -3
- package/dist/esm/src/script/templates/index.js.map +0 -1
- package/dist/esm/src/transaction/Broadcaster.js +0 -2
- package/dist/esm/src/transaction/Broadcaster.js.map +0 -1
- package/dist/esm/src/transaction/ChainTracker.js +0 -2
- package/dist/esm/src/transaction/ChainTracker.js.map +0 -1
- package/dist/esm/src/transaction/FeeModel.js +0 -2
- package/dist/esm/src/transaction/FeeModel.js.map +0 -1
- package/dist/esm/src/transaction/MerklePath.js +0 -237
- package/dist/esm/src/transaction/MerklePath.js.map +0 -1
- package/dist/esm/src/transaction/Transaction.js +0 -617
- package/dist/esm/src/transaction/Transaction.js.map +0 -1
- package/dist/esm/src/transaction/TransactionInput.js +0 -2
- package/dist/esm/src/transaction/TransactionInput.js.map +0 -1
- package/dist/esm/src/transaction/TransactionOutput.js +0 -2
- package/dist/esm/src/transaction/TransactionOutput.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/ARC.js +0 -111
- package/dist/esm/src/transaction/broadcasters/ARC.js.map +0 -1
- package/dist/esm/src/transaction/broadcasters/index.js +0 -2
- package/dist/esm/src/transaction/broadcasters/index.js.map +0 -1
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +0 -71
- package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +0 -1
- package/dist/esm/src/transaction/fee-models/index.js +0 -2
- package/dist/esm/src/transaction/fee-models/index.js.map +0 -1
- package/dist/esm/src/transaction/index.js +0 -3
- package/dist/esm/src/transaction/index.js.map +0 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/types/mod.d.ts +0 -9
- package/dist/types/mod.d.ts.map +0 -1
- package/dist/types/src/compat/BSM.d.ts +0 -28
- package/dist/types/src/compat/BSM.d.ts.map +0 -1
- package/dist/types/src/compat/ECIES.d.ts +0 -62
- package/dist/types/src/compat/ECIES.d.ts.map +0 -1
- package/dist/types/src/compat/HD.d.ts +0 -131
- package/dist/types/src/compat/HD.d.ts.map +0 -1
- package/dist/types/src/compat/Mnemonic.d.ts +0 -132
- package/dist/types/src/compat/Mnemonic.d.ts.map +0 -1
- package/dist/types/src/compat/bip-39-wordlist-en.d.ts +0 -5
- package/dist/types/src/compat/bip-39-wordlist-en.d.ts.map +0 -1
- package/dist/types/src/compat/index.d.ts +0 -5
- package/dist/types/src/compat/index.d.ts.map +0 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +0 -20
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +0 -1
- package/dist/types/src/messages/SignedMessage.d.ts +0 -21
- package/dist/types/src/messages/SignedMessage.d.ts.map +0 -1
- package/dist/types/src/messages/index.d.ts +0 -3
- package/dist/types/src/messages/index.d.ts.map +0 -1
- package/dist/types/src/primitives/AESGCM.d.ts +0 -14
- package/dist/types/src/primitives/AESGCM.d.ts.map +0 -1
- package/dist/types/src/primitives/BasePoint.d.ts +0 -22
- package/dist/types/src/primitives/BasePoint.d.ts.map +0 -1
- package/dist/types/src/primitives/BigNumber.d.ts +0 -1895
- package/dist/types/src/primitives/BigNumber.d.ts.map +0 -1
- package/dist/types/src/primitives/Curve.d.ts +0 -55
- package/dist/types/src/primitives/Curve.d.ts.map +0 -1
- package/dist/types/src/primitives/DRBG.d.ts +0 -54
- package/dist/types/src/primitives/DRBG.d.ts.map +0 -1
- package/dist/types/src/primitives/ECDSA.d.ts +0 -39
- package/dist/types/src/primitives/ECDSA.d.ts.map +0 -1
- package/dist/types/src/primitives/Hash.d.ts +0 -450
- package/dist/types/src/primitives/Hash.d.ts.map +0 -1
- package/dist/types/src/primitives/JacobianPoint.d.ts +0 -164
- package/dist/types/src/primitives/JacobianPoint.d.ts.map +0 -1
- package/dist/types/src/primitives/K256.d.ts +0 -53
- package/dist/types/src/primitives/K256.d.ts.map +0 -1
- package/dist/types/src/primitives/Mersenne.d.ts +0 -72
- package/dist/types/src/primitives/Mersenne.d.ts.map +0 -1
- package/dist/types/src/primitives/MontgomoryMethod.d.ts +0 -96
- package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +0 -1
- package/dist/types/src/primitives/Point.d.ts +0 -303
- package/dist/types/src/primitives/Point.d.ts.map +0 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +0 -174
- package/dist/types/src/primitives/PrivateKey.d.ts.map +0 -1
- package/dist/types/src/primitives/PublicKey.d.ts +0 -120
- package/dist/types/src/primitives/PublicKey.d.ts.map +0 -1
- package/dist/types/src/primitives/Random.d.ts +0 -14
- package/dist/types/src/primitives/Random.d.ts.map +0 -1
- package/dist/types/src/primitives/ReductionContext.d.ts +0 -308
- package/dist/types/src/primitives/ReductionContext.d.ts.map +0 -1
- package/dist/types/src/primitives/Signature.d.ts +0 -162
- package/dist/types/src/primitives/Signature.d.ts.map +0 -1
- package/dist/types/src/primitives/SymmetricKey.d.ts +0 -55
- package/dist/types/src/primitives/SymmetricKey.d.ts.map +0 -1
- package/dist/types/src/primitives/TransactionSignature.d.ts +0 -36
- package/dist/types/src/primitives/TransactionSignature.d.ts.map +0 -1
- package/dist/types/src/primitives/index.d.ts +0 -13
- package/dist/types/src/primitives/index.d.ts.map +0 -1
- package/dist/types/src/primitives/utils.d.ts +0 -124
- package/dist/types/src/primitives/utils.d.ts.map +0 -1
- package/dist/types/src/script/LockingScript.d.ts +0 -25
- package/dist/types/src/script/LockingScript.d.ts.map +0 -1
- package/dist/types/src/script/OP.d.ts +0 -193
- package/dist/types/src/script/OP.d.ts.map +0 -1
- package/dist/types/src/script/Script.d.ts +0 -148
- package/dist/types/src/script/Script.d.ts.map +0 -1
- package/dist/types/src/script/ScriptChunk.d.ts +0 -8
- package/dist/types/src/script/ScriptChunk.d.ts.map +0 -1
- package/dist/types/src/script/ScriptTemplate.d.ts +0 -33
- package/dist/types/src/script/ScriptTemplate.d.ts.map +0 -1
- package/dist/types/src/script/Spend.d.ts +0 -103
- package/dist/types/src/script/Spend.d.ts.map +0 -1
- package/dist/types/src/script/UnlockingScript.d.ts +0 -25
- package/dist/types/src/script/UnlockingScript.d.ts.map +0 -1
- package/dist/types/src/script/index.d.ts +0 -8
- package/dist/types/src/script/index.d.ts.map +0 -1
- package/dist/types/src/script/templates/P2PKH.d.ts +0 -40
- package/dist/types/src/script/templates/P2PKH.d.ts.map +0 -1
- package/dist/types/src/script/templates/RPuzzle.d.ts +0 -47
- package/dist/types/src/script/templates/RPuzzle.d.ts.map +0 -1
- package/dist/types/src/script/templates/index.d.ts +0 -3
- package/dist/types/src/script/templates/index.d.ts.map +0 -1
- package/dist/types/src/transaction/Broadcaster.d.ts +0 -39
- package/dist/types/src/transaction/Broadcaster.d.ts.map +0 -1
- package/dist/types/src/transaction/ChainTracker.d.ts +0 -23
- package/dist/types/src/transaction/ChainTracker.d.ts.map +0 -1
- package/dist/types/src/transaction/FeeModel.d.ts +0 -12
- package/dist/types/src/transaction/FeeModel.d.ts.map +0 -1
- package/dist/types/src/transaction/MerklePath.d.ts +0 -91
- package/dist/types/src/transaction/MerklePath.d.ts.map +0 -1
- package/dist/types/src/transaction/Transaction.d.ts +0 -215
- package/dist/types/src/transaction/Transaction.d.ts.map +0 -1
- package/dist/types/src/transaction/TransactionInput.d.ts +0 -63
- package/dist/types/src/transaction/TransactionInput.d.ts.map +0 -1
- package/dist/types/src/transaction/TransactionOutput.d.ts +0 -36
- package/dist/types/src/transaction/TransactionOutput.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/ARC.d.ts +0 -28
- package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +0 -1
- package/dist/types/src/transaction/broadcasters/index.d.ts +0 -2
- package/dist/types/src/transaction/broadcasters/index.d.ts.map +0 -1
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +0 -26
- package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +0 -1
- package/dist/types/src/transaction/fee-models/index.d.ts +0 -2
- package/dist/types/src/transaction/fee-models/index.d.ts.map +0 -1
- package/dist/types/src/transaction/index.d.ts +0 -7
- package/dist/types/src/transaction/index.d.ts.map +0 -1
- package/dist/types/tsconfig.types.tsbuildinfo +0 -1
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.TransactionSignature = exports.Random = exports.Hash = exports.Utils = exports.ECDSA = exports.SymmetricKey = exports.PrivateKey = exports.Signature = exports.PublicKey = exports.Point = exports.Curve = exports.BigNumber = void 0;
|
|
30
|
-
var BigNumber_js_1 = require("./BigNumber.js");
|
|
31
|
-
Object.defineProperty(exports, "BigNumber", { enumerable: true, get: function () { return __importDefault(BigNumber_js_1).default; } });
|
|
32
|
-
var Curve_js_1 = require("./Curve.js");
|
|
33
|
-
Object.defineProperty(exports, "Curve", { enumerable: true, get: function () { return __importDefault(Curve_js_1).default; } });
|
|
34
|
-
var Point_js_1 = require("./Point.js");
|
|
35
|
-
Object.defineProperty(exports, "Point", { enumerable: true, get: function () { return __importDefault(Point_js_1).default; } });
|
|
36
|
-
var PublicKey_js_1 = require("./PublicKey.js");
|
|
37
|
-
Object.defineProperty(exports, "PublicKey", { enumerable: true, get: function () { return __importDefault(PublicKey_js_1).default; } });
|
|
38
|
-
var Signature_js_1 = require("./Signature.js");
|
|
39
|
-
Object.defineProperty(exports, "Signature", { enumerable: true, get: function () { return __importDefault(Signature_js_1).default; } });
|
|
40
|
-
var PrivateKey_js_1 = require("./PrivateKey.js");
|
|
41
|
-
Object.defineProperty(exports, "PrivateKey", { enumerable: true, get: function () { return __importDefault(PrivateKey_js_1).default; } });
|
|
42
|
-
var SymmetricKey_js_1 = require("./SymmetricKey.js");
|
|
43
|
-
Object.defineProperty(exports, "SymmetricKey", { enumerable: true, get: function () { return __importDefault(SymmetricKey_js_1).default; } });
|
|
44
|
-
exports.ECDSA = __importStar(require("./ECDSA.js"));
|
|
45
|
-
exports.Utils = __importStar(require("./utils.js"));
|
|
46
|
-
exports.Hash = __importStar(require("./Hash.js"));
|
|
47
|
-
var Random_js_1 = require("./Random.js");
|
|
48
|
-
Object.defineProperty(exports, "Random", { enumerable: true, get: function () { return __importDefault(Random_js_1).default; } });
|
|
49
|
-
var TransactionSignature_js_1 = require("./TransactionSignature.js");
|
|
50
|
-
Object.defineProperty(exports, "TransactionSignature", { enumerable: true, get: function () { return __importDefault(TransactionSignature_js_1).default; } });
|
|
51
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AAA5C,0HAAA,OAAO,OAAa;AAC7B,uCAA6C;AAApC,kHAAA,OAAO,OAAS;AACzB,uCAA6C;AAApC,kHAAA,OAAO,OAAS;AACzB,+CAAqD;AAA5C,0HAAA,OAAO,OAAa;AAC7B,+CAAqD;AAA5C,0HAAA,OAAO,OAAa;AAC7B,iDAAuD;AAA9C,4HAAA,OAAO,OAAc;AAC9B,qDAA2D;AAAlD,gIAAA,OAAO,OAAgB;AAChC,oDAAmC;AACnC,oDAAmC;AACnC,kDAAiC;AACjC,yCAA+C;AAAtC,oHAAA,OAAO,OAAU;AAC1B,qEAA2E;AAAlE,gJAAA,OAAO,OAAwB"}
|
|
@@ -1,624 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Reader = exports.Writer = exports.fromBase58Check = exports.toBase58Check = exports.toBase58 = exports.fromBase58 = exports.toBase64 = exports.encode = exports.toUTF8 = exports.toArray = exports.toHex = exports.zero2 = void 0;
|
|
7
|
-
const BigNumber_js_1 = __importDefault(require("./BigNumber.js"));
|
|
8
|
-
const Hash_js_1 = require("./Hash.js");
|
|
9
|
-
/**
|
|
10
|
-
* Prepends a '0' to an odd character length word to ensure it has an even number of characters.
|
|
11
|
-
* @param {string} word - The input word.
|
|
12
|
-
* @returns {string} - The word with a leading '0' if it's an odd character length; otherwise, the original word.
|
|
13
|
-
*/
|
|
14
|
-
const zero2 = (word) => {
|
|
15
|
-
if (word.length % 2 === 1) {
|
|
16
|
-
return '0' + word;
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
return word;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
exports.zero2 = zero2;
|
|
23
|
-
/**
|
|
24
|
-
* Converts an array of numbers to a hexadecimal string representation.
|
|
25
|
-
* @param {number[]} msg - The input array of numbers.
|
|
26
|
-
* @returns {string} - The hexadecimal string representation of the input array.
|
|
27
|
-
*/
|
|
28
|
-
const toHex = (msg) => {
|
|
29
|
-
let res = '';
|
|
30
|
-
for (let i = 0; i < msg.length; i++) {
|
|
31
|
-
res += (0, exports.zero2)(msg[i].toString(16));
|
|
32
|
-
}
|
|
33
|
-
return res;
|
|
34
|
-
};
|
|
35
|
-
exports.toHex = toHex;
|
|
36
|
-
/**
|
|
37
|
-
* Converts various message formats into an array of numbers.
|
|
38
|
-
* Supports arrays, hexadecimal strings, base64 strings, and UTF-8 strings.
|
|
39
|
-
*
|
|
40
|
-
* @param {any} msg - The input message (array or string).
|
|
41
|
-
* @param {('hex' | 'utf8')} enc - Specifies the string encoding, if applicable.
|
|
42
|
-
* @returns {any[]} - Array representation of the input.
|
|
43
|
-
*/
|
|
44
|
-
const toArray = (msg, enc) => {
|
|
45
|
-
// Return a copy if already an array
|
|
46
|
-
if (Array.isArray(msg)) {
|
|
47
|
-
return msg.slice();
|
|
48
|
-
}
|
|
49
|
-
// Return empty array for falsy values
|
|
50
|
-
if (!msg) {
|
|
51
|
-
return [];
|
|
52
|
-
}
|
|
53
|
-
const res = [];
|
|
54
|
-
// Convert non-string messages to numbers
|
|
55
|
-
if (typeof msg !== 'string') {
|
|
56
|
-
for (let i = 0; i < msg.length; i++) {
|
|
57
|
-
res[i] = msg[i] | 0;
|
|
58
|
-
}
|
|
59
|
-
return res;
|
|
60
|
-
}
|
|
61
|
-
// Handle hexadecimal encoding
|
|
62
|
-
if (enc === 'hex') {
|
|
63
|
-
msg = msg.replace(/[^a-z0-9]+/ig, '');
|
|
64
|
-
if (msg.length % 2 !== 0) {
|
|
65
|
-
msg = '0' + msg;
|
|
66
|
-
}
|
|
67
|
-
for (let i = 0; i < msg.length; i += 2) {
|
|
68
|
-
res.push(parseInt(msg[i] + msg[i + 1], 16));
|
|
69
|
-
}
|
|
70
|
-
// Handle base64
|
|
71
|
-
}
|
|
72
|
-
else if (enc === 'base64') {
|
|
73
|
-
const base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
74
|
-
const result = [];
|
|
75
|
-
let currentBit = 0;
|
|
76
|
-
let currentByte = 0;
|
|
77
|
-
for (const char of msg.replace(/=+$/, '')) {
|
|
78
|
-
currentBit = (currentBit << 6) | base64Chars.indexOf(char);
|
|
79
|
-
currentByte += 6;
|
|
80
|
-
if (currentByte >= 8) {
|
|
81
|
-
currentByte -= 8;
|
|
82
|
-
result.push((currentBit >> currentByte) & 0xFF);
|
|
83
|
-
currentBit &= (1 << currentByte) - 1;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
// Handle UTF-8 encoding
|
|
90
|
-
for (let i = 0; i < msg.length; i++) {
|
|
91
|
-
const c = msg.charCodeAt(i);
|
|
92
|
-
const hi = c >> 8;
|
|
93
|
-
const lo = c & 0xff;
|
|
94
|
-
if (hi) {
|
|
95
|
-
res.push(hi, lo);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
res.push(lo);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return res;
|
|
103
|
-
};
|
|
104
|
-
exports.toArray = toArray;
|
|
105
|
-
/**
|
|
106
|
-
* Converts an array of numbers to a UTF-8 encoded string.
|
|
107
|
-
* @param {number[]} arr - The input array of numbers.
|
|
108
|
-
* @returns {string} - The UTF-8 encoded string.
|
|
109
|
-
*/
|
|
110
|
-
const toUTF8 = (arr) => {
|
|
111
|
-
let result = '';
|
|
112
|
-
for (let i = 0; i < arr.length; i++) {
|
|
113
|
-
const byte = arr[i];
|
|
114
|
-
// 1-byte sequence (0xxxxxxx)
|
|
115
|
-
if (byte <= 0x7F) {
|
|
116
|
-
result += String.fromCharCode(byte);
|
|
117
|
-
}
|
|
118
|
-
// 2-byte sequence (110xxxxx 10xxxxxx)
|
|
119
|
-
else if (byte >= 0xC0 && byte <= 0xDF) {
|
|
120
|
-
const byte2 = arr[++i];
|
|
121
|
-
const codePoint = ((byte & 0x1F) << 6) | (byte2 & 0x3F);
|
|
122
|
-
result += String.fromCharCode(codePoint);
|
|
123
|
-
}
|
|
124
|
-
// 3-byte sequence (1110xxxx 10xxxxxx 10xxxxxx)
|
|
125
|
-
else if (byte >= 0xE0 && byte <= 0xEF) {
|
|
126
|
-
const byte2 = arr[++i];
|
|
127
|
-
const byte3 = arr[++i];
|
|
128
|
-
const codePoint = ((byte & 0x0F) << 12) | ((byte2 & 0x3F) << 6) | (byte3 & 0x3F);
|
|
129
|
-
result += String.fromCharCode(codePoint);
|
|
130
|
-
}
|
|
131
|
-
// 4-byte sequence (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx)
|
|
132
|
-
else if (byte >= 0xF0 && byte <= 0xF7) {
|
|
133
|
-
const byte2 = arr[++i];
|
|
134
|
-
const byte3 = arr[++i];
|
|
135
|
-
const byte4 = arr[++i];
|
|
136
|
-
const codePoint = ((byte & 0x07) << 18) | ((byte2 & 0x3F) << 12) | ((byte3 & 0x3F) << 6) | (byte4 & 0x3F);
|
|
137
|
-
// Convert to UTF-16 surrogate pair
|
|
138
|
-
const surrogate1 = 0xD800 + ((codePoint - 0x10000) >> 10);
|
|
139
|
-
const surrogate2 = 0xDC00 + ((codePoint - 0x10000) & 0x3FF);
|
|
140
|
-
result += String.fromCharCode(surrogate1, surrogate2);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return result;
|
|
144
|
-
};
|
|
145
|
-
exports.toUTF8 = toUTF8;
|
|
146
|
-
/**
|
|
147
|
-
* Encodes an array of numbers into a specified encoding ('hex' or 'utf8'). If no encoding is provided, returns the original array.
|
|
148
|
-
* @param {number[]} arr - The input array of numbers.
|
|
149
|
-
* @param {('hex' | 'utf8')} enc - The desired encoding.
|
|
150
|
-
* @returns {string | number[]} - The encoded message as a string (for 'hex' and 'utf8') or the original array.
|
|
151
|
-
*/
|
|
152
|
-
const encode = (arr, enc) => {
|
|
153
|
-
switch (enc) {
|
|
154
|
-
case 'hex':
|
|
155
|
-
return (0, exports.toHex)(arr);
|
|
156
|
-
case 'utf8':
|
|
157
|
-
return (0, exports.toUTF8)(arr);
|
|
158
|
-
// If no encoding is provided, return the original array
|
|
159
|
-
default:
|
|
160
|
-
return arr;
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
exports.encode = encode;
|
|
164
|
-
/**
|
|
165
|
-
* Converts an array of bytes (each between 0 and 255) into a base64 encoded string.
|
|
166
|
-
*
|
|
167
|
-
* @param {number[]} byteArray - An array of numbers where each number is a byte (0-255).
|
|
168
|
-
* @returns {string} The base64 encoded string.
|
|
169
|
-
*
|
|
170
|
-
* @example
|
|
171
|
-
* const bytes = [72, 101, 108, 108, 111]; // Represents the string "Hello"
|
|
172
|
-
* console.log(toBase64(bytes)); // Outputs: SGVsbG8=
|
|
173
|
-
*/
|
|
174
|
-
function toBase64(byteArray) {
|
|
175
|
-
const base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
176
|
-
let result = '';
|
|
177
|
-
let i;
|
|
178
|
-
for (i = 0; i < byteArray.length; i += 3) {
|
|
179
|
-
const byte1 = byteArray[i];
|
|
180
|
-
const byte2 = i + 1 < byteArray.length ? byteArray[i + 1] : 0;
|
|
181
|
-
const byte3 = i + 2 < byteArray.length ? byteArray[i + 2] : 0;
|
|
182
|
-
const encoded1 = byte1 >> 2;
|
|
183
|
-
const encoded2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);
|
|
184
|
-
const encoded3 = ((byte2 & 0x0F) << 2) | (byte3 >> 6);
|
|
185
|
-
const encoded4 = byte3 & 0x3F;
|
|
186
|
-
result += base64Chars.charAt(encoded1) + base64Chars.charAt(encoded2);
|
|
187
|
-
result += i + 1 < byteArray.length ? base64Chars.charAt(encoded3) : '=';
|
|
188
|
-
result += i + 2 < byteArray.length ? base64Chars.charAt(encoded4) : '=';
|
|
189
|
-
}
|
|
190
|
-
return result;
|
|
191
|
-
}
|
|
192
|
-
exports.toBase64 = toBase64;
|
|
193
|
-
const base58chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
194
|
-
/**
|
|
195
|
-
* Converts a string from base58 to a binary array
|
|
196
|
-
* @param str - The string representation
|
|
197
|
-
* @returns The binary representation
|
|
198
|
-
*/
|
|
199
|
-
const fromBase58 = (str) => {
|
|
200
|
-
if (!str || typeof str !== 'string') {
|
|
201
|
-
throw new Error(`Expected base58 string but got “${str}”`);
|
|
202
|
-
}
|
|
203
|
-
if (str.match(/[IOl0]/gmu)) {
|
|
204
|
-
throw new Error(`Invalid base58 character “${str.match(/[IOl0]/gmu)}”`);
|
|
205
|
-
}
|
|
206
|
-
const lz = str.match(/^1+/gmu);
|
|
207
|
-
const psz = lz ? lz[0].length : 0;
|
|
208
|
-
const size = ((str.length - psz) * (Math.log(58) / Math.log(256)) + 1) >>> 0;
|
|
209
|
-
const uint8 = new Uint8Array([
|
|
210
|
-
...new Uint8Array(psz),
|
|
211
|
-
...str
|
|
212
|
-
.match(/.{1}/gmu)
|
|
213
|
-
.map((i) => base58chars.indexOf(i))
|
|
214
|
-
.reduce((acc, i) => {
|
|
215
|
-
acc = acc.map((j) => {
|
|
216
|
-
const x = j * 58 + i;
|
|
217
|
-
i = x >> 8;
|
|
218
|
-
return x;
|
|
219
|
-
});
|
|
220
|
-
return acc;
|
|
221
|
-
}, new Uint8Array(size))
|
|
222
|
-
.reverse()
|
|
223
|
-
.filter(((lastValue) => (value) =>
|
|
224
|
-
// @ts-expect-error
|
|
225
|
-
(lastValue = lastValue || value))(false))
|
|
226
|
-
]);
|
|
227
|
-
return [...uint8];
|
|
228
|
-
};
|
|
229
|
-
exports.fromBase58 = fromBase58;
|
|
230
|
-
/**
|
|
231
|
-
* Converts a binary array into a base58 string
|
|
232
|
-
* @param bin - The binary array to convert to base58
|
|
233
|
-
* @returns The base58 string representation
|
|
234
|
-
*/
|
|
235
|
-
const toBase58 = (bin) => {
|
|
236
|
-
const base58Map = Array(256).fill(-1);
|
|
237
|
-
for (let i = 0; i < base58chars.length; ++i) {
|
|
238
|
-
base58Map[base58chars.charCodeAt(i)] = i;
|
|
239
|
-
}
|
|
240
|
-
const result = [];
|
|
241
|
-
for (const byte of bin) {
|
|
242
|
-
let carry = byte;
|
|
243
|
-
for (let j = 0; j < result.length; ++j) {
|
|
244
|
-
const x = (base58Map[result[j]] << 8) + carry;
|
|
245
|
-
result[j] = base58chars.charCodeAt(x % 58);
|
|
246
|
-
carry = (x / 58) | 0;
|
|
247
|
-
}
|
|
248
|
-
while (carry) {
|
|
249
|
-
result.push(base58chars.charCodeAt(carry % 58));
|
|
250
|
-
carry = (carry / 58) | 0;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
for (const byte of bin) {
|
|
254
|
-
if (byte)
|
|
255
|
-
break;
|
|
256
|
-
else
|
|
257
|
-
result.push('1'.charCodeAt(0));
|
|
258
|
-
}
|
|
259
|
-
result.reverse();
|
|
260
|
-
return String.fromCharCode(...result);
|
|
261
|
-
};
|
|
262
|
-
exports.toBase58 = toBase58;
|
|
263
|
-
/**
|
|
264
|
-
* Converts a binary array into a base58check string with a checksum
|
|
265
|
-
* @param bin - The binary array to convert to base58check
|
|
266
|
-
* @returns The base58check string representation
|
|
267
|
-
*/
|
|
268
|
-
const toBase58Check = (bin, prefix = [0]) => {
|
|
269
|
-
let hash = (0, Hash_js_1.hash256)([...prefix, ...bin]);
|
|
270
|
-
hash = [...prefix, ...bin, ...hash.slice(0, 4)];
|
|
271
|
-
return (0, exports.toBase58)(hash);
|
|
272
|
-
};
|
|
273
|
-
exports.toBase58Check = toBase58Check;
|
|
274
|
-
/**
|
|
275
|
-
* Converts a base58check string into a binary array after validating the checksum
|
|
276
|
-
* @param str - The base58check string to convert to binary
|
|
277
|
-
* @param enc - If hex, the return values will be hex strings, arrays of numbers otherwise
|
|
278
|
-
* @param prefixLength - The length of the prefix. Optional, defaults to 1.
|
|
279
|
-
* @returns The binary array representation
|
|
280
|
-
*/
|
|
281
|
-
const fromBase58Check = (str, enc, prefixLength = 1) => {
|
|
282
|
-
const bin = (0, exports.fromBase58)(str);
|
|
283
|
-
let prefix = bin.slice(0, prefixLength);
|
|
284
|
-
let data = bin.slice(prefixLength, -4);
|
|
285
|
-
let hash = [...prefix, ...data];
|
|
286
|
-
hash = (0, Hash_js_1.hash256)(hash);
|
|
287
|
-
bin.slice(-4).forEach((check, index) => {
|
|
288
|
-
if (check !== hash[index]) {
|
|
289
|
-
throw new Error('Invalid checksum');
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
if (enc === 'hex') {
|
|
293
|
-
prefix = (0, exports.toHex)(prefix);
|
|
294
|
-
data = (0, exports.toHex)(data);
|
|
295
|
-
}
|
|
296
|
-
return { prefix, data };
|
|
297
|
-
};
|
|
298
|
-
exports.fromBase58Check = fromBase58Check;
|
|
299
|
-
class Writer {
|
|
300
|
-
constructor(bufs) {
|
|
301
|
-
this.bufs = bufs || [];
|
|
302
|
-
}
|
|
303
|
-
getLength() {
|
|
304
|
-
let len = 0;
|
|
305
|
-
for (const buf of this.bufs) {
|
|
306
|
-
len = len + buf.length;
|
|
307
|
-
}
|
|
308
|
-
return len;
|
|
309
|
-
}
|
|
310
|
-
toArray() {
|
|
311
|
-
let ret = [];
|
|
312
|
-
for (const x of this.bufs) {
|
|
313
|
-
if (x.length < 65536) {
|
|
314
|
-
ret.push(...x);
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
317
|
-
ret = ret.concat(x);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
return ret;
|
|
321
|
-
}
|
|
322
|
-
write(buf) {
|
|
323
|
-
this.bufs.push(buf);
|
|
324
|
-
return this;
|
|
325
|
-
}
|
|
326
|
-
writeReverse(buf) {
|
|
327
|
-
const buf2 = new Array(buf.length);
|
|
328
|
-
for (let i = 0; i < buf2.length; i++) {
|
|
329
|
-
buf2[i] = buf[buf.length - 1 - i];
|
|
330
|
-
}
|
|
331
|
-
this.bufs.push(buf2);
|
|
332
|
-
return this;
|
|
333
|
-
}
|
|
334
|
-
writeUInt8(n) {
|
|
335
|
-
const buf = new Array(1);
|
|
336
|
-
buf[0] = n;
|
|
337
|
-
this.write(buf);
|
|
338
|
-
return this;
|
|
339
|
-
}
|
|
340
|
-
writeInt8(n) {
|
|
341
|
-
const buf = new Array(1);
|
|
342
|
-
buf[0] = n & 0xFF;
|
|
343
|
-
this.write(buf);
|
|
344
|
-
return this;
|
|
345
|
-
}
|
|
346
|
-
writeUInt16BE(n) {
|
|
347
|
-
this.bufs.push([
|
|
348
|
-
(n >> 8) & 0xFF,
|
|
349
|
-
n & 0xFF // low byte is just the last 8 bits
|
|
350
|
-
]);
|
|
351
|
-
return this;
|
|
352
|
-
}
|
|
353
|
-
writeInt16BE(n) {
|
|
354
|
-
return this.writeUInt16BE(n & 0xFFFF); // Mask with 0xFFFF to get the lower 16 bits
|
|
355
|
-
}
|
|
356
|
-
writeUInt16LE(n) {
|
|
357
|
-
this.bufs.push([
|
|
358
|
-
n & 0xFF,
|
|
359
|
-
(n >> 8) & 0xFF // shift right 8 bits to get the high byte
|
|
360
|
-
]);
|
|
361
|
-
return this;
|
|
362
|
-
}
|
|
363
|
-
writeInt16LE(n) {
|
|
364
|
-
return this.writeUInt16LE(n & 0xFFFF); // Mask with 0xFFFF to get the lower 16 bits
|
|
365
|
-
}
|
|
366
|
-
writeUInt32BE(n) {
|
|
367
|
-
this.bufs.push([
|
|
368
|
-
(n >> 24) & 0xFF,
|
|
369
|
-
(n >> 16) & 0xFF,
|
|
370
|
-
(n >> 8) & 0xFF,
|
|
371
|
-
n & 0xFF // lowest byte
|
|
372
|
-
]);
|
|
373
|
-
return this;
|
|
374
|
-
}
|
|
375
|
-
writeInt32BE(n) {
|
|
376
|
-
return this.writeUInt32BE(n >>> 0); // Using unsigned right shift to handle negative numbers
|
|
377
|
-
}
|
|
378
|
-
writeUInt32LE(n) {
|
|
379
|
-
this.bufs.push([
|
|
380
|
-
n & 0xFF,
|
|
381
|
-
(n >> 8) & 0xFF,
|
|
382
|
-
(n >> 16) & 0xFF,
|
|
383
|
-
(n >> 24) & 0xFF // highest byte
|
|
384
|
-
]);
|
|
385
|
-
return this;
|
|
386
|
-
}
|
|
387
|
-
writeInt32LE(n) {
|
|
388
|
-
return this.writeUInt32LE(n >>> 0); // Using unsigned right shift to handle negative numbers
|
|
389
|
-
}
|
|
390
|
-
writeUInt64BEBn(bn) {
|
|
391
|
-
const buf = bn.toArray('be', 8);
|
|
392
|
-
this.write(buf);
|
|
393
|
-
return this;
|
|
394
|
-
}
|
|
395
|
-
writeUInt64LEBn(bn) {
|
|
396
|
-
const buf = bn.toArray('be', 8);
|
|
397
|
-
this.writeReverse(buf);
|
|
398
|
-
return this;
|
|
399
|
-
}
|
|
400
|
-
writeUInt64LE(n) {
|
|
401
|
-
const buf = new BigNumber_js_1.default(n).toArray('be', 8);
|
|
402
|
-
this.writeReverse(buf);
|
|
403
|
-
return this;
|
|
404
|
-
}
|
|
405
|
-
writeVarIntNum(n) {
|
|
406
|
-
const buf = Writer.varIntNum(n);
|
|
407
|
-
this.write(buf);
|
|
408
|
-
return this;
|
|
409
|
-
}
|
|
410
|
-
writeVarIntBn(bn) {
|
|
411
|
-
const buf = Writer.varIntBn(bn);
|
|
412
|
-
this.write(buf);
|
|
413
|
-
return this;
|
|
414
|
-
}
|
|
415
|
-
static varIntNum(n) {
|
|
416
|
-
let buf;
|
|
417
|
-
if (n < 253) {
|
|
418
|
-
buf = [n]; // 1 byte
|
|
419
|
-
}
|
|
420
|
-
else if (n < 0x10000) {
|
|
421
|
-
// 253 followed by the number in little-endian format
|
|
422
|
-
buf = [
|
|
423
|
-
253,
|
|
424
|
-
n & 0xFF,
|
|
425
|
-
(n >> 8) & 0xFF // high byte
|
|
426
|
-
];
|
|
427
|
-
}
|
|
428
|
-
else if (n < 0x100000000) {
|
|
429
|
-
// 254 followed by the number in little-endian format
|
|
430
|
-
buf = [
|
|
431
|
-
254,
|
|
432
|
-
n & 0xFF,
|
|
433
|
-
(n >> 8) & 0xFF,
|
|
434
|
-
(n >> 16) & 0xFF,
|
|
435
|
-
(n >> 24) & 0xFF
|
|
436
|
-
];
|
|
437
|
-
}
|
|
438
|
-
else {
|
|
439
|
-
// 255 followed by the number in little-endian format
|
|
440
|
-
// Since JavaScript bitwise operations work on 32 bits, we need to handle 64-bit numbers in two parts
|
|
441
|
-
const low = n & 0xFFFFFFFF;
|
|
442
|
-
const high = Math.floor(n / 0x100000000) & 0xFFFFFFFF;
|
|
443
|
-
buf = [
|
|
444
|
-
255,
|
|
445
|
-
low & 0xFF,
|
|
446
|
-
(low >> 8) & 0xFF,
|
|
447
|
-
(low >> 16) & 0xFF,
|
|
448
|
-
(low >> 24) & 0xFF,
|
|
449
|
-
high & 0xFF,
|
|
450
|
-
(high >> 8) & 0xFF,
|
|
451
|
-
(high >> 16) & 0xFF,
|
|
452
|
-
(high >> 24) & 0xFF
|
|
453
|
-
];
|
|
454
|
-
}
|
|
455
|
-
return buf;
|
|
456
|
-
}
|
|
457
|
-
static varIntBn(bn) {
|
|
458
|
-
let buf;
|
|
459
|
-
if (bn.ltn(253)) {
|
|
460
|
-
const n = bn.toNumber();
|
|
461
|
-
// No need for bitwise operation as the value is within a byte's range
|
|
462
|
-
buf = [n];
|
|
463
|
-
}
|
|
464
|
-
else if (bn.ltn(0x10000)) {
|
|
465
|
-
const n = bn.toNumber();
|
|
466
|
-
// Value fits in a uint16
|
|
467
|
-
buf = [253, n & 0xFF, (n >> 8) & 0xFF];
|
|
468
|
-
}
|
|
469
|
-
else if (bn.lt(new BigNumber_js_1.default(0x100000000))) {
|
|
470
|
-
const n = bn.toNumber();
|
|
471
|
-
// Value fits in a uint32
|
|
472
|
-
buf = [254, n & 0xFF, (n >> 8) & 0xFF, (n >> 16) & 0xFF, (n >> 24) & 0xFF];
|
|
473
|
-
}
|
|
474
|
-
else {
|
|
475
|
-
const bw = new Writer();
|
|
476
|
-
bw.writeUInt8(255);
|
|
477
|
-
bw.writeUInt64LEBn(bn);
|
|
478
|
-
buf = bw.toArray();
|
|
479
|
-
}
|
|
480
|
-
return buf;
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
exports.Writer = Writer;
|
|
484
|
-
class Reader {
|
|
485
|
-
constructor(bin = [], pos = 0) {
|
|
486
|
-
this.bin = bin;
|
|
487
|
-
this.pos = pos;
|
|
488
|
-
}
|
|
489
|
-
eof() {
|
|
490
|
-
return this.pos >= this.bin.length;
|
|
491
|
-
}
|
|
492
|
-
read(len = this.bin.length) {
|
|
493
|
-
const bin = this.bin.slice(this.pos, this.pos + len);
|
|
494
|
-
this.pos = this.pos + len;
|
|
495
|
-
return bin;
|
|
496
|
-
}
|
|
497
|
-
readReverse(len = this.bin.length) {
|
|
498
|
-
const bin = this.bin.slice(this.pos, this.pos + len);
|
|
499
|
-
this.pos = this.pos + len;
|
|
500
|
-
const buf2 = new Array(bin.length);
|
|
501
|
-
for (let i = 0; i < buf2.length; i++) {
|
|
502
|
-
buf2[i] = bin[bin.length - 1 - i];
|
|
503
|
-
}
|
|
504
|
-
return buf2;
|
|
505
|
-
}
|
|
506
|
-
readUInt8() {
|
|
507
|
-
const val = this.bin[this.pos];
|
|
508
|
-
this.pos += 1;
|
|
509
|
-
return val;
|
|
510
|
-
}
|
|
511
|
-
readInt8() {
|
|
512
|
-
const val = this.bin[this.pos];
|
|
513
|
-
this.pos += 1;
|
|
514
|
-
// If the sign bit is set, convert to negative value
|
|
515
|
-
return (val & 0x80) !== 0 ? val - 0x100 : val;
|
|
516
|
-
}
|
|
517
|
-
readUInt16BE() {
|
|
518
|
-
const val = (this.bin[this.pos] << 8) | this.bin[this.pos + 1];
|
|
519
|
-
this.pos += 2;
|
|
520
|
-
return val;
|
|
521
|
-
}
|
|
522
|
-
readInt16BE() {
|
|
523
|
-
const val = this.readUInt16BE();
|
|
524
|
-
// If the sign bit is set, convert to negative value
|
|
525
|
-
return (val & 0x8000) !== 0 ? val - 0x10000 : val;
|
|
526
|
-
}
|
|
527
|
-
readUInt16LE() {
|
|
528
|
-
const val = this.bin[this.pos] | (this.bin[this.pos + 1] << 8);
|
|
529
|
-
this.pos += 2;
|
|
530
|
-
return val;
|
|
531
|
-
}
|
|
532
|
-
readInt16LE() {
|
|
533
|
-
const val = this.readUInt16LE();
|
|
534
|
-
// If the sign bit is set, convert to negative value
|
|
535
|
-
const x = (val & 0x8000) !== 0 ? val - 0x10000 : val;
|
|
536
|
-
return x;
|
|
537
|
-
}
|
|
538
|
-
readUInt32BE() {
|
|
539
|
-
const val = (this.bin[this.pos] * 0x1000000) + // Shift the first byte by 24 bits
|
|
540
|
-
((this.bin[this.pos + 1] << 16) | // Shift the second byte by 16 bits
|
|
541
|
-
(this.bin[this.pos + 2] << 8) | // Shift the third byte by 8 bits
|
|
542
|
-
this.bin[this.pos + 3]); // The fourth byte
|
|
543
|
-
this.pos += 4;
|
|
544
|
-
return val;
|
|
545
|
-
}
|
|
546
|
-
readInt32BE() {
|
|
547
|
-
const val = this.readUInt32BE();
|
|
548
|
-
// If the sign bit is set, convert to negative value
|
|
549
|
-
return (val & 0x80000000) !== 0 ? val - 0x100000000 : val;
|
|
550
|
-
}
|
|
551
|
-
readUInt32LE() {
|
|
552
|
-
const val = (this.bin[this.pos] |
|
|
553
|
-
(this.bin[this.pos + 1] << 8) |
|
|
554
|
-
(this.bin[this.pos + 2] << 16) |
|
|
555
|
-
(this.bin[this.pos + 3] << 24)) >>> 0;
|
|
556
|
-
this.pos += 4;
|
|
557
|
-
return val;
|
|
558
|
-
}
|
|
559
|
-
readInt32LE() {
|
|
560
|
-
const val = this.readUInt32LE();
|
|
561
|
-
// Explicitly check if the sign bit is set and then convert to a negative value
|
|
562
|
-
return (val & 0x80000000) !== 0 ? val - 0x100000000 : val;
|
|
563
|
-
}
|
|
564
|
-
readUInt64BEBn() {
|
|
565
|
-
const bin = this.bin.slice(this.pos, this.pos + 8);
|
|
566
|
-
const bn = new BigNumber_js_1.default(bin);
|
|
567
|
-
this.pos = this.pos + 8;
|
|
568
|
-
return bn;
|
|
569
|
-
}
|
|
570
|
-
readUInt64LEBn() {
|
|
571
|
-
const bin = this.readReverse(8);
|
|
572
|
-
const bn = new BigNumber_js_1.default(bin);
|
|
573
|
-
return bn;
|
|
574
|
-
}
|
|
575
|
-
readVarIntNum() {
|
|
576
|
-
const first = this.readUInt8();
|
|
577
|
-
let bn;
|
|
578
|
-
let n;
|
|
579
|
-
switch (first) {
|
|
580
|
-
case 0xfd:
|
|
581
|
-
return this.readUInt16LE();
|
|
582
|
-
case 0xfe:
|
|
583
|
-
return this.readUInt32LE();
|
|
584
|
-
case 0xff:
|
|
585
|
-
bn = this.readUInt64LEBn();
|
|
586
|
-
if (bn.lte(new BigNumber_js_1.default(2).pow(new BigNumber_js_1.default(53)))) {
|
|
587
|
-
return bn.toNumber();
|
|
588
|
-
}
|
|
589
|
-
else {
|
|
590
|
-
throw new Error('number too large to retain precision - use readVarIntBn');
|
|
591
|
-
}
|
|
592
|
-
default:
|
|
593
|
-
return first;
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
readVarInt() {
|
|
597
|
-
const first = this.bin[this.pos];
|
|
598
|
-
switch (first) {
|
|
599
|
-
case 0xfd:
|
|
600
|
-
return this.read(1 + 2);
|
|
601
|
-
case 0xfe:
|
|
602
|
-
return this.read(1 + 4);
|
|
603
|
-
case 0xff:
|
|
604
|
-
return this.read(1 + 8);
|
|
605
|
-
default:
|
|
606
|
-
return this.read(1);
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
|
-
readVarIntBn() {
|
|
610
|
-
const first = this.readUInt8();
|
|
611
|
-
switch (first) {
|
|
612
|
-
case 0xfd:
|
|
613
|
-
return new BigNumber_js_1.default(this.readUInt16LE());
|
|
614
|
-
case 0xfe:
|
|
615
|
-
return new BigNumber_js_1.default(this.readUInt32LE());
|
|
616
|
-
case 0xff:
|
|
617
|
-
return this.readUInt64LEBn();
|
|
618
|
-
default:
|
|
619
|
-
return new BigNumber_js_1.default(first);
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
exports.Reader = Reader;
|
|
624
|
-
//# sourceMappingURL=utils.js.map
|