@emurgo/yoroi-lib-core
Advanced tools
Comparing version 0.4.3-alpha.30 to 0.5.0-alpha.31
import { BigNumber } from 'bignumber.js'; | ||
import { AccountStatePart, AddressingAddress, CardanoAddressedUtxo, CardanoHaskellConfig, CreateDelegationTxResponse, MultiTokenValue, SendToken, Token, TxOptions, WithdrawalRequest } from './internals/models'; | ||
import { AccountStatePart, Addressing, AddressingAddress, CardanoAddressedUtxo, CardanoHaskellConfig, CreateDelegationTxResponse, MultiTokenValue, SendToken, Token, TxOptions, WithdrawalRequest } from './internals/models'; | ||
import { UnsignedTx } from './internals/tx'; | ||
import * as WasmContract from './internals/wasm-contract'; | ||
import { PrivateKey, PublicKey } from './internals/wasm-contract'; | ||
import { SignTransactionRequest as LedgerSignTransactionRequest } from '@cardano-foundation/ledgerjs-hw-app-cardano'; | ||
export { AccountService } from './account'; | ||
@@ -31,4 +32,5 @@ export { AccountChainProtocols, AccountStorage } from './account/models'; | ||
}, absSlotNumber: BigNumber, utxos: Array<CardanoAddressedUtxo>, withdrawalRequests: Array<WithdrawalRequest>, changeAddr: AddressingAddress, config: CardanoHaskellConfig, txOptions: TxOptions): Promise<UnsignedTx>; | ||
createUnsignedVotingTx(absSlotNumber: BigNumber, stakePrivateKey: PrivateKey, catalystPrivateKey: PrivateKey, utxos: Array<CardanoAddressedUtxo>, changeAddr: AddressingAddress, config: CardanoHaskellConfig, txOptions: TxOptions, nonce: number): Promise<UnsignedTx>; | ||
createUnsignedVotingTx(absSlotNumber: BigNumber, stakePrivateKey: PrivateKey, stakingKeyPath: number[], catalystPrivateKey: PrivateKey, utxos: Array<CardanoAddressedUtxo>, changeAddr: AddressingAddress, config: CardanoHaskellConfig, txOptions: TxOptions, nonce: number): Promise<UnsignedTx>; | ||
createUnsignedDelegationTx(absSlotNumber: BigNumber, utxos: Array<CardanoAddressedUtxo>, stakingKey: PublicKey, registrationStatus: boolean, poolId: string | null, changeAddr: AddressingAddress, valueInAccount: MultiTokenValue, defaultToken: Token, txOptions: TxOptions, config: CardanoHaskellConfig): Promise<CreateDelegationTxResponse>; | ||
buildLedgerPayload(unsignedTx: UnsignedTx, networkId: number, byronNetworkMagic: number, addressingMap: (addr: string) => Addressing): Promise<LedgerSignTransactionRequest>; | ||
} |
@@ -32,3 +32,5 @@ "use strict"; | ||
const assets_1 = require("./internals/utils/assets"); | ||
const ledger_1 = require("./internals/utils/ledger"); | ||
const transactions_1 = require("./internals/utils/transactions"); | ||
const ledgerjs_hw_app_cardano_1 = require("@cardano-foundation/ledgerjs-hw-app-cardano"); | ||
var account_1 = require("./account"); | ||
@@ -107,5 +109,6 @@ Object.defineProperty(exports, "AccountService", { enumerable: true, get: function () { return account_1.AccountService; } }); | ||
} | ||
createUnsignedVotingTx(absSlotNumber, stakePrivateKey, catalystPrivateKey, utxos, changeAddr, config, txOptions, nonce) { | ||
createUnsignedVotingTx(absSlotNumber, stakePrivateKey, stakingKeyPath, catalystPrivateKey, utxos, changeAddr, config, txOptions, nonce) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const rewardAddress = this.Wasm.RewardAddress.new(config.networkId, yield this.Wasm.StakeCredential.fromKeyhash(yield stakePrivateKey.toPublic().then((x) => x.hash()))); | ||
const stakePublicKey = yield stakePrivateKey.toPublic(); | ||
const rewardAddress = this.Wasm.RewardAddress.new(config.networkId, yield this.Wasm.StakeCredential.fromKeyhash(yield stakePublicKey.hash())); | ||
const catalystPrivateKeyHex = Buffer.from(yield catalystPrivateKey.toPublic().then((x) => x.asBytes())).toString('hex'); | ||
@@ -143,3 +146,7 @@ const stakingPublicKeyHex = Buffer.from(yield stakePrivateKey.toPublic().then((x) => x.asBytes())).toString('hex'); | ||
wits: new Set() | ||
}, txOptions, false); | ||
}, txOptions, false, { | ||
nonce: nonce.toString(), | ||
stakingKeyPath: stakingKeyPath, | ||
votingPublicKey: Buffer.from(yield stakePublicKey.asBytes()).toString('hex') | ||
}); | ||
return unsignedTx; | ||
@@ -209,3 +216,3 @@ }); | ||
}; | ||
const unsignedTx = yield this.newAdaUnsignedTx([], changeAddr, utxos, absSlotNumber, protocolParams, certificates, finalWithdrawals, undefined, neededKeys, txOptions, false); | ||
const unsignedTx = yield this.newAdaUnsignedTx([], changeAddr, utxos, absSlotNumber, protocolParams, certificates, finalWithdrawals, undefined, neededKeys, txOptions, false, undefined); | ||
return unsignedTx; | ||
@@ -228,3 +235,3 @@ }); | ||
wits: new Set() | ||
}, txOptions, false)); | ||
}, txOptions, false, undefined)); | ||
const allUtxosForKey = yield (0, addresses_1.filterAddressesByStakingKey)(this._wasmV4, yield this._wasmV4.StakeCredential.fromKeyhash(yield stakingKey.hash()), utxos, false); | ||
@@ -247,2 +254,71 @@ const utxoSum = allUtxosForKey.reduce((sum, utxo) => sum.joinAddMutable((0, assets_1.multiTokenFromRemote)(utxo, protocolParams.networkId)), new multi_token_1.MultiToken([], defaultToken)); | ||
} | ||
buildLedgerPayload(unsignedTx, networkId, byronNetworkMagic, addressingMap) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const ledgerInputs = (0, ledger_1.transformToLedgerInputs)([...unsignedTx.senderUtxos]); | ||
const ledgerOutputs = yield (0, ledger_1.transformToLedgerOutputs)(this.Wasm, { | ||
networkId: networkId, | ||
txOutputs: yield unsignedTx.txBody.outputs(), | ||
addressingMap: addressingMap, | ||
changeAddrs: [...unsignedTx.change] | ||
}); | ||
const withdrawals = unsignedTx.withdrawals; | ||
const ledgerWithdrawal = []; | ||
if (withdrawals != null && withdrawals.hasValue() && (yield withdrawals.len()) > 0) { | ||
const withs = yield (0, ledger_1.formatLedgerWithdrawals)(withdrawals, addressingMap); | ||
ledgerWithdrawal.push(...withs); | ||
} | ||
const certificates = unsignedTx.certificates; | ||
const ledgerCertificates = []; | ||
if (certificates != null && certificates.hasValue() && (yield certificates.len()) > 0) { | ||
const certs = yield (0, ledger_1.formatLedgerCertificates)(this.Wasm, networkId, certificates, addressingMap); | ||
ledgerCertificates.push(...certs); | ||
} | ||
const ttl = unsignedTx.ttl; | ||
let auxiliaryData = null; | ||
if (unsignedTx.catalystRegistrationData) { | ||
const { votingPublicKey, stakingKeyPath, nonce } = unsignedTx.catalystRegistrationData; | ||
auxiliaryData = { | ||
type: ledgerjs_hw_app_cardano_1.TxAuxiliaryDataType.CATALYST_REGISTRATION, | ||
params: { | ||
votingPublicKeyHex: votingPublicKey.replace(/^0x/, ''), | ||
stakingPath: stakingKeyPath, | ||
rewardsDestination: { | ||
type: ledgerjs_hw_app_cardano_1.AddressType.REWARD_KEY, | ||
params: { | ||
stakingPath: stakingKeyPath, | ||
}, | ||
}, | ||
nonce, | ||
} | ||
}; | ||
} | ||
else if (unsignedTx.auxiliaryData && unsignedTx.auxiliaryData.hasValue()) { | ||
const auxiliaryDataHash = yield (0, hash_wasm_1.blake2b)(yield unsignedTx.auxiliaryData.toBytes(), 256); | ||
auxiliaryData = { | ||
type: ledgerjs_hw_app_cardano_1.TxAuxiliaryDataType.ARBITRARY_HASH, | ||
params: { | ||
hashHex: auxiliaryDataHash | ||
} | ||
}; | ||
} | ||
return { | ||
signingMode: ledgerjs_hw_app_cardano_1.TransactionSigningMode.ORDINARY_TRANSACTION, | ||
tx: { | ||
inputs: ledgerInputs, | ||
outputs: ledgerOutputs, | ||
ttl: ttl === undefined ? ttl : ttl.toString(), | ||
fee: yield unsignedTx.txBody.fee().then(x => x.toStr()), | ||
network: { | ||
networkId: networkId, | ||
protocolMagic: byronNetworkMagic, | ||
}, | ||
withdrawals: ledgerWithdrawal.length === 0 ? null : ledgerWithdrawal, | ||
certificates: ledgerCertificates.length === 0 ? null : ledgerCertificates, | ||
auxiliaryData, | ||
validityIntervalStart: undefined, | ||
}, | ||
additionalWitnessPaths: [], | ||
}; | ||
}); | ||
} | ||
createUnsignedTxForUtxos(absSlotNumber, receivers, defaultToken, tokens, utxos, config, txOptions) { | ||
@@ -309,3 +385,3 @@ return __awaiter(this, void 0, void 0, function* () { | ||
wits: new Set([]) | ||
}, txOptions, false); | ||
}, txOptions, false, undefined); | ||
YoroiLib.logger.debug(`createUnsignedTxForUtxos success`, unsignedTx); | ||
@@ -354,3 +430,3 @@ return unsignedTx; | ||
isDefault: true | ||
}, protocolParams.networkId, neededStakingKeyHashes, (_a = txOptions.metadata) !== null && _a !== void 0 ? _a : []); | ||
}, protocolParams.networkId, neededStakingKeyHashes, (_a = txOptions.metadata) !== null && _a !== void 0 ? _a : [], auxData, undefined); | ||
}); | ||
@@ -423,3 +499,3 @@ } | ||
} | ||
newAdaUnsignedTx(outputs, changeAdaAddr, allUtxos, absSlotNumber, protocolParams, certificates, withdrawals, auxData, neededStakingKeyHashes, txOptions, allowNoOutputs) { | ||
newAdaUnsignedTx(outputs, changeAdaAddr, allUtxos, absSlotNumber, protocolParams, certificates, withdrawals, auxData, neededStakingKeyHashes, txOptions, allowNoOutputs, catalystRegistrationData) { | ||
var _a; | ||
@@ -450,3 +526,3 @@ return __awaiter(this, void 0, void 0, function* () { | ||
isDefault: true | ||
}, protocolParams.networkId, neededStakingKeyHashes, (_a = txOptions.metadata) !== null && _a !== void 0 ? _a : []); | ||
}, protocolParams.networkId, neededStakingKeyHashes, (_a = txOptions.metadata) !== null && _a !== void 0 ? _a : [], auxData, catalystRegistrationData); | ||
}); | ||
@@ -453,0 +529,0 @@ } |
import { BigNumber } from 'bignumber.js'; | ||
import { MultiToken } from './multi-token'; | ||
import { UnsignedTx } from './tx'; | ||
interface Bip44DerivationLevel { | ||
level: number; | ||
} | ||
export declare const Bip44DerivationLevels: { | ||
ROOT: Bip44DerivationLevel; | ||
PURPOSE: Bip44DerivationLevel; | ||
COIN_TYPE: Bip44DerivationLevel; | ||
ACCOUNT: Bip44DerivationLevel; | ||
CHAIN: Bip44DerivationLevel; | ||
ADDRESS: Bip44DerivationLevel; | ||
}; | ||
export declare const PRIMARY_ASSET_CONSTANTS: { | ||
@@ -111,1 +122,6 @@ Cardano: string; | ||
} | ||
export declare enum CoinType { | ||
CARDANO = 2147485463, | ||
ERGO = 2147484077 | ||
} | ||
export {}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CatalystLabels = exports.MetadataJsonSchema = exports.PRIMARY_ASSET_CONSTANTS = void 0; | ||
exports.CoinType = exports.CatalystLabels = exports.MetadataJsonSchema = exports.PRIMARY_ASSET_CONSTANTS = exports.Bip44DerivationLevels = void 0; | ||
exports.Bip44DerivationLevels = { | ||
ROOT: { | ||
level: 0 | ||
}, | ||
PURPOSE: { | ||
level: 1 | ||
}, | ||
COIN_TYPE: { | ||
level: 2 | ||
}, | ||
ACCOUNT: { | ||
level: 3 | ||
}, | ||
CHAIN: { | ||
level: 4 | ||
}, | ||
ADDRESS: { | ||
level: 5 | ||
} | ||
}; | ||
exports.PRIMARY_ASSET_CONSTANTS = { | ||
@@ -20,1 +40,6 @@ Cardano: '', | ||
})(CatalystLabels = exports.CatalystLabels || (exports.CatalystLabels = {})); | ||
var CoinType; | ||
(function (CoinType) { | ||
CoinType[CoinType["CARDANO"] = 2147485463] = "CARDANO"; | ||
CoinType[CoinType["ERGO"] = 2147484077] = "ERGO"; | ||
})(CoinType = exports.CoinType || (exports.CoinType = {})); |
@@ -10,2 +10,3 @@ import * as WasmContract from './wasm-contract'; | ||
private _txBody; | ||
private _txBuilder; | ||
private _certificates; | ||
@@ -19,2 +20,4 @@ private _withdrawals; | ||
private _hash; | ||
private _auxiliaryData?; | ||
private _catalystRegistrationData?; | ||
private _senderUtxos; | ||
@@ -31,2 +34,3 @@ private _inputs; | ||
get txBody(): WasmContract.TransactionBody; | ||
get txBuilder(): WasmContract.TransactionBuilder; | ||
get senderUtxos(): ReadonlyArray<CardanoAddressedUtxo>; | ||
@@ -58,2 +62,4 @@ get inputs(): ReadonlyArray<{ | ||
get hash(): WasmContract.TransactionHash; | ||
get auxiliaryData(): WasmContract.AuxiliaryData | undefined; | ||
get catalystRegistrationData(): CatalystRegistrationData | undefined; | ||
/** | ||
@@ -64,3 +70,3 @@ * Initializes the class with the specific wasm types, outputs and change. | ||
*/ | ||
protected constructor(wasm: WasmContract.WasmModuleProxy, txBody: WasmContract.TransactionBody, senderUtxos: CardanoAddressedUtxo[], inputs: ReadonlyArray<{ | ||
protected constructor(wasm: WasmContract.WasmModuleProxy, txBody: WasmContract.TransactionBody, txBuilder: WasmContract.TransactionBuilder, senderUtxos: CardanoAddressedUtxo[], inputs: ReadonlyArray<{ | ||
address: string; | ||
@@ -74,3 +80,3 @@ value: MultiTokenValue; | ||
wits: Set<string>; | ||
}, encodedTx: string, hash: WasmContract.TransactionHash); | ||
}, encodedTx: string, hash: WasmContract.TransactionHash, auxiliaryData: WasmContract.AuxiliaryData | undefined, catalystRegistrationData: CatalystRegistrationData | undefined); | ||
static new(wasm: WasmContract.WasmModuleProxy, txBuilder: WasmContract.TransactionBuilder, senderUtxos: CardanoAddressedUtxo[], inputs: ReadonlyArray<{ | ||
@@ -85,8 +91,15 @@ address: string; | ||
wits: Set<string>; | ||
}, metadata: ReadonlyArray<TxMetadata>): Promise<WasmUnsignedTx>; | ||
}, metadata: ReadonlyArray<TxMetadata>, auxiliaryData: WasmContract.AuxiliaryData | undefined, catalystRegistrationData: CatalystRegistrationData | undefined): Promise<WasmUnsignedTx>; | ||
sign(keyLevel: number, privateKey: string, stakingKeyWits: Set<string>, extraMetadata: TxMetadata[]): Promise<SignedTx>; | ||
private addWitnesses; | ||
} | ||
export declare type CatalystRegistrationData = { | ||
votingPublicKey: string; | ||
stakingKeyPath: number[]; | ||
nonce: string; | ||
}; | ||
export interface UnsignedTx { | ||
readonly senderUtxos: ReadonlyArray<CardanoAddressedUtxo>; | ||
readonly txBody: WasmContract.TransactionBody; | ||
readonly txBuilder: WasmContract.TransactionBuilder; | ||
readonly inputs: ReadonlyArray<{ | ||
@@ -117,2 +130,4 @@ address: string; | ||
readonly hash: WasmContract.TransactionHash; | ||
readonly auxiliaryData?: WasmContract.AuxiliaryData; | ||
readonly catalystRegistrationData?: CatalystRegistrationData; | ||
sign(keyLevel: number, privateKey: string, stakingKeyWits: Set<string>, metadata: ReadonlyArray<TxMetadata>): Promise<SignedTx>; | ||
@@ -123,2 +138,2 @@ } | ||
wits: Set<string>; | ||
}, metadata: ReadonlyArray<TxMetadata>): Promise<WasmUnsignedTx>; | ||
}, metadata: ReadonlyArray<TxMetadata>, auxiliaryData: WasmContract.AuxiliaryData | undefined, catalystRegistrationData: CatalystRegistrationData | undefined): Promise<WasmUnsignedTx>; |
@@ -20,22 +20,2 @@ "use strict"; | ||
const multi_token_1 = require("./multi-token"); | ||
const Bip44DerivationLevels = { | ||
ROOT: { | ||
level: 0 | ||
}, | ||
PURPOSE: { | ||
level: 1 | ||
}, | ||
COIN_TYPE: { | ||
level: 2 | ||
}, | ||
ACCOUNT: { | ||
level: 3 | ||
}, | ||
CHAIN: { | ||
level: 4 | ||
}, | ||
ADDRESS: { | ||
level: 5 | ||
} | ||
}; | ||
class WasmUnsignedTx { | ||
@@ -47,5 +27,6 @@ /** | ||
*/ | ||
constructor(wasm, txBody, senderUtxos, inputs, totalInput, outputs, totalOutput, fee, change, metadata, certificates, withdrawals, deregistrations, delegations, registrations, ttl, neededStakingKeyHashes, encodedTx, hash) { | ||
constructor(wasm, txBody, txBuilder, senderUtxos, inputs, totalInput, outputs, totalOutput, fee, change, metadata, certificates, withdrawals, deregistrations, delegations, registrations, ttl, neededStakingKeyHashes, encodedTx, hash, auxiliaryData, catalystRegistrationData) { | ||
this._wasm = wasm; | ||
this._txBody = txBody; | ||
this._txBuilder = txBuilder; | ||
this._senderUtxos = senderUtxos; | ||
@@ -68,2 +49,4 @@ this._inputs = inputs; | ||
this._hash = hash; | ||
this._auxiliaryData = auxiliaryData; | ||
this._catalystRegistrationData = catalystRegistrationData; | ||
} | ||
@@ -76,2 +59,5 @@ get wasm() { | ||
} | ||
get txBuilder() { | ||
return this._txBuilder; | ||
} | ||
get senderUtxos() { | ||
@@ -128,3 +114,9 @@ return this._senderUtxos; | ||
} | ||
static new(wasm, txBuilder, senderUtxos, inputs, totalInput, outputs, totalOutput, fee, change, neededStakingKeyHashes, metadata) { | ||
get auxiliaryData() { | ||
return this._auxiliaryData; | ||
} | ||
get catalystRegistrationData() { | ||
return this._catalystRegistrationData; | ||
} | ||
static new(wasm, txBuilder, senderUtxos, inputs, totalInput, outputs, totalOutput, fee, change, neededStakingKeyHashes, metadata, auxiliaryData, catalystRegistrationData) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
@@ -172,3 +164,3 @@ const txBody = yield txBuilder.build(); | ||
} | ||
return new WasmUnsignedTx(wasm, txBody, senderUtxos, inputs, totalInput, outputs, totalOutput, fee, change, metadata, certs, withdrawals, deregistrations, delegations, registrations, ttl, neededStakingKeyHashes, Buffer.from(txBytes).toString('hex'), hash); | ||
return new WasmUnsignedTx(wasm, txBody, txBuilder, senderUtxos, inputs, totalInput, outputs, totalOutput, fee, change, metadata, certs, withdrawals, deregistrations, delegations, registrations, ttl, neededStakingKeyHashes, Buffer.from(txBytes).toString('hex'), hash, auxiliaryData, catalystRegistrationData); | ||
}); | ||
@@ -247,3 +239,3 @@ } | ||
const lastLevelSpecified = utxo.addressing.startLevel + utxo.addressing.path.length - 1; | ||
if (lastLevelSpecified !== Bip44DerivationLevels.ADDRESS.level) { | ||
if (lastLevelSpecified !== models_1.Bip44DerivationLevels.ADDRESS.level) { | ||
throw new Error(`WasmUnsignedTx.addWitnesses incorrect addressing size`); | ||
@@ -276,5 +268,5 @@ } | ||
exports.WasmUnsignedTx = WasmUnsignedTx; | ||
function genWasmUnsignedTx(wasm, txBuilder, senderUtxos, change, defaults, networkId, neededStakingKeyHashes, metadata) { | ||
function genWasmUnsignedTx(wasm, txBuilder, senderUtxos, change, defaults, networkId, neededStakingKeyHashes, metadata, auxiliaryData, catalystRegistrationData) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
return yield WasmUnsignedTx.new(wasm, txBuilder, senderUtxos, yield genWasmUnsignedTxInputs(txBuilder, senderUtxos, networkId), yield genWasmUnsignedTxTotalInput(txBuilder, change, defaults), yield genWasmUnsignedTxOutputs(txBuilder, networkId), yield genWasmUnsignedTxTotalOutput(txBuilder, defaults), yield genWasmUnsignedTxFee(txBuilder, defaults, networkId), change, neededStakingKeyHashes, metadata); | ||
return yield WasmUnsignedTx.new(wasm, txBuilder, senderUtxos, yield genWasmUnsignedTxInputs(txBuilder, senderUtxos, networkId), yield genWasmUnsignedTxTotalInput(txBuilder, change, defaults), yield genWasmUnsignedTxOutputs(txBuilder, networkId), yield genWasmUnsignedTxTotalOutput(txBuilder, defaults), yield genWasmUnsignedTxFee(txBuilder, defaults, networkId), change, neededStakingKeyHashes, metadata, auxiliaryData, catalystRegistrationData); | ||
}); | ||
@@ -281,0 +273,0 @@ } |
@@ -43,3 +43,3 @@ "use strict"; | ||
const asByron = yield wasm.ByronAddress.fromAddress(address); | ||
if (asByron == null) { | ||
if (asByron === null || !asByron.hasValue()) { | ||
return Buffer.from(yield address.toBytes()).toString('hex'); | ||
@@ -46,0 +46,0 @@ } |
{ | ||
"name": "@emurgo/yoroi-lib-core", | ||
"version": "0.4.3-alpha.30", | ||
"version": "0.5.0-alpha.31", | ||
"description": "", | ||
@@ -26,2 +26,3 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@cardano-foundation/ledgerjs-hw-app-cardano": "^5.0.0", | ||
"axios": "^0.24.0", | ||
@@ -28,0 +29,0 @@ "bignumber.js": "^9.0.1", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
282332
61
5009
4
+ Added@cardano-foundation/ledgerjs-hw-app-cardano@5.1.0(transitive)
+ Added@ledgerhq/devices@5.51.1(transitive)
+ Added@ledgerhq/errors@5.50.0(transitive)
+ Added@ledgerhq/hw-transport@5.51.1(transitive)
+ Added@ledgerhq/logs@5.50.0(transitive)
+ Added@types/ledgerhq__hw-transport@4.21.8(transitive)
+ Added@types/node@22.10.0(transitive)
+ Addedbase-x@3.0.10(transitive)
+ Addedbech32@1.1.4(transitive)
+ Addedblake2@4.1.1(transitive)
+ Addedevents@3.3.0(transitive)
+ Addedint64-buffer@1.0.1(transitive)
+ Addednan@2.22.0(transitive)
+ Addedrxjs@6.6.7(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsemver@7.6.3(transitive)
+ Addedtslib@1.14.1(transitive)
+ Addedundici-types@6.20.0(transitive)