diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..7ef952d --- /dev/null +++ b/.prettierrc @@ -0,0 +1,13 @@ +{ + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": true, + "trailingComma": "es5", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "avoid", + "proseWrap": "always" + } + \ No newline at end of file diff --git a/api_reference/ccip/CCIPLocalSimulatorFork.mdx b/api_reference/ccip/CCIPLocalSimulatorFork.mdx deleted file mode 100644 index bb811ca..0000000 --- a/api_reference/ccip/CCIPLocalSimulatorFork.mdx +++ /dev/null @@ -1,164 +0,0 @@ -# Solidity API - -## IRouterFork - -### OffRamp - -```solidity -struct OffRamp { - uint64 sourceChainSelector; - address offRamp; -} -``` - -### getOffRamps - -```solidity -function getOffRamps() external view returns (struct IRouterFork.OffRamp[]) -``` - -Gets the list of offRamps - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | struct IRouterFork.OffRamp[] | offRamps - Array of OffRamp structs | - -## IEVM2EVMOffRampFork - -### executeSingleMessage - -```solidity -function executeSingleMessage(struct Internal.EVM2EVMMessage message, bytes[] offchainTokenData) external -``` - -Executes a single CCIP message on the offRamp - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| message | struct Internal.EVM2EVMMessage | - The CCIP message to be executed | -| offchainTokenData | bytes[] | - Additional offchain token data | - -## CCIPLocalSimulatorFork - -Works with Foundry only - -### CCIPSendRequested - -```solidity -event CCIPSendRequested(struct Internal.EVM2EVMMessage message) -``` - -Event emitted when a CCIP send request is made - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| message | struct Internal.EVM2EVMMessage | - The EVM2EVM message that was sent | - -### i_register - -```solidity -contract Register i_register -``` - -The immutable register instance - -### LINK_FAUCET - -```solidity -address LINK_FAUCET -``` - -The address of the LINK faucet - -### s_processedMessages - -```solidity -mapping(bytes32 => bool) s_processedMessages -``` - -Mapping to track processed messages - -### constructor - -```solidity -constructor() public -``` - -Constructor to initialize the contract - -### switchChainAndRouteMessage - -```solidity -function switchChainAndRouteMessage(uint256 forkId) external -``` - -To be called after the sending of the cross-chain message (`ccipSend`). Goes through the list of past logs and looks for the `CCIPSendRequested` event. Switches to a destination network fork. Routes the sent cross-chain message on the destination network. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| forkId | uint256 | - The ID of the destination network fork. This is the returned value of `createFork()` or `createSelectFork()` | - -### getNetworkDetails - -```solidity -function getNetworkDetails(uint256 chainId) external view returns (struct Register.NetworkDetails) -``` - -Returns the default values for currently CCIP supported networks. If network is not present or some of the values are changed, user can manually add new network details using the `setNetworkDetails` function. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| chainId | uint256 | - The blockchain network chain ID. For example 11155111 for Ethereum Sepolia. Not CCIP chain selector. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | struct Register.NetworkDetails | networkDetails - The tuple containing: chainSelector - The unique CCIP Chain Selector. routerAddress - The address of the CCIP Router contract. linkAddress - The address of the LINK token. wrappedNativeAddress - The address of the wrapped native token that can be used for CCIP fees. ccipBnMAddress - The address of the CCIP BnM token. ccipLnMAddress - The address of the CCIP LnM token. | - -### setNetworkDetails - -```solidity -function setNetworkDetails(uint256 chainId, struct Register.NetworkDetails networkDetails) external -``` - -If network details are not present or some of the values are changed, user can manually add new network details using the `setNetworkDetails` function. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| chainId | uint256 | - The blockchain network chain ID. For example 11155111 for Ethereum Sepolia. Not CCIP chain selector. | -| networkDetails | struct Register.NetworkDetails | - The tuple containing: chainSelector - The unique CCIP Chain Selector. routerAddress - The address of the CCIP Router contract. linkAddress - The address of the LINK token. wrappedNativeAddress - The address of the wrapped native token that can be used for CCIP fees. ccipBnMAddress - The address of the CCIP BnM token. ccipLnMAddress - The address of the CCIP LnM token. | - -### requestLinkFromFaucet - -```solidity -function requestLinkFromFaucet(address to, uint256 amount) external returns (bool success) -``` - -Requests LINK tokens from the faucet. The provided amount of tokens are transferred to provided destination address. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| to | address | - The address to which LINK tokens are to be sent. | -| amount | uint256 | - The amount of LINK tokens to send. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| success | bool | - Returns `true` if the transfer of tokens was successful, otherwise `false`. | - diff --git a/api_reference/ccip/MockEvm2EvmOffRamp.mdx b/api_reference/ccip/MockEvm2EvmOffRamp.mdx deleted file mode 100644 index 3db9a2e..0000000 --- a/api_reference/ccip/MockEvm2EvmOffRamp.mdx +++ /dev/null @@ -1,175 +0,0 @@ -# Solidity API - -## MockEvm2EvmOffRamp - -This contract handles off-ramp processes for CCIP messages - -### DynamicConfig - -```solidity -struct DynamicConfig { - uint32 permissionLessExecutionThresholdSeconds; - address router; - address priceRegistry; - uint16 maxNumberOfTokensPerMsg; - uint32 maxDataBytes; - uint32 maxPoolReleaseOrMintGas; -} -``` - -### i_sourceChainSelector - -```solidity -uint64 i_sourceChainSelector -``` - -_chain selector for the source chain_ - -### s_ccipLocalSimulator - -```solidity -address s_ccipLocalSimulator -``` - -_Address of the CCIP Local Simulator_ - -### s_dynamicConfig - -```solidity -struct MockEvm2EvmOffRamp.DynamicConfig s_dynamicConfig -``` - -_Dynamic configuration of the offramp_ - -### CanOnlySimulatorCall - -```solidity -error CanOnlySimulatorCall() -``` - -_Error thrown when a function can only be called by the simulator_ - -### ReceiverError - -```solidity -error ReceiverError(bytes error) -``` - -_Error thrown when there is an error in the receiver_ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| error | bytes | The error data | - -### TokenHandlingError - -```solidity -error TokenHandlingError(bytes error) -``` - -_Error thrown when there is an error in token handling_ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| error | bytes | The error data | - -### UnsupportedToken - -```solidity -error UnsupportedToken(contract IERC20 token) -``` - -_Error thrown when an unsupported token is encountered_ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| token | contract IERC20 | The unsupported token | - -### constructor - -```solidity -constructor(address ccipLocalSimulator, struct MockEvm2EvmOffRamp.DynamicConfig dynamicConfig, struct RateLimiter.Config config, uint64 sourceChainSelector, address[] sourceTokens, address[] pools) public -``` - -Constructor to initialize the contract. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| ccipLocalSimulator | address | - Address of the CCIP local simulator. | -| dynamicConfig | struct MockEvm2EvmOffRamp.DynamicConfig | - Initial dynamic configuration parameters. | -| config | struct RateLimiter.Config | - Rate limiter configuration. | -| sourceChainSelector | uint64 | - Source chain selector. | -| sourceTokens | address[] | - List of supported tokens on the source chain. | -| pools | address[] | - List of pools corresponding to the supported tokens on the source chain. | - -### executeSingleMessage - -```solidity -function executeSingleMessage(struct Internal.EVM2EVMMessage message, bytes[] offchainTokenData) external -``` - -Executes a single CCIP message. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| message | struct Internal.EVM2EVMMessage | - The CCIP message to be executed. | -| offchainTokenData | bytes[] | - Additional off-chain token data. | - -### _releaseOrMintTokens - -```solidity -function _releaseOrMintTokens(struct Client.EVMTokenAmount[] sourceTokenAmounts, bytes originalSender, address receiver, bytes[] sourceTokenData, bytes[] offchainTokenData) internal returns (struct Client.EVMTokenAmount[]) -``` - -Uses pools to release or mint a number of different tokens to a receiver address. - -_This function wraps the token pool call in a try-catch block to gracefully handle -any non-rate limiting errors that may occur. If we encounter a rate limiting related error -we bubble it up. If we encounter a non-rate limiting error we wrap it in a TokenHandlingError._ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| sourceTokenAmounts | struct Client.EVMTokenAmount[] | - List of tokens and amount values to be released/minted. | -| originalSender | bytes | - The message sender. | -| receiver | address | - The address that will receive the tokens. | -| sourceTokenData | bytes[] | - Array of token data returned by token pools on the source chain. | -| offchainTokenData | bytes[] | - Array of token data fetched offchain by the DON. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | struct Client.EVMTokenAmount[] | destTokenAmounts - The amounts of tokens released or minted. | - -### getPoolBySourceToken - -```solidity -function getPoolBySourceToken(contract IERC20 sourceToken) public view returns (contract IPool) -``` - -Get a token pool by its source token. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| sourceToken | contract IERC20 | - The source token. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | contract IPool | pool - The corresponding token pool. | - diff --git a/api_reference/data-feeds/MockOffchainAggregator.mdx b/api_reference/data-feeds/MockOffchainAggregator.mdx deleted file mode 100644 index b35583a..0000000 --- a/api_reference/data-feeds/MockOffchainAggregator.mdx +++ /dev/null @@ -1,175 +0,0 @@ -# Solidity API - -## MockOffchainAggregator - -This contract is a mock implementation of an offchain aggregator for testing purposes. - -_This contract simulates the behavior of an offchain aggregator and allows for updating answers and round data._ - -### decimals - -```solidity -uint8 decimals -``` - -The number of decimals used by the aggregator. - -### latestAnswer - -```solidity -int256 latestAnswer -``` - -The latest answer reported by the aggregator. - -### latestTimestamp - -```solidity -uint256 latestTimestamp -``` - -The timestamp of the latest answer. - -### latestRound - -```solidity -uint256 latestRound -``` - -The latest round ID. - -### minAnswer - -```solidity -int192 minAnswer -``` - -The minimum answer the aggregator is allowed to report. - -### maxAnswer - -```solidity -int192 maxAnswer -``` - -The maximum answer the aggregator is allowed to report. - -### getAnswer - -```solidity -mapping(uint256 => int256) getAnswer -``` - -Mapping to get the answer for a specific round ID. - -### getTimestamp - -```solidity -mapping(uint256 => uint256) getTimestamp -``` - -Mapping to get the timestamp for a specific round ID. - -### constructor - -```solidity -constructor(uint8 _decimals, int256 _initialAnswer) public -``` - -Constructor to initialize the MockOffchainAggregator contract with initial parameters. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _decimals | uint8 | - The number of decimals for the aggregator. | -| _initialAnswer | int256 | - The initial answer to be set in the mock aggregator. | - -### updateAnswer - -```solidity -function updateAnswer(int256 _answer) public -``` - -Updates the answer in the mock aggregator. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _answer | int256 | - The new answer to be set. | - -### updateRoundData - -```solidity -function updateRoundData(uint80 _roundId, int256 _answer, uint256 _timestamp, uint256 _startedAt) public -``` - -Updates the round data in the mock aggregator. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _roundId | uint80 | - The round ID to be updated. | -| _answer | int256 | - The new answer to be set. | -| _timestamp | uint256 | - The timestamp to be set. | -| _startedAt | uint256 | - The timestamp when the round started. | - -### getRoundData - -```solidity -function getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) -``` - -Gets the round data for a specific round ID. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _roundId | uint80 | - The round ID to get the data for. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint80 | - The round ID. | -| answer | int256 | - The answer for the round. | -| startedAt | uint256 | - The timestamp when the round started. | -| updatedAt | uint256 | - The timestamp when the round was updated. | -| answeredInRound | uint80 | - The round ID in which the answer was computed. | - -### latestRoundData - -```solidity -function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) -``` - -Gets the latest round data. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint80 | - The latest round ID. | -| answer | int256 | - The latest answer. | -| startedAt | uint256 | - The timestamp when the latest round started. | -| updatedAt | uint256 | - The timestamp when the latest round was updated. | -| answeredInRound | uint80 | - The round ID in which the latest answer was computed. | - -### updateMinAndMaxAnswers - -```solidity -function updateMinAndMaxAnswers(int192 _minAnswer, int192 _maxAnswer) external -``` - -Updates the minimum and maximum answers the aggregator can report. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _minAnswer | int192 | - The new minimum answer. | -| _maxAnswer | int192 | - The new maximum answer. | - diff --git a/api_reference/data-feeds/MockV3Aggregator.mdx b/api_reference/data-feeds/MockV3Aggregator.mdx deleted file mode 100644 index e89dc53..0000000 --- a/api_reference/data-feeds/MockV3Aggregator.mdx +++ /dev/null @@ -1,262 +0,0 @@ -# Solidity API - -## MockV3Aggregator - -This contract is a mock implementation of the AggregatorV2V3Interface for testing purposes. - -_This contract interacts with a MockOffchainAggregator to simulate price feeds._ - -### version - -```solidity -uint256 version -``` - -The version of the aggregator. - -### aggregator - -```solidity -address aggregator -``` - -The address of the current aggregator. - -### proposedAggregator - -```solidity -address proposedAggregator -``` - -The address of the proposed aggregator. - -### constructor - -```solidity -constructor(uint8 _decimals, int256 _initialAnswer) public -``` - -Constructor to initialize the MockV3Aggregator contract with initial parameters. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _decimals | uint8 | - The number of decimals for the aggregator. | -| _initialAnswer | int256 | - The initial answer to be set in the mock aggregator. | - -### decimals - -```solidity -function decimals() external view returns (uint8) -``` - -Gets the number of decimals used by the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint8 | uint8 - The number of decimals. | - -### getAnswer - -```solidity -function getAnswer(uint256 roundId) external view returns (int256) -``` - -Gets the answer for a specific round ID. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint256 | - The round ID to get the answer for. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | int256 | int256 - The answer for the given round ID. | - -### getRoundData - -```solidity -function getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) -``` - -Gets the round data for a specific round ID. - -_This function should raise "No data present" if no data is available for the given round ID._ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _roundId | uint80 | - The round ID to get the data for. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint80 | - The round ID. | -| answer | int256 | - The answer for the round. | -| startedAt | uint256 | - The timestamp when the round started. | -| updatedAt | uint256 | - The timestamp when the round was updated. | -| answeredInRound | uint80 | - The round ID in which the answer was computed. | - -### latestRoundData - -```solidity -function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) -``` - -Gets the latest round data. - -_This function should raise "No data present" if no data is available._ - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint80 | - The latest round ID. | -| answer | int256 | - The latest answer. | -| startedAt | uint256 | - The timestamp when the latest round started. | -| updatedAt | uint256 | - The timestamp when the latest round was updated. | -| answeredInRound | uint80 | - The round ID in which the latest answer was computed. | - -### getTimestamp - -```solidity -function getTimestamp(uint256 roundId) external view returns (uint256) -``` - -Gets the timestamp for a specific round ID. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint256 | - The round ID to get the timestamp for. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | uint256 - The timestamp for the given round ID. | - -### latestAnswer - -```solidity -function latestAnswer() external view returns (int256) -``` - -Gets the latest answer from the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | int256 | int256 - The latest answer. | - -### latestTimestamp - -```solidity -function latestTimestamp() external view returns (uint256) -``` - -Gets the timestamp of the latest answer from the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | uint256 - The timestamp of the latest answer. | - -### latestRound - -```solidity -function latestRound() external view returns (uint256) -``` - -Gets the latest round ID from the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | uint256 - The latest round ID. | - -### updateAnswer - -```solidity -function updateAnswer(int256 _answer) public -``` - -Updates the answer in the mock aggregator. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _answer | int256 | - The new answer to be set. | - -### updateRoundData - -```solidity -function updateRoundData(uint80 _roundId, int256 _answer, uint256 _timestamp, uint256 _startedAt) public -``` - -Updates the round data in the mock aggregator. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _roundId | uint80 | - The round ID to be updated. | -| _answer | int256 | - The new answer to be set. | -| _timestamp | uint256 | - The timestamp to be set. | -| _startedAt | uint256 | - The timestamp when the round started. | - -### proposeAggregator - -```solidity -function proposeAggregator(contract AggregatorV2V3Interface _aggregator) external -``` - -Proposes a new aggregator. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _aggregator | contract AggregatorV2V3Interface | - The address of the proposed aggregator. | - -### confirmAggregator - -```solidity -function confirmAggregator(address _aggregator) external -``` - -Confirms the proposed aggregator. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _aggregator | address | - The address of the proposed aggregator. | - -### description - -```solidity -function description() external pure returns (string) -``` - -Gets the description of the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | string | string memory - The description of the aggregator. | - diff --git a/api_reference/data-feeds/interfaces/AggregatorInterface.mdx b/api_reference/data-feeds/interfaces/AggregatorInterface.mdx deleted file mode 100644 index db4d7b3..0000000 --- a/api_reference/data-feeds/interfaces/AggregatorInterface.mdx +++ /dev/null @@ -1,122 +0,0 @@ -# Solidity API - -## AggregatorInterface - -Interface for accessing data from an aggregator contract. - -_Provides methods to get the latest data and historical data for specific rounds._ - -### latestAnswer - -```solidity -function latestAnswer() external view returns (int256) -``` - -Gets the latest answer from the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | int256 | int256 - The latest answer. | - -### latestTimestamp - -```solidity -function latestTimestamp() external view returns (uint256) -``` - -Gets the timestamp of the latest answer from the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | uint256 - The timestamp of the latest answer. | - -### latestRound - -```solidity -function latestRound() external view returns (uint256) -``` - -Gets the latest round ID from the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | uint256 - The latest round ID. | - -### getAnswer - -```solidity -function getAnswer(uint256 roundId) external view returns (int256) -``` - -Gets the answer for a specific round ID. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint256 | - The round ID to get the answer for. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | int256 | int256 - The answer for the given round ID. | - -### getTimestamp - -```solidity -function getTimestamp(uint256 roundId) external view returns (uint256) -``` - -Gets the timestamp for a specific round ID. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint256 | - The round ID to get the timestamp for. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | uint256 - The timestamp for the given round ID. | - -### AnswerUpdated - -```solidity -event AnswerUpdated(int256 current, uint256 roundId, uint256 updatedAt) -``` - -Emitted when the answer is updated. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| current | int256 | - The updated answer. | -| roundId | uint256 | - The round ID for which the answer was updated. | -| updatedAt | uint256 | - The timestamp when the answer was updated. | - -### NewRound - -```solidity -event NewRound(uint256 roundId, address startedBy, uint256 startedAt) -``` - -Emitted when a new round is started. - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint256 | - The round ID of the new round. | -| startedBy | address | - The address of the account that started the round. | -| startedAt | uint256 | - The timestamp when the round was started. | - diff --git a/api_reference/data-feeds/interfaces/AggregatorV3Interface.mdx b/api_reference/data-feeds/interfaces/AggregatorV3Interface.mdx deleted file mode 100644 index 8cc4bee..0000000 --- a/api_reference/data-feeds/interfaces/AggregatorV3Interface.mdx +++ /dev/null @@ -1,96 +0,0 @@ -# Solidity API - -## AggregatorV3Interface - -Interface for accessing detailed data from an aggregator contract, including round data and metadata. - -_Provides methods to get the latest data, historical data for specific rounds, and metadata such as decimals and description._ - -### decimals - -```solidity -function decimals() external view returns (uint8) -``` - -Gets the number of decimals used by the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint8 | uint8 - The number of decimals. | - -### description - -```solidity -function description() external view returns (string) -``` - -Gets the description of the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | string | string memory - The description of the aggregator. | - -### version - -```solidity -function version() external view returns (uint256) -``` - -Gets the version of the aggregator. - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| [0] | uint256 | uint256 - The version of the aggregator. | - -### getRoundData - -```solidity -function getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) -``` - -Gets the round data for a specific round ID. - -_This function should raise "No data present" if no data is available for the given round ID._ - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | -| _roundId | uint80 | - The round ID to get the data for. | - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint80 | - The round ID. | -| answer | int256 | - The answer for the round. | -| startedAt | uint256 | - The timestamp when the round started. | -| updatedAt | uint256 | - The timestamp when the round was updated. | -| answeredInRound | uint80 | - The round ID in which the answer was computed. | - -### latestRoundData - -```solidity -function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) -``` - -Gets the latest round data. - -_This function should raise "No data present" if no data is available._ - -#### Return Values - -| Name | Type | Description | -| ---- | ---- | ----------- | -| roundId | uint80 | - The latest round ID. | -| answer | int256 | - The latest answer. | -| startedAt | uint256 | - The timestamp when the latest round started. | -| updatedAt | uint256 | - The timestamp when the latest round was updated. | -| answeredInRound | uint80 | - The round ID in which the latest answer was computed. | - diff --git a/api_reference/index.mdx b/api_reference/index.mdx index 3c02f81..03d4d37 100644 --- a/api_reference/index.mdx +++ b/api_reference/index.mdx @@ -1,5 +1,4 @@ # API Reference -- [ccip](ccip/index.mdx) -- [data-feeds](data-feeds/index.mdx) -- [shared](shared/index.mdx) +- [javascript](javascript/index.mdx) +- [solidity](solidity/index.mdx) diff --git a/api_reference/javascript/CCIPLocalSimulatorFork.mdx b/api_reference/javascript/CCIPLocalSimulatorFork.mdx new file mode 100644 index 0000000..f27b0b1 --- /dev/null +++ b/api_reference/javascript/CCIPLocalSimulatorFork.mdx @@ -0,0 +1,86 @@ +## Functions + +
Promise.<string>
+ Requests LINK tokens from the faucet and returns the transaction hash
+object
| null
+
+ Parses a transaction receipt to extract the sent message Scans through
+ transaction logs to find a CCIPSendRequested
event and then
+ decodes it to an object
+
Promise.<void>
+ + Routes the sent message from the source network on the destination + (current) network +
+Promise.<string>
+
+Requests LINK tokens from the faucet and returns the transaction hash
+
+**Kind**: global function
+**Returns**: Promise.<string>
- Promise resolving to the
+transaction hash of the fund transfer
+
+| Param | Type | Description |
+| ----------- | ------------------- | ------------------------------------------------------- |
+| linkAddress | string
| The address of the LINK contract on the current network |
+| to | string
| The address to send LINK to |
+| amount | bigint
| The amount of LINK to request |
+
+
+
+## getEvm2EvmMessage(receipt) ⇒ object
\| null
+
+Parses a transaction receipt to extract the sent message Scans through
+transaction logs to find a `CCIPSendRequested` event and then decodes it to an
+object
+
+**Kind**: global function
+**Returns**: object
\| null
- Returns either the sent
+message or null if provided receipt does not contain `CCIPSendRequested` log
+
+| Param | Type | Description |
+| ------- | ------------------- | ------------------------------------------------ |
+| receipt | object
| The transaction receipt from the `ccipSend` call |
+
+
+
+## routeMessage(routerAddress, evm2EvmMessage) ⇒ Promise.<void>
+
+Routes the sent message from the source network on the destination (current)
+network
+
+**Kind**: global function
+**Returns**: Promise.<void>
- Either resolves with no value
+if the message is successfully routed, or reverts
+**Throws**:
+
+- Error
Fails if no off-ramp matches the message's source chain
+ selector or if calling `router.getOffRamps()`
+
+| Param | Type | Description |
+| -------------- | ------------------- | --------------------------------- |
+| routerAddress | string
| Address of the destination Router |
+| evm2EvmMessage | object
| Sent cross-chain message |
diff --git a/api_reference/javascript/index.mdx b/api_reference/javascript/index.mdx
new file mode 100644
index 0000000..427c1d9
--- /dev/null
+++ b/api_reference/javascript/index.mdx
@@ -0,0 +1,3 @@
+# Javascript API Reference
+
+- [CCIPLocalSimulatorFork](CCIPLocalSimulatorFork.mdx)
diff --git a/api_reference/ccip/BurnMintERC677Helper.mdx b/api_reference/solidity/ccip/BurnMintERC677Helper.mdx
similarity index 54%
rename from api_reference/ccip/BurnMintERC677Helper.mdx
rename to api_reference/solidity/ccip/BurnMintERC677Helper.mdx
index 0f2b619..092c44d 100644
--- a/api_reference/ccip/BurnMintERC677Helper.mdx
+++ b/api_reference/solidity/ccip/BurnMintERC677Helper.mdx
@@ -2,9 +2,11 @@
## BurnMintERC677Helper
-This contract extends the functionality of the BurnMintERC677 token contract to include a `drip` function that mints one full token to a specified address.
+This contract extends the functionality of the BurnMintERC677 token contract to
+include a `drip` function that mints one full token to a specified address.
-_Inherits from the BurnMintERC677 contract and sets the token name, symbol, decimals, and initial supply in the constructor._
+_Inherits from the BurnMintERC677 contract and sets the token name, symbol,
+decimals, and initial supply in the constructor._
### constructor
@@ -12,15 +14,17 @@ _Inherits from the BurnMintERC677 contract and sets the token name, symbol, deci
constructor(string name, string symbol) public
```
-Constructor to initialize the BurnMintERC677Helper contract with a name and symbol.
+Constructor to initialize the BurnMintERC677Helper contract with a name and
+symbol.
-_Calls the parent constructor of BurnMintERC677 with fixed decimals (18) and initial supply (0)._
+_Calls the parent constructor of BurnMintERC677 with fixed decimals (18) and
+initial supply (0)._
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
-| name | string | - The name of the token. |
+| Name | Type | Description |
+| ------ | ------ | -------------------------- |
+| name | string | - The name of the token. |
| symbol | string | - The symbol of the token. |
### drip
@@ -35,7 +39,6 @@ _Calls the internal `_mint` function from the BurnMintERC677 contract._
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
-| to | address | - The address to receive the minted token. |
-
+| Name | Type | Description |
+| ---- | ------- | ------------------------------------------ |
+| to | address | - The address to receive the minted token. |
diff --git a/api_reference/ccip/CCIPLocalSimulator.mdx b/api_reference/solidity/ccip/CCIPLocalSimulator.mdx
similarity index 51%
rename from api_reference/ccip/CCIPLocalSimulator.mdx
rename to api_reference/solidity/ccip/CCIPLocalSimulator.mdx
index 64c3276..782a2b5 100644
--- a/api_reference/ccip/CCIPLocalSimulator.mdx
+++ b/api_reference/solidity/ccip/CCIPLocalSimulator.mdx
@@ -2,9 +2,11 @@
## CCIPLocalSimulator
-This contract simulates local CCIP (Cross-Chain Interoperability Protocol) operations for testing and development purposes.
+This contract simulates local CCIP (Cross-Chain Interoperability Protocol)
+operations for testing and development purposes.
-_This contract includes methods to manage supported tokens and configurations for local simulations._
+_This contract includes methods to manage supported tokens and configurations
+for local simulations._
### CHAIN_SELECTOR
@@ -76,12 +78,13 @@ Constructor to initialize the contract and pre-deployed token instances
function supportNewToken(address tokenAddress) external
```
-Allows user to support any new token, besides CCIP BnM and CCIP LnM, for cross-chain transfers.
+Allows user to support any new token, besides CCIP BnM and CCIP LnM, for
+cross-chain transfers.
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| ------------ | ------- | ------------------------------------------------------------------ |
| tokenAddress | address | - The address of the token to add to the list of supported tokens. |
### isChainSupported
@@ -94,14 +97,14 @@ Checks whether the provided `chainSelector` is supported by the simulator.
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| ------------- | ------ | --------------------------------- |
| chainSelector | uint64 | - The unique CCIP Chain Selector. |
#### Return Values
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| --------- | ---- | ---------------------------------------------------------------- |
| supported | bool | - Returns true if `chainSelector` is supported by the simulator. |
### getSupportedTokens
@@ -110,18 +113,19 @@ Checks whether the provided `chainSelector` is supported by the simulator.
function getSupportedTokens(uint64 chainSelector) external view returns (address[] tokens)
```
-Gets a list of token addresses that are supported for cross-chain transfers by the simulator.
+Gets a list of token addresses that are supported for cross-chain transfers by
+the simulator.
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| ------------- | ------ | --------------------------------- |
| chainSelector | uint64 | - The unique CCIP Chain Selector. |
#### Return Values
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| ------ | --------- | -------------------------------------------------------------------------------------------------- |
| tokens | address[] | - Returns a list of token addresses that are supported for cross-chain transfers by the simulator. |
### requestLinkFromFaucet
@@ -130,19 +134,20 @@ Gets a list of token addresses that are supported for cross-chain transfers by t
function requestLinkFromFaucet(address to, uint256 amount) external returns (bool success)
```
-Requests LINK tokens from the faucet. The provided amount of tokens are transferred to provided destination address.
+Requests LINK tokens from the faucet. The provided amount of tokens are
+transferred to provided destination address.
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
-| to | address | - The address to which LINK tokens are to be sent. |
-| amount | uint256 | - The amount of LINK tokens to send. |
+| Name | Type | Description |
+| ------ | ------- | -------------------------------------------------- |
+| to | address | - The address to which LINK tokens are to be sent. |
+| amount | uint256 | - The amount of LINK tokens to send. |
#### Return Values
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| ------- | ---- | ----------------------------------------------------------------------------- |
| success | bool | - Returns `true` if the transfer of tokens was successful, otherwise `false`. |
### configuration
@@ -151,17 +156,17 @@ Requests LINK tokens from the faucet. The provided amount of tokens are transfer
function configuration() public view returns (uint64 chainSelector_, contract IRouterClient sourceRouter_, contract IRouterClient destinationRouter_, contract WETH9 wrappedNative_, contract LinkToken linkToken_, contract BurnMintERC677Helper ccipBnM_, contract BurnMintERC677Helper ccipLnM_)
```
-Returns configuration details for pre-deployed contracts and services needed for local CCIP simulations.
+Returns configuration details for pre-deployed contracts and services needed for
+local CCIP simulations.
#### Return Values
-| Name | Type | Description |
-| ---- | ---- | ----------- |
-| chainSelector_ | uint64 | - The unique CCIP Chain Selector. |
-| sourceRouter_ | contract IRouterClient | - The source chain Router contract. |
-| destinationRouter_ | contract IRouterClient | - The destination chain Router contract. |
-| wrappedNative_ | contract WETH9 | - The wrapped native token which can be used for CCIP fees. |
-| linkToken_ | contract LinkToken | - The LINK token. |
-| ccipBnM_ | contract BurnMintERC677Helper | - The ccipBnM token. |
-| ccipLnM_ | contract BurnMintERC677Helper | - The ccipLnM token. |
-
+| Name | Type | Description |
+| ------------------- | ----------------------------- | ----------------------------------------------------------- |
+| chainSelector\_ | uint64 | - The unique CCIP Chain Selector. |
+| sourceRouter\_ | contract IRouterClient | - The source chain Router contract. |
+| destinationRouter\_ | contract IRouterClient | - The destination chain Router contract. |
+| wrappedNative\_ | contract WETH9 | - The wrapped native token which can be used for CCIP fees. |
+| linkToken\_ | contract LinkToken | - The LINK token. |
+| ccipBnM\_ | contract BurnMintERC677Helper | - The ccipBnM token. |
+| ccipLnM\_ | contract BurnMintERC677Helper | - The ccipLnM token. |
diff --git a/api_reference/solidity/ccip/CCIPLocalSimulatorFork.mdx b/api_reference/solidity/ccip/CCIPLocalSimulatorFork.mdx
new file mode 100644
index 0000000..5c342d6
--- /dev/null
+++ b/api_reference/solidity/ccip/CCIPLocalSimulatorFork.mdx
@@ -0,0 +1,170 @@
+# Solidity API
+
+## IRouterFork
+
+### OffRamp
+
+```solidity
+struct OffRamp {
+ uint64 sourceChainSelector;
+ address offRamp;
+}
+```
+
+### getOffRamps
+
+```solidity
+function getOffRamps() external view returns (struct IRouterFork.OffRamp[])
+```
+
+Gets the list of offRamps
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ---------------------------- | ----------------------------------- |
+| [0] | struct IRouterFork.OffRamp[] | offRamps - Array of OffRamp structs |
+
+## IEVM2EVMOffRampFork
+
+### executeSingleMessage
+
+```solidity
+function executeSingleMessage(struct Internal.EVM2EVMMessage message, bytes[] offchainTokenData) external
+```
+
+Executes a single CCIP message on the offRamp
+
+#### Parameters
+
+| Name | Type | Description |
+| ----------------- | ------------------------------ | --------------------------------- |
+| message | struct Internal.EVM2EVMMessage | - The CCIP message to be executed |
+| offchainTokenData | bytes[] | - Additional offchain token data |
+
+## CCIPLocalSimulatorFork
+
+Works with Foundry only
+
+### CCIPSendRequested
+
+```solidity
+event CCIPSendRequested(struct Internal.EVM2EVMMessage message)
+```
+
+Event emitted when a CCIP send request is made
+
+#### Parameters
+
+| Name | Type | Description |
+| ------- | ------------------------------ | ----------------------------------- |
+| message | struct Internal.EVM2EVMMessage | - The EVM2EVM message that was sent |
+
+### i_register
+
+```solidity
+contract Register i_register
+```
+
+The immutable register instance
+
+### LINK_FAUCET
+
+```solidity
+address LINK_FAUCET
+```
+
+The address of the LINK faucet
+
+### s_processedMessages
+
+```solidity
+mapping(bytes32 => bool) s_processedMessages
+```
+
+Mapping to track processed messages
+
+### constructor
+
+```solidity
+constructor() public
+```
+
+Constructor to initialize the contract
+
+### switchChainAndRouteMessage
+
+```solidity
+function switchChainAndRouteMessage(uint256 forkId) external
+```
+
+To be called after the sending of the cross-chain message (`ccipSend`). Goes
+through the list of past logs and looks for the `CCIPSendRequested` event.
+Switches to a destination network fork. Routes the sent cross-chain message on
+the destination network.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------ | ------- | -------------------------------------------------------------------------------------------------------------- |
+| forkId | uint256 | - The ID of the destination network fork. This is the returned value of `createFork()` or `createSelectFork()` |
+
+### getNetworkDetails
+
+```solidity
+function getNetworkDetails(uint256 chainId) external view returns (struct Register.NetworkDetails)
+```
+
+Returns the default values for currently CCIP supported networks. If network is
+not present or some of the values are changed, user can manually add new network
+details using the `setNetworkDetails` function.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------- | ------- | ------------------------------------------------------------------------------------------------------ |
+| chainId | uint256 | - The blockchain network chain ID. For example 11155111 for Ethereum Sepolia. Not CCIP chain selector. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [0] | struct Register.NetworkDetails | networkDetails - The tuple containing: chainSelector - The unique CCIP Chain Selector. routerAddress - The address of the CCIP Router contract. linkAddress - The address of the LINK token. wrappedNativeAddress - The address of the wrapped native token that can be used for CCIP fees. ccipBnMAddress - The address of the CCIP BnM token. ccipLnMAddress - The address of the CCIP LnM token. |
+
+### setNetworkDetails
+
+```solidity
+function setNetworkDetails(uint256 chainId, struct Register.NetworkDetails networkDetails) external
+```
+
+If network details are not present or some of the values are changed, user can
+manually add new network details using the `setNetworkDetails` function.
+
+#### Parameters
+
+| Name | Type | Description |
+| -------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| chainId | uint256 | - The blockchain network chain ID. For example 11155111 for Ethereum Sepolia. Not CCIP chain selector. |
+| networkDetails | struct Register.NetworkDetails | - The tuple containing: chainSelector - The unique CCIP Chain Selector. routerAddress - The address of the CCIP Router contract. linkAddress - The address of the LINK token. wrappedNativeAddress - The address of the wrapped native token that can be used for CCIP fees. ccipBnMAddress - The address of the CCIP BnM token. ccipLnMAddress - The address of the CCIP LnM token. |
+
+### requestLinkFromFaucet
+
+```solidity
+function requestLinkFromFaucet(address to, uint256 amount) external returns (bool success)
+```
+
+Requests LINK tokens from the faucet. The provided amount of tokens are
+transferred to provided destination address.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------ | ------- | -------------------------------------------------- |
+| to | address | - The address to which LINK tokens are to be sent. |
+| amount | uint256 | - The amount of LINK tokens to send. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ------- | ---- | ----------------------------------------------------------------------------- |
+| success | bool | - Returns `true` if the transfer of tokens was successful, otherwise `false`. |
diff --git a/api_reference/solidity/ccip/MockEvm2EvmOffRamp.mdx b/api_reference/solidity/ccip/MockEvm2EvmOffRamp.mdx
new file mode 100644
index 0000000..d628ce5
--- /dev/null
+++ b/api_reference/solidity/ccip/MockEvm2EvmOffRamp.mdx
@@ -0,0 +1,176 @@
+# Solidity API
+
+## MockEvm2EvmOffRamp
+
+This contract handles off-ramp processes for CCIP messages
+
+### DynamicConfig
+
+```solidity
+struct DynamicConfig {
+ uint32 permissionLessExecutionThresholdSeconds;
+ address router;
+ address priceRegistry;
+ uint16 maxNumberOfTokensPerMsg;
+ uint32 maxDataBytes;
+ uint32 maxPoolReleaseOrMintGas;
+}
+```
+
+### i_sourceChainSelector
+
+```solidity
+uint64 i_sourceChainSelector
+```
+
+_chain selector for the source chain_
+
+### s_ccipLocalSimulator
+
+```solidity
+address s_ccipLocalSimulator
+```
+
+_Address of the CCIP Local Simulator_
+
+### s_dynamicConfig
+
+```solidity
+struct MockEvm2EvmOffRamp.DynamicConfig s_dynamicConfig
+```
+
+_Dynamic configuration of the offramp_
+
+### CanOnlySimulatorCall
+
+```solidity
+error CanOnlySimulatorCall()
+```
+
+_Error thrown when a function can only be called by the simulator_
+
+### ReceiverError
+
+```solidity
+error ReceiverError(bytes error)
+```
+
+_Error thrown when there is an error in the receiver_
+
+#### Parameters
+
+| Name | Type | Description |
+| ----- | ----- | -------------- |
+| error | bytes | The error data |
+
+### TokenHandlingError
+
+```solidity
+error TokenHandlingError(bytes error)
+```
+
+_Error thrown when there is an error in token handling_
+
+#### Parameters
+
+| Name | Type | Description |
+| ----- | ----- | -------------- |
+| error | bytes | The error data |
+
+### UnsupportedToken
+
+```solidity
+error UnsupportedToken(contract IERC20 token)
+```
+
+_Error thrown when an unsupported token is encountered_
+
+#### Parameters
+
+| Name | Type | Description |
+| ----- | --------------- | --------------------- |
+| token | contract IERC20 | The unsupported token |
+
+### constructor
+
+```solidity
+constructor(address ccipLocalSimulator, struct MockEvm2EvmOffRamp.DynamicConfig dynamicConfig, struct RateLimiter.Config config, uint64 sourceChainSelector, address[] sourceTokens, address[] pools) public
+```
+
+Constructor to initialize the contract.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------------------- | --------------------------------------- | -------------------------------------------------------------------------- |
+| ccipLocalSimulator | address | - Address of the CCIP local simulator. |
+| dynamicConfig | struct MockEvm2EvmOffRamp.DynamicConfig | - Initial dynamic configuration parameters. |
+| config | struct RateLimiter.Config | - Rate limiter configuration. |
+| sourceChainSelector | uint64 | - Source chain selector. |
+| sourceTokens | address[] | - List of supported tokens on the source chain. |
+| pools | address[] | - List of pools corresponding to the supported tokens on the source chain. |
+
+### executeSingleMessage
+
+```solidity
+function executeSingleMessage(struct Internal.EVM2EVMMessage message, bytes[] offchainTokenData) external
+```
+
+Executes a single CCIP message.
+
+#### Parameters
+
+| Name | Type | Description |
+| ----------------- | ------------------------------ | ---------------------------------- |
+| message | struct Internal.EVM2EVMMessage | - The CCIP message to be executed. |
+| offchainTokenData | bytes[] | - Additional off-chain token data. |
+
+### \_releaseOrMintTokens
+
+```solidity
+function _releaseOrMintTokens(struct Client.EVMTokenAmount[] sourceTokenAmounts, bytes originalSender, address receiver, bytes[] sourceTokenData, bytes[] offchainTokenData) internal returns (struct Client.EVMTokenAmount[])
+```
+
+Uses pools to release or mint a number of different tokens to a receiver
+address.
+
+_This function wraps the token pool call in a try-catch block to gracefully
+handle any non-rate limiting errors that may occur. If we encounter a rate
+limiting related error we bubble it up. If we encounter a non-rate limiting
+error we wrap it in a TokenHandlingError._
+
+#### Parameters
+
+| Name | Type | Description |
+| ------------------ | ------------------------------ | ------------------------------------------------------------------ |
+| sourceTokenAmounts | struct Client.EVMTokenAmount[] | - List of tokens and amount values to be released/minted. |
+| originalSender | bytes | - The message sender. |
+| receiver | address | - The address that will receive the tokens. |
+| sourceTokenData | bytes[] | - Array of token data returned by token pools on the source chain. |
+| offchainTokenData | bytes[] | - Array of token data fetched offchain by the DON. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------------------------------ | ------------------------------------------------------------ |
+| [0] | struct Client.EVMTokenAmount[] | destTokenAmounts - The amounts of tokens released or minted. |
+
+### getPoolBySourceToken
+
+```solidity
+function getPoolBySourceToken(contract IERC20 sourceToken) public view returns (contract IPool)
+```
+
+Get a token pool by its source token.
+
+#### Parameters
+
+| Name | Type | Description |
+| ----------- | --------------- | ------------------- |
+| sourceToken | contract IERC20 | - The source token. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | -------------- | ------------------------------------ |
+| [0] | contract IPool | pool - The corresponding token pool. |
diff --git a/api_reference/ccip/Register.mdx b/api_reference/solidity/ccip/Register.mdx
similarity index 67%
rename from api_reference/ccip/Register.mdx
rename to api_reference/solidity/ccip/Register.mdx
index 242b958..1ca6778 100644
--- a/api_reference/ccip/Register.mdx
+++ b/api_reference/solidity/ccip/Register.mdx
@@ -45,14 +45,14 @@ Retrieves network details for a given chain ID.
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| ------- | ------- | --------------------------------------------- |
| chainId | uint256 | - The ID of the chain to get the details for. |
#### Return Values
-| Name | Type | Description |
-| ---- | ---- | ----------- |
+| Name | Type | Description |
+| -------------- | ------------------------------ | ------------------------------------------------- |
| networkDetails | struct Register.NetworkDetails | - The network details for the specified chain ID. |
### setNetworkDetails
@@ -65,8 +65,7 @@ Sets the network details for a given chain ID.
#### Parameters
-| Name | Type | Description |
-| ---- | ---- | ----------- |
-| chainId | uint256 | - The ID of the chain to set the details for. |
+| Name | Type | Description |
+| -------------- | ------------------------------ | -------------------------------------------------------- |
+| chainId | uint256 | - The ID of the chain to set the details for. |
| networkDetails | struct Register.NetworkDetails | - The network details to set for the specified chain ID. |
-
diff --git a/api_reference/ccip/index.mdx b/api_reference/solidity/ccip/index.mdx
similarity index 100%
rename from api_reference/ccip/index.mdx
rename to api_reference/solidity/ccip/index.mdx
diff --git a/api_reference/solidity/data-feeds/MockOffchainAggregator.mdx b/api_reference/solidity/data-feeds/MockOffchainAggregator.mdx
new file mode 100644
index 0000000..4ac4cd0
--- /dev/null
+++ b/api_reference/solidity/data-feeds/MockOffchainAggregator.mdx
@@ -0,0 +1,177 @@
+# Solidity API
+
+## MockOffchainAggregator
+
+This contract is a mock implementation of an offchain aggregator for testing
+purposes.
+
+_This contract simulates the behavior of an offchain aggregator and allows for
+updating answers and round data._
+
+### decimals
+
+```solidity
+uint8 decimals
+```
+
+The number of decimals used by the aggregator.
+
+### latestAnswer
+
+```solidity
+int256 latestAnswer
+```
+
+The latest answer reported by the aggregator.
+
+### latestTimestamp
+
+```solidity
+uint256 latestTimestamp
+```
+
+The timestamp of the latest answer.
+
+### latestRound
+
+```solidity
+uint256 latestRound
+```
+
+The latest round ID.
+
+### minAnswer
+
+```solidity
+int192 minAnswer
+```
+
+The minimum answer the aggregator is allowed to report.
+
+### maxAnswer
+
+```solidity
+int192 maxAnswer
+```
+
+The maximum answer the aggregator is allowed to report.
+
+### getAnswer
+
+```solidity
+mapping(uint256 => int256) getAnswer
+```
+
+Mapping to get the answer for a specific round ID.
+
+### getTimestamp
+
+```solidity
+mapping(uint256 => uint256) getTimestamp
+```
+
+Mapping to get the timestamp for a specific round ID.
+
+### constructor
+
+```solidity
+constructor(uint8 _decimals, int256 _initialAnswer) public
+```
+
+Constructor to initialize the MockOffchainAggregator contract with initial
+parameters.
+
+#### Parameters
+
+| Name | Type | Description |
+| --------------- | ------ | ------------------------------------------------------ |
+| \_decimals | uint8 | - The number of decimals for the aggregator. |
+| \_initialAnswer | int256 | - The initial answer to be set in the mock aggregator. |
+
+### updateAnswer
+
+```solidity
+function updateAnswer(int256 _answer) public
+```
+
+Updates the answer in the mock aggregator.
+
+#### Parameters
+
+| Name | Type | Description |
+| -------- | ------ | --------------------------- |
+| \_answer | int256 | - The new answer to be set. |
+
+### updateRoundData
+
+```solidity
+function updateRoundData(uint80 _roundId, int256 _answer, uint256 _timestamp, uint256 _startedAt) public
+```
+
+Updates the round data in the mock aggregator.
+
+#### Parameters
+
+| Name | Type | Description |
+| ----------- | ------- | --------------------------------------- |
+| \_roundId | uint80 | - The round ID to be updated. |
+| \_answer | int256 | - The new answer to be set. |
+| \_timestamp | uint256 | - The timestamp to be set. |
+| \_startedAt | uint256 | - The timestamp when the round started. |
+
+### getRoundData
+
+```solidity
+function getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
+```
+
+Gets the round data for a specific round ID.
+
+#### Parameters
+
+| Name | Type | Description |
+| --------- | ------ | ----------------------------------- |
+| \_roundId | uint80 | - The round ID to get the data for. |
+
+#### Return Values
+
+| Name | Type | Description |
+| --------------- | ------- | ------------------------------------------------ |
+| roundId | uint80 | - The round ID. |
+| answer | int256 | - The answer for the round. |
+| startedAt | uint256 | - The timestamp when the round started. |
+| updatedAt | uint256 | - The timestamp when the round was updated. |
+| answeredInRound | uint80 | - The round ID in which the answer was computed. |
+
+### latestRoundData
+
+```solidity
+function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
+```
+
+Gets the latest round data.
+
+#### Return Values
+
+| Name | Type | Description |
+| --------------- | ------- | ------------------------------------------------------- |
+| roundId | uint80 | - The latest round ID. |
+| answer | int256 | - The latest answer. |
+| startedAt | uint256 | - The timestamp when the latest round started. |
+| updatedAt | uint256 | - The timestamp when the latest round was updated. |
+| answeredInRound | uint80 | - The round ID in which the latest answer was computed. |
+
+### updateMinAndMaxAnswers
+
+```solidity
+function updateMinAndMaxAnswers(int192 _minAnswer, int192 _maxAnswer) external
+```
+
+Updates the minimum and maximum answers the aggregator can report.
+
+#### Parameters
+
+| Name | Type | Description |
+| ----------- | ------ | ------------------------- |
+| \_minAnswer | int192 | - The new minimum answer. |
+| \_maxAnswer | int192 | - The new maximum answer. |
diff --git a/api_reference/solidity/data-feeds/MockV3Aggregator.mdx b/api_reference/solidity/data-feeds/MockV3Aggregator.mdx
new file mode 100644
index 0000000..e7c8c25
--- /dev/null
+++ b/api_reference/solidity/data-feeds/MockV3Aggregator.mdx
@@ -0,0 +1,263 @@
+# Solidity API
+
+## MockV3Aggregator
+
+This contract is a mock implementation of the AggregatorV2V3Interface for
+testing purposes.
+
+_This contract interacts with a MockOffchainAggregator to simulate price feeds._
+
+### version
+
+```solidity
+uint256 version
+```
+
+The version of the aggregator.
+
+### aggregator
+
+```solidity
+address aggregator
+```
+
+The address of the current aggregator.
+
+### proposedAggregator
+
+```solidity
+address proposedAggregator
+```
+
+The address of the proposed aggregator.
+
+### constructor
+
+```solidity
+constructor(uint8 _decimals, int256 _initialAnswer) public
+```
+
+Constructor to initialize the MockV3Aggregator contract with initial parameters.
+
+#### Parameters
+
+| Name | Type | Description |
+| --------------- | ------ | ------------------------------------------------------ |
+| \_decimals | uint8 | - The number of decimals for the aggregator. |
+| \_initialAnswer | int256 | - The initial answer to be set in the mock aggregator. |
+
+### decimals
+
+```solidity
+function decimals() external view returns (uint8)
+```
+
+Gets the number of decimals used by the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ----- | ------------------------------- |
+| [0] | uint8 | uint8 - The number of decimals. |
+
+### getAnswer
+
+```solidity
+function getAnswer(uint256 roundId) external view returns (int256)
+```
+
+Gets the answer for a specific round ID.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------- | ------- | ------------------------------------- |
+| roundId | uint256 | - The round ID to get the answer for. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------ | ------------------------------------------- |
+| [0] | int256 | int256 - The answer for the given round ID. |
+
+### getRoundData
+
+```solidity
+function getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
+```
+
+Gets the round data for a specific round ID.
+
+_This function should raise "No data present" if no data is available for the
+given round ID._
+
+#### Parameters
+
+| Name | Type | Description |
+| --------- | ------ | ----------------------------------- |
+| \_roundId | uint80 | - The round ID to get the data for. |
+
+#### Return Values
+
+| Name | Type | Description |
+| --------------- | ------- | ------------------------------------------------ |
+| roundId | uint80 | - The round ID. |
+| answer | int256 | - The answer for the round. |
+| startedAt | uint256 | - The timestamp when the round started. |
+| updatedAt | uint256 | - The timestamp when the round was updated. |
+| answeredInRound | uint80 | - The round ID in which the answer was computed. |
+
+### latestRoundData
+
+```solidity
+function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
+```
+
+Gets the latest round data.
+
+_This function should raise "No data present" if no data is available._
+
+#### Return Values
+
+| Name | Type | Description |
+| --------------- | ------- | ------------------------------------------------------- |
+| roundId | uint80 | - The latest round ID. |
+| answer | int256 | - The latest answer. |
+| startedAt | uint256 | - The timestamp when the latest round started. |
+| updatedAt | uint256 | - The timestamp when the latest round was updated. |
+| answeredInRound | uint80 | - The round ID in which the latest answer was computed. |
+
+### getTimestamp
+
+```solidity
+function getTimestamp(uint256 roundId) external view returns (uint256)
+```
+
+Gets the timestamp for a specific round ID.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------- | ------- | ---------------------------------------- |
+| roundId | uint256 | - The round ID to get the timestamp for. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------- | ----------------------------------------------- |
+| [0] | uint256 | uint256 - The timestamp for the given round ID. |
+
+### latestAnswer
+
+```solidity
+function latestAnswer() external view returns (int256)
+```
+
+Gets the latest answer from the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------ | --------------------------- |
+| [0] | int256 | int256 - The latest answer. |
+
+### latestTimestamp
+
+```solidity
+function latestTimestamp() external view returns (uint256)
+```
+
+Gets the timestamp of the latest answer from the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------- | --------------------------------------------- |
+| [0] | uint256 | uint256 - The timestamp of the latest answer. |
+
+### latestRound
+
+```solidity
+function latestRound() external view returns (uint256)
+```
+
+Gets the latest round ID from the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------- | ------------------------------ |
+| [0] | uint256 | uint256 - The latest round ID. |
+
+### updateAnswer
+
+```solidity
+function updateAnswer(int256 _answer) public
+```
+
+Updates the answer in the mock aggregator.
+
+#### Parameters
+
+| Name | Type | Description |
+| -------- | ------ | --------------------------- |
+| \_answer | int256 | - The new answer to be set. |
+
+### updateRoundData
+
+```solidity
+function updateRoundData(uint80 _roundId, int256 _answer, uint256 _timestamp, uint256 _startedAt) public
+```
+
+Updates the round data in the mock aggregator.
+
+#### Parameters
+
+| Name | Type | Description |
+| ----------- | ------- | --------------------------------------- |
+| \_roundId | uint80 | - The round ID to be updated. |
+| \_answer | int256 | - The new answer to be set. |
+| \_timestamp | uint256 | - The timestamp to be set. |
+| \_startedAt | uint256 | - The timestamp when the round started. |
+
+### proposeAggregator
+
+```solidity
+function proposeAggregator(contract AggregatorV2V3Interface _aggregator) external
+```
+
+Proposes a new aggregator.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------------ | -------------------------------- | ----------------------------------------- |
+| \_aggregator | contract AggregatorV2V3Interface | - The address of the proposed aggregator. |
+
+### confirmAggregator
+
+```solidity
+function confirmAggregator(address _aggregator) external
+```
+
+Confirms the proposed aggregator.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------------ | ------- | ----------------------------------------- |
+| \_aggregator | address | - The address of the proposed aggregator. |
+
+### description
+
+```solidity
+function description() external pure returns (string)
+```
+
+Gets the description of the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------ | -------------------------------------------------- |
+| [0] | string | string memory - The description of the aggregator. |
diff --git a/api_reference/data-feeds/index.mdx b/api_reference/solidity/data-feeds/index.mdx
similarity index 100%
rename from api_reference/data-feeds/index.mdx
rename to api_reference/solidity/data-feeds/index.mdx
diff --git a/api_reference/solidity/data-feeds/interfaces/AggregatorInterface.mdx b/api_reference/solidity/data-feeds/interfaces/AggregatorInterface.mdx
new file mode 100644
index 0000000..506c2d4
--- /dev/null
+++ b/api_reference/solidity/data-feeds/interfaces/AggregatorInterface.mdx
@@ -0,0 +1,122 @@
+# Solidity API
+
+## AggregatorInterface
+
+Interface for accessing data from an aggregator contract.
+
+_Provides methods to get the latest data and historical data for specific
+rounds._
+
+### latestAnswer
+
+```solidity
+function latestAnswer() external view returns (int256)
+```
+
+Gets the latest answer from the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------ | --------------------------- |
+| [0] | int256 | int256 - The latest answer. |
+
+### latestTimestamp
+
+```solidity
+function latestTimestamp() external view returns (uint256)
+```
+
+Gets the timestamp of the latest answer from the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------- | --------------------------------------------- |
+| [0] | uint256 | uint256 - The timestamp of the latest answer. |
+
+### latestRound
+
+```solidity
+function latestRound() external view returns (uint256)
+```
+
+Gets the latest round ID from the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------- | ------------------------------ |
+| [0] | uint256 | uint256 - The latest round ID. |
+
+### getAnswer
+
+```solidity
+function getAnswer(uint256 roundId) external view returns (int256)
+```
+
+Gets the answer for a specific round ID.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------- | ------- | ------------------------------------- |
+| roundId | uint256 | - The round ID to get the answer for. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------ | ------------------------------------------- |
+| [0] | int256 | int256 - The answer for the given round ID. |
+
+### getTimestamp
+
+```solidity
+function getTimestamp(uint256 roundId) external view returns (uint256)
+```
+
+Gets the timestamp for a specific round ID.
+
+#### Parameters
+
+| Name | Type | Description |
+| ------- | ------- | ---------------------------------------- |
+| roundId | uint256 | - The round ID to get the timestamp for. |
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------- | ----------------------------------------------- |
+| [0] | uint256 | uint256 - The timestamp for the given round ID. |
+
+### AnswerUpdated
+
+```solidity
+event AnswerUpdated(int256 current, uint256 roundId, uint256 updatedAt)
+```
+
+Emitted when the answer is updated.
+
+#### Parameters
+
+| Name | Type | Description |
+| --------- | ------- | ------------------------------------------------ |
+| current | int256 | - The updated answer. |
+| roundId | uint256 | - The round ID for which the answer was updated. |
+| updatedAt | uint256 | - The timestamp when the answer was updated. |
+
+### NewRound
+
+```solidity
+event NewRound(uint256 roundId, address startedBy, uint256 startedAt)
+```
+
+Emitted when a new round is started.
+
+#### Parameters
+
+| Name | Type | Description |
+| --------- | ------- | ---------------------------------------------------- |
+| roundId | uint256 | - The round ID of the new round. |
+| startedBy | address | - The address of the account that started the round. |
+| startedAt | uint256 | - The timestamp when the round was started. |
diff --git a/api_reference/data-feeds/interfaces/AggregatorV2V3Interface.mdx b/api_reference/solidity/data-feeds/interfaces/AggregatorV2V3Interface.mdx
similarity index 99%
rename from api_reference/data-feeds/interfaces/AggregatorV2V3Interface.mdx
rename to api_reference/solidity/data-feeds/interfaces/AggregatorV2V3Interface.mdx
index 497e3dc..8e48404 100644
--- a/api_reference/data-feeds/interfaces/AggregatorV2V3Interface.mdx
+++ b/api_reference/solidity/data-feeds/interfaces/AggregatorV2V3Interface.mdx
@@ -3,4 +3,3 @@
## AggregatorV2V3Interface
Interface that inherits from both AggregatorInterface and AggregatorV3Interface.
-
diff --git a/api_reference/solidity/data-feeds/interfaces/AggregatorV3Interface.mdx b/api_reference/solidity/data-feeds/interfaces/AggregatorV3Interface.mdx
new file mode 100644
index 0000000..732f3d4
--- /dev/null
+++ b/api_reference/solidity/data-feeds/interfaces/AggregatorV3Interface.mdx
@@ -0,0 +1,98 @@
+# Solidity API
+
+## AggregatorV3Interface
+
+Interface for accessing detailed data from an aggregator contract, including
+round data and metadata.
+
+_Provides methods to get the latest data, historical data for specific rounds,
+and metadata such as decimals and description._
+
+### decimals
+
+```solidity
+function decimals() external view returns (uint8)
+```
+
+Gets the number of decimals used by the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ----- | ------------------------------- |
+| [0] | uint8 | uint8 - The number of decimals. |
+
+### description
+
+```solidity
+function description() external view returns (string)
+```
+
+Gets the description of the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------ | -------------------------------------------------- |
+| [0] | string | string memory - The description of the aggregator. |
+
+### version
+
+```solidity
+function version() external view returns (uint256)
+```
+
+Gets the version of the aggregator.
+
+#### Return Values
+
+| Name | Type | Description |
+| ---- | ------- | ---------------------------------------- |
+| [0] | uint256 | uint256 - The version of the aggregator. |
+
+### getRoundData
+
+```solidity
+function getRoundData(uint80 _roundId) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
+```
+
+Gets the round data for a specific round ID.
+
+_This function should raise "No data present" if no data is available for the
+given round ID._
+
+#### Parameters
+
+| Name | Type | Description |
+| --------- | ------ | ----------------------------------- |
+| \_roundId | uint80 | - The round ID to get the data for. |
+
+#### Return Values
+
+| Name | Type | Description |
+| --------------- | ------- | ------------------------------------------------ |
+| roundId | uint80 | - The round ID. |
+| answer | int256 | - The answer for the round. |
+| startedAt | uint256 | - The timestamp when the round started. |
+| updatedAt | uint256 | - The timestamp when the round was updated. |
+| answeredInRound | uint80 | - The round ID in which the answer was computed. |
+
+### latestRoundData
+
+```solidity
+function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
+```
+
+Gets the latest round data.
+
+_This function should raise "No data present" if no data is available._
+
+#### Return Values
+
+| Name | Type | Description |
+| --------------- | ------- | ------------------------------------------------------- |
+| roundId | uint80 | - The latest round ID. |
+| answer | int256 | - The latest answer. |
+| startedAt | uint256 | - The timestamp when the latest round started. |
+| updatedAt | uint256 | - The timestamp when the latest round was updated. |
+| answeredInRound | uint80 | - The round ID in which the latest answer was computed. |
diff --git a/api_reference/data-feeds/interfaces/index.mdx b/api_reference/solidity/data-feeds/interfaces/index.mdx
similarity index 100%
rename from api_reference/data-feeds/interfaces/index.mdx
rename to api_reference/solidity/data-feeds/interfaces/index.mdx
diff --git a/api_reference/solidity/index.mdx b/api_reference/solidity/index.mdx
new file mode 100644
index 0000000..cea2004
--- /dev/null
+++ b/api_reference/solidity/index.mdx
@@ -0,0 +1,5 @@
+# Solidity API Reference
+
+- [ccip](ccip/index.mdx)
+- [data-feeds](data-feeds/index.mdx)
+- [shared](shared/index.mdx)
diff --git a/api_reference/shared/LinkToken.mdx b/api_reference/solidity/shared/LinkToken.mdx
similarity index 68%
rename from api_reference/shared/LinkToken.mdx
rename to api_reference/solidity/shared/LinkToken.mdx
index dde4845..fbce236 100644
--- a/api_reference/shared/LinkToken.mdx
+++ b/api_reference/solidity/shared/LinkToken.mdx
@@ -4,7 +4,8 @@
This contract implements the ChainLink Token (LINK) using the ERC677 standard.
-_Inherits from the ERC677 token contract and initializes with a fixed total supply and standard token details._
+_Inherits from the ERC677 token contract and initializes with a fixed total
+supply and standard token details._
### constructor
@@ -12,11 +13,13 @@ _Inherits from the ERC677 token contract and initializes with a fixed total supp
constructor() public
```
-Constructor to initialize the LinkToken contract with a fixed total supply, name, and symbol.
+Constructor to initialize the LinkToken contract with a fixed total supply,
+name, and symbol.
-_Calls the ERC677 constructor with the name and symbol, and then mints the total supply to the contract deployer._
+_Calls the ERC677 constructor with the name and symbol, and then mints the total
+supply to the contract deployer._
-### _onCreate
+### \_onCreate
```solidity
function _onCreate() internal virtual
@@ -24,6 +27,6 @@ function _onCreate() internal virtual
Hook that is called when this contract is created.
-_Useful to override constructor behaviour in child contracts (e.g., LINK bridge tokens).
- The default implementation mints 10**27 tokens to the contract deployer._
-
+_Useful to override constructor behaviour in child contracts (e.g., LINK bridge
+tokens). The default implementation mints 10\*\*27 tokens to the contract
+deployer._
diff --git a/api_reference/shared/WETH9.mdx b/api_reference/solidity/shared/WETH9.mdx
similarity index 98%
rename from api_reference/shared/WETH9.mdx
rename to api_reference/solidity/shared/WETH9.mdx
index b4ef5be..3a82a03 100644
--- a/api_reference/shared/WETH9.mdx
+++ b/api_reference/solidity/shared/WETH9.mdx
@@ -62,7 +62,7 @@ mapping(address => mapping(address => uint256)) allowance
receive() external payable
```
-### _deposit
+### \_deposit
```solidity
function _deposit() internal
@@ -103,4 +103,3 @@ function transfer(address dst, uint256 wad) public returns (bool)
```solidity
function transferFrom(address src, address dst, uint256 wad) public returns (bool)
```
-
diff --git a/api_reference/shared/index.mdx b/api_reference/solidity/shared/index.mdx
similarity index 100%
rename from api_reference/shared/index.mdx
rename to api_reference/solidity/shared/index.mdx
diff --git a/hardhat.config.ts b/hardhat.config.ts
index fb14665..3576b4b 100644
--- a/hardhat.config.ts
+++ b/hardhat.config.ts
@@ -17,7 +17,7 @@ const config: HardhatUserConfig = {
pageExtension: ".mdx",
templates: "custom_templates",
exclude: ["test"],
- outputDir: "api_reference",
+ outputDir: "api_reference/solidity",
},
};
diff --git a/generate-index-files.ts b/helper_doc/generate-index-files.ts
similarity index 96%
rename from generate-index-files.ts
rename to helper_doc/generate-index-files.ts
index 042894b..eab92ff 100644
--- a/generate-index-files.ts
+++ b/helper_doc/generate-index-files.ts
@@ -2,7 +2,7 @@ import fs from "fs-extra";
import path from "path";
const MDX_EXTENSION = ".mdx";
-const rootDir = path.join(__dirname, "api_reference");
+const rootDir = path.join(process.cwd(), "api_reference");
const generateIndexFile = async (dir: string, header: string) => {
const files = await fs.readdir(dir);
diff --git a/helper_doc/generate-jsdoc.ts b/helper_doc/generate-jsdoc.ts
new file mode 100644
index 0000000..6e09970
--- /dev/null
+++ b/helper_doc/generate-jsdoc.ts
@@ -0,0 +1,30 @@
+import fs from "fs-extra";
+import path from "path";
+import jsdoc2md from "jsdoc-to-markdown";
+
+const MDX_EXTENSION = ".mdx";
+const outputDir = path.join(process.cwd(), "api_reference/javascript");
+
+const jsFiles = ["scripts/CCIPLocalSimulatorFork.js"];
+
+const generateMarkdownDocs = async (
+ files: string[],
+ outputDirectory: string
+) => {
+ await fs.ensureDir(outputDirectory);
+
+ for (const file of files) {
+ const absoluteFilePath = path.join(process.cwd(), file);
+ const fileName = path.basename(file, path.extname(file));
+ const outputPath = path.join(
+ outputDirectory,
+ `${fileName}${MDX_EXTENSION}`
+ );
+ const markdown = await jsdoc2md.render({ files: absoluteFilePath });
+ await fs.outputFile(outputPath, markdown);
+ }
+};
+
+generateMarkdownDocs(jsFiles, outputDir)
+ .then(() => console.log("Markdown documentation generated successfully."))
+ .catch((err) => console.error(err));
diff --git a/package-lock.json b/package-lock.json
index 81ac1f8..8da35d9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,9 +16,13 @@
"@nomicfoundation/hardhat-foundry": "^1.1.1",
"@nomicfoundation/hardhat-toolbox": "^4.0.0",
"@types/fs-extra": "^11.0.4",
+ "@types/jsdoc-to-markdown": "^7.0.6",
"dotenv": "^16.4.5",
"fs-extra": "^11.2.0",
"hardhat": "^2.20.1",
+ "jsdoc-to-markdown": "^8.0.1",
+ "prettier": "^3.3.3",
+ "rimraf": "^6.0.1",
"solidity-docgen": "^0.6.0-beta.36"
}
},
@@ -109,6 +113,19 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/parser": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz",
+ "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@babel/runtime": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
@@ -321,6 +338,21 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/@changesets/apply-release-plan/node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/@changesets/apply-release-plan/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -853,6 +885,21 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/@changesets/write/node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/@changesets/write/node_modules/universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
@@ -1677,6 +1724,109 @@
"node": ">=14"
}
},
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
@@ -1705,6 +1855,19 @@
"@jridgewell/sourcemap-codec": "^1.4.10"
}
},
+ "node_modules/@jsdoc/salty": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
+ "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ },
+ "engines": {
+ "node": ">=v12.0.0"
+ }
+ },
"node_modules/@manypkg/find-root": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz",
@@ -2628,6 +2791,17 @@
"node": ">=8"
}
},
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/@scroll-tech/contracts": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@scroll-tech/contracts/-/contracts-0.1.0.tgz",
@@ -3021,6 +3195,13 @@
"node": ">=8"
}
},
+ "node_modules/@types/jsdoc-to-markdown": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/jsdoc-to-markdown/-/jsdoc-to-markdown-7.0.6.tgz",
+ "integrity": "sha512-FB/oOam8P4WoGbkfLu6ciektQhqlVuL4VsbrGJp3/YDAlRGcoiOhXDnnPL73TtHYMsDZ7NHYhCGJn4hu0TZdHg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/jsonfile": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz",
@@ -3031,12 +3212,37 @@
"@types/node": "*"
}
},
+ "node_modules/@types/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==",
"dev": true
},
+ "node_modules/@types/markdown-it": {
+ "version": "14.1.1",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz",
+ "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/linkify-it": "^5",
+ "@types/mdurl": "^2"
+ }
+ },
+ "node_modules/@types/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
@@ -3250,6 +3456,19 @@
"node": ">=6"
}
},
+ "node_modules/ansi-escape-sequences": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz",
+ "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -3322,7 +3541,6 @@
"resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
"integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=6"
}
@@ -3554,6 +3772,13 @@
"integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==",
"devOptional": true
},
+ "node_modules/bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/bn.js": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
@@ -3765,6 +3990,31 @@
"node": ">= 0.8"
}
},
+ "node_modules/cache-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-2.0.0.tgz",
+ "integrity": "sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^4.0.1",
+ "fs-then-native": "^2.0.0",
+ "mkdirp2": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cache-point/node_modules/array-back": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
+ "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/call-bind": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
@@ -3826,6 +4076,19 @@
"dev": true,
"peer": true
},
+ "node_modules/catharsis": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
+ "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/cbor": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz",
@@ -4051,6 +4314,20 @@
"node": ">=0.8"
}
},
+ "node_modules/collect-all": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.4.tgz",
+ "integrity": "sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "stream-connect": "^1.0.2",
+ "stream-via": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -4098,7 +4375,6 @@
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
"integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
"dev": true,
- "peer": true,
"dependencies": {
"array-back": "^3.1.0",
"find-replace": "^3.0.0",
@@ -4109,6 +4385,100 @@
"node": ">=4.0.0"
}
},
+ "node_modules/command-line-tool": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz",
+ "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escape-sequences": "^4.0.0",
+ "array-back": "^2.0.0",
+ "command-line-args": "^5.0.0",
+ "command-line-usage": "^4.1.0",
+ "typical": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/command-line-tool/node_modules/array-back": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
+ "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "typical": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/command-line-tool/node_modules/command-line-usage": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz",
+ "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escape-sequences": "^4.0.0",
+ "array-back": "^2.0.0",
+ "table-layout": "^0.4.2",
+ "typical": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/command-line-tool/node_modules/reduce-flatten": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
+ "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/command-line-tool/node_modules/table-layout": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz",
+ "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^2.0.0",
+ "deep-extend": "~0.6.0",
+ "lodash.padend": "^4.6.1",
+ "typical": "^2.6.1",
+ "wordwrapjs": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/command-line-tool/node_modules/typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/command-line-tool/node_modules/wordwrapjs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
+ "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "reduce-flatten": "^1.0.1",
+ "typical": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/command-line-usage": {
"version": "6.1.3",
"resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz",
@@ -4151,6 +4521,16 @@
"integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
"dev": true
},
+ "node_modules/common-sequence": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-2.0.2.tgz",
+ "integrity": "sha512-jAg09gkdkrDO9EWTdXfv80WWH3yeZl5oT69fGfedBNS9pXUKYInVJ1bJ+/ht2+Moeei48TmSbQDYMc8EOx9G0g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/compare-versions": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz",
@@ -4211,6 +4591,26 @@
"safe-buffer": "~5.1.0"
}
},
+ "node_modules/config-master": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz",
+ "integrity": "sha512-n7LBL1zBzYdTpF1mx5DNcZnZn05CWIdsdvtPL4MosvqbBUK3Rq6VWEtGUuF3Y0s9/CIhMejezqlSkP6TnCJ/9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "walk-back": "^2.0.1"
+ }
+ },
+ "node_modules/config-master/node_modules/walk-back": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz",
+ "integrity": "sha512-Nb6GvBR8UWX1D+Le+xUq0+Q1kFmRBIWVrfLnQAOmcpEzA9oAxwJ9gIr36t9TWYfzvWRvuMtjHiVsJYEkXWaTAQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/cookie": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
@@ -4459,7 +4859,6 @@
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=4.0.0"
}
@@ -4574,10 +4973,54 @@
"node": ">=8"
}
},
- "node_modules/dotenv": {
- "version": "16.4.5",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
- "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+ "node_modules/dmd": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.0.tgz",
+ "integrity": "sha512-uXWxLF1H7TkUAuoHK59/h/ts5cKavm2LnhrIgJWisip4BVzPoXavlwyoprFFn2CzcahKYgvkfaebS6oxzgflkg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^6.2.2",
+ "cache-point": "^2.0.0",
+ "common-sequence": "^2.0.2",
+ "file-set": "^4.0.2",
+ "handlebars": "^4.7.7",
+ "marked": "^4.2.3",
+ "object-get": "^2.1.1",
+ "reduce-flatten": "^3.0.1",
+ "reduce-unique": "^2.0.1",
+ "reduce-without": "^1.0.1",
+ "test-value": "^3.0.0",
+ "walk-back": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/dmd/node_modules/array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/dmd/node_modules/reduce-flatten": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.1.tgz",
+ "integrity": "sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
"dev": true,
"engines": {
"node": ">=12"
@@ -4586,6 +5029,13 @@
"url": "https://dotenvx.com"
}
},
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/elliptic": {
"version": "6.5.4",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
@@ -4622,6 +5072,19 @@
"node": ">=8.6"
}
},
+ "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,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/env-paths": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
@@ -5204,6 +5667,30 @@
"reusify": "^1.0.4"
}
},
+ "node_modules/file-set": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz",
+ "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^5.0.0",
+ "glob": "^7.1.6"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/file-set/node_modules/array-back": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
+ "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -5220,7 +5707,6 @@
"resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
"integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
"dev": true,
- "peer": true,
"dependencies": {
"array-back": "^3.0.1"
},
@@ -5294,6 +5780,100 @@
"is-callable": "^1.1.3"
}
},
+ "node_modules/foreground-child": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
+ "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/foreground-child/node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/foreground-child/node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/foreground-child/node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/foreground-child/node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/foreground-child/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,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/foreground-child/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
@@ -5337,6 +5917,16 @@
"dev": true,
"peer": true
},
+ "node_modules/fs-then-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
+ "integrity": "sha512-X712jAOaWXkemQCAmWeg5rOT2i+KOpWz1Z/txk/cW0qlOu2oQ9H61vc5w3X/iyuUEfq/OyaFJ78/cZAQD1/bgA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -6431,6 +7021,25 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
+ "node_modules/jackspeak": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz",
+ "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
"node_modules/js-sdsl": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.2.tgz",
@@ -6463,6 +7072,169 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/js2xmlparser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz",
+ "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "xmlcreate": "^2.0.4"
+ }
+ },
+ "node_modules/jsdoc": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz",
+ "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/parser": "^7.20.15",
+ "@jsdoc/salty": "^0.2.1",
+ "@types/markdown-it": "^14.1.1",
+ "bluebird": "^3.7.2",
+ "catharsis": "^0.9.0",
+ "escape-string-regexp": "^2.0.0",
+ "js2xmlparser": "^4.0.2",
+ "klaw": "^3.0.0",
+ "markdown-it": "^14.1.0",
+ "markdown-it-anchor": "^8.6.7",
+ "marked": "^4.0.10",
+ "mkdirp": "^1.0.4",
+ "requizzle": "^0.2.3",
+ "strip-json-comments": "^3.1.0",
+ "underscore": "~1.13.2"
+ },
+ "bin": {
+ "jsdoc": "jsdoc.js"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/jsdoc-api": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.0.0.tgz",
+ "integrity": "sha512-Rnhor0suB1Ds1abjmFkFfKeD+kSMRN9oHMTMZoJVUrmtCGDwXty+sWMA9sa4xbe4UyxuPjhC7tavZ40mDKK6QQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^6.2.2",
+ "cache-point": "^2.0.0",
+ "collect-all": "^1.0.4",
+ "file-set": "^4.0.2",
+ "fs-then-native": "^2.0.0",
+ "jsdoc": "^4.0.0",
+ "object-to-spawn-args": "^2.0.1",
+ "temp-path": "^1.0.0",
+ "walk-back": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/jsdoc-api/node_modules/array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/jsdoc-parse": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.1.tgz",
+ "integrity": "sha512-9viGRUUtWOk/G4V0+nQ6rfLucz5plxh5I74WbNSNm9h9NWugCDVX4jbG8hZP9QqKGpdTPDE+qJXzaYNos3wqTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^6.2.2",
+ "lodash.omit": "^4.5.0",
+ "reduce-extract": "^1.0.0",
+ "sort-array": "^4.1.5",
+ "test-value": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/jsdoc-parse/node_modules/array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/jsdoc-to-markdown": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.1.tgz",
+ "integrity": "sha512-qJfNJhkq2C26UYoOdj8L1yheTJlk1veCsxwRejRmj07XZKCn7oSkuPErx6+JoNi8afCaUKdIM5oUu0uF2/T8iw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^6.2.2",
+ "command-line-tool": "^0.8.0",
+ "config-master": "^3.1.0",
+ "dmd": "^6.2.0",
+ "jsdoc-api": "^8.0.0",
+ "jsdoc-parse": "^6.2.1",
+ "walk-back": "^5.1.0"
+ },
+ "bin": {
+ "jsdoc2md": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/jsdoc-to-markdown/node_modules/array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/jsdoc/node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jsdoc/node_modules/klaw": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
+ "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
+ "node_modules/jsdoc/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -6563,6 +7335,16 @@
"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,
+ "license": "MIT",
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
+ },
"node_modules/load-yaml-file": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz",
@@ -6632,8 +7414,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
@@ -6649,6 +7430,20 @@
"dev": true,
"peer": true
},
+ "node_modules/lodash.omit": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
+ "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.padend": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
+ "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/lodash.startcase": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz",
@@ -6788,6 +7583,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,
+ "license": "MIT",
+ "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-anchor": {
+ "version": "8.6.7",
+ "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz",
+ "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==",
+ "dev": true,
+ "license": "Unlicense",
+ "peerDependencies": {
+ "@types/markdown-it": "*",
+ "markdown-it": "*"
+ }
+ },
"node_modules/markdown-table": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
@@ -6795,6 +7619,19 @@
"dev": true,
"peer": 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,
+ "license": "MIT",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
"node_modules/md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -6806,6 +7643,13 @@
"safe-buffer": "^5.1.2"
}
},
+ "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,
+ "license": "MIT"
+ },
"node_modules/memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
@@ -6986,6 +7830,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
"node_modules/mixme": {
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.10.tgz",
@@ -7007,6 +7861,13 @@
"mkdirp": "bin/cmd.js"
}
},
+ "node_modules/mkdirp2": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz",
+ "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/mnemonist": {
"version": "0.38.5",
"resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz",
@@ -7384,6 +8245,13 @@
"node": ">=0.10.0"
}
},
+ "node_modules/object-get": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz",
+ "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/object-inspect": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
@@ -7400,6 +8268,16 @@
"node": ">= 0.4"
}
},
+ "node_modules/object-to-spawn-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz",
+ "integrity": "sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/object.assign": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
@@ -7551,6 +8429,13 @@
"node": ">=4"
}
},
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0"
+ },
"node_modules/parse-cache-control": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
@@ -7671,6 +8556,19 @@
"node": ">=8"
}
},
+ "node_modules/patch-package/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
"node_modules/patch-package/node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
@@ -7728,6 +8626,33 @@
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
+ "node_modules/path-scurry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
+ "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz",
+ "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
"node_modules/path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -7957,14 +8882,16 @@
}
},
"node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
+ "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "dev": true,
+ "license": "MIT",
"bin": {
- "prettier": "bin-prettier.js"
+ "prettier": "bin/prettier.cjs"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
@@ -8020,6 +8947,16 @@
"node": ">=6"
}
},
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/qs": {
"version": "6.11.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
@@ -8307,6 +9244,53 @@
"node": ">=8"
}
},
+ "node_modules/reduce-extract": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
+ "integrity": "sha512-QF8vjWx3wnRSL5uFMyCjDeDc5EBMiryoT9tz94VvgjKfzecHAVnqmXAwQDcr7X4JmLc2cjkjFGCVzhMqDjgR9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "test-value": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/reduce-extract/node_modules/array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "typical": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/reduce-extract/node_modules/test-value": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
+ "integrity": "sha512-wrsbRo7qP+2Je8x8DsK8ovCGyxe3sYfQwOraIY/09A2gFXU9DYKiTF14W4ki/01AEh56kMzAmlj9CaHGDDUBJA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^1.0.2",
+ "typical": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/reduce-extract/node_modules/typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/reduce-flatten": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
@@ -8317,6 +9301,63 @@
"node": ">=6"
}
},
+ "node_modules/reduce-unique": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz",
+ "integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/reduce-without": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
+ "integrity": "sha512-zQv5y/cf85sxvdrKPlfcRzlDn/OqKFThNimYmsS3flmkioKvkUGn2Qg9cJVoQiEvdxFGLE0MQER/9fZ9sUqdxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "test-value": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/reduce-without/node_modules/array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "typical": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/reduce-without/node_modules/test-value": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
+ "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^1.0.3",
+ "typical": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/reduce-without/node_modules/typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
@@ -8387,6 +9428,16 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
+ "node_modules/requizzle": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz",
+ "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ }
+ },
"node_modules/resolve": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
@@ -8417,24 +9468,83 @@
"node": ">= 4"
}
},
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz",
+ "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^11.0.0",
+ "package-json-from-dist": "^1.0.0"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/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,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz",
+ "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^4.0.1",
+ "minimatch": "^10.0.0",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
"engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "node_modules/rimraf/node_modules/minimatch": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
+ "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "glob": "^7.1.3"
+ "brace-expansion": "^2.0.1"
},
- "bin": {
- "rimraf": "bin.js"
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/ripemd160": {
@@ -9138,6 +10248,20 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/solc/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
"node_modules/solc/node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
@@ -9275,6 +10399,40 @@
"hardhat": "^2.8.0"
}
},
+ "node_modules/sort-array": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-4.1.5.tgz",
+ "integrity": "sha512-Ya4peoS1fgFN42RN1REk2FgdNOeLIEMKFGJvs7VTP3OklF8+kl2SkpVliZ4tk/PurWsrWRsdNdU+tgyOBkB9sA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^5.0.0",
+ "typical": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/sort-array/node_modules/array-back": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
+ "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/sort-array/node_modules/typical": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-6.0.1.tgz",
+ "integrity": "sha512-+g3NEp7fJLe9DPa1TArHm9QAA7YciZmWnfAqEaFrBihQ7epOv9i99rjtgb6Iz0wh3WuQDjsCTDfgRoGnmHN81A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/source-map": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
@@ -9404,6 +10562,39 @@
"node": ">= 0.8"
}
},
+ "node_modules/stream-connect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
+ "integrity": "sha512-68Kl+79cE0RGKemKkhxTSg8+6AGrqBt+cbZAXevg2iJ6Y3zX4JhA/sZeGzLpxW9cXhmqAcE7KnJCisUmIUfnFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/stream-connect/node_modules/array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "typical": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/stream-connect/node_modules/typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/stream-transform": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz",
@@ -9412,6 +10603,16 @@
"mixme": "^0.5.1"
}
},
+ "node_modules/stream-via": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
+ "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -9441,6 +10642,22 @@
"node": ">=8"
}
},
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/string.prototype.trim": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
@@ -9498,6 +10715,20 @@
"node": ">=8"
}
},
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
@@ -9631,6 +10862,13 @@
"node": ">=8"
}
},
+ "node_modules/temp-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
+ "integrity": "sha512-TvmyH7kC6ZVTYkqCODjJIbgvu0FKiwQpZ4D1aknE7xpcDf/qEOB8KZEK5ef2pfbVoiBhNWs3yx4y+ESMtNYmlg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/term-size": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
@@ -9642,6 +10880,40 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/test-value": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
+ "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-back": "^2.0.0",
+ "typical": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/test-value/node_modules/array-back": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
+ "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "typical": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/test-value/node_modules/typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/then-request": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
@@ -10151,6 +11423,23 @@
"node": ">=10"
}
},
+ "node_modules/typechain/node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/typechain/node_modules/universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
@@ -10256,11 +11545,17 @@
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
"integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
"dev": true,
- "peer": true,
"engines": {
"node": ">=8"
}
},
+ "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,
+ "license": "MIT"
+ },
"node_modules/uglify-js": {
"version": "3.17.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
@@ -10288,6 +11583,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/underscore": {
+ "version": "1.13.6",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
+ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/undici": {
"version": "5.28.3",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz",
@@ -10371,6 +11673,16 @@
"spdx-expression-parse": "^3.0.0"
}
},
+ "node_modules/walk-back": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.0.tgz",
+ "integrity": "sha512-Uhxps5yZcVNbLEAnb+xaEEMdgTXl9qAQDzKYejG2AZ7qPwRQ81lozY9ECDbjLPNWm7YsO1IK5rsP1KoQzXAcGA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -10595,6 +11907,61 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/wrap-ansi/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -10652,6 +12019,13 @@
}
}
},
+ "node_modules/xmlcreate": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz",
+ "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -10819,6 +12193,12 @@
"picocolors": "^1.0.0"
}
},
+ "@babel/parser": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz",
+ "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==",
+ "dev": true
+ },
"@babel/runtime": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
@@ -10997,6 +12377,11 @@
"graceful-fs": "^4.1.6"
}
},
+ "prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
+ },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -11444,6 +12829,11 @@
"graceful-fs": "^4.1.6"
}
},
+ "prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
+ },
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
@@ -11929,12 +13319,77 @@
"@ethersproject/strings": "^5.7.0"
}
},
- "@fastify/busboy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz",
- "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==",
- "dev": true
- },
+ "@fastify/busboy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz",
+ "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==",
+ "dev": true
+ },
+ "@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "requires": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
+ },
+ "wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ }
+ }
+ }
+ },
"@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
@@ -11960,6 +13415,15 @@
"@jridgewell/sourcemap-codec": "^1.4.10"
}
},
+ "@jsdoc/salty": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
+ "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.21"
+ }
+ },
"@manypkg/find-root": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz",
@@ -12613,6 +14077,13 @@
}
}
},
+ "@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "optional": true
+ },
"@scroll-tech/contracts": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@scroll-tech/contracts/-/contracts-0.1.0.tgz",
@@ -12960,6 +14431,12 @@
}
}
},
+ "@types/jsdoc-to-markdown": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/jsdoc-to-markdown/-/jsdoc-to-markdown-7.0.6.tgz",
+ "integrity": "sha512-FB/oOam8P4WoGbkfLu6ciektQhqlVuL4VsbrGJp3/YDAlRGcoiOhXDnnPL73TtHYMsDZ7NHYhCGJn4hu0TZdHg==",
+ "dev": true
+ },
"@types/jsonfile": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz",
@@ -12969,12 +14446,34 @@
"@types/node": "*"
}
},
+ "@types/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
+ "dev": true
+ },
"@types/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==",
"dev": true
},
+ "@types/markdown-it": {
+ "version": "14.1.1",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz",
+ "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==",
+ "dev": true,
+ "requires": {
+ "@types/linkify-it": "^5",
+ "@types/mdurl": "^2"
+ }
+ },
+ "@types/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
+ "dev": true
+ },
"@types/minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
@@ -13162,6 +14661,15 @@
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="
},
+ "ansi-escape-sequences": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz",
+ "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==",
+ "dev": true,
+ "requires": {
+ "array-back": "^3.0.1"
+ }
+ },
"ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -13218,8 +14726,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
"integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true,
- "peer": true
+ "dev": true
},
"array-buffer-byte-length": {
"version": "1.0.1",
@@ -13390,6 +14897,12 @@
"integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==",
"devOptional": true
},
+ "bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
+ },
"bn.js": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
@@ -13561,6 +15074,25 @@
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true
},
+ "cache-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-2.0.0.tgz",
+ "integrity": "sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w==",
+ "dev": true,
+ "requires": {
+ "array-back": "^4.0.1",
+ "fs-then-native": "^2.0.0",
+ "mkdirp2": "^1.0.4"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
+ "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
+ "dev": true
+ }
+ }
+ },
"call-bind": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
@@ -13603,6 +15135,15 @@
"dev": true,
"peer": true
},
+ "catharsis": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
+ "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
"cbor": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz",
@@ -13775,6 +15316,16 @@
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
},
+ "collect-all": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.4.tgz",
+ "integrity": "sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==",
+ "dev": true,
+ "requires": {
+ "stream-connect": "^1.0.2",
+ "stream-via": "^1.0.4"
+ }
+ },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -13816,7 +15367,6 @@
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
"integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
"dev": true,
- "peer": true,
"requires": {
"array-back": "^3.1.0",
"find-replace": "^3.0.0",
@@ -13824,6 +15374,77 @@
"typical": "^4.0.0"
}
},
+ "command-line-tool": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz",
+ "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==",
+ "dev": true,
+ "requires": {
+ "ansi-escape-sequences": "^4.0.0",
+ "array-back": "^2.0.0",
+ "command-line-args": "^5.0.0",
+ "command-line-usage": "^4.1.0",
+ "typical": "^2.6.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
+ "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.1"
+ }
+ },
+ "command-line-usage": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz",
+ "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==",
+ "dev": true,
+ "requires": {
+ "ansi-escape-sequences": "^4.0.0",
+ "array-back": "^2.0.0",
+ "table-layout": "^0.4.2",
+ "typical": "^2.6.1"
+ }
+ },
+ "reduce-flatten": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
+ "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==",
+ "dev": true
+ },
+ "table-layout": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz",
+ "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "deep-extend": "~0.6.0",
+ "lodash.padend": "^4.6.1",
+ "typical": "^2.6.1",
+ "wordwrapjs": "^3.0.0"
+ }
+ },
+ "typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true
+ },
+ "wordwrapjs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
+ "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
+ "dev": true,
+ "requires": {
+ "reduce-flatten": "^1.0.1",
+ "typical": "^2.6.1"
+ }
+ }
+ }
+ },
"command-line-usage": {
"version": "6.1.3",
"resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz",
@@ -13859,6 +15480,12 @@
"integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
"dev": true
},
+ "common-sequence": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-2.0.2.tgz",
+ "integrity": "sha512-jAg09gkdkrDO9EWTdXfv80WWH3yeZl5oT69fGfedBNS9pXUKYInVJ1bJ+/ht2+Moeei48TmSbQDYMc8EOx9G0g==",
+ "dev": true
+ },
"compare-versions": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz",
@@ -13918,6 +15545,23 @@
}
}
},
+ "config-master": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz",
+ "integrity": "sha512-n7LBL1zBzYdTpF1mx5DNcZnZn05CWIdsdvtPL4MosvqbBUK3Rq6VWEtGUuF3Y0s9/CIhMejezqlSkP6TnCJ/9g==",
+ "dev": true,
+ "requires": {
+ "walk-back": "^2.0.1"
+ },
+ "dependencies": {
+ "walk-back": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz",
+ "integrity": "sha512-Nb6GvBR8UWX1D+Le+xUq0+Q1kFmRBIWVrfLnQAOmcpEzA9oAxwJ9gIr36t9TWYfzvWRvuMtjHiVsJYEkXWaTAQ==",
+ "dev": true
+ }
+ }
+ },
"cookie": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
@@ -14107,8 +15751,7 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true,
- "peer": true
+ "dev": true
},
"deep-is": {
"version": "0.1.4",
@@ -14187,12 +15830,52 @@
"path-type": "^4.0.0"
}
},
+ "dmd": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.0.tgz",
+ "integrity": "sha512-uXWxLF1H7TkUAuoHK59/h/ts5cKavm2LnhrIgJWisip4BVzPoXavlwyoprFFn2CzcahKYgvkfaebS6oxzgflkg==",
+ "dev": true,
+ "requires": {
+ "array-back": "^6.2.2",
+ "cache-point": "^2.0.0",
+ "common-sequence": "^2.0.2",
+ "file-set": "^4.0.2",
+ "handlebars": "^4.7.7",
+ "marked": "^4.2.3",
+ "object-get": "^2.1.1",
+ "reduce-flatten": "^3.0.1",
+ "reduce-unique": "^2.0.1",
+ "reduce-without": "^1.0.1",
+ "test-value": "^3.0.0",
+ "walk-back": "^5.1.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true
+ },
+ "reduce-flatten": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.1.tgz",
+ "integrity": "sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==",
+ "dev": true
+ }
+ }
+ },
"dotenv": {
"version": "16.4.5",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
"integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
"dev": true
},
+ "eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true
+ },
"elliptic": {
"version": "6.5.4",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
@@ -14228,6 +15911,12 @@
"strip-ansi": "^6.0.1"
}
},
+ "entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true
+ },
"env-paths": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
@@ -14697,6 +16386,24 @@
"reusify": "^1.0.4"
}
},
+ "file-set": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz",
+ "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "^5.0.0",
+ "glob": "^7.1.6"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
+ "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
+ "dev": true
+ }
+ }
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -14710,7 +16417,6 @@
"resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
"integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
"dev": true,
- "peer": true,
"requires": {
"array-back": "^3.0.1"
}
@@ -14761,6 +16467,65 @@
"is-callable": "^1.1.3"
}
},
+ "foreground-child": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
+ "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "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
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
@@ -14797,6 +16562,12 @@
"dev": true,
"peer": true
},
+ "fs-then-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
+ "integrity": "sha512-X712jAOaWXkemQCAmWeg5rOT2i+KOpWz1Z/txk/cW0qlOu2oQ9H61vc5w3X/iyuUEfq/OyaFJ78/cZAQD1/bgA==",
+ "dev": true
+ },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -15569,6 +17340,16 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
+ "jackspeak": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz",
+ "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==",
+ "dev": true,
+ "requires": {
+ "@isaacs/cliui": "^8.0.2",
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
"js-sdsl": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.2.tgz",
@@ -15594,6 +17375,130 @@
"argparse": "^2.0.1"
}
},
+ "js2xmlparser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz",
+ "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==",
+ "dev": true,
+ "requires": {
+ "xmlcreate": "^2.0.4"
+ }
+ },
+ "jsdoc": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz",
+ "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.20.15",
+ "@jsdoc/salty": "^0.2.1",
+ "@types/markdown-it": "^14.1.1",
+ "bluebird": "^3.7.2",
+ "catharsis": "^0.9.0",
+ "escape-string-regexp": "^2.0.0",
+ "js2xmlparser": "^4.0.2",
+ "klaw": "^3.0.0",
+ "markdown-it": "^14.1.0",
+ "markdown-it-anchor": "^8.6.7",
+ "marked": "^4.0.10",
+ "mkdirp": "^1.0.4",
+ "requizzle": "^0.2.3",
+ "strip-json-comments": "^3.1.0",
+ "underscore": "~1.13.2"
+ },
+ "dependencies": {
+ "escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "dev": true
+ },
+ "klaw": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
+ "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ }
+ }
+ },
+ "jsdoc-api": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.0.0.tgz",
+ "integrity": "sha512-Rnhor0suB1Ds1abjmFkFfKeD+kSMRN9oHMTMZoJVUrmtCGDwXty+sWMA9sa4xbe4UyxuPjhC7tavZ40mDKK6QQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "^6.2.2",
+ "cache-point": "^2.0.0",
+ "collect-all": "^1.0.4",
+ "file-set": "^4.0.2",
+ "fs-then-native": "^2.0.0",
+ "jsdoc": "^4.0.0",
+ "object-to-spawn-args": "^2.0.1",
+ "temp-path": "^1.0.0",
+ "walk-back": "^5.1.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true
+ }
+ }
+ },
+ "jsdoc-parse": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.1.tgz",
+ "integrity": "sha512-9viGRUUtWOk/G4V0+nQ6rfLucz5plxh5I74WbNSNm9h9NWugCDVX4jbG8hZP9QqKGpdTPDE+qJXzaYNos3wqTA==",
+ "dev": true,
+ "requires": {
+ "array-back": "^6.2.2",
+ "lodash.omit": "^4.5.0",
+ "reduce-extract": "^1.0.0",
+ "sort-array": "^4.1.5",
+ "test-value": "^3.0.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true
+ }
+ }
+ },
+ "jsdoc-to-markdown": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.1.tgz",
+ "integrity": "sha512-qJfNJhkq2C26UYoOdj8L1yheTJlk1veCsxwRejRmj07XZKCn7oSkuPErx6+JoNi8afCaUKdIM5oUu0uF2/T8iw==",
+ "dev": true,
+ "requires": {
+ "array-back": "^6.2.2",
+ "command-line-tool": "^0.8.0",
+ "config-master": "^3.1.0",
+ "dmd": "^6.2.0",
+ "jsdoc-api": "^8.0.0",
+ "jsdoc-parse": "^6.2.1",
+ "walk-back": "^5.1.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
+ "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
+ "dev": true
+ }
+ }
+ },
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -15676,6 +17581,15 @@
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
+ "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,
+ "requires": {
+ "uc.micro": "^2.0.0"
+ }
+ },
"load-yaml-file": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz",
@@ -15730,9 +17644,8 @@
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
- "dev": true,
- "peer": true
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
+ "dev": true
},
"lodash.clonedeep": {
"version": "4.5.0",
@@ -15748,6 +17661,18 @@
"dev": true,
"peer": true
},
+ "lodash.omit": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
+ "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==",
+ "dev": true
+ },
+ "lodash.padend": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
+ "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==",
+ "dev": true
+ },
"lodash.startcase": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz",
@@ -15853,6 +17778,27 @@
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
"integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ=="
},
+ "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,
+ "requires": {
+ "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"
+ }
+ },
+ "markdown-it-anchor": {
+ "version": "8.6.7",
+ "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz",
+ "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==",
+ "dev": true,
+ "requires": {}
+ },
"markdown-table": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
@@ -15860,6 +17806,12 @@
"dev": true,
"peer": true
},
+ "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
+ },
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -15871,6 +17823,12 @@
"safe-buffer": "^5.1.2"
}
},
+ "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
+ },
"memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
@@ -16004,6 +17962,12 @@
}
}
},
+ "minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true
+ },
"mixme": {
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.10.tgz",
@@ -16019,6 +17983,12 @@
"minimist": "^1.2.6"
}
},
+ "mkdirp2": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz",
+ "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==",
+ "dev": true
+ },
"mnemonist": {
"version": "0.38.5",
"resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz",
@@ -16295,6 +18265,12 @@
"dev": true,
"peer": true
},
+ "object-get": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz",
+ "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==",
+ "dev": true
+ },
"object-inspect": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
@@ -16305,6 +18281,12 @@
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
},
+ "object-to-spawn-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz",
+ "integrity": "sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w==",
+ "dev": true
+ },
"object.assign": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
@@ -16419,6 +18401,12 @@
"integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
"dev": true
},
+ "package-json-from-dist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
+ "dev": true
+ },
"parse-cache-control": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
@@ -16504,6 +18492,14 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
@@ -16545,6 +18541,24 @@
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
+ "path-scurry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
+ "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz",
+ "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==",
+ "dev": true
+ }
+ }
+ },
"path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -16700,9 +18714,10 @@
"peer": true
},
"prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
+ "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "dev": true
},
"process-nextick-args": {
"version": "2.0.1",
@@ -16751,6 +18766,12 @@
"dev": true,
"peer": true
},
+ "punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "dev": true
+ },
"qs": {
"version": "6.11.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
@@ -16954,6 +18975,42 @@
"strip-indent": "^3.0.0"
}
},
+ "reduce-extract": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
+ "integrity": "sha512-QF8vjWx3wnRSL5uFMyCjDeDc5EBMiryoT9tz94VvgjKfzecHAVnqmXAwQDcr7X4JmLc2cjkjFGCVzhMqDjgR9g==",
+ "dev": true,
+ "requires": {
+ "test-value": "^1.0.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ },
+ "test-value": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
+ "integrity": "sha512-wrsbRo7qP+2Je8x8DsK8ovCGyxe3sYfQwOraIY/09A2gFXU9DYKiTF14W4ki/01AEh56kMzAmlj9CaHGDDUBJA==",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.2",
+ "typical": "^2.4.2"
+ }
+ },
+ "typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true
+ }
+ }
+ },
"reduce-flatten": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
@@ -16961,6 +19018,48 @@
"dev": true,
"peer": true
},
+ "reduce-unique": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz",
+ "integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==",
+ "dev": true
+ },
+ "reduce-without": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
+ "integrity": "sha512-zQv5y/cf85sxvdrKPlfcRzlDn/OqKFThNimYmsS3flmkioKvkUGn2Qg9cJVoQiEvdxFGLE0MQER/9fZ9sUqdxg==",
+ "dev": true,
+ "requires": {
+ "test-value": "^2.0.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ },
+ "test-value": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
+ "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.3",
+ "typical": "^2.6.0"
+ }
+ },
+ "typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true
+ }
+ }
+ },
"regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
@@ -17013,6 +19112,15 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
+ "requizzle": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz",
+ "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.21"
+ }
+ },
"resolve": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
@@ -17040,11 +19148,47 @@
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
},
"rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz",
+ "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
+ "dev": true,
"requires": {
- "glob": "^7.1.3"
+ "glob": "^11.0.0",
+ "package-json-from-dist": "^1.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz",
+ "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==",
+ "dev": true,
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^4.0.1",
+ "minimatch": "^10.0.0",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
+ "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
}
},
"ripemd160": {
@@ -17581,6 +19725,15 @@
"graceful-fs": "^4.1.6"
}
},
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
@@ -17694,6 +19847,30 @@
"solidity-ast": "^0.4.38"
}
},
+ "sort-array": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-4.1.5.tgz",
+ "integrity": "sha512-Ya4peoS1fgFN42RN1REk2FgdNOeLIEMKFGJvs7VTP3OklF8+kl2SkpVliZ4tk/PurWsrWRsdNdU+tgyOBkB9sA==",
+ "dev": true,
+ "requires": {
+ "array-back": "^5.0.0",
+ "typical": "^6.0.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
+ "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
+ "dev": true
+ },
+ "typical": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-6.0.1.tgz",
+ "integrity": "sha512-+g3NEp7fJLe9DPa1TArHm9QAA7YciZmWnfAqEaFrBihQ7epOv9i99rjtgb6Iz0wh3WuQDjsCTDfgRoGnmHN81A==",
+ "dev": true
+ }
+ }
+ },
"source-map": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
@@ -17814,6 +19991,32 @@
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
},
+ "stream-connect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
+ "integrity": "sha512-68Kl+79cE0RGKemKkhxTSg8+6AGrqBt+cbZAXevg2iJ6Y3zX4JhA/sZeGzLpxW9cXhmqAcE7KnJCisUmIUfnFQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "^1.0.2"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
+ "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.0"
+ }
+ },
+ "typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true
+ }
+ }
+ },
"stream-transform": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz",
@@ -17822,6 +20025,12 @@
"mixme": "^0.5.1"
}
},
+ "stream-via": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
+ "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
+ "dev": true
+ },
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -17848,6 +20057,17 @@
"strip-ansi": "^6.0.1"
}
},
+ "string-width-cjs": {
+ "version": "npm:string-width@4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
"string.prototype.trim": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
@@ -17887,6 +20107,15 @@
"ansi-regex": "^5.0.1"
}
},
+ "strip-ansi-cjs": {
+ "version": "npm:strip-ansi@6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
@@ -17988,11 +20217,44 @@
}
}
},
+ "temp-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
+ "integrity": "sha512-TvmyH7kC6ZVTYkqCODjJIbgvu0FKiwQpZ4D1aknE7xpcDf/qEOB8KZEK5ef2pfbVoiBhNWs3yx4y+ESMtNYmlg==",
+ "dev": true
+ },
"term-size": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
"integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg=="
},
+ "test-value": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
+ "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
+ "dev": true,
+ "requires": {
+ "array-back": "^2.0.0",
+ "typical": "^2.6.1"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
+ "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
+ "dev": true,
+ "requires": {
+ "typical": "^2.6.1"
+ }
+ },
+ "typical": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
+ "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==",
+ "dev": true
+ }
+ }
+ },
"then-request": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
@@ -18372,6 +20634,13 @@
"dev": true,
"peer": true
},
+ "prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
+ "peer": true
+ },
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
@@ -18447,8 +20716,13 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
"integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
- "dev": true,
- "peer": true
+ "dev": true
+ },
+ "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
},
"uglify-js": {
"version": "3.17.4",
@@ -18468,6 +20742,12 @@
"which-boxed-primitive": "^1.0.2"
}
},
+ "underscore": {
+ "version": "1.13.6",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
+ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==",
+ "dev": true
+ },
"undici": {
"version": "5.28.3",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz",
@@ -18539,6 +20819,12 @@
"spdx-expression-parse": "^3.0.0"
}
},
+ "walk-back": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.0.tgz",
+ "integrity": "sha512-Uhxps5yZcVNbLEAnb+xaEEMdgTXl9qAQDzKYejG2AZ7qPwRQ81lozY9ECDbjLPNWm7YsO1IK5rsP1KoQzXAcGA==",
+ "dev": true
+ },
"wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -18744,6 +21030,43 @@
}
}
},
+ "wrap-ansi-cjs": {
+ "version": "npm:wrap-ansi@7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ }
+ }
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -18757,6 +21080,12 @@
"peer": true,
"requires": {}
},
+ "xmlcreate": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz",
+ "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==",
+ "dev": true
+ },
"y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
diff --git a/package.json b/package.json
index a7911a8..90301c0 100644
--- a/package.json
+++ b/package.json
@@ -22,15 +22,23 @@
"hardhat-test": "npx hardhat test",
"forge-test": "forge test",
"test": "npm run hardhat-test && npm run forge-test",
- "generate-apiref": "npm run hardhat-compile && npm run forge-compile && npx hardhat docgen && npx ts-node generate-index-files.ts"
+ "prettier": "prettier --write 'api_reference/**/*'",
+ "generate-solidity": "rimraf api_reference/solidity && npm run hardhat-compile && npm run forge-compile && npx hardhat docgen",
+ "generate-jsdoc": "rimraf api_reference/javascript && npx ts-node helper_doc/generate-jsdoc.ts",
+ "generate-index": "npx ts-node helper_doc/generate-index-files.ts",
+ "generate-docs": "npm run generate-solidity && npm run generate-jsdoc && npm run generate-index && npm run prettier"
},
"devDependencies": {
"@nomicfoundation/hardhat-foundry": "^1.1.1",
"@nomicfoundation/hardhat-toolbox": "^4.0.0",
"@types/fs-extra": "^11.0.4",
+ "@types/jsdoc-to-markdown": "^7.0.6",
"dotenv": "^16.4.5",
"fs-extra": "^11.2.0",
"hardhat": "^2.20.1",
+ "jsdoc-to-markdown": "^8.0.1",
+ "prettier": "^3.3.3",
+ "rimraf": "^6.0.1",
"solidity-docgen": "^0.6.0-beta.36"
},
"dependencies": {