From 6f3221e532499342d4748a3c3f2eca4d68f12c6a Mon Sep 17 00:00:00 2001 From: Bucur David Date: Sat, 6 Jul 2024 18:32:35 +0300 Subject: [PATCH 01/20] feat: liveliness stake views and claim method --- src/abis/core-mx-liveliness-stake.abi.json | 370 +++++++++++++++++++++ src/common/utils.ts | 16 + src/config.ts | 8 + src/index.ts | 1 + src/interfaces.ts | 11 + src/liveliness-stake.ts | 154 +++++++++ 6 files changed, 560 insertions(+) create mode 100644 src/abis/core-mx-liveliness-stake.abi.json create mode 100644 src/liveliness-stake.ts diff --git a/src/abis/core-mx-liveliness-stake.abi.json b/src/abis/core-mx-liveliness-stake.abi.json new file mode 100644 index 0000000..d1250ba --- /dev/null +++ b/src/abis/core-mx-liveliness-stake.abi.json @@ -0,0 +1,370 @@ +{ + "buildInfo": { + "rustc": { + "version": "1.78.0", + "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", + "commitDate": "2024-04-29", + "channel": "Stable", + "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" + }, + "contractCrate": { + "name": "core-mx-liveliness-stake", + "version": "0.0.0" + }, + "framework": { + "name": "multiversx-sc", + "version": "0.51.0" + } + }, + "name": "CoreMxLivelinessStake", + "constructor": { + "inputs": [], + "outputs": [] + }, + "upgradeConstructor": { + "inputs": [], + "outputs": [] + }, + "endpoints": [ + { + "name": "claimRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "setContractStateActive", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "setContractStateInactive", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "setMaxApr", + "mutability": "mutable", + "inputs": [ + { + "name": "max_apr", + "type": "BigUint" + } + ], + "outputs": [] + }, + { + "name": "setRewardsTokenIdentifier", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [] + }, + { + "name": "setPerBlockRewardAmount", + "mutability": "mutable", + "inputs": [ + { + "name": "per_block_amount", + "type": "BigUint" + } + ], + "outputs": [] + }, + { + "name": "topUpRewards", + "mutability": "mutable", + "payableInTokens": [ + "*" + ], + "inputs": [], + "outputs": [] + }, + { + "name": "withdrawRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "amount", + "type": "BigUint" + } + ], + "outputs": [] + }, + { + "name": "startProduceRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "endProduceRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "setBondContractAddress", + "mutability": "mutable", + "inputs": [ + { + "name": "bond_contract_address", + "type": "Address" + } + ], + "outputs": [] + }, + { + "name": "setAdministrator", + "onlyOwner": true, + "mutability": "mutable", + "inputs": [ + { + "name": "administrator", + "type": "Address" + } + ], + "outputs": [] + }, + { + "name": "getContractState", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "State" + } + ] + }, + { + "name": "rewardsState", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "State" + } + ] + }, + { + "name": "getAdministrator", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, + { + "name": "bondContractAddress", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, + { + "name": "rewardsReserve", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "accumulatedRewards", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "rewardsTokenIdentifier", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "TokenIdentifier" + } + ] + }, + { + "name": "rewardsPerBlock", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "lastRewardBlockNonce", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "u64" + } + ] + }, + { + "name": "rewardsPerShare", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "addresLastRewardPerShare", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "maxApr", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "claimableRewards", + "mutability": "readonly", + "inputs": [ + { + "name": "caller", + "type": "Address" + }, + { + "name": "opt_bypass_liveliness", + "type": "Option" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "contractDetails", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "ContractDetails" + } + ] + } + ], + "events": [ + { + "identifier": "set_administrator_event", + "inputs": [ + { + "name": "administrator", + "type": "Address", + "indexed": true + } + ] + }, + { + "identifier": "contract_state_event", + "inputs": [ + { + "name": "state", + "type": "State", + "indexed": true + } + ] + } + ], + "esdtAttributes": [], + "hasCallback": false, + "types": { + "ContractDetails": { + "type": "struct", + "fields": [ + { + "name": "rewards_reserve", + "type": "BigUint" + }, + { + "name": "accumulated_rewards", + "type": "BigUint" + }, + { + "name": "rewards_token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "rewards_per_block", + "type": "BigUint" + }, + { + "name": "rewards_per_share", + "type": "BigUint" + }, + { + "name": "administrator", + "type": "Address" + }, + { + "name": "bond_contract_address", + "type": "Address" + }, + { + "name": "last_reward_block_nonce", + "type": "u64" + }, + { + "name": "max_apr", + "type": "BigUint" + } + ] + }, + "State": { + "type": "enum", + "variants": [ + { + "name": "Inactive", + "discriminant": 0 + }, + { + "name": "Active", + "discriminant": 1 + } + ] + } + } +} diff --git a/src/common/utils.ts b/src/common/utils.ts index 16c94d1..89b0471 100644 --- a/src/common/utils.ts +++ b/src/common/utils.ts @@ -12,6 +12,7 @@ import { BondConfiguration, Compensation, ContractConfiguration, + LivelinessStakeConfiguration, NftEnumType, NftType, Offer, @@ -127,6 +128,21 @@ export function parseBondConfiguration(value: any): BondConfiguration { }; } +export function parseLivelinessStakeConfiguration( + value: any +): LivelinessStakeConfiguration { + return { + rewardsPerBlock: BigNumber(value.rewards_per_block), + rewardsReserve: BigNumber(value.rewards_reserve), + accumulatedRewards: BigNumber(value.accumulated_rewards), + rewardsTokenIdentifier: value.rewards_token_identifier.toString(), + lastRewardBlockNonce: value.last_reward_block_nonce.toNumber(), + maxApr: BigNumber(value.max_apr).div(10000).toNumber(), + administrator: value.administrator.toString(), + bondContractAddress: value.bond_contract_address.toString() + }; +} + export function parseCompensation(value: any): Compensation { return { compensationId: value.compensation_id.toNumber(), diff --git a/src/config.ts b/src/config.ts index b74736d..3f36d67 100644 --- a/src/config.ts +++ b/src/config.ts @@ -55,6 +55,14 @@ export const bondContractAddress: { [key in EnvironmentsEnum]: string } = { testnet: '' }; +export const livelinessStakeContractAddress: { + [key in EnvironmentsEnum]: string; +} = { + devnet: '', + mainnet: '', + testnet: '' +}; + export const apiConfiguration: { [key in EnvironmentsEnum]: string } = { devnet: 'https://devnet-api.multiversx.com', mainnet: 'https://api.multiversx.com', diff --git a/src/index.ts b/src/index.ts index a703446..eb81c43 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,4 +7,5 @@ export * from './nft-minter'; export * from './sft-minter'; export * from './bond'; export * from './contract'; +export * from './liveliness-stake'; export { parseTokenIdentifier, createTokenIdentifier } from './common/utils'; diff --git a/src/interfaces.ts b/src/interfaces.ts index c9bfc67..6772ad9 100644 --- a/src/interfaces.ts +++ b/src/interfaces.ts @@ -164,6 +164,17 @@ export interface BondConfiguration { acceptedCallers: string[]; } +export interface LivelinessStakeConfiguration { + rewardsReserve: BigNumber.Value; + accumulatedRewards: BigNumber.Value; + rewardsTokenIdentifier: string; + rewardsPerBlock: BigNumber.Value; + lastRewardBlockNonce: number; + maxApr: number; + administrator: string; + bondContractAddress: string; +} + export interface Refund { compensationId: number; address: string; diff --git a/src/liveliness-stake.ts b/src/liveliness-stake.ts new file mode 100644 index 0000000..652015d --- /dev/null +++ b/src/liveliness-stake.ts @@ -0,0 +1,154 @@ +import { + Address, + AddressValue, + BooleanValue, + ContractCallPayloadBuilder, + IAddress, + ResultsParser, + Transaction, + VariadicValue +} from '@multiversx/sdk-core/out'; +import { EnvironmentsEnum, livelinessStakeContractAddress } from './config'; +import { Contract } from './contract'; +import livelinessStakeAbi from './abis/core-mx-liveliness-stake.abi.json'; +import { LivelinessStakeConfiguration, State } from './interfaces'; +import { ErrContractQuery } from './errors'; +import { parseLivelinessStakeConfiguration } from './common/utils'; +import BigNumber from 'bignumber.js'; + +export class LivelinessStake extends Contract { + constructor(env: string, timeout: number = 10000) { + super( + env, + new Address(livelinessStakeContractAddress[env as EnvironmentsEnum]), + livelinessStakeAbi, + timeout + ); + } + + /** + * Returns the contract address + */ + getContractAddress(): IAddress { + return this.contract.getAddress(); + } + + /** + * Returns the contract state as a `State` enum + */ + async viewContractState(): Promise { + const interaction = this.contract.methodsExplicit.getContractState([]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + const stateValue = firstValue?.valueOf(); + return stateValue.name as State; + } else { + throw new ErrContractQuery('viewContractState', returnCode.toString()); + } + } + + /** + * Returns the `liveliness stake` contract configuration + */ + async viewContractConfiguration(): Promise { + const interaction = this.contract.methodsExplicit.contractDetails([]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + const firstValueAsVariadic = firstValue as VariadicValue; + const returnValue = firstValueAsVariadic?.valueOf(); + const livelinessConfiguration = + parseLivelinessStakeConfiguration(returnValue); + return livelinessConfiguration; + } else { + throw new ErrContractQuery( + 'viewContractConfiguration', + returnCode.toString() + ); + } + } + + /** + * Returns rewards state as a `State` enum + */ + async viewRewardsState(): Promise { + const interaction = this.contract.methodsExplicit.rewardsState([]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + const stateValue = firstValue?.valueOf(); + return stateValue.name as State; + } else { + throw new ErrContractQuery('viewContractState', returnCode.toString()); + } + } + + /** + * Returns a `BigNumber.Value` representing the claimable rewards + * @param address address to check claimable rewards + * @param bypass_liveliness_check boolean value to bypass liveliness check + * @returns + */ + + async viewClaimableRewards( + address: IAddress, + bypass_liveliness_check: false + ): Promise { + let interaction = bypass_liveliness_check + ? this.contract.methodsExplicit.claimableRewards([ + new AddressValue(address), + new BooleanValue(bypass_liveliness_check) + ]) + : this.contract.methodsExplicit.claimableRewards([ + new AddressValue(address) + ]); + + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + return BigNumber(firstValue?.valueOf()); + } else { + throw new ErrContractQuery('viewClaimableRewards', returnCode.toString()); + } + } + + /** + * Builds a `claimRewards` transaction + * @param senderAddress address of the sender + * @returns + */ + claimRewards(senderAddress: IAddress): Transaction { + const claimRewardsTx = new Transaction({ + value: 0, + data: new ContractCallPayloadBuilder() + .setFunction('claimRewards') + .build(), + receiver: this.contract.getAddress(), + sender: senderAddress, + gasLimit: 50_000_000, + chainID: this.chainID + }); + return claimRewardsTx; + } +} From 7af934dd88c9230b8b5d6370ab5933cf9a57fc42 Mon Sep 17 00:00:00 2001 From: Bucur David Date: Sat, 6 Jul 2024 18:33:41 +0300 Subject: [PATCH 02/20] chore: alpha version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a5d50ba..5ec88c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.5.1", + "version": "3.6.0-alpha.1", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", From e3785e952d8311377e958abb8a19bff318e46bb7 Mon Sep 17 00:00:00 2001 From: Bucur David Date: Sat, 6 Jul 2024 18:39:38 +0300 Subject: [PATCH 03/20] feat: bond contract update for stake --- src/abis/core-mx-life-bonding-sc.abi.json | 64 +++++++++++++++----- src/bond.ts | 71 +++++++++++++++++++++++ 2 files changed, 122 insertions(+), 13 deletions(-) diff --git a/src/abis/core-mx-life-bonding-sc.abi.json b/src/abis/core-mx-life-bonding-sc.abi.json index 6fdf632..46b3819 100644 --- a/src/abis/core-mx-life-bonding-sc.abi.json +++ b/src/abis/core-mx-life-bonding-sc.abi.json @@ -1,19 +1,19 @@ { "buildInfo": { "rustc": { - "version": "1.76.0-nightly", - "commitHash": "d86d65bbc19b928387f68427fcc3a0da498d8a19", - "commitDate": "2023-12-10", - "channel": "Nightly", - "short": "rustc 1.76.0-nightly (d86d65bbc 2023-12-10)" + "version": "1.78.0", + "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", + "commitDate": "2024-04-29", + "channel": "Stable", + "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" }, "contractCrate": { "name": "core-mx-life-bonding-sc", - "version": "1.0.0" + "version": "2.0.0" }, "framework": { "name": "multiversx-sc", - "version": "0.47.8" + "version": "0.51.0" } }, "name": "LifeBondingContract", @@ -21,13 +21,11 @@ "inputs": [], "outputs": [] }, + "upgradeConstructor": { + "inputs": [], + "outputs": [] + }, "endpoints": [ - { - "name": "upgrade", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, { "name": "bond", "mutability": "mutable", @@ -124,6 +122,16 @@ } ] }, + { + "name": "getTotalBondAmount", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, { "name": "getBond", "mutability": "readonly", @@ -279,6 +287,36 @@ } ] }, + { + "name": "getAddressBondsAvgScore", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "getAddressBondsTotalValue", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, { "name": "getAllBonds", "mutability": "readonly", diff --git a/src/bond.ts b/src/bond.ts index 1c7173e..860c45c 100644 --- a/src/bond.ts +++ b/src/bond.ts @@ -108,6 +108,77 @@ export class BondContract extends Contract { } } + /** + * Returns the total bond amount + */ + async viewTotalBondAmount(): Promise { + const interaction = this.contract.methodsExplicit.getTotalBondAmount([]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + return BigNumber(firstValue?.valueOf()); + } else { + throw new ErrContractQuery('viewTotalBondAmount', returnCode.toString()); + } + } + + /** + * Returns the total bond amount for a specific address + * @param address address to query + */ + async viewAddressTotalBondAmount( + address: IAddress + ): Promise { + const interaction = this.contract.methodsExplicit.getAddressBondsTotalValue( + [new AddressValue(address)] + ); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + return BigNumber(firstValue?.valueOf()); + } else { + throw new ErrContractQuery( + 'viewAddressTotalBondAmount', + returnCode.toString() + ); + } + } + + /** + * Returns the average liveliness score for a specific address + * @param address address to query + */ + async viewAddressAvgLivelinessScore(address: IAddress): Promise { + const interaction = this.contract.methodsExplicit.getAddressBondsAvgScore([ + new AddressValue(address) + ]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + return BigNumber(firstValue?.valueOf()).div(10000).toNumber(); + } else { + throw new ErrContractQuery( + 'viewAddressAvgLivelinessScore', + returnCode.toString() + ); + } + } + /** * Returns the contract owner address */ From 2932d0a44accb94f3c3e447f4bcc25f8e00d543e Mon Sep 17 00:00:00 2001 From: Bucur David Date: Mon, 15 Jul 2024 15:48:08 +0300 Subject: [PATCH 04/20] feat: liveliness stake devnet --- package-lock.json | 4 ++-- src/config.ts | 2 +- src/liveliness-stake.ts | 13 +++++++++++-- tests/stake.test.ts | 11 +++++++++++ 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 tests/stake.test.ts diff --git a/package-lock.json b/package-lock.json index 81db0c5..19024a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.5.0-alpha.6", + "version": "3.6.0-alpha.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@itheum/sdk-mx-data-nft", - "version": "3.5.0-alpha.6", + "version": "3.6.0-alpha.1", "license": "GPL-3.0-only", "dependencies": { "@multiversx/sdk-core": "12.18.0", diff --git a/src/config.ts b/src/config.ts index 3f36d67..b5ebc6c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -58,7 +58,7 @@ export const bondContractAddress: { [key in EnvironmentsEnum]: string } = { export const livelinessStakeContractAddress: { [key in EnvironmentsEnum]: string; } = { - devnet: '', + devnet: 'erd1qqqqqqqqqqqqqpgqydk7awqqukk9utkxtdtnuu4z53e0ahjm8ypszvjjh6', mainnet: '', testnet: '' }; diff --git a/src/liveliness-stake.ts b/src/liveliness-stake.ts index 652015d..29d206c 100644 --- a/src/liveliness-stake.ts +++ b/src/liveliness-stake.ts @@ -1,9 +1,11 @@ import { Address, AddressValue, + BooleanType, BooleanValue, ContractCallPayloadBuilder, IAddress, + OptionValue, ResultsParser, Transaction, VariadicValue @@ -113,10 +115,17 @@ export class LivelinessStake extends Contract { let interaction = bypass_liveliness_check ? this.contract.methodsExplicit.claimableRewards([ new AddressValue(address), - new BooleanValue(bypass_liveliness_check) + new OptionValue( + new BooleanType(), + new BooleanValue(bypass_liveliness_check) + ) ]) : this.contract.methodsExplicit.claimableRewards([ - new AddressValue(address) + new AddressValue(address), + new OptionValue( + new BooleanType(), + new BooleanValue(bypass_liveliness_check) + ) ]); const query = interaction.buildQuery(); diff --git a/tests/stake.test.ts b/tests/stake.test.ts new file mode 100644 index 0000000..1519a06 --- /dev/null +++ b/tests/stake.test.ts @@ -0,0 +1,11 @@ +import { ContractConfiguration, LivelinessStake, State } from '../src'; + +describe('Bond test', () => { + test('#test liveliness', async () => { + const livelinessStake = new LivelinessStake('devnet'); + + const response = await livelinessStake.viewContractConfiguration(); + + expect(response).toBeInstanceOf(Object as unknown as ContractConfiguration); + }); +}); From 26828e22ac170a372583d7f6c0b7b4bd39b7476b Mon Sep 17 00:00:00 2001 From: Bucur David Date: Thu, 18 Jul 2024 11:09:19 +0300 Subject: [PATCH 05/20] feat: vault setup and topup --- src/abis/core-mx-life-bonding-sc.abi.json | 52 +++++++++++++ src/bond.ts | 91 +++++++++++++++++++++++ 2 files changed, 143 insertions(+) diff --git a/src/abis/core-mx-life-bonding-sc.abi.json b/src/abis/core-mx-life-bonding-sc.abi.json index 46b3819..f27e3fa 100644 --- a/src/abis/core-mx-life-bonding-sc.abi.json +++ b/src/abis/core-mx-life-bonding-sc.abi.json @@ -106,6 +106,39 @@ ], "outputs": [] }, + { + "name": "setVaultNonce", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "topUpVault", + "mutability": "mutable", + "payableInTokens": [ + "*" + ], + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, { "name": "getCompensationBlacklist", "mutability": "readonly", @@ -132,6 +165,25 @@ } ] }, + { + "name": "getAddressVaultNone", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [ + { + "type": "u64" + } + ] + }, { "name": "getBond", "mutability": "readonly", diff --git a/src/bond.ts b/src/bond.ts index 860c45c..4e6cbe6 100644 --- a/src/bond.ts +++ b/src/bond.ts @@ -16,6 +16,7 @@ import { import { EnvironmentsEnum, bondContractAddress, + dataNftTokenIdentifier, itheumTokenIdentifier } from './config'; import { ErrContractQuery } from './errors'; @@ -179,6 +180,36 @@ export class BondContract extends Contract { } } + /** + * Returns the address vault nonce for a specific address + * @param address address to query + * @param tokenIdentifier token identifier to query [default token identifier based on the {@link EnvironmentsEnum}] + */ + async viewAddressVaultNonce( + address: IAddress, + tokenIdentifier = itheumTokenIdentifier[this.env as EnvironmentsEnum] + ): Promise { + const interaction = this.contract.methodsExplicit.getAddressVaultNone([ + new AddressValue(address), + new TokenIdentifierValue(tokenIdentifier) + ]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + return firstValue?.valueOf().toNumber(); + } else { + throw new ErrContractQuery( + 'viewAddressVaultNonce', + returnCode.toString() + ); + } + } + /** * Returns the contract owner address */ @@ -1129,6 +1160,40 @@ export class BondContract extends Contract { return bondTx; } + /** + * Builds a `topUpVault` transaction + * @param senderAddress the address of the sender + * @param payment the payment for the top up (tokenIdentifier, nonce and amount) + * @param nonce the nonce of the Data Nft + * @param tokenIdentifier the token identifier of the Data Nft [default is the Data Nft token identifier based on {@link EnvironmentsEnum}] + */ + topUpVault( + senderAddress: IAddress, + payment: { + tokenIdentifier: string; + amount: BigNumber.Value; + }, + nonce: number, + tokenIdentifier = dataNftTokenIdentifier[this.env as EnvironmentsEnum] + ): Transaction { + const topUpVaultTx = new Transaction({ + value: 0, + data: new ContractCallPayloadBuilder() + .setFunction(new ContractFunction('ESDTTransfer')) + .addArg(new TokenIdentifierValue(payment.tokenIdentifier)) + .addArg(new BigUIntValue(payment.amount)) + .addArg(new StringValue('topUpVault')) + .addArg(new TokenIdentifierValue(tokenIdentifier)) + .addArg(new U64Value(nonce)) + .build(), + receiver: this.contract.getAddress(), + sender: senderAddress, + gasLimit: 40_000_000, + chainID: this.chainID + }); + return topUpVaultTx; + } + /** * Builds a `bond` transaction with NFT/SFT transfer * @param senderAddress the address of the sender @@ -1293,6 +1358,32 @@ export class BondContract extends Contract { return renewTx; } + /** + * Builds a `setVaultNonce` transaction + * @param senderAddress the address of the sender + * @param nonce the nonce to set + * @param tokenIdentifier the Data Nft token identifier [default is the Data Nft token identifier based on {@link EnvironmentsEnum}] + */ + setVaultNonce( + senderAddress: IAddress, + nonce: number, + tokenIdentifier = dataNftTokenIdentifier[this.env as EnvironmentsEnum] + ): Transaction { + const tx = new Transaction({ + value: 0, + data: new ContractCallPayloadBuilder() + .setFunction('setVaultNonce') + .addArg(new TokenIdentifierValue(tokenIdentifier)) + .addArg(new U64Value(nonce)) + .build(), + receiver: this.contract.getAddress(), + sender: senderAddress, + gasLimit: 20_000_000, + chainID: this.chainID + }); + return tx; + } + /** * Builds a `proof` transaction * @param senderAddress the address of the sender From 30bcb7830b1da4a8d1e75dbc0448ebaa01beed75 Mon Sep 17 00:00:00 2001 From: Bucur David Date: Thu, 18 Jul 2024 11:12:45 +0300 Subject: [PATCH 06/20] chore: alpha version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5ec88c4..bd869f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.1", + "version": "3.6.0-alpha.2", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", From 85320d506b552d0360981e522948348edcca2037 Mon Sep 17 00:00:00 2001 From: Bucur David Date: Mon, 29 Jul 2024 11:36:13 +0300 Subject: [PATCH 07/20] feat: stake rewards endpoint --- src/abis/core-mx-life-bonding-sc.abi.json | 54 +++++++- src/abis/core-mx-liveliness-stake.abi.json | 139 ++++++++++++++++++++- src/liveliness-stake.ts | 33 ++++- 3 files changed, 221 insertions(+), 5 deletions(-) diff --git a/src/abis/core-mx-life-bonding-sc.abi.json b/src/abis/core-mx-life-bonding-sc.abi.json index f27e3fa..47b70c4 100644 --- a/src/abis/core-mx-life-bonding-sc.abi.json +++ b/src/abis/core-mx-life-bonding-sc.abi.json @@ -9,11 +9,11 @@ }, "contractCrate": { "name": "core-mx-life-bonding-sc", - "version": "2.0.0" + "version": "3.0.0" }, "framework": { "name": "multiversx-sc", - "version": "0.51.0" + "version": "0.51.1" } }, "name": "LifeBondingContract", @@ -139,6 +139,25 @@ ], "outputs": [] }, + { + "name": "stakeRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "original_caller", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "amount", + "type": "BigUint" + } + ], + "outputs": [] + }, { "name": "getCompensationBlacklist", "mutability": "readonly", @@ -184,6 +203,16 @@ } ] }, + { + "name": "getLivelinessStakeAddress", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, { "name": "getBond", "mutability": "readonly", @@ -651,6 +680,17 @@ ], "outputs": [] }, + { + "name": "setLivelinessStakeAddress", + "mutability": "mutable", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [] + }, { "name": "setAdministrator", "onlyOwner": true, @@ -1105,6 +1145,16 @@ "indexed": true } ] + }, + { + "identifier": "set_liveliness_stake_address", + "inputs": [ + { + "name": "address", + "type": "Address", + "indexed": true + } + ] } ], "esdtAttributes": [], diff --git a/src/abis/core-mx-liveliness-stake.abi.json b/src/abis/core-mx-liveliness-stake.abi.json index d1250ba..c147c0b 100644 --- a/src/abis/core-mx-liveliness-stake.abi.json +++ b/src/abis/core-mx-liveliness-stake.abi.json @@ -32,6 +32,17 @@ "inputs": [], "outputs": [] }, + { + "name": "stakeRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [] + }, { "name": "setContractStateActive", "mutability": "mutable", @@ -172,6 +183,12 @@ } ] }, + { + "name": "generateAggregatedRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, { "name": "rewardsReserve", "mutability": "readonly", @@ -233,7 +250,7 @@ ] }, { - "name": "addresLastRewardPerShare", + "name": "addressLastRewardPerShare", "mutability": "readonly", "inputs": [ { @@ -307,6 +324,126 @@ "indexed": true } ] + }, + { + "identifier": "max_apr", + "inputs": [ + { + "name": "max_apr", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "rewards_token_identifier", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + } + ] + }, + { + "identifier": "per_block_reward_amount", + "inputs": [ + { + "name": "per_block_amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "top_up_rewards_event", + "inputs": [ + { + "name": "amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "withdraw_rewards_event", + "inputs": [ + { + "name": "amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "rewards_state_event", + "inputs": [ + { + "name": "state", + "type": "State", + "indexed": true + } + ] + }, + { + "identifier": "bond_contract_address", + "inputs": [ + { + "name": "bond_contract_address", + "type": "Address", + "indexed": true + } + ] + }, + { + "identifier": "claim_rewards", + "inputs": [ + { + "name": "caller", + "type": "Address", + "indexed": true + }, + { + "name": "rewards_amount", + "type": "BigUint", + "indexed": true + }, + { + "name": "timestamp", + "type": "u64", + "indexed": true + }, + { + "name": "block_nonce", + "type": "u64", + "indexed": true + }, + { + "name": "rewards_reserve", + "type": "BigUint", + "indexed": true + }, + { + "name": "accumulated_rewards", + "type": "BigUint", + "indexed": true + }, + { + "name": "current_rewards_per_share", + "type": "BigUint", + "indexed": true + }, + { + "name": "user_last_rewards_per_share", + "type": "BigUint", + "indexed": true + }, + { + "name": "rewards_per_block", + "type": "BigUint", + "indexed": true + } + ] } ], "esdtAttributes": [], diff --git a/src/liveliness-stake.ts b/src/liveliness-stake.ts index 29d206c..980bbdd 100644 --- a/src/liveliness-stake.ts +++ b/src/liveliness-stake.ts @@ -7,16 +7,22 @@ import { IAddress, OptionValue, ResultsParser, + TokenIdentifierValue, Transaction, VariadicValue } from '@multiversx/sdk-core/out'; -import { EnvironmentsEnum, livelinessStakeContractAddress } from './config'; +import { + dataNftTokenIdentifier, + EnvironmentsEnum, + livelinessStakeContractAddress +} from './config'; import { Contract } from './contract'; import livelinessStakeAbi from './abis/core-mx-liveliness-stake.abi.json'; import { LivelinessStakeConfiguration, State } from './interfaces'; import { ErrContractQuery } from './errors'; import { parseLivelinessStakeConfiguration } from './common/utils'; import BigNumber from 'bignumber.js'; +import { Token } from 'nft.storage'; export class LivelinessStake extends Contract { constructor(env: string, timeout: number = 10000) { @@ -110,7 +116,7 @@ export class LivelinessStake extends Contract { async viewClaimableRewards( address: IAddress, - bypass_liveliness_check: false + bypass_liveliness_check: boolean = false ): Promise { let interaction = bypass_liveliness_check ? this.contract.methodsExplicit.claimableRewards([ @@ -160,4 +166,27 @@ export class LivelinessStake extends Contract { }); return claimRewardsTx; } + + /** + * Builds a `stakeRewards` transaction + * @param senderAddress address of the sender + * @param tokenIdentifier the token identifier of the Data Nft [default is the Data Nft token identifier based on {@link EnvironmentsEnum}] + */ + stakeRewards( + senderAddress: IAddress, + tokenIdentifier = dataNftTokenIdentifier[this.env as EnvironmentsEnum] + ): Transaction { + const stakeRewardsTx = new Transaction({ + value: 0, + data: new ContractCallPayloadBuilder() + .setFunction('stakeRewards') + .addArg(new TokenIdentifierValue(tokenIdentifier)) + .build(), + receiver: this.contract.getAddress(), + sender: senderAddress, + gasLimit: 90_000_000, + chainID: this.chainID + }); + return stakeRewardsTx; + } } From 0a1f3b9cd2ee530f830d9f8e5a323f69b5b7c04e Mon Sep 17 00:00:00 2001 From: Bucur David Date: Mon, 29 Jul 2024 11:37:43 +0300 Subject: [PATCH 08/20] chore: alpha version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bd869f3..d72cdb4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.2", + "version": "3.6.0-alpha.3", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", From b3d901120f98d57b6bb881c5671d02292e9cc97f Mon Sep 17 00:00:00 2001 From: Bucur David Date: Tue, 30 Jul 2024 15:35:20 +0300 Subject: [PATCH 09/20] feat: top up admin & merged views --- src/abis/core-mx-life-bonding-sc.abi.json | 2723 ++++++++++---------- src/abis/core-mx-liveliness-stake.abi.json | 892 +++---- src/bond.ts | 94 + 3 files changed, 1934 insertions(+), 1775 deletions(-) diff --git a/src/abis/core-mx-life-bonding-sc.abi.json b/src/abis/core-mx-life-bonding-sc.abi.json index 47b70c4..3a18290 100644 --- a/src/abis/core-mx-life-bonding-sc.abi.json +++ b/src/abis/core-mx-life-bonding-sc.abi.json @@ -1,1335 +1,1396 @@ { - "buildInfo": { - "rustc": { - "version": "1.78.0", - "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", - "commitDate": "2024-04-29", - "channel": "Stable", - "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" - }, - "contractCrate": { - "name": "core-mx-life-bonding-sc", - "version": "3.0.0" - }, - "framework": { - "name": "multiversx-sc", - "version": "0.51.1" - } - }, - "name": "LifeBondingContract", - "constructor": { - "inputs": [], - "outputs": [] - }, - "upgradeConstructor": { - "inputs": [], - "outputs": [] - }, - "endpoints": [ - { - "name": "bond", - "mutability": "mutable", - "payableInTokens": [ - "*" - ], - "inputs": [ - { - "name": "original_caller", - "type": "Address" - }, - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - }, - { - "name": "lock_period_seconds", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "withdraw", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "renew", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "proof", - "mutability": "mutable", - "payableInTokens": [ - "*" - ], - "inputs": [], - "outputs": [] - }, - { - "name": "claimRefund", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "setVaultNonce", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "topUpVault", - "mutability": "mutable", - "payableInTokens": [ - "*" - ], - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "stakeRewards", - "mutability": "mutable", - "inputs": [ - { - "name": "original_caller", - "type": "Address" - }, - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "amount", - "type": "BigUint" - } - ], - "outputs": [] - }, - { - "name": "getCompensationBlacklist", - "mutability": "readonly", - "inputs": [ - { - "name": "compensation_id", - "type": "u64" - } - ], - "outputs": [ - { - "type": "variadic
", - "multi_result": true - } - ] - }, - { - "name": "getTotalBondAmount", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] - }, - { - "name": "getAddressVaultNone", - "mutability": "readonly", - "inputs": [ - { - "name": "address", - "type": "Address" - }, - { - "name": "token_identifier", - "type": "TokenIdentifier" - } - ], - "outputs": [ - { - "type": "u64" - } - ] - }, - { - "name": "getLivelinessStakeAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "getBond", - "mutability": "readonly", - "inputs": [ - { - "name": "bond_id", - "type": "u64" - } - ], - "outputs": [ - { - "type": "Bond" - } - ] - }, - { - "name": "getCompensation", - "mutability": "readonly", - "inputs": [ - { - "name": "compensation_id", - "type": "u64" - } - ], - "outputs": [ - { - "type": "Compensation" - } - ] - }, - { - "name": "getCompensations", - "mutability": "readonly", - "inputs": [ - { - "name": "input", - "type": "variadic>", - "multi_arg": true - } - ], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getPagedCompensations", - "mutability": "readonly", - "inputs": [ - { - "name": "start_index", - "type": "u64" - }, - { - "name": "end_index", - "type": "u64" - } - ], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getAddressRefundForCompensation", - "mutability": "readonly", - "inputs": [ - { - "name": "address", - "type": "Address" - }, - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [ - { - "type": "Option" - } - ] - }, - { - "name": "getAddressRefundForCompensations", - "mutability": "readonly", - "inputs": [ - { - "name": "address", - "type": "Address" - }, - { - "name": "compensation_ids", - "type": "variadic", - "multi_arg": true - } - ], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getBondsByTokenIdentifierNonce", - "mutability": "readonly", - "inputs": [ - { - "name": "input", - "type": "variadic>", - "multi_arg": true - } - ], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getBonds", - "mutability": "readonly", - "inputs": [ - { - "name": "bond_ids", - "type": "variadic", - "multi_arg": true - } - ], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getAddressBonds", - "mutability": "readonly", - "inputs": [ - { - "name": "address", - "type": "Address" - } - ], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getAddressBondsAvgScore", - "mutability": "readonly", - "inputs": [ - { - "name": "address", - "type": "Address" - } - ], - "outputs": [ - { - "type": "BigUint" - } - ] - }, - { - "name": "getAddressBondsTotalValue", - "mutability": "readonly", - "inputs": [ - { - "name": "address", - "type": "Address" - } - ], - "outputs": [ - { - "type": "BigUint" - } - ] - }, - { - "name": "getAllBonds", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getPagedBonds", - "mutability": "readonly", - "inputs": [ - { - "name": "start_index", - "type": "u64" - }, - { - "name": "end_index", - "type": "u64" - } - ], - "outputs": [ - { - "type": "List" - } - ] - }, - { - "name": "getBondsLen", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "u32" - } - ] - }, - { - "name": "getCompensationsLen", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "u32" - } - ] - }, - { - "name": "getLockPeriodsBonds", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "tuple,List>" - } - ] - }, - { - "name": "getContractConfiguration", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "ContractConfiguration" - } - ] - }, - { - "name": "initiateBond", - "mutability": "mutable", - "inputs": [ - { - "name": "address", - "type": "Address" - }, - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "setBlacklist", - "mutability": "mutable", - "inputs": [ - { - "name": "compensation_id", - "type": "u64" - }, - { - "name": "addresses", - "type": "variadic
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "removeBlacklist", - "mutability": "mutable", - "inputs": [ - { - "name": "compensation_id", - "type": "u64" - }, - { - "name": "addresses", - "type": "variadic
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "initiateRefund", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - }, - { - "name": "timestamp", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "sanction", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - }, - { - "name": "penalty", - "type": "PenaltyType" - }, - { - "name": "custom_penalty", - "type": "optional", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "modifyBond", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "setContractStateActive", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "setContractStateInactive", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "setAcceptedCallers", - "mutability": "mutable", - "inputs": [ - { - "name": "callers", - "type": "variadic
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "removeAcceptedCallers", - "mutability": "mutable", - "inputs": [ - { - "name": "callers", - "type": "variadic
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "setBondToken", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - } - ], - "outputs": [] - }, - { - "name": "addPeriodsBonds", - "mutability": "mutable", - "inputs": [ - { - "name": "args", - "type": "variadic>", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "removePeriodsBonds", - "mutability": "mutable", - "inputs": [ - { - "name": "lock_periods", - "type": "variadic", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "setMinimumPenalty", - "mutability": "mutable", - "inputs": [ - { - "name": "penalty", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "setMaximumPenalty", - "mutability": "mutable", - "inputs": [ - { - "name": "penalty", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "setWithdrawPenalty", - "mutability": "mutable", - "inputs": [ - { - "name": "penalty", - "type": "u64" - } - ], - "outputs": [] - }, - { - "name": "setLivelinessStakeAddress", - "mutability": "mutable", - "inputs": [ - { - "name": "address", - "type": "Address" - } - ], - "outputs": [] - }, - { - "name": "setAdministrator", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "administrator", - "type": "Address" - } - ], - "outputs": [] - }, - { - "name": "getContractState", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "State" - } - ] - }, - { - "name": "getAdministrator", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "getAcceptedCallers", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "variadic
", - "multi_result": true - } - ] - }, - { - "name": "getBondPaymentToken", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "TokenIdentifier" - } - ] - }, - { - "name": "getLockPeriods", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "variadic", - "multi_result": true - } - ] - }, - { - "name": "getLockPeriodBondAmount", - "mutability": "readonly", - "inputs": [ - { - "name": "lock_period", - "type": "u64" - } - ], - "outputs": [ - { - "type": "BigUint" - } - ] - }, - { - "name": "getMinimumPenalty", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "u64" - } - ] - }, - { - "name": "getMaximumPenalty", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "u64" - } - ] - }, - { - "name": "getWithdrawPenalty", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "u64" - } - ] - } - ], - "events": [ - { - "identifier": "minimum_penalty_event", - "inputs": [ - { - "name": "value", - "type": "u64", - "indexed": true - } - ] - }, - { - "identifier": "maximum_penalty_event", - "inputs": [ - { - "name": "value", - "type": "u64", - "indexed": true - } - ] - }, - { - "identifier": "withdraw_penalty_event", - "inputs": [ - { - "name": "value", - "type": "u64", - "indexed": true - } - ] - }, - { - "identifier": "contract_state_event", - "inputs": [ - { - "name": "state", - "type": "State", - "indexed": true - } - ] - }, - { - "identifier": "bond_event", - "inputs": [ - { - "name": "bond", - "type": "Bond", - "indexed": true - } - ] - }, - { - "identifier": "compensation_event", - "inputs": [ - { - "name": "compensation", - "type": "Compensation", - "indexed": true - } - ] - }, - { - "identifier": "withdraw_event", - "inputs": [ - { - "name": "bond_id", - "type": "u64", - "indexed": true - }, - { - "name": "caller", - "type": "Address", - "indexed": true - }, - { - "name": "withdraw_amount", - "type": "BigUint", - "indexed": true - }, - { - "name": "penalty_amount", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "renew_event", - "inputs": [ - { - "name": "bond_id", - "type": "u64", - "indexed": true - }, - { - "name": "caller", - "type": "Address", - "indexed": true - }, - { - "name": "unbond_timestmap", - "type": "u64", - "indexed": true - } - ] - }, - { - "identifier": "proof_event", - "inputs": [ - { - "name": "compensation_id", - "type": "u64", - "indexed": true - }, - { - "name": "token_identifier", - "type": "TokenIdentifier", - "indexed": true - }, - { - "name": "nonce", - "type": "u64", - "indexed": true - }, - { - "name": "proof_amount", - "type": "BigUint" - } - ] - }, - { - "identifier": "claim_refund_event", - "inputs": [ - { - "name": "compensation_id", - "type": "u64", - "indexed": true - }, - { - "name": "caller", - "type": "Address", - "indexed": true - }, - { - "name": "token_identifier", - "type": "TokenIdentifier", - "indexed": true - }, - { - "name": "nonce", - "type": "u64", - "indexed": true - }, - { - "name": "amount", - "type": "BigUint", - "indexed": true - }, - { - "name": "refund_token_identifier", - "type": "TokenIdentifier", - "indexed": true - }, - { - "name": "refund_token_nonce", - "type": "u64", - "indexed": true - }, - { - "name": "refund_amount", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "add_to_blacklist_event", - "inputs": [ - { - "name": "compensation_id", - "type": "u64", - "indexed": true - }, - { - "name": "addresses", - "type": "variadic
", - "indexed": true - } - ] - }, - { - "identifier": "remove_from_blacklist_event", - "inputs": [ - { - "name": "compensation_id", - "type": "u64", - "indexed": true - }, - { - "name": "addresses", - "type": "variadic
", - "indexed": true - } - ] - }, - { - "identifier": "initiate_refund_event", - "inputs": [ - { - "name": "compensation_id", - "type": "u64", - "indexed": true - }, - { - "name": "token_identifier", - "type": "TokenIdentifier", - "indexed": true - }, - { - "name": "nonce", - "type": "u64", - "indexed": true - }, - { - "name": "timestamp", - "type": "u64", - "indexed": true - } - ] - }, - { - "identifier": "sanction_event", - "inputs": [ - { - "name": "bond_id", - "type": "u64", - "indexed": true - }, - { - "name": "compensation_id", - "type": "u64", - "indexed": true - }, - { - "name": "token_identifier", - "type": "TokenIdentifier", - "indexed": true - }, - { - "name": "nonce", - "type": "u64", - "indexed": true - }, - { - "name": "penalty_amount", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "modify_bond_event", - "inputs": [ - { - "name": "bond_id", - "type": "u64", - "indexed": true - }, - { - "name": "unbond_timestamp", - "type": "u64", - "indexed": true - } - ] - }, - { - "identifier": "set_accepted_callers_event", - "inputs": [ - { - "name": "callers", - "type": "variadic
", - "indexed": true - } - ] - }, - { - "identifier": "remove_accepted_callers_event", - "inputs": [ - { - "name": "callers", - "type": "variadic
", - "indexed": true - } - ] - }, - { - "identifier": "set_bond_token_event", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier", - "indexed": true - } - ] - }, - { - "identifier": "set_period_and_bond_event", - "inputs": [ - { - "name": "period", - "type": "u64", - "indexed": true - }, - { - "name": "bond", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "remove_period_and_bond_event", - "inputs": [ - { - "name": "period", - "type": "u64", - "indexed": true - }, - { - "name": "bond", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "set_administrator_event", - "inputs": [ - { - "name": "administrator", - "type": "Address", - "indexed": true - } - ] - }, - { - "identifier": "set_liveliness_stake_address", - "inputs": [ - { - "name": "address", - "type": "Address", - "indexed": true - } - ] - } - ], - "esdtAttributes": [], - "hasCallback": false, - "types": { - "Bond": { - "type": "struct", - "fields": [ - { - "name": "bond_id", - "type": "u64" - }, - { - "name": "address", - "type": "Address" - }, - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - }, - { - "name": "lock_period", - "type": "u64" - }, - { - "name": "bond_timestamp", - "type": "u64" - }, - { - "name": "unbond_timestamp", - "type": "u64" - }, - { - "name": "bond_amount", - "type": "BigUint" - }, - { - "name": "remaining_amount", - "type": "BigUint" - } - ] - }, - "Compensation": { - "type": "struct", - "fields": [ - { - "name": "compensation_id", - "type": "u64" - }, - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "nonce", - "type": "u64" - }, - { - "name": "accumulated_amount", - "type": "BigUint" - }, - { - "name": "proof_amount", - "type": "BigUint" - }, - { - "name": "end_date", - "type": "u64" - } - ] - }, - "ContractConfiguration": { - "type": "struct", - "fields": [ - { - "name": "contract_state", - "type": "State" - }, - { - "name": "bond_payment_token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "lock_periods", - "type": "List" - }, - { - "name": "bond_amounts", - "type": "List" - }, - { - "name": "minimum_penalty", - "type": "u64" - }, - { - "name": "maximum_penalty", - "type": "u64" - }, - { - "name": "withdraw_penalty", - "type": "u64" - }, - { - "name": "accepted_callers", - "type": "List
" - } - ] - }, - "EsdtTokenPayment": { - "type": "struct", - "fields": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "token_nonce", - "type": "u64" - }, - { - "name": "amount", - "type": "BigUint" - } - ] - }, - "PenaltyType": { - "type": "enum", - "variants": [ - { - "name": "Minimum", - "discriminant": 0 - }, - { - "name": "Custom", - "discriminant": 1 - }, - { - "name": "Maximum", - "discriminant": 2 - } - ] - }, - "Refund": { - "type": "struct", - "fields": [ - { - "name": "address", - "type": "Address" - }, - { - "name": "proof_of_refund", - "type": "EsdtTokenPayment" - }, - { - "name": "compensation_id", - "type": "u64" - } - ] - }, - "State": { - "type": "enum", - "variants": [ - { - "name": "Inactive", - "discriminant": 0 - }, - { - "name": "Active", - "discriminant": 1 - } - ] + "buildInfo": { + "rustc": { + "version": "1.78.0", + "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", + "commitDate": "2024-04-29", + "channel": "Stable", + "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" + }, + "contractCrate": { + "name": "core-mx-life-bonding-sc", + "version": "3.1.0" + }, + "framework": { + "name": "multiversx-sc", + "version": "0.51.1" + } + }, + "name": "LifeBondingContract", + "constructor": { + "inputs": [], + "outputs": [] + }, + "upgradeConstructor": { + "inputs": [], + "outputs": [] + }, + "endpoints": [ + { + "name": "bond", + "mutability": "mutable", + "payableInTokens": ["*"], + "inputs": [ + { + "name": "original_caller", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + }, + { + "name": "lock_period_seconds", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "withdraw", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "renew", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "proof", + "mutability": "mutable", + "payableInTokens": ["*"], + "inputs": [], + "outputs": [] + }, + { + "name": "claimRefund", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "setVaultNonce", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "topUpVault", + "mutability": "mutable", + "payableInTokens": ["*"], + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "topUpAddressVault", + "mutability": "mutable", + "payableInTokens": ["*"], + "inputs": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "stakeRewards", + "mutability": "mutable", + "payableInTokens": ["*"], + "inputs": [ + { + "name": "original_caller", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "amount", + "type": "BigUint" + } + ], + "outputs": [] + }, + { + "name": "getCompensationBlacklist", + "mutability": "readonly", + "inputs": [ + { + "name": "compensation_id", + "type": "u64" + } + ], + "outputs": [ + { + "type": "variadic
", + "multi_result": true + } + ] + }, + { + "name": "getTotalBondAmount", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "getAddressVaultNone", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [ + { + "type": "u64" + } + ] + }, + { + "name": "getLivelinessStakeAddress", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, + { + "name": "getBond", + "mutability": "readonly", + "inputs": [ + { + "name": "bond_id", + "type": "u64" + } + ], + "outputs": [ + { + "type": "Bond" + } + ] + }, + { + "name": "getCompensation", + "mutability": "readonly", + "inputs": [ + { + "name": "compensation_id", + "type": "u64" + } + ], + "outputs": [ + { + "type": "Compensation" + } + ] + }, + { + "name": "getCompensations", + "mutability": "readonly", + "inputs": [ + { + "name": "input", + "type": "variadic>", + "multi_arg": true + } + ], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getPagedCompensations", + "mutability": "readonly", + "inputs": [ + { + "name": "start_index", + "type": "u64" + }, + { + "name": "end_index", + "type": "u64" + } + ], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getAddressRefundForCompensation", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [ + { + "type": "Option" + } + ] + }, + { + "name": "getAddressRefundForCompensations", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "compensation_ids", + "type": "variadic", + "multi_arg": true + } + ], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getBondsByTokenIdentifierNonce", + "mutability": "readonly", + "inputs": [ + { + "name": "input", + "type": "variadic>", + "multi_arg": true + } + ], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getBonds", + "mutability": "readonly", + "inputs": [ + { + "name": "bond_ids", + "type": "variadic", + "multi_arg": true + } + ], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getAddressBonds", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getAddressBondsAvgScore", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "getAddressBondsTotalValue", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "getAddressBondsInfo", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "tuple" + } + ] + }, + { + "name": "getAllBonds", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getPagedBonds", + "mutability": "readonly", + "inputs": [ + { + "name": "start_index", + "type": "u64" + }, + { + "name": "end_index", + "type": "u64" + } + ], + "outputs": [ + { + "type": "List" + } + ] + }, + { + "name": "getBondsLen", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "u32" + } + ] + }, + { + "name": "getCompensationsLen", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "u32" + } + ] + }, + { + "name": "getLockPeriodsBonds", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "tuple,List>" + } + ] + }, + { + "name": "getContractConfiguration", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "ContractConfiguration" + } + ] + }, + { + "name": "initiateBond", + "mutability": "mutable", + "inputs": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "setBlacklist", + "mutability": "mutable", + "inputs": [ + { + "name": "compensation_id", + "type": "u64" + }, + { + "name": "addresses", + "type": "variadic
", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "removeBlacklist", + "mutability": "mutable", + "inputs": [ + { + "name": "compensation_id", + "type": "u64" + }, + { + "name": "addresses", + "type": "variadic
", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "initiateRefund", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + }, + { + "name": "timestamp", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "sanction", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + }, + { + "name": "penalty", + "type": "PenaltyType" + }, + { + "name": "custom_penalty", + "type": "optional", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "modifyBond", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "setContractStateActive", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "setContractStateInactive", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "setAcceptedCallers", + "mutability": "mutable", + "inputs": [ + { + "name": "callers", + "type": "variadic
", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "removeAcceptedCallers", + "mutability": "mutable", + "inputs": [ + { + "name": "callers", + "type": "variadic
", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "setBondToken", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [] + }, + { + "name": "addPeriodsBonds", + "mutability": "mutable", + "inputs": [ + { + "name": "args", + "type": "variadic>", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "removePeriodsBonds", + "mutability": "mutable", + "inputs": [ + { + "name": "lock_periods", + "type": "variadic", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "setMinimumPenalty", + "mutability": "mutable", + "inputs": [ + { + "name": "penalty", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "setMaximumPenalty", + "mutability": "mutable", + "inputs": [ + { + "name": "penalty", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "setWithdrawPenalty", + "mutability": "mutable", + "inputs": [ + { + "name": "penalty", + "type": "u64" + } + ], + "outputs": [] + }, + { + "name": "setLivelinessStakeAddress", + "mutability": "mutable", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [] + }, + { + "name": "setTopUpAdministrator", + "mutability": "mutable", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [] + }, + { + "name": "setAdministrator", + "onlyOwner": true, + "mutability": "mutable", + "inputs": [ + { + "name": "administrator", + "type": "Address" + } + ], + "outputs": [] + }, + { + "name": "getContractState", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "State" + } + ] + }, + { + "name": "getAdministrator", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, + { + "name": "getTopUpAdministrator", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, + { + "name": "getAcceptedCallers", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "variadic
", + "multi_result": true + } + ] + }, + { + "name": "getBondPaymentToken", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "TokenIdentifier" + } + ] + }, + { + "name": "getLockPeriods", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "variadic", + "multi_result": true + } + ] + }, + { + "name": "getLockPeriodBondAmount", + "mutability": "readonly", + "inputs": [ + { + "name": "lock_period", + "type": "u64" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "getMinimumPenalty", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "u64" + } + ] + }, + { + "name": "getMaximumPenalty", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "u64" + } + ] + }, + { + "name": "getWithdrawPenalty", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "u64" + } + ] + } + ], + "events": [ + { + "identifier": "minimum_penalty_event", + "inputs": [ + { + "name": "value", + "type": "u64", + "indexed": true + } + ] + }, + { + "identifier": "maximum_penalty_event", + "inputs": [ + { + "name": "value", + "type": "u64", + "indexed": true + } + ] + }, + { + "identifier": "withdraw_penalty_event", + "inputs": [ + { + "name": "value", + "type": "u64", + "indexed": true + } + ] + }, + { + "identifier": "contract_state_event", + "inputs": [ + { + "name": "state", + "type": "State", + "indexed": true + } + ] + }, + { + "identifier": "bond_event", + "inputs": [ + { + "name": "bond", + "type": "Bond", + "indexed": true + } + ] + }, + { + "identifier": "compensation_event", + "inputs": [ + { + "name": "compensation", + "type": "Compensation", + "indexed": true + } + ] + }, + { + "identifier": "withdraw_event", + "inputs": [ + { + "name": "bond_id", + "type": "u64", + "indexed": true + }, + { + "name": "caller", + "type": "Address", + "indexed": true + }, + { + "name": "withdraw_amount", + "type": "BigUint", + "indexed": true + }, + { + "name": "penalty_amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "renew_event", + "inputs": [ + { + "name": "bond_id", + "type": "u64", + "indexed": true + }, + { + "name": "caller", + "type": "Address", + "indexed": true + }, + { + "name": "unbond_timestmap", + "type": "u64", + "indexed": true + } + ] + }, + { + "identifier": "proof_event", + "inputs": [ + { + "name": "compensation_id", + "type": "u64", + "indexed": true + }, + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + }, + { + "name": "nonce", + "type": "u64", + "indexed": true + }, + { + "name": "proof_amount", + "type": "BigUint" + } + ] + }, + { + "identifier": "claim_refund_event", + "inputs": [ + { + "name": "compensation_id", + "type": "u64", + "indexed": true + }, + { + "name": "caller", + "type": "Address", + "indexed": true + }, + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + }, + { + "name": "nonce", + "type": "u64", + "indexed": true + }, + { + "name": "amount", + "type": "BigUint", + "indexed": true + }, + { + "name": "refund_token_identifier", + "type": "TokenIdentifier", + "indexed": true + }, + { + "name": "refund_token_nonce", + "type": "u64", + "indexed": true + }, + { + "name": "refund_amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "add_to_blacklist_event", + "inputs": [ + { + "name": "compensation_id", + "type": "u64", + "indexed": true + }, + { + "name": "addresses", + "type": "variadic
", + "indexed": true + } + ] + }, + { + "identifier": "remove_from_blacklist_event", + "inputs": [ + { + "name": "compensation_id", + "type": "u64", + "indexed": true + }, + { + "name": "addresses", + "type": "variadic
", + "indexed": true + } + ] + }, + { + "identifier": "initiate_refund_event", + "inputs": [ + { + "name": "compensation_id", + "type": "u64", + "indexed": true + }, + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + }, + { + "name": "nonce", + "type": "u64", + "indexed": true + }, + { + "name": "timestamp", + "type": "u64", + "indexed": true + } + ] + }, + { + "identifier": "sanction_event", + "inputs": [ + { + "name": "bond_id", + "type": "u64", + "indexed": true + }, + { + "name": "compensation_id", + "type": "u64", + "indexed": true + }, + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + }, + { + "name": "nonce", + "type": "u64", + "indexed": true + }, + { + "name": "penalty_amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "modify_bond_event", + "inputs": [ + { + "name": "bond_id", + "type": "u64", + "indexed": true + }, + { + "name": "unbond_timestamp", + "type": "u64", + "indexed": true + } + ] + }, + { + "identifier": "set_accepted_callers_event", + "inputs": [ + { + "name": "callers", + "type": "variadic
", + "indexed": true + } + ] + }, + { + "identifier": "remove_accepted_callers_event", + "inputs": [ + { + "name": "callers", + "type": "variadic
", + "indexed": true + } + ] + }, + { + "identifier": "set_bond_token_event", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + } + ] + }, + { + "identifier": "set_period_and_bond_event", + "inputs": [ + { + "name": "period", + "type": "u64", + "indexed": true + }, + { + "name": "bond", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "remove_period_and_bond_event", + "inputs": [ + { + "name": "period", + "type": "u64", + "indexed": true + }, + { + "name": "bond", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "set_administrator_event", + "inputs": [ + { + "name": "administrator", + "type": "Address", + "indexed": true + } + ] + }, + { + "identifier": "set_liveliness_stake_address", + "inputs": [ + { + "name": "address", + "type": "Address", + "indexed": true + } + ] + }, + { + "identifier": "set_top_up_administrator_event", + "inputs": [ + { + "name": "top_up_administrator", + "type": "Address", + "indexed": true + } + ] + } + ], + "esdtAttributes": [], + "hasCallback": false, + "types": { + "Bond": { + "type": "struct", + "fields": [ + { + "name": "bond_id", + "type": "u64" + }, + { + "name": "address", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + }, + { + "name": "lock_period", + "type": "u64" + }, + { + "name": "bond_timestamp", + "type": "u64" + }, + { + "name": "unbond_timestamp", + "type": "u64" + }, + { + "name": "bond_amount", + "type": "BigUint" + }, + { + "name": "remaining_amount", + "type": "BigUint" + } + ] + }, + "Compensation": { + "type": "struct", + "fields": [ + { + "name": "compensation_id", + "type": "u64" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "nonce", + "type": "u64" + }, + { + "name": "accumulated_amount", + "type": "BigUint" + }, + { + "name": "proof_amount", + "type": "BigUint" + }, + { + "name": "end_date", + "type": "u64" + } + ] + }, + "ContractConfiguration": { + "type": "struct", + "fields": [ + { + "name": "contract_state", + "type": "State" + }, + { + "name": "bond_payment_token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "lock_periods", + "type": "List" + }, + { + "name": "bond_amounts", + "type": "List" + }, + { + "name": "minimum_penalty", + "type": "u64" + }, + { + "name": "maximum_penalty", + "type": "u64" + }, + { + "name": "withdraw_penalty", + "type": "u64" + }, + { + "name": "accepted_callers", + "type": "List
" + } + ] + }, + "EsdtTokenPayment": { + "type": "struct", + "fields": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "token_nonce", + "type": "u64" + }, + { + "name": "amount", + "type": "BigUint" + } + ] + }, + "PenaltyType": { + "type": "enum", + "variants": [ + { + "name": "Minimum", + "discriminant": 0 + }, + { + "name": "Custom", + "discriminant": 1 + }, + { + "name": "Maximum", + "discriminant": 2 + } + ] + }, + "Refund": { + "type": "struct", + "fields": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "proof_of_refund", + "type": "EsdtTokenPayment" + }, + { + "name": "compensation_id", + "type": "u64" + } + ] + }, + "State": { + "type": "enum", + "variants": [ + { + "name": "Inactive", + "discriminant": 0 + }, + { + "name": "Active", + "discriminant": 1 } + ] } + } } diff --git a/src/abis/core-mx-liveliness-stake.abi.json b/src/abis/core-mx-liveliness-stake.abi.json index c147c0b..01c53a8 100644 --- a/src/abis/core-mx-liveliness-stake.abi.json +++ b/src/abis/core-mx-liveliness-stake.abi.json @@ -1,507 +1,511 @@ { - "buildInfo": { - "rustc": { - "version": "1.78.0", - "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", - "commitDate": "2024-04-29", - "channel": "Stable", - "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" - }, - "contractCrate": { - "name": "core-mx-liveliness-stake", - "version": "0.0.0" - }, - "framework": { - "name": "multiversx-sc", - "version": "0.51.0" + "buildInfo": { + "rustc": { + "version": "1.78.0", + "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", + "commitDate": "2024-04-29", + "channel": "Stable", + "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" + }, + "contractCrate": { + "name": "core-mx-liveliness-stake", + "version": "0.0.0" + }, + "framework": { + "name": "multiversx-sc", + "version": "0.51.1" + } + }, + "name": "CoreMxLivelinessStake", + "constructor": { + "inputs": [], + "outputs": [] + }, + "upgradeConstructor": { + "inputs": [], + "outputs": [] + }, + "endpoints": [ + { + "name": "claimRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "address", + "type": "optional
", + "multi_arg": true + } + ], + "outputs": [] + }, + { + "name": "stakeRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" } + ], + "outputs": [] }, - "name": "CoreMxLivelinessStake", - "constructor": { - "inputs": [], - "outputs": [] + { + "name": "setContractStateActive", + "mutability": "mutable", + "inputs": [], + "outputs": [] }, - "upgradeConstructor": { - "inputs": [], - "outputs": [] + { + "name": "setContractStateInactive", + "mutability": "mutable", + "inputs": [], + "outputs": [] }, - "endpoints": [ + { + "name": "setMaxApr", + "mutability": "mutable", + "inputs": [ { - "name": "claimRewards", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, + "name": "max_apr", + "type": "BigUint" + } + ], + "outputs": [] + }, + { + "name": "setRewardsTokenIdentifier", + "mutability": "mutable", + "inputs": [ { - "name": "stakeRewards", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - } - ], - "outputs": [] - }, + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [] + }, + { + "name": "setPerBlockRewardAmount", + "mutability": "mutable", + "inputs": [ { - "name": "setContractStateActive", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, + "name": "per_block_amount", + "type": "BigUint" + } + ], + "outputs": [] + }, + { + "name": "topUpRewards", + "mutability": "mutable", + "payableInTokens": ["*"], + "inputs": [], + "outputs": [] + }, + { + "name": "withdrawRewards", + "mutability": "mutable", + "inputs": [ { - "name": "setContractStateInactive", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, + "name": "amount", + "type": "BigUint" + } + ], + "outputs": [] + }, + { + "name": "startProduceRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "endProduceRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "setBondContractAddress", + "mutability": "mutable", + "inputs": [ { - "name": "setMaxApr", - "mutability": "mutable", - "inputs": [ - { - "name": "max_apr", - "type": "BigUint" - } - ], - "outputs": [] - }, + "name": "bond_contract_address", + "type": "Address" + } + ], + "outputs": [] + }, + { + "name": "setAdministrator", + "onlyOwner": true, + "mutability": "mutable", + "inputs": [ + { + "name": "administrator", + "type": "Address" + } + ], + "outputs": [] + }, + { + "name": "getContractState", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "setRewardsTokenIdentifier", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - } - ], - "outputs": [] - }, + "type": "State" + } + ] + }, + { + "name": "rewardsState", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "setPerBlockRewardAmount", - "mutability": "mutable", - "inputs": [ - { - "name": "per_block_amount", - "type": "BigUint" - } - ], - "outputs": [] - }, + "type": "State" + } + ] + }, + { + "name": "getAdministrator", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "topUpRewards", - "mutability": "mutable", - "payableInTokens": [ - "*" - ], - "inputs": [], - "outputs": [] - }, + "type": "Address" + } + ] + }, + { + "name": "bondContractAddress", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "withdrawRewards", - "mutability": "mutable", - "inputs": [ - { - "name": "amount", - "type": "BigUint" - } - ], - "outputs": [] - }, + "type": "Address" + } + ] + }, + { + "name": "generateAggregatedRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, + { + "name": "rewardsReserve", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "startProduceRewards", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, + "type": "BigUint" + } + ] + }, + { + "name": "accumulatedRewards", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "endProduceRewards", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, + "type": "BigUint" + } + ] + }, + { + "name": "rewardsTokenIdentifier", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "setBondContractAddress", - "mutability": "mutable", - "inputs": [ - { - "name": "bond_contract_address", - "type": "Address" - } - ], - "outputs": [] - }, + "type": "TokenIdentifier" + } + ] + }, + { + "name": "rewardsPerBlock", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "setAdministrator", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "administrator", - "type": "Address" - } - ], - "outputs": [] - }, + "type": "BigUint" + } + ] + }, + { + "name": "lastRewardBlockNonce", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "getContractState", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "State" - } - ] - }, + "type": "u64" + } + ] + }, + { + "name": "rewardsPerShare", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "rewardsState", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "State" - } - ] - }, + "type": "BigUint" + } + ] + }, + { + "name": "addressLastRewardPerShare", + "mutability": "readonly", + "inputs": [ { - "name": "getAdministrator", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, + "name": "address", + "type": "Address" + } + ], + "outputs": [ { - "name": "bondContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, + "type": "BigUint" + } + ] + }, + { + "name": "maxApr", + "mutability": "readonly", + "inputs": [], + "outputs": [ { - "name": "generateAggregatedRewards", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, + "type": "BigUint" + } + ] + }, + { + "name": "claimableRewards", + "mutability": "readonly", + "inputs": [ { - "name": "rewardsReserve", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] + "name": "caller", + "type": "Address" }, { - "name": "accumulatedRewards", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] - }, + "name": "opt_bypass_liveliness", + "type": "Option" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] + }, + { + "name": "contractDetails", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "ContractDetails" + } + ] + } + ], + "events": [ + { + "identifier": "set_administrator_event", + "inputs": [ + { + "name": "administrator", + "type": "Address", + "indexed": true + } + ] + }, + { + "identifier": "contract_state_event", + "inputs": [ + { + "name": "state", + "type": "State", + "indexed": true + } + ] + }, + { + "identifier": "max_apr", + "inputs": [ + { + "name": "max_apr", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "rewards_token_identifier", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + } + ] + }, + { + "identifier": "per_block_reward_amount", + "inputs": [ + { + "name": "per_block_amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "top_up_rewards_event", + "inputs": [ + { + "name": "amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "withdraw_rewards_event", + "inputs": [ + { + "name": "amount", + "type": "BigUint", + "indexed": true + } + ] + }, + { + "identifier": "rewards_state_event", + "inputs": [ { - "name": "rewardsTokenIdentifier", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "TokenIdentifier" - } - ] + "name": "state", + "type": "State", + "indexed": true + } + ] + }, + { + "identifier": "bond_contract_address", + "inputs": [ + { + "name": "bond_contract_address", + "type": "Address", + "indexed": true + } + ] + }, + { + "identifier": "claim_rewards", + "inputs": [ + { + "name": "caller", + "type": "Address", + "indexed": true }, { - "name": "rewardsPerBlock", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] + "name": "rewards_amount", + "type": "BigUint", + "indexed": true }, { - "name": "lastRewardBlockNonce", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "u64" - } - ] + "name": "timestamp", + "type": "u64", + "indexed": true }, { - "name": "rewardsPerShare", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] + "name": "block_nonce", + "type": "u64", + "indexed": true }, { - "name": "addressLastRewardPerShare", - "mutability": "readonly", - "inputs": [ - { - "name": "address", - "type": "Address" - } - ], - "outputs": [ - { - "type": "BigUint" - } - ] + "name": "rewards_reserve", + "type": "BigUint", + "indexed": true }, { - "name": "maxApr", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] + "name": "accumulated_rewards", + "type": "BigUint", + "indexed": true }, { - "name": "claimableRewards", - "mutability": "readonly", - "inputs": [ - { - "name": "caller", - "type": "Address" - }, - { - "name": "opt_bypass_liveliness", - "type": "Option" - } - ], - "outputs": [ - { - "type": "BigUint" - } - ] + "name": "current_rewards_per_share", + "type": "BigUint", + "indexed": true }, { - "name": "contractDetails", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "ContractDetails" - } - ] - } - ], - "events": [ - { - "identifier": "set_administrator_event", - "inputs": [ - { - "name": "administrator", - "type": "Address", - "indexed": true - } - ] + "name": "user_last_rewards_per_share", + "type": "BigUint", + "indexed": true }, { - "identifier": "contract_state_event", - "inputs": [ - { - "name": "state", - "type": "State", - "indexed": true - } - ] + "name": "rewards_per_block", + "type": "BigUint", + "indexed": true + } + ] + } + ], + "esdtAttributes": [], + "hasCallback": false, + "types": { + "ContractDetails": { + "type": "struct", + "fields": [ + { + "name": "rewards_reserve", + "type": "BigUint" }, { - "identifier": "max_apr", - "inputs": [ - { - "name": "max_apr", - "type": "BigUint", - "indexed": true - } - ] + "name": "accumulated_rewards", + "type": "BigUint" }, { - "identifier": "rewards_token_identifier", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier", - "indexed": true - } - ] + "name": "rewards_token_identifier", + "type": "TokenIdentifier" }, { - "identifier": "per_block_reward_amount", - "inputs": [ - { - "name": "per_block_amount", - "type": "BigUint", - "indexed": true - } - ] + "name": "rewards_per_block", + "type": "BigUint" }, { - "identifier": "top_up_rewards_event", - "inputs": [ - { - "name": "amount", - "type": "BigUint", - "indexed": true - } - ] + "name": "rewards_per_share", + "type": "BigUint" }, { - "identifier": "withdraw_rewards_event", - "inputs": [ - { - "name": "amount", - "type": "BigUint", - "indexed": true - } - ] + "name": "administrator", + "type": "Address" }, { - "identifier": "rewards_state_event", - "inputs": [ - { - "name": "state", - "type": "State", - "indexed": true - } - ] + "name": "bond_contract_address", + "type": "Address" }, { - "identifier": "bond_contract_address", - "inputs": [ - { - "name": "bond_contract_address", - "type": "Address", - "indexed": true - } - ] + "name": "last_reward_block_nonce", + "type": "u64" }, { - "identifier": "claim_rewards", - "inputs": [ - { - "name": "caller", - "type": "Address", - "indexed": true - }, - { - "name": "rewards_amount", - "type": "BigUint", - "indexed": true - }, - { - "name": "timestamp", - "type": "u64", - "indexed": true - }, - { - "name": "block_nonce", - "type": "u64", - "indexed": true - }, - { - "name": "rewards_reserve", - "type": "BigUint", - "indexed": true - }, - { - "name": "accumulated_rewards", - "type": "BigUint", - "indexed": true - }, - { - "name": "current_rewards_per_share", - "type": "BigUint", - "indexed": true - }, - { - "name": "user_last_rewards_per_share", - "type": "BigUint", - "indexed": true - }, - { - "name": "rewards_per_block", - "type": "BigUint", - "indexed": true - } - ] - } - ], - "esdtAttributes": [], - "hasCallback": false, - "types": { - "ContractDetails": { - "type": "struct", - "fields": [ - { - "name": "rewards_reserve", - "type": "BigUint" - }, - { - "name": "accumulated_rewards", - "type": "BigUint" - }, - { - "name": "rewards_token_identifier", - "type": "TokenIdentifier" - }, - { - "name": "rewards_per_block", - "type": "BigUint" - }, - { - "name": "rewards_per_share", - "type": "BigUint" - }, - { - "name": "administrator", - "type": "Address" - }, - { - "name": "bond_contract_address", - "type": "Address" - }, - { - "name": "last_reward_block_nonce", - "type": "u64" - }, - { - "name": "max_apr", - "type": "BigUint" - } - ] + "name": "max_apr", + "type": "BigUint" + } + ] + }, + "State": { + "type": "enum", + "variants": [ + { + "name": "Inactive", + "discriminant": 0 }, - "State": { - "type": "enum", - "variants": [ - { - "name": "Inactive", - "discriminant": 0 - }, - { - "name": "Active", - "discriminant": 1 - } - ] + { + "name": "Active", + "discriminant": 1 } + ] } + } } diff --git a/src/bond.ts b/src/bond.ts index 4e6cbe6..4ff49ef 100644 --- a/src/bond.ts +++ b/src/bond.ts @@ -128,6 +128,41 @@ export class BondContract extends Contract { } } + /** + * Returns the address bonds info + * @param address address to query + * + */ + + async viewAddressBondsInfo(address: IAddress): Promise<{ + totalStakedAmount: BigNumber.Value; + userStakedAmount: BigNumber.Value; + livelinessScore: number; + }> { + const interaction = this.contract.methodsExplicit.getAddressBondsInfo([ + new AddressValue(address) + ]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + const returnValue = firstValue?.valueOf(); + return { + totalStakedAmount: returnValue.field0.valueOf(), + userStakedAmount: returnValue.field1.valueOf(), + livelinessScore: new BigNumber(returnValue.field2.valueOf()) + .div(100) + .toNumber() + }; + } else { + throw new ErrContractQuery('viewAddressBondsInfo', returnCode.toString()); + } + } + /** * Returns the total bond amount for a specific address * @param address address to query @@ -724,6 +759,29 @@ export class BondContract extends Contract { return setAdministratorTx; } + /** + * Builds a 'setTopUpAdministrator' transaction + * @param senderAddress address of the sender (must be the owner of the contract) + * @param address new top up administrator address + */ + setTopUpAdministrator( + senderAddress: IAddress, + address: IAddress + ): Transaction { + const setTopUpAdministratorTx = new Transaction({ + value: 0, + data: new ContractCallPayloadBuilder() + .setFunction('setTopUpAdministrator') + .addArg(new AddressValue(address)) + .build(), + receiver: this.contract.getAddress(), + sender: senderAddress, + gasLimit: 10_000_000, + chainID: this.chainID + }); + return setTopUpAdministratorTx; + } + /** * Builds a `sanction` transaction * @param senderAddress address of the sender (must be the owner of the contract or the administrator) @@ -1193,6 +1251,42 @@ export class BondContract extends Contract { }); return topUpVaultTx; } + /** + * Builds a `topUpAddressVault` transaction + * @param senderAddress the address of the sender (must be the top up administrator) + * @param address the address to top up the vault for + * @param payment the payment for the top up (tokenIdentifier, nonce and amount) + * @param nonce the nonce of the Data Nft + * @param tokenIdentifier the token identifier of the Data Nft [default is the Data Nft token identifier based on {@link EnvironmentsEnum}] + */ + topUpAddressVault( + senderAddress: IAddress, + address: IAddress, + payment: { + tokenIdentifier: string; + amount: BigNumber.Value; + }, + nonce: number, + tokenIdentifier = dataNftTokenIdentifier[this.env as EnvironmentsEnum] + ): Transaction { + const topUpVaultTx = new Transaction({ + value: 0, + data: new ContractCallPayloadBuilder() + .setFunction(new ContractFunction('ESDTTransfer')) + .addArg(new TokenIdentifierValue(payment.tokenIdentifier)) + .addArg(new BigUIntValue(payment.amount)) + .addArg(new StringValue('topUpVault')) + .addArg(new AddressValue(address)) + .addArg(new TokenIdentifierValue(tokenIdentifier)) + .addArg(new U64Value(nonce)) + .build(), + receiver: this.contract.getAddress(), + sender: senderAddress, + gasLimit: 80_000_000, + chainID: this.chainID + }); + return topUpVaultTx; + } /** * Builds a `bond` transaction with NFT/SFT transfer From 8d9278710bd346321cc0118f6afa45794f59eff5 Mon Sep 17 00:00:00 2001 From: Bucur David Date: Tue, 30 Jul 2024 15:35:42 +0300 Subject: [PATCH 10/20] chore: dependencies update --- package-lock.json | 3368 ++++++++++++++++++++++++--------------------- package.json | 30 +- 2 files changed, 1842 insertions(+), 1556 deletions(-) diff --git a/package-lock.json b/package-lock.json index 19024a8..39d350b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,36 +1,36 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.1", + "version": "3.6.0-alpha.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.1", + "version": "3.6.0-alpha.3", "license": "GPL-3.0-only", "dependencies": { - "@multiversx/sdk-core": "12.18.0", - "@multiversx/sdk-network-providers": "2.2.1", + "@multiversx/sdk-core": "13.2.2", + "@multiversx/sdk-network-providers": "2.4.3", "bignumber.js": "9.1.2", - "nft.storage": "7.1.1" + "nft.storage": "7.2.0" }, "devDependencies": { - "@commitlint/config-conventional": "18.4.4", + "@commitlint/config-conventional": "19.2.2", "@semantic-release/changelog": "6.0.3", - "@semantic-release/commit-analyzer": "11.1.0", + "@semantic-release/commit-analyzer": "13.0.0", "@semantic-release/git": "10.0.1", - "@semantic-release/github": "9.2.6", - "@semantic-release/npm": "11.0.2", - "@semantic-release/release-notes-generator": "12.1.0", - "@types/jest": "29.5.11", - "commitlint": "18.4.4", - "husky": "9.0.11", + "@semantic-release/github": "10.1.3", + "@semantic-release/npm": "12.0.1", + "@semantic-release/release-notes-generator": "14.0.1", + "@types/jest": "29.5.12", + "commitlint": "19.3.0", + "husky": "9.1.4", "jest": "29.7.0", - "semantic-release": "23.0.2", - "ts-jest": "29.1.2", + "semantic-release": "24.0.0", + "ts-jest": "29.2.3", "tslint": "6.1.3", - "typedoc": "0.25.7", - "typescript": "5.3.3" + "typedoc": "0.26.5", + "typescript": "5.5.4" } }, "node_modules/@ampproject/remapping": { @@ -676,20 +676,17 @@ } }, "node_modules/@commitlint/cli": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.4.4.tgz", - "integrity": "sha512-Ro3wIo//fV3XiV1EkdpHog6huaEyNcUAVrSmtgKqYM5g982wOWmP4FXvEDFwRMVgz878CNBvvCc33dMZ5AQJ/g==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.3.0.tgz", + "integrity": "sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==", "dev": true, "dependencies": { - "@commitlint/format": "^18.4.4", - "@commitlint/lint": "^18.4.4", - "@commitlint/load": "^18.4.4", - "@commitlint/read": "^18.4.4", - "@commitlint/types": "^18.4.4", - "execa": "^5.0.0", - "lodash.isfunction": "^3.0.9", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", + "@commitlint/format": "^19.3.0", + "@commitlint/lint": "^19.2.2", + "@commitlint/load": "^19.2.0", + "@commitlint/read": "^19.2.1", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", "yargs": "^17.0.0" }, "bin": { @@ -699,12 +696,147 @@ "node": ">=v18" } }, + "node_modules/@commitlint/cli/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/cli/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@commitlint/cli/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/cli/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@commitlint/cli/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@commitlint/config-conventional": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.4.4.tgz", - "integrity": "sha512-Bz3sPQSboBN+Et/KyZrR+OJ3z9PrHDw7Bls0/hv94PmuHBtMq1dCGxS9XzTGzxeMNlytCC4kxF083tbhPljl3Q==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.2.2.tgz", + "integrity": "sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==", "dev": true, "dependencies": { + "@commitlint/types": "^19.0.3", "conventional-changelog-conventionalcommits": "^7.0.2" }, "engines": { @@ -712,12 +844,12 @@ } }, "node_modules/@commitlint/config-validator": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.4.4.tgz", - "integrity": "sha512-/QI8KIg/h7O0Eus36fPcEcO3QPBcdXuGfZeCF5m15k0EB2bcU8s6pHNTNEa6xz9PrAefHCL+yzRJj7w20T6Mow==", + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.0.3.tgz", + "integrity": "sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.4", + "@commitlint/types": "^19.0.3", "ajv": "^8.11.0" }, "engines": { @@ -725,12 +857,12 @@ } }, "node_modules/@commitlint/ensure": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.4.4.tgz", - "integrity": "sha512-KjD19p6julB5WrQL+Cd8p+AePwpl1XzGAjB0jnuFMKWtji9L7ucCZUKDstGjlkBZGGzH/nvdB8K+bh5K27EVUg==", + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.0.3.tgz", + "integrity": "sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.4", + "@commitlint/types": "^19.0.3", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.snakecase": "^4.1.1", @@ -742,260 +874,623 @@ } }, "node_modules/@commitlint/execute-rule": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.4.4.tgz", - "integrity": "sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz", + "integrity": "sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==", "dev": true, "engines": { "node": ">=v18" } }, "node_modules/@commitlint/format": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.4.4.tgz", - "integrity": "sha512-2v3V5hVlv0R3pe7p66IX5F7cjeVvGM5JqITRIbBCFvGHPJ/CG74rjTkAu0RBEiIhlk3eOaLjVGq3d5falPkLBA==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.3.0.tgz", + "integrity": "sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.4", - "chalk": "^4.1.0" + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0" }, "engines": { "node": ">=v18" } }, + "node_modules/@commitlint/format/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/@commitlint/is-ignored": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.4.4.tgz", - "integrity": "sha512-rXWes9owKBTjfTr6Od7YlflRg4N+ngkOH+dUZhk0qL/XQb26mHz0EgVgdixMVBac1OsohRwJaLmVHX+5F6vfmg==", + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.2.2.tgz", + "integrity": "sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/lint": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.2.2.tgz", + "integrity": "sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==", + "dev": true, + "dependencies": { + "@commitlint/is-ignored": "^19.2.2", + "@commitlint/parse": "^19.0.3", + "@commitlint/rules": "^19.0.3", + "@commitlint/types": "^19.0.3" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.2.0.tgz", + "integrity": "sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/execute-rule": "^19.0.0", + "@commitlint/resolve-extends": "^19.1.0", + "@commitlint/types": "^19.0.3", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/message": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.0.0.tgz", + "integrity": "sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==", + "dev": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.0.3.tgz", + "integrity": "sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==", + "dev": true, + "dependencies": { + "@commitlint/types": "^19.0.3", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse/node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@commitlint/parse/node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "dependencies": { - "@commitlint/types": "^18.4.4", - "semver": "7.5.4" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@commitlint/parse/node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "dev": true, + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read": { + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.2.1.tgz", + "integrity": "sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==", + "dev": true, + "dependencies": { + "@commitlint/top-level": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8" }, "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/is-ignored/node_modules/lru-cache": { + "node_modules/@commitlint/read/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/read/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@commitlint/read/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/onetime": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/read/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@commitlint/read/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz", + "integrity": "sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^19.0.3", + "@commitlint/types": "^19.0.3", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.0.3.tgz", + "integrity": "sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==", + "dev": true, + "dependencies": { + "@commitlint/ensure": "^19.0.3", + "@commitlint/message": "^19.0.0", + "@commitlint/to-lines": "^19.0.0", + "@commitlint/types": "^19.0.3", + "execa": "^8.0.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@commitlint/rules/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/rules/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" } }, - "node_modules/@commitlint/is-ignored/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/@commitlint/rules/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/is-ignored/node_modules/yallist": { + "node_modules/@commitlint/rules/node_modules/mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@commitlint/lint": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.4.4.tgz", - "integrity": "sha512-SoyQstVxMY5Z4GnFRtRzy+NWYb+yVseXgir+7BxnpB59oH05C9XztRrhDw6OnkNeXhjINTpi1HLnuY7So+CaAQ==", + "node_modules/@commitlint/rules/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "dependencies": { - "@commitlint/is-ignored": "^18.4.4", - "@commitlint/parse": "^18.4.4", - "@commitlint/rules": "^18.4.4", - "@commitlint/types": "^18.4.4" + "path-key": "^4.0.0" }, "engines": { - "node": ">=v18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/load": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.4.4.tgz", - "integrity": "sha512-RaDIa9qwOw2xRJ3Jr2DBXd14rmnHJIX2XdZF4kmoF1rgsg/+7cvrExLSUNAkQUNimyjCn1b/bKX2Omm+GdY0XQ==", + "node_modules/@commitlint/rules/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "@commitlint/config-validator": "^18.4.4", - "@commitlint/execute-rule": "^18.4.4", - "@commitlint/resolve-extends": "^18.4.4", - "@commitlint/types": "^18.4.4", - "chalk": "^4.1.0", - "cosmiconfig": "^8.3.6", - "cosmiconfig-typescript-loader": "^5.0.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0", - "resolve-from": "^5.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=v18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/message": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.4.4.tgz", - "integrity": "sha512-lHF95mMDYgAI1LBXveJUyg4eLaMXyOqJccCK3v55ZOEUsMPrDi8upqDjd/NmzWmESYihaOMBTAnxm+6oD1WoDQ==", + "node_modules/@commitlint/rules/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "engines": { - "node": ">=v18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/parse": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.4.4.tgz", - "integrity": "sha512-99G7dyn/OoyNWXJni0Ki0K3aJd01pEb/Im/Id6y4X7PN+kGOahjz2z/cXYYHn7xDdooqFVdiVrVLeChfgpWZ2g==", + "node_modules/@commitlint/rules/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "@commitlint/types": "^18.4.4", - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-parser": "^5.0.0" - }, "engines": { - "node": ">=v18" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@commitlint/read": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.4.4.tgz", - "integrity": "sha512-r58JbWky4gAFPea/CZmvlqP9Ehbs+8gSEUqhIJOojKzTc3xlxFnZUDVPcEnnaqzQEEoV6C69VW7xuzdcBlu/FQ==", + "node_modules/@commitlint/rules/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "dependencies": { - "@commitlint/top-level": "^18.4.4", - "@commitlint/types": "^18.4.4", - "git-raw-commits": "^2.0.11", - "minimist": "^1.2.6" - }, "engines": { - "node": ">=v18" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/resolve-extends": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.4.4.tgz", - "integrity": "sha512-RRpIHSbRnFvmGifVk21Gqazf1QF/yeP+Kkg/e3PlkegcOKd/FGOXp/Kx9cvSO2K7ucSn4GD/oBvgasFoy+NCAw==", + "node_modules/@commitlint/to-lines": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.0.0.tgz", + "integrity": "sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==", "dev": true, - "dependencies": { - "@commitlint/config-validator": "^18.4.4", - "@commitlint/types": "^18.4.4", - "import-fresh": "^3.0.0", - "lodash.mergewith": "^4.6.2", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - }, "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/rules": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.4.4.tgz", - "integrity": "sha512-6Uzlsnl/GljEI+80NWjf4ThOfR8NIsbm18IfXYuCEchlwMHSxiuYG4rHSK5DNmG/+MIo8eR5VdQ0gQyt7kWzAA==", + "node_modules/@commitlint/top-level": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.0.0.tgz", + "integrity": "sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==", "dev": true, "dependencies": { - "@commitlint/ensure": "^18.4.4", - "@commitlint/message": "^18.4.4", - "@commitlint/to-lines": "^18.4.4", - "@commitlint/types": "^18.4.4", - "execa": "^5.0.0" + "find-up": "^7.0.0" }, "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/to-lines": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.4.4.tgz", - "integrity": "sha512-mwe2Roa59NCz/krniAdCygFabg7+fQCkIhXqBHw00XQ8Y7lw4poZLLxeGI3p3bLpcEOXdqIDrEGLwHmG5lBdwQ==", + "node_modules/@commitlint/top-level/node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, "engines": { - "node": ">=v18" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/top-level": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.4.4.tgz", - "integrity": "sha512-PBwW1drgeavl9CadB7IPRUk6rkUP/O8jEkxjlC+ofuh3pw0bzJdAT+Kw7M1Yc9KtTb9xTaqUB8uvRtaybHa/tQ==", + "node_modules/@commitlint/top-level/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "dependencies": { - "find-up": "^5.0.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=v18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/top-level/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/@commitlint/top-level/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/top-level/node_modules/locate-path": { + "node_modules/@commitlint/top-level/node_modules/p-locate": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@commitlint/top-level/node_modules/p-locate": { + "node_modules/@commitlint/top-level/node_modules/path-exists": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@commitlint/top-level/node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "dev": true, + "engines": { + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@commitlint/types": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.4.4.tgz", - "integrity": "sha512-/FykLtodD8gKs3+VNkAUwofu4LBHankclj+I8fB2jTRvG6PV7k/OUt4P+VbM7ip853qS4F0g7Z6hLNa6JeMcAQ==", + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.0.3.tgz", + "integrity": "sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==", "dev": true, "dependencies": { - "chalk": "^4.1.0" + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" }, "engines": { "node": ">=v18" } }, + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/@ipld/car": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.2.4.tgz", @@ -1448,62 +1943,28 @@ } }, "node_modules/@multiversx/sdk-core": { - "version": "12.18.0", - "resolved": "https://registry.npmjs.org/@multiversx/sdk-core/-/sdk-core-12.18.0.tgz", - "integrity": "sha512-F+xGslPMkkZ0S/Q8UJZsMYl0mgHIuK/GdVsNFPiMKxQsKkxA2LTjNdPxVxjwgvRmN7WfdsTtQvmlsA5O1NYhBg==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@multiversx/sdk-core/-/sdk-core-13.2.2.tgz", + "integrity": "sha512-ABQuy7PcFBnl5f9yFczgaq7tX72X0M836Ky9h4HRCQd5Mao3OJ3TrgHEvxZe9SVYXtwOm337iPsbkZzVslxu9A==", "dependencies": { "@multiversx/sdk-transaction-decoder": "1.0.2", "bech32": "1.1.4", - "bignumber.js": "9.0.1", "blake2b": "2.1.3", "buffer": "6.0.3", - "json-duplicate-key-handle": "1.0.0", - "keccak": "3.0.2", - "protobufjs": "7.2.4" - } - }, - "node_modules/@multiversx/sdk-core/node_modules/bignumber.js": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", - "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", - "engines": { - "node": "*" - } - }, - "node_modules/@multiversx/sdk-core/node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" - }, - "node_modules/@multiversx/sdk-core/node_modules/protobufjs": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz", - "integrity": "sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" + "json-bigint": "1.0.0", + "keccak": "3.0.2" }, - "engines": { - "node": ">=12.0.0" + "peerDependencies": { + "bignumber.js": "^9.0.1", + "protobufjs": "^7.2.6" } }, "node_modules/@multiversx/sdk-network-providers": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@multiversx/sdk-network-providers/-/sdk-network-providers-2.2.1.tgz", - "integrity": "sha512-JsGznvyZSIBLpQ9bRjyv0EWfstaqDyFRBzokNZSbwk5z+3LjQFZxPTU3iv95BvW/rPQh8L0zD8Xwjw05pjTLyA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@multiversx/sdk-network-providers/-/sdk-network-providers-2.4.3.tgz", + "integrity": "sha512-tJmJuxU+BjtC2q29PuzQOM4Qr6aiXujKwQXgIAPHTiuNbMc3Yi6Q4B0DC1PfI3iG+M4DONwfXknvM1uwqnY2zA==", "dependencies": { - "axios": "1.6.5", + "axios": "1.6.8", "bech32": "1.1.4", "bignumber.js": "9.0.1", "buffer": "6.0.3", @@ -1567,149 +2028,147 @@ } }, "node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.1.0.tgz", - "integrity": "sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", "dev": true, "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.0.0", - "@octokit/request": "^8.0.2", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz", - "integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", + "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", "dev": true, "dependencies": { - "@octokit/types": "^12.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/graphql": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", - "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", "dev": true, "dependencies": { - "@octokit/request": "^8.0.1", - "@octokit/types": "^12.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.0.tgz", - "integrity": "sha512-NKi0bJEZqOSbBLMv9kdAcuocpe05Q2xAXNLTGi0HN2GSMFJHNZuSoPNa0tcQFTOFCKe+ZaYBZ3lpXh1yxgUDCA==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.3.tgz", + "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", "dev": true, "dependencies": { - "@octokit/types": "^12.6.0" + "@octokit/types": "^13.5.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-retry": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz", - "integrity": "sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.1.tgz", + "integrity": "sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==", "dev": true, "dependencies": { - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^13.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-throttling": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz", - "integrity": "sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.1.tgz", + "integrity": "sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==", "dev": true, "dependencies": { - "@octokit/types": "^12.2.0", + "@octokit/types": "^13.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "^5.0.0" + "@octokit/core": "^6.0.0" } }, "node_modules/@octokit/request": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.2.0.tgz", - "integrity": "sha512-exPif6x5uwLqv1N1irkLG1zZNJkOtj8bZxuVHd71U5Ftuxf2wGNvAJyNBcPbPC+EBzwYEbBDdSFb8EPcjpYxPQ==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", "dev": true, "dependencies": { - "@octokit/endpoint": "^9.0.0", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", - "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", + "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", "dev": true, "dependencies": { - "@octokit/types": "^12.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^13.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^20.0.0" + "@octokit/openapi-types": "^22.2.0" } }, "node_modules/@pnpm/config.env-replace": { @@ -1807,6 +2266,12 @@ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, "node_modules/@semantic-release/changelog": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", @@ -1826,21 +2291,22 @@ } }, "node_modules/@semantic-release/commit-analyzer": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.1.0.tgz", - "integrity": "sha512-cXNTbv3nXR2hlzHjAMgbuiQVtvWHTlwwISt60B+4NZv01y/QRY7p2HcJm8Eh2StzcTJoNnflvKjHH/cjFS7d5g==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", + "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "import-from-esm": "^1.0.3", "lodash-es": "^4.17.21", "micromatch": "^4.0.2" }, "engines": { - "node": "^18.17 || >=20.6.1" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -1887,15 +2353,15 @@ } }, "node_modules/@semantic-release/github": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.2.6.tgz", - "integrity": "sha512-shi+Lrf6exeNZF+sBhK+P011LSbhmIAoUEgEY6SsxF8irJ+J2stwI5jkyDQ+4gzYyDImzV6LCKdYB9FXnQRWKA==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.1.3.tgz", + "integrity": "sha512-QVw7YT3J4VqyVjOnlRsFA3OCERAJHER4QbSPupbav3ER0fawrs2BAWbQFjsr24OAD4KTTKMZsVzF+GYFWCDtaQ==", "dev": true, "dependencies": { - "@octokit/core": "^5.0.0", - "@octokit/plugin-paginate-rest": "^9.0.0", - "@octokit/plugin-retry": "^6.0.0", - "@octokit/plugin-throttling": "^8.0.0", + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "debug": "^4.3.4", @@ -1903,14 +2369,14 @@ "globby": "^14.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", - "issue-parser": "^6.0.0", + "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", "mime": "^4.0.0", "p-filter": "^4.0.0", "url-join": "^5.0.0" }, "engines": { - "node": ">=18" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -1981,19 +2447,19 @@ } }, "node_modules/@semantic-release/npm": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.2.tgz", - "integrity": "sha512-owtf3RjyPvRE63iUKZ5/xO4uqjRpVQDUB9+nnXj0xwfIeM9pRl+cG+zGDzdftR4m3f2s4Wyf3SexW+kF5DFtWA==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", + "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", "dev": true, "dependencies": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", - "execa": "^8.0.0", + "execa": "^9.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", - "npm": "^10.0.0", + "npm": "^10.5.0", "rc": "^1.2.8", "read-pkg": "^9.0.0", "registry-auth-token": "^5.0.0", @@ -2001,7 +2467,7 @@ "tempy": "^3.0.0" }, "engines": { - "node": "^18.17 || >=20" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -2016,6 +2482,18 @@ "node": ">=18" } }, + "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/npm/node_modules/aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", @@ -2060,35 +2538,42 @@ } }, "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.3.0.tgz", + "integrity": "sha512-l6JFbqnHEadBoVAVpN5dl2yCyfX28WoBAGaoQcNmLLSedOxTxcn2Qa83s8I/PA5i56vWru2OHOtrwF7Om2vqlg==", "dev": true, "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^7.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^5.2.0", + "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "engines": { - "node": ">=16.17" + "node": "^18.19.0 || >=20.5.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/@semantic-release/npm/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2107,12 +2592,12 @@ } }, "node_modules/@semantic-release/npm/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-7.0.0.tgz", + "integrity": "sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==", "dev": true, "engines": { - "node": ">=16.17.0" + "node": ">=18.18.0" } }, "node_modules/@semantic-release/npm/node_modules/indent-string": { @@ -2127,13 +2612,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@semantic-release/npm/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/npm/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2148,18 +2645,6 @@ "node": "14 || >=16.14" } }, - "node_modules/@semantic-release/npm/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/npm/node_modules/normalize-package-data": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", @@ -2190,21 +2675,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/npm/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/npm/node_modules/parse-json": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", @@ -2293,12 +2763,12 @@ } }, "node_modules/@semantic-release/npm/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2323,24 +2793,24 @@ "dev": true }, "node_modules/@semantic-release/release-notes-generator": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.1.0.tgz", - "integrity": "sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz", + "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-changelog-writer": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "get-stream": "^7.0.0", "import-from-esm": "^1.0.3", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", - "read-pkg-up": "^11.0.0" + "read-package-up": "^11.0.0" }, "engines": { - "node": "^18.17 || >=20.6.1" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -2358,141 +2828,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz", - "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==", - "deprecated": "Renamed to read-package-up", - "dev": true, - "dependencies": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@shikijs/core": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.12.0.tgz", + "integrity": "sha512-mc1cLbm6UQ8RxLc0dZES7v5rkH+99LxQp/ZvTqV3NLyYsO/fD6JhEflP1H5b2SDq9gI0+0G36AVZWxvounfR9w==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/type-fest": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.3.tgz", - "integrity": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/hast": "^3.0.4" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -2582,6 +2926,15 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/graceful-fs": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", @@ -2591,6 +2944,15 @@ "@types/node": "*" } }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -2616,9 +2978,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.11", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", - "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -2655,12 +3017,24 @@ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "node_modules/@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, "node_modules/@types/yargs": { "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", @@ -2781,15 +3155,15 @@ } }, "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -2820,12 +3194,6 @@ "node": ">=8" } }, - "node_modules/ansi-sequence-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", - "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", - "dev": true - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2898,6 +3266,12 @@ "node": ">=0.10.0" } }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -2915,11 +3289,11 @@ } }, "node_modules/axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -3015,11 +3389,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/backslash": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/backslash/-/backslash-0.2.0.tgz", - "integrity": "sha512-Avs+8FUZ1HF/VFP4YWwHQZSGzRPm37ukU1JQYQWijuHhtXdOuAzcZ8PcAzfIw898a8PyBzdn+RtnKA6MzW0X2A==" - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3050,9 +3419,9 @@ "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" }, "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", "dev": true }, "node_modules/bignumber.js": { @@ -3502,13 +3871,13 @@ "dev": true }, "node_modules/commitlint": { - "version": "18.4.4", - "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-18.4.4.tgz", - "integrity": "sha512-O9ubyj1HKvaah/NGG76S6BPNb2J4I+17qYfGcnK7wtqXWEQ6dv/nZqydpA14PHxlpEmItEhjhqvQrnw9Q4bYpA==", + "version": "19.3.0", + "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-19.3.0.tgz", + "integrity": "sha512-B8eUVQCjz+1ZAjR3LC3+vzKg7c4/qN4QhSxkjp0u0v7Pi79t9CsnGAluvveKmFh56e885zgToPL5ax+l8BHTPg==", "dev": true, "dependencies": { - "@commitlint/cli": "^18.4.4", - "@commitlint/types": "^18.4.4" + "@commitlint/cli": "^19.3.0", + "@commitlint/types": "^19.0.3" }, "bin": { "commitlint": "cli.js" @@ -3543,15 +3912,15 @@ } }, "node_modules/conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, "dependencies": { "compare-func": "^2.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/conventional-changelog-conventionalcommits": { @@ -3567,57 +3936,41 @@ } }, "node_modules/conventional-changelog-writer": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", - "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz", + "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==", "dev": true, "dependencies": { - "conventional-commits-filter": "^4.0.0", + "@types/semver": "^7.5.5", + "conventional-commits-filter": "^5.0.0", "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "meow": "^12.0.1", - "semver": "^7.5.2", - "split2": "^4.0.0" + "meow": "^13.0.0", + "semver": "^7.5.2" }, "bin": { - "conventional-changelog-writer": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/conventional-changelog-writer/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" + "conventional-changelog-writer": "dist/cli/index.js" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/conventional-changelog-writer/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "engines": { - "node": ">=16.10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3625,46 +3978,49 @@ "node": ">=10" } }, - "node_modules/conventional-changelog-writer/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/conventional-commits-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", - "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", + "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", + "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", "dev": true, "dependencies": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" + "meow": "^13.0.0" }, "bin": { - "conventional-commits-parser": "cli.mjs" + "conventional-commits-parser": "dist/cli/index.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/conventional-commits-parser/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, "engines": { - "node": ">=16.10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3683,15 +4039,15 @@ "dev": true }, "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "dependencies": { + "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "parse-json": "^5.2.0" }, "engines": { "node": ">=14" @@ -3806,12 +4162,15 @@ } }, "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/data-uri-to-buffer": { @@ -3909,12 +4268,6 @@ "node": ">=0.4.0" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -4015,6 +4368,21 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-fetch": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", @@ -4064,6 +4432,18 @@ "iconv-lite": "^0.6.2" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-ci": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.0.0.tgz", @@ -4353,6 +4733,12 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -4372,9 +4758,9 @@ } }, "node_modules/figures": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.0.1.tgz", - "integrity": "sha512-0oY/olScYD4IhQ8u//gCPA4F3mlTn2dacYmiDm/mbDQvpmLjV4uH+zhsQ5IyXRyvqkvtUkXkNdGvg5OFJTCsuQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "dependencies": { "is-unicode-supported": "^2.0.0" @@ -4386,6 +4772,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -4423,24 +4839,25 @@ } }, "node_modules/find-versions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", - "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, "dependencies": { - "semver-regex": "^4.0.5" + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -4556,6 +4973,18 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -4677,65 +5106,29 @@ } }, "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz", + "integrity": "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==", "dev": true, "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" + "dargs": "^8.0.0", + "meow": "^12.0.1", + "split2": "^4.0.0" }, "bin": { - "git-raw-commits": "cli.js" + "git-raw-commits": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/git-raw-commits/node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/git-raw-commits/node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/git-raw-commits/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, "engines": { - "node": ">=10" + "node": ">=16.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4773,16 +5166,28 @@ "node": ">= 6" } }, - "node_modules/global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", "dev": true, "dependencies": { - "ini": "^1.3.4" + "ini": "4.1.1" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-directory/node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/globals": { @@ -5032,12 +5437,12 @@ } }, "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.4.tgz", + "integrity": "sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA==", "dev": true, "bin": { - "husky": "bin.mjs" + "husky": "bin.js" }, "engines": { "node": ">=18" @@ -5396,6 +5801,36 @@ "npm": ">=7.0.0" } }, + "node_modules/ipfs-unixfs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/ipfs-unixfs/node_modules/protobufjs": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, "node_modules/ipfs-utils": { "version": "9.0.14", "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", @@ -5640,9 +6075,9 @@ } }, "node_modules/issue-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", - "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", + "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, "dependencies": { "lodash.capitalize": "^4.2.1", @@ -5652,7 +6087,7 @@ "lodash.uniqby": "^4.7.0" }, "engines": { - "node": ">=10.13" + "node": "^18.17 || >=20.6.1" } }, "node_modules/istanbul-lib-coverage": { @@ -5801,6 +6236,24 @@ "readable-stream": "^3.6.0" } }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/java-properties": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", @@ -6399,9 +6852,9 @@ } }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, "bin": { "jiti": "bin/jiti.js" @@ -6445,14 +6898,6 @@ "bignumber.js": "^9.0.0" } }, - "node_modules/json-duplicate-key-handle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-duplicate-key-handle/-/json-duplicate-key-handle-1.0.0.tgz", - "integrity": "sha512-OLIxL+UpfwUsqcLX3i6Z51ChTou/Vje+6bSeGUSubj96dF/SfjObDprLy++ZXYH07KITuEzsXS7PX7e/BGf4jw==", - "dependencies": { - "backslash": "^0.2.0" - } - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -6470,12 +6915,6 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -6488,12 +6927,6 @@ "node": ">=6" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -6576,6 +7009,15 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "dependencies": { + "uc.micro": "^2.0.0" + } + }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -6654,12 +7096,6 @@ "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", "dev": true }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true - }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", @@ -6727,9 +7163,10 @@ "dev": true }, "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "peer": true }, "node_modules/lru-cache": { "version": "5.1.1", @@ -6820,11 +7257,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/marked": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -6891,6 +7352,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true + }, "node_modules/meow": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", @@ -7200,9 +7667,9 @@ "dev": true }, "node_modules/nft.storage": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/nft.storage/-/nft.storage-7.1.1.tgz", - "integrity": "sha512-OHFeRiWLcGCWHX8Kx3yvSt7qGbHwEROl0kcN2xaHWBaR0ApYH5DnjlqczXSwP9WwBDtjhyDk4IHReXSwuZkB7Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nft.storage/-/nft.storage-7.2.0.tgz", + "integrity": "sha512-OvTsGfuZqU8BVv+fYq8CQiXZlaBysrFJZGr51PbhcWXX04hfX+TynQo64/t5UoJEAW2dFC6+IshscZdtbRD0Nw==", "dependencies": { "@ipld/car": "^3.2.3", "@ipld/dag-cbor": "^6.0.13", @@ -7346,9 +7813,9 @@ } }, "node_modules/npm": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.4.0.tgz", - "integrity": "sha512-RS7Mx0OVfXlOcQLRePuDIYdFCVBPCNapWHplDK+mh7GDdP/Tvor4ocuybRRPSvfcRb2vjRJt1fHCqw3cr8qACQ==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.2.tgz", + "integrity": "sha512-x/AIjFIKRllrhcb48dqUNAAZl0ig9+qMuN91RpZo3Cb2+zuibfh+KISl6+kVVyktDz230JKc208UkQwwMqyB+w==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -7357,6 +7824,7 @@ "@npmcli/map-workspaces", "@npmcli/package-json", "@npmcli/promise-spawn", + "@npmcli/redact", "@npmcli/run-script", "@sigstore/tuf", "abbrev", @@ -7365,8 +7833,6 @@ "chalk", "ci-info", "cli-columns", - "cli-table3", - "columnify", "fastest-levenshtein", "fs-minipass", "glob", @@ -7402,7 +7868,6 @@ "npm-profile", "npm-registry-fetch", "npm-user-validate", - "npmlog", "p-map", "pacote", "parse-conflict-json", @@ -7424,73 +7889,71 @@ "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^7.2.1", - "@npmcli/config": "^8.0.2", - "@npmcli/fs": "^3.1.0", - "@npmcli/map-workspaces": "^3.0.4", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.1", - "@npmcli/run-script": "^7.0.4", - "@sigstore/tuf": "^2.3.0", + "@npmcli/arborist": "^7.5.4", + "@npmcli/config": "^8.3.4", + "@npmcli/fs": "^3.1.1", + "@npmcli/map-workspaces": "^3.0.6", + "@npmcli/package-json": "^5.2.0", + "@npmcli/promise-spawn": "^7.0.2", + "@npmcli/redact": "^2.0.1", + "@npmcli/run-script": "^8.1.0", + "@sigstore/tuf": "^2.3.4", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^18.0.2", + "cacache": "^18.0.3", "chalk": "^5.3.0", "ci-info": "^4.0.0", "cli-columns": "^4.0.0", - "cli-table3": "^0.6.3", - "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", - "glob": "^10.3.10", + "glob": "^10.4.2", "graceful-fs": "^4.2.11", - "hosted-git-info": "^7.0.1", - "ini": "^4.1.1", - "init-package-json": "^6.0.0", - "is-cidr": "^5.0.3", - "json-parse-even-better-errors": "^3.0.1", - "libnpmaccess": "^8.0.1", - "libnpmdiff": "^6.0.3", - "libnpmexec": "^7.0.4", - "libnpmfund": "^5.0.1", - "libnpmhook": "^10.0.0", - "libnpmorg": "^6.0.1", - "libnpmpack": "^6.0.3", - "libnpmpublish": "^9.0.2", - "libnpmsearch": "^7.0.0", - "libnpmteam": "^6.0.0", - "libnpmversion": "^5.0.1", - "make-fetch-happen": "^13.0.0", - "minimatch": "^9.0.3", - "minipass": "^7.0.4", + "hosted-git-info": "^7.0.2", + "ini": "^4.1.3", + "init-package-json": "^6.0.3", + "is-cidr": "^5.1.0", + "json-parse-even-better-errors": "^3.0.2", + "libnpmaccess": "^8.0.6", + "libnpmdiff": "^6.1.4", + "libnpmexec": "^8.1.3", + "libnpmfund": "^5.0.12", + "libnpmhook": "^10.0.5", + "libnpmorg": "^6.0.6", + "libnpmpack": "^7.0.4", + "libnpmpublish": "^9.0.9", + "libnpmsearch": "^7.0.6", + "libnpmteam": "^6.0.5", + "libnpmversion": "^6.0.3", + "make-fetch-happen": "^13.0.1", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^10.0.1", - "nopt": "^7.2.0", - "normalize-package-data": "^6.0.0", + "node-gyp": "^10.1.0", + "nopt": "^7.2.1", + "normalize-package-data": "^6.0.2", "npm-audit-report": "^5.0.0", "npm-install-checks": "^6.3.0", - "npm-package-arg": "^11.0.1", - "npm-pick-manifest": "^9.0.0", - "npm-profile": "^9.0.0", - "npm-registry-fetch": "^16.1.0", - "npm-user-validate": "^2.0.0", - "npmlog": "^7.0.1", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.1.0", + "npm-profile": "^10.0.0", + "npm-registry-fetch": "^17.1.0", + "npm-user-validate": "^2.0.1", "p-map": "^4.0.0", - "pacote": "^17.0.6", + "pacote": "^18.0.6", "parse-conflict-json": "^3.0.1", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", "qrcode-terminal": "^0.12.0", - "read": "^2.1.0", - "semver": "^7.5.4", - "spdx-expression-parse": "^3.0.1", - "ssri": "^10.0.5", + "read": "^3.0.1", + "semver": "^7.6.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^10.0.6", "supports-color": "^9.4.0", - "tar": "^6.2.0", + "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^5.0.0", + "validate-npm-package-name": "^5.0.1", "which": "^4.0.0", "write-file-atomic": "^5.0.1" }, @@ -7514,16 +7977,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/@colors/colors": { - "version": "1.5.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/npm/node_modules/@isaacs/cliui": { "version": "8.0.2", "dev": true, @@ -7598,7 +8051,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/agent": { - "version": "2.2.0", + "version": "2.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -7607,49 +8060,51 @@ "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.1" + "socks-proxy-agent": "^8.0.3" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "7.3.1", + "version": "7.5.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.0", - "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/fs": "^3.1.1", + "@npmcli/installed-package-contents": "^2.1.0", "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.0.0", + "@npmcli/metavuln-calculator": "^7.1.1", "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/query": "^3.0.1", - "@npmcli/run-script": "^7.0.2", - "bin-links": "^4.0.1", - "cacache": "^18.0.0", + "@npmcli/package-json": "^5.1.0", + "@npmcli/query": "^3.1.0", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "bin-links": "^4.0.4", + "cacache": "^18.0.3", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.1", - "json-parse-even-better-errors": "^3.0.0", + "hosted-git-info": "^7.0.2", + "json-parse-even-better-errors": "^3.0.2", "json-stringify-nice": "^1.1.4", - "minimatch": "^9.0.0", - "nopt": "^7.0.0", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^7.2.1", "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.1", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "npmlog": "^7.0.1", - "pacote": "^17.0.4", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.0.1", + "npm-registry-fetch": "^17.0.1", + "pacote": "^18.0.6", "parse-conflict-json": "^3.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "ssri": "^10.0.5", + "ssri": "^10.0.6", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, @@ -7661,17 +8116,17 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "8.1.0", + "version": "8.3.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/package-json": "^5.1.1", "ci-info": "^4.0.0", - "ini": "^4.1.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "read-package-json-fast": "^3.0.2", + "ini": "^4.1.2", + "nopt": "^7.2.1", + "proc-log": "^4.2.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" }, @@ -7679,35 +8134,8 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "ansi-styles": "^4.3.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@npmcli/disparity-colors/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/npm/node_modules/@npmcli/fs": { - "version": "3.1.0", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "ISC", @@ -7719,15 +8147,16 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "5.0.4", + "version": "5.0.8", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", @@ -7738,7 +8167,7 @@ } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -7747,14 +8176,14 @@ "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "lib/index.js" + "installed-package-contents": "bin/index.js" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "3.0.4", + "version": "3.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -7769,14 +8198,15 @@ } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "7.0.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "cacache": "^18.0.0", "json-parse-even-better-errors": "^3.0.0", - "pacote": "^17.0.0", + "pacote": "^18.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5" }, "engines": { @@ -7802,7 +8232,7 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "5.0.0", + "version": "5.2.0", "dev": true, "inBundle": true, "license": "ISC", @@ -7812,7 +8242,7 @@ "hosted-git-info": "^7.0.0", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^6.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.5.3" }, "engines": { @@ -7820,7 +8250,7 @@ } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "7.0.1", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -7832,7 +8262,7 @@ } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "3.0.1", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -7843,8 +8273,17 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "7.0.4", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -7853,6 +8292,7 @@ "@npmcli/package-json": "^5.0.0", "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", "which": "^4.0.0" }, "engines": { @@ -7870,19 +8310,19 @@ } }, "node_modules/npm/node_modules/@sigstore/bundle": { - "version": "2.1.1", + "version": "2.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/protobuf-specs": "^0.3.2" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/core": { - "version": "0.2.0", + "version": "1.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -7891,51 +8331,53 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.2.1", + "version": "0.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/sign": { - "version": "2.2.1", + "version": "2.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", - "make-fetch-happen": "^13.0.0" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "2.3.0", + "version": "2.3.4", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1", - "tuf-js": "^2.2.0" + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^2.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/verify": { - "version": "0.1.0", + "version": "1.2.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.2" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -7951,13 +8393,13 @@ } }, "node_modules/npm/node_modules/@tufjs/models": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.3" + "minimatch": "^9.0.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -7973,7 +8415,7 @@ } }, "node_modules/npm/node_modules/agent-base": { - "version": "7.1.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "MIT", @@ -8030,15 +8472,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/are-we-there-yet": { - "version": "4.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -8046,7 +8479,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { - "version": "4.0.3", + "version": "4.0.4", "dev": true, "inBundle": true, "license": "ISC", @@ -8061,12 +8494,15 @@ } }, "node_modules/npm/node_modules/binary-extensions": { - "version": "2.2.0", + "version": "2.3.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/brace-expansion": { @@ -8078,17 +8514,8 @@ "balanced-match": "^1.0.0" } }, - "node_modules/npm/node_modules/builtins": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, "node_modules/npm/node_modules/cacache": { - "version": "18.0.2", + "version": "18.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -8147,7 +8574,7 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "4.0.3", + "version": "4.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -8180,32 +8607,8 @@ "node": ">= 10" } }, - "node_modules/npm/node_modules/cli-table3": { - "version": "0.6.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/npm/node_modules/clone": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/npm/node_modules/cmd-shim": { - "version": "6.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -8231,40 +8634,12 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/color-support": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/npm/node_modules/columnify": { - "version": "1.6.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", "dev": true, "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/console-control-strings": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, @@ -8307,7 +8682,7 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.4", + "version": "4.3.5", "dev": true, "inBundle": true, "license": "MIT", @@ -8329,20 +8704,8 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/defaults": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm/node_modules/diff": { - "version": "5.1.0", + "version": "5.2.0", "dev": true, "inBundle": true, "license": "BSD-3-Clause", @@ -8403,7 +8766,7 @@ } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.1.1", + "version": "3.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -8430,51 +8793,24 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/function-bind": { - "version": "1.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/npm/node_modules/gauge": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^4.0.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/glob": { - "version": "10.3.10", + "version": "10.4.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -8486,26 +8822,8 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/has-unicode": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/hasown": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "7.0.1", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -8523,7 +8841,7 @@ "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { - "version": "7.0.0", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -8536,7 +8854,7 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.2", + "version": "7.0.5", "dev": true, "inBundle": true, "license": "MIT", @@ -8562,7 +8880,7 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "6.0.4", + "version": "6.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -8592,7 +8910,7 @@ } }, "node_modules/npm/node_modules/ini": { - "version": "4.1.1", + "version": "4.1.3", "dev": true, "inBundle": true, "license": "ISC", @@ -8601,15 +8919,15 @@ } }, "node_modules/npm/node_modules/init-package-json": { - "version": "6.0.0", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@npmcli/package-json": "^5.0.0", "npm-package-arg": "^11.0.0", "promzard": "^1.0.0", - "read": "^2.0.0", - "read-package-json": "^7.0.0", + "read": "^3.0.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^5.0.0" @@ -8618,11 +8936,18 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/ip": { - "version": "2.0.0", + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/npm/node_modules/ip-regex": { "version": "5.0.0", @@ -8637,29 +8962,17 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "5.0.3", + "version": "5.1.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "cidr-regex": "4.0.3" + "cidr-regex": "^4.1.1" }, "engines": { "node": ">=14" } }, - "node_modules/npm/node_modules/is-core-module": { - "version": "2.13.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "dev": true, @@ -8682,7 +8995,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/jackspeak": { - "version": "2.3.6", + "version": "3.4.0", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -8699,8 +9012,14 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "3.0.1", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -8739,52 +9058,50 @@ "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "8.0.2", + "version": "8.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^11.0.1", - "npm-registry-fetch": "^16.0.0" + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "6.0.6", + "version": "6.1.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/disparity-colors": "^3.0.0", - "@npmcli/installed-package-contents": "^2.0.2", - "binary-extensions": "^2.2.0", + "@npmcli/arborist": "^7.5.4", + "@npmcli/installed-package-contents": "^2.1.0", + "binary-extensions": "^2.3.0", "diff": "^5.1.0", - "minimatch": "^9.0.0", - "npm-package-arg": "^11.0.1", - "pacote": "^17.0.4", - "tar": "^6.2.0" + "minimatch": "^9.0.4", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6", + "tar": "^6.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "7.0.7", + "version": "8.1.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^7.0.2", + "@npmcli/arborist": "^7.5.4", + "@npmcli/run-script": "^8.1.0", "ci-info": "^4.0.0", - "npm-package-arg": "^11.0.1", - "npmlog": "^7.0.1", - "pacote": "^17.0.4", - "proc-log": "^3.0.0", - "read": "^2.0.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6", + "proc-log": "^4.2.0", + "read": "^3.0.1", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", "walk-up-path": "^3.0.1" @@ -8794,112 +9111,112 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "5.0.4", + "version": "5.0.12", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1" + "@npmcli/arborist": "^7.5.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "10.0.1", + "version": "10.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "6.0.2", + "version": "6.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "6.0.6", + "version": "7.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^7.0.2", - "npm-package-arg": "^11.0.1", - "pacote": "^17.0.4" + "@npmcli/arborist": "^7.5.4", + "@npmcli/run-script": "^8.1.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.6" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "9.0.4", + "version": "9.0.9", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "ci-info": "^4.0.0", - "normalize-package-data": "^6.0.0", - "npm-package-arg": "^11.0.1", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "normalize-package-data": "^6.0.1", + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1", + "proc-log": "^4.2.0", "semver": "^7.3.7", "sigstore": "^2.2.0", - "ssri": "^10.0.5" + "ssri": "^10.0.6" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "7.0.1", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "6.0.1", + "version": "6.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "5.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^5.0.3", - "@npmcli/run-script": "^7.0.2", - "json-parse-even-better-errors": "^3.0.0", - "proc-log": "^3.0.0", + "@npmcli/git": "^5.0.7", + "@npmcli/run-script": "^8.1.0", + "json-parse-even-better-errors": "^3.0.2", + "proc-log": "^4.2.0", "semver": "^7.3.7" }, "engines": { @@ -8907,7 +9224,7 @@ } }, "node_modules/npm/node_modules/lru-cache": { - "version": "10.1.0", + "version": "10.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -8916,7 +9233,7 @@ } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "13.0.0", + "version": "13.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -8930,6 +9247,7 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", + "proc-log": "^4.2.0", "promise-retry": "^2.0.1", "ssri": "^10.0.0" }, @@ -8938,7 +9256,7 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "9.0.3", + "version": "9.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -8953,7 +9271,7 @@ } }, "node_modules/npm/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.2", "dev": true, "inBundle": true, "license": "ISC", @@ -8974,7 +9292,7 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "3.0.4", + "version": "3.0.5", "dev": true, "inBundle": true, "license": "MIT", @@ -9014,28 +9332,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/minipass-json-stream": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", "dev": true, @@ -9146,7 +9442,7 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "10.0.1", + "version": "10.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -9169,8 +9465,17 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/node-gyp/node_modules/proc-log": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/nopt": { - "version": "7.2.0", + "version": "7.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -9185,13 +9490,12 @@ } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "6.0.0", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, @@ -9209,7 +9513,7 @@ } }, "node_modules/npm/node_modules/npm-bundled": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -9242,13 +9546,13 @@ } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "11.0.1", + "version": "11.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" }, @@ -9269,7 +9573,7 @@ } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "9.0.0", + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -9284,38 +9588,39 @@ } }, "node_modules/npm/node_modules/npm-profile": { - "version": "9.0.0", + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0" + "npm-registry-fetch": "^17.0.1", + "proc-log": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "16.1.0", + "version": "17.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^11.0.0", - "proc-log": "^3.0.0" + "proc-log": "^4.0.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-user-validate": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -9323,21 +9628,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npmlog": { - "version": "7.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^4.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^5.0.0", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", "dev": true, @@ -9353,33 +9643,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0" + }, "node_modules/npm/node_modules/pacote": { - "version": "17.0.6", + "version": "18.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^5.0.0", "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^7.0.0", + "@npmcli/run-script": "^8.0.0", "cacache": "^18.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^11.0.0", "npm-packlist": "^8.0.0", "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^7.0.0", - "read-package-json-fast": "^3.0.0", "sigstore": "^2.2.0", "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { - "pacote": "lib/bin.js" + "pacote": "bin/index.js" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -9409,23 +9704,23 @@ } }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.10.1", + "version": "1.11.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.15", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -9438,7 +9733,16 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "3.0.0", + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -9484,12 +9788,12 @@ } }, "node_modules/npm/node_modules/promzard": { - "version": "1.0.0", + "version": "1.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "read": "^2.0.0" + "read": "^3.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -9504,12 +9808,12 @@ } }, "node_modules/npm/node_modules/read": { - "version": "2.1.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "mute-stream": "~1.0.0" + "mute-stream": "^1.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -9524,21 +9828,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/read-package-json": { - "version": "7.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "3.0.2", "dev": true, @@ -9569,13 +9858,10 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.5.4", + "version": "7.6.2", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -9583,24 +9869,6 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -9635,17 +9903,17 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "2.2.0", + "version": "2.3.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", - "@sigstore/sign": "^2.2.1", - "@sigstore/tuf": "^2.3.0", - "@sigstore/verify": "^0.1.0" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^2.3.2", + "@sigstore/tuf": "^2.3.4", + "@sigstore/verify": "^1.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -9662,28 +9930,28 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.7.1", + "version": "2.8.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.2", + "version": "8.0.4", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" @@ -9699,14 +9967,24 @@ "spdx-license-ids": "^3.0.0" } }, + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/spdx-exceptions": { - "version": "2.3.0", + "version": "2.5.0", "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", @@ -9716,13 +9994,19 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.16", + "version": "3.0.18", "dev": true, "inBundle": true, "license": "CC0-1.0" }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, "node_modules/npm/node_modules/ssri": { - "version": "10.0.5", + "version": "10.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -9800,7 +10084,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "6.2.0", + "version": "6.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -9871,14 +10155,14 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "2.2.0", + "version": "2.2.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/models": "2.0.0", + "@tufjs/models": "2.0.1", "debug": "^4.3.4", - "make-fetch-happen": "^13.0.0" + "make-fetch-happen": "^13.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -9924,14 +10208,21 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -9942,15 +10233,6 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/npm/node_modules/which": { "version": "4.0.0", "dev": true, @@ -9975,15 +10257,6 @@ "node": ">=16" } }, - "node_modules/npm/node_modules/wide-align": { - "version": "1.1.5", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/npm/node_modules/wrap-ansi": { "version": "8.1.0", "dev": true, @@ -10307,6 +10580,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", @@ -10522,6 +10807,21 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/pretty-ms": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", + "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "dev": true, + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -10548,10 +10848,11 @@ "dev": true }, "node_modules/protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz", + "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==", "hasInstallScript": true, + "peer": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -10563,13 +10864,11 @@ "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", "@types/node": ">=13.7.0", - "long": "^4.0.0" + "long": "^5.0.0" }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" + "engines": { + "node": ">=12.0.0" } }, "node_modules/proxy-from-env": { @@ -10577,10 +10876,10 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, - "node_modules/punycode": { + "node_modules/punycode.js": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, "engines": { "node": ">=6" @@ -10684,6 +10983,115 @@ "p-defer": "^3.0.0" } }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "dev": true, + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/read-package-up/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/read-package-up/node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/read-package-up/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-package-up/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/read-package-up/node_modules/type-fest": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.23.0.tgz", + "integrity": "sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -10854,18 +11262,6 @@ "node": ">=8" } }, - "node_modules/resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "dev": true, - "dependencies": { - "global-dirs": "^0.1.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve.exports": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", @@ -10951,23 +11347,23 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semantic-release": { - "version": "23.0.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.2.tgz", - "integrity": "sha512-OnVYJ6Xgzwe1x8MKswba7RU9+5djS1MWRTrTn5qsq3xZYpslroZkV9Pt0dA2YcIuieeuSZWJhn+yUWoBUHO5Fw==", + "version": "24.0.0", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.0.0.tgz", + "integrity": "sha512-v46CRPw+9eI3ZuYGF2oAjqPqsfbnfFTwLBgQsv/lch4goD09ytwOTESMN4QIrx/wPLxUGey60/NMx+ANQtWRsA==", "dev": true, "dependencies": { - "@semantic-release/commit-analyzer": "^11.0.0", + "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^9.0.0", - "@semantic-release/npm": "^11.0.0", - "@semantic-release/release-notes-generator": "^12.0.0", + "@semantic-release/github": "^10.0.0", + "@semantic-release/npm": "^12.0.0", + "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", "debug": "^4.0.0", "env-ci": "^11.0.0", - "execa": "^8.0.0", + "execa": "^9.0.0", "figures": "^6.0.0", - "find-versions": "^5.1.0", + "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", @@ -10979,7 +11375,7 @@ "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", - "read-pkg-up": "^11.0.0", + "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", "semver-diff": "^4.0.0", @@ -11002,15 +11398,11 @@ "node": ">=18" } }, - "node_modules/semantic-release/node_modules/aggregate-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", - "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, - "dependencies": { - "clean-stack": "^5.2.0", - "indent-string": "^5.0.0" - }, "engines": { "node": ">=18" }, @@ -11018,51 +11410,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/semantic-release/node_modules/clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "node_modules/semantic-release/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "dependencies": { - "escape-string-regexp": "5.0.0" + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "node_modules/semantic-release/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" + "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=14" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/escape-string-regexp": { @@ -11078,44 +11454,51 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.3.0.tgz", + "integrity": "sha512-l6JFbqnHEadBoVAVpN5dl2yCyfX28WoBAGaoQcNmLLSedOxTxcn2Qa83s8I/PA5i56vWru2OHOtrwF7Om2vqlg==", "dev": true, "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^7.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^5.2.0", + "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "engines": { - "node": ">=16.17" + "node": "^18.19.0 || >=20.5.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "dependencies": { "lru-cache": "^10.0.1" @@ -11125,12 +11508,12 @@ } }, "node_modules/semantic-release/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-7.0.0.tgz", + "integrity": "sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==", "dev": true, "engines": { - "node": ">=16.17.0" + "node": ">=18.18.0" } }, "node_modules/semantic-release/node_modules/indent-string": { @@ -11145,38 +11528,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "node_modules/semantic-release/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/semantic-release/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, - "dependencies": { - "argparse": "^2.0.1" + "engines": { + "node": ">=18" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/semantic-release/node_modules/marked": { "version": "12.0.0", @@ -11190,33 +11570,6 @@ "node": ">= 18" } }, - "node_modules/semantic-release/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/semantic-release/node_modules/npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", @@ -11232,21 +11585,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semantic-release/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", @@ -11259,68 +11597,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/read-pkg-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz", - "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==", - "deprecated": "Renamed to read-package-up", - "dev": true, - "dependencies": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/read-pkg/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semantic-release/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -11328,18 +11609,6 @@ "node": ">=10" } }, - "node_modules/semantic-release/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semantic-release/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -11353,35 +11622,17 @@ } }, "node_modules/semantic-release/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/type-fest": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.3.tgz", - "integrity": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -11473,15 +11724,13 @@ } }, "node_modules/shiki": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", - "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.12.0.tgz", + "integrity": "sha512-BuAxWOm5JhRcbSOl7XCei8wGjgJJonnV0oipUupPY58iULxUGyHhW5CF+9FRMuM1pcJ5cGEJGll1LusX6FwpPA==", "dev": true, "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" + "@shikijs/core": "1.12.0", + "@types/hast": "^3.0.4" } }, "node_modules/signal-exit": { @@ -11843,6 +12092,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/super-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", + "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", + "dev": true, + "dependencies": { + "function-timeout": "^1.0.1", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11988,13 +12253,19 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", "dev": true, "dependencies": { - "readable-stream": "3" + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/timeout-abort-controller": { @@ -12059,12 +12330,13 @@ } }, "node_modules/ts-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", - "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", + "version": "29.2.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.3.tgz", + "integrity": "sha512-yCcfVdiBFngVz9/keHin9EnsrQtQtEu3nRykNy9RVp+FiPFFbPJ3Sg6Qg4+TkmH0vMP5qsTKgXSsk80HRwvdgQ==", "dev": true, "dependencies": { "bs-logger": "0.x", + "ejs": "^3.1.10", "fast-json-stable-stringify": "2.x", "jest-util": "^29.0.0", "json5": "^2.2.3", @@ -12077,10 +12349,11 @@ "ts-jest": "cli.js" }, "engines": { - "node": "^16.10.0 || ^18.0.0 || >=20.0.0" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" }, "peerDependencies": { "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", "@jest/types": "^29.0.0", "babel-jest": "^29.0.0", "jest": "^29.0.0", @@ -12090,6 +12363,9 @@ "@babel/core": { "optional": true }, + "@jest/transform": { + "optional": true + }, "@jest/types": { "optional": true }, @@ -12294,24 +12570,25 @@ } }, "node_modules/typedoc": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.7.tgz", - "integrity": "sha512-m6A6JjQRg39p2ZVRIN3NKXgrN8vzlHhOS+r9ymUYtcUP/TIQPvWSq7YgE5ZjASfv5Vd5BW5xrir6Gm2XNNcOow==", + "version": "0.26.5", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.5.tgz", + "integrity": "sha512-Vn9YKdjKtDZqSk+by7beZ+xzkkr8T8CYoiasqyt4TTRFy5+UHzL/mF/o4wGBjRF+rlWQHDb0t6xCpA3JNL5phg==", "dev": true, "dependencies": { "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.3", - "shiki": "^0.14.7" + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "shiki": "^1.9.1", + "yaml": "^2.4.5" }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 16" + "node": ">= 18" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { @@ -12324,9 +12601,9 @@ } }, "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -12339,9 +12616,9 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -12351,10 +12628,16 @@ "node": ">=14.17" } }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true + }, "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.1.tgz", + "integrity": "sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==", "dev": true, "optional": true, "bin": { @@ -12409,9 +12692,9 @@ } }, "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", "dev": true }, "node_modules/universalify": { @@ -12453,15 +12736,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/url-join": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", @@ -12522,18 +12796,6 @@ "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, - "node_modules/vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true - }, - "node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -12676,6 +12938,18 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -12722,6 +12996,18 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index d72cdb4..2217f53 100644 --- a/package.json +++ b/package.json @@ -17,28 +17,28 @@ "author": "Itheum Protocol", "license": "GPL-3.0-only", "dependencies": { - "@multiversx/sdk-core": "12.18.0", - "@multiversx/sdk-network-providers": "2.2.1", + "@multiversx/sdk-core": "13.2.2", + "@multiversx/sdk-network-providers": "2.4.3", "bignumber.js": "9.1.2", - "nft.storage": "7.1.1" + "nft.storage": "7.2.0" }, "devDependencies": { - "@commitlint/config-conventional": "18.4.4", + "@commitlint/config-conventional": "19.2.2", "@semantic-release/changelog": "6.0.3", - "@semantic-release/commit-analyzer": "11.1.0", + "@semantic-release/commit-analyzer": "13.0.0", "@semantic-release/git": "10.0.1", - "@semantic-release/github": "9.2.6", - "@semantic-release/npm": "11.0.2", - "@semantic-release/release-notes-generator": "12.1.0", - "@types/jest": "29.5.11", - "commitlint": "18.4.4", - "husky": "9.0.11", + "@semantic-release/github": "10.1.3", + "@semantic-release/npm": "12.0.1", + "@semantic-release/release-notes-generator": "14.0.1", + "@types/jest": "29.5.12", + "commitlint": "19.3.0", + "husky": "9.1.4", "jest": "29.7.0", - "semantic-release": "23.0.2", - "ts-jest": "29.1.2", + "semantic-release": "24.0.0", + "ts-jest": "29.2.3", "tslint": "6.1.3", - "typedoc": "0.25.7", - "typescript": "5.3.3" + "typedoc": "0.26.5", + "typescript": "5.5.4" }, "repository": { "type": "git", From 13ebf132023761fbc47acb79cbf41d3298f79e69 Mon Sep 17 00:00:00 2001 From: Bucur David Date: Tue, 30 Jul 2024 15:36:49 +0300 Subject: [PATCH 11/20] chore: alpha version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2217f53..1cb31b1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.3", + "version": "3.6.0-alpha.4", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", From f5769a47cc2c4df9d8719e0364579beecf9fd36c Mon Sep 17 00:00:00 2001 From: Bucur David Date: Wed, 31 Jul 2024 10:28:26 +0300 Subject: [PATCH 12/20] feat: userDataOut view --- src/abis/core-mx-liveliness-stake.abi.json | 976 +++++++++++---------- src/common/utils.ts | 16 +- src/interfaces.ts | 9 + src/liveliness-stake.ts | 47 +- 4 files changed, 594 insertions(+), 454 deletions(-) diff --git a/src/abis/core-mx-liveliness-stake.abi.json b/src/abis/core-mx-liveliness-stake.abi.json index 01c53a8..8ad05f0 100644 --- a/src/abis/core-mx-liveliness-stake.abi.json +++ b/src/abis/core-mx-liveliness-stake.abi.json @@ -1,511 +1,587 @@ { - "buildInfo": { - "rustc": { - "version": "1.78.0", - "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", - "commitDate": "2024-04-29", - "channel": "Stable", - "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" - }, - "contractCrate": { - "name": "core-mx-liveliness-stake", - "version": "0.0.0" - }, - "framework": { - "name": "multiversx-sc", - "version": "0.51.1" - } - }, - "name": "CoreMxLivelinessStake", - "constructor": { - "inputs": [], - "outputs": [] - }, - "upgradeConstructor": { - "inputs": [], - "outputs": [] - }, - "endpoints": [ - { - "name": "claimRewards", - "mutability": "mutable", - "inputs": [ - { - "name": "address", - "type": "optional
", - "multi_arg": true - } - ], - "outputs": [] - }, - { - "name": "stakeRewards", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - } - ], - "outputs": [] - }, - { - "name": "setContractStateActive", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "setContractStateInactive", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "setMaxApr", - "mutability": "mutable", - "inputs": [ - { - "name": "max_apr", - "type": "BigUint" - } - ], - "outputs": [] - }, - { - "name": "setRewardsTokenIdentifier", - "mutability": "mutable", - "inputs": [ - { - "name": "token_identifier", - "type": "TokenIdentifier" - } - ], - "outputs": [] - }, - { - "name": "setPerBlockRewardAmount", - "mutability": "mutable", - "inputs": [ - { - "name": "per_block_amount", - "type": "BigUint" - } - ], - "outputs": [] - }, - { - "name": "topUpRewards", - "mutability": "mutable", - "payableInTokens": ["*"], - "inputs": [], - "outputs": [] - }, - { - "name": "withdrawRewards", - "mutability": "mutable", - "inputs": [ - { - "name": "amount", - "type": "BigUint" - } - ], - "outputs": [] - }, - { - "name": "startProduceRewards", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "endProduceRewards", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "setBondContractAddress", - "mutability": "mutable", - "inputs": [ - { - "name": "bond_contract_address", - "type": "Address" - } - ], - "outputs": [] - }, - { - "name": "setAdministrator", - "onlyOwner": true, - "mutability": "mutable", - "inputs": [ - { - "name": "administrator", - "type": "Address" - } - ], - "outputs": [] - }, - { - "name": "getContractState", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "State" - } - ] - }, - { - "name": "rewardsState", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "State" - } - ] - }, - { - "name": "getAdministrator", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "bondContractAddress", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "Address" - } - ] - }, - { - "name": "generateAggregatedRewards", - "mutability": "mutable", - "inputs": [], - "outputs": [] - }, - { - "name": "rewardsReserve", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] - }, - { - "name": "accumulatedRewards", - "mutability": "readonly", - "inputs": [], - "outputs": [ - { - "type": "BigUint" - } - ] - }, - { - "name": "rewardsTokenIdentifier", - "mutability": "readonly", - "inputs": [], - "outputs": [ + "buildInfo": { + "rustc": { + "version": "1.78.0", + "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", + "commitDate": "2024-04-29", + "channel": "Stable", + "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" + }, + "contractCrate": { + "name": "core-mx-liveliness-stake", + "version": "0.0.0" + }, + "framework": { + "name": "multiversx-sc", + "version": "0.51.1" + } + }, + "name": "CoreMxLivelinessStake", + "constructor": { + "inputs": [], + "outputs": [] + }, + "upgradeConstructor": { + "inputs": [], + "outputs": [] + }, + "endpoints": [ + { + "name": "claimRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "address", + "type": "optional
", + "multi_arg": true + } + ], + "outputs": [] + }, { - "type": "TokenIdentifier" - } - ] - }, - { - "name": "rewardsPerBlock", - "mutability": "readonly", - "inputs": [], - "outputs": [ + "name": "setAddressRewardsPerShare", + "mutability": "mutable", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [] + }, { - "type": "BigUint" - } - ] - }, - { - "name": "lastRewardBlockNonce", - "mutability": "readonly", - "inputs": [], - "outputs": [ + "name": "stakeRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [] + }, { - "type": "u64" - } - ] - }, - { - "name": "rewardsPerShare", - "mutability": "readonly", - "inputs": [], - "outputs": [ + "name": "setContractStateActive", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, { - "type": "BigUint" - } - ] - }, - { - "name": "addressLastRewardPerShare", - "mutability": "readonly", - "inputs": [ + "name": "setContractStateInactive", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, { - "name": "address", - "type": "Address" - } - ], - "outputs": [ + "name": "setMaxApr", + "mutability": "mutable", + "inputs": [ + { + "name": "max_apr", + "type": "BigUint" + } + ], + "outputs": [] + }, { - "type": "BigUint" - } - ] - }, - { - "name": "maxApr", - "mutability": "readonly", - "inputs": [], - "outputs": [ + "name": "setRewardsTokenIdentifier", + "mutability": "mutable", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [] + }, { - "type": "BigUint" - } - ] - }, - { - "name": "claimableRewards", - "mutability": "readonly", - "inputs": [ + "name": "setPerBlockRewardAmount", + "mutability": "mutable", + "inputs": [ + { + "name": "per_block_amount", + "type": "BigUint" + } + ], + "outputs": [] + }, { - "name": "caller", - "type": "Address" + "name": "topUpRewards", + "mutability": "mutable", + "payableInTokens": [ + "*" + ], + "inputs": [], + "outputs": [] }, { - "name": "opt_bypass_liveliness", - "type": "Option" - } - ], - "outputs": [ + "name": "withdrawRewards", + "mutability": "mutable", + "inputs": [ + { + "name": "amount", + "type": "BigUint" + } + ], + "outputs": [] + }, { - "type": "BigUint" - } - ] - }, - { - "name": "contractDetails", - "mutability": "readonly", - "inputs": [], - "outputs": [ + "name": "startProduceRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, { - "type": "ContractDetails" - } - ] - } - ], - "events": [ - { - "identifier": "set_administrator_event", - "inputs": [ - { - "name": "administrator", - "type": "Address", - "indexed": true - } - ] - }, - { - "identifier": "contract_state_event", - "inputs": [ + "name": "endProduceRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, { - "name": "state", - "type": "State", - "indexed": true - } - ] - }, - { - "identifier": "max_apr", - "inputs": [ + "name": "setBondContractAddress", + "mutability": "mutable", + "inputs": [ + { + "name": "bond_contract_address", + "type": "Address" + } + ], + "outputs": [] + }, { - "name": "max_apr", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "rewards_token_identifier", - "inputs": [ + "name": "setAdministrator", + "onlyOwner": true, + "mutability": "mutable", + "inputs": [ + { + "name": "administrator", + "type": "Address" + } + ], + "outputs": [] + }, { - "name": "token_identifier", - "type": "TokenIdentifier", - "indexed": true - } - ] - }, - { - "identifier": "per_block_reward_amount", - "inputs": [ + "name": "getContractState", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "State" + } + ] + }, { - "name": "per_block_amount", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "top_up_rewards_event", - "inputs": [ + "name": "rewardsState", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "State" + } + ] + }, { - "name": "amount", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "withdraw_rewards_event", - "inputs": [ + "name": "getAdministrator", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, { - "name": "amount", - "type": "BigUint", - "indexed": true - } - ] - }, - { - "identifier": "rewards_state_event", - "inputs": [ + "name": "bondContractAddress", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "Address" + } + ] + }, { - "name": "state", - "type": "State", - "indexed": true - } - ] - }, - { - "identifier": "bond_contract_address", - "inputs": [ + "name": "generateAggregatedRewards", + "mutability": "mutable", + "inputs": [], + "outputs": [] + }, { - "name": "bond_contract_address", - "type": "Address", - "indexed": true - } - ] - }, - { - "identifier": "claim_rewards", - "inputs": [ + "name": "rewardsReserve", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] + }, { - "name": "caller", - "type": "Address", - "indexed": true + "name": "accumulatedRewards", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] }, { - "name": "rewards_amount", - "type": "BigUint", - "indexed": true + "name": "rewardsTokenIdentifier", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "TokenIdentifier" + } + ] }, { - "name": "timestamp", - "type": "u64", - "indexed": true + "name": "rewardsPerBlock", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] }, { - "name": "block_nonce", - "type": "u64", - "indexed": true + "name": "lastRewardBlockNonce", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "u64" + } + ] }, { - "name": "rewards_reserve", - "type": "BigUint", - "indexed": true + "name": "rewardsPerShare", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] }, { - "name": "accumulated_rewards", - "type": "BigUint", - "indexed": true + "name": "addressLastRewardPerShare", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] }, { - "name": "current_rewards_per_share", - "type": "BigUint", - "indexed": true + "name": "maxApr", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "BigUint" + } + ] }, { - "name": "user_last_rewards_per_share", - "type": "BigUint", - "indexed": true + "name": "claimableRewards", + "mutability": "readonly", + "inputs": [ + { + "name": "caller", + "type": "Address" + }, + { + "name": "opt_bypass_liveliness", + "type": "Option" + } + ], + "outputs": [ + { + "type": "BigUint" + } + ] }, { - "name": "rewards_per_block", - "type": "BigUint", - "indexed": true - } - ] - } - ], - "esdtAttributes": [], - "hasCallback": false, - "types": { - "ContractDetails": { - "type": "struct", - "fields": [ + "name": "contractDetails", + "mutability": "readonly", + "inputs": [], + "outputs": [ + { + "type": "ContractDetails" + } + ] + }, { - "name": "rewards_reserve", - "type": "BigUint" + "name": "userDataOut", + "mutability": "readonly", + "inputs": [ + { + "name": "address", + "type": "Address" + }, + { + "name": "token_identifier", + "type": "TokenIdentifier" + } + ], + "outputs": [ + { + "type": "tuple" + } + ] + } + ], + "events": [ + { + "identifier": "set_administrator_event", + "inputs": [ + { + "name": "administrator", + "type": "Address", + "indexed": true + } + ] }, { - "name": "accumulated_rewards", - "type": "BigUint" + "identifier": "contract_state_event", + "inputs": [ + { + "name": "state", + "type": "State", + "indexed": true + } + ] }, { - "name": "rewards_token_identifier", - "type": "TokenIdentifier" + "identifier": "max_apr", + "inputs": [ + { + "name": "max_apr", + "type": "BigUint", + "indexed": true + } + ] }, { - "name": "rewards_per_block", - "type": "BigUint" + "identifier": "rewards_token_identifier", + "inputs": [ + { + "name": "token_identifier", + "type": "TokenIdentifier", + "indexed": true + } + ] }, { - "name": "rewards_per_share", - "type": "BigUint" + "identifier": "per_block_reward_amount", + "inputs": [ + { + "name": "per_block_amount", + "type": "BigUint", + "indexed": true + } + ] }, { - "name": "administrator", - "type": "Address" + "identifier": "top_up_rewards_event", + "inputs": [ + { + "name": "amount", + "type": "BigUint", + "indexed": true + } + ] }, { - "name": "bond_contract_address", - "type": "Address" + "identifier": "withdraw_rewards_event", + "inputs": [ + { + "name": "amount", + "type": "BigUint", + "indexed": true + } + ] }, { - "name": "last_reward_block_nonce", - "type": "u64" + "identifier": "rewards_state_event", + "inputs": [ + { + "name": "state", + "type": "State", + "indexed": true + } + ] }, { - "name": "max_apr", - "type": "BigUint" - } - ] - }, - "State": { - "type": "enum", - "variants": [ + "identifier": "bond_contract_address", + "inputs": [ + { + "name": "bond_contract_address", + "type": "Address", + "indexed": true + } + ] + }, { - "name": "Inactive", - "discriminant": 0 + "identifier": "claim_rewards", + "inputs": [ + { + "name": "caller", + "type": "Address", + "indexed": true + }, + { + "name": "rewards_amount", + "type": "BigUint", + "indexed": true + }, + { + "name": "timestamp", + "type": "u64", + "indexed": true + }, + { + "name": "block_nonce", + "type": "u64", + "indexed": true + }, + { + "name": "rewards_reserve", + "type": "BigUint", + "indexed": true + }, + { + "name": "accumulated_rewards", + "type": "BigUint", + "indexed": true + }, + { + "name": "current_rewards_per_share", + "type": "BigUint", + "indexed": true + }, + { + "name": "user_last_rewards_per_share", + "type": "BigUint", + "indexed": true + }, + { + "name": "rewards_per_block", + "type": "BigUint", + "indexed": true + } + ] }, { - "name": "Active", - "discriminant": 1 + "identifier": "address_rewards_per_share_event", + "inputs": [ + { + "name": "address", + "type": "Address", + "indexed": true + }, + { + "name": "rewards_per_share", + "type": "BigUint", + "indexed": true + } + ] + } + ], + "esdtAttributes": [], + "hasCallback": false, + "types": { + "ContractDetails": { + "type": "struct", + "fields": [ + { + "name": "rewards_reserve", + "type": "BigUint" + }, + { + "name": "accumulated_rewards", + "type": "BigUint" + }, + { + "name": "rewards_token_identifier", + "type": "TokenIdentifier" + }, + { + "name": "rewards_per_block", + "type": "BigUint" + }, + { + "name": "rewards_per_share", + "type": "BigUint" + }, + { + "name": "administrator", + "type": "Address" + }, + { + "name": "bond_contract_address", + "type": "Address" + }, + { + "name": "last_reward_block_nonce", + "type": "u64" + }, + { + "name": "max_apr", + "type": "BigUint" + } + ] + }, + "State": { + "type": "enum", + "variants": [ + { + "name": "Inactive", + "discriminant": 0 + }, + { + "name": "Active", + "discriminant": 1 + } + ] + }, + "UserData": { + "type": "struct", + "fields": [ + { + "name": "total_staked_amount", + "type": "BigUint" + }, + { + "name": "user_staked_amount", + "type": "BigUint" + }, + { + "name": "liveliness_score", + "type": "BigUint" + }, + { + "name": "accumulated_rewards", + "type": "BigUint" + }, + { + "name": "accumulated_rewards_bypass", + "type": "BigUint" + }, + { + "name": "vault_nonce", + "type": "u64" + } + ] } - ] } - } } diff --git a/src/common/utils.ts b/src/common/utils.ts index 89b0471..f2cd450 100644 --- a/src/common/utils.ts +++ b/src/common/utils.ts @@ -17,7 +17,8 @@ import { NftType, Offer, Refund, - State + State, + UserData } from '../interfaces'; import { EnvironmentsEnum, dataMarshalUrlOverride } from '../config'; @@ -137,12 +138,23 @@ export function parseLivelinessStakeConfiguration( accumulatedRewards: BigNumber(value.accumulated_rewards), rewardsTokenIdentifier: value.rewards_token_identifier.toString(), lastRewardBlockNonce: value.last_reward_block_nonce.toNumber(), - maxApr: BigNumber(value.max_apr).div(10000).toNumber(), + maxApr: BigNumber(value.max_apr).div(100).toNumber(), administrator: value.administrator.toString(), bondContractAddress: value.bond_contract_address.toString() }; } +export function parseUserData(value: any): UserData { + return { + totalStakedAmount: BigNumber(value.total_staked_amount), + userStakedAmount: BigNumber(value.user_staked_amount), + livelinessScore: BigNumber(value.liveliness_score).div(100).toNumber(), + accumulatedRewards: BigNumber(value.accumulated_rewards), + accumulatedRewardsBypass: BigNumber(value.accumulated_rewards_bypass), + vaultNonce: value.vault_nonce.toNumber() + }; +} + export function parseCompensation(value: any): Compensation { return { compensationId: value.compensation_id.toNumber(), diff --git a/src/interfaces.ts b/src/interfaces.ts index 6772ad9..7d41348 100644 --- a/src/interfaces.ts +++ b/src/interfaces.ts @@ -225,3 +225,12 @@ export interface ContractConfiguration { administratorAddress: string; taxToken: string; } + +export interface UserData { + totalStakedAmount: BigNumber.Value; + userStakedAmount: BigNumber.Value; + livelinessScore: number; + accumulatedRewards: BigNumber.Value; + accumulatedRewardsBypass: BigNumber.Value; + vaultNonce: number; +} diff --git a/src/liveliness-stake.ts b/src/liveliness-stake.ts index 980bbdd..395c464 100644 --- a/src/liveliness-stake.ts +++ b/src/liveliness-stake.ts @@ -18,9 +18,17 @@ import { } from './config'; import { Contract } from './contract'; import livelinessStakeAbi from './abis/core-mx-liveliness-stake.abi.json'; -import { LivelinessStakeConfiguration, State } from './interfaces'; +import { + ContractConfiguration, + LivelinessStakeConfiguration, + State, + UserData +} from './interfaces'; import { ErrContractQuery } from './errors'; -import { parseLivelinessStakeConfiguration } from './common/utils'; +import { + parseLivelinessStakeConfiguration, + parseUserData +} from './common/utils'; import BigNumber from 'bignumber.js'; import { Token } from 'nft.storage'; @@ -87,6 +95,41 @@ export class LivelinessStake extends Contract { } } + /** + * Returns the `user data out` for a given address + * @param address address to check user data out + * @param tokenIdentifier the token identifier of the Data Nft [default is the Data Nft token identifier based on {@link EnvironmentsEnum}] + */ + async getUserDataOut( + address: IAddress, + tokenIdentifier = dataNftTokenIdentifier[this.env as EnvironmentsEnum] + ): Promise<{ + contractDetails: LivelinessStakeConfiguration; + userData: UserData; + }> { + const interaction = this.contract.methodsExplicit.userDataOut([ + new AddressValue(address), + new TokenIdentifierValue(tokenIdentifier) + ]); + const query = interaction.buildQuery(); + const queryResponse = await this.networkProvider.queryContract(query); + const endpointDefinition = interaction.getEndpoint(); + const { firstValue, returnCode } = new ResultsParser().parseQueryResponse( + queryResponse, + endpointDefinition + ); + if (returnCode.isSuccess()) { + const returnValue = firstValue?.valueOf(); + const livelinessConfiguration = parseLivelinessStakeConfiguration( + returnValue.field0.valueOf() + ); + const userData = parseUserData(returnValue.field1.valueOf()); + return { contractDetails: livelinessConfiguration, userData }; + } else { + throw new ErrContractQuery('getUserDataOut', returnCode.toString()); + } + } + /** * Returns rewards state as a `State` enum */ From 45e32c0a9e4b42760f068a5c1979ad311f49951c Mon Sep 17 00:00:00 2001 From: Bucur David Date: Wed, 31 Jul 2024 10:30:09 +0300 Subject: [PATCH 13/20] chore: alpha version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1cb31b1..e6059f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.4", + "version": "3.6.0-alpha.5", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", From c1232981b32c922964ec97a4a75de8795a193910 Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Fri, 16 Aug 2024 14:27:18 +1000 Subject: [PATCH 14/20] feature: updates to support nfme id vault launch and img selection --- package.json | 2 +- src/nft-minter.ts | 25 ++++++++++++++++++++++--- src/sft-minter.ts | 29 ++++++++++++++++++++++++++--- 3 files changed, 49 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index e6059f6..71bcdd1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.5", + "version": "3.6.0-alpha.6", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", diff --git a/src/nft-minter.ts b/src/nft-minter.ts index cd761ec..792902e 100644 --- a/src/nft-minter.ts +++ b/src/nft-minter.ts @@ -160,6 +160,8 @@ export class NftMinter extends Minter { * - antiSpamTokenIdentifier: the anti spam token identifier to be used for the minting * - antiSpamTax: the anti spam tax to be set for the Data NFT-FT with decimals. Needs to be greater than 0 and should be obtained in real time via {@link viewMinterRequirements} prior to calling mint. * - extraAssets [optional] extra URIs to attached to the NFT. Can be media files, documents, etc. These URIs are public + * - imgGenBg: [optional] the custom series bg to influence the image generation service + * - imgGenSet: [optional] the custom series layer set to influence the image generation service */ async mint( senderAddress: IAddress, @@ -177,6 +179,8 @@ export class NftMinter extends Minter { antiSpamTokenIdentifier?: string; antiSpamTax?: BigNumber.Value; extraAssets?: string[]; + imgGenBg?: string; + imgGenSet?: string; } ): Promise { const { @@ -185,7 +189,9 @@ export class NftMinter extends Minter { nftStorageToken, antiSpamTokenIdentifier, antiSpamTax, - extraAssets + extraAssets, + imgGenBg, + imgGenSet } = options ?? {}; // deep validate all mandatory URLs @@ -213,8 +219,20 @@ export class NftMinter extends Minter { 'NFT Storage token is required when not using custom image and traits' ); } + + // create the img generative service API based on user options + let imgGenServiceApi = `${this.imageServiceUrl}/v1/generateNFTArt?hash=${dataNftHash}`; + + if (imgGenBg && imgGenBg.trim() !== '') { + imgGenServiceApi += `&bg=${imgGenBg.trim()}`; + } + + if (imgGenSet && imgGenSet.trim() !== '') { + imgGenServiceApi += `&set=${imgGenSet.trim()}`; + } + const { image, traits } = await createFileFromUrl( - `${this.imageServiceUrl}/v1/generateNFTArt?hash=${dataNftHash}`, + imgGenServiceApi, datasetTitle, datasetDescription, dataPreviewUrl, @@ -275,12 +293,13 @@ export class NftMinter extends Minter { for (const extraAsset of extraAssets ?? []) { data.addArg(new StringValue(extraAsset)); } + const mintTx = new Transaction({ value: antiSpamTokenIdentifier == 'EGLD' ? antiSpamTax : 0, data: data.build(), sender: senderAddress, receiver: this.contract.getAddress(), - gasLimit: 60000000, + gasLimit: 100_000_000, chainID: this.chainID }); diff --git a/src/sft-minter.ts b/src/sft-minter.ts index bf7e355..28d86b4 100644 --- a/src/sft-minter.ts +++ b/src/sft-minter.ts @@ -280,6 +280,8 @@ export class SftMinter extends Minter { * - nftStorageToken: the nft storage token to be used to upload the image and metadata to IPFS * - extraAssets: [optional] extra URIs to attached to the NFT. Can be media files, documents, etc. These URIs are public * - donationPercentage: [optional] the donation percentage to be set for the Data NFT-FT supply to be sent to the donation + * - imgGenBg: [optional] the custom series bg to influence the image generation service + * - imgGenSet: [optional] the custom series layer set to influence the image generation service * */ async mint( @@ -300,9 +302,18 @@ export class SftMinter extends Minter { traitsUrl?: string; nftStorageToken?: string; extraAssets?: string[]; + imgGenBg?: string; + imgGenSet?: string; } ): Promise<{ imageUrl: string; metadataUrl: string; tx: Transaction }> { - const { imageUrl, traitsUrl, nftStorageToken, extraAssets } = options ?? {}; + const { + imageUrl, + traitsUrl, + nftStorageToken, + extraAssets, + imgGenBg, + imgGenSet + } = options ?? {}; const tokenNameValidator = new StringValidator() .notEmpty() @@ -366,8 +377,20 @@ export class SftMinter extends Minter { 'NFT Storage token is required when not using custom image and traits' ); } + + // create the img generative service API based on user options + let imgGenServiceApi = `${this.imageServiceUrl}/v1/generateNFTArt?hash=${dataNftHash}`; + + if (imgGenBg && imgGenBg.trim() !== '') { + imgGenServiceApi += `&bg=${imgGenBg.trim()}`; + } + + if (imgGenSet && imgGenSet.trim() !== '') { + imgGenServiceApi += `&set=${imgGenSet.trim()}`; + } + const { image, traits } = await createFileFromUrl( - `${this.imageServiceUrl}/v1/generateNFTArt?hash=${dataNftHash}`, + imgGenServiceApi, datasetTitle, datasetDescription, dataPreviewUrl, @@ -430,7 +453,7 @@ export class SftMinter extends Minter { data: data.build(), sender: senderAddress, receiver: this.contract.getAddress(), - gasLimit: 80_000_000, + gasLimit: 100_000_000, chainID: this.chainID }); From ce454accada5b95bcec9b6ce5e21fa6950e5da13 Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Fri, 16 Aug 2024 15:04:43 +1000 Subject: [PATCH 15/20] fix: bump up the gas needed for minting --- package.json | 2 +- src/nft-minter.ts | 2 +- src/sft-minter.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 71bcdd1..0066bf8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.6", + "version": "3.6.0-alpha.7", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", diff --git a/src/nft-minter.ts b/src/nft-minter.ts index 792902e..14f2db8 100644 --- a/src/nft-minter.ts +++ b/src/nft-minter.ts @@ -299,7 +299,7 @@ export class NftMinter extends Minter { data: data.build(), sender: senderAddress, receiver: this.contract.getAddress(), - gasLimit: 100_000_000, + gasLimit: 130_000_000, chainID: this.chainID }); diff --git a/src/sft-minter.ts b/src/sft-minter.ts index 28d86b4..3d5d908 100644 --- a/src/sft-minter.ts +++ b/src/sft-minter.ts @@ -453,7 +453,7 @@ export class SftMinter extends Minter { data: data.build(), sender: senderAddress, receiver: this.contract.getAddress(), - gasLimit: 100_000_000, + gasLimit: 130_000_000, chainID: this.chainID }); From d759908894049eb03920f496b0a9cec4bda71915 Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Thu, 22 Aug 2024 13:36:44 +1000 Subject: [PATCH 16/20] feature: include the metadata file in the parseDataNft method --- package.json | 2 +- src/common/utils.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 0066bf8..e5a8092 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.7", + "version": "3.6.0-alpha.8", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", diff --git a/src/common/utils.ts b/src/common/utils.ts index f2cd450..e82a0b2 100644 --- a/src/common/utils.ts +++ b/src/common/utils.ts @@ -180,8 +180,17 @@ export function parseRefund(value: any): Refund { export function parseDataNft(value: NftType): DataNft { let attributes; + let metadataFile; + try { attributes = DataNft.decodeAttributes(value.attributes); // normal attributes + + // get the metadata file, assume for now its the 2nd item. (1 = img, 2 = json, 3.... extra assets) + metadataFile = value.uris?.[1]; + + if (metadataFile) { + metadataFile = Buffer.from(metadataFile, 'base64').toString('ascii'); + } } catch (error: any) { try { attributes = { @@ -198,6 +207,7 @@ export function parseDataNft(value: NftType): DataNft { throw new ErrParseNft(error.message); } } + const returnValue = { tokenIdentifier: value.identifier, nftImgUrl: value.url ?? '', @@ -218,8 +228,10 @@ export function parseDataNft(value: NftType): DataNft { ?.slice(2) .map((uri) => Buffer.from(uri, 'base64').toString('ascii')) ?? [], media: value.media, + metadataFile, ...attributes }; + return new DataNft(returnValue); } From 4a452ad36a8e8d488a06d7408b76a47a6ea77b7f Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Thu, 22 Aug 2024 13:47:30 +1000 Subject: [PATCH 17/20] chore: forgot to add the metadatafile attribute to type file --- package.json | 2 +- src/datanft.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index e5a8092..cc0d617 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.8", + "version": "3.6.0-alpha.9", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", diff --git a/src/datanft.ts b/src/datanft.ts index ffc94e4..49696c0 100644 --- a/src/datanft.ts +++ b/src/datanft.ts @@ -57,6 +57,7 @@ export class DataNft implements DataNftType { readonly overrideDataMarshalChainId: string = ''; readonly isDataNFTPH: boolean = false; readonly extraAssets: string[] = []; + readonly metadataFile: string = ''; readonly media: { url: string; From 707f6f90d64f059b938b6263a55c7d4f60ba7317 Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Mon, 26 Aug 2024 12:01:39 +1000 Subject: [PATCH 18/20] feature: 3.6.0 verison bump and ready to publish --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cc0d617..6854c4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0-alpha.9", + "version": "3.6.0", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", From 6ee060fe97401bf56e0d461ff0e403c1d12b358d Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Tue, 27 Aug 2024 15:18:30 +1000 Subject: [PATCH 19/20] feature: new liveliness stake devnet contract for beta testing --- package.json | 2 +- src/config.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6854c4c..6b773dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.0", + "version": "3.6.1-alpha.1", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", diff --git a/src/config.ts b/src/config.ts index b5ebc6c..715f8ef 100644 --- a/src/config.ts +++ b/src/config.ts @@ -58,7 +58,7 @@ export const bondContractAddress: { [key in EnvironmentsEnum]: string } = { export const livelinessStakeContractAddress: { [key in EnvironmentsEnum]: string; } = { - devnet: 'erd1qqqqqqqqqqqqqpgqydk7awqqukk9utkxtdtnuu4z53e0ahjm8ypszvjjh6', + devnet: 'erd1qqqqqqqqqqqqqpgq9j3dj650amzz8lyvek6uq0w0yvgtgggjfsxsf489hq', mainnet: '', testnet: '' }; From e373cbc2a973d04cb4e68cced554a6ccf3cd8cbe Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Tue, 27 Aug 2024 22:33:05 +1000 Subject: [PATCH 20/20] feature: new liveliness stake mainnet contract for beta testing --- package.json | 2 +- src/config.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6b773dc..08466bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@itheum/sdk-mx-data-nft", - "version": "3.6.1-alpha.1", + "version": "3.6.1", "description": "SDK for Itheum's Data NFT Technology on MultiversX Blockchain", "main": "out/index.js", "types": "out/index.d.js", diff --git a/src/config.ts b/src/config.ts index 715f8ef..d55a468 100644 --- a/src/config.ts +++ b/src/config.ts @@ -59,7 +59,7 @@ export const livelinessStakeContractAddress: { [key in EnvironmentsEnum]: string; } = { devnet: 'erd1qqqqqqqqqqqqqpgq9j3dj650amzz8lyvek6uq0w0yvgtgggjfsxsf489hq', - mainnet: '', + mainnet: 'erd1qqqqqqqqqqqqqpgq65rn8zmf2tckftpu5lvxg2pzlg0dhfrwc77qcuynw7', testnet: '' };