diff --git a/README.md b/README.md index 9109e28..ff10a8f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
-# 🏗🔴 Scaffold-OP +# 🏗🔴 Ceptor-Games-Scaffold

Documentation | diff --git a/packages/hardhat/contracts/BuyMeACeptor.sol b/packages/hardhat/contracts/BuyMeACeptor.sol new file mode 100644 index 0000000..fcbb20f --- /dev/null +++ b/packages/hardhat/contracts/BuyMeACeptor.sol @@ -0,0 +1,137 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.8.0 <0.9.0; + +/** + * @title World + * @dev World struct + */ +struct World { + string vibe; + string gameMasterName; + string gameMasterTwitterHandle; + string description; + uint256 time; + address gameMasterAddress; +} + +/** + * @title BuyMeACeptorWorld + * @dev BuyMeACeptorWorld contract to accept donations and for our users to create a world for us + */ +contract BuyMeACeptor{ + address payable public owner; + uint256 public price; + World[] public worlds; + + error InsufficientFunds(); + error InvalidArguments(string message); + error OnlyOwner(); + + event BuyMeACeptorWorldEvent(address indexed buyer, uint256 price); + event NewWorld(address indexed gameMasterAddress, uint256 time, string vibe, string gameMasterName, string gameMasterTwitterHandle, string description); + + constructor() { + owner = payable(msg.sender); + price = 0.0001 ether; + } + + /** + * WRITE FUNCTIONS ************* + */ + + /** + * @dev Function to buy a world + * @param gameMasterName The name of the game master + * @param gameMasterTwitterHandle The Twitter handle of the game master + * @param description The description of the world + * (Note: Using calldata for gas efficiency) + */ + function buyWorld(string calldata vibe, string calldata gameMasterName, string calldata gameMasterTwitterHandle, string calldata description) public payable { + if (msg.value < price) { + revert InsufficientFunds(); + } + + emit BuyMeACeptorWorldEvent(msg.sender, msg.value); + + if (bytes(gameMasterName).length == 0 && bytes(description).length == 0) { + revert InvalidArguments("Invalid gameMasterName or description"); + } + + worlds.push(World(vibe, gameMasterName, gameMasterTwitterHandle, description, block.timestamp, msg.sender)); + + emit NewWorld(msg.sender, block.timestamp, vibe, gameMasterName, gameMasterTwitterHandle, description); + } + + /** + * @dev Function to remove a world + * @param index The index of the world + */ + function removeWorld(uint256 index) public { + if (index >= worlds.length) { + revert InvalidArguments("Invalid index"); + } + + World memory world = worlds[index]; + + // if operation isnt sent from the same game master or the owner, then not allowed + if (world.gameMasterAddress != msg.sender && msg.sender != owner) { + revert InvalidArguments("Operation not allowed"); + } + + World memory indexWorld = worlds[index]; + worlds[index] = worlds[worlds.length - 1]; + worlds[worlds.length - 1] = indexWorld; + worlds.pop(); + } + + /** + * @dev Function to modify a world description + * @param index The index of the world + * @param description The description of the world + */ + function modifyWorldDescription(uint256 index, string memory description) public { + if (index >= worlds.length) { + revert InvalidArguments("Invalid index"); + } + + World memory world = worlds[index]; + + if (world.gameMasterAddress != msg.sender || msg.sender != owner) { + revert InvalidArguments("Operation not allowed"); + } + + worlds[index].description = description; + } + + /** + * @dev Function to withdraw the balance + */ + function withdrawTips() public { + if (msg.sender != owner) { + revert OnlyOwner(); + } + + if (address(this).balance == 0) { + revert InsufficientFunds(); + } + + (bool sent,) = owner.call{value: address(this).balance}(""); + require(sent, "Failed to send Ether"); + } + + /** + * READ FUNCTIONS ************* + */ + + /** + * @dev Function to get the worlds + */ + function getWorlds() public view returns (World[] memory) { + return worlds; + } + + /** + * @dev Recieve function to accept ether + */ + receive() external payable {} +} diff --git a/packages/hardhat/contracts/BuyMeACoffee.sol b/packages/hardhat/contracts/BuyMeACoffee.sol deleted file mode 100644 index 2e09998..0000000 --- a/packages/hardhat/contracts/BuyMeACoffee.sol +++ /dev/null @@ -1,156 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity >=0.8.0 <0.9.0; -/** - * ---------------------------------------------------------------------------------------------------------------- - * ---------██████╗ ██╗ ██╗██╗██╗ ██████╗ ██████╗ ███╗ ██╗ ██████╗██╗ ██╗ █████╗ ██╗███╗ ██╗----- - * ---------██╔══██╗██║ ██║██║██║ ██╔══██╗ ██╔═══██╗████╗ ██║██╔════╝██║ ██║██╔══██╗██║████╗ ██║----- - * ---------██████╔╝██║ ██║██║██║ ██║ ██║█████╗██║ ██║██╔██╗ ██║██║ ███████║███████║██║██╔██╗ ██║----- - * ---------██╔══██╗██║ ██║██║██║ ██║ ██║╚════╝██║ ██║██║╚██╗██║██║ ██╔══██║██╔══██║██║██║╚██╗██║----- - * ---------██████╔╝╚██████╔╝██║███████╗██████╔╝ ╚██████╔╝██║ ╚████║╚██████╗██║ ██║██║ ██║██║██║ ╚████║----- - * ---------╚═════╝ ╚═════╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝----- - * ---------------------------------------------------------------------------------------------------------------- - * https://github.com/coinbase/build-onchain-apps - * - * Disclaimer: The provided Solidity contracts are intended solely for educational purposes and are - * not warranted for any specific use. They have not been audited and may contain vulnerabilities, hence should - * not be deployed in production environments. Users are advised to seek professional review and conduct a - * comprehensive security audit before any real-world application to mitigate risks of financial loss or other - * consequences. The author(s) disclaim all liability for any damages arising from the use of these contracts. - * Use at your own risk, acknowledging the inherent risks of smart contract technology on the blockchain. - * - */ - -/** - * @title Memos - * @dev Memo struct - */ -struct Memo { - uint numCoffees; - string userName; - string twitterHandle; - string message; - uint256 time; - address userAddress; -} - -/** - * @title BuyMeACoffee - * @dev BuyMeACoffee contract to accept donations and for our users to leave a memo for us - */ -contract BuyMeACoffee { - address payable public owner; - uint256 public price; - Memo[] public memos; - - error InsufficientFunds(); - error InvalidArguments(string message); - error OnlyOwner(); - - event BuyMeACoffeeEvent(address indexed buyer, uint256 price); - event NewMemo(address indexed userAddress, uint256 time, uint numCoffees, string userName, string twitterHandle, string message); - - constructor() { - owner = payable(msg.sender); - price = 0.0001 ether; - } - - /** - * WRITE FUNCTIONS ************* - */ - - /** - * @dev Function to buy a coffee - * @param userName The name of the user - * @param twitterHandle The Twitter handle of the user - * @param message The message of the user - * (Note: Using calldata for gas efficiency) - */ - function buyCoffee(uint numCoffees, string calldata userName, string calldata twitterHandle, string calldata message) public payable { - if (msg.value < price*numCoffees) { - revert InsufficientFunds(); - } - - emit BuyMeACoffeeEvent(msg.sender, msg.value); - - if (bytes(userName).length == 0 && bytes(message).length == 0) { - revert InvalidArguments("Invalid userName or message"); - } - - memos.push(Memo(numCoffees, userName, twitterHandle, message, block.timestamp, msg.sender)); - - emit NewMemo(msg.sender, block.timestamp, numCoffees, userName, twitterHandle, message); - } - - /** - * @dev Function to remove a memo - * @param index The index of the memo - */ - function removeMemo(uint256 index) public { - if (index >= memos.length) { - revert InvalidArguments("Invalid index"); - } - - Memo memory memo = memos[index]; - - // if operation isnt sent from the same user or the owner, then not allowed - if (memo.userAddress != msg.sender && msg.sender != owner) { - revert InvalidArguments("Operation not allowed"); - } - - Memo memory indexMemo = memos[index]; - memos[index] = memos[memos.length - 1]; - memos[memos.length - 1] = indexMemo; - memos.pop(); - } - - /** - * @dev Function to modify a memo - * @param index The index of the memo - * @param message The message of the memo - */ - function modifyMemoMessage(uint256 index, string memory message) public { - if (index >= memos.length) { - revert InvalidArguments("Invalid index"); - } - - Memo memory memo = memos[index]; - - if (memo.userAddress != msg.sender || msg.sender != owner) { - revert InvalidArguments("Operation not allowed"); - } - - memos[index].message = message; - } - - /** - * @dev Function to withdraw the balance - */ - function withdrawTips() public { - if (msg.sender != owner) { - revert OnlyOwner(); - } - - if (address(this).balance == 0) { - revert InsufficientFunds(); - } - - (bool sent,) = owner.call{value: address(this).balance}(""); - require(sent, "Failed to send Ether"); - } - - /** - * READ FUNCTIONS ************* - */ - - /** - * @dev Function to get the memos - */ - function getMemos() public view returns (Memo[] memory) { - return memos; - } - - /** - * @dev Recieve function to accept ether - */ - receive() external payable {} -} diff --git a/packages/hardhat/contracts/CeptorCS.txt b/packages/hardhat/contracts/CeptorCS.txt new file mode 100644 index 0000000..01ea2ed --- /dev/null +++ b/packages/hardhat/contracts/CeptorCS.txt @@ -0,0 +1,90 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import "@openzeppelin/contracts/access/Ownable.sol"; +import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; +import "@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2.sol"; + +contract CeptorCharacterSheets is ERC721URIStorage, VRFConsumerBaseV2, Ownable { + struct Stats { + uint8 strength; + uint8 dexterity; + uint8 constitution; + uint8 intelligence; + uint8 wisdom; + uint8 charisma; + uint8 luck; + } + + struct Character { + Stats stats; + string name; + uint swapsLeft; + } + + mapping(address => uint256) public ownerToTokenId; + mapping(uint256 => Character) public tokenIdToCharacter; + + uint256 public tokenIdCounter; + bytes32 public keyHash; + uint256 public fee; + uint64 public subscriptionId; + + event CharacterCreated(uint256 indexed tokenId, address owner); + event StatsSwapped(uint256 indexed tokenId, address owner); + + constructor( + address vrfCoordinator, + address linkToken, + bytes32 _keyHash, + uint64 _subscriptionId + ) + VRFConsumerBaseV2(vrfCoordinator) + ERC721("CeptorCharacterSheets", "CCS") + { + keyHash = _keyHash; + fee = 0.1 * 10**18; // Chainlink VRF fee + subscriptionId = _subscriptionId; + tokenIdCounter = 1; + } + + function createCharacter(string memory name) external { + require(ownerToTokenId[msg.sender] == 0, "Owner already has a character"); + uint256 tokenId = tokenIdCounter++; + ownerToTokenId[msg.sender] = tokenId; + tokenIdToCharacter[tokenId] = Character({ + name: name, + stats: Stats(0, 0, 0, 0, 0, 0, 0), + swapsLeft: 3 + }); + _safeMint(msg.sender, tokenId); + emit CharacterCreated(tokenId, msg.sender); + requestStats(tokenId); + } + + function requestStats(uint256 tokenId) internal { + require(LINK.balanceOf(address(this)) >= fee, "Not enough LINK"); + requestRandomWords(keyHash, subscriptionId, 3, fee, 1); + } + + function fulfillRandomWords(uint256, uint256[] memory randomWords) internal override { + uint256 tokenId = ownerToTokenId[msg.sender]; + Character storage character = tokenIdToCharacter[tokenId]; + character.stats.strength = uint8(randomWords[0] % 16 + 3); + character.stats.dexterity = uint8(randomWords[1] % 16 + 3); + character.stats.constitution = uint8(randomWords[2] % 16 + 3); + character.stats.intelligence = uint8(randomWords[3] % 16 + 3); + character.stats.wisdom = uint8(randomWords[4] % 16 + 3); + character.stats.charisma = uint8(randomWords[5] % 16 + 3); + character.stats.luck = uint8(randomWords[6] % 16 + 3); + } + + function swapStats(uint256 tokenId) external { + require(ownerOf(tokenId) == msg.sender, "Not the owner"); + Character storage character = tokenIdToCharacter[tokenId]; + require(character.swapsLeft > 0, "No swaps left"); + character.swapsLeft--; + requestStats(tokenId); + emit StatsSwapped(tokenId, msg.sender); + } +} diff --git a/packages/hardhat/contracts/CeptorCharacterGenerator.sol b/packages/hardhat/contracts/CeptorCharacterGenerator.sol new file mode 100644 index 0000000..95fadec --- /dev/null +++ b/packages/hardhat/contracts/CeptorCharacterGenerator.sol @@ -0,0 +1,92 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.7; + +import {VRFCoordinatorV2Interface} from "@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface.sol"; +import {VRFConsumerBaseV2} from "@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2.sol"; +import {ConfirmedOwner} from "@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner.sol"; + +contract DnDCharacterGenerator is VRFConsumerBaseV2, ConfirmedOwner { + VRFCoordinatorV2Interface COORDINATOR; + uint64 s_subscriptionId; + bytes32 keyHash = 0x474e34a077df58807dbe9c96d3c009b23b3c6d0cce433e59bbf5b34f823bc56c; + // forge-test gas report & gas limit plugin on hardhat + uint32 callbackGasLimit = 100000; + uint16 requestConfirmations = 3; + uint32 numWords = 7; // 6 ability scores + 1 for class + + struct Character { + uint256[6] abilities; + string class; + string name; + string alignment; + string background; + uint8 swaps; + } + + mapping(uint256 => address) requestToSender; + mapping(address => Character) public characters; + + event CharacterCreated(address owner, uint256 requestId); + event CharacterUpdated(address owner, string name, string alignment, string background); + event ScoresSwapped(address owner); + event RequestFulfilled(uint256 requestId, uint256[] randomWords); + + constructor(uint64 subscriptionId) VRFConsumerBaseV2(0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625) + ConfirmedOwner(msg.sender) { + COORDINATOR = VRFCoordinatorV2Interface(0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625); + s_subscriptionId = subscriptionId; + } + + function createCharacter() external onlyOwner { + require(characters[msg.sender].abilities[0] == 0, "Character already created"); + uint256 requestId = COORDINATOR.requestRandomWords( + keyHash, + s_subscriptionId, + requestConfirmations, + callbackGasLimit, + numWords + ); + requestToSender[requestId] = msg.sender; + emit CharacterCreated(msg.sender, requestId); + } + + function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal override { + address owner = requestToSender[requestId]; + uint256[6] memory abilities; + for (uint i = 0; i < 6; ++i) { // ++i saves 2 gas + abilities[i] = (randomWords[i] % 16) + 3; // Score range: 3-18 + } + characters[owner] = Character({ + abilities: abilities, + class: getClass(randomWords[6]), + name: "", + alignment: "", + background: "", + swaps: 0 + }); + emit RequestFulfilled(requestId, randomWords); + } + + function updateCharacterDetails(string calldata name, string calldata alignment, string calldata background) external { + require(characters[msg.sender].abilities[0] != 0, "Character not created"); + characters[msg.sender].name = name; + characters[msg.sender].alignment = alignment; + characters[msg.sender].background = background; + emit CharacterUpdated(msg.sender, name, alignment, background); + } + + function swapScores(uint8 index1, uint8 index2) external { + require(characters[msg.sender].swaps < 3, "Max swaps reached"); + require(index1 < 6 && index2 < 6, "Invalid index"); + + (characters[msg.sender].abilities[index1], characters[msg.sender].abilities[index2]) = + (characters[msg.sender].abilities[index2], characters[msg.sender].abilities[index1]); + characters[msg.sender].swaps++; + emit ScoresSwapped(msg.sender); + } + + function getClass(uint256 randomNumber) private pure returns (string memory) { + string[12] memory classes = ["Barbarian", "Bard", "Cleric", "Druid", "Fighter", "Monk", "Paladin", "Ranger", "Rogue", "Sorcerer", "Warlock", "Wizard"]; + return classes[randomNumber % classes.length]; + } +} diff --git a/packages/hardhat/contracts/CharacterSheets.txt b/packages/hardhat/contracts/CharacterSheets.txt new file mode 100644 index 0000000..0eb0de6 --- /dev/null +++ b/packages/hardhat/contracts/CharacterSheets.txt @@ -0,0 +1,125 @@ +// SPDX-License-Identifier: MIT +// An example of a consumer contract that relies on a subscription for funding. +pragma solidity ^0.8.7; + +// Useful for debugging. Remove when deploying to a live network. +import "hardhat/console.sol"; + +// Use openzeppelin to inherit battle-tested implementations (ERC20, ERC721, etc) +import "@openzeppelin/contracts/access/Ownable.sol"; +import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import {VRFCoordinatorV2Interface} from "@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface.sol"; +import {VRFConsumerBaseV2} from "@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2.sol"; +import {ConfirmedOwner} from "@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner.sol"; + +/** + * Request testnet LINK and ETH here: https://faucets.chain.link/ + * Find information on LINK Token Contracts and get the latest ETH and LINK faucets here: https://docs.chain.link/docs/link-token-contracts/ + */ + +/** + * THIS IS AN EXAMPLE CONTRACT THAT USES HARDCODED VALUES FOR CLARITY. + * THIS IS AN EXAMPLE CONTRACT THAT USES UN-AUDITED CODE. + * DO NOT USE THIS CODE IN PRODUCTION. + */ + +contract VRFv2Consumer is VRFConsumerBaseV2, ConfirmedOwner { + event RequestSent(uint256 requestId, uint32 numWords); + event RequestFulfilled(uint256 requestId, uint256[] randomWords); + + struct RequestStatus { + bool fulfilled; // whether the request has been successfully fulfilled + bool exists; // whether a requestId exists + uint256[] randomWords; + } + mapping(uint256 => RequestStatus) + public s_requests; /* requestId --> requestStatus */ + VRFCoordinatorV2Interface COORDINATOR; + + // Your subscription ID. + uint64 s_subscriptionId; + + // past requests Id. + uint256[] public requestIds; + uint256 public lastRequestId; + + // The gas lane to use, which specifies the maximum gas price to bump to. + // For a list of available gas lanes on each network, + // see https://docs.chain.link/docs/vrf/v2/subscription/supported-networks/#configurations + bytes32 keyHash = + 0x474e34a077df58807dbe9c96d3c009b23b3c6d0cce433e59bbf5b34f823bc56c; + + // Depends on the number of requested values that you want sent to the + // fulfillRandomWords() function. Storing each word costs about 20,000 gas, + // so 100,000 is a safe default for this example contract. Test and adjust + // this limit based on the network that you select, the size of the request, + // and the processing of the callback request in the fulfillRandomWords() + // function. + uint32 callbackGasLimit = 100000; + + // The default is 3, but you can set this higher. + uint16 requestConfirmations = 3; + + // For this example, retrieve 2 random values in one request. + // Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS. + uint32 numWords = 2; + + /** + * HARDCODED FOR SEPOLIA + * COORDINATOR: 0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625 + */ + constructor( + uint64 subscriptionId + ) + VRFConsumerBaseV2(0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625) + ConfirmedOwner(msg.sender) + { + COORDINATOR = VRFCoordinatorV2Interface( + 0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625 + ); + s_subscriptionId = subscriptionId; + } + + // Assumes the subscription is funded sufficiently. + function requestRandomWords() + external + onlyOwner + returns (uint256 requestId) + { + // Will revert if subscription is not set and funded. + requestId = COORDINATOR.requestRandomWords( + keyHash, + s_subscriptionId, + requestConfirmations, + callbackGasLimit, + numWords + ); + s_requests[requestId] = RequestStatus({ + randomWords: new uint256[](0), + exists: true, + fulfilled: false + }); + requestIds.push(requestId); + lastRequestId = requestId; + emit RequestSent(requestId, numWords); + return requestId; + } + + function fulfillRandomWords( + uint256 _requestId, + uint256[] memory _randomWords + ) internal override { + require(s_requests[_requestId].exists, "request not found"); + s_requests[_requestId].fulfilled = true; + s_requests[_requestId].randomWords = _randomWords; + emit RequestFulfilled(_requestId, _randomWords); + } + + function getRequestStatus( + uint256 _requestId + ) external view returns (bool fulfilled, uint256[] memory randomWords) { + require(s_requests[_requestId].exists, "request not found"); + RequestStatus memory request = s_requests[_requestId]; + return (request.fulfilled, request.randomWords); + } +} diff --git a/packages/hardhat/contracts/DynamicHooty.sol b/packages/hardhat/contracts/DynamicHooty.sol new file mode 100644 index 0000000..39bbe4c --- /dev/null +++ b/packages/hardhat/contracts/DynamicHooty.sol @@ -0,0 +1,119 @@ +// SPDX-License-Identifier: MIT +// An example of a consumer contract that relies on a subscription for funding. +pragma solidity ^0.8.7; + +import {VRFCoordinatorV2Interface} from "@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface.sol"; +import {VRFConsumerBaseV2} from "@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2.sol"; +import {ConfirmedOwner} from "@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner.sol"; + +/** + * Request testnet LINK and ETH here: https://faucets.chain.link/ + * Find information on LINK Token Contracts and get the latest ETH and LINK faucets here: https://docs.chain.link/docs/link-token-contracts/ + */ + +/** + * THIS IS AN EXAMPLE CONTRACT THAT USES HARDCODED VALUES FOR CLARITY. + * THIS IS AN EXAMPLE CONTRACT THAT USES UN-AUDITED CODE. + * DO NOT USE THIS CODE IN PRODUCTION. + */ + +contract VRFv2Consumer is VRFConsumerBaseV2, ConfirmedOwner { + event RequestSent(uint256 requestId, uint32 numWords); + event RequestFulfilled(uint256 requestId, uint256[] randomWords); + + struct RequestStatus { + bool fulfilled; // whether the request has been successfully fulfilled + bool exists; // whether a requestId exists + uint256[] randomWords; + } + mapping(uint256 => RequestStatus) + public s_requests; /* requestId --> requestStatus */ + VRFCoordinatorV2Interface COORDINATOR; + + // Your subscription ID. + uint64 s_subscriptionId; + + // past requests Id. + uint256[] public requestIds; + uint256 public lastRequestId; + + // The gas lane to use, which specifies the maximum gas price to bump to. + // For a list of available gas lanes on each network, + // see https://docs.chain.link/docs/vrf/v2/subscription/supported-networks/#configurations + bytes32 keyHash = + 0x474e34a077df58807dbe9c96d3c009b23b3c6d0cce433e59bbf5b34f823bc56c; + + // Depends on the number of requested values that you want sent to the + // fulfillRandomWords() function. Storing each word costs about 20,000 gas, + // so 100,000 is a safe default for this example contract. Test and adjust + // this limit based on the network that you select, the size of the request, + // and the processing of the callback request in the fulfillRandomWords() + // function. + uint32 callbackGasLimit = 100000; + + // The default is 3, but you can set this higher. + uint16 requestConfirmations = 3; + + // For this example, retrieve 2 random values in one request. + // Cannot exceed VRFCoordinatorV2.MAX_NUM_WORDS. + uint32 numWords = 2; + + /** + * HARDCODED FOR SEPOLIA + * COORDINATOR: 0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625 + */ + constructor( + uint64 subscriptionId + ) + VRFConsumerBaseV2(0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625) + ConfirmedOwner(msg.sender) + { + COORDINATOR = VRFCoordinatorV2Interface( + 0x8103B0A8A00be2DDC778e6e7eaa21791Cd364625 + ); + s_subscriptionId = subscriptionId; + } + + // Assumes the subscription is funded sufficiently. + function requestRandomWords() + external + onlyOwner + returns (uint256 requestId) + { + // Will revert if subscription is not set and funded. + requestId = COORDINATOR.requestRandomWords( + keyHash, + s_subscriptionId, + requestConfirmations, + callbackGasLimit, + numWords + ); + s_requests[requestId] = RequestStatus({ + randomWords: new uint256[](0), + exists: true, + fulfilled: false + }); + requestIds.push(requestId); + lastRequestId = requestId; + emit RequestSent(requestId, numWords); + return requestId; + } + + function fulfillRandomWords( + uint256 _requestId, + uint256[] memory _randomWords + ) internal override { + require(s_requests[_requestId].exists, "request not found"); + s_requests[_requestId].fulfilled = true; + s_requests[_requestId].randomWords = _randomWords; + emit RequestFulfilled(_requestId, _randomWords); + } + + function getRequestStatus( + uint256 _requestId + ) external view returns (bool fulfilled, uint256[] memory randomWords) { + require(s_requests[_requestId].exists, "request not found"); + RequestStatus memory request = s_requests[_requestId]; + return (request.fulfilled, request.randomWords); + } +} diff --git a/packages/hardhat/contracts/YourContract.sol b/packages/hardhat/contracts/YourContract.sol index 3d364a0..ccd9a12 100644 --- a/packages/hardhat/contracts/YourContract.sol +++ b/packages/hardhat/contracts/YourContract.sol @@ -70,7 +70,15 @@ contract YourContract { // emit: keyword used to trigger an event emit GreetingChange(msg.sender, _newGreeting, msg.value > 0, msg.value); } +// Mapping from address to number +mapping(address => uint) public userNumbers; +event NumberUpdated(address indexed user, uint number); +// Function to store a number +function storeNumber(uint _number) public { + userNumbers[msg.sender] = _number; + emit NumberUpdated(msg.sender, _number); + } /** * Function that allows the owner to withdraw all the Ether in the contract * The function can only be called by the owner of the contract as defined by the isOwner modifier diff --git a/packages/hardhat/contracts/readme.md b/packages/hardhat/contracts/readme.md new file mode 100644 index 0000000..93eb659 --- /dev/null +++ b/packages/hardhat/contracts/readme.md @@ -0,0 +1,14 @@ +# Games Contracts + +1. [Game World Generator](BuyMeACeptor.sol) - A contract that generates a game world based on a user's vibe and number of players. The world is generated with a visual of the planet, scenarios, locations, descriptions, maps, denizens, secrets, goals, and players. Each world has its own blockchain. Creating a World costs 10 gameTokens. when creating a game, i want to have my own world or play with others. each world should be locked to a blockchain. 10 gT to make a world. 5 gT to join one as a GM, 2 gT to join as player. + +Inside worlds, there are games +inside games there are schedules +inside schedules there are sessions +(and we verify who shows up) + +1. [Character Generator](CeptorCharacterGenerator.sol) - A contract that generates a character for a user in the game world. The character is generated with abilities, class, name, alignment, and background. Each character has its own unique attributes. Creating a Character is only allowed by the owner of the contract. This is a mistake, and will be replaced in upgrade to VRF2.5 + +2. Is the World Generator deploying a World contract? Yes. Is the World contract tracking all its games, or deploying each game as its own contract which tracks the sessions. Verifiable Truth. + +3. NPC Generator - Unlike the PCG which is usable by any Verified Credential having hooty in their hey hey. The NPCG is a contract that generates a non-player character for a user in the game world. The character is generated with abilities, class, name, alignment, hometown, and background. Each character has its own unique attributes. Creating a Character is only allowed by the owner of the contract. VRF2.5 because reusable code choices. \ No newline at end of file diff --git a/packages/hardhat/deploy/01_deploy_buy_me_a_coffee.ts b/packages/hardhat/deploy/01_deploy_buy_me_a_ceptor.ts similarity index 75% rename from packages/hardhat/deploy/01_deploy_buy_me_a_coffee.ts rename to packages/hardhat/deploy/01_deploy_buy_me_a_ceptor.ts index 474d826..fd61c54 100644 --- a/packages/hardhat/deploy/01_deploy_buy_me_a_coffee.ts +++ b/packages/hardhat/deploy/01_deploy_buy_me_a_ceptor.ts @@ -3,12 +3,12 @@ import { DeployFunction } from "hardhat-deploy/types"; import { Contract } from "ethers"; /** - * Deploys a contract named "BuyMeACoffee" using the deployer account and + * Deploys a contract named "BuyMeACeptor" using the deployer account and * constructor arguments set to the deployer address * * @param hre HardhatRuntimeEnvironment object. */ -const deployBuyMeACoffee: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { +const deployBuyMeACeptor: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { /* On localhost, the deployer account is the one that comes with Hardhat, which is already funded. @@ -22,7 +22,7 @@ const deployBuyMeACoffee: DeployFunction = async function (hre: HardhatRuntimeEn const { deployer } = await hre.getNamedAccounts(); const { deploy } = hre.deployments; - await deploy("BuyMeACoffee", { + await deploy("BuyMeACeptor", { from: deployer, // Contract constructor arguments log: true, @@ -32,12 +32,12 @@ const deployBuyMeACoffee: DeployFunction = async function (hre: HardhatRuntimeEn }); // Get the deployed contract to interact with it after deploying. - const buyMeACoffeeContract = await hre.ethers.getContract("BuyMeACoffee", deployer); - console.log("👋 Buy this person a coffee!", await buyMeACoffeeContract.owner()); + const buyMeACeptorContract = await hre.ethers.getContract("BuyMeACeptor", deployer); + console.log("👋 Buy this person a Ceptor!", await buyMeACeptorContract.owner()); }; -export default deployBuyMeACoffee; +export default deployBuyMeACeptor; // Tags are useful if you have multiple deploy files and only want to run one of them. -// e.g. yarn deploy --tags BuyMeACoffee -deployBuyMeACoffee.tags = ["BuyMeACoffee"]; +// e.g. yarn deploy --tags BuyMeACeptor +deployBuyMeACeptor.tags = ["BuyMeACeptor"]; diff --git a/packages/hardhat/package.json b/packages/hardhat/package.json index 918b5d0..c5a9a2a 100644 --- a/packages/hardhat/package.json +++ b/packages/hardhat/package.json @@ -50,6 +50,7 @@ "typescript": "^5.1.6" }, "dependencies": { + "@chainlink/contracts": "^1.1.0", "@openzeppelin/contracts": "^4.8.1", "@typechain/ethers-v6": "^0.5.1", "dotenv": "^16.0.3", diff --git a/packages/nextjs/app/games/page.tsx b/packages/nextjs/app/games/page.tsx new file mode 100644 index 0000000..42ab391 --- /dev/null +++ b/packages/nextjs/app/games/page.tsx @@ -0,0 +1,35 @@ +"use client"; + +import type { NextPage } from "next"; +import { useAccount } from "wagmi"; +import CharacterCard from "~~/components/ceptor/CharacterCard"; +import characters from "~~/components/ceptor/CharacterData"; +import { Address } from "~~/components/scaffold-eth"; + +const Games: NextPage = () => { + const { address: connectedAddress } = useAccount(); + + return ( + <> +
+
+

+ Welcome to + Games-Scaffold 🏗🔴 +

+
+

Connected Address:

+
+
+
+ {characters.map((character, index) => ( + + ))} +
+
+
+ + ); +}; + +export default Games; diff --git a/packages/nextjs/app/page.tsx b/packages/nextjs/app/page.tsx index 8243e2f..7f19ba5 100644 --- a/packages/nextjs/app/page.tsx +++ b/packages/nextjs/app/page.tsx @@ -14,31 +14,14 @@ const Home: NextPage = () => {

- Welcome to - Scaffold-OP 🏗🔴 + Welcome hooty to + Ceptor Scaffold 🏗🔴

Connected Address:

-

- Get started by editing{" "} - - packages/nextjs/app/page.tsx - -

-

- Edit your smart contract{" "} - - YourContract.sol - {" "} - in{" "} - - packages/hardhat/contracts - -

-
@@ -54,9 +37,9 @@ const Home: NextPage = () => {

- Explore your local transactions with the{" "} - - Block Explorer + Explore your local characters with the{" "} + + Games {" "} tab.

diff --git a/packages/nextjs/components/Header.tsx b/packages/nextjs/components/Header.tsx index 3489729..7bf157c 100644 --- a/packages/nextjs/components/Header.tsx +++ b/packages/nextjs/components/Header.tsx @@ -5,7 +5,7 @@ import Image from "next/image"; import Link from "next/link"; import { usePathname } from "next/navigation"; import sunny from "./assets/sunny.svg"; -import { Bars3Icon, BugAntIcon } from "@heroicons/react/24/outline"; +import { Bars3Icon, BugAntIcon, PuzzlePieceIcon } from "@heroicons/react/24/outline"; import { DappConsoleButton, FaucetButton, @@ -30,6 +30,11 @@ export const menuLinks: HeaderMenuLink[] = [ href: "/debug", icon: , }, + { + label: "Games Hooty", + href: "/games", + icon: , + }, ]; export const HeaderMenuLinks = () => { diff --git a/packages/nextjs/components/ceptor/CharacterCard.tsx b/packages/nextjs/components/ceptor/CharacterCard.tsx new file mode 100644 index 0000000..2405dbe --- /dev/null +++ b/packages/nextjs/components/ceptor/CharacterCard.tsx @@ -0,0 +1,52 @@ +// components/ceptor/CharacterCard.tsx +import React from "react"; + +interface Character { + name: string; + classInfo: string; + race: string; + level: number; + background: string; + alignment: string; + abilities: Record; + combatStats: { + ac: number; + hitPoints: number; + initiative: number; + speed: string; + }; +} + +interface CharacterCardProps { + character: Character; +} + +const CharacterCard: React.FC = ({ character }) => { + return ( +
+

+ {character.name} - Level {character.level} {character.classInfo} +

+

+ {character.race} | {character.background} | {character.alignment} +

+
+

Abilities:

+ {Object.entries(character.abilities).map(([ability, value]) => ( +

+ {ability}: {value} +

+ ))} +
+
+

Combat Stats:

+

AC: {character.combatStats.ac}

+

Hit Points: {character.combatStats.hitPoints}

+

Initiative: {character.combatStats.initiative}

+

Speed: {character.combatStats.speed}

+
+
+ ); +}; + +export default CharacterCard; diff --git a/packages/nextjs/components/ceptor/CharacterData.ts b/packages/nextjs/components/ceptor/CharacterData.ts new file mode 100644 index 0000000..e535db9 --- /dev/null +++ b/packages/nextjs/components/ceptor/CharacterData.ts @@ -0,0 +1,82 @@ +interface Character { + name: string; + race: string; + classInfo: string; + level: number; + background: string; + alignment: string; + player: string; + abilities: { + strength: number; + dexterity: number; + constitution: number; + intelligence: number; + wisdom: number; + charisma: number; + }; + proficiencies: { + armor: string[]; + weapons: string[]; + tools: string[]; + savingThrows: string[]; + skills: string[]; + }; + featuresTraits: string[]; + equipment: string[]; + combatStats: { + ac: number; + initiative: number; + speed: string; + hitPoints: number; + }; +} + +const characters: Character[] = [ + { + name: "猪八戒", + race: "Zhu Bajie", + classInfo: "Fighter", + level: 1, + background: "Folk Hero", + alignment: "Neutral Good", + player: "Allan Ma", + abilities: { + strength: 15, + dexterity: 10, + constitution: 16, + intelligence: 8, + wisdom: 13, + charisma: 12, + }, + proficiencies: { + armor: ["All armor", "shields"], + weapons: ["Simple weapons", "martial weapons"], + tools: ["Brewer's supplies"], + savingThrows: ["Strength", "Constitution"], + skills: ["Athletics", "Perception"], + }, + featuresTraits: [ + "Pig's Resilience: Resistance to poison damage and advantage on saving throws against poison.", + "Noble Heart: Proficiency in Insight.", + "Forager: Can find food and fresh water for himself and up to five others each day in suitable environments.", + "Fighting Style (Defense): +1 bonus to AC while wearing armor.", + "Second Wind: Use a bonus action to regain hit points equal to 1d10 + your fighter level once per short or long rest.", + ], + equipment: [ + "Guandao (1d12 slashing damage, heavy, two-handed)", + "Chain mail (AC 16)", + "Adventurer's pack", + "Flask of strong liquor", + "Signet of his celestial origin", + "Set of common clothes", + ], + combatStats: { + ac: 17, + initiative: 0, + speed: "30 feet", + hitPoints: 13, + }, + }, +]; + +export default characters; diff --git a/packages/nextjs/contracts/deployedContracts.ts b/packages/nextjs/contracts/deployedContracts.ts index 008d4eb..da0a5b3 100644 --- a/packages/nextjs/contracts/deployedContracts.ts +++ b/packages/nextjs/contracts/deployedContracts.ts @@ -4,6 +4,761 @@ */ import { GenericContractsDeclaration } from "~~/utils/scaffold-eth/contract"; -const deployedContracts = {} as const; +const deployedContracts = { + 31337: { + BuyMeACeptor: { + address: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + abi: [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "InsufficientFunds", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "message", + type: "string", + }, + ], + name: "InvalidArguments", + type: "error", + }, + { + inputs: [], + name: "OnlyOwner", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "buyer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "price", + type: "uint256", + }, + ], + name: "BuyMeACeptorWorldEvent", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "gameMasterAddress", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "time", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "vibe", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "gameMasterName", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "gameMasterTwitterHandle", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "NewWorld", + type: "event", + }, + { + inputs: [ + { + internalType: "string", + name: "vibe", + type: "string", + }, + { + internalType: "string", + name: "gameMasterName", + type: "string", + }, + { + internalType: "string", + name: "gameMasterTwitterHandle", + type: "string", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "buyWorld", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getWorlds", + outputs: [ + { + components: [ + { + internalType: "string", + name: "vibe", + type: "string", + }, + { + internalType: "string", + name: "gameMasterName", + type: "string", + }, + { + internalType: "string", + name: "gameMasterTwitterHandle", + type: "string", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + { + internalType: "uint256", + name: "time", + type: "uint256", + }, + { + internalType: "address", + name: "gameMasterAddress", + type: "address", + }, + ], + internalType: "struct World[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "modifyWorldDescription", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address payable", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "price", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "removeWorld", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "withdrawTips", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "worlds", + outputs: [ + { + internalType: "string", + name: "vibe", + type: "string", + }, + { + internalType: "string", + name: "gameMasterName", + type: "string", + }, + { + internalType: "string", + name: "gameMasterTwitterHandle", + type: "string", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + { + internalType: "uint256", + name: "time", + type: "uint256", + }, + { + internalType: "address", + name: "gameMasterAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, + ], + inheritedFunctions: {}, + }, + BuyMeACoffee: { + address: "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", + abi: [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "InsufficientFunds", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "message", + type: "string", + }, + ], + name: "InvalidArguments", + type: "error", + }, + { + inputs: [], + name: "OnlyOwner", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "buyer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "price", + type: "uint256", + }, + ], + name: "BuyMeACoffeeEvent", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "userAddress", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "time", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "numCoffees", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "userName", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "twitterHandle", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "message", + type: "string", + }, + ], + name: "NewMemo", + type: "event", + }, + { + inputs: [ + { + internalType: "uint256", + name: "numCoffees", + type: "uint256", + }, + { + internalType: "string", + name: "userName", + type: "string", + }, + { + internalType: "string", + name: "twitterHandle", + type: "string", + }, + { + internalType: "string", + name: "message", + type: "string", + }, + ], + name: "buyCoffee", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getMemos", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "numCoffees", + type: "uint256", + }, + { + internalType: "string", + name: "userName", + type: "string", + }, + { + internalType: "string", + name: "twitterHandle", + type: "string", + }, + { + internalType: "string", + name: "message", + type: "string", + }, + { + internalType: "uint256", + name: "time", + type: "uint256", + }, + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + internalType: "struct Memo[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "memos", + outputs: [ + { + internalType: "uint256", + name: "numCoffees", + type: "uint256", + }, + { + internalType: "string", + name: "userName", + type: "string", + }, + { + internalType: "string", + name: "twitterHandle", + type: "string", + }, + { + internalType: "string", + name: "message", + type: "string", + }, + { + internalType: "uint256", + name: "time", + type: "uint256", + }, + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + { + internalType: "string", + name: "message", + type: "string", + }, + ], + name: "modifyMemoMessage", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address payable", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "price", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "removeMemo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "withdrawTips", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, + ], + inheritedFunctions: {}, + }, + YourContract: { + address: "0x5FbDB2315678afecb367f032d93F642f64180aa3", + abi: [ + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "greetingSetter", + type: "address", + }, + { + indexed: false, + internalType: "string", + name: "newGreeting", + type: "string", + }, + { + indexed: false, + internalType: "bool", + name: "premium", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "GreetingChange", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "number", + type: "uint256", + }, + ], + name: "NumberUpdated", + type: "event", + }, + { + inputs: [], + name: "greeting", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "premium", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_newGreeting", + type: "string", + }, + ], + name: "setGreeting", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_number", + type: "uint256", + }, + ], + name: "storeNumber", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "totalCounter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "userGreetingCounter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "userNumbers", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, + ], + inheritedFunctions: {}, + }, + }, +} as const; export default deployedContracts satisfies GenericContractsDeclaration; diff --git a/yarn.lock b/yarn.lock index 5a19760..c1f4bb3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,6 +33,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.0.0": + version: 7.24.2 + resolution: "@babel/code-frame@npm:7.24.2" + dependencies: + "@babel/highlight": ^7.24.2 + picocolors: ^1.0.0 + checksum: 70e867340cfe09ca5488b2f36372c45cabf43c79a5b6426e6df5ef0611ff5dfa75a57dda841895693de6008f32c21a7c97027a8c7bcabd63a7d17416cbead6f8 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.13": version: 7.22.13 resolution: "@babel/code-frame@npm:7.22.13" @@ -115,6 +125,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.24.5": + version: 7.24.5 + resolution: "@babel/helper-validator-identifier@npm:7.24.5" + checksum: 75d6f9f475c08f3be87bae4953e9b8d8c72983e16ed2860870b328d048cb20dccb4fcbf85eacbdd817ea1efbb38552a6db9046e2e37bfe13bdec44ac8939024c + languageName: node + linkType: hard + "@babel/highlight@npm:^7.22.13": version: 7.22.20 resolution: "@babel/highlight@npm:7.22.20" @@ -126,6 +143,18 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.24.2": + version: 7.24.5 + resolution: "@babel/highlight@npm:7.24.5" + dependencies: + "@babel/helper-validator-identifier": ^7.24.5 + chalk: ^2.4.2 + js-tokens: ^4.0.0 + picocolors: ^1.0.0 + checksum: eece0e63e9210e902f1ee88f15cabfa31d2693bd2e56806eb849478b859d274c24477081c649cee6a241c4aed7da6f3e05c7afa5c3cd70094006ed095292b0d0 + languageName: node + linkType: hard + "@babel/parser@npm:^7.17.3, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.22.15": version: 7.23.0 resolution: "@babel/parser@npm:7.23.0" @@ -144,6 +173,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.20.1, @babel/runtime@npm:^7.5.5": + version: 7.24.5 + resolution: "@babel/runtime@npm:7.24.5" + dependencies: + regenerator-runtime: ^0.14.0 + checksum: 755383192f3ac32ba4c62bd4f1ae92aed5b82d2c6665f39eb28fa94546777cf5c63493ea92dd03f1c2e621b17e860f190c056684b7f234270fdc91e29beda063 + languageName: node + linkType: hard + "@babel/template@npm:^7.22.15": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" @@ -194,6 +232,21 @@ __metadata: languageName: node linkType: hard +"@chainlink/contracts@npm:^1.1.0": + version: 1.1.0 + resolution: "@chainlink/contracts@npm:1.1.0" + dependencies: + "@changesets/changelog-github": ^0.4.8 + "@changesets/cli": ~2.26.2 + "@eth-optimism/contracts": 0.6.0 + "@openzeppelin/contracts": 4.9.3 + "@openzeppelin/contracts-upgradeable": 4.9.3 + "@scroll-tech/contracts": 0.1.0 + semver: ^7.6.0 + checksum: 99be0045648c1fa3fffb76822bb8b4e9893077f6ad7d384aee421f465bf6d7d751b5375a66f4232d6a0a11f490c85c85bbd9f63c5744344050bb303a4859acfc + languageName: node + linkType: hard + "@chainsafe/as-sha256@npm:^0.3.1": version: 0.3.1 resolution: "@chainsafe/as-sha256@npm:0.3.1" @@ -240,6 +293,263 @@ __metadata: languageName: node linkType: hard +"@changesets/apply-release-plan@npm:^6.1.4": + version: 6.1.4 + resolution: "@changesets/apply-release-plan@npm:6.1.4" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/config": ^2.3.1 + "@changesets/get-version-range-type": ^0.3.2 + "@changesets/git": ^2.0.0 + "@changesets/types": ^5.2.1 + "@manypkg/get-packages": ^1.1.3 + detect-indent: ^6.0.0 + fs-extra: ^7.0.1 + lodash.startcase: ^4.4.0 + outdent: ^0.5.0 + prettier: ^2.7.1 + resolve-from: ^5.0.0 + semver: ^7.5.3 + checksum: d386aee70c5483c97d964c6fa1191878005b7050d34b2e1e4a1ad66d9ad44f8f20d1c884e01e770b954bd2d4364f935510e53ae896212669f67e5c37b2a610c7 + languageName: node + linkType: hard + +"@changesets/assemble-release-plan@npm:^5.2.4": + version: 5.2.4 + resolution: "@changesets/assemble-release-plan@npm:5.2.4" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/errors": ^0.1.4 + "@changesets/get-dependents-graph": ^1.3.6 + "@changesets/types": ^5.2.1 + "@manypkg/get-packages": ^1.1.3 + semver: ^7.5.3 + checksum: 32f443a0afec3d5a4afc68c8de32e8ff88531ea24976b50583b1d6870d71cec2729f27952af82854eb54e2ad0a619872d211d654c596ee0eb42c83ab54ad15ae + languageName: node + linkType: hard + +"@changesets/changelog-git@npm:^0.1.14": + version: 0.1.14 + resolution: "@changesets/changelog-git@npm:0.1.14" + dependencies: + "@changesets/types": ^5.2.1 + checksum: 60b45bb899e66cec669ab3884d5d18550cd30bf5a8b06f335eb72aa6c9e018dd3e0187e4df61c91a22076153e346b735b792f0e9c6186e6245b1b7aec2fc42d4 + languageName: node + linkType: hard + +"@changesets/changelog-github@npm:^0.4.8": + version: 0.4.8 + resolution: "@changesets/changelog-github@npm:0.4.8" + dependencies: + "@changesets/get-github-info": ^0.5.2 + "@changesets/types": ^5.2.1 + dotenv: ^8.1.0 + checksum: 8a357cc08757e0eeca267ee05141f68bef936582abef8b78a5d30d99f5a86e41b7d3debba70992b73b2f57b0fc6201ec1cc3c65116930167ee3197b427b865c5 + languageName: node + linkType: hard + +"@changesets/cli@npm:~2.26.2": + version: 2.26.2 + resolution: "@changesets/cli@npm:2.26.2" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/apply-release-plan": ^6.1.4 + "@changesets/assemble-release-plan": ^5.2.4 + "@changesets/changelog-git": ^0.1.14 + "@changesets/config": ^2.3.1 + "@changesets/errors": ^0.1.4 + "@changesets/get-dependents-graph": ^1.3.6 + "@changesets/get-release-plan": ^3.0.17 + "@changesets/git": ^2.0.0 + "@changesets/logger": ^0.0.5 + "@changesets/pre": ^1.0.14 + "@changesets/read": ^0.5.9 + "@changesets/types": ^5.2.1 + "@changesets/write": ^0.2.3 + "@manypkg/get-packages": ^1.1.3 + "@types/is-ci": ^3.0.0 + "@types/semver": ^7.5.0 + ansi-colors: ^4.1.3 + chalk: ^2.1.0 + enquirer: ^2.3.0 + external-editor: ^3.1.0 + fs-extra: ^7.0.1 + human-id: ^1.0.2 + is-ci: ^3.0.1 + meow: ^6.0.0 + outdent: ^0.5.0 + p-limit: ^2.2.0 + preferred-pm: ^3.0.0 + resolve-from: ^5.0.0 + semver: ^7.5.3 + spawndamnit: ^2.0.0 + term-size: ^2.1.0 + tty-table: ^4.1.5 + bin: + changeset: bin.js + checksum: fc7b5bf319b19abed7a8d33a9fbd9ce49108af61c9c51920f609a49cb0c557f0b998711250d0cac149d0bed8a522f3109c4d8b0dda65b96ff2f823d16ca2f972 + languageName: node + linkType: hard + +"@changesets/config@npm:^2.3.1": + version: 2.3.1 + resolution: "@changesets/config@npm:2.3.1" + dependencies: + "@changesets/errors": ^0.1.4 + "@changesets/get-dependents-graph": ^1.3.6 + "@changesets/logger": ^0.0.5 + "@changesets/types": ^5.2.1 + "@manypkg/get-packages": ^1.1.3 + fs-extra: ^7.0.1 + micromatch: ^4.0.2 + checksum: 8af58e3add4751ac8ce2c01f026ac8843b8d1c07c9a3df6518496eaef67f56458a84cad310763c588f7eccbf6831afbf280df7e05e78b294027b6b847be3d0cc + languageName: node + linkType: hard + +"@changesets/errors@npm:^0.1.4": + version: 0.1.4 + resolution: "@changesets/errors@npm:0.1.4" + dependencies: + extendable-error: ^0.1.5 + checksum: 10734f1379715bf5a70b566dd42b50a75964d76f382bb67332776614454deda6d04a43dd7e727cd7cba56d7f2f7c95a07c7c0a19dd5d64fb1980b28322840733 + languageName: node + linkType: hard + +"@changesets/get-dependents-graph@npm:^1.3.6": + version: 1.3.6 + resolution: "@changesets/get-dependents-graph@npm:1.3.6" + dependencies: + "@changesets/types": ^5.2.1 + "@manypkg/get-packages": ^1.1.3 + chalk: ^2.1.0 + fs-extra: ^7.0.1 + semver: ^7.5.3 + checksum: d2cbbc5041063b939899502d1b264a0d9edb655acefd7f6197883229156bb7cfd1ace642ae4a1f7f7b432f2c51429f5dc9851ff5a9ed47f1c0159916e66627a9 + languageName: node + linkType: hard + +"@changesets/get-github-info@npm:^0.5.2": + version: 0.5.2 + resolution: "@changesets/get-github-info@npm:0.5.2" + dependencies: + dataloader: ^1.4.0 + node-fetch: ^2.5.0 + checksum: 067e07eeaecdbedbd1c715513c4aa6206a941bd1d3af292d067792808c6fa6644caad2b35fba614a44892559c031c234df8028f8d2abd4cb2682d48080ef5df3 + languageName: node + linkType: hard + +"@changesets/get-release-plan@npm:^3.0.17": + version: 3.0.17 + resolution: "@changesets/get-release-plan@npm:3.0.17" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/assemble-release-plan": ^5.2.4 + "@changesets/config": ^2.3.1 + "@changesets/pre": ^1.0.14 + "@changesets/read": ^0.5.9 + "@changesets/types": ^5.2.1 + "@manypkg/get-packages": ^1.1.3 + checksum: 8a0e3794d0f1e6220d173dbec96352ad69b585d013c3183888ca598dfdfcaa8a5ac3f7f36d5c511575cdc3559c2ad6f8cecfaa16ba9c24380899a81daa7af924 + languageName: node + linkType: hard + +"@changesets/get-version-range-type@npm:^0.3.2": + version: 0.3.2 + resolution: "@changesets/get-version-range-type@npm:0.3.2" + checksum: b7ee7127c472a3886906ca6db336ac11233a5e75abc882084bfb4794e79a8936e3faceec3c04bf61c26453cd7f74278d9bf22aea4cdca8c1cd992591925b3c9b + languageName: node + linkType: hard + +"@changesets/git@npm:^2.0.0": + version: 2.0.0 + resolution: "@changesets/git@npm:2.0.0" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/errors": ^0.1.4 + "@changesets/types": ^5.2.1 + "@manypkg/get-packages": ^1.1.3 + is-subdir: ^1.1.1 + micromatch: ^4.0.2 + spawndamnit: ^2.0.0 + checksum: 3820b7b689bbe8dfb93222c766bee214e68a45f07b2b5c8056891f9ffe6f1e369c0f84388246a9eea5317b496ae80ffd1508319190f79c359f060ebf8ccb7b13 + languageName: node + linkType: hard + +"@changesets/logger@npm:^0.0.5": + version: 0.0.5 + resolution: "@changesets/logger@npm:0.0.5" + dependencies: + chalk: ^2.1.0 + checksum: bfec3cd9122b00c0ec25e96730f771ffd662ef3906d571bad1e4e9993f9d54d357d3eaf074b3dfaa4e23af759ce68efa2a97d8b845b0d8c951df5d21c6dfdff5 + languageName: node + linkType: hard + +"@changesets/parse@npm:^0.3.16": + version: 0.3.16 + resolution: "@changesets/parse@npm:0.3.16" + dependencies: + "@changesets/types": ^5.2.1 + js-yaml: ^3.13.1 + checksum: 475f808ac8d33ec90af3914d55af1da8eeb9336d6cab7dd9e5be74af844f0ec04f4a67d5237a1d3284a468e0c9198e2be01d0e5870a1b28e63bc240f5f1ffea9 + languageName: node + linkType: hard + +"@changesets/pre@npm:^1.0.14": + version: 1.0.14 + resolution: "@changesets/pre@npm:1.0.14" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/errors": ^0.1.4 + "@changesets/types": ^5.2.1 + "@manypkg/get-packages": ^1.1.3 + fs-extra: ^7.0.1 + checksum: 6b849bd6f916476a5b5664bc4286020bee506985c82f723a757fa4e681b0b7129db81751f16072ac55a980ffd83a4b234d6b8d0f8b6bc889aa0c0fd5377431e8 + languageName: node + linkType: hard + +"@changesets/read@npm:^0.5.9": + version: 0.5.9 + resolution: "@changesets/read@npm:0.5.9" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/git": ^2.0.0 + "@changesets/logger": ^0.0.5 + "@changesets/parse": ^0.3.16 + "@changesets/types": ^5.2.1 + chalk: ^2.1.0 + fs-extra: ^7.0.1 + p-filter: ^2.1.0 + checksum: 0875a80829186de2da55bc0347601cc31b269d54fb6967a5093abacbbd9f949e352907b8340b61348a304228fdade670ded151327f16eea3424b5b4b2bb9888c + languageName: node + linkType: hard + +"@changesets/types@npm:^4.0.1": + version: 4.1.0 + resolution: "@changesets/types@npm:4.1.0" + checksum: 72c1f58044178ca867dd9349ecc4b7c233ce3781bb03b5b72a70c3166fbbab54a2f2cb19a81f96b4649ba004442c8734569fba238be4dd737fb4624a135c6098 + languageName: node + linkType: hard + +"@changesets/types@npm:^5.2.1": + version: 5.2.1 + resolution: "@changesets/types@npm:5.2.1" + checksum: 527dc1aa41b040fe35bcd55f7d07bec710320b179b000c429723e25b87aac18be487daf5047d4fecf2781aad78f73abff111e76e411b652f7a2e812a464c69f2 + languageName: node + linkType: hard + +"@changesets/write@npm:^0.2.3": + version: 0.2.3 + resolution: "@changesets/write@npm:0.2.3" + dependencies: + "@babel/runtime": ^7.20.1 + "@changesets/types": ^5.2.1 + fs-extra: ^7.0.1 + human-id: ^1.0.2 + prettier: ^2.7.1 + checksum: 40ad8069f9adc565b78a5f25992e31b41a12e551d94c29e1b4def49ce98871a1e358feda6536be8b363a6dba18b1226a22ecfc60fdd7bc1e74bfcf46b07f91be + languageName: node + linkType: hard + "@coinbase/wallet-sdk@npm:^3.6.6": version: 3.7.2 resolution: "@coinbase/wallet-sdk@npm:3.7.2" @@ -362,6 +672,43 @@ __metadata: languageName: node linkType: hard +"@eth-optimism/contracts@npm:0.6.0": + version: 0.6.0 + resolution: "@eth-optimism/contracts@npm:0.6.0" + dependencies: + "@eth-optimism/core-utils": 0.12.0 + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + peerDependencies: + ethers: ^5 + checksum: 52e9a6cc6ad9bf3ab085d3be501fa4c89e48865baa8aee01aff39c2b007b69600304c7e8f8f4e00d67396e48a0dbfe3a260437efd3a4d7216424cece52639870 + languageName: node + linkType: hard + +"@eth-optimism/core-utils@npm:0.12.0": + version: 0.12.0 + resolution: "@eth-optimism/core-utils@npm:0.12.0" + dependencies: + "@ethersproject/abi": ^5.7.0 + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/contracts": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/providers": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/web": ^5.7.0 + bufio: ^1.0.7 + chai: ^4.3.4 + checksum: 1c820107c44bdbb46becb1b00fd0dabb44f3ac8f54e6da7872a5a134411fad26f53b193225da55e79d6a8d7f0d01cc16a123db5d41ebaf02ca78360249a4b52a + languageName: node + linkType: hard + "@ethereumjs/rlp@npm:^4.0.1": version: 4.0.1 resolution: "@ethereumjs/rlp@npm:4.0.1" @@ -609,7 +956,7 @@ __metadata: languageName: node linkType: hard -"@ethersproject/providers@npm:5.7.2, @ethersproject/providers@npm:^5.7.1, @ethersproject/providers@npm:^5.7.2": +"@ethersproject/providers@npm:5.7.2, @ethersproject/providers@npm:^5.7.0, @ethersproject/providers@npm:^5.7.1, @ethersproject/providers@npm:^5.7.2": version: 5.7.2 resolution: "@ethersproject/providers@npm:5.7.2" dependencies: @@ -916,6 +1263,32 @@ __metadata: languageName: node linkType: hard +"@manypkg/find-root@npm:^1.1.0": + version: 1.1.0 + resolution: "@manypkg/find-root@npm:1.1.0" + dependencies: + "@babel/runtime": ^7.5.5 + "@types/node": ^12.7.1 + find-up: ^4.1.0 + fs-extra: ^8.1.0 + checksum: f0fd881a5a81a351cb6561cd24117e8ee9481bbf3b6d1c7d9d10bef1f4744ca2ba3d064713e83c0a0574416d1e5b4a4c6c414aad91913c4a1c6040d87283ac50 + languageName: node + linkType: hard + +"@manypkg/get-packages@npm:^1.1.3": + version: 1.1.3 + resolution: "@manypkg/get-packages@npm:1.1.3" + dependencies: + "@babel/runtime": ^7.5.5 + "@changesets/types": ^4.0.1 + "@manypkg/find-root": ^1.1.0 + fs-extra: ^8.1.0 + globby: ^11.0.0 + read-yaml-file: ^1.1.0 + checksum: f5a756e5a659e0e1c33f48852d56826d170d5b10a3cdea89ce4fcaa77678d8799aa4004b30e1985c87b73dbc390b95bb6411b78336dd1e0db87c08c74b5c0e74 + languageName: node + linkType: hard + "@mapbox/node-pre-gyp@npm:^1.0.5": version: 1.0.11 resolution: "@mapbox/node-pre-gyp@npm:1.0.11" @@ -1540,7 +1913,14 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts@npm:^4.8.1": +"@openzeppelin/contracts-upgradeable@npm:4.9.3": + version: 4.9.3 + resolution: "@openzeppelin/contracts-upgradeable@npm:4.9.3" + checksum: bda0240b1d44c913ec5a4e109c622f216c2bbd7b468d210822f75782a5f7fe0609d08bf03b78b253333625e99e507cf2f75212f1de3b274bd9fc64ae967aeec3 + languageName: node + linkType: hard + +"@openzeppelin/contracts@npm:4.9.3, @openzeppelin/contracts@npm:^4.8.1": version: 4.9.3 resolution: "@openzeppelin/contracts@npm:4.9.3" checksum: 4932063e733b35fa7669b9fe2053f69b062366c5c208b0c6cfa1ac451712100c78acff98120c3a4b88d94154c802be05d160d71f37e7d74cadbe150964458838 @@ -1763,6 +2143,13 @@ __metadata: languageName: node linkType: hard +"@scroll-tech/contracts@npm:0.1.0": + version: 0.1.0 + resolution: "@scroll-tech/contracts@npm:0.1.0" + checksum: 61aa3ca76043276dd38dfb2ed67c019fcd1bf42c8b5d33726e6addfa95cad96ba057988cc00572159c47fcdbbad6fbd1da4821c82f512f5a8704f7807820a04b + languageName: node + linkType: hard + "@scure/base@npm:~1.1.0, @scure/base@npm:~1.1.2": version: 1.1.3 resolution: "@scure/base@npm:1.1.3" @@ -1827,6 +2214,7 @@ __metadata: version: 0.0.0-use.local resolution: "@se-2/hardhat@workspace:packages/hardhat" dependencies: + "@chainlink/contracts": ^1.1.0 "@ethersproject/abi": ^5.7.0 "@ethersproject/providers": ^5.7.1 "@nomicfoundation/hardhat-chai-matchers": ^2.0.3 @@ -2501,6 +2889,15 @@ __metadata: languageName: node linkType: hard +"@types/is-ci@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/is-ci@npm:3.0.4" + dependencies: + ci-info: ^3.1.0 + checksum: 5cb58dd3b64830bf2ce577017f554139cd35e3250a3feb3c2d5e5a2cb261cca909cf68faab6f31dde0c054719c7b360dd0f46d3a83a05b1e78453a9872d056c5 + languageName: node + linkType: hard + "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.9": version: 7.0.13 resolution: "@types/json-schema@npm:7.0.13" @@ -2529,6 +2926,13 @@ __metadata: languageName: node linkType: hard +"@types/minimist@npm:^1.2.0": + version: 1.2.5 + resolution: "@types/minimist@npm:1.2.5" + checksum: 477047b606005058ab0263c4f58097136268007f320003c348794f74adedc3166ffc47c80ec3e94687787f2ab7f4e72c468223946e79892cf0fd9e25e9970a90 + languageName: node + linkType: hard + "@types/mocha@npm:^9.1.1": version: 9.1.1 resolution: "@types/mocha@npm:9.1.1" @@ -2571,7 +2975,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^12.12.54": +"@types/node@npm:^12.12.54, @types/node@npm:^12.7.1": version: 12.20.55 resolution: "@types/node@npm:12.20.55" checksum: e4f86785f4092706e0d3b0edff8dca5a13b45627e4b36700acd8dfe6ad53db71928c8dee914d4276c7fd3b6ccd829aa919811c9eb708a2c8e4c6eb3701178c37 @@ -2592,6 +2996,13 @@ __metadata: languageName: node linkType: hard +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.4 + resolution: "@types/normalize-package-data@npm:2.4.4" + checksum: 65dff72b543997b7be8b0265eca7ace0e34b75c3e5fee31de11179d08fa7124a7a5587265d53d0409532ecb7f7fba662c2012807963e1f9b059653ec2c83ee05 + languageName: node + linkType: hard + "@types/nprogress@npm:^0": version: 0.2.1 resolution: "@types/nprogress@npm:0.2.1" @@ -3974,7 +4385,7 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^4.1.1": +"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" checksum: a9c2ec842038a1fabc7db9ece7d3177e2fe1c5dc6f0c51ecfbf5f39911427b89c00b5dc6b8bd95f82a26e9b16aaae2e83d45f060e98070ce4d1333038edceb0e @@ -4222,7 +4633,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1": +"array.prototype.flat@npm:^1.2.3, array.prototype.flat@npm:^1.3.1": version: 1.3.2 resolution: "array.prototype.flat@npm:1.3.2" dependencies: @@ -4287,6 +4698,13 @@ __metadata: languageName: node linkType: hard +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 745075dd4a4624ff0225c331dacb99be501a515d39bcb7c84d24660314a6ec28e68131b137e6f7e16318170842ce97538cd298fc4cd6b2cc798e0b957f2747e7 + languageName: node + linkType: hard + "asap@npm:~2.0.6": version: 2.0.6 resolution: "asap@npm:2.0.6" @@ -4508,6 +4926,15 @@ __metadata: languageName: node linkType: hard +"better-path-resolve@npm:1.0.0": + version: 1.0.0 + resolution: "better-path-resolve@npm:1.0.0" + dependencies: + is-windows: ^1.0.0 + checksum: 5392dbe04e7fe68b944eb37961d9dfa147aaac3ee9ee3f6e13d42e2c9fbe949e68d16e896c14ee9016fa5f8e6e53ec7fd8b5f01b50a32067a7d94ac9cfb9a050 + languageName: node + linkType: hard + "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -4640,6 +5067,15 @@ __metadata: languageName: node linkType: hard +"breakword@npm:^1.0.5": + version: 1.0.6 + resolution: "breakword@npm:1.0.6" + dependencies: + wcwidth: ^1.0.1 + checksum: e8a3f308c0214986e1b768ca4460a798ffe4bbe08c375576de526431a01a9738318710cc05e309486ac5809d77d9f33d957f80939a890e07be5e89baad9816f8 + languageName: node + linkType: hard + "brorand@npm:^1.1.0": version: 1.1.0 resolution: "brorand@npm:1.1.0" @@ -4765,6 +5201,13 @@ __metadata: languageName: node linkType: hard +"bufio@npm:^1.0.7": + version: 1.2.1 + resolution: "bufio@npm:1.2.1" + checksum: b6e1216f4a5877617a3580b83807d8b96c794c015bc2d5eb9e70e152dc79fe923517472bd96df3d5b8feb59a0e25e2aa3cd8a70b8f90905b92d86f2e5719ed68 + languageName: node + linkType: hard + "busboy@npm:1.6.0, busboy@npm:^1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -4845,7 +5288,18 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.0.0": +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: ^5.3.1 + map-obj: ^4.0.0 + quick-lru: ^4.0.1 + checksum: 43c9af1adf840471e54c68ab3e5fe8a62719a6b7dbf4e2e86886b7b0ff96112c945736342b837bd2529ec9d1c7d1934e5653318478d98e0cf22c475c04658e2a + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b @@ -4907,6 +5361,21 @@ __metadata: languageName: node linkType: hard +"chai@npm:^4.3.4": + version: 4.4.1 + resolution: "chai@npm:4.4.1" + dependencies: + assertion-error: ^1.1.0 + check-error: ^1.0.3 + deep-eql: ^4.1.3 + get-func-name: ^2.0.2 + loupe: ^2.3.6 + pathval: ^1.1.1 + type-detect: ^4.0.8 + checksum: 9ab84f36eb8e0b280c56c6c21ca4da5933132cd8a0c89c384f1497f77953640db0bc151edd47f81748240a9fab57b78f7d925edfeedc8e8fc98016d71f40c36e + languageName: node + linkType: hard + "chai@npm:^4.3.6": version: 4.3.9 resolution: "chai@npm:4.3.9" @@ -4929,7 +5398,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": +"chalk@npm:^2.1.0, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -5051,6 +5520,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^3.1.0, ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 6b19dc9b2966d1f8c2041a838217299718f15d6c4b63ae36e4674edd2bee48f780e94761286a56aa59eb305a85fbea4ddffb7630ec063e7ec7e7e5ad42549a87 + languageName: node + linkType: hard + "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.4 resolution: "cipher-base@npm:1.0.4" @@ -5198,6 +5674,17 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.1 + wrap-ansi: ^7.0.0 + checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 + languageName: node + linkType: hard + "clone@npm:^1.0.2": version: 1.0.4 resolution: "clone@npm:1.0.4" @@ -5492,6 +5979,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^5.1.0": + version: 5.1.0 + resolution: "cross-spawn@npm:5.1.0" + dependencies: + lru-cache: ^4.0.1 + shebang-command: ^1.2.0 + which: ^1.2.9 + checksum: 726939c9954fc70c20e538923feaaa33bebc253247d13021737c3c7f68cdc3e0a57f720c0fe75057c0387995349f3f12e20e9bfdbf12274db28019c7ea4ec166 + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -5543,6 +6041,39 @@ __metadata: languageName: node linkType: hard +"csv-generate@npm:^3.4.3": + version: 3.4.3 + resolution: "csv-generate@npm:3.4.3" + checksum: 868dc630e8bcabf42d3d1ef22c09fb783de72d7e5929854aad0323f44059b1747edf8a2724e32fdc5008396e2ea38d5c45df0b0e3a1b506e3ab34f76f3e2fb3a + languageName: node + linkType: hard + +"csv-parse@npm:^4.16.3": + version: 4.16.3 + resolution: "csv-parse@npm:4.16.3" + checksum: 5ad7790fc31c32ca1623bad1a54906134ba44fa109e8dd2dfda440bf7e9fd93610d9076a78f45c872701bfafdf7f93c9b75500c09d7efd6611d863f1d45ec69f + languageName: node + linkType: hard + +"csv-stringify@npm:^5.6.5": + version: 5.6.5 + resolution: "csv-stringify@npm:5.6.5" + checksum: f93e1444857416081de3d86765b62e4c4f7c110974ad6bbcb0031d7db39b6624847ac9ee5705726e7011346f32f3696f27299b74b23a6c2b083adff0dd2755fe + languageName: node + linkType: hard + +"csv@npm:^5.5.3": + version: 5.5.3 + resolution: "csv@npm:5.5.3" + dependencies: + csv-generate: ^3.4.3 + csv-parse: ^4.16.3 + csv-stringify: ^5.6.5 + stream-transform: ^2.1.3 + checksum: 0decc2d0d7a0abf127f4556d6f3cef5a54015b78d348608b5e8f42256c2bd0a021f34f1efc9723b2cd162680917de4c0b3967bfb65a07305eca0827654ca727e + languageName: node + linkType: hard + "culori@npm:^3": version: 3.3.0 resolution: "culori@npm:3.3.0" @@ -5578,6 +6109,13 @@ __metadata: languageName: node linkType: hard +"dataloader@npm:^1.4.0": + version: 1.4.0 + resolution: "dataloader@npm:1.4.0" + checksum: e2c93d43afde68980efc0cd9ff48e9851116e27a9687f863e02b56d46f7e7868cc762cd6dcbaf4197e1ca850a03651510c165c2ae24b8e9843fd894002ad0e20 + languageName: node + linkType: hard + "death@npm:^1.1.0": version: 1.1.0 resolution: "death@npm:1.1.0" @@ -5624,7 +6162,17 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^1.2.0": +"decamelize-keys@npm:^1.1.0": + version: 1.1.1 + resolution: "decamelize-keys@npm:1.1.1" + dependencies: + decamelize: ^1.1.0 + map-obj: ^1.0.0 + checksum: fc645fe20b7bda2680bbf9481a3477257a7f9304b1691036092b97ab04c0ab53e3bf9fcc2d2ae382536568e402ec41fb11e1d4c3836a9abe2d813dd9ef4311e0 + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0, decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa @@ -5652,7 +6200,7 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^4.0.1, deep-eql@npm:^4.1.2": +"deep-eql@npm:^4.0.1, deep-eql@npm:^4.1.2, deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" dependencies: @@ -5801,8 +6349,15 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^1.0.3": - version: 1.0.3 +"detect-indent@npm:^6.0.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: ab953a73c72dbd4e8fc68e4ed4bfd92c97eb6c43734af3900add963fd3a9316f3bc0578b018b24198d4c31a358571eff5f0656e81a1f3b9ad5c547d58b2d093d + languageName: node + linkType: hard + +"detect-libc@npm:^1.0.3": + version: 1.0.3 resolution: "detect-libc@npm:1.0.3" bin: detect-libc: ./bin/detect-libc.js @@ -5922,6 +6477,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^8.1.0": + version: 8.6.0 + resolution: "dotenv@npm:8.6.0" + checksum: 38e902c80b0666ab59e9310a3d24ed237029a7ce34d976796349765ac96b8d769f6df19090f1f471b77a25ca391971efde8a1ea63bb83111bd8bec8e5cc9b2cd + languageName: node + linkType: hard + "duplexify@npm:^4.1.2": version: 4.1.2 resolution: "duplexify@npm:4.1.2" @@ -6090,6 +6652,15 @@ __metadata: languageName: node linkType: hard +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + languageName: node + linkType: hard + "es-abstract@npm:^1.22.1": version: 1.22.2 resolution: "es-abstract@npm:1.22.2" @@ -7217,6 +7788,13 @@ __metadata: languageName: node linkType: hard +"extendable-error@npm:^0.1.5": + version: 0.1.7 + resolution: "extendable-error@npm:0.1.7" + checksum: 80478be7429a1675d2085f701239796bab3230ed6f2fb1b138fbabec24bea6516b7c5ceb6e9c209efcc9c089948d93715703845653535f8e8a49655066a9255e + languageName: node + linkType: hard + "external-editor@npm:^3.1.0": version: 3.1.0 resolution: "external-editor@npm:3.1.0" @@ -7414,7 +7992,7 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^4.1.0": +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" dependencies: @@ -7424,6 +8002,16 @@ __metadata: languageName: node linkType: hard +"find-yarn-workspace-root2@npm:1.2.16": + version: 1.2.16 + resolution: "find-yarn-workspace-root2@npm:1.2.16" + dependencies: + micromatch: ^4.0.2 + pkg-dir: ^4.2.0 + checksum: b4abdd37ab87c2172e2abab69ecbfed365d63232742cd1f0a165020fba1b200478e944ec2035c6aaf0ae142ac4c523cbf08670f45e59b242bcc295731b017825 + languageName: node + linkType: hard + "flat-cache@npm:^3.0.4": version: 3.1.0 resolution: "flat-cache@npm:3.1.0" @@ -7796,7 +8384,7 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.0, get-func-name@npm:^2.0.2": +"get-func-name@npm:^2.0.0, get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": version: 2.0.2 resolution: "get-func-name@npm:2.0.2" checksum: 3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b @@ -8096,7 +8684,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": +"globby@npm:^11.0.0, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -8128,13 +8716,20 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 languageName: node linkType: hard +"grapheme-splitter@npm:^1.0.4": + version: 1.0.4 + resolution: "grapheme-splitter@npm:1.0.4" + checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 + languageName: node + linkType: hard + "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -8200,6 +8795,13 @@ __metadata: languageName: node linkType: hard +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 7baaf80a0c7fff4ca79687b4060113f1529589852152fa935e6787a2bc96211e784ad4588fb3048136ff8ffc9dfcf3ae385314a5b24db32de20bea0d1597f9dc + languageName: node + linkType: hard + "hardhat-deploy-ethers@npm:^0.4.1": version: 0.4.1 resolution: "hardhat-deploy-ethers@npm:0.4.1" @@ -8481,6 +9083,13 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd + languageName: node + linkType: hard + "http-basic@npm:^8.1.1": version: 8.1.3 resolution: "http-basic@npm:8.1.3" @@ -8584,6 +9193,13 @@ __metadata: languageName: node linkType: hard +"human-id@npm:^1.0.2": + version: 1.0.2 + resolution: "human-id@npm:1.0.2" + checksum: 95ee57ffae849f008e2ef3fe6e437be8c999861b4256f18c3b194c8928670a8a149e0576917105d5fd77e5edbb621c5a4736fade20bb7bf130113c1ebc95cb74 + languageName: node + linkType: hard + "human-signals@npm:^1.1.1": version: 1.1.1 resolution: "human-signals@npm:1.1.1" @@ -8849,6 +9465,13 @@ __metadata: languageName: node linkType: hard +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f + languageName: node + linkType: hard + "is-async-function@npm:^2.0.0": version: 2.0.0 resolution: "is-async-function@npm:2.0.0" @@ -8900,6 +9523,17 @@ __metadata: languageName: node linkType: hard +"is-ci@npm:^3.0.1": + version: 3.0.1 + resolution: "is-ci@npm:3.0.1" + dependencies: + ci-info: ^3.2.0 + bin: + is-ci: bin.js + checksum: 192c66dc7826d58f803ecae624860dccf1899fc1f3ac5505284c0a5cf5f889046ffeb958fa651e5725d5705c5bcb14f055b79150ea5fcad7456a9569de60260e + languageName: node + linkType: hard + "is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.9.0": version: 2.13.0 resolution: "is-core-module@npm:2.13.0" @@ -9040,6 +9674,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 + languageName: node + linkType: hard + "is-plain-obj@npm:^2.1.0": version: 2.1.0 resolution: "is-plain-obj@npm:2.1.0" @@ -9096,6 +9737,15 @@ __metadata: languageName: node linkType: hard +"is-subdir@npm:^1.1.1": + version: 1.2.0 + resolution: "is-subdir@npm:1.2.0" + dependencies: + better-path-resolve: 1.0.0 + checksum: 31029a383972bff4cc4f1bd1463fd04dde017e0a04ae3a6f6e08124a90c6c4656312d593101b0f38805fa3f3c8f6bc4583524bbf72c50784fa5ca0d3e5a76279 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": version: 1.0.4 resolution: "is-symbol@npm:1.0.4" @@ -9154,6 +9804,13 @@ __metadata: languageName: node linkType: hard +"is-windows@npm:^1.0.0": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + "is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -9338,7 +9995,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:3.x": +"js-yaml@npm:3.x, js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -9391,6 +10048,13 @@ __metadata: languageName: node linkType: hard +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f + languageName: node + linkType: hard + "json-rpc-engine@npm:6.1.0, json-rpc-engine@npm:^6.1.0": version: 6.1.0 resolution: "json-rpc-engine@npm:6.1.0" @@ -9574,7 +10238,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2": +"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b @@ -9593,6 +10257,13 @@ __metadata: languageName: node linkType: hard +"kleur@npm:^4.1.5": + version: 4.1.5 + resolution: "kleur@npm:4.1.5" + checksum: 1dc476e32741acf0b1b5b0627ffd0d722e342c1b0da14de3e8ae97821327ca08f9fb944542fb3c126d90ac5f27f9d804edbe7c585bf7d12ef495d115e0f22c12 + languageName: node + linkType: hard + "language-subtag-registry@npm:~0.3.2": version: 0.3.22 resolution: "language-subtag-registry@npm:0.3.22" @@ -9768,6 +10439,18 @@ __metadata: languageName: node linkType: hard +"load-yaml-file@npm:^0.2.0": + version: 0.2.0 + resolution: "load-yaml-file@npm:0.2.0" + dependencies: + graceful-fs: ^4.1.5 + js-yaml: ^3.13.0 + pify: ^4.0.1 + strip-bom: ^3.0.0 + checksum: d86d7ec7b15a1c35b40fb0d8abe710a7de83e0c1186c1d35a7eaaf8581611828089a3e706f64560c2939762bc73f18a7b85aed9335058c640e033933cf317f11 + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -9855,6 +10538,13 @@ __metadata: languageName: node linkType: hard +"lodash.startcase@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.startcase@npm:4.4.0" + checksum: c03a4a784aca653845fe09d0ef67c902b6e49288dc45f542a4ab345a9c406a6dc194c774423fa313ee7b06283950301c1221dd2a1d8ecb2dac8dfbb9ed5606b5 + languageName: node + linkType: hard + "lodash.truncate@npm:^4.4.2": version: 4.4.2 resolution: "lodash.truncate@npm:4.4.2" @@ -9921,6 +10611,15 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^2.3.6": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: ^2.0.1 + checksum: 96c058ec7167598e238bb7fb9def2f9339215e97d6685d9c1e3e4bdb33d14600e11fe7a812cf0c003dfb73ca2df374f146280b2287cae9e8d989e9d7a69a203b + languageName: node + linkType: hard + "lru-cache@npm:^10.0.2": version: 10.1.0 resolution: "lru-cache@npm:10.1.0" @@ -9928,6 +10627,16 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^4.0.1": + version: 4.1.5 + resolution: "lru-cache@npm:4.1.5" + dependencies: + pseudomap: ^1.0.2 + yallist: ^2.1.2 + checksum: 4bb4b58a36cd7dc4dcec74cbe6a8f766a38b7426f1ff59d4cf7d82a2aa9b9565cd1cb98f6ff60ce5cd174524868d7bc9b7b1c294371851356066ca9ac4cf135a + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -10006,6 +10715,20 @@ __metadata: languageName: node linkType: hard +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 9949e7baec2a336e63b8d4dc71018c117c3ce6e39d2451ccbfd3b8350c547c4f6af331a4cbe1c83193d7c6b786082b6256bde843db90cb7da2a21e8fcc28afed + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e + languageName: node + linkType: hard + "markdown-table@npm:^1.1.3": version: 1.1.3 resolution: "markdown-table@npm:1.1.3" @@ -10065,6 +10788,25 @@ __metadata: languageName: node linkType: hard +"meow@npm:^6.0.0": + version: 6.1.1 + resolution: "meow@npm:6.1.1" + dependencies: + "@types/minimist": ^1.2.0 + camelcase-keys: ^6.2.2 + decamelize-keys: ^1.1.0 + hard-rejection: ^2.1.0 + minimist-options: ^4.0.2 + normalize-package-data: ^2.5.0 + read-pkg-up: ^7.0.1 + redent: ^3.0.0 + trim-newlines: ^3.0.0 + type-fest: ^0.13.1 + yargs-parser: ^18.1.3 + checksum: 77b569781145ad030be77130623d9f74d6eef0af5e0a349419d3df39bcf6d88cc25be046a7757062162a88160fb5d8604e540b5177b371d2bbc2aaf73ec01479 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -10148,6 +10890,13 @@ __metadata: languageName: node linkType: hard +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 + languageName: node + linkType: hard + "minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -10198,6 +10947,17 @@ __metadata: languageName: node linkType: hard +"minimist-options@npm:^4.0.2": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: ^1.0.1 + is-plain-obj: ^1.1.0 + kind-of: ^6.0.3 + checksum: 8c040b3068811e79de1140ca2b708d3e203c8003eb9a414c1ab3cd467fc5f17c9ca02a5aef23bedc51a7f8bfbe77f87e9a7e31ec81fba304cda675b019496f4e + languageName: node + linkType: hard + "minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" @@ -10308,6 +11068,13 @@ __metadata: languageName: node linkType: hard +"mixme@npm:^0.5.1": + version: 0.5.10 + resolution: "mixme@npm:0.5.10" + checksum: 51885f19847b98859645a592917f3939d6f262ba3cc1843a3d7858ac894704b054e7a94737a53163bc1e870e3ea23316ba97d3ba20e1dfd292fe74d5a318be98 + languageName: node + linkType: hard + "mkdirp@npm:0.5.5": version: 0.5.5 resolution: "mkdirp@npm:0.5.5" @@ -10718,7 +11485,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.5.0, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -10818,6 +11585,18 @@ __metadata: languageName: node linkType: hard +"normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: ^2.1.4 + resolve: ^1.10.0 + semver: 2 || 3 || 4 || 5 + validate-npm-package-license: ^3.0.1 + checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 + languageName: node + linkType: hard + "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -11145,6 +11924,13 @@ __metadata: languageName: node linkType: hard +"outdent@npm:^0.5.0": + version: 0.5.0 + resolution: "outdent@npm:0.5.0" + checksum: 6e6c63dd09e9890e67ef9a0b4d35df0b0b850b2059ce3f7e19e4cc1a146b26dc5d8c45df238dbf187dfffc8bd82cd07d37c697544015680bcb9f07f29a36c678 + languageName: node + linkType: hard + "outdent@npm:^0.8.0": version: 0.8.0 resolution: "outdent@npm:0.8.0" @@ -11152,6 +11938,15 @@ __metadata: languageName: node linkType: hard +"p-filter@npm:^2.1.0": + version: 2.1.0 + resolution: "p-filter@npm:2.1.0" + dependencies: + p-map: ^2.0.0 + checksum: 76e552ca624ce2233448d68b19eec9de42b695208121998f7e011edce71d1079a83096ee6a2078fb2a59cfa8a5c999f046edf00ebf16a8e780022010b4693234 + languageName: node + linkType: hard + "p-finally@npm:^2.0.0": version: 2.0.1 resolution: "p-finally@npm:2.0.1" @@ -11222,6 +12017,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^2.0.0": + version: 2.1.0 + resolution: "p-map@npm:2.1.0" + checksum: 9e3ad3c9f6d75a5b5661bcad78c91f3a63849189737cd75e4f1225bf9ac205194e5c44aac2ef6f09562b1facdb9bd1425584d7ac375bfaa17b3f1a142dab936d + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -11261,6 +12063,18 @@ __metadata: languageName: node linkType: hard +"parse-json@npm:^5.0.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": ^7.0.0 + error-ex: ^1.3.1 + json-parse-even-better-errors: ^2.3.0 + lines-and-columns: ^1.1.6 + checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 + languageName: node + linkType: hard + "parse-ms@npm:^2.1.0": version: 2.1.0 resolution: "parse-ms@npm:2.1.0" @@ -11504,6 +12318,15 @@ __metadata: languageName: node linkType: hard +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: ^4.0.0 + checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 + languageName: node + linkType: hard + "pkg-types@npm:^1.0.3": version: 1.0.3 resolution: "pkg-types@npm:1.0.3" @@ -11621,6 +12444,18 @@ __metadata: languageName: node linkType: hard +"preferred-pm@npm:^3.0.0": + version: 3.1.3 + resolution: "preferred-pm@npm:3.1.3" + dependencies: + find-up: ^5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: ^4.0.0 + which-pm: 2.0.0 + checksum: 3aa768985487c17d08936670b34939c21b5740e35186312d394c09f2c65fb1938fd4e074d0de5d80091c6a154f4adfa566b614fd4971caf43082c2a119e59d6b + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -11644,7 +12479,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.3.1, prettier@npm:^2.8.4": +"prettier@npm:^2.3.1, prettier@npm:^2.7.1, prettier@npm:^2.8.4": version: 2.8.8 resolution: "prettier@npm:2.8.8" bin: @@ -11727,6 +12562,13 @@ __metadata: languageName: node linkType: hard +"pseudomap@npm:^1.0.2": + version: 1.0.2 + resolution: "pseudomap@npm:1.0.2" + checksum: 856c0aae0ff2ad60881168334448e898ad7a0e45fe7386d114b150084254c01e200c957cf378378025df4e052c7890c5bd933939b0e0d2ecfcc1dc2f0b2991f5 + languageName: node + linkType: hard + "psl@npm:^1.1.28": version: 1.9.0 resolution: "psl@npm:1.9.0" @@ -11828,6 +12670,13 @@ __metadata: languageName: node linkType: hard +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: bea46e1abfaa07023e047d3cf1716a06172c4947886c053ede5c50321893711577cb6119360f810cc3ffcd70c4d7db4069c3cee876b358ceff8596e062bd1154 + languageName: node + linkType: hard + "radix3@npm:^1.1.0": version: 1.1.0 resolution: "radix3@npm:1.1.0" @@ -11981,6 +12830,41 @@ __metadata: languageName: node linkType: hard +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: ^4.1.0 + read-pkg: ^5.2.0 + type-fest: ^0.8.1 + checksum: e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 + languageName: node + linkType: hard + +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": ^2.4.0 + normalize-package-data: ^2.5.0 + parse-json: ^5.0.0 + type-fest: ^0.6.0 + checksum: eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 + languageName: node + linkType: hard + +"read-yaml-file@npm:^1.1.0": + version: 1.1.0 + resolution: "read-yaml-file@npm:1.1.0" + dependencies: + graceful-fs: ^4.1.5 + js-yaml: ^3.6.1 + pify: ^4.0.1 + strip-bom: ^3.0.0 + checksum: 41ee5f075507ef0403328dd54e225a61c3149f915675ce7fd0fd791ddcce2e6c30a9fe0f76ffa7a465c1c157b9b4ad8ded1dcf47dc3b396103eeb013490bbc2e + languageName: node + linkType: hard + "readable-stream@npm:^2.2.2": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -12059,6 +12943,16 @@ __metadata: languageName: node linkType: hard +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: ^4.0.0 + strip-indent: ^3.0.0 + checksum: fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b + languageName: node + linkType: hard + "redis-errors@npm:^1.0.0, redis-errors@npm:^1.2.0": version: 1.2.0 resolution: "redis-errors@npm:1.2.0" @@ -12262,6 +13156,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.10.0": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c + languageName: node + linkType: hard + "resolve@npm:^2.0.0-next.4": version: 2.0.0-next.4 resolution: "resolve@npm:2.0.0-next.4" @@ -12304,6 +13211,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.10.0#~builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=07638b" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 + languageName: node + linkType: hard + "resolve@patch:resolve@^2.0.0-next.4#~builtin": version: 2.0.0-next.4 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=07638b" @@ -12596,6 +13516,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.7.0": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: fb4ab5e0dd1c22ce0c937ea390b4a822147a9c53dbd2a9a0132f12fe382902beef4fbf12cf51bb955248d8d15874ce8cd89532569756384f994309825f10b686 + languageName: node + linkType: hard + "semver@npm:6.3.1, semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -12616,15 +13545,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^5.5.0, semver@npm:^5.7.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: fb4ab5e0dd1c22ce0c937ea390b4a822147a9c53dbd2a9a0132f12fe382902beef4fbf12cf51bb955248d8d15874ce8cd89532569756384f994309825f10b686 - languageName: node - linkType: hard - "semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" @@ -12636,6 +13556,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.5.3, semver@npm:^7.6.0": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 40f6a95101e8d854357a644da1b8dd9d93ce786d5c6a77227bc69dbb17bea83d0d1d1d7c4cd5920a6df909f48e8bd8a5909869535007f90278289f2451d0292d + languageName: node + linkType: hard + "serialize-javascript@npm:6.0.0": version: 6.0.0 resolution: "serialize-javascript@npm:6.0.0" @@ -12727,6 +13656,15 @@ __metadata: languageName: node linkType: hard +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: ^1.0.0 + checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -12736,6 +13674,13 @@ __metadata: languageName: node linkType: hard +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 + languageName: node + linkType: hard + "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -12823,6 +13768,22 @@ __metadata: languageName: node linkType: hard +"smartwrap@npm:^2.0.2": + version: 2.0.2 + resolution: "smartwrap@npm:2.0.2" + dependencies: + array.prototype.flat: ^1.2.3 + breakword: ^1.0.5 + grapheme-splitter: ^1.0.4 + strip-ansi: ^6.0.0 + wcwidth: ^1.0.1 + yargs: ^15.1.0 + bin: + smartwrap: src/terminal-adapter.js + checksum: 1a6833eb1c3d8488b036df66dcab37dcdda5270bb9629c471155785c09ee1b591177a9774c588c43f8fa28833204500019265da2ffed28ac7bbf4589b943d2fa + languageName: node + linkType: hard + "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -12944,6 +13905,50 @@ __metadata: languageName: node linkType: hard +"spawndamnit@npm:^2.0.0": + version: 2.0.0 + resolution: "spawndamnit@npm:2.0.0" + dependencies: + cross-spawn: ^5.1.0 + signal-exit: ^3.0.2 + checksum: c74b5e264ee5bc13d55692fd422d74c282e4607eb04ac64d19d06796718d89b14921620fa4237ec5635e7acdff21461670ff19850f210225410a353cad0d7fed + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" + dependencies: + spdx-expression-parse: ^3.0.0 + spdx-license-ids: ^3.0.0 + checksum: e9ae98d22f69c88e7aff5b8778dc01c361ef635580e82d29e5c60a6533cc8f4d820803e67d7432581af0cc4fb49973125076ee3b90df191d153e223c004193b2 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: bb127d6e2532de65b912f7c99fc66097cdea7d64c10d3ec9b5e96524dbbd7d20e01cba818a6ddb2ae75e62bb0c63d5e277a7e555a85cbc8ab40044984fa4ae15 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.17 + resolution: "spdx-license-ids@npm:3.0.17" + checksum: 0aba5d16292ff604dd20982200e23b4d425f6ba364765039bdbde2f6c956b9909fce1ad040a897916a5f87388e85e001f90cb64bf706b6e319f3908cfc445a59 + languageName: node + linkType: hard + "split-on-first@npm:^1.0.0": version: 1.1.0 resolution: "split-on-first@npm:1.1.0" @@ -13083,6 +14088,15 @@ __metadata: languageName: node linkType: hard +"stream-transform@npm:^2.1.3": + version: 2.1.3 + resolution: "stream-transform@npm:2.1.3" + dependencies: + mixme: ^0.5.1 + checksum: 26ce872a6812d5c784fa1f042bfd403644bc1c019f64627b5012c4544830a5570bef98b47225b38120c5878b326f3d1a213cd999a2285c98b536e5e202ca5bdf + languageName: node + linkType: hard + "streamsearch@npm:^1.1.0": version: 1.1.0 resolution: "streamsearch@npm:1.1.0" @@ -13288,6 +14302,15 @@ __metadata: languageName: node linkType: hard +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: ^1.0.0 + checksum: 18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 + languageName: node + linkType: hard + "strip-json-comments@npm:2.0.1": version: 2.0.1 resolution: "strip-json-comments@npm:2.0.1" @@ -13516,6 +14539,13 @@ __metadata: languageName: node linkType: hard +"term-size@npm:^2.1.0": + version: 2.2.1 + resolution: "term-size@npm:2.2.1" + checksum: 1ed981335483babc1e8206f843e06bd2bf89b85f0bf5a9a9d928033a0fcacdba183c03ba7d91814643015543ba002f1339f7112402a21da8f24b6c56b062a5a9 + languageName: node + linkType: hard + "text-encoding-utf-8@npm:^1.0.2": version: 1.0.2 resolution: "text-encoding-utf-8@npm:1.0.2" @@ -13685,6 +14715,13 @@ __metadata: languageName: node linkType: hard +"trim-newlines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-newlines@npm:3.0.1" + checksum: b530f3fadf78e570cf3c761fb74fef655beff6b0f84b29209bac6c9622db75ad1417f4a7b5d54c96605dcd72734ad44526fef9f396807b90839449eb543c6206 + languageName: node + linkType: hard + "ts-api-utils@npm:^1.0.1": version: 1.0.3 resolution: "ts-api-utils@npm:1.0.3" @@ -13830,6 +14867,23 @@ __metadata: languageName: node linkType: hard +"tty-table@npm:^4.1.5": + version: 4.2.3 + resolution: "tty-table@npm:4.2.3" + dependencies: + chalk: ^4.1.2 + csv: ^5.5.3 + kleur: ^4.1.5 + smartwrap: ^2.0.2 + strip-ansi: ^6.0.1 + wcwidth: ^1.0.1 + yargs: ^17.7.1 + bin: + tty-table: adapters/terminal-adapter.js + checksum: 2d6c429dc91c308cd1c8d0f2e102e08bcc10af21bc99b89179fb414dd0edd6a686026ff53111dfd3a814841bbbb44c55cd827e5a7748f35182c62f13fef5a169 + languageName: node + linkType: hard + "tunnel-agent@npm:^0.6.0": version: 0.6.0 resolution: "tunnel-agent@npm:0.6.0" @@ -13878,13 +14932,20 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5": +"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 languageName: node linkType: hard +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: e6bf2e3c449f27d4ef5d56faf8b86feafbc3aec3025fc9a5fbe2db0a2587c44714521f9c30d8516a833c8c506d6263f5cc11267522b10c6ccdb6cc55b0a9d1c4 + languageName: node + linkType: hard + "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -13899,6 +14960,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: b2188e6e4b21557f6e92960ec496d28a51d68658018cba8b597bd3ef757721d1db309f120ae987abeeda874511d14b776157ff809f23c6d1ce8f83b9b2b7d60f + languageName: node + linkType: hard + "type-fest@npm:^0.7.1": version: 0.7.1 resolution: "type-fest@npm:0.7.1" @@ -13906,6 +14974,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 + languageName: node + linkType: hard + "type-fest@npm:^1.0.2": version: 1.4.0 resolution: "type-fest@npm:1.4.0" @@ -14425,6 +15500,16 @@ __metadata: languageName: node linkType: hard +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: ^3.0.0 + spdx-expression-parse: ^3.0.0 + checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad + languageName: node + linkType: hard + "valtio@npm:1.11.2": version: 1.11.2 resolution: "valtio@npm:1.11.2" @@ -14652,6 +15737,16 @@ __metadata: languageName: node linkType: hard +"which-pm@npm:2.0.0": + version: 2.0.0 + resolution: "which-pm@npm:2.0.0" + dependencies: + load-yaml-file: ^0.2.0 + path-exists: ^4.0.0 + checksum: e556635eaf237b3a101043a21c2890af045db40eac4df3575161d4fb834c2aa65456f81c60d8ea4db2d51fe5ac549d989eeabd17278767c2e4179361338ac5ce + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": version: 1.1.11 resolution: "which-typed-array@npm:1.1.11" @@ -14665,7 +15760,7 @@ __metadata: languageName: node linkType: hard -"which@npm:1.3.1, which@npm:^1.1.1, which@npm:^1.3.1": +"which@npm:1.3.1, which@npm:^1.1.1, which@npm:^1.2.9, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -14908,6 +16003,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^2.1.2": + version: 2.1.2 + resolution: "yallist@npm:2.1.2" + checksum: 9ba99409209f485b6fcb970330908a6d41fa1c933f75e08250316cce19383179a6b70a7e0721b89672ebb6199cc377bf3e432f55100da6a7d6e11902b0a642cb + languageName: node + linkType: hard + "yallist@npm:^3.0.0, yallist@npm:^3.0.2, yallist@npm:^3.1.1": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -14953,7 +16055,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": +"yargs-parser@npm:^18.1.2, yargs-parser@npm:^18.1.3": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3" dependencies: @@ -14970,6 +16072,13 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c + languageName: node + linkType: hard + "yargs-unparser@npm:1.6.0": version: 1.6.0 resolution: "yargs-unparser@npm:1.6.0" @@ -15026,7 +16135,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^15.3.1": +"yargs@npm:^15.1.0, yargs@npm:^15.3.1": version: 15.4.1 resolution: "yargs@npm:15.4.1" dependencies: @@ -15045,6 +16154,21 @@ __metadata: languageName: node linkType: hard +"yargs@npm:^17.7.1": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: ^8.0.1 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.3 + y18n: ^5.0.5 + yargs-parser: ^21.1.1 + checksum: 73b572e863aa4a8cbef323dd911d79d193b772defd5a51aab0aca2d446655216f5002c42c5306033968193bdbf892a7a4c110b0d77954a7fdf563e653967b56a + languageName: node + linkType: hard + "yauzl-clone@npm:^1.0.4": version: 1.0.4 resolution: "yauzl-clone@npm:1.0.4"