From f7537053bb38a59ae8e2a6fe5502f14aa56441bb Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 1 Aug 2025 09:48:00 +0000 Subject: [PATCH] Remove unused contract files and update project dependencies Co-authored-by: sontungdt7 --- DEPLOYMENT.md | 134 + DEPLOYMENT_CHECKLIST.md | 117 + README_DEPLOYMENT.md | 131 + .../6c66af95c3275a2003b2b5f3d5a8226b.json | 1 + .../ZoraPostMarketEscrow.sol/IERC20.dbg.json | 4 + .../ZoraPostMarketEscrow.sol/IERC20.json | 88 + .../IUniversalRouter.dbg.json | 4 + .../IUniversalRouter.json | 34 + .../ZoraPostMarketEscrow.dbg.json | 4 + .../ZoraPostMarketEscrow.json | 349 ++ cache/solidity-files-cache.json | 44 + compile-zora.js | 31 + contracts/ISlotGame.sol | 20 - contracts/JackpotToken.sol | 55 - contracts/SlotGame.sol | 287 -- contracts/SlotGameFactory.sol | 69 - contracts/SpinFaucet.sol | 56 - contracts/SpinToken.sol | 22 - contracts/ZoraPostMarketEscrow.sol | 153 + deploy.js | 98 + hardhat.config.js | 52 + package.json | 14 +- pnpm-lock.yaml | 4194 ++++++++++++++++- test-deploy.js | 64 + 24 files changed, 5472 insertions(+), 553 deletions(-) create mode 100644 DEPLOYMENT.md create mode 100644 DEPLOYMENT_CHECKLIST.md create mode 100644 README_DEPLOYMENT.md create mode 100644 artifacts/build-info/6c66af95c3275a2003b2b5f3d5a8226b.json create mode 100644 artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.dbg.json create mode 100644 artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.json create mode 100644 artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.dbg.json create mode 100644 artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.json create mode 100644 artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.dbg.json create mode 100644 artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.json create mode 100644 cache/solidity-files-cache.json create mode 100644 compile-zora.js delete mode 100644 contracts/ISlotGame.sol delete mode 100644 contracts/JackpotToken.sol delete mode 100644 contracts/SlotGame.sol delete mode 100644 contracts/SlotGameFactory.sol delete mode 100644 contracts/SpinFaucet.sol delete mode 100644 contracts/SpinToken.sol create mode 100644 contracts/ZoraPostMarketEscrow.sol create mode 100644 deploy.js create mode 100644 hardhat.config.js create mode 100644 test-deploy.js diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..cf989e5 --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,134 @@ +# ZoraPostMarketEscrow Deployment Guide + +This guide will help you deploy the ZoraPostMarketEscrow smart contract to Base Layer 2. + +## Prerequisites + +1. **Node.js and npm/pnpm** - Make sure you have Node.js installed +2. **Base Layer 2 ETH** - You'll need ETH on Base for gas fees +3. **Private Key** - Your wallet's private key for deployment +4. **BaseScan API Key** - For contract verification (optional but recommended) + +## Setup + +1. **Install dependencies:** + ```bash + pnpm install + ``` + +2. **Create environment file:** + ```bash + cp .env.example .env + ``` + +3. **Configure your environment variables in `.env`:** + ```bash + # Your wallet's private key (without 0x prefix) + PRIVATE_KEY=your_private_key_here + + # BaseScan API key for contract verification + BASESCAN_API_KEY=your_basescan_api_key_here + + # Contract addresses on Base Layer 2 + # You need to provide the actual addresses for these contracts on Base + ZORA_TOKEN_ADDRESS=0x... # ZORA token contract address on Base + ZORA_MARKET_TOKEN_ADDRESS=0x... # Zora Market token contract address on Base + UNIVERSAL_ROUTER_ADDRESS=0x... # Uniswap Universal Router address on Base + PLATFORM_TREASURY_ADDRESS=0x... # Your platform treasury address + ZORA_FACTORY_ADDRESS=0x... # Zora Factory contract address on Base + ``` + +## Getting Base Layer 2 Addresses + +You need to find the correct addresses for the following contracts on Base Layer 2: + +### 1. ZORA Token +- Check if ZORA token is deployed on Base +- If not, you may need to bridge it or use a different token + +### 2. Zora Market Token +- This should be the Zora platform's market token on Base + +### 3. Universal Router +- Uniswap's Universal Router on Base: `0x198EF79F1F515F02dFE9e3115eD9fC07183f02fC` + +### 4. Zora Factory +- The Zora Factory contract that creates coins on Base + +### 5. Platform Treasury +- Your platform's treasury address where fees will be sent + +## Deployment + +### Test Deployment (Base Sepolia) + +First, test your deployment on Base Sepolia testnet: + +```bash +# Compile contracts +pnpm compile + +# Deploy to Base Sepolia +pnpm deploy:base-sepolia +``` + +### Production Deployment (Base Mainnet) + +Once you've tested on Sepolia, deploy to Base mainnet: + +```bash +# Deploy to Base mainnet +pnpm deploy:base +``` + +## Contract Verification + +After deployment, verify your contract on BaseScan: + +```bash +# For Base Sepolia +pnpm verify:base-sepolia + +# For Base mainnet +pnpm verify:base +``` + +## Important Notes + +1. **Gas Fees**: Base Layer 2 has much lower gas fees than Ethereum mainnet, but you still need ETH for deployment. + +2. **Address Validation**: Make sure all the contract addresses you provide are correct and deployed on Base Layer 2. + +3. **Security**: Never commit your `.env` file to version control. It contains your private key. + +4. **Testing**: Always test on Base Sepolia first before deploying to mainnet. + +## Contract Functions + +Once deployed, your contract will have the following main functions: + +- `createBid()` - Sponsors can create bids with ZORA tokens +- `cancelBid()` - Sponsors can cancel their bids +- `acceptBidAndPost()` - Creators can accept bids and create posts + +## Troubleshooting + +### Common Issues: + +1. **"Insufficient funds"** - Make sure you have enough ETH on Base for gas fees +2. **"Invalid address"** - Check that all contract addresses are correct +3. **"Contract creation failed"** - Verify all constructor parameters are valid + +### Getting Base ETH: + +- Bridge ETH from Ethereum mainnet to Base +- Use Base's official bridge: https://bridge.base.org/ +- Or use other bridges like Hop Protocol + +## Support + +If you encounter issues: + +1. Check the Base documentation: https://docs.base.org/ +2. Verify your contract addresses on BaseScan: https://basescan.org/ +3. Ensure you have sufficient ETH for gas fees \ No newline at end of file diff --git a/DEPLOYMENT_CHECKLIST.md b/DEPLOYMENT_CHECKLIST.md new file mode 100644 index 0000000..60c0160 --- /dev/null +++ b/DEPLOYMENT_CHECKLIST.md @@ -0,0 +1,117 @@ +# Deployment Checklist for ZoraPostMarketEscrow + +## āœ… Pre-Deployment Checklist + +### 1. Environment Setup +- [ ] Node.js and pnpm installed +- [ ] `.env` file created from `.env.example` +- [ ] Private key added to `.env` (without 0x prefix) +- [ ] BaseScan API key added to `.env` (optional but recommended) + +### 2. Contract Addresses on Base Layer 2 +You need to provide the actual addresses for these contracts on Base: + +- [ ] **ZORA_TOKEN_ADDRESS** - ZORA token contract on Base +- [ ] **ZORA_MARKET_TOKEN_ADDRESS** - Zora Market token on Base +- [ ] **UNIVERSAL_ROUTER_ADDRESS** - Uniswap Universal Router on Base (`0x198EF79F1F515F02dFE9e3115eD9fC07183f02fC`) +- [ ] **PLATFORM_TREASURY_ADDRESS** - Your platform's treasury address +- [ ] **ZORA_FACTORY_ADDRESS** - Zora Factory contract on Base + +### 3. Base Layer 2 Setup +- [ ] ETH balance on Base mainnet (for gas fees) +- [ ] ETH balance on Base Sepolia (for testing) +- [ ] Wallet connected to Base network + +### 4. Testing +- [ ] Contract compiles successfully (`pnpm compile`) +- [ ] Deployment test passes (`pnpm test:deploy`) +- [ ] All environment variables are set correctly + +## šŸš€ Deployment Steps + +### Step 1: Test Deployment (Base Sepolia) +```bash +# 1. Compile the contract +pnpm compile + +# 2. Deploy to Base Sepolia testnet +pnpm deploy:base-sepolia +``` + +### Step 2: Verify on BaseScan (Sepolia) +```bash +# Verify the contract on BaseScan Sepolia +pnpm verify:base-sepolia +``` + +### Step 3: Production Deployment (Base Mainnet) +```bash +# Deploy to Base mainnet +pnpm deploy:base +``` + +### Step 4: Verify on BaseScan (Mainnet) +```bash +# Verify the contract on BaseScan mainnet +pnpm verify:base +``` + +## šŸ“‹ Post-Deployment Checklist + +- [ ] Contract deployed successfully +- [ ] Contract verified on BaseScan +- [ ] Contract address saved +- [ ] Contract functions tested +- [ ] Events are firing correctly +- [ ] Gas costs are acceptable + +## šŸ” Contract Verification + +After deployment, verify your contract on BaseScan: +- **Base Sepolia**: https://sepolia.basescan.org/ +- **Base Mainnet**: https://basescan.org/ + +## šŸ› ļø Contract Functions + +Once deployed, your contract will have these main functions: + +### For Sponsors: +- `createBid()` - Create a bid with ZORA tokens +- `cancelBid()` - Cancel an active bid + +### For Creators: +- `acceptBidAndPost()` - Accept a bid and create a post + +### View Functions: +- `bids(uint256)` - Get bid details +- `nextBidId()` - Get the next bid ID + +## āš ļø Important Notes + +1. **Gas Fees**: Base Layer 2 has much lower gas fees than Ethereum mainnet +2. **Address Validation**: Double-check all contract addresses before deployment +3. **Security**: Never commit your `.env` file to version control +4. **Testing**: Always test on Base Sepolia first +5. **Backup**: Keep your private key and contract addresses safe + +## šŸ†˜ Troubleshooting + +### Common Issues: + +1. **"Insufficient funds"** + - Solution: Add more ETH to your wallet on Base + +2. **"Invalid address"** + - Solution: Check that all contract addresses are correct and deployed on Base + +3. **"Contract creation failed"** + - Solution: Verify all constructor parameters are valid + +4. **"Verification failed"** + - Solution: Check your BaseScan API key and try again + +### Getting Help: + +- Base Documentation: https://docs.base.org/ +- BaseScan: https://basescan.org/ +- Base Bridge: https://bridge.base.org/ \ No newline at end of file diff --git a/README_DEPLOYMENT.md b/README_DEPLOYMENT.md new file mode 100644 index 0000000..1f2513b --- /dev/null +++ b/README_DEPLOYMENT.md @@ -0,0 +1,131 @@ +# ZoraPostMarketEscrow - Base Layer 2 Deployment + +This repository contains the ZoraPostMarketEscrow smart contract designed for deployment on Base Layer 2. The contract enables sponsors to bid with ZORA tokens, creators to accept bids, and automatically creates posts via ZoraFactory while performing swaps through Uniswap's UniversalRouter. + +## šŸš€ Quick Start + +### 1. Install Dependencies +```bash +pnpm install +``` + +### 2. Set Up Environment +```bash +cp .env.example .env +# Edit .env with your configuration +``` + +### 3. Test Compilation +```bash +pnpm compile +pnpm test:deploy +``` + +### 4. Deploy to Base Sepolia (Testnet) +```bash +pnpm deploy:base-sepolia +``` + +### 5. Deploy to Base Mainnet +```bash +pnpm deploy:base +``` + +## šŸ“‹ Required Environment Variables + +Create a `.env` file with the following variables: + +```bash +# Your wallet's private key (without 0x prefix) +PRIVATE_KEY=your_private_key_here + +# BaseScan API key for contract verification +BASESCAN_API_KEY=your_basescan_api_key_here + +# Contract addresses on Base Layer 2 +ZORA_TOKEN_ADDRESS=0x... # ZORA token contract address on Base +ZORA_MARKET_TOKEN_ADDRESS=0x... # Zora Market token contract address on Base +UNIVERSAL_ROUTER_ADDRESS=0x198EF79F1F515F02dFE9e3115eD9fC07183f02fC # Uniswap Universal Router on Base +PLATFORM_TREASURY_ADDRESS=0x... # Your platform treasury address +ZORA_FACTORY_ADDRESS=0x... # Zora Factory contract address on Base +``` + +## šŸ”§ Available Scripts + +| Script | Description | +|--------|-------------| +| `pnpm compile` | Compile all contracts | +| `pnpm compile:zora` | Compile only ZoraPostMarketEscrow | +| `pnpm test:deploy` | Test deployment parameters | +| `pnpm deploy:base-sepolia` | Deploy to Base Sepolia testnet | +| `pnpm deploy:base` | Deploy to Base mainnet | +| `pnpm verify:base-sepolia` | Verify contract on BaseScan Sepolia | +| `pnpm verify:base` | Verify contract on BaseScan mainnet | + +## šŸ“„ Contract Overview + +### Key Features +- **Bid Creation**: Sponsors can create bids with ZORA tokens +- **Bid Cancellation**: Sponsors can cancel active bids +- **Post Creation**: Creators can accept bids and create posts via ZoraFactory +- **Atomic Swaps**: Automatic token swaps via Uniswap UniversalRouter +- **Event Tracking**: Comprehensive event logging for all actions + +### Main Functions +- `createBid()` - Create a new bid with ZORA tokens +- `cancelBid()` - Cancel an active bid (sponsor only) +- `acceptBidAndPost()` - Accept bid and create post (creator only) + +### Events +- `BidCreated` - Emitted when a new bid is created +- `BidCancelled` - Emitted when a bid is cancelled +- `DealExecuted` - Emitted when a bid is accepted and post is created + +## 🌐 Base Layer 2 Information + +### Network Details +- **Chain ID**: 8453 (mainnet), 84532 (Sepolia) +- **RPC URL**: https://mainnet.base.org +- **Block Explorer**: https://basescan.org/ + +### Getting Base ETH +1. Bridge ETH from Ethereum mainnet to Base +2. Use Base's official bridge: https://bridge.base.org/ +3. Or use other bridges like Hop Protocol + +## šŸ” Contract Addresses on Base + +You need to find the correct addresses for these contracts on Base Layer 2: + +1. **ZORA Token** - Check if ZORA token is deployed on Base +2. **Zora Market Token** - Zora platform's market token on Base +3. **Universal Router** - Uniswap's Universal Router: `0x198EF79F1F515F02dFE9e3115eD9fC07183f02fC` +4. **Zora Factory** - Zora Factory contract that creates coins +5. **Platform Treasury** - Your platform's treasury address + +## šŸ›”ļø Security Considerations + +1. **Private Key Security**: Never commit your `.env` file to version control +2. **Address Validation**: Double-check all contract addresses before deployment +3. **Testing**: Always test on Base Sepolia before mainnet deployment +4. **Gas Fees**: Ensure sufficient ETH balance on Base for deployment + +## šŸ“š Documentation + +- [Deployment Guide](DEPLOYMENT.md) - Detailed deployment instructions +- [Deployment Checklist](DEPLOYMENT_CHECKLIST.md) - Step-by-step checklist +- [Base Documentation](https://docs.base.org/) - Official Base documentation +- [BaseScan](https://basescan.org/) - Block explorer for Base + +## šŸ†˜ Support + +If you encounter issues: + +1. Check the [Base Documentation](https://docs.base.org/) +2. Verify contract addresses on [BaseScan](https://basescan.org/) +3. Ensure sufficient ETH balance for gas fees +4. Test on Base Sepolia before mainnet deployment + +## šŸ“„ License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. \ No newline at end of file diff --git a/artifacts/build-info/6c66af95c3275a2003b2b5f3d5a8226b.json b/artifacts/build-info/6c66af95c3275a2003b2b5f3d5a8226b.json new file mode 100644 index 0000000..4221858 --- /dev/null +++ b/artifacts/build-info/6c66af95c3275a2003b2b5f3d5a8226b.json @@ -0,0 +1 @@ +{"id":"6c66af95c3275a2003b2b5f3d5a8226b","_format":"hh-sol-build-info-1","solcVersion":"0.8.20","solcLongVersion":"0.8.20+commit.a1b79de6","input":{"language":"Solidity","sources":{"contracts/ZoraPostMarketEscrow.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\n/**\n * @title ZoraPostMarketEscrow with UniversalRouter and ZoraFactory Integration\n * @notice MVP contract for connecting sponsors and creators on Zora.\n * Sponsors bid with ZORA tokens, creators accept to post, and the contract\n * creates a post coin via ZoraFactory and swaps ZORA to Creator Coin and ZoraMarket token atomically\n * via the Uniswap UniversalRouter deployed on Base.\n */\n\ninterface IERC20 {\n function transferFrom(address from, address to, uint256 amount) external returns (bool);\n function approve(address spender, uint256 amount) external returns (bool);\n function transfer(address to, uint256 amount) external returns (bool);\n}\n\ninterface IUniversalRouter {\n function execute(\n bytes calldata commands,\n bytes[] calldata inputs,\n uint256 deadline\n ) external payable;\n}\n\ncontract ZoraPostMarketEscrow {\n struct Bid {\n address sponsor;\n address creator;\n address creatorCoin;\n string title;\n string ticker;\n string imageURI;\n string description;\n uint256 amountZora;\n bool active;\n }\n\n IERC20 public immutable ZORA;\n IERC20 public immutable ZoraMarketToken;\n IUniversalRouter public immutable UniversalRouter;\n address public immutable platformTreasury;\n address public immutable ZoraFactory;\n\n uint256 public nextBidId;\n mapping(uint256 => Bid) public bids;\n\n event BidCreated(uint256 indexed bidId, address sponsor, address creator, uint256 amount);\n event BidCancelled(uint256 indexed bidId);\n event DealExecuted(\n uint256 indexed bidId,\n address creator,\n address sponsor,\n address postCoin\n );\n\n constructor(\n address _zora,\n address _zoraMarketToken,\n address _universalRouter,\n address _platformTreasury,\n address _zoraFactory\n ) {\n ZORA = IERC20(_zora);\n ZoraMarketToken = IERC20(_zoraMarketToken);\n UniversalRouter = IUniversalRouter(_universalRouter);\n platformTreasury = _platformTreasury;\n ZoraFactory = _zoraFactory;\n }\n\n modifier onlySponsor(uint256 bidId) {\n require(msg.sender == bids[bidId].sponsor, \"Not sponsor\");\n _;\n }\n\n function createBid(\n address creator,\n address creatorCoin,\n string calldata title,\n string calldata ticker,\n string calldata imageURI,\n string calldata description,\n uint256 amountZora\n ) external returns (uint256 bidId) {\n require(amountZora > 0, \"Invalid amount\");\n ZORA.transferFrom(msg.sender, address(this), amountZora);\n\n bidId = nextBidId++;\n bids[bidId] = Bid({\n sponsor: msg.sender,\n creator: creator,\n creatorCoin: creatorCoin,\n title: title,\n ticker: ticker,\n imageURI: imageURI,\n description: description,\n amountZora: amountZora,\n active: true\n });\n\n emit BidCreated(bidId, msg.sender, creator, amountZora);\n }\n\n function cancelBid(uint256 bidId) external onlySponsor(bidId) {\n Bid storage bid = bids[bidId];\n require(bid.active, \"Bid inactive\");\n bid.active = false;\n ZORA.transfer(bid.sponsor, bid.amountZora);\n emit BidCancelled(bidId);\n }\n\n /**\n * @notice Creator accepts bid, creates post via ZoraFactory, and performs swaps atomically through UniversalRouter.\n */\n function acceptBidAndPost(\n uint256 bidId,\n bytes calldata creatorSwapCommands,\n bytes[] calldata creatorSwapInputs,\n bytes calldata platformSwapCommands,\n bytes[] calldata platformSwapInputs\n ) external {\n Bid storage bid = bids[bidId];\n require(bid.active, \"Bid inactive\");\n require(msg.sender == bid.creator, \"Not creator\");\n\n bid.active = false;\n uint256 totalAmount = bid.amountZora;\n address sponsor = bid.sponsor;\n\n // 1. Create post coin via ZoraFactory (fallback call)\n bytes memory data = abi.encodeWithSignature(\n \"createCoin(string,string,string,string)\",\n bid.title,\n bid.ticker,\n bid.imageURI,\n bid.description\n );\n (bool success, bytes memory result) = ZoraFactory.call(data);\n require(success, \"Create coin failed\");\n address postCoin = abi.decode(result, (address));\n\n // 2. Approve router\n ZORA.approve(address(UniversalRouter), totalAmount);\n\n // 3. Execute first swap: 95% to creator coin\n UniversalRouter.execute(creatorSwapCommands, creatorSwapInputs, block.timestamp);\n\n // 4. Execute second swap: 5% to platform token\n UniversalRouter.execute(platformSwapCommands, platformSwapInputs, block.timestamp);\n\n emit DealExecuted(bidId, msg.sender, sponsor, postCoin);\n }\n}"}},"settings":{"viaIR":true,"optimizer":{"enabled":true,"runs":200},"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/ZoraPostMarketEscrow.sol":{"ast":{"absolutePath":"contracts/ZoraPostMarketEscrow.sol","exportedSymbols":{"IERC20":[32],"IUniversalRouter":[43],"ZoraPostMarketEscrow":[404]},"id":405,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:0"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"58:388:0","text":" @title ZoraPostMarketEscrow with UniversalRouter and ZoraFactory Integration\n @notice MVP contract for connecting sponsors and creators on Zora.\n Sponsors bid with ZORA tokens, creators accept to post, and the contract\n creates a post coin via ZoraFactory and swaps ZORA to Creator Coin and ZoraMarket token atomically\n via the Uniswap UniversalRouter deployed on Base."},"fullyImplemented":false,"id":32,"linearizedBaseContracts":[32],"name":"IERC20","nameLocation":"458:6:0","nodeType":"ContractDefinition","nodes":[{"functionSelector":"23b872dd","id":13,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"480:12:0","nodeType":"FunctionDefinition","parameters":{"id":9,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4,"mutability":"mutable","name":"from","nameLocation":"501:4:0","nodeType":"VariableDeclaration","scope":13,"src":"493:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3,"name":"address","nodeType":"ElementaryTypeName","src":"493:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6,"mutability":"mutable","name":"to","nameLocation":"515:2:0","nodeType":"VariableDeclaration","scope":13,"src":"507:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5,"name":"address","nodeType":"ElementaryTypeName","src":"507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8,"mutability":"mutable","name":"amount","nameLocation":"527:6:0","nodeType":"VariableDeclaration","scope":13,"src":"519:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7,"name":"uint256","nodeType":"ElementaryTypeName","src":"519:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"492:42:0"},"returnParameters":{"id":12,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13,"src":"553:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10,"name":"bool","nodeType":"ElementaryTypeName","src":"553:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"552:6:0"},"scope":32,"src":"471:88:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"095ea7b3","id":22,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"573:7:0","nodeType":"FunctionDefinition","parameters":{"id":18,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15,"mutability":"mutable","name":"spender","nameLocation":"589:7:0","nodeType":"VariableDeclaration","scope":22,"src":"581:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14,"name":"address","nodeType":"ElementaryTypeName","src":"581:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17,"mutability":"mutable","name":"amount","nameLocation":"606:6:0","nodeType":"VariableDeclaration","scope":22,"src":"598:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:33:0"},"returnParameters":{"id":21,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":22,"src":"632:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19,"name":"bool","nodeType":"ElementaryTypeName","src":"632:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"631:6:0"},"scope":32,"src":"564:74:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"a9059cbb","id":31,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"652:8:0","nodeType":"FunctionDefinition","parameters":{"id":27,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24,"mutability":"mutable","name":"to","nameLocation":"669:2:0","nodeType":"VariableDeclaration","scope":31,"src":"661:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23,"name":"address","nodeType":"ElementaryTypeName","src":"661:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26,"mutability":"mutable","name":"amount","nameLocation":"681:6:0","nodeType":"VariableDeclaration","scope":31,"src":"673:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25,"name":"uint256","nodeType":"ElementaryTypeName","src":"673:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"660:28:0"},"returnParameters":{"id":30,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":31,"src":"707:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28,"name":"bool","nodeType":"ElementaryTypeName","src":"707:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"706:6:0"},"scope":32,"src":"643:70:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":405,"src":"448:267:0","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IUniversalRouter","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":43,"linearizedBaseContracts":[43],"name":"IUniversalRouter","nameLocation":"727:16:0","nodeType":"ContractDefinition","nodes":[{"functionSelector":"3593564c","id":42,"implemented":false,"kind":"function","modifiers":[],"name":"execute","nameLocation":"759:7:0","nodeType":"FunctionDefinition","parameters":{"id":40,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34,"mutability":"mutable","name":"commands","nameLocation":"791:8:0","nodeType":"VariableDeclaration","scope":42,"src":"776:23:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":33,"name":"bytes","nodeType":"ElementaryTypeName","src":"776:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":37,"mutability":"mutable","name":"inputs","nameLocation":"826:6:0","nodeType":"VariableDeclaration","scope":42,"src":"809:23:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":35,"name":"bytes","nodeType":"ElementaryTypeName","src":"809:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":36,"nodeType":"ArrayTypeName","src":"809:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":39,"mutability":"mutable","name":"deadline","nameLocation":"850:8:0","nodeType":"VariableDeclaration","scope":42,"src":"842:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"766:98:0"},"returnParameters":{"id":41,"nodeType":"ParameterList","parameters":[],"src":"881:0:0"},"scope":43,"src":"750:132:0","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":405,"src":"717:167:0","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"ZoraPostMarketEscrow","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":404,"linearizedBaseContracts":[404],"name":"ZoraPostMarketEscrow","nameLocation":"895:20:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ZoraPostMarketEscrow.Bid","id":62,"members":[{"constant":false,"id":45,"mutability":"mutable","name":"sponsor","nameLocation":"951:7:0","nodeType":"VariableDeclaration","scope":62,"src":"943:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"943:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47,"mutability":"mutable","name":"creator","nameLocation":"976:7:0","nodeType":"VariableDeclaration","scope":62,"src":"968:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46,"name":"address","nodeType":"ElementaryTypeName","src":"968:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49,"mutability":"mutable","name":"creatorCoin","nameLocation":"1001:11:0","nodeType":"VariableDeclaration","scope":62,"src":"993:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48,"name":"address","nodeType":"ElementaryTypeName","src":"993:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51,"mutability":"mutable","name":"title","nameLocation":"1029:5:0","nodeType":"VariableDeclaration","scope":62,"src":"1022:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":50,"name":"string","nodeType":"ElementaryTypeName","src":"1022:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53,"mutability":"mutable","name":"ticker","nameLocation":"1051:6:0","nodeType":"VariableDeclaration","scope":62,"src":"1044:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":52,"name":"string","nodeType":"ElementaryTypeName","src":"1044:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55,"mutability":"mutable","name":"imageURI","nameLocation":"1074:8:0","nodeType":"VariableDeclaration","scope":62,"src":"1067:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":54,"name":"string","nodeType":"ElementaryTypeName","src":"1067:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57,"mutability":"mutable","name":"description","nameLocation":"1099:11:0","nodeType":"VariableDeclaration","scope":62,"src":"1092:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":56,"name":"string","nodeType":"ElementaryTypeName","src":"1092:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59,"mutability":"mutable","name":"amountZora","nameLocation":"1128:10:0","nodeType":"VariableDeclaration","scope":62,"src":"1120:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58,"name":"uint256","nodeType":"ElementaryTypeName","src":"1120:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61,"mutability":"mutable","name":"active","nameLocation":"1153:6:0","nodeType":"VariableDeclaration","scope":62,"src":"1148:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":60,"name":"bool","nodeType":"ElementaryTypeName","src":"1148:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Bid","nameLocation":"929:3:0","nodeType":"StructDefinition","scope":404,"src":"922:244:0","visibility":"public"},{"constant":false,"functionSelector":"c4e525bf","id":65,"mutability":"immutable","name":"ZORA","nameLocation":"1196:4:0","nodeType":"VariableDeclaration","scope":404,"src":"1172:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"},"typeName":{"id":64,"nodeType":"UserDefinedTypeName","pathNode":{"id":63,"name":"IERC20","nameLocations":["1172:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":32,"src":"1172:6:0"},"referencedDeclaration":32,"src":"1172:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"visibility":"public"},{"constant":false,"functionSelector":"e9ca630f","id":68,"mutability":"immutable","name":"ZoraMarketToken","nameLocation":"1230:15:0","nodeType":"VariableDeclaration","scope":404,"src":"1206:39:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"},"typeName":{"id":67,"nodeType":"UserDefinedTypeName","pathNode":{"id":66,"name":"IERC20","nameLocations":["1206:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":32,"src":"1206:6:0"},"referencedDeclaration":32,"src":"1206:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"visibility":"public"},{"constant":false,"functionSelector":"8d52b0b5","id":71,"mutability":"immutable","name":"UniversalRouter","nameLocation":"1285:15:0","nodeType":"VariableDeclaration","scope":404,"src":"1251:49:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"},"typeName":{"id":70,"nodeType":"UserDefinedTypeName","pathNode":{"id":69,"name":"IUniversalRouter","nameLocations":["1251:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":43,"src":"1251:16:0"},"referencedDeclaration":43,"src":"1251:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}},"visibility":"public"},{"constant":false,"functionSelector":"e138818c","id":73,"mutability":"immutable","name":"platformTreasury","nameLocation":"1331:16:0","nodeType":"VariableDeclaration","scope":404,"src":"1306:41:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72,"name":"address","nodeType":"ElementaryTypeName","src":"1306:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"9eeb2493","id":75,"mutability":"immutable","name":"ZoraFactory","nameLocation":"1378:11:0","nodeType":"VariableDeclaration","scope":404,"src":"1353:36:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74,"name":"address","nodeType":"ElementaryTypeName","src":"1353:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"dc269049","id":77,"mutability":"mutable","name":"nextBidId","nameLocation":"1411:9:0","nodeType":"VariableDeclaration","scope":404,"src":"1396:24:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76,"name":"uint256","nodeType":"ElementaryTypeName","src":"1396:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"4423c5f1","id":82,"mutability":"mutable","name":"bids","nameLocation":"1457:4:0","nodeType":"VariableDeclaration","scope":404,"src":"1426:35:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Bid_$62_storage_$","typeString":"mapping(uint256 => struct ZoraPostMarketEscrow.Bid)"},"typeName":{"id":81,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78,"name":"uint256","nodeType":"ElementaryTypeName","src":"1434:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1426:23:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Bid_$62_storage_$","typeString":"mapping(uint256 => struct ZoraPostMarketEscrow.Bid)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":80,"nodeType":"UserDefinedTypeName","pathNode":{"id":79,"name":"Bid","nameLocations":["1445:3:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"1445:3:0"},"referencedDeclaration":62,"src":"1445:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid"}}},"visibility":"public"},{"anonymous":false,"eventSelector":"f816c188fc874f1d5fdd8016fed871eb42b2537e826d2e0dce32ce30679ba686","id":92,"name":"BidCreated","nameLocation":"1474:10:0","nodeType":"EventDefinition","parameters":{"id":91,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84,"indexed":true,"mutability":"mutable","name":"bidId","nameLocation":"1501:5:0","nodeType":"VariableDeclaration","scope":92,"src":"1485:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83,"name":"uint256","nodeType":"ElementaryTypeName","src":"1485:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86,"indexed":false,"mutability":"mutable","name":"sponsor","nameLocation":"1516:7:0","nodeType":"VariableDeclaration","scope":92,"src":"1508:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85,"name":"address","nodeType":"ElementaryTypeName","src":"1508:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88,"indexed":false,"mutability":"mutable","name":"creator","nameLocation":"1533:7:0","nodeType":"VariableDeclaration","scope":92,"src":"1525:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87,"name":"address","nodeType":"ElementaryTypeName","src":"1525:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1550:6:0","nodeType":"VariableDeclaration","scope":92,"src":"1542:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1484:73:0"},"src":"1468:90:0"},{"anonymous":false,"eventSelector":"c1546e394b1975212fe013e7e6995653585f44e568c407d1157483f7d4b94581","id":96,"name":"BidCancelled","nameLocation":"1569:12:0","nodeType":"EventDefinition","parameters":{"id":95,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94,"indexed":true,"mutability":"mutable","name":"bidId","nameLocation":"1598:5:0","nodeType":"VariableDeclaration","scope":96,"src":"1582:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93,"name":"uint256","nodeType":"ElementaryTypeName","src":"1582:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1581:23:0"},"src":"1563:42:0"},{"anonymous":false,"eventSelector":"861a1554b828f213a4a7f0a5b87a1cdb790bde45d0b1b1da067906443d701c7e","id":106,"name":"DealExecuted","nameLocation":"1616:12:0","nodeType":"EventDefinition","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98,"indexed":true,"mutability":"mutable","name":"bidId","nameLocation":"1654:5:0","nodeType":"VariableDeclaration","scope":106,"src":"1638:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97,"name":"uint256","nodeType":"ElementaryTypeName","src":"1638:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":100,"indexed":false,"mutability":"mutable","name":"creator","nameLocation":"1677:7:0","nodeType":"VariableDeclaration","scope":106,"src":"1669:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":99,"name":"address","nodeType":"ElementaryTypeName","src":"1669:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":102,"indexed":false,"mutability":"mutable","name":"sponsor","nameLocation":"1702:7:0","nodeType":"VariableDeclaration","scope":106,"src":"1694:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":101,"name":"address","nodeType":"ElementaryTypeName","src":"1694:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":104,"indexed":false,"mutability":"mutable","name":"postCoin","nameLocation":"1727:8:0","nodeType":"VariableDeclaration","scope":106,"src":"1719:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":103,"name":"address","nodeType":"ElementaryTypeName","src":"1719:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1628:113:0"},"src":"1610:132:0"},{"body":{"id":145,"nodeType":"Block","src":"1922:233:0","statements":[{"expression":{"id":123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":119,"name":"ZORA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"1932:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":121,"name":"_zora","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"1946:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":120,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"1939:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$32_$","typeString":"type(contract IERC20)"}},"id":122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1939:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"src":"1932:20:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"id":124,"nodeType":"ExpressionStatement","src":"1932:20:0"},{"expression":{"id":129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":125,"name":"ZoraMarketToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"1962:15:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":127,"name":"_zoraMarketToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"1987:16:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":126,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"1980:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$32_$","typeString":"type(contract IERC20)"}},"id":128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1980:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"src":"1962:42:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"id":130,"nodeType":"ExpressionStatement","src":"1962:42:0"},{"expression":{"id":135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":131,"name":"UniversalRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"2014:15:0","typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":133,"name":"_universalRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"2049:16:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":132,"name":"IUniversalRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"2032:16:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IUniversalRouter_$43_$","typeString":"type(contract IUniversalRouter)"}},"id":134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2032:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}},"src":"2014:52:0","typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}},"id":136,"nodeType":"ExpressionStatement","src":"2014:52:0"},{"expression":{"id":139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":137,"name":"platformTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"2076:16:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":138,"name":"_platformTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114,"src":"2095:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2076:36:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":140,"nodeType":"ExpressionStatement","src":"2076:36:0"},{"expression":{"id":143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":141,"name":"ZoraFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"2122:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":142,"name":"_zoraFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":116,"src":"2136:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2122:26:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":144,"nodeType":"ExpressionStatement","src":"2122:26:0"}]},"id":146,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"mutability":"mutable","name":"_zora","nameLocation":"1777:5:0","nodeType":"VariableDeclaration","scope":146,"src":"1769:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107,"name":"address","nodeType":"ElementaryTypeName","src":"1769:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":110,"mutability":"mutable","name":"_zoraMarketToken","nameLocation":"1800:16:0","nodeType":"VariableDeclaration","scope":146,"src":"1792:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":109,"name":"address","nodeType":"ElementaryTypeName","src":"1792:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":112,"mutability":"mutable","name":"_universalRouter","nameLocation":"1834:16:0","nodeType":"VariableDeclaration","scope":146,"src":"1826:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":111,"name":"address","nodeType":"ElementaryTypeName","src":"1826:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":114,"mutability":"mutable","name":"_platformTreasury","nameLocation":"1868:17:0","nodeType":"VariableDeclaration","scope":146,"src":"1860:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":113,"name":"address","nodeType":"ElementaryTypeName","src":"1860:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"_zoraFactory","nameLocation":"1903:12:0","nodeType":"VariableDeclaration","scope":146,"src":"1895:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":115,"name":"address","nodeType":"ElementaryTypeName","src":"1895:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1759:162:0"},"returnParameters":{"id":118,"nodeType":"ParameterList","parameters":[],"src":"1922:0:0"},"scope":404,"src":"1748:407:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":162,"nodeType":"Block","src":"2197:85:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":151,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2215:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2219:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2215:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":153,"name":"bids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"2229:4:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Bid_$62_storage_$","typeString":"mapping(uint256 => struct ZoraPostMarketEscrow.Bid storage ref)"}},"id":155,"indexExpression":{"id":154,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":148,"src":"2234:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2229:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage","typeString":"struct ZoraPostMarketEscrow.Bid storage ref"}},"id":156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2241:7:0","memberName":"sponsor","nodeType":"MemberAccess","referencedDeclaration":45,"src":"2229:19:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2215:33:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f742073706f6e736f72","id":158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2250:13:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_63f60f2e937c7c4acc1b9f113156a6563ed205ae409c753bf185f4178a812aa9","typeString":"literal_string \"Not sponsor\""},"value":"Not sponsor"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_63f60f2e937c7c4acc1b9f113156a6563ed205ae409c753bf185f4178a812aa9","typeString":"literal_string \"Not sponsor\""}],"id":150,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2207:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2207:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"ExpressionStatement","src":"2207:57:0"},{"id":161,"nodeType":"PlaceholderStatement","src":"2274:1:0"}]},"id":163,"name":"onlySponsor","nameLocation":"2170:11:0","nodeType":"ModifierDefinition","parameters":{"id":149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":148,"mutability":"mutable","name":"bidId","nameLocation":"2190:5:0","nodeType":"VariableDeclaration","scope":163,"src":"2182:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":147,"name":"uint256","nodeType":"ElementaryTypeName","src":"2182:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2181:15:0"},"src":"2161:121:0","virtual":false,"visibility":"internal"},{"body":{"id":231,"nodeType":"Block","src":"2562:546:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":183,"name":"amountZora","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"2580:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2593:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2580:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616d6f756e74","id":186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2596:16:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_2fd1dfd944df9898ee4c79794168926172c3d96d7664ff9919bb7080bb018af1","typeString":"literal_string \"Invalid amount\""},"value":"Invalid amount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2fd1dfd944df9898ee4c79794168926172c3d96d7664ff9919bb7080bb018af1","typeString":"literal_string \"Invalid amount\""}],"id":182,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2572:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2572:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":188,"nodeType":"ExpressionStatement","src":"2572:41:0"},{"expression":{"arguments":[{"expression":{"id":192,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2641:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2645:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2641:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":196,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2661:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_ZoraPostMarketEscrow_$404","typeString":"contract ZoraPostMarketEscrow"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ZoraPostMarketEscrow_$404","typeString":"contract ZoraPostMarketEscrow"}],"id":195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2653:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":194,"name":"address","nodeType":"ElementaryTypeName","src":"2653:7:0","typeDescriptions":{}}},"id":197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2653:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":198,"name":"amountZora","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"2668:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":189,"name":"ZORA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"2623:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"id":191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2628:12:0","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":13,"src":"2623:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2623:56:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":200,"nodeType":"ExpressionStatement","src":"2623:56:0"},{"expression":{"id":204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":201,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"2690:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2698:11:0","subExpression":{"id":202,"name":"nextBidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77,"src":"2698:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2690:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":205,"nodeType":"ExpressionStatement","src":"2690:19:0"},{"expression":{"id":221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":206,"name":"bids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"2719:4:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Bid_$62_storage_$","typeString":"mapping(uint256 => struct ZoraPostMarketEscrow.Bid storage ref)"}},"id":208,"indexExpression":{"id":207,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"2724:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2719:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage","typeString":"struct ZoraPostMarketEscrow.Bid storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":210,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2760:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2764:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2760:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":212,"name":"creator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"2793:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":213,"name":"creatorCoin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"2827:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":214,"name":"title","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"2859:5:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":215,"name":"ticker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"2886:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":216,"name":"imageURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"2916:8:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":217,"name":"description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"2951:11:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":218,"name":"amountZora","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"2988:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3020:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":209,"name":"Bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"2733:3:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Bid_$62_storage_ptr_$","typeString":"type(struct ZoraPostMarketEscrow.Bid storage pointer)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2751:7:0","2784:7:0","2814:11:0","2852:5:0","2878:6:0","2906:8:0","2938:11:0","2976:10:0","3012:6:0"],"names":["sponsor","creator","creatorCoin","title","ticker","imageURI","description","amountZora","active"],"nodeType":"FunctionCall","src":"2733:302:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_memory_ptr","typeString":"struct ZoraPostMarketEscrow.Bid memory"}},"src":"2719:316:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage","typeString":"struct ZoraPostMarketEscrow.Bid storage ref"}},"id":222,"nodeType":"ExpressionStatement","src":"2719:316:0"},{"eventCall":{"arguments":[{"id":224,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"3062:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":225,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3069:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3073:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3069:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":227,"name":"creator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"3081:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":228,"name":"amountZora","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"3090:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":223,"name":"BidCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"3051:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,address,uint256)"}},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3051:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":230,"nodeType":"EmitStatement","src":"3046:55:0"}]},"functionSelector":"be7b2827","id":232,"implemented":true,"kind":"function","modifiers":[],"name":"createBid","nameLocation":"2297:9:0","nodeType":"FunctionDefinition","parameters":{"id":178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":165,"mutability":"mutable","name":"creator","nameLocation":"2324:7:0","nodeType":"VariableDeclaration","scope":232,"src":"2316:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":164,"name":"address","nodeType":"ElementaryTypeName","src":"2316:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":167,"mutability":"mutable","name":"creatorCoin","nameLocation":"2349:11:0","nodeType":"VariableDeclaration","scope":232,"src":"2341:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":166,"name":"address","nodeType":"ElementaryTypeName","src":"2341:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":169,"mutability":"mutable","name":"title","nameLocation":"2386:5:0","nodeType":"VariableDeclaration","scope":232,"src":"2370:21:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":168,"name":"string","nodeType":"ElementaryTypeName","src":"2370:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":171,"mutability":"mutable","name":"ticker","nameLocation":"2417:6:0","nodeType":"VariableDeclaration","scope":232,"src":"2401:22:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":170,"name":"string","nodeType":"ElementaryTypeName","src":"2401:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":173,"mutability":"mutable","name":"imageURI","nameLocation":"2449:8:0","nodeType":"VariableDeclaration","scope":232,"src":"2433:24:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":172,"name":"string","nodeType":"ElementaryTypeName","src":"2433:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":175,"mutability":"mutable","name":"description","nameLocation":"2483:11:0","nodeType":"VariableDeclaration","scope":232,"src":"2467:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":174,"name":"string","nodeType":"ElementaryTypeName","src":"2467:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":177,"mutability":"mutable","name":"amountZora","nameLocation":"2512:10:0","nodeType":"VariableDeclaration","scope":232,"src":"2504:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":176,"name":"uint256","nodeType":"ElementaryTypeName","src":"2504:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2306:222:0"},"returnParameters":{"id":181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":180,"mutability":"mutable","name":"bidId","nameLocation":"2555:5:0","nodeType":"VariableDeclaration","scope":232,"src":"2547:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":179,"name":"uint256","nodeType":"ElementaryTypeName","src":"2547:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2546:15:0"},"scope":404,"src":"2288:820:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":272,"nodeType":"Block","src":"3176:205:0","statements":[{"assignments":[242],"declarations":[{"constant":false,"id":242,"mutability":"mutable","name":"bid","nameLocation":"3198:3:0","nodeType":"VariableDeclaration","scope":272,"src":"3186:15:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid"},"typeName":{"id":241,"nodeType":"UserDefinedTypeName","pathNode":{"id":240,"name":"Bid","nameLocations":["3186:3:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"3186:3:0"},"referencedDeclaration":62,"src":"3186:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid"}},"visibility":"internal"}],"id":246,"initialValue":{"baseExpression":{"id":243,"name":"bids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"3204:4:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Bid_$62_storage_$","typeString":"mapping(uint256 => struct ZoraPostMarketEscrow.Bid storage ref)"}},"id":245,"indexExpression":{"id":244,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"3209:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3204:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage","typeString":"struct ZoraPostMarketEscrow.Bid storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3186:29:0"},{"expression":{"arguments":[{"expression":{"id":248,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":242,"src":"3233:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3237:6:0","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":61,"src":"3233:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42696420696e616374697665","id":250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3245:14:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ad0332c829b98a87ef9b4cd7af2aac9ffc5714a0e0bd069d44c97743c92b6f7","typeString":"literal_string \"Bid inactive\""},"value":"Bid inactive"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ad0332c829b98a87ef9b4cd7af2aac9ffc5714a0e0bd069d44c97743c92b6f7","typeString":"literal_string \"Bid inactive\""}],"id":247,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3225:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3225:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":252,"nodeType":"ExpressionStatement","src":"3225:35:0"},{"expression":{"id":257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":253,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":242,"src":"3270:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3274:6:0","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":61,"src":"3270:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3283:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"3270:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":258,"nodeType":"ExpressionStatement","src":"3270:18:0"},{"expression":{"arguments":[{"expression":{"id":262,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":242,"src":"3312:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3316:7:0","memberName":"sponsor","nodeType":"MemberAccess","referencedDeclaration":45,"src":"3312:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":264,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":242,"src":"3325:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3329:10:0","memberName":"amountZora","nodeType":"MemberAccess","referencedDeclaration":59,"src":"3325:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":259,"name":"ZORA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"3298:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3303:8:0","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":31,"src":"3298:13:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3298:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":267,"nodeType":"ExpressionStatement","src":"3298:42:0"},{"eventCall":{"arguments":[{"id":269,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"3368:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":268,"name":"BidCancelled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"3355:12:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3355:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"EmitStatement","src":"3350:24:0"}]},"functionSelector":"9703ef35","id":273,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":237,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"3169:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":238,"kind":"modifierInvocation","modifierName":{"id":236,"name":"onlySponsor","nameLocations":["3157:11:0"],"nodeType":"IdentifierPath","referencedDeclaration":163,"src":"3157:11:0"},"nodeType":"ModifierInvocation","src":"3157:18:0"}],"name":"cancelBid","nameLocation":"3123:9:0","nodeType":"FunctionDefinition","parameters":{"id":235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":234,"mutability":"mutable","name":"bidId","nameLocation":"3141:5:0","nodeType":"VariableDeclaration","scope":273,"src":"3133:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":233,"name":"uint256","nodeType":"ElementaryTypeName","src":"3133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3132:15:0"},"returnParameters":{"id":239,"nodeType":"ParameterList","parameters":[],"src":"3176:0:0"},"scope":404,"src":"3114:267:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":402,"nodeType":"Block","src":"3766:1175:0","statements":[{"assignments":[291],"declarations":[{"constant":false,"id":291,"mutability":"mutable","name":"bid","nameLocation":"3788:3:0","nodeType":"VariableDeclaration","scope":402,"src":"3776:15:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid"},"typeName":{"id":290,"nodeType":"UserDefinedTypeName","pathNode":{"id":289,"name":"Bid","nameLocations":["3776:3:0"],"nodeType":"IdentifierPath","referencedDeclaration":62,"src":"3776:3:0"},"referencedDeclaration":62,"src":"3776:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid"}},"visibility":"internal"}],"id":295,"initialValue":{"baseExpression":{"id":292,"name":"bids","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"3794:4:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Bid_$62_storage_$","typeString":"mapping(uint256 => struct ZoraPostMarketEscrow.Bid storage ref)"}},"id":294,"indexExpression":{"id":293,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"3799:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3794:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage","typeString":"struct ZoraPostMarketEscrow.Bid storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3776:29:0"},{"expression":{"arguments":[{"expression":{"id":297,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"3823:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3827:6:0","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":61,"src":"3823:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42696420696e616374697665","id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3835:14:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ad0332c829b98a87ef9b4cd7af2aac9ffc5714a0e0bd069d44c97743c92b6f7","typeString":"literal_string \"Bid inactive\""},"value":"Bid inactive"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ad0332c829b98a87ef9b4cd7af2aac9ffc5714a0e0bd069d44c97743c92b6f7","typeString":"literal_string \"Bid inactive\""}],"id":296,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3815:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3815:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":301,"nodeType":"ExpressionStatement","src":"3815:35:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":303,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3868:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3872:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3868:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":305,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"3882:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3886:7:0","memberName":"creator","nodeType":"MemberAccess","referencedDeclaration":47,"src":"3882:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3868:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f742063726561746f72","id":308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3895:13:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6669d031ac999233422ba513e10e1c24db242fc6ad41a4f7b6fdf3a5f9b96a3f","typeString":"literal_string \"Not creator\""},"value":"Not creator"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6669d031ac999233422ba513e10e1c24db242fc6ad41a4f7b6fdf3a5f9b96a3f","typeString":"literal_string \"Not creator\""}],"id":302,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3860:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3860:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"3860:49:0"},{"expression":{"id":315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":311,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"3920:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3924:6:0","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":61,"src":"3920:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3933:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"3920:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":316,"nodeType":"ExpressionStatement","src":"3920:18:0"},{"assignments":[318],"declarations":[{"constant":false,"id":318,"mutability":"mutable","name":"totalAmount","nameLocation":"3956:11:0","nodeType":"VariableDeclaration","scope":402,"src":"3948:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":317,"name":"uint256","nodeType":"ElementaryTypeName","src":"3948:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":321,"initialValue":{"expression":{"id":319,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"3970:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3974:10:0","memberName":"amountZora","nodeType":"MemberAccess","referencedDeclaration":59,"src":"3970:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3948:36:0"},{"assignments":[323],"declarations":[{"constant":false,"id":323,"mutability":"mutable","name":"sponsor","nameLocation":"4002:7:0","nodeType":"VariableDeclaration","scope":402,"src":"3994:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":322,"name":"address","nodeType":"ElementaryTypeName","src":"3994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":326,"initialValue":{"expression":{"id":324,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"4012:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4016:7:0","memberName":"sponsor","nodeType":"MemberAccess","referencedDeclaration":45,"src":"4012:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3994:29:0"},{"assignments":[328],"declarations":[{"constant":false,"id":328,"mutability":"mutable","name":"data","nameLocation":"4110:4:0","nodeType":"VariableDeclaration","scope":402,"src":"4097:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":327,"name":"bytes","nodeType":"ElementaryTypeName","src":"4097:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":341,"initialValue":{"arguments":[{"hexValue":"637265617465436f696e28737472696e672c737472696e672c737472696e672c737472696e6729","id":331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4154:41:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e1ddfa30051b97b6d7b57411f26b0d0bf4655c371daa7168915e18dc5539b0d","typeString":"literal_string \"createCoin(string,string,string,string)\""},"value":"createCoin(string,string,string,string)"},{"expression":{"id":332,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"4209:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4213:5:0","memberName":"title","nodeType":"MemberAccess","referencedDeclaration":51,"src":"4209:9:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":334,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"4232:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4236:6:0","memberName":"ticker","nodeType":"MemberAccess","referencedDeclaration":53,"src":"4232:10:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":336,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"4256:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4260:8:0","memberName":"imageURI","nodeType":"MemberAccess","referencedDeclaration":55,"src":"4256:12:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":338,"name":"bid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":291,"src":"4282:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_Bid_$62_storage_ptr","typeString":"struct ZoraPostMarketEscrow.Bid storage pointer"}},"id":339,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4286:11:0","memberName":"description","nodeType":"MemberAccess","referencedDeclaration":57,"src":"4282:15:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e1ddfa30051b97b6d7b57411f26b0d0bf4655c371daa7168915e18dc5539b0d","typeString":"literal_string \"createCoin(string,string,string,string)\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4117:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4121:19:0","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4117:23:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4117:190:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4097:210:0"},{"assignments":[343,345],"declarations":[{"constant":false,"id":343,"mutability":"mutable","name":"success","nameLocation":"4323:7:0","nodeType":"VariableDeclaration","scope":402,"src":"4318:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":342,"name":"bool","nodeType":"ElementaryTypeName","src":"4318:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":345,"mutability":"mutable","name":"result","nameLocation":"4345:6:0","nodeType":"VariableDeclaration","scope":402,"src":"4332:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":344,"name":"bytes","nodeType":"ElementaryTypeName","src":"4332:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":350,"initialValue":{"arguments":[{"id":348,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":328,"src":"4372:4:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":346,"name":"ZoraFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75,"src":"4355:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4367:4:0","memberName":"call","nodeType":"MemberAccess","src":"4355:16:0","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4355:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4317:60:0"},{"expression":{"arguments":[{"id":352,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":343,"src":"4395:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"43726561746520636f696e206661696c6564","id":353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4404:20:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa0613a8a1729fad6ccff4f1e87fc6aca4631b99cbd4540d985b087466db7936","typeString":"literal_string \"Create coin failed\""},"value":"Create coin failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fa0613a8a1729fad6ccff4f1e87fc6aca4631b99cbd4540d985b087466db7936","typeString":"literal_string \"Create coin failed\""}],"id":351,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4387:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4387:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":355,"nodeType":"ExpressionStatement","src":"4387:38:0"},{"assignments":[357],"declarations":[{"constant":false,"id":357,"mutability":"mutable","name":"postCoin","nameLocation":"4443:8:0","nodeType":"VariableDeclaration","scope":402,"src":"4435:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":356,"name":"address","nodeType":"ElementaryTypeName","src":"4435:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":365,"initialValue":{"arguments":[{"id":360,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":345,"src":"4465:6:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4474:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":361,"name":"address","nodeType":"ElementaryTypeName","src":"4474:7:0","typeDescriptions":{}}}],"id":363,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4473:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4454:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4458:6:0","memberName":"decode","nodeType":"MemberAccess","src":"4454:10:0","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4454:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"4435:48:0"},{"expression":{"arguments":[{"arguments":[{"id":371,"name":"UniversalRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"4544:15:0","typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}],"id":370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4536:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":369,"name":"address","nodeType":"ElementaryTypeName","src":"4536:7:0","typeDescriptions":{}}},"id":372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4536:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":373,"name":"totalAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":318,"src":"4562:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":366,"name":"ZORA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"4523:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$32","typeString":"contract IERC20"}},"id":368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4528:7:0","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":22,"src":"4523:12:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4523:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":375,"nodeType":"ExpressionStatement","src":"4523:51:0"},{"expression":{"arguments":[{"id":379,"name":"creatorSwapCommands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"4663:19:0","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":380,"name":"creatorSwapInputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":281,"src":"4684:17:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"expression":{"id":381,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4703:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4709:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"4703:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":376,"name":"UniversalRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"4639:15:0","typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4655:7:0","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":42,"src":"4639:23:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes memory,bytes memory[] memory,uint256) payable external"}},"id":383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4639:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":384,"nodeType":"ExpressionStatement","src":"4639:80:0"},{"expression":{"arguments":[{"id":388,"name":"platformSwapCommands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":283,"src":"4810:20:0","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":389,"name":"platformSwapInputs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4832:18:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},{"expression":{"id":390,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4852:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4858:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"4852:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":385,"name":"UniversalRouter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"4786:15:0","typeDescriptions":{"typeIdentifier":"t_contract$_IUniversalRouter_$43","typeString":"contract IUniversalRouter"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4802:7:0","memberName":"execute","nodeType":"MemberAccess","referencedDeclaration":42,"src":"4786:23:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes memory,bytes memory[] memory,uint256) payable external"}},"id":392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4786:82:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":393,"nodeType":"ExpressionStatement","src":"4786:82:0"},{"eventCall":{"arguments":[{"id":395,"name":"bidId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"4897:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":396,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4904:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4908:6:0","memberName":"sender","nodeType":"MemberAccess","src":"4904:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":398,"name":"sponsor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":323,"src":"4916:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":399,"name":"postCoin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4925:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":394,"name":"DealExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":106,"src":"4884:12:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address,address)"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4884:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":401,"nodeType":"EmitStatement","src":"4879:55:0"}]},"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"3387:132:0","text":" @notice Creator accepts bid, creates post via ZoraFactory, and performs swaps atomically through UniversalRouter."},"functionSelector":"b600dbc7","id":403,"implemented":true,"kind":"function","modifiers":[],"name":"acceptBidAndPost","nameLocation":"3533:16:0","nodeType":"FunctionDefinition","parameters":{"id":287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"bidId","nameLocation":"3567:5:0","nodeType":"VariableDeclaration","scope":403,"src":"3559:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":275,"name":"uint256","nodeType":"ElementaryTypeName","src":"3559:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":278,"mutability":"mutable","name":"creatorSwapCommands","nameLocation":"3597:19:0","nodeType":"VariableDeclaration","scope":403,"src":"3582:34:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":277,"name":"bytes","nodeType":"ElementaryTypeName","src":"3582:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":281,"mutability":"mutable","name":"creatorSwapInputs","nameLocation":"3643:17:0","nodeType":"VariableDeclaration","scope":403,"src":"3626:34:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":279,"name":"bytes","nodeType":"ElementaryTypeName","src":"3626:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":280,"nodeType":"ArrayTypeName","src":"3626:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":283,"mutability":"mutable","name":"platformSwapCommands","nameLocation":"3685:20:0","nodeType":"VariableDeclaration","scope":403,"src":"3670:35:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":282,"name":"bytes","nodeType":"ElementaryTypeName","src":"3670:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":286,"mutability":"mutable","name":"platformSwapInputs","nameLocation":"3732:18:0","nodeType":"VariableDeclaration","scope":403,"src":"3715:35:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":284,"name":"bytes","nodeType":"ElementaryTypeName","src":"3715:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":285,"nodeType":"ArrayTypeName","src":"3715:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3549:207:0"},"returnParameters":{"id":288,"nodeType":"ParameterList","parameters":[],"src":"3766:0:0"},"scope":404,"src":"3524:1417:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":405,"src":"886:4057:0","usedErrors":[],"usedEvents":[92,96,106]}],"src":"32:4911:0"},"id":0}},"contracts":{"contracts/ZoraPostMarketEscrow.sol":{"IERC20":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"ZoraPostMarketEscrow with UniversalRouter and ZoraFactory Integration\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"MVP contract for connecting sponsors and creators on Zora. Sponsors bid with ZORA tokens, creators accept to post, and the contract creates a post coin via ZoraFactory and swaps ZORA to Creator Coin and ZoraMarket token atomically via the Uniswap UniversalRouter deployed on Base.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ZoraPostMarketEscrow.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"contracts/ZoraPostMarketEscrow.sol\":{\"keccak256\":\"0x2e834a75d39b6a8d3a8588f8d8749ae3f46286b5c23ad205026b8bd6a879134d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c71163e0ce8a6241fec0c293231922f7a91b3e5101ff38194879ea123b0e49e\",\"dweb:/ipfs/QmdZNdhpX2PUVUtDbPZGL4fWrdJjaSAw3iixWPgNxnJ9F4\"]}},\"version\":1}"},"IUniversalRouter":{"abi":[{"inputs":[{"internalType":"bytes","name":"commands","type":"bytes"},{"internalType":"bytes[]","name":"inputs","type":"bytes[]"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"execute(bytes,bytes[],uint256)":"3593564c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"commands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ZoraPostMarketEscrow.sol\":\"IUniversalRouter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"contracts/ZoraPostMarketEscrow.sol\":{\"keccak256\":\"0x2e834a75d39b6a8d3a8588f8d8749ae3f46286b5c23ad205026b8bd6a879134d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c71163e0ce8a6241fec0c293231922f7a91b3e5101ff38194879ea123b0e49e\",\"dweb:/ipfs/QmdZNdhpX2PUVUtDbPZGL4fWrdJjaSAw3iixWPgNxnJ9F4\"]}},\"version\":1}"},"ZoraPostMarketEscrow":{"abi":[{"inputs":[{"internalType":"address","name":"_zora","type":"address"},{"internalType":"address","name":"_zoraMarketToken","type":"address"},{"internalType":"address","name":"_universalRouter","type":"address"},{"internalType":"address","name":"_platformTreasury","type":"address"},{"internalType":"address","name":"_zoraFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"bidId","type":"uint256"}],"name":"BidCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"bidId","type":"uint256"},{"indexed":false,"internalType":"address","name":"sponsor","type":"address"},{"indexed":false,"internalType":"address","name":"creator","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BidCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"bidId","type":"uint256"},{"indexed":false,"internalType":"address","name":"creator","type":"address"},{"indexed":false,"internalType":"address","name":"sponsor","type":"address"},{"indexed":false,"internalType":"address","name":"postCoin","type":"address"}],"name":"DealExecuted","type":"event"},{"inputs":[],"name":"UniversalRouter","outputs":[{"internalType":"contract IUniversalRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZORA","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZoraFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ZoraMarketToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bidId","type":"uint256"},{"internalType":"bytes","name":"creatorSwapCommands","type":"bytes"},{"internalType":"bytes[]","name":"creatorSwapInputs","type":"bytes[]"},{"internalType":"bytes","name":"platformSwapCommands","type":"bytes"},{"internalType":"bytes[]","name":"platformSwapInputs","type":"bytes[]"}],"name":"acceptBidAndPost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"bids","outputs":[{"internalType":"address","name":"sponsor","type":"address"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"creatorCoin","type":"address"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"ticker","type":"string"},{"internalType":"string","name":"imageURI","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"amountZora","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bidId","type":"uint256"}],"name":"cancelBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"creatorCoin","type":"address"},{"internalType":"string","name":"title","type":"string"},{"internalType":"string","name":"ticker","type":"string"},{"internalType":"string","name":"imageURI","type":"string"},{"internalType":"string","name":"description","type":"string"},{"internalType":"uint256","name":"amountZora","type":"uint256"}],"name":"createBid","outputs":[{"internalType":"uint256","name":"bidId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nextBidId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"platformTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"abi_decode_address_fromMemory":{"entryPoint":289,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[],"linkReferences":{},"object":"610120346200010657601f6200155a38819003918201601f19168301916001600160401b038311848410176200010b5780849260a09460405283398101031262000106576200004e8162000121565b906200005d6020820162000121565b6200006b6040830162000121565b6200008760806200007f6060860162000121565b940162000121565b6001600160a01b0394851660805291841660a05290921660c05260e052610100908152604051611423918262000137833960805182818161014a0152818161027101528181610b960152610e58015260a0518260a0015260c051828181610b510152610f20015260e0518260e8015251818181610acf0152610d890152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001065756fe6080604052600436101561001257600080fd5b6000803560e01c80634423c5f114610f4f5780638d52b0b514610f0a5780639703ef3514610db85780639eeb249314610d73578063b600dbc714610976578063be7b282714610179578063c4e525bf14610134578063dc26904914610117578063e138818c146100d25763e9ca630f1461008b57600080fd5b346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57806003193601126100cf5760209054604051908152f35b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760e03660031901126100cf576004356001600160a01b0381169003610971576024356001600160a01b0381168103610971576044356001600160401b03811161096d576101d0903690600401611189565b90916064356001600160401b038111610969576101f1903690600401611189565b9290936084356001600160401b03811161096557610213903690600401611189565b919060a4356001600160401b03811161096157610234903690600401611189565b93909460c4351561092b576040516323b872dd60e01b815233600482015230602482015260c43560448201526020816064818e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015610920576108f1575b508954986000198a146108dd5760018a018b5560405198896101208101106001600160401b036101208c0111176108c75761030d61032596610319948c60406103319d6101208301825233835260018060a01b0360043516602084015260018060a01b03169101523691611219565b60608b01523691611219565b60808801523691611219565b60a08501523691611219565b60c082015260c43560e0820152600161010082015281835260016020526040832060018060a01b038251166bffffffffffffffffffffffff60a01b90818354161782556001820160018060a01b0360208501511682825416179055600282019060018060a01b036040850151169082541617905560608201518051906001600160401b03821161065a5781906103ca6003850154611035565b601f8111610877575b50602090601f83116001146108085787926107fd575b50508160011b916000199060031b1c19161760038201555b60808201518051906001600160401b03821161065a5781906104266004850154611035565b601f81116107ad575b50602090601f831160011461073e578792610733575b50508160011b916000199060031b1c19161760048201555b60a08201518051906001600160401b03821161065a5781906104826005850154611035565b601f81116106e3575b50602090601f831160011461067957879261066e575b50508160011b916000199060031b1c19161760058201555b60c08201518051906001600160401b03821161065a576104dc6006840154611035565b601f8111610616575b50946020958691601f84116001146105a55792610100949281926008959261059a575b50508160011b916000199060031b1c19161760068201555b60e0840151600782015501910151151560ff80198354169116179055807ff816c188fc874f1d5fdd8016fed871eb42b2537e826d2e0dce32ce30679ba6866040518061058f60c435600435338460409194939294606082019560018060a01b0380921683521660208201520152565b0390a2604051908152f35b015190503880610508565b9190600685018352878320925b601f19851681106105ff575092610100949260019260089583601f198116106105e6575b505050811b016006820155610520565b015160001960f88460031b161c191690553880806105d6565b9192886001819286850151815501940192016105b2565b60068401875260208720601f840160051c810160208510610653575b601f830160051c820181106106485750506104e5565b888155600101610632565b5080610632565b634e487b7160e01b86526041600452602486fd5b0151905038806104a1565b600585018852602088209250601f198416885b8181106106cb57509084600195949392106106b2575b505050811b0160058201556104b9565b015160001960f88460031b161c191690553880806106a2565b9293602060018192878601518155019501930161068c565b90915060058401875260208720601f840160051c81016020851061072c575b90849392915b601f830160051c8201811061071e57505061048b565b898155859450600101610708565b5080610702565b015190503880610445565b9250600484018752602087209087935b601f1984168510610792576001945083601f19811610610779575b505050811b01600482015561045d565b015160001960f88460031b161c19169055388080610769565b8181015183556020948501946001909301929091019061074e565b90915060048401875260208720601f840160051c8101602085106107f6575b90849392915b601f830160051c820181106107e857505061042f565b8981558594506001016107d2565b50806107cc565b0151905038806103e9565b9250600384018752602087209087935b601f198416851061085c576001945083601f19811610610843575b505050811b016003820155610401565b015160001960f88460031b161c19169055388080610833565b81810151835560209485019460019093019290910190610818565b90915060038401875260208720601f840160051c8101602085106108c0575b90849392915b601f830160051c820181106108b25750506103d3565b89815585945060010161089c565b5080610896565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b8b52601160045260248bfd5b6109129060203d602011610919575b61090a8183611082565b8101906111e6565b503861029e565b503d610900565b6040513d8d823e3d90fd5b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b8880fd5b8680fd5b8480fd5b8280fd5b600080fd5b50346100cf5760a03660031901126100cf576001600160401b0390602435828111610d6f576109a9903690600401611189565b604493919335828111610d6b576109c49036906004016111b6565b9091606435848111610d67576109de903690600401611189565b9094608435908111610965576109f89036906004016111b6565b939091600435885260016020526040882096600888018054610a1c60ff8216611250565b60018a01546001600160a01b03163303610d345760ff19169055600788015492898060018060a01b038b54169a604051610aca81610abc6020820194633e1ddfa360e01b8652608060248401526006610a7b60a485016003840161128b565b91610aac610a9960231994858882030160448901526004840161128b565b848782030160648801526005830161128b565b928584030160848601520161128b565b03601f198101835282611082565b5190827f00000000000000000000000000000000000000000000000000000000000000005af13d15610d2c573d90610b01826111fe565b91610b0f6040519384611082565b82523d8c602084013e5b15610cf257602081805181010312610cc457602001516001600160a01b0381169890899003610cc45760405163095ea7b360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820181905260248201969096526020818d81806044810103917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610ce757610cc8575b50843b15610cc457908a91610bf86040519d8e938493630d64d59360e21b9b8c8652429360048701611342565b038183875af18015610cb957610ca1575b88995082989697983b15610965578694610c358692604051988997889687958652429360048701611342565b03925af18015610c9657610c82575b505060405191338352602083015260408201527f861a1554b828f213a4a7f0a5b87a1cdb790bde45d0b1b1da067906443d701c7e606060043592a280f35b610c8b9061106f565b61096d578238610c44565b6040513d84823e3d90fd5b9596979098610caf9061106f565b9695948890610c09565b6040513d8b823e3d90fd5b8a80fd5b610ce09060203d6020116109195761090a8183611082565b5038610bcb565b6040513d8e823e3d90fd5b60405162461bcd60e51b815260206004820152601260248201527110dc99585d194818dbda5b8819985a5b195960721b6044820152606490fd5b606090610b19565b60405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606490fd5b8580fd5b8380fd5b5080fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57602080600319360112610d6f576004358083526001825260408320549091906001600160a01b039081163303610ed75781610e5491848652600182526040862090600882018054610e1160ff8216611250565b60ff19169055815460079092015460405163a9059cbb60e01b81529282166001600160a01b03166004840152602483015290928391908290889082906044820190565b03927f0000000000000000000000000000000000000000000000000000000000000000165af18015610ecc57610eae575b50507fc1546e394b1975212fe013e7e6995653585f44e568c407d1157483f7d4b945818280a280f35b81610ec492903d106109195761090a8183611082565b503880610e85565b6040513d86823e3d90fd5b60405162461bcd60e51b815260048101839052600b60248201526a2737ba1039b837b739b7b960a91b6044820152606490fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760203660031901126100cf57604090600435815260016020522060018060a01b039081815416908260018201541692600282015416611023610f99600384016110a3565b611015610fa8600486016110a3565b611007610fb7600588016110a3565b91610ff9610fc760068a016110a3565b9560ff600860078c01549b015416986040519c8d9c8d5260208d015260408c01526101208060608d01528b0190611149565b9089820360808b0152611149565b9087820360a0890152611149565b9085820360c0870152611149565b9160e084015215156101008301520390f35b90600182811c92168015611065575b602083101461104f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611044565b6001600160401b0381116108c757604052565b90601f801991011681019081106001600160401b038211176108c757604052565b90604051918260008254926110b784611035565b90818452600194858116908160001461112657506001146110e3575b50506110e192500383611082565b565b9093915060005260209081600020936000915b81831061110e5750506110e1935082010138806110d3565b855488840185015294850194879450918301916110f6565b9150506110e194506020925060ff191682840152151560051b82010138806110d3565b919082519283825260005b848110611175575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611154565b9181601f84011215610971578235916001600160401b038311610971576020838186019501011161097157565b9181601f84011215610971578235916001600160401b038311610971576020808501948460051b01011161097157565b90816020910312610971575180151581036109715790565b6001600160401b0381116108c757601f01601f191660200190565b929192611225826111fe565b916112336040519384611082565b829481845281830111610971578281602093846000960137010152565b1561125757565b60405162461bcd60e51b815260206004820152600c60248201526b42696420696e61637469766560a01b6044820152606490fd5b906000929180549161129c83611035565b9182825260019384811690816000146112fe57506001146112be575b50505050565b90919394506000526020928360002092846000945b8386106112ea5750505050010190388080806112b8565b8054858701830152940193859082016112d3565b9294505050602093945060ff191683830152151560051b010190388080806112b8565b908060209392818452848401376000828201840152601f01601f1916010190565b959493919061135991606088526060880191611321565b9060208683038188015281835280830192818360051b82010193856000925b85841061138e5750505050505060409150930152565b909192939495601f198282030184528735601e19843603018112156109715783018681019190356001600160401b038111610971578036038313610971576113db88928392600195611321565b9901940194019296959493919061137856fea26469706673582212200c8868bca597926fda08b4b13a1a6d80e22086c58ea932b72d8c4fe8d8edaf8964736f6c63430008140033","opcodes":"PUSH2 0x120 CALLVALUE PUSH3 0x106 JUMPI PUSH1 0x1F PUSH3 0x155A CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH3 0x10B JUMPI DUP1 DUP5 SWAP3 PUSH1 0xA0 SWAP5 PUSH1 0x40 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH3 0x106 JUMPI PUSH3 0x4E DUP2 PUSH3 0x121 JUMP JUMPDEST SWAP1 PUSH3 0x5D PUSH1 0x20 DUP3 ADD PUSH3 0x121 JUMP JUMPDEST PUSH3 0x6B PUSH1 0x40 DUP4 ADD PUSH3 0x121 JUMP JUMPDEST PUSH3 0x87 PUSH1 0x80 PUSH3 0x7F PUSH1 0x60 DUP7 ADD PUSH3 0x121 JUMP JUMPDEST SWAP5 ADD PUSH3 0x121 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND PUSH1 0x80 MSTORE SWAP2 DUP5 AND PUSH1 0xA0 MSTORE SWAP1 SWAP3 AND PUSH1 0xC0 MSTORE PUSH1 0xE0 MSTORE PUSH2 0x100 SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD PUSH2 0x1423 SWAP2 DUP3 PUSH3 0x137 DUP4 CODECOPY PUSH1 0x80 MLOAD DUP3 DUP2 DUP2 PUSH2 0x14A ADD MSTORE DUP2 DUP2 PUSH2 0x271 ADD MSTORE DUP2 DUP2 PUSH2 0xB96 ADD MSTORE PUSH2 0xE58 ADD MSTORE PUSH1 0xA0 MLOAD DUP3 PUSH1 0xA0 ADD MSTORE PUSH1 0xC0 MLOAD DUP3 DUP2 DUP2 PUSH2 0xB51 ADD MSTORE PUSH2 0xF20 ADD MSTORE PUSH1 0xE0 MLOAD DUP3 PUSH1 0xE8 ADD MSTORE MLOAD DUP2 DUP2 DUP2 PUSH2 0xACF ADD MSTORE PUSH2 0xD89 ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH3 0x106 JUMPI JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4423C5F1 EQ PUSH2 0xF4F JUMPI DUP1 PUSH4 0x8D52B0B5 EQ PUSH2 0xF0A JUMPI DUP1 PUSH4 0x9703EF35 EQ PUSH2 0xDB8 JUMPI DUP1 PUSH4 0x9EEB2493 EQ PUSH2 0xD73 JUMPI DUP1 PUSH4 0xB600DBC7 EQ PUSH2 0x976 JUMPI DUP1 PUSH4 0xBE7B2827 EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0xC4E525BF EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0xDC269049 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0xE138818C EQ PUSH2 0xD2 JUMPI PUSH4 0xE9CA630F EQ PUSH2 0x8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x20 SWAP1 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0xE0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xCF JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP1 SUB PUSH2 0x971 JUMPI PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x971 JUMPI PUSH1 0x44 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x96D JUMPI PUSH2 0x1D0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x64 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x969 JUMPI PUSH2 0x1F1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 PUSH1 0x84 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x965 JUMPI PUSH2 0x213 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0xA4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x961 JUMPI PUSH2 0x234 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP4 SWAP1 SWAP5 PUSH1 0xC4 CALLDATALOAD ISZERO PUSH2 0x92B JUMPI PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0x64 DUP2 DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND GAS CALL DUP1 ISZERO PUSH2 0x920 JUMPI PUSH2 0x8F1 JUMPI JUMPDEST POP DUP10 SLOAD SWAP9 PUSH1 0x0 NOT DUP11 EQ PUSH2 0x8DD JUMPI PUSH1 0x1 DUP11 ADD DUP12 SSTORE PUSH1 0x40 MLOAD SWAP9 DUP10 PUSH2 0x120 DUP2 ADD LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB PUSH2 0x120 DUP13 ADD GT OR PUSH2 0x8C7 JUMPI PUSH2 0x30D PUSH2 0x325 SWAP7 PUSH2 0x319 SWAP5 DUP13 PUSH1 0x40 PUSH2 0x331 SWAP14 PUSH2 0x120 DUP4 ADD DUP3 MSTORE CALLER DUP4 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND SWAP2 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0x60 DUP12 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0x80 DUP9 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0xA0 DUP6 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH1 0x1 PUSH2 0x100 DUP3 ADD MSTORE DUP2 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP3 MLOAD AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xA0 SHL SWAP1 DUP2 DUP4 SLOAD AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x20 DUP6 ADD MLOAD AND DUP3 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x2 DUP3 ADD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP6 ADD MLOAD AND SWAP1 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI DUP2 SWAP1 PUSH2 0x3CA PUSH1 0x3 DUP6 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x877 JUMPI JUMPDEST POP PUSH1 0x20 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x808 JUMPI DUP8 SWAP3 PUSH2 0x7FD JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x3 DUP3 ADD SSTORE JUMPDEST PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI DUP2 SWAP1 PUSH2 0x426 PUSH1 0x4 DUP6 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x7AD JUMPI JUMPDEST POP PUSH1 0x20 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x73E JUMPI DUP8 SWAP3 PUSH2 0x733 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x4 DUP3 ADD SSTORE JUMPDEST PUSH1 0xA0 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI DUP2 SWAP1 PUSH2 0x482 PUSH1 0x5 DUP6 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x6E3 JUMPI JUMPDEST POP PUSH1 0x20 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x679 JUMPI DUP8 SWAP3 PUSH2 0x66E JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x5 DUP3 ADD SSTORE JUMPDEST PUSH1 0xC0 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI PUSH2 0x4DC PUSH1 0x6 DUP5 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x616 JUMPI JUMPDEST POP SWAP5 PUSH1 0x20 SWAP6 DUP7 SWAP2 PUSH1 0x1F DUP5 GT PUSH1 0x1 EQ PUSH2 0x5A5 JUMPI SWAP3 PUSH2 0x100 SWAP5 SWAP3 DUP2 SWAP3 PUSH1 0x8 SWAP6 SWAP3 PUSH2 0x59A JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x6 DUP3 ADD SSTORE JUMPDEST PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0x7 DUP3 ADD SSTORE ADD SWAP2 ADD MLOAD ISZERO ISZERO PUSH1 0xFF DUP1 NOT DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE DUP1 PUSH32 0xF816C188FC874F1D5FDD8016FED871EB42B2537E826D2E0DCE32CE30679BA686 PUSH1 0x40 MLOAD DUP1 PUSH2 0x58F PUSH1 0xC4 CALLDATALOAD PUSH1 0x4 CALLDATALOAD CALLER DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x508 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x6 DUP6 ADD DUP4 MSTORE DUP8 DUP4 KECCAK256 SWAP3 JUMPDEST PUSH1 0x1F NOT DUP6 AND DUP2 LT PUSH2 0x5FF JUMPI POP SWAP3 PUSH2 0x100 SWAP5 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0x8 SWAP6 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH2 0x5E6 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x520 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 SWAP3 DUP9 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP6 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x6 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x653 JUMPI JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x648 JUMPI POP POP PUSH2 0x4E5 JUMP JUMPDEST DUP9 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x632 JUMP JUMPDEST POP DUP1 PUSH2 0x632 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x5 DUP6 ADD DUP9 MSTORE PUSH1 0x20 DUP9 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x6CB JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x6B2 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x5 DUP3 ADD SSTORE PUSH2 0x4B9 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x6A2 JUMP JUMPDEST SWAP3 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH2 0x68C JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x5 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x72C JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x71E JUMPI POP POP PUSH2 0x48B JUMP JUMPDEST DUP10 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x708 JUMP JUMPDEST POP DUP1 PUSH2 0x702 JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP PUSH1 0x4 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 SWAP1 DUP8 SWAP4 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP6 LT PUSH2 0x792 JUMPI PUSH1 0x1 SWAP5 POP DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH2 0x779 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x4 DUP3 ADD SSTORE PUSH2 0x45D JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x769 JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 SSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x74E JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x4 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x7F6 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x7E8 JUMPI POP POP PUSH2 0x42F JUMP JUMPDEST DUP10 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x7D2 JUMP JUMPDEST POP DUP1 PUSH2 0x7CC JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x3E9 JUMP JUMPDEST SWAP3 POP PUSH1 0x3 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 SWAP1 DUP8 SWAP4 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP6 LT PUSH2 0x85C JUMPI PUSH1 0x1 SWAP5 POP DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH2 0x843 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x3 DUP3 ADD SSTORE PUSH2 0x401 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x833 JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 SSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x818 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x3 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x8C0 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x8B2 JUMPI POP POP PUSH2 0x3D3 JUMP JUMPDEST DUP10 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x89C JUMP JUMPDEST POP DUP1 PUSH2 0x896 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP12 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP12 REVERT JUMPDEST PUSH2 0x912 SWAP1 PUSH1 0x20 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x919 JUMPI JUMPDEST PUSH2 0x90A DUP2 DUP4 PUSH2 0x1082 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x11E6 JUMP JUMPDEST POP CODESIZE PUSH2 0x29E JUMP JUMPDEST POP RETURNDATASIZE PUSH2 0x900 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP14 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x125B9D985B1A5908185B5BDD5B9D PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0xA0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xCF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xD6F JUMPI PUSH2 0x9A9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST PUSH1 0x44 SWAP4 SWAP2 SWAP4 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xD6B JUMPI PUSH2 0x9C4 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x11B6 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 GT PUSH2 0xD67 JUMPI PUSH2 0x9DE SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP1 SWAP5 PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x965 JUMPI PUSH2 0x9F8 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x11B6 JUMP JUMPDEST SWAP4 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD DUP9 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP9 KECCAK256 SWAP7 PUSH1 0x8 DUP9 ADD DUP1 SLOAD PUSH2 0xA1C PUSH1 0xFF DUP3 AND PUSH2 0x1250 JUMP JUMPDEST PUSH1 0x1 DUP11 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0xD34 JUMPI PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x7 DUP9 ADD SLOAD SWAP3 DUP10 DUP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP12 SLOAD AND SWAP11 PUSH1 0x40 MLOAD PUSH2 0xACA DUP2 PUSH2 0xABC PUSH1 0x20 DUP3 ADD SWAP5 PUSH4 0x3E1DDFA3 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x80 PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x6 PUSH2 0xA7B PUSH1 0xA4 DUP6 ADD PUSH1 0x3 DUP5 ADD PUSH2 0x128B JUMP JUMPDEST SWAP2 PUSH2 0xAAC PUSH2 0xA99 PUSH1 0x23 NOT SWAP5 DUP6 DUP9 DUP3 SUB ADD PUSH1 0x44 DUP10 ADD MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x128B JUMP JUMPDEST DUP5 DUP8 DUP3 SUB ADD PUSH1 0x64 DUP9 ADD MSTORE PUSH1 0x5 DUP4 ADD PUSH2 0x128B JUMP JUMPDEST SWAP3 DUP6 DUP5 SUB ADD PUSH1 0x84 DUP7 ADD MSTORE ADD PUSH2 0x128B JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1082 JUMP JUMPDEST MLOAD SWAP1 DUP3 PUSH32 0x0 GAS CALL RETURNDATASIZE ISZERO PUSH2 0xD2C JUMPI RETURNDATASIZE SWAP1 PUSH2 0xB01 DUP3 PUSH2 0x11FE JUMP JUMPDEST SWAP2 PUSH2 0xB0F PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1082 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE DUP13 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMPDEST ISZERO PUSH2 0xCF2 JUMPI PUSH1 0x20 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0xCC4 JUMPI PUSH1 0x20 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP9 SWAP1 DUP10 SWAP1 SUB PUSH2 0xCC4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x95EA7B3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x20 DUP2 DUP14 DUP2 DUP1 PUSH1 0x44 DUP2 ADD SUB SWAP2 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND GAS CALL DUP1 ISZERO PUSH2 0xCE7 JUMPI PUSH2 0xCC8 JUMPI JUMPDEST POP DUP5 EXTCODESIZE ISZERO PUSH2 0xCC4 JUMPI SWAP1 DUP11 SWAP2 PUSH2 0xBF8 PUSH1 0x40 MLOAD SWAP14 DUP15 SWAP4 DUP5 SWAP4 PUSH4 0xD64D593 PUSH1 0xE2 SHL SWAP12 DUP13 DUP7 MSTORE TIMESTAMP SWAP4 PUSH1 0x4 DUP8 ADD PUSH2 0x1342 JUMP JUMPDEST SUB DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH2 0xCB9 JUMPI PUSH2 0xCA1 JUMPI JUMPDEST DUP9 SWAP10 POP DUP3 SWAP9 SWAP7 SWAP8 SWAP9 EXTCODESIZE ISZERO PUSH2 0x965 JUMPI DUP7 SWAP5 PUSH2 0xC35 DUP7 SWAP3 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 MSTORE TIMESTAMP SWAP4 PUSH1 0x4 DUP8 ADD PUSH2 0x1342 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xC96 JUMPI PUSH2 0xC82 JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP2 CALLER DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x861A1554B828F213A4A7F0A5B87A1CDB790BDE45D0B1B1DA067906443D701C7E PUSH1 0x60 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xC8B SWAP1 PUSH2 0x106F JUMP JUMPDEST PUSH2 0x96D JUMPI DUP3 CODESIZE PUSH2 0xC44 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP6 SWAP7 SWAP8 SWAP1 SWAP9 PUSH2 0xCAF SWAP1 PUSH2 0x106F JUMP JUMPDEST SWAP7 SWAP6 SWAP5 DUP9 SWAP1 PUSH2 0xC09 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH2 0xCE0 SWAP1 PUSH1 0x20 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x919 JUMPI PUSH2 0x90A DUP2 DUP4 PUSH2 0x1082 JUMP JUMPDEST POP CODESIZE PUSH2 0xBCB JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP15 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x10DC99585D194818DBDA5B8819985A5B1959 PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x60 SWAP1 PUSH2 0xB19 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x2737BA1031B932B0BA37B9 PUSH1 0xA9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xD6F JUMPI PUSH1 0x4 CALLDATALOAD DUP1 DUP4 MSTORE PUSH1 0x1 DUP3 MSTORE PUSH1 0x40 DUP4 KECCAK256 SLOAD SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND CALLER SUB PUSH2 0xED7 JUMPI DUP2 PUSH2 0xE54 SWAP2 DUP5 DUP7 MSTORE PUSH1 0x1 DUP3 MSTORE PUSH1 0x40 DUP7 KECCAK256 SWAP1 PUSH1 0x8 DUP3 ADD DUP1 SLOAD PUSH2 0xE11 PUSH1 0xFF DUP3 AND PUSH2 0x1250 JUMP JUMPDEST PUSH1 0xFF NOT AND SWAP1 SSTORE DUP2 SLOAD PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE SWAP3 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP3 DUP4 SWAP2 SWAP1 DUP3 SWAP1 DUP9 SWAP1 DUP3 SWAP1 PUSH1 0x44 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH32 0x0 AND GAS CALL DUP1 ISZERO PUSH2 0xECC JUMPI PUSH2 0xEAE JUMPI JUMPDEST POP POP PUSH32 0xC1546E394B1975212FE013E7E6995653585F44E568C407D1157483F7D4B94581 DUP3 DUP1 LOG2 DUP1 RETURN JUMPDEST DUP2 PUSH2 0xEC4 SWAP3 SWAP1 RETURNDATASIZE LT PUSH2 0x919 JUMPI PUSH2 0x90A DUP2 DUP4 PUSH2 0x1082 JUMP JUMPDEST POP CODESIZE DUP1 PUSH2 0xE85 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x2737BA1039B837B739B7B9 PUSH1 0xA9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 SWAP1 PUSH1 0x4 CALLDATALOAD DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE KECCAK256 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 DUP2 SLOAD AND SWAP1 DUP3 PUSH1 0x1 DUP3 ADD SLOAD AND SWAP3 PUSH1 0x2 DUP3 ADD SLOAD AND PUSH2 0x1023 PUSH2 0xF99 PUSH1 0x3 DUP5 ADD PUSH2 0x10A3 JUMP JUMPDEST PUSH2 0x1015 PUSH2 0xFA8 PUSH1 0x4 DUP7 ADD PUSH2 0x10A3 JUMP JUMPDEST PUSH2 0x1007 PUSH2 0xFB7 PUSH1 0x5 DUP9 ADD PUSH2 0x10A3 JUMP JUMPDEST SWAP2 PUSH2 0xFF9 PUSH2 0xFC7 PUSH1 0x6 DUP11 ADD PUSH2 0x10A3 JUMP JUMPDEST SWAP6 PUSH1 0xFF PUSH1 0x8 PUSH1 0x7 DUP13 ADD SLOAD SWAP12 ADD SLOAD AND SWAP9 PUSH1 0x40 MLOAD SWAP13 DUP14 SWAP13 DUP14 MSTORE PUSH1 0x20 DUP14 ADD MSTORE PUSH1 0x40 DUP13 ADD MSTORE PUSH2 0x120 DUP1 PUSH1 0x60 DUP14 ADD MSTORE DUP12 ADD SWAP1 PUSH2 0x1149 JUMP JUMPDEST SWAP1 DUP10 DUP3 SUB PUSH1 0x80 DUP12 ADD MSTORE PUSH2 0x1149 JUMP JUMPDEST SWAP1 DUP8 DUP3 SUB PUSH1 0xA0 DUP10 ADD MSTORE PUSH2 0x1149 JUMP JUMPDEST SWAP1 DUP6 DUP3 SUB PUSH1 0xC0 DUP8 ADD MSTORE PUSH2 0x1149 JUMP JUMPDEST SWAP2 PUSH1 0xE0 DUP5 ADD MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE SUB SWAP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1065 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x104F JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x8C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x8C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x10B7 DUP5 PUSH2 0x1035 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1126 JUMPI POP PUSH1 0x1 EQ PUSH2 0x10E3 JUMPI JUMPDEST POP POP PUSH2 0x10E1 SWAP3 POP SUB DUP4 PUSH2 0x1082 JUMP JUMPDEST JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x110E JUMPI POP POP PUSH2 0x10E1 SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x10D3 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x10F6 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E1 SWAP5 POP PUSH1 0x20 SWAP3 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x10D3 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MLOAD SWAP3 DUP4 DUP3 MSTORE PUSH1 0x0 JUMPDEST DUP5 DUP2 LT PUSH2 0x1175 JUMPI POP POP DUP3 PUSH1 0x0 PUSH1 0x20 DUP1 SWAP5 SWAP6 DUP5 ADD ADD MSTORE PUSH1 0x1F DUP1 NOT SWAP2 ADD AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD MLOAD DUP5 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1154 JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x971 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x971 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x971 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x971 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x971 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x971 JUMPI JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x971 JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH2 0x971 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x8C7 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x1225 DUP3 PUSH2 0x11FE JUMP JUMPDEST SWAP2 PUSH2 0x1233 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1082 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x971 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1257 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x42696420696E616374697665 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 SWAP3 SWAP2 DUP1 SLOAD SWAP2 PUSH2 0x129C DUP4 PUSH2 0x1035 JUMP JUMPDEST SWAP2 DUP3 DUP3 MSTORE PUSH1 0x1 SWAP4 DUP5 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x12FE JUMPI POP PUSH1 0x1 EQ PUSH2 0x12BE JUMPI JUMPDEST POP POP POP POP JUMP JUMPDEST SWAP1 SWAP2 SWAP4 SWAP5 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 DUP4 PUSH1 0x0 KECCAK256 SWAP3 DUP5 PUSH1 0x0 SWAP5 JUMPDEST DUP4 DUP7 LT PUSH2 0x12EA JUMPI POP POP POP POP ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x12B8 JUMP JUMPDEST DUP1 SLOAD DUP6 DUP8 ADD DUP4 ADD MSTORE SWAP5 ADD SWAP4 DUP6 SWAP1 DUP3 ADD PUSH2 0x12D3 JUMP JUMPDEST SWAP3 SWAP5 POP POP POP PUSH1 0x20 SWAP4 SWAP5 POP PUSH1 0xFF NOT AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x12B8 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP6 SWAP5 SWAP4 SWAP2 SWAP1 PUSH2 0x1359 SWAP2 PUSH1 0x60 DUP9 MSTORE PUSH1 0x60 DUP9 ADD SWAP2 PUSH2 0x1321 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 DUP4 SUB DUP2 DUP9 ADD MSTORE DUP2 DUP4 MSTORE DUP1 DUP4 ADD SWAP3 DUP2 DUP4 PUSH1 0x5 SHL DUP3 ADD ADD SWAP4 DUP6 PUSH1 0x0 SWAP3 JUMPDEST DUP6 DUP5 LT PUSH2 0x138E JUMPI POP POP POP POP POP POP PUSH1 0x40 SWAP2 POP SWAP4 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP5 MSTORE DUP8 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x971 JUMPI DUP4 ADD DUP7 DUP2 ADD SWAP2 SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x971 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x971 JUMPI PUSH2 0x13DB DUP9 SWAP3 DUP4 SWAP3 PUSH1 0x1 SWAP6 PUSH2 0x1321 JUMP JUMPDEST SWAP10 ADD SWAP5 ADD SWAP5 ADD SWAP3 SWAP7 SWAP6 SWAP5 SWAP4 SWAP2 SWAP1 PUSH2 0x1378 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC DUP9 PUSH9 0xBCA597926FDA08B4B1 GASPRICE BYTE PUSH14 0x80E22086C58EA932B72D8C4FE8D8 0xED 0xAF DUP10 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"886:4057:0:-:0;;;;;;;;;;;;;-1:-1:-1;;886:4057:0;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;-1:-1:-1;;;;;886:4057:0;;;;1932:20;886:4057;;;;1962:42;886:4057;;;2014:52;;2076:36;;2122:26;;;;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2014:52;886:4057;;;;;;;;;;2076:36;886:4057;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;-1:-1:-1;886:4057:0;;;;;-1:-1:-1;886:4057:0;;;;-1:-1:-1;;;;;886:4057:0;;;;;;:::o"},"deployedBytecode":{"functionDebugData":{"abi_decode_array_bytes_calldata_dyn_calldata":{"entryPoint":4534,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_available_length_string":{"entryPoint":4633,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_bool_fromMemory":{"entryPoint":4582,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_bytes_calldata":{"entryPoint":4489,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_address_address_uint256":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_address_uint256":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_bytes_calldata":{"entryPoint":4897,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_bytes_calldata_array_bytes_calldata_dyn_calldata_uint256":{"entryPoint":4930,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_string":{"entryPoint":4425,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string_storage":{"entryPoint":4747,"id":null,"parameterSlots":2,"returnSlots":1},"array_allocation_size_string":{"entryPoint":4606,"id":null,"parameterSlots":1,"returnSlots":1},"copy_array_from_storage_to_memory_string":{"entryPoint":4259,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":4149,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":4226,"id":null,"parameterSlots":2,"returnSlots":0},"finalize_allocation_12336":{"entryPoint":4207,"id":null,"parameterSlots":1,"returnSlots":0},"require_helper_stringliteral_0ad0":{"entryPoint":4688,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[],"immutableReferences":{"65":[{"length":32,"start":330},{"length":32,"start":625},{"length":32,"start":2966},{"length":32,"start":3672}],"68":[{"length":32,"start":160}],"71":[{"length":32,"start":2897},{"length":32,"start":3872}],"73":[{"length":32,"start":232}],"75":[{"length":32,"start":2767},{"length":32,"start":3465}]},"linkReferences":{},"object":"6080604052600436101561001257600080fd5b6000803560e01c80634423c5f114610f4f5780638d52b0b514610f0a5780639703ef3514610db85780639eeb249314610d73578063b600dbc714610976578063be7b282714610179578063c4e525bf14610134578063dc26904914610117578063e138818c146100d25763e9ca630f1461008b57600080fd5b346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57806003193601126100cf5760209054604051908152f35b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760e03660031901126100cf576004356001600160a01b0381169003610971576024356001600160a01b0381168103610971576044356001600160401b03811161096d576101d0903690600401611189565b90916064356001600160401b038111610969576101f1903690600401611189565b9290936084356001600160401b03811161096557610213903690600401611189565b919060a4356001600160401b03811161096157610234903690600401611189565b93909460c4351561092b576040516323b872dd60e01b815233600482015230602482015260c43560448201526020816064818e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015610920576108f1575b508954986000198a146108dd5760018a018b5560405198896101208101106001600160401b036101208c0111176108c75761030d61032596610319948c60406103319d6101208301825233835260018060a01b0360043516602084015260018060a01b03169101523691611219565b60608b01523691611219565b60808801523691611219565b60a08501523691611219565b60c082015260c43560e0820152600161010082015281835260016020526040832060018060a01b038251166bffffffffffffffffffffffff60a01b90818354161782556001820160018060a01b0360208501511682825416179055600282019060018060a01b036040850151169082541617905560608201518051906001600160401b03821161065a5781906103ca6003850154611035565b601f8111610877575b50602090601f83116001146108085787926107fd575b50508160011b916000199060031b1c19161760038201555b60808201518051906001600160401b03821161065a5781906104266004850154611035565b601f81116107ad575b50602090601f831160011461073e578792610733575b50508160011b916000199060031b1c19161760048201555b60a08201518051906001600160401b03821161065a5781906104826005850154611035565b601f81116106e3575b50602090601f831160011461067957879261066e575b50508160011b916000199060031b1c19161760058201555b60c08201518051906001600160401b03821161065a576104dc6006840154611035565b601f8111610616575b50946020958691601f84116001146105a55792610100949281926008959261059a575b50508160011b916000199060031b1c19161760068201555b60e0840151600782015501910151151560ff80198354169116179055807ff816c188fc874f1d5fdd8016fed871eb42b2537e826d2e0dce32ce30679ba6866040518061058f60c435600435338460409194939294606082019560018060a01b0380921683521660208201520152565b0390a2604051908152f35b015190503880610508565b9190600685018352878320925b601f19851681106105ff575092610100949260019260089583601f198116106105e6575b505050811b016006820155610520565b015160001960f88460031b161c191690553880806105d6565b9192886001819286850151815501940192016105b2565b60068401875260208720601f840160051c810160208510610653575b601f830160051c820181106106485750506104e5565b888155600101610632565b5080610632565b634e487b7160e01b86526041600452602486fd5b0151905038806104a1565b600585018852602088209250601f198416885b8181106106cb57509084600195949392106106b2575b505050811b0160058201556104b9565b015160001960f88460031b161c191690553880806106a2565b9293602060018192878601518155019501930161068c565b90915060058401875260208720601f840160051c81016020851061072c575b90849392915b601f830160051c8201811061071e57505061048b565b898155859450600101610708565b5080610702565b015190503880610445565b9250600484018752602087209087935b601f1984168510610792576001945083601f19811610610779575b505050811b01600482015561045d565b015160001960f88460031b161c19169055388080610769565b8181015183556020948501946001909301929091019061074e565b90915060048401875260208720601f840160051c8101602085106107f6575b90849392915b601f830160051c820181106107e857505061042f565b8981558594506001016107d2565b50806107cc565b0151905038806103e9565b9250600384018752602087209087935b601f198416851061085c576001945083601f19811610610843575b505050811b016003820155610401565b015160001960f88460031b161c19169055388080610833565b81810151835560209485019460019093019290910190610818565b90915060038401875260208720601f840160051c8101602085106108c0575b90849392915b601f830160051c820181106108b25750506103d3565b89815585945060010161089c565b5080610896565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b8b52601160045260248bfd5b6109129060203d602011610919575b61090a8183611082565b8101906111e6565b503861029e565b503d610900565b6040513d8d823e3d90fd5b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b8880fd5b8680fd5b8480fd5b8280fd5b600080fd5b50346100cf5760a03660031901126100cf576001600160401b0390602435828111610d6f576109a9903690600401611189565b604493919335828111610d6b576109c49036906004016111b6565b9091606435848111610d67576109de903690600401611189565b9094608435908111610965576109f89036906004016111b6565b939091600435885260016020526040882096600888018054610a1c60ff8216611250565b60018a01546001600160a01b03163303610d345760ff19169055600788015492898060018060a01b038b54169a604051610aca81610abc6020820194633e1ddfa360e01b8652608060248401526006610a7b60a485016003840161128b565b91610aac610a9960231994858882030160448901526004840161128b565b848782030160648801526005830161128b565b928584030160848601520161128b565b03601f198101835282611082565b5190827f00000000000000000000000000000000000000000000000000000000000000005af13d15610d2c573d90610b01826111fe565b91610b0f6040519384611082565b82523d8c602084013e5b15610cf257602081805181010312610cc457602001516001600160a01b0381169890899003610cc45760405163095ea7b360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820181905260248201969096526020818d81806044810103917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610ce757610cc8575b50843b15610cc457908a91610bf86040519d8e938493630d64d59360e21b9b8c8652429360048701611342565b038183875af18015610cb957610ca1575b88995082989697983b15610965578694610c358692604051988997889687958652429360048701611342565b03925af18015610c9657610c82575b505060405191338352602083015260408201527f861a1554b828f213a4a7f0a5b87a1cdb790bde45d0b1b1da067906443d701c7e606060043592a280f35b610c8b9061106f565b61096d578238610c44565b6040513d84823e3d90fd5b9596979098610caf9061106f565b9695948890610c09565b6040513d8b823e3d90fd5b8a80fd5b610ce09060203d6020116109195761090a8183611082565b5038610bcb565b6040513d8e823e3d90fd5b60405162461bcd60e51b815260206004820152601260248201527110dc99585d194818dbda5b8819985a5b195960721b6044820152606490fd5b606090610b19565b60405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606490fd5b8580fd5b8380fd5b5080fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57602080600319360112610d6f576004358083526001825260408320549091906001600160a01b039081163303610ed75781610e5491848652600182526040862090600882018054610e1160ff8216611250565b60ff19169055815460079092015460405163a9059cbb60e01b81529282166001600160a01b03166004840152602483015290928391908290889082906044820190565b03927f0000000000000000000000000000000000000000000000000000000000000000165af18015610ecc57610eae575b50507fc1546e394b1975212fe013e7e6995653585f44e568c407d1157483f7d4b945818280a280f35b81610ec492903d106109195761090a8183611082565b503880610e85565b6040513d86823e3d90fd5b60405162461bcd60e51b815260048101839052600b60248201526a2737ba1039b837b739b7b960a91b6044820152606490fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760203660031901126100cf57604090600435815260016020522060018060a01b039081815416908260018201541692600282015416611023610f99600384016110a3565b611015610fa8600486016110a3565b611007610fb7600588016110a3565b91610ff9610fc760068a016110a3565b9560ff600860078c01549b015416986040519c8d9c8d5260208d015260408c01526101208060608d01528b0190611149565b9089820360808b0152611149565b9087820360a0890152611149565b9085820360c0870152611149565b9160e084015215156101008301520390f35b90600182811c92168015611065575b602083101461104f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611044565b6001600160401b0381116108c757604052565b90601f801991011681019081106001600160401b038211176108c757604052565b90604051918260008254926110b784611035565b90818452600194858116908160001461112657506001146110e3575b50506110e192500383611082565b565b9093915060005260209081600020936000915b81831061110e5750506110e1935082010138806110d3565b855488840185015294850194879450918301916110f6565b9150506110e194506020925060ff191682840152151560051b82010138806110d3565b919082519283825260005b848110611175575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611154565b9181601f84011215610971578235916001600160401b038311610971576020838186019501011161097157565b9181601f84011215610971578235916001600160401b038311610971576020808501948460051b01011161097157565b90816020910312610971575180151581036109715790565b6001600160401b0381116108c757601f01601f191660200190565b929192611225826111fe565b916112336040519384611082565b829481845281830111610971578281602093846000960137010152565b1561125757565b60405162461bcd60e51b815260206004820152600c60248201526b42696420696e61637469766560a01b6044820152606490fd5b906000929180549161129c83611035565b9182825260019384811690816000146112fe57506001146112be575b50505050565b90919394506000526020928360002092846000945b8386106112ea5750505050010190388080806112b8565b8054858701830152940193859082016112d3565b9294505050602093945060ff191683830152151560051b010190388080806112b8565b908060209392818452848401376000828201840152601f01601f1916010190565b959493919061135991606088526060880191611321565b9060208683038188015281835280830192818360051b82010193856000925b85841061138e5750505050505060409150930152565b909192939495601f198282030184528735601e19843603018112156109715783018681019190356001600160401b038111610971578036038313610971576113db88928392600195611321565b9901940194019296959493919061137856fea26469706673582212200c8868bca597926fda08b4b13a1a6d80e22086c58ea932b72d8c4fe8d8edaf8964736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4423C5F1 EQ PUSH2 0xF4F JUMPI DUP1 PUSH4 0x8D52B0B5 EQ PUSH2 0xF0A JUMPI DUP1 PUSH4 0x9703EF35 EQ PUSH2 0xDB8 JUMPI DUP1 PUSH4 0x9EEB2493 EQ PUSH2 0xD73 JUMPI DUP1 PUSH4 0xB600DBC7 EQ PUSH2 0x976 JUMPI DUP1 PUSH4 0xBE7B2827 EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0xC4E525BF EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0xDC269049 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0xE138818C EQ PUSH2 0xD2 JUMPI PUSH4 0xE9CA630F EQ PUSH2 0x8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x20 SWAP1 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0xE0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xCF JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP1 SUB PUSH2 0x971 JUMPI PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x971 JUMPI PUSH1 0x44 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x96D JUMPI PUSH2 0x1D0 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x64 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x969 JUMPI PUSH2 0x1F1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP3 SWAP1 SWAP4 PUSH1 0x84 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x965 JUMPI PUSH2 0x213 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0xA4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x961 JUMPI PUSH2 0x234 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP4 SWAP1 SWAP5 PUSH1 0xC4 CALLDATALOAD ISZERO PUSH2 0x92B JUMPI PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0x64 DUP2 DUP15 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND GAS CALL DUP1 ISZERO PUSH2 0x920 JUMPI PUSH2 0x8F1 JUMPI JUMPDEST POP DUP10 SLOAD SWAP9 PUSH1 0x0 NOT DUP11 EQ PUSH2 0x8DD JUMPI PUSH1 0x1 DUP11 ADD DUP12 SSTORE PUSH1 0x40 MLOAD SWAP9 DUP10 PUSH2 0x120 DUP2 ADD LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB PUSH2 0x120 DUP13 ADD GT OR PUSH2 0x8C7 JUMPI PUSH2 0x30D PUSH2 0x325 SWAP7 PUSH2 0x319 SWAP5 DUP13 PUSH1 0x40 PUSH2 0x331 SWAP14 PUSH2 0x120 DUP4 ADD DUP3 MSTORE CALLER DUP4 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND SWAP2 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0x60 DUP12 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0x80 DUP9 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0xA0 DUP6 ADD MSTORE CALLDATASIZE SWAP2 PUSH2 0x1219 JUMP JUMPDEST PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xC4 CALLDATALOAD PUSH1 0xE0 DUP3 ADD MSTORE PUSH1 0x1 PUSH2 0x100 DUP3 ADD MSTORE DUP2 DUP4 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP4 KECCAK256 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP3 MLOAD AND PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0xA0 SHL SWAP1 DUP2 DUP4 SLOAD AND OR DUP3 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x20 DUP6 ADD MLOAD AND DUP3 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x2 DUP3 ADD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP6 ADD MLOAD AND SWAP1 DUP3 SLOAD AND OR SWAP1 SSTORE PUSH1 0x60 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI DUP2 SWAP1 PUSH2 0x3CA PUSH1 0x3 DUP6 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x877 JUMPI JUMPDEST POP PUSH1 0x20 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x808 JUMPI DUP8 SWAP3 PUSH2 0x7FD JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x3 DUP3 ADD SSTORE JUMPDEST PUSH1 0x80 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI DUP2 SWAP1 PUSH2 0x426 PUSH1 0x4 DUP6 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x7AD JUMPI JUMPDEST POP PUSH1 0x20 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x73E JUMPI DUP8 SWAP3 PUSH2 0x733 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x4 DUP3 ADD SSTORE JUMPDEST PUSH1 0xA0 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI DUP2 SWAP1 PUSH2 0x482 PUSH1 0x5 DUP6 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x6E3 JUMPI JUMPDEST POP PUSH1 0x20 SWAP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 EQ PUSH2 0x679 JUMPI DUP8 SWAP3 PUSH2 0x66E JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x5 DUP3 ADD SSTORE JUMPDEST PUSH1 0xC0 DUP3 ADD MLOAD DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x65A JUMPI PUSH2 0x4DC PUSH1 0x6 DUP5 ADD SLOAD PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x616 JUMPI JUMPDEST POP SWAP5 PUSH1 0x20 SWAP6 DUP7 SWAP2 PUSH1 0x1F DUP5 GT PUSH1 0x1 EQ PUSH2 0x5A5 JUMPI SWAP3 PUSH2 0x100 SWAP5 SWAP3 DUP2 SWAP3 PUSH1 0x8 SWAP6 SWAP3 PUSH2 0x59A JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x6 DUP3 ADD SSTORE JUMPDEST PUSH1 0xE0 DUP5 ADD MLOAD PUSH1 0x7 DUP3 ADD SSTORE ADD SWAP2 ADD MLOAD ISZERO ISZERO PUSH1 0xFF DUP1 NOT DUP4 SLOAD AND SWAP2 AND OR SWAP1 SSTORE DUP1 PUSH32 0xF816C188FC874F1D5FDD8016FED871EB42B2537E826D2E0DCE32CE30679BA686 PUSH1 0x40 MLOAD DUP1 PUSH2 0x58F PUSH1 0xC4 CALLDATALOAD PUSH1 0x4 CALLDATALOAD CALLER DUP5 PUSH1 0x40 SWAP2 SWAP5 SWAP4 SWAP3 SWAP5 PUSH1 0x60 DUP3 ADD SWAP6 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 SWAP3 AND DUP4 MSTORE AND PUSH1 0x20 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST SUB SWAP1 LOG2 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x508 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x6 DUP6 ADD DUP4 MSTORE DUP8 DUP4 KECCAK256 SWAP3 JUMPDEST PUSH1 0x1F NOT DUP6 AND DUP2 LT PUSH2 0x5FF JUMPI POP SWAP3 PUSH2 0x100 SWAP5 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0x8 SWAP6 DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH2 0x5E6 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x6 DUP3 ADD SSTORE PUSH2 0x520 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x5D6 JUMP JUMPDEST SWAP2 SWAP3 DUP9 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP6 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x5B2 JUMP JUMPDEST PUSH1 0x6 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x653 JUMPI JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x648 JUMPI POP POP PUSH2 0x4E5 JUMP JUMPDEST DUP9 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x632 JUMP JUMPDEST POP DUP1 PUSH2 0x632 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP7 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x5 DUP6 ADD DUP9 MSTORE PUSH1 0x20 DUP9 KECCAK256 SWAP3 POP PUSH1 0x1F NOT DUP5 AND DUP9 JUMPDEST DUP2 DUP2 LT PUSH2 0x6CB JUMPI POP SWAP1 DUP5 PUSH1 0x1 SWAP6 SWAP5 SWAP4 SWAP3 LT PUSH2 0x6B2 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x5 DUP3 ADD SSTORE PUSH2 0x4B9 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x6A2 JUMP JUMPDEST SWAP3 SWAP4 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP8 DUP7 ADD MLOAD DUP2 SSTORE ADD SWAP6 ADD SWAP4 ADD PUSH2 0x68C JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x5 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x72C JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x71E JUMPI POP POP PUSH2 0x48B JUMP JUMPDEST DUP10 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x708 JUMP JUMPDEST POP DUP1 PUSH2 0x702 JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x445 JUMP JUMPDEST SWAP3 POP PUSH1 0x4 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 SWAP1 DUP8 SWAP4 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP6 LT PUSH2 0x792 JUMPI PUSH1 0x1 SWAP5 POP DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH2 0x779 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x4 DUP3 ADD SSTORE PUSH2 0x45D JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x769 JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 SSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x74E JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x4 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x7F6 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x7E8 JUMPI POP POP PUSH2 0x42F JUMP JUMPDEST DUP10 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x7D2 JUMP JUMPDEST POP DUP1 PUSH2 0x7CC JUMP JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x3E9 JUMP JUMPDEST SWAP3 POP PUSH1 0x3 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 SWAP1 DUP8 SWAP4 JUMPDEST PUSH1 0x1F NOT DUP5 AND DUP6 LT PUSH2 0x85C JUMPI PUSH1 0x1 SWAP5 POP DUP4 PUSH1 0x1F NOT DUP2 AND LT PUSH2 0x843 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x3 DUP3 ADD SSTORE PUSH2 0x401 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x833 JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 SSTORE PUSH1 0x20 SWAP5 DUP6 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP4 ADD SWAP3 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x818 JUMP JUMPDEST SWAP1 SWAP2 POP PUSH1 0x3 DUP5 ADD DUP8 MSTORE PUSH1 0x20 DUP8 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP6 LT PUSH2 0x8C0 JUMPI JUMPDEST SWAP1 DUP5 SWAP4 SWAP3 SWAP2 JUMPDEST PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP3 ADD DUP2 LT PUSH2 0x8B2 JUMPI POP POP PUSH2 0x3D3 JUMP JUMPDEST DUP10 DUP2 SSTORE DUP6 SWAP5 POP PUSH1 0x1 ADD PUSH2 0x89C JUMP JUMPDEST POP DUP1 PUSH2 0x896 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP12 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 DUP12 REVERT JUMPDEST PUSH2 0x912 SWAP1 PUSH1 0x20 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x919 JUMPI JUMPDEST PUSH2 0x90A DUP2 DUP4 PUSH2 0x1082 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x11E6 JUMP JUMPDEST POP CODESIZE PUSH2 0x29E JUMP JUMPDEST POP RETURNDATASIZE PUSH2 0x900 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP14 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x125B9D985B1A5908185B5BDD5B9D PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP9 DUP1 REVERT JUMPDEST DUP7 DUP1 REVERT JUMPDEST DUP5 DUP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0xA0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xCF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 PUSH1 0x24 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xD6F JUMPI PUSH2 0x9A9 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST PUSH1 0x44 SWAP4 SWAP2 SWAP4 CALLDATALOAD DUP3 DUP2 GT PUSH2 0xD6B JUMPI PUSH2 0x9C4 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x11B6 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x64 CALLDATALOAD DUP5 DUP2 GT PUSH2 0xD67 JUMPI PUSH2 0x9DE SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x1189 JUMP JUMPDEST SWAP1 SWAP5 PUSH1 0x84 CALLDATALOAD SWAP1 DUP2 GT PUSH2 0x965 JUMPI PUSH2 0x9F8 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x11B6 JUMP JUMPDEST SWAP4 SWAP1 SWAP2 PUSH1 0x4 CALLDATALOAD DUP9 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP9 KECCAK256 SWAP7 PUSH1 0x8 DUP9 ADD DUP1 SLOAD PUSH2 0xA1C PUSH1 0xFF DUP3 AND PUSH2 0x1250 JUMP JUMPDEST PUSH1 0x1 DUP11 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0xD34 JUMPI PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x7 DUP9 ADD SLOAD SWAP3 DUP10 DUP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP12 SLOAD AND SWAP11 PUSH1 0x40 MLOAD PUSH2 0xACA DUP2 PUSH2 0xABC PUSH1 0x20 DUP3 ADD SWAP5 PUSH4 0x3E1DDFA3 PUSH1 0xE0 SHL DUP7 MSTORE PUSH1 0x80 PUSH1 0x24 DUP5 ADD MSTORE PUSH1 0x6 PUSH2 0xA7B PUSH1 0xA4 DUP6 ADD PUSH1 0x3 DUP5 ADD PUSH2 0x128B JUMP JUMPDEST SWAP2 PUSH2 0xAAC PUSH2 0xA99 PUSH1 0x23 NOT SWAP5 DUP6 DUP9 DUP3 SUB ADD PUSH1 0x44 DUP10 ADD MSTORE PUSH1 0x4 DUP5 ADD PUSH2 0x128B JUMP JUMPDEST DUP5 DUP8 DUP3 SUB ADD PUSH1 0x64 DUP9 ADD MSTORE PUSH1 0x5 DUP4 ADD PUSH2 0x128B JUMP JUMPDEST SWAP3 DUP6 DUP5 SUB ADD PUSH1 0x84 DUP7 ADD MSTORE ADD PUSH2 0x128B JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1082 JUMP JUMPDEST MLOAD SWAP1 DUP3 PUSH32 0x0 GAS CALL RETURNDATASIZE ISZERO PUSH2 0xD2C JUMPI RETURNDATASIZE SWAP1 PUSH2 0xB01 DUP3 PUSH2 0x11FE JUMP JUMPDEST SWAP2 PUSH2 0xB0F PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1082 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE DUP13 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMPDEST ISZERO PUSH2 0xCF2 JUMPI PUSH1 0x20 DUP2 DUP1 MLOAD DUP2 ADD SUB SLT PUSH2 0xCC4 JUMPI PUSH1 0x20 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP9 SWAP1 DUP10 SWAP1 SUB PUSH2 0xCC4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x95EA7B3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x20 DUP2 DUP14 DUP2 DUP1 PUSH1 0x44 DUP2 ADD SUB SWAP2 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND GAS CALL DUP1 ISZERO PUSH2 0xCE7 JUMPI PUSH2 0xCC8 JUMPI JUMPDEST POP DUP5 EXTCODESIZE ISZERO PUSH2 0xCC4 JUMPI SWAP1 DUP11 SWAP2 PUSH2 0xBF8 PUSH1 0x40 MLOAD SWAP14 DUP15 SWAP4 DUP5 SWAP4 PUSH4 0xD64D593 PUSH1 0xE2 SHL SWAP12 DUP13 DUP7 MSTORE TIMESTAMP SWAP4 PUSH1 0x4 DUP8 ADD PUSH2 0x1342 JUMP JUMPDEST SUB DUP2 DUP4 DUP8 GAS CALL DUP1 ISZERO PUSH2 0xCB9 JUMPI PUSH2 0xCA1 JUMPI JUMPDEST DUP9 SWAP10 POP DUP3 SWAP9 SWAP7 SWAP8 SWAP9 EXTCODESIZE ISZERO PUSH2 0x965 JUMPI DUP7 SWAP5 PUSH2 0xC35 DUP7 SWAP3 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 DUP9 SWAP7 DUP8 SWAP6 DUP7 MSTORE TIMESTAMP SWAP4 PUSH1 0x4 DUP8 ADD PUSH2 0x1342 JUMP JUMPDEST SUB SWAP3 GAS CALL DUP1 ISZERO PUSH2 0xC96 JUMPI PUSH2 0xC82 JUMPI JUMPDEST POP POP PUSH1 0x40 MLOAD SWAP2 CALLER DUP4 MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH32 0x861A1554B828F213A4A7F0A5B87A1CDB790BDE45D0B1B1DA067906443D701C7E PUSH1 0x60 PUSH1 0x4 CALLDATALOAD SWAP3 LOG2 DUP1 RETURN JUMPDEST PUSH2 0xC8B SWAP1 PUSH2 0x106F JUMP JUMPDEST PUSH2 0x96D JUMPI DUP3 CODESIZE PUSH2 0xC44 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST SWAP6 SWAP7 SWAP8 SWAP1 SWAP9 PUSH2 0xCAF SWAP1 PUSH2 0x106F JUMP JUMPDEST SWAP7 SWAP6 SWAP5 DUP9 SWAP1 PUSH2 0xC09 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP12 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP11 DUP1 REVERT JUMPDEST PUSH2 0xCE0 SWAP1 PUSH1 0x20 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x919 JUMPI PUSH2 0x90A DUP2 DUP4 PUSH2 0x1082 JUMP JUMPDEST POP CODESIZE PUSH2 0xBCB JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP15 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x10DC99585D194818DBDA5B8819985A5B1959 PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x60 SWAP1 PUSH2 0xB19 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x2737BA1031B932B0BA37B9 PUSH1 0xA9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST DUP6 DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0x20 DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xD6F JUMPI PUSH1 0x4 CALLDATALOAD DUP1 DUP4 MSTORE PUSH1 0x1 DUP3 MSTORE PUSH1 0x40 DUP4 KECCAK256 SLOAD SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND CALLER SUB PUSH2 0xED7 JUMPI DUP2 PUSH2 0xE54 SWAP2 DUP5 DUP7 MSTORE PUSH1 0x1 DUP3 MSTORE PUSH1 0x40 DUP7 KECCAK256 SWAP1 PUSH1 0x8 DUP3 ADD DUP1 SLOAD PUSH2 0xE11 PUSH1 0xFF DUP3 AND PUSH2 0x1250 JUMP JUMPDEST PUSH1 0xFF NOT AND SWAP1 SSTORE DUP2 SLOAD PUSH1 0x7 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE SWAP3 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP3 DUP4 SWAP2 SWAP1 DUP3 SWAP1 DUP9 SWAP1 DUP3 SWAP1 PUSH1 0x44 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP3 PUSH32 0x0 AND GAS CALL DUP1 ISZERO PUSH2 0xECC JUMPI PUSH2 0xEAE JUMPI JUMPDEST POP POP PUSH32 0xC1546E394B1975212FE013E7E6995653585F44E568C407D1157483F7D4B94581 DUP3 DUP1 LOG2 DUP1 RETURN JUMPDEST DUP2 PUSH2 0xEC4 SWAP3 SWAP1 RETURNDATASIZE LT PUSH2 0x919 JUMPI PUSH2 0x90A DUP2 DUP4 PUSH2 0x1082 JUMP JUMPDEST POP CODESIZE DUP1 PUSH2 0xE85 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP7 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0xB PUSH1 0x24 DUP3 ADD MSTORE PUSH11 0x2737BA1039B837B739B7B9 PUSH1 0xA9 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0xCF JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xCF JUMPI PUSH1 0x40 SWAP1 PUSH1 0x4 CALLDATALOAD DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE KECCAK256 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 DUP2 SLOAD AND SWAP1 DUP3 PUSH1 0x1 DUP3 ADD SLOAD AND SWAP3 PUSH1 0x2 DUP3 ADD SLOAD AND PUSH2 0x1023 PUSH2 0xF99 PUSH1 0x3 DUP5 ADD PUSH2 0x10A3 JUMP JUMPDEST PUSH2 0x1015 PUSH2 0xFA8 PUSH1 0x4 DUP7 ADD PUSH2 0x10A3 JUMP JUMPDEST PUSH2 0x1007 PUSH2 0xFB7 PUSH1 0x5 DUP9 ADD PUSH2 0x10A3 JUMP JUMPDEST SWAP2 PUSH2 0xFF9 PUSH2 0xFC7 PUSH1 0x6 DUP11 ADD PUSH2 0x10A3 JUMP JUMPDEST SWAP6 PUSH1 0xFF PUSH1 0x8 PUSH1 0x7 DUP13 ADD SLOAD SWAP12 ADD SLOAD AND SWAP9 PUSH1 0x40 MLOAD SWAP13 DUP14 SWAP13 DUP14 MSTORE PUSH1 0x20 DUP14 ADD MSTORE PUSH1 0x40 DUP13 ADD MSTORE PUSH2 0x120 DUP1 PUSH1 0x60 DUP14 ADD MSTORE DUP12 ADD SWAP1 PUSH2 0x1149 JUMP JUMPDEST SWAP1 DUP10 DUP3 SUB PUSH1 0x80 DUP12 ADD MSTORE PUSH2 0x1149 JUMP JUMPDEST SWAP1 DUP8 DUP3 SUB PUSH1 0xA0 DUP10 ADD MSTORE PUSH2 0x1149 JUMP JUMPDEST SWAP1 DUP6 DUP3 SUB PUSH1 0xC0 DUP8 ADD MSTORE PUSH2 0x1149 JUMP JUMPDEST SWAP2 PUSH1 0xE0 DUP5 ADD MSTORE ISZERO ISZERO PUSH2 0x100 DUP4 ADD MSTORE SUB SWAP1 RETURN JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1065 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x104F JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x8C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x8C7 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x10B7 DUP5 PUSH2 0x1035 JUMP JUMPDEST SWAP1 DUP2 DUP5 MSTORE PUSH1 0x1 SWAP5 DUP6 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x1126 JUMPI POP PUSH1 0x1 EQ PUSH2 0x10E3 JUMPI JUMPDEST POP POP PUSH2 0x10E1 SWAP3 POP SUB DUP4 PUSH2 0x1082 JUMP JUMPDEST JUMP JUMPDEST SWAP1 SWAP4 SWAP2 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP1 DUP2 PUSH1 0x0 KECCAK256 SWAP4 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x110E JUMPI POP POP PUSH2 0x10E1 SWAP4 POP DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x10D3 JUMP JUMPDEST DUP6 SLOAD DUP9 DUP5 ADD DUP6 ADD MSTORE SWAP5 DUP6 ADD SWAP5 DUP8 SWAP5 POP SWAP2 DUP4 ADD SWAP2 PUSH2 0x10F6 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x10E1 SWAP5 POP PUSH1 0x20 SWAP3 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE DUP1 PUSH2 0x10D3 JUMP JUMPDEST SWAP2 SWAP1 DUP3 MLOAD SWAP3 DUP4 DUP3 MSTORE PUSH1 0x0 JUMPDEST DUP5 DUP2 LT PUSH2 0x1175 JUMPI POP POP DUP3 PUSH1 0x0 PUSH1 0x20 DUP1 SWAP5 SWAP6 DUP5 ADD ADD MSTORE PUSH1 0x1F DUP1 NOT SWAP2 ADD AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD MLOAD DUP5 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x1154 JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x971 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x971 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x971 JUMPI JUMP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x971 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x971 JUMPI PUSH1 0x20 DUP1 DUP6 ADD SWAP5 DUP5 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x971 JUMPI JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x971 JUMPI MLOAD DUP1 ISZERO ISZERO DUP2 SUB PUSH2 0x971 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x8C7 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x1225 DUP3 PUSH2 0x11FE JUMP JUMPDEST SWAP2 PUSH2 0x1233 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1082 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x971 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST ISZERO PUSH2 0x1257 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xC PUSH1 0x24 DUP3 ADD MSTORE PUSH12 0x42696420696E616374697665 PUSH1 0xA0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 SWAP3 SWAP2 DUP1 SLOAD SWAP2 PUSH2 0x129C DUP4 PUSH2 0x1035 JUMP JUMPDEST SWAP2 DUP3 DUP3 MSTORE PUSH1 0x1 SWAP4 DUP5 DUP2 AND SWAP1 DUP2 PUSH1 0x0 EQ PUSH2 0x12FE JUMPI POP PUSH1 0x1 EQ PUSH2 0x12BE JUMPI JUMPDEST POP POP POP POP JUMP JUMPDEST SWAP1 SWAP2 SWAP4 SWAP5 POP PUSH1 0x0 MSTORE PUSH1 0x20 SWAP3 DUP4 PUSH1 0x0 KECCAK256 SWAP3 DUP5 PUSH1 0x0 SWAP5 JUMPDEST DUP4 DUP7 LT PUSH2 0x12EA JUMPI POP POP POP POP ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x12B8 JUMP JUMPDEST DUP1 SLOAD DUP6 DUP8 ADD DUP4 ADD MSTORE SWAP5 ADD SWAP4 DUP6 SWAP1 DUP3 ADD PUSH2 0x12D3 JUMP JUMPDEST SWAP3 SWAP5 POP POP POP PUSH1 0x20 SWAP4 SWAP5 POP PUSH1 0xFF NOT AND DUP4 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL ADD ADD SWAP1 CODESIZE DUP1 DUP1 DUP1 PUSH2 0x12B8 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP6 SWAP5 SWAP4 SWAP2 SWAP1 PUSH2 0x1359 SWAP2 PUSH1 0x60 DUP9 MSTORE PUSH1 0x60 DUP9 ADD SWAP2 PUSH2 0x1321 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP7 DUP4 SUB DUP2 DUP9 ADD MSTORE DUP2 DUP4 MSTORE DUP1 DUP4 ADD SWAP3 DUP2 DUP4 PUSH1 0x5 SHL DUP3 ADD ADD SWAP4 DUP6 PUSH1 0x0 SWAP3 JUMPDEST DUP6 DUP5 LT PUSH2 0x138E JUMPI POP POP POP POP POP POP PUSH1 0x40 SWAP2 POP SWAP4 ADD MSTORE JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP5 MSTORE DUP8 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x971 JUMPI DUP4 ADD DUP7 DUP2 ADD SWAP2 SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x971 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x971 JUMPI PUSH2 0x13DB DUP9 SWAP3 DUP4 SWAP3 PUSH1 0x1 SWAP6 PUSH2 0x1321 JUMP JUMPDEST SWAP10 ADD SWAP5 ADD SWAP5 ADD SWAP3 SWAP7 SWAP6 SWAP5 SWAP4 SWAP2 SWAP1 PUSH2 0x1378 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC DUP9 PUSH9 0xBCA597926FDA08B4B1 GASPRICE BYTE PUSH14 0x80E22086C58EA932B72D8C4FE8D8 0xED 0xAF DUP10 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"886:4057:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1206:39;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;1306:41;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1172:28;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;-1:-1:-1;;886:4057:0;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;:::i;:::-;;;;;;2580:14;886:4057;;;;-1:-1:-1;;;2623:56:0;;2641:10;886:4057;2623:56;;886:4057;2661:4;886:4057;;;;;;;;;;;;;;;-1:-1:-1;;;;;2623:4:0;886:4057;2623:56;;;;;;;;886:4057;-1:-1:-1;886:4057:0;;;-1:-1:-1;;886:4057:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;2641:10;886:4057;;;;;;;;;;;2733:302;;886:4057;;;;;;;2733:302;;886:4057;;;;:::i;:::-;;2733:302;;886:4057;;;;:::i;:::-;;2733:302;;886:4057;;;;:::i;:::-;;2733:302;;886:4057;;;;:::i;:::-;;2733:302;;886:4057;;;;2733:302;;886:4057;;2733:302;;;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2733:302;;886:4057;;;;;;;;;;;;;;;;;;;2733:302;;886:4057;;;;;;;;;;2733:302;;886:4057;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2733:302;;886:4057;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2733:302;;886:4057;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2733:302;;886:4057;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2733:302;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2733:302;;886:4057;;;;;;2733:302;;886:4057;;;;;;;;;;;;;;;3051:50;886:4057;;;3051:50;886:4057;;;;2641:10;3051:50;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;3051:50;;;;886:4057;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;;;;-1:-1:-1;;886:4057:0;;;;;;4117:190;;2733:302;4117:190;;886:4057;4117:190;886:4057;4117:190;;;;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;-1:-1:-1;886:4057:0;;;;;;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;886:4057:0;;;;;;;4117:190;;;;;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;-1:-1:-1;886:4057:0;;;;;;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;886:4057:0;;;;;;;4117:190;;;;;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;2623:56;;;886:4057;2623:56;886:4057;2623:56;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;886:4057;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;886:4057:0;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;3823:10;;;;886:4057;;3815:35;886:4057;;;3815:35;:::i;:::-;886:4057;3882:11;;886:4057;-1:-1:-1;;;;;886:4057:0;3868:10;:25;886:4057;;;;;;;3970:14;;;886:4057;;;;;;;;;;;;;;;4117:190;;886:4057;;4117:190;;;;;;;;886:4057;;4117:190;;886:4057;4282:15;886:4057;;;;;4209:9;;886:4057;:::i;:::-;;;;;;;;;;;;;;;;;4232:10;;886:4057;:::i;:::-;;;;;;;;;;4256:12;;;886:4057;:::i;:::-;;;;;;;;;;4282:15;886:4057;:::i;:::-;4117:190;;;;;;;;;:::i;:::-;4355:22;:11;;;:22;;886:4057;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;4454:29;;886:4057;;;;;4454:29;886:4057;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;-1:-1:-1;;;4523:51:0;;4544:15;-1:-1:-1;;;;;886:4057:0;;4523:51;;886:4057;;;;;;;;;;;;;;;;;;4523:51;;:4;-1:-1:-1;;;;;886:4057:0;4523:51;;;;;;;;886:4057;4639:80;;;;;;886:4057;;;4639:80;886:4057;;;;;;;;;;4639:80;;;;4703:15;4639:80;886:4057;4639:80;;;:::i;:::-;;;;;;;;;;;;;886:4057;4786:82;;;;;;;;;;;;886:4057;;4786:82;886:4057;;;;4786:82;;;;;;;;;4703:15;4786:82;886:4057;4786:82;;;:::i;:::-;;;;;;;;;;;886:4057;;;;;3868:10;;886:4057;;;;;;;;;;4884:50;886:4057;;;4884:50;;886:4057;;4786:82;;;;:::i;:::-;886:4057;;4786:82;;;;;886:4057;;;;;;;;;4639:80;;;;;;;;;:::i;:::-;;;;;;;;;886:4057;;;;;;;;;4639:80;886:4057;;;4523:51;;;886:4057;4523:51;886:4057;4523:51;;;;;;;:::i;:::-;;;;;;886:4057;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1353:36;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;2215:10;:33;886:4057;;;3298:42;886:4057;;;;;;;;;;3233:10;;;;886:4057;;3225:35;886:4057;;;3225:35;:::i;:::-;-1:-1:-1;;886:4057:0;;;;;3325:14;;;;886:4057;;;-1:-1:-1;;;3298:42:0;;886:4057;;;-1:-1:-1;;;;;886:4057:0;;3298:42;;886:4057;;;;;;;;;;;;;;;;;;;;;3298:42;;:4;;886:4057;3298:42;;;;;;;;886:4057;3355:19;;;;;;886:4057;;3298:42;;;;;;-1:-1:-1;3298:42:0;;;;;;:::i;:::-;;;;;;;886:4057;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;1251:49;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;-1:-1:-1;;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;1426:35;;886:4057;1426:35;;886:4057;;1426:35;;;;886:4057;;;1426:35;886:4057;1426:35;;;:::i;:::-;886:4057;1426:35;886:4057;1426:35;;;:::i;:::-;886:4057;1426:35;;;;;:::i;:::-;;886:4057;1426:35;;;;;:::i;:::-;;886:4057;1426:35;;;;886:4057;1426:35;;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;:::o;:::-;;4117:190;;;886:4057;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;:::o;:::-;;;;;;-1:-1:-1;886:4057:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;-1:-1:-1;886:4057:0;;;;-1:-1:-1;886:4057:0;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;;;4117:190;;;886:4057;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;886:4057:0;;;;4117:190;886:4057;-1:-1:-1;;886:4057:0;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;-1:-1:-1;;;886:4057:0;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;886:4057:0;;;;-1:-1:-1;886:4057:0;;;-1:-1:-1;886:4057:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;886:4057:0;;;;;;4117:190;886:4057;-1:-1:-1;;886:4057:0;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;4117:190;;;;;;;;886:4057;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;886:4057:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;"},"methodIdentifiers":{"UniversalRouter()":"8d52b0b5","ZORA()":"c4e525bf","ZoraFactory()":"9eeb2493","ZoraMarketToken()":"e9ca630f","acceptBidAndPost(uint256,bytes,bytes[],bytes,bytes[])":"b600dbc7","bids(uint256)":"4423c5f1","cancelBid(uint256)":"9703ef35","createBid(address,address,string,string,string,string,uint256)":"be7b2827","nextBidId()":"dc269049","platformTreasury()":"e138818c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_zora\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_zoraMarketToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_universalRouter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_platformTreasury\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_zoraFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"}],\"name\":\"BidCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sponsor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BidCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sponsor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"postCoin\",\"type\":\"address\"}],\"name\":\"DealExecuted\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UniversalRouter\",\"outputs\":[{\"internalType\":\"contract IUniversalRouter\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ZORA\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ZoraFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ZoraMarketToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"creatorSwapCommands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"creatorSwapInputs\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"platformSwapCommands\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"platformSwapInputs\",\"type\":\"bytes[]\"}],\"name\":\"acceptBidAndPost\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"bids\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sponsor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"creatorCoin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"imageURI\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amountZora\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"}],\"name\":\"cancelBid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"creatorCoin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"ticker\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"imageURI\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amountZora\",\"type\":\"uint256\"}],\"name\":\"createBid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bidId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextBidId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"platformTreasury\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptBidAndPost(uint256,bytes,bytes[],bytes,bytes[])\":{\"notice\":\"Creator accepts bid, creates post via ZoraFactory, and performs swaps atomically through UniversalRouter.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ZoraPostMarketEscrow.sol\":\"ZoraPostMarketEscrow\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"contracts/ZoraPostMarketEscrow.sol\":{\"keccak256\":\"0x2e834a75d39b6a8d3a8588f8d8749ae3f46286b5c23ad205026b8bd6a879134d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c71163e0ce8a6241fec0c293231922f7a91b3e5101ff38194879ea123b0e49e\",\"dweb:/ipfs/QmdZNdhpX2PUVUtDbPZGL4fWrdJjaSAw3iixWPgNxnJ9F4\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.dbg.json b/artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.dbg.json new file mode 100644 index 0000000..1770a30 --- /dev/null +++ b/artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/6c66af95c3275a2003b2b5f3d5a8226b.json" +} diff --git a/artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.json b/artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.json new file mode 100644 index 0000000..3987863 --- /dev/null +++ b/artifacts/contracts/ZoraPostMarketEscrow.sol/IERC20.json @@ -0,0 +1,88 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC20", + "sourceName": "contracts/ZoraPostMarketEscrow.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.dbg.json b/artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.dbg.json new file mode 100644 index 0000000..1770a30 --- /dev/null +++ b/artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/6c66af95c3275a2003b2b5f3d5a8226b.json" +} diff --git a/artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.json b/artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.json new file mode 100644 index 0000000..c52b4d4 --- /dev/null +++ b/artifacts/contracts/ZoraPostMarketEscrow.sol/IUniversalRouter.json @@ -0,0 +1,34 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IUniversalRouter", + "sourceName": "contracts/ZoraPostMarketEscrow.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "commands", + "type": "bytes" + }, + { + "internalType": "bytes[]", + "name": "inputs", + "type": "bytes[]" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "execute", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.dbg.json b/artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.dbg.json new file mode 100644 index 0000000..1770a30 --- /dev/null +++ b/artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/6c66af95c3275a2003b2b5f3d5a8226b.json" +} diff --git a/artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.json b/artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.json new file mode 100644 index 0000000..3aa6249 --- /dev/null +++ b/artifacts/contracts/ZoraPostMarketEscrow.sol/ZoraPostMarketEscrow.json @@ -0,0 +1,349 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ZoraPostMarketEscrow", + "sourceName": "contracts/ZoraPostMarketEscrow.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_zora", + "type": "address" + }, + { + "internalType": "address", + "name": "_zoraMarketToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_universalRouter", + "type": "address" + }, + { + "internalType": "address", + "name": "_platformTreasury", + "type": "address" + }, + { + "internalType": "address", + "name": "_zoraFactory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "bidId", + "type": "uint256" + } + ], + "name": "BidCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "bidId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "sponsor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "BidCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "bidId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sponsor", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "postCoin", + "type": "address" + } + ], + "name": "DealExecuted", + "type": "event" + }, + { + "inputs": [], + "name": "UniversalRouter", + "outputs": [ + { + "internalType": "contract IUniversalRouter", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ZORA", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ZoraFactory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ZoraMarketToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "bidId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "creatorSwapCommands", + "type": "bytes" + }, + { + "internalType": "bytes[]", + "name": "creatorSwapInputs", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "platformSwapCommands", + "type": "bytes" + }, + { + "internalType": "bytes[]", + "name": "platformSwapInputs", + "type": "bytes[]" + } + ], + "name": "acceptBidAndPost", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "bids", + "outputs": [ + { + "internalType": "address", + "name": "sponsor", + "type": "address" + }, + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "address", + "name": "creatorCoin", + "type": "address" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "ticker", + "type": "string" + }, + { + "internalType": "string", + "name": "imageURI", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "uint256", + "name": "amountZora", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "bidId", + "type": "uint256" + } + ], + "name": "cancelBid", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "address", + "name": "creatorCoin", + "type": "address" + }, + { + "internalType": "string", + "name": "title", + "type": "string" + }, + { + "internalType": "string", + "name": "ticker", + "type": "string" + }, + { + "internalType": "string", + "name": "imageURI", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "uint256", + "name": "amountZora", + "type": "uint256" + } + ], + "name": "createBid", + "outputs": [ + { + "internalType": "uint256", + "name": "bidId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nextBidId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformTreasury", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x610120346200010657601f6200155a38819003918201601f19168301916001600160401b038311848410176200010b5780849260a09460405283398101031262000106576200004e8162000121565b906200005d6020820162000121565b6200006b6040830162000121565b6200008760806200007f6060860162000121565b940162000121565b6001600160a01b0394851660805291841660a05290921660c05260e052610100908152604051611423918262000137833960805182818161014a0152818161027101528181610b960152610e58015260a0518260a0015260c051828181610b510152610f20015260e0518260e8015251818181610acf0152610d890152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001065756fe6080604052600436101561001257600080fd5b6000803560e01c80634423c5f114610f4f5780638d52b0b514610f0a5780639703ef3514610db85780639eeb249314610d73578063b600dbc714610976578063be7b282714610179578063c4e525bf14610134578063dc26904914610117578063e138818c146100d25763e9ca630f1461008b57600080fd5b346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57806003193601126100cf5760209054604051908152f35b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760e03660031901126100cf576004356001600160a01b0381169003610971576024356001600160a01b0381168103610971576044356001600160401b03811161096d576101d0903690600401611189565b90916064356001600160401b038111610969576101f1903690600401611189565b9290936084356001600160401b03811161096557610213903690600401611189565b919060a4356001600160401b03811161096157610234903690600401611189565b93909460c4351561092b576040516323b872dd60e01b815233600482015230602482015260c43560448201526020816064818e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015610920576108f1575b508954986000198a146108dd5760018a018b5560405198896101208101106001600160401b036101208c0111176108c75761030d61032596610319948c60406103319d6101208301825233835260018060a01b0360043516602084015260018060a01b03169101523691611219565b60608b01523691611219565b60808801523691611219565b60a08501523691611219565b60c082015260c43560e0820152600161010082015281835260016020526040832060018060a01b038251166bffffffffffffffffffffffff60a01b90818354161782556001820160018060a01b0360208501511682825416179055600282019060018060a01b036040850151169082541617905560608201518051906001600160401b03821161065a5781906103ca6003850154611035565b601f8111610877575b50602090601f83116001146108085787926107fd575b50508160011b916000199060031b1c19161760038201555b60808201518051906001600160401b03821161065a5781906104266004850154611035565b601f81116107ad575b50602090601f831160011461073e578792610733575b50508160011b916000199060031b1c19161760048201555b60a08201518051906001600160401b03821161065a5781906104826005850154611035565b601f81116106e3575b50602090601f831160011461067957879261066e575b50508160011b916000199060031b1c19161760058201555b60c08201518051906001600160401b03821161065a576104dc6006840154611035565b601f8111610616575b50946020958691601f84116001146105a55792610100949281926008959261059a575b50508160011b916000199060031b1c19161760068201555b60e0840151600782015501910151151560ff80198354169116179055807ff816c188fc874f1d5fdd8016fed871eb42b2537e826d2e0dce32ce30679ba6866040518061058f60c435600435338460409194939294606082019560018060a01b0380921683521660208201520152565b0390a2604051908152f35b015190503880610508565b9190600685018352878320925b601f19851681106105ff575092610100949260019260089583601f198116106105e6575b505050811b016006820155610520565b015160001960f88460031b161c191690553880806105d6565b9192886001819286850151815501940192016105b2565b60068401875260208720601f840160051c810160208510610653575b601f830160051c820181106106485750506104e5565b888155600101610632565b5080610632565b634e487b7160e01b86526041600452602486fd5b0151905038806104a1565b600585018852602088209250601f198416885b8181106106cb57509084600195949392106106b2575b505050811b0160058201556104b9565b015160001960f88460031b161c191690553880806106a2565b9293602060018192878601518155019501930161068c565b90915060058401875260208720601f840160051c81016020851061072c575b90849392915b601f830160051c8201811061071e57505061048b565b898155859450600101610708565b5080610702565b015190503880610445565b9250600484018752602087209087935b601f1984168510610792576001945083601f19811610610779575b505050811b01600482015561045d565b015160001960f88460031b161c19169055388080610769565b8181015183556020948501946001909301929091019061074e565b90915060048401875260208720601f840160051c8101602085106107f6575b90849392915b601f830160051c820181106107e857505061042f565b8981558594506001016107d2565b50806107cc565b0151905038806103e9565b9250600384018752602087209087935b601f198416851061085c576001945083601f19811610610843575b505050811b016003820155610401565b015160001960f88460031b161c19169055388080610833565b81810151835560209485019460019093019290910190610818565b90915060038401875260208720601f840160051c8101602085106108c0575b90849392915b601f830160051c820181106108b25750506103d3565b89815585945060010161089c565b5080610896565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b8b52601160045260248bfd5b6109129060203d602011610919575b61090a8183611082565b8101906111e6565b503861029e565b503d610900565b6040513d8d823e3d90fd5b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b8880fd5b8680fd5b8480fd5b8280fd5b600080fd5b50346100cf5760a03660031901126100cf576001600160401b0390602435828111610d6f576109a9903690600401611189565b604493919335828111610d6b576109c49036906004016111b6565b9091606435848111610d67576109de903690600401611189565b9094608435908111610965576109f89036906004016111b6565b939091600435885260016020526040882096600888018054610a1c60ff8216611250565b60018a01546001600160a01b03163303610d345760ff19169055600788015492898060018060a01b038b54169a604051610aca81610abc6020820194633e1ddfa360e01b8652608060248401526006610a7b60a485016003840161128b565b91610aac610a9960231994858882030160448901526004840161128b565b848782030160648801526005830161128b565b928584030160848601520161128b565b03601f198101835282611082565b5190827f00000000000000000000000000000000000000000000000000000000000000005af13d15610d2c573d90610b01826111fe565b91610b0f6040519384611082565b82523d8c602084013e5b15610cf257602081805181010312610cc457602001516001600160a01b0381169890899003610cc45760405163095ea7b360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820181905260248201969096526020818d81806044810103917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610ce757610cc8575b50843b15610cc457908a91610bf86040519d8e938493630d64d59360e21b9b8c8652429360048701611342565b038183875af18015610cb957610ca1575b88995082989697983b15610965578694610c358692604051988997889687958652429360048701611342565b03925af18015610c9657610c82575b505060405191338352602083015260408201527f861a1554b828f213a4a7f0a5b87a1cdb790bde45d0b1b1da067906443d701c7e606060043592a280f35b610c8b9061106f565b61096d578238610c44565b6040513d84823e3d90fd5b9596979098610caf9061106f565b9695948890610c09565b6040513d8b823e3d90fd5b8a80fd5b610ce09060203d6020116109195761090a8183611082565b5038610bcb565b6040513d8e823e3d90fd5b60405162461bcd60e51b815260206004820152601260248201527110dc99585d194818dbda5b8819985a5b195960721b6044820152606490fd5b606090610b19565b60405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606490fd5b8580fd5b8380fd5b5080fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57602080600319360112610d6f576004358083526001825260408320549091906001600160a01b039081163303610ed75781610e5491848652600182526040862090600882018054610e1160ff8216611250565b60ff19169055815460079092015460405163a9059cbb60e01b81529282166001600160a01b03166004840152602483015290928391908290889082906044820190565b03927f0000000000000000000000000000000000000000000000000000000000000000165af18015610ecc57610eae575b50507fc1546e394b1975212fe013e7e6995653585f44e568c407d1157483f7d4b945818280a280f35b81610ec492903d106109195761090a8183611082565b503880610e85565b6040513d86823e3d90fd5b60405162461bcd60e51b815260048101839052600b60248201526a2737ba1039b837b739b7b960a91b6044820152606490fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760203660031901126100cf57604090600435815260016020522060018060a01b039081815416908260018201541692600282015416611023610f99600384016110a3565b611015610fa8600486016110a3565b611007610fb7600588016110a3565b91610ff9610fc760068a016110a3565b9560ff600860078c01549b015416986040519c8d9c8d5260208d015260408c01526101208060608d01528b0190611149565b9089820360808b0152611149565b9087820360a0890152611149565b9085820360c0870152611149565b9160e084015215156101008301520390f35b90600182811c92168015611065575b602083101461104f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611044565b6001600160401b0381116108c757604052565b90601f801991011681019081106001600160401b038211176108c757604052565b90604051918260008254926110b784611035565b90818452600194858116908160001461112657506001146110e3575b50506110e192500383611082565b565b9093915060005260209081600020936000915b81831061110e5750506110e1935082010138806110d3565b855488840185015294850194879450918301916110f6565b9150506110e194506020925060ff191682840152151560051b82010138806110d3565b919082519283825260005b848110611175575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611154565b9181601f84011215610971578235916001600160401b038311610971576020838186019501011161097157565b9181601f84011215610971578235916001600160401b038311610971576020808501948460051b01011161097157565b90816020910312610971575180151581036109715790565b6001600160401b0381116108c757601f01601f191660200190565b929192611225826111fe565b916112336040519384611082565b829481845281830111610971578281602093846000960137010152565b1561125757565b60405162461bcd60e51b815260206004820152600c60248201526b42696420696e61637469766560a01b6044820152606490fd5b906000929180549161129c83611035565b9182825260019384811690816000146112fe57506001146112be575b50505050565b90919394506000526020928360002092846000945b8386106112ea5750505050010190388080806112b8565b8054858701830152940193859082016112d3565b9294505050602093945060ff191683830152151560051b010190388080806112b8565b908060209392818452848401376000828201840152601f01601f1916010190565b959493919061135991606088526060880191611321565b9060208683038188015281835280830192818360051b82010193856000925b85841061138e5750505050505060409150930152565b909192939495601f198282030184528735601e19843603018112156109715783018681019190356001600160401b038111610971578036038313610971576113db88928392600195611321565b9901940194019296959493919061137856fea26469706673582212200c8868bca597926fda08b4b13a1a6d80e22086c58ea932b72d8c4fe8d8edaf8964736f6c63430008140033", + "deployedBytecode": "0x6080604052600436101561001257600080fd5b6000803560e01c80634423c5f114610f4f5780638d52b0b514610f0a5780639703ef3514610db85780639eeb249314610d73578063b600dbc714610976578063be7b282714610179578063c4e525bf14610134578063dc26904914610117578063e138818c146100d25763e9ca630f1461008b57600080fd5b346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b80fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57806003193601126100cf5760209054604051908152f35b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760e03660031901126100cf576004356001600160a01b0381169003610971576024356001600160a01b0381168103610971576044356001600160401b03811161096d576101d0903690600401611189565b90916064356001600160401b038111610969576101f1903690600401611189565b9290936084356001600160401b03811161096557610213903690600401611189565b919060a4356001600160401b03811161096157610234903690600401611189565b93909460c4351561092b576040516323b872dd60e01b815233600482015230602482015260c43560448201526020816064818e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015610920576108f1575b508954986000198a146108dd5760018a018b5560405198896101208101106001600160401b036101208c0111176108c75761030d61032596610319948c60406103319d6101208301825233835260018060a01b0360043516602084015260018060a01b03169101523691611219565b60608b01523691611219565b60808801523691611219565b60a08501523691611219565b60c082015260c43560e0820152600161010082015281835260016020526040832060018060a01b038251166bffffffffffffffffffffffff60a01b90818354161782556001820160018060a01b0360208501511682825416179055600282019060018060a01b036040850151169082541617905560608201518051906001600160401b03821161065a5781906103ca6003850154611035565b601f8111610877575b50602090601f83116001146108085787926107fd575b50508160011b916000199060031b1c19161760038201555b60808201518051906001600160401b03821161065a5781906104266004850154611035565b601f81116107ad575b50602090601f831160011461073e578792610733575b50508160011b916000199060031b1c19161760048201555b60a08201518051906001600160401b03821161065a5781906104826005850154611035565b601f81116106e3575b50602090601f831160011461067957879261066e575b50508160011b916000199060031b1c19161760058201555b60c08201518051906001600160401b03821161065a576104dc6006840154611035565b601f8111610616575b50946020958691601f84116001146105a55792610100949281926008959261059a575b50508160011b916000199060031b1c19161760068201555b60e0840151600782015501910151151560ff80198354169116179055807ff816c188fc874f1d5fdd8016fed871eb42b2537e826d2e0dce32ce30679ba6866040518061058f60c435600435338460409194939294606082019560018060a01b0380921683521660208201520152565b0390a2604051908152f35b015190503880610508565b9190600685018352878320925b601f19851681106105ff575092610100949260019260089583601f198116106105e6575b505050811b016006820155610520565b015160001960f88460031b161c191690553880806105d6565b9192886001819286850151815501940192016105b2565b60068401875260208720601f840160051c810160208510610653575b601f830160051c820181106106485750506104e5565b888155600101610632565b5080610632565b634e487b7160e01b86526041600452602486fd5b0151905038806104a1565b600585018852602088209250601f198416885b8181106106cb57509084600195949392106106b2575b505050811b0160058201556104b9565b015160001960f88460031b161c191690553880806106a2565b9293602060018192878601518155019501930161068c565b90915060058401875260208720601f840160051c81016020851061072c575b90849392915b601f830160051c8201811061071e57505061048b565b898155859450600101610708565b5080610702565b015190503880610445565b9250600484018752602087209087935b601f1984168510610792576001945083601f19811610610779575b505050811b01600482015561045d565b015160001960f88460031b161c19169055388080610769565b8181015183556020948501946001909301929091019061074e565b90915060048401875260208720601f840160051c8101602085106107f6575b90849392915b601f830160051c820181106107e857505061042f565b8981558594506001016107d2565b50806107cc565b0151905038806103e9565b9250600384018752602087209087935b601f198416851061085c576001945083601f19811610610843575b505050811b016003820155610401565b015160001960f88460031b161c19169055388080610833565b81810151835560209485019460019093019290910190610818565b90915060038401875260208720601f840160051c8101602085106108c0575b90849392915b601f830160051c820181106108b25750506103d3565b89815585945060010161089c565b5080610896565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b8b52601160045260248bfd5b6109129060203d602011610919575b61090a8183611082565b8101906111e6565b503861029e565b503d610900565b6040513d8d823e3d90fd5b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b8880fd5b8680fd5b8480fd5b8280fd5b600080fd5b50346100cf5760a03660031901126100cf576001600160401b0390602435828111610d6f576109a9903690600401611189565b604493919335828111610d6b576109c49036906004016111b6565b9091606435848111610d67576109de903690600401611189565b9094608435908111610965576109f89036906004016111b6565b939091600435885260016020526040882096600888018054610a1c60ff8216611250565b60018a01546001600160a01b03163303610d345760ff19169055600788015492898060018060a01b038b54169a604051610aca81610abc6020820194633e1ddfa360e01b8652608060248401526006610a7b60a485016003840161128b565b91610aac610a9960231994858882030160448901526004840161128b565b848782030160648801526005830161128b565b928584030160848601520161128b565b03601f198101835282611082565b5190827f00000000000000000000000000000000000000000000000000000000000000005af13d15610d2c573d90610b01826111fe565b91610b0f6040519384611082565b82523d8c602084013e5b15610cf257602081805181010312610cc457602001516001600160a01b0381169890899003610cc45760405163095ea7b360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820181905260248201969096526020818d81806044810103917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af18015610ce757610cc8575b50843b15610cc457908a91610bf86040519d8e938493630d64d59360e21b9b8c8652429360048701611342565b038183875af18015610cb957610ca1575b88995082989697983b15610965578694610c358692604051988997889687958652429360048701611342565b03925af18015610c9657610c82575b505060405191338352602083015260408201527f861a1554b828f213a4a7f0a5b87a1cdb790bde45d0b1b1da067906443d701c7e606060043592a280f35b610c8b9061106f565b61096d578238610c44565b6040513d84823e3d90fd5b9596979098610caf9061106f565b9695948890610c09565b6040513d8b823e3d90fd5b8a80fd5b610ce09060203d6020116109195761090a8183611082565b5038610bcb565b6040513d8e823e3d90fd5b60405162461bcd60e51b815260206004820152601260248201527110dc99585d194818dbda5b8819985a5b195960721b6044820152606490fd5b606090610b19565b60405162461bcd60e51b815260206004820152600b60248201526a2737ba1031b932b0ba37b960a91b6044820152606490fd5b8580fd5b8380fd5b5080fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf57602080600319360112610d6f576004358083526001825260408320549091906001600160a01b039081163303610ed75781610e5491848652600182526040862090600882018054610e1160ff8216611250565b60ff19169055815460079092015460405163a9059cbb60e01b81529282166001600160a01b03166004840152602483015290928391908290889082906044820190565b03927f0000000000000000000000000000000000000000000000000000000000000000165af18015610ecc57610eae575b50507fc1546e394b1975212fe013e7e6995653585f44e568c407d1157483f7d4b945818280a280f35b81610ec492903d106109195761090a8183611082565b503880610e85565b6040513d86823e3d90fd5b60405162461bcd60e51b815260048101839052600b60248201526a2737ba1039b837b739b7b960a91b6044820152606490fd5b50346100cf57806003193601126100cf576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346100cf5760203660031901126100cf57604090600435815260016020522060018060a01b039081815416908260018201541692600282015416611023610f99600384016110a3565b611015610fa8600486016110a3565b611007610fb7600588016110a3565b91610ff9610fc760068a016110a3565b9560ff600860078c01549b015416986040519c8d9c8d5260208d015260408c01526101208060608d01528b0190611149565b9089820360808b0152611149565b9087820360a0890152611149565b9085820360c0870152611149565b9160e084015215156101008301520390f35b90600182811c92168015611065575b602083101461104f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611044565b6001600160401b0381116108c757604052565b90601f801991011681019081106001600160401b038211176108c757604052565b90604051918260008254926110b784611035565b90818452600194858116908160001461112657506001146110e3575b50506110e192500383611082565b565b9093915060005260209081600020936000915b81831061110e5750506110e1935082010138806110d3565b855488840185015294850194879450918301916110f6565b9150506110e194506020925060ff191682840152151560051b82010138806110d3565b919082519283825260005b848110611175575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611154565b9181601f84011215610971578235916001600160401b038311610971576020838186019501011161097157565b9181601f84011215610971578235916001600160401b038311610971576020808501948460051b01011161097157565b90816020910312610971575180151581036109715790565b6001600160401b0381116108c757601f01601f191660200190565b929192611225826111fe565b916112336040519384611082565b829481845281830111610971578281602093846000960137010152565b1561125757565b60405162461bcd60e51b815260206004820152600c60248201526b42696420696e61637469766560a01b6044820152606490fd5b906000929180549161129c83611035565b9182825260019384811690816000146112fe57506001146112be575b50505050565b90919394506000526020928360002092846000945b8386106112ea5750505050010190388080806112b8565b8054858701830152940193859082016112d3565b9294505050602093945060ff191683830152151560051b010190388080806112b8565b908060209392818452848401376000828201840152601f01601f1916010190565b959493919061135991606088526060880191611321565b9060208683038188015281835280830192818360051b82010193856000925b85841061138e5750505050505060409150930152565b909192939495601f198282030184528735601e19843603018112156109715783018681019190356001600160401b038111610971578036038313610971576113db88928392600195611321565b9901940194019296959493919061137856fea26469706673582212200c8868bca597926fda08b4b13a1a6d80e22086c58ea932b72d8c4fe8d8edaf8964736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/cache/solidity-files-cache.json b/cache/solidity-files-cache.json new file mode 100644 index 0000000..48d04fd --- /dev/null +++ b/cache/solidity-files-cache.json @@ -0,0 +1,44 @@ +{ + "_format": "hh-sol-cache-2", + "files": { + "/workspace/contracts/ZoraPostMarketEscrow.sol": { + "lastModificationDate": 1754041536880, + "contentHash": "7f35161d153f56f5332ff18b5d1dd84a", + "sourceName": "contracts/ZoraPostMarketEscrow.sol", + "solcConfig": { + "version": "0.8.20", + "settings": { + "viaIR": true, + "optimizer": { + "enabled": true, + "runs": 200 + }, + "evmVersion": "paris", + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "imports": [], + "versionPragmas": [ + "^0.8.20" + ], + "artifacts": [ + "IERC20", + "IUniversalRouter", + "ZoraPostMarketEscrow" + ] + } + } +} diff --git a/compile-zora.js b/compile-zora.js new file mode 100644 index 0000000..aedc184 --- /dev/null +++ b/compile-zora.js @@ -0,0 +1,31 @@ +const { ethers } = require("hardhat"); + +async function main() { + console.log("Compiling ZoraPostMarketEscrow contract..."); + + try { + // Get the contract factory + const ZoraPostMarketEscrow = await ethers.getContractFactory("ZoraPostMarketEscrow"); + + console.log("āœ… ZoraPostMarketEscrow contract compiled successfully!"); + console.log("Contract ABI and bytecode are ready for deployment."); + + // You can also get the bytecode and ABI if needed + const bytecode = ZoraPostMarketEscrow.bytecode; + const abi = ZoraPostMarketEscrow.interface.format(); + + console.log(`Bytecode length: ${bytecode.length} bytes`); + console.log(`ABI has ${abi.length} entries`); + + } catch (error) { + console.error("āŒ Compilation failed:", error.message); + process.exit(1); + } +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); \ No newline at end of file diff --git a/contracts/ISlotGame.sol b/contracts/ISlotGame.sol deleted file mode 100644 index a4f3472..0000000 --- a/contracts/ISlotGame.sol +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -interface ISlotGame { - struct GameInfo { - string sponsorName; - string website; - uint256 initialPrizePool; // Initial deposit amount - uint256 currentPrizePool; // Current balance of Jackpot tokens in this game - address creator; - bool playable; - } - - function play(address _player) external; - function depositJackpot(address _depositor, uint256 _amount) external; - function getGameInfo() external view returns (GameInfo memory); - function getJackpotTokenAddress() external view returns (address); - function getSpinTokenAddress() external view returns (address); - function getMinPlayableJackpot() external view returns (uint256); -} diff --git a/contracts/JackpotToken.sol b/contracts/JackpotToken.sol deleted file mode 100644 index 1e70422..0000000 --- a/contracts/JackpotToken.sol +++ /dev/null @@ -1,55 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; - -contract JackpotToken is ERC20 { - // Define roles for initial distribution - address public immutable contributorsAddress; - address public immutable communityAddress; - address public immutable liquidityProviderAddress; - address public immutable bdAddress; // Business Development - address public immutable treasuryAddress; - - uint256 private constant TOTAL_SUPPLY = 1_000_000_000 * (10**18); // 1 Billion tokens with 18 decimals - - constructor( - address _contributors, - address _community, - address _liquidityProvider, - address _bd, - address _treasury - ) ERC20("Jackpot Token", "JACKPOT") { - require(_contributors != address(0), "Contributors address cannot be zero"); - require(_community != address(0), "Community address cannot be zero"); - require(_liquidityProvider != address(0), "Liquidity Provider address cannot be zero"); - require(_bd != address(0), "BD address cannot be zero"); - require(_treasury != address(0), "Treasury address cannot be zero"); - - contributorsAddress = _contributors; - communityAddress = _community; - liquidityProviderAddress = _liquidityProvider; - bdAddress = _bd; - treasuryAddress = _treasury; - - // Calculate amounts based on percentages - uint256 contributorsAmount = (TOTAL_SUPPLY * 20) / 100; // 20% - uint256 communityAmount = (TOTAL_SUPPLY * 50) / 100; // 50% - uint256 liquidityProviderAmount = (TOTAL_SUPPLY * 5) / 100; // 5% - uint256 bdAmount = (TOTAL_SUPPLY * 15) / 100; // 15% - uint256 treasuryAmount = (TOTAL_SUPPLY * 10) / 100; // 10% - - // Mint tokens to respective addresses - _mint(contributorsAddress, contributorsAmount); - _mint(communityAddress, communityAmount); - _mint(liquidityProviderAddress, liquidityProviderAmount); - _mint(bdAddress, bdAmount); - _mint(treasuryAddress, treasuryAmount); - - // Ensure total supply is minted - require( - totalSupply() == TOTAL_SUPPLY, - "Initial minting did not match total supply" - ); - } -} diff --git a/contracts/SlotGame.sol b/contracts/SlotGame.sol deleted file mode 100644 index 9eed145..0000000 --- a/contracts/SlotGame.sol +++ /dev/null @@ -1,287 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -import "@openzeppelin/contracts/access/Ownable.sol"; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts/utils/math/SafeMath.sol"; -import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; -import "@gelatonetwork/relay-sdk/contracts/interfaces/IRelay.sol"; // For Gelato VRF -import "@gelatonetwork/relay-sdk/contracts/interfaces/IRelayContext.sol"; // For Gelato VRF -import "@gelatonetwork/relay-sdk/contracts/interfaces/IRelayRequest.sol"; // For Gelato VRF - -import "./SpinToken.sol"; -import "./JackpotToken.sol"; -import "./ISlotGame.sol"; // For the interface struct - -contract SlotGame is Ownable, ReentrancyGuard, ISlotGame { - using SafeMath for uint256; - - // --- Token Addresses --- - JackpotToken public immutable jackpotToken; - SpinToken public immutable spinToken; - - // --- Game Configuration --- - uint256 public constant SPIN_COST = 1 * (10**18); // 1 SPIN token per play - uint256 public constant MIN_JACKPOT_DEPOSIT_TO_CREATE = 1000 * (10**18); // 1000 JACKPOT - uint256 public constant MIN_PLAYABLE_JACKPOT = 210 * (10**18); // 210 JACKPOT - - // Reel configuration: symbol => count of stops on a reel - // Total stops per reel = 2+3+4+5+6 = 20 - uint256 public constant BTC_STOPS = 2; - uint256 public constant ETH_STOPS = 3; - uint256 public constant XRP_STOPS = 4; - uint256 public constant BNB_STOPS = 5; - uint256 public constant SOL_STOPS = 6; - - // Win multipliers for 3-of-a-kind - mapping(string => uint256) public winMultipliers; - - // --- Gelato VRF Configuration (Placeholders) --- - address public gelatoRelayRouter; // Gelato Relay Router address - bytes32 public gelatoKeyHash; // Gelato VRF Key Hash - uint256 public gelatoSubscriptionId; // Gelato VRF Subscription ID - uint32 public gelatoGasLimit; // Gas limit for VRF callback - - // --- Game State --- - ISlotGame.GameInfo public gameInfo; - uint256 private _lastRequestId; // To track Gelato VRF requests - - // --- Events --- - event GameCreated(address indexed creator, string sponsorName, uint256 initialPrizePool); - event SpinPlayed(address indexed player, uint256 spinCost); - event RandomnessRequested(uint256 requestId, address indexed player); - event RandomnessReceived(uint256 requestId, uint256 randomNumber); - event Win(address indexed player, uint256 amount, string symbol); - event Lose(address indexed player); - event JackpotDeposited(address indexed depositor, uint256 amount); - event JackpotWithdrawn(address indexed recipient, uint256 amount); - event GelatoVRFParamsUpdated(address router, bytes32 keyHash, uint256 subscriptionId, uint32 gasLimit); - - constructor( - address _jackpotTokenAddress, - address _spinTokenAddress, - string memory _sponsorName, - string memory _website, - uint256 _initialPrizePoolAmount, - address _creator - ) Ownable(msg.sender) { - require(_jackpotTokenAddress != address(0), "JackpotToken address cannot be zero"); - require(_spinTokenAddress != address(0), "SpinToken address cannot be zero"); - require(bytes(_sponsorName).length > 0, "Sponsor name cannot be empty"); - require(bytes(_website).length > 0, "Website cannot be empty"); - require(_initialPrizePoolAmount >= MIN_JACKPOT_DEPOSIT_TO_CREATE, "Initial deposit too low"); - require(_creator != address(0), "Creator address cannot be zero"); - - jackpotToken = JackpotToken(_jackpotTokenAddress); - spinToken = SpinToken(_spinTokenAddress); - - // Initialize game info - gameInfo.sponsorName = _sponsorName; - gameInfo.website = _website; - gameInfo.initialPrizePool = _initialPrizePoolAmount; - gameInfo.currentPrizePool = 0; // Will be updated upon deposit - gameInfo.creator = _creator; - gameInfo.playable = false; // Set to true after initial deposit - - // Set win multipliers - winMultipliers["BTC"] = 210; - winMultipliers["ETH"] = 70; - winMultipliers["XRP"] = 30; - winMultipliers["BNB"] = 7; - winMultipliers["SOL"] = 3; - - emit GameCreated(_creator, _sponsorName, _initialPrizePoolAmount); - } - - // --- External Functions --- - - function play(address _player) external nonReentrant { - require(msg.sender == address(this), "Only callable by Gelato Relay"); // Only Gelato Relay can call this after VRF - require(gameInfo.currentPrizePool >= MIN_PLAYABLE_JACKPOT, "Game not playable: insufficient prize pool"); - - // Burn 1 SPIN token from the player - // This assumes SlotGame has BURNER_ROLE on SpinToken - spinToken.burn(_player, SPIN_COST); - emit SpinPlayed(_player, SPIN_COST); - - // Request randomness from Gelato VRF - // The actual random number generation and callback will be handled by Gelato Relay - // This is a simplified call, actual Gelato Relay integration might be more complex - // and involve a separate request function. - // For now, we simulate the request and directly call _processSpin with a placeholder. - // In a real scenario, Gelato Relay would call a callback function with the random number. - - // Placeholder for Gelato VRF request - // In a real scenario, you'd call IRelay.requestRandomWords or similar - // and then have a callback function that Gelato calls with the result. - // For this example, we'll simulate the random number generation directly - // after the spin cost is paid. - // The actual random number generation will be handled by Gelato VRF. - // This function will be called by Gelato Relay after the VRF request is fulfilled. - // The random number will be passed as an argument. - - // For demonstration, we'll use a placeholder random number. - // In production, this would come from Gelato VRF callback. - uint256 randomNumber = uint256(keccak256(abi.encodePacked(block.timestamp, block.difficulty, msg.sender, _lastRequestId))); - _processSpin(_player, randomNumber); - } - - // This function would be called by Gelato Relay after the VRF request is fulfilled. - // It's marked `external` but should only be callable by the Gelato Relay Router. - // For simplicity, we'll make it callable by anyone for now, but in production, - // you'd add checks to ensure it's called by the trusted Gelato Relay Router. - function gelatoVrfCallback(uint256 _requestId, uint256 _randomNumber) external { - require(msg.sender == gelatoRelayRouter, "Only Gelato Relay Router can call this"); - require(_requestId == _lastRequestId, "Invalid request ID"); // Ensure it's for the last request - - emit RandomnessReceived(_requestId, _randomNumber); - // _processSpin(playerAddressAssociatedWithRequest, _randomNumber); // Need to store player address with request ID - } - - - function depositJackpot(address _depositor, uint256 _amount) external nonReentrant { - require(_depositor != address(0), "Depositor address cannot be zero"); - require(_amount > 0, "Deposit amount must be greater than zero"); - - // Transfer Jackpot tokens from depositor to this contract - jackpotToken.transferFrom(_depositor, address(this), _amount); - - gameInfo.currentPrizePool = gameInfo.currentPrizePool.add(_amount); - if (gameInfo.currentPrizePool >= MIN_PLAYABLE_JACKPOT) { - gameInfo.playable = true; - } - emit JackpotDeposited(_depositor, _amount); - } - - function getGameInfo() external view override returns (ISlotGame.GameInfo memory) { - return gameInfo; - } - - function getJackpotTokenAddress() external view override returns (address) { - return address(jackpotToken); - } - - function getSpinTokenAddress() external view override returns (address) { - return address(spinToken); - } - - function getMinPlayableJackpot() external view override returns (uint256) { - return MIN_PLAYABLE_JACKPOT; - } - - // --- Owner-only Functions --- - - function withdrawJackpot(address _recipient, uint256 _amount) public onlyOwner nonReentrant { - require(_recipient != address(0), "Recipient address cannot be zero"); - require(_amount > 0, "Withdrawal amount must be greater than zero"); - require(gameInfo.currentPrizePool.sub(_amount) >= MIN_PLAYABLE_JACKPOT, "Cannot withdraw below playable threshold"); - require(jackpotToken.balanceOf(address(this)) >= _amount, "Insufficient Jackpot balance in contract"); - - jackpotToken.transfer(_recipient, _amount); - gameInfo.currentPrizePool = gameInfo.currentPrizePool.sub(_amount); - emit JackpotWithdrawn(_recipient, _amount); - } - - function setGelatoVRFParams( - address _gelatoRelayRouter, - bytes32 _gelatoKeyHash, - uint256 _gelatoSubscriptionId, - uint32 _gelatoGasLimit - ) public onlyOwner { - require(_gelatoRelayRouter != address(0), "Router address cannot be zero"); - require(_gelatoSubscriptionId > 0, "Subscription ID must be greater than zero"); - require(_gelatoGasLimit > 0, "Gas limit must be greater than zero"); - - gelatoRelayRouter = _gelatoRelayRouter; - gelatoKeyHash = _gelatoKeyHash; - gelatoSubscriptionId = _gelatoSubscriptionId; - gelatoGasLimit = _gelatoGasLimit; - - emit GelatoVRFParamsUpdated(_gelatoRelayRouter, _gelatoKeyHash, _gelatoSubscriptionId, _gelatoGasLimit); - } - - // --- Internal Logic --- - - function _processSpin(address _player, uint256 _randomNumber) internal { - string[3] memory reels; - uint256 totalStops = BTC_STOPS + ETH_STOPS + XRP_STOPS + BNB_STOPS + SOL_STOPS; // 20 - - // Determine reel outcomes based on random number - for (uint256 i = 0; i < 3; i++) { - uint256 reelValue = _randomNumber % totalStops; - _randomNumber = _randomNumber.div(totalStops); // Use remaining randomness for next reel - - if (reelValue < BTC_STOPS) { - reels[i] = "BTC"; - } else if (reelValue < BTC_STOPS + ETH_STOPS) { - reels[i] = "ETH"; - } else if (reelValue < BTC_STOPS + ETH_STOPS + XRP_STOPS) { - reels[i] = "XRP"; - } else if (reelValue < BTC_STOPS + ETH_STOPS + XRP_STOPS + BNB_STOPS) { - reels[i] = "BNB"; - } else { - reels[i] = "SOL"; - } - } - - // Check for win condition (3-of-a-kind) - if ( - keccak256(abi.encodePacked(reels[0])) == keccak256(abi.encodePacked(reels[1])) && - keccak256(abi.encodePacked(reels[1])) == keccak256(abi.encodePacked(reels[2])) - ) { - string memory winningSymbol = reels[0]; - uint256 multiplier = winMultipliers[winningSymbol]; - uint256 winAmount = SPIN_COST.mul(multiplier); // Payout is multiplier * bet amount - - require(gameInfo.currentPrizePool >= winAmount, "Insufficient prize pool for payout"); - - jackpotToken.transfer(_player, winAmount); - gameInfo.currentPrizePool = gameInfo.currentPrizePool.sub(winAmount); - emit Win(_player, winAmount, winningSymbol); - } else { - emit Lose(_player); - } - - // Update playable status if prize pool drops below threshold - if (gameInfo.currentPrizePool < MIN_PLAYABLE_JACKPOT) { - gameInfo.playable = false; - } - } - - // Function to request randomness from Gelato VRF - // This function would be called by the frontend or a relayer - // It initiates the VRF request and expects a callback to `gelatoVrfCallback` - function requestRandomness(address _player) public nonReentrant { - require(gameInfo.currentPrizePool >= MIN_PLAYABLE_JACKPOT, "Game not playable: insufficient prize pool"); - require(spinToken.balanceOf(_player) >= SPIN_COST, "Insufficient SPIN balance"); - - // Store player address associated with this request ID - // In a real system, you'd map request IDs to player addresses - // For simplicity, we'll assume the `play` function is called by Gelato Relay - // and passes the player address. - - // This is where you'd call Gelato Relay to request randomness. - // Example (conceptual, actual SDK usage might differ slightly): - // IRelay.RelayRequest memory request = IRelay.RelayRequest({ - // service: IRelay.Service.VRF, - // data: abi.encodeCall(this.gelatoVrfCallback, (0, 0)), // Placeholder for callback data - // gasLimit: gelatoGasLimit, - // feeToken: address(0), // Native token for fees - // fee: 0, // Gelato will determine fee - // sponsor: address(this), - // sponsorChainId: block.chainid, - // retries: 0, - // timeout: 0, - // fallback: address(0), - // fallbackData: "" - // }); - // _lastRequestId = IRelay(gelatoRelayRouter).relay(request); - - // For now, we'll just burn the SPIN and emit an event, - // assuming an off-chain process or a more complex Gelato integration - // will handle the actual VRF request and subsequent call to `play`. - spinToken.burn(_player, SPIN_COST); - emit SpinPlayed(_player, SPIN_COST); - emit RandomnessRequested(_lastRequestId, _player); // _lastRequestId would be from Gelato - } -} diff --git a/contracts/SlotGameFactory.sol b/contracts/SlotGameFactory.sol deleted file mode 100644 index a05f9f2..0000000 --- a/contracts/SlotGameFactory.sol +++ /dev/null @@ -1,69 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -import "@openzeppelin/contracts/access/Ownable.sol"; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "./JackpotToken.sol"; -import "./SpinToken.sol"; -import "./SlotGame.sol"; -import "./ISlotGame.sol"; // For the interface struct - -contract SlotGameFactory is Ownable { - JackpotToken public immutable jackpotToken; - SpinToken public immutable spinToken; - - // Mapping to keep track of deployed SlotGame instances - address[] public deployedSlotGames; - mapping(address => bool) public isSlotGame; // To quickly check if an address is a deployed game - - event SlotGameCreated(address indexed gameAddress, address indexed creator, string sponsorName, uint256 initialPrizePool); - - constructor(address _jackpotTokenAddress, address _spinTokenAddress) Ownable(msg.sender) { - require(_jackpotTokenAddress != address(0), "JackpotToken address cannot be zero"); - require(_spinTokenAddress != address(0), "SpinToken address cannot be zero"); - jackpotToken = JackpotToken(_jackpotTokenAddress); - spinToken = SpinToken(_spinTokenAddress); - } - - function createSlotGame( - string memory _sponsorName, - string memory _website, - uint256 _initialPrizePoolAmount - ) public { - require( - _initialPrizePoolAmount >= SlotGame.MIN_JACKPOT_DEPOSIT_TO_CREATE, - "Initial deposit too low" - ); - require( - jackpotToken.balanceOf(msg.sender) >= _initialPrizePoolAmount, - "Insufficient Jackpot balance for initial deposit" - ); - - // Approve the factory to transfer tokens from the creator - // This approval should happen on the frontend before calling this function - // require(jackpotToken.allowance(msg.sender, address(this)) >= _initialPrizePoolAmount, "Allowance too low"); - - // Deploy new SlotGame contract - SlotGame newGame = new SlotGame( - address(jackpotToken), - address(spinToken), - _sponsorName, - _website, - _initialPrizePoolAmount, - msg.sender // Creator of the game - ); - - // Transfer initial Jackpot deposit to the new SlotGame contract - jackpotToken.transferFrom(msg.sender, address(newGame), _initialPrizePoolAmount); - newGame.depositJackpot(msg.sender, _initialPrizePoolAmount); // Call deposit to update internal state - - deployedSlotGames.push(address(newGame)); - isSlotGame[address(newGame)] = true; - - emit SlotGameCreated(address(newGame), msg.sender, _sponsorName, _initialPrizePoolAmount); - } - - function getDeployedSlotGames() public view returns (address[] memory) { - return deployedSlotGames; - } -} diff --git a/contracts/SpinFaucet.sol b/contracts/SpinFaucet.sol deleted file mode 100644 index 4eb01a3..0000000 --- a/contracts/SpinFaucet.sol +++ /dev/null @@ -1,56 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -import "@openzeppelin/contracts/access/Ownable.sol"; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "./SpinToken.sol"; // Assuming SpinToken is in the same directory or accessible - -contract SpinFaucet is Ownable { - SpinToken public spinToken; - uint256 public claimAmount; // Amount of SPIN tokens to claim - uint256 public claimInterval = 1 days; // Default to 24 hours - - mapping(address => uint256) public lastClaimTime; - - event SpinClaimed(address indexed user, uint256 amount); - event ClaimAmountUpdated(uint256 newAmount); - event ClaimIntervalUpdated(uint256 newInterval); - event SpinTokenAddressUpdated(address newAddress); - - constructor(address _spinTokenAddress, uint256 _initialClaimAmount) Ownable(msg.sender) { - require(_spinTokenAddress != address(0), "SpinToken address cannot be zero"); - spinToken = SpinToken(_spinTokenAddress); - claimAmount = _initialClaimAmount; - } - - function claimSpin() public { - require(block.timestamp >= lastClaimTime[msg.sender] + claimInterval, "Wait for cooldown"); - - // Check if the faucet has enough SPIN tokens to mint - // This assumes SpinFaucet has MINTER_ROLE on SpinToken - // If SpinToken has a total supply limit, this check might be needed: - // require(spinToken.totalSupply() + claimAmount <= spinToken.MAX_SUPPLY(), "Faucet out of supply"); - - spinToken.mint(msg.sender, claimAmount); - lastClaimTime[msg.sender] = block.timestamp; - emit SpinClaimed(msg.sender, claimAmount); - } - - function setClaimAmount(uint256 _newAmount) public onlyOwner { - require(_newAmount > 0, "Claim amount must be greater than zero"); - claimAmount = _newAmount; - emit ClaimAmountUpdated(_newAmount); - } - - function setClaimInterval(uint256 _newInterval) public onlyOwner { - require(_newInterval > 0, "Claim interval must be greater than zero"); - claimInterval = _newInterval; - emit ClaimIntervalUpdated(_newInterval); - } - - function setSpinTokenAddress(address _newAddress) public onlyOwner { - require(_newAddress != address(0), "New address cannot be zero"); - spinToken = SpinToken(_newAddress); - emit SpinTokenAddressUpdated(_newAddress); - } -} diff --git a/contracts/SpinToken.sol b/contracts/SpinToken.sol deleted file mode 100644 index 2e5e567..0000000 --- a/contracts/SpinToken.sol +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.20; - -import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -import "@openzeppelin/contracts/access/AccessControl.sol"; - -contract SpinToken is ERC20, AccessControl { - bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); - bytes32 public constant BURNER_ROLE = keccak256("BURNER_ROLE"); - - constructor() ERC20("Spin Token", "SPIN") { - _grantRole(DEFAULT_ADMIN_ROLE, msg.sender); // Deployer is admin - } - - function mint(address to, uint256 amount) public onlyRole(MINTER_ROLE) { - _mint(to, amount); - } - - function burn(address from, uint256 amount) public onlyRole(BURNER_ROLE) { - _burn(from, amount); - } -} diff --git a/contracts/ZoraPostMarketEscrow.sol b/contracts/ZoraPostMarketEscrow.sol new file mode 100644 index 0000000..4b77664 --- /dev/null +++ b/contracts/ZoraPostMarketEscrow.sol @@ -0,0 +1,153 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +/** + * @title ZoraPostMarketEscrow with UniversalRouter and ZoraFactory Integration + * @notice MVP contract for connecting sponsors and creators on Zora. + * Sponsors bid with ZORA tokens, creators accept to post, and the contract + * creates a post coin via ZoraFactory and swaps ZORA to Creator Coin and ZoraMarket token atomically + * via the Uniswap UniversalRouter deployed on Base. + */ + +interface IERC20 { + function transferFrom(address from, address to, uint256 amount) external returns (bool); + function approve(address spender, uint256 amount) external returns (bool); + function transfer(address to, uint256 amount) external returns (bool); +} + +interface IUniversalRouter { + function execute( + bytes calldata commands, + bytes[] calldata inputs, + uint256 deadline + ) external payable; +} + +contract ZoraPostMarketEscrow { + struct Bid { + address sponsor; + address creator; + address creatorCoin; + string title; + string ticker; + string imageURI; + string description; + uint256 amountZora; + bool active; + } + + IERC20 public immutable ZORA; + IERC20 public immutable ZoraMarketToken; + IUniversalRouter public immutable UniversalRouter; + address public immutable platformTreasury; + address public immutable ZoraFactory; + + uint256 public nextBidId; + mapping(uint256 => Bid) public bids; + + event BidCreated(uint256 indexed bidId, address sponsor, address creator, uint256 amount); + event BidCancelled(uint256 indexed bidId); + event DealExecuted( + uint256 indexed bidId, + address creator, + address sponsor, + address postCoin + ); + + constructor( + address _zora, + address _zoraMarketToken, + address _universalRouter, + address _platformTreasury, + address _zoraFactory + ) { + ZORA = IERC20(_zora); + ZoraMarketToken = IERC20(_zoraMarketToken); + UniversalRouter = IUniversalRouter(_universalRouter); + platformTreasury = _platformTreasury; + ZoraFactory = _zoraFactory; + } + + modifier onlySponsor(uint256 bidId) { + require(msg.sender == bids[bidId].sponsor, "Not sponsor"); + _; + } + + function createBid( + address creator, + address creatorCoin, + string calldata title, + string calldata ticker, + string calldata imageURI, + string calldata description, + uint256 amountZora + ) external returns (uint256 bidId) { + require(amountZora > 0, "Invalid amount"); + ZORA.transferFrom(msg.sender, address(this), amountZora); + + bidId = nextBidId++; + bids[bidId] = Bid({ + sponsor: msg.sender, + creator: creator, + creatorCoin: creatorCoin, + title: title, + ticker: ticker, + imageURI: imageURI, + description: description, + amountZora: amountZora, + active: true + }); + + emit BidCreated(bidId, msg.sender, creator, amountZora); + } + + function cancelBid(uint256 bidId) external onlySponsor(bidId) { + Bid storage bid = bids[bidId]; + require(bid.active, "Bid inactive"); + bid.active = false; + ZORA.transfer(bid.sponsor, bid.amountZora); + emit BidCancelled(bidId); + } + + /** + * @notice Creator accepts bid, creates post via ZoraFactory, and performs swaps atomically through UniversalRouter. + */ + function acceptBidAndPost( + uint256 bidId, + bytes calldata creatorSwapCommands, + bytes[] calldata creatorSwapInputs, + bytes calldata platformSwapCommands, + bytes[] calldata platformSwapInputs + ) external { + Bid storage bid = bids[bidId]; + require(bid.active, "Bid inactive"); + require(msg.sender == bid.creator, "Not creator"); + + bid.active = false; + uint256 totalAmount = bid.amountZora; + address sponsor = bid.sponsor; + + // 1. Create post coin via ZoraFactory (fallback call) + bytes memory data = abi.encodeWithSignature( + "createCoin(string,string,string,string)", + bid.title, + bid.ticker, + bid.imageURI, + bid.description + ); + (bool success, bytes memory result) = ZoraFactory.call(data); + require(success, "Create coin failed"); + address postCoin = abi.decode(result, (address)); + + // 2. Approve router + ZORA.approve(address(UniversalRouter), totalAmount); + + // 3. Execute first swap: 95% to creator coin + UniversalRouter.execute(creatorSwapCommands, creatorSwapInputs, block.timestamp); + + // 4. Execute second swap: 5% to platform token + UniversalRouter.execute(platformSwapCommands, platformSwapInputs, block.timestamp); + + emit DealExecuted(bidId, msg.sender, sponsor, postCoin); + } +} \ No newline at end of file diff --git a/deploy.js b/deploy.js new file mode 100644 index 0000000..cb550d4 --- /dev/null +++ b/deploy.js @@ -0,0 +1,98 @@ +const { ethers } = require("hardhat"); + +async function main() { + console.log("Deploying ZoraPostMarketEscrow contract..."); + + // Base Layer 2 addresses (you'll need to update these with actual addresses) + const ZORA_TOKEN_ADDRESS = process.env.ZORA_TOKEN_ADDRESS || "0x0000000000000000000000000000000000000000"; + const ZORA_MARKET_TOKEN_ADDRESS = process.env.ZORA_MARKET_TOKEN_ADDRESS || "0x0000000000000000000000000000000000000000"; + const UNIVERSAL_ROUTER_ADDRESS = process.env.UNIVERSAL_ROUTER_ADDRESS || "0x0000000000000000000000000000000000000000"; + const PLATFORM_TREASURY_ADDRESS = process.env.PLATFORM_TREASURY_ADDRESS || "0x0000000000000000000000000000000000000000"; + const ZORA_FACTORY_ADDRESS = process.env.ZORA_FACTORY_ADDRESS || "0x0000000000000000000000000000000000000000"; + + // Validate addresses + if (ZORA_TOKEN_ADDRESS === "0x0000000000000000000000000000000000000000") { + console.error("Error: ZORA_TOKEN_ADDRESS not set in environment variables"); + process.exit(1); + } + + if (ZORA_MARKET_TOKEN_ADDRESS === "0x0000000000000000000000000000000000000000") { + console.error("Error: ZORA_MARKET_TOKEN_ADDRESS not set in environment variables"); + process.exit(1); + } + + if (UNIVERSAL_ROUTER_ADDRESS === "0x0000000000000000000000000000000000000000") { + console.error("Error: UNIVERSAL_ROUTER_ADDRESS not set in environment variables"); + process.exit(1); + } + + if (PLATFORM_TREASURY_ADDRESS === "0x0000000000000000000000000000000000000000") { + console.error("Error: PLATFORM_TREASURY_ADDRESS not set in environment variables"); + process.exit(1); + } + + if (ZORA_FACTORY_ADDRESS === "0x0000000000000000000000000000000000000000") { + console.error("Error: ZORA_FACTORY_ADDRESS not set in environment variables"); + process.exit(1); + } + + console.log("Deployment parameters:"); + console.log("ZORA Token:", ZORA_TOKEN_ADDRESS); + console.log("Zora Market Token:", ZORA_MARKET_TOKEN_ADDRESS); + console.log("Universal Router:", UNIVERSAL_ROUTER_ADDRESS); + console.log("Platform Treasury:", PLATFORM_TREASURY_ADDRESS); + console.log("Zora Factory:", ZORA_FACTORY_ADDRESS); + + // Get the contract factory + const ZoraPostMarketEscrow = await ethers.getContractFactory("ZoraPostMarketEscrow"); + + // Deploy the contract + const zoraPostMarketEscrow = await ZoraPostMarketEscrow.deploy( + ZORA_TOKEN_ADDRESS, + ZORA_MARKET_TOKEN_ADDRESS, + UNIVERSAL_ROUTER_ADDRESS, + PLATFORM_TREASURY_ADDRESS, + ZORA_FACTORY_ADDRESS + ); + + await zoraPostMarketEscrow.waitForDeployment(); + + const contractAddress = await zoraPostMarketEscrow.getAddress(); + console.log("ZoraPostMarketEscrow deployed to:", contractAddress); + + // Wait a few blocks for the deployment to be confirmed + console.log("Waiting for deployment confirmation..."); + await zoraPostMarketEscrow.deploymentTransaction().wait(5); + + console.log("Deployment successful!"); + console.log("Contract address:", contractAddress); + console.log("Network:", network.name); + console.log("Block number:", await ethers.provider.getBlockNumber()); + + // Verify the contract on BaseScan (if API key is provided) + if (process.env.BASESCAN_API_KEY) { + console.log("Verifying contract on BaseScan..."); + try { + await hre.run("verify:verify", { + address: contractAddress, + constructorArguments: [ + ZORA_TOKEN_ADDRESS, + ZORA_MARKET_TOKEN_ADDRESS, + UNIVERSAL_ROUTER_ADDRESS, + PLATFORM_TREASURY_ADDRESS, + ZORA_FACTORY_ADDRESS, + ], + }); + console.log("Contract verified on BaseScan!"); + } catch (error) { + console.error("Verification failed:", error.message); + } + } +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); \ No newline at end of file diff --git a/hardhat.config.js b/hardhat.config.js new file mode 100644 index 0000000..ac83d9f --- /dev/null +++ b/hardhat.config.js @@ -0,0 +1,52 @@ +require("@nomicfoundation/hardhat-toolbox"); +require("dotenv").config(); + +/** @type import('hardhat/config').HardhatUserConfig */ +module.exports = { + solidity: { + version: "0.8.20", + settings: { + viaIR: true, + optimizer: { + enabled: true, + runs: 200, + }, + }, + }, + networks: { + base: { + url: process.env.BASE_RPC_URL || "https://mainnet.base.org", + accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], + chainId: 8453, + }, + baseSepolia: { + url: process.env.BASE_SEPOLIA_RPC_URL || "https://sepolia.base.org", + accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], + chainId: 84532, + }, + }, + etherscan: { + apiKey: { + base: process.env.BASESCAN_API_KEY || "", + baseSepolia: process.env.BASESCAN_API_KEY || "", + }, + customChains: [ + { + network: "base", + chainId: 8453, + urls: { + apiURL: "https://api.basescan.org/api", + browserURL: "https://basescan.org", + }, + }, + { + network: "baseSepolia", + chainId: 84532, + urls: { + apiURL: "https://api-sepolia.basescan.org/api", + browserURL: "https://sepolia.basescan.org", + }, + }, + ], + }, +}; \ No newline at end of file diff --git a/package.json b/package.json index 619bb80..ebace98 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,19 @@ "build": "next build", "dev": "next dev", "lint": "next lint", - "start": "next start" + "start": "next start", + "compile": "hardhat compile", + "compile:zora": "node compile-zora.js", + "test:deploy": "node test-deploy.js", + "deploy:base": "hardhat run deploy.js --network base", + "deploy:base-sepolia": "hardhat run deploy.js --network baseSepolia", + "verify:base": "hardhat verify --network base", + "verify:base-sepolia": "hardhat verify --network baseSepolia" }, "dependencies": { + "@gelatonetwork/relay-sdk": "^5.6.0", "@hookform/resolvers": "^3.9.1", + "@openzeppelin/contracts": "^5.4.0", "@radix-ui/react-accordion": "1.2.2", "@radix-ui/react-alert-dialog": "1.1.4", "@radix-ui/react-aspect-ratio": "1.1.1", @@ -61,9 +70,12 @@ "zod": "^3.24.1" }, "devDependencies": { + "@nomicfoundation/hardhat-toolbox": "^4.0.0", "@types/node": "^22", "@types/react": "^19", "@types/react-dom": "^19", + "dotenv": "^16.3.1", + "hardhat": "^2.19.0", "postcss": "^8.5", "tailwindcss": "^3.4.17", "typescript": "^5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abcc156..d9d7114 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,15 @@ importers: .: dependencies: + '@gelatonetwork/relay-sdk': + specifier: ^5.6.0 + version: 5.6.0 '@hookform/resolvers': specifier: ^3.9.1 version: 3.9.1(react-hook-form@7.54.1(react@19.0.0)) + '@openzeppelin/contracts': + specifier: ^5.4.0 + version: 5.4.0 '@radix-ui/react-accordion': specifier: 1.2.2 version: 1.2.2(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -151,7 +157,7 @@ importers: version: 2.5.5 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17) + version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))) vaul: specifier: ^0.9.6 version: 0.9.6(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -159,6 +165,9 @@ importers: specifier: ^3.24.1 version: 3.24.1 devDependencies: + '@nomicfoundation/hardhat-toolbox': + specifier: ^4.0.0 + version: 4.0.0(988063d8340ca8ebf766d42cba698cb1) '@types/node': specifier: ^22 version: 22.0.0 @@ -168,18 +177,30 @@ importers: '@types/react-dom': specifier: ^19 version: 19.0.0 + dotenv: + specifier: ^16.3.1 + version: 16.6.1 + hardhat: + specifier: ^2.19.0 + version: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) postcss: specifier: ^8.5 version: 8.5.0 tailwindcss: specifier: ^3.4.17 - version: 3.4.17 + version: 3.4.17(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2)) typescript: specifier: ^5 version: 5.0.2 packages: + '@adraffy/ens-normalize@1.10.1': + resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} + + '@adraffy/ens-normalize@1.9.2': + resolution: {integrity: sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==} + '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -188,12 +209,128 @@ packages: resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} engines: {node: '>=6.9.0'} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@date-fns/tz@1.2.0': resolution: {integrity: sha512-LBrd7MiJZ9McsOgxqWX7AaxrDjcFVjWH/tIKJd7pnR7McaslGYOP1QmmiBXdJH/H/yLCT+rcQ7FaPBUxRGUtrg==} '@emnapi/runtime@1.4.5': resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + '@ethereumjs/rlp@4.0.1': + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + + '@ethereumjs/rlp@5.0.2': + resolution: {integrity: sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==} + engines: {node: '>=18'} + hasBin: true + + '@ethereumjs/util@8.1.0': + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + + '@ethereumjs/util@9.1.0': + resolution: {integrity: sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==} + engines: {node: '>=18'} + + '@ethersproject/abi@5.8.0': + resolution: {integrity: sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==} + + '@ethersproject/abstract-provider@5.8.0': + resolution: {integrity: sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==} + + '@ethersproject/abstract-signer@5.8.0': + resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} + + '@ethersproject/address@5.8.0': + resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} + + '@ethersproject/base64@5.8.0': + resolution: {integrity: sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==} + + '@ethersproject/basex@5.8.0': + resolution: {integrity: sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==} + + '@ethersproject/bignumber@5.8.0': + resolution: {integrity: sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==} + + '@ethersproject/bytes@5.8.0': + resolution: {integrity: sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==} + + '@ethersproject/constants@5.8.0': + resolution: {integrity: sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==} + + '@ethersproject/contracts@5.8.0': + resolution: {integrity: sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==} + + '@ethersproject/hash@5.8.0': + resolution: {integrity: sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==} + + '@ethersproject/hdnode@5.8.0': + resolution: {integrity: sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==} + + '@ethersproject/json-wallets@5.8.0': + resolution: {integrity: sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==} + + '@ethersproject/keccak256@5.8.0': + resolution: {integrity: sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==} + + '@ethersproject/logger@5.8.0': + resolution: {integrity: sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==} + + '@ethersproject/networks@5.8.0': + resolution: {integrity: sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==} + + '@ethersproject/pbkdf2@5.8.0': + resolution: {integrity: sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==} + + '@ethersproject/properties@5.8.0': + resolution: {integrity: sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==} + + '@ethersproject/providers@5.8.0': + resolution: {integrity: sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==} + + '@ethersproject/random@5.8.0': + resolution: {integrity: sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==} + + '@ethersproject/rlp@5.8.0': + resolution: {integrity: sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==} + + '@ethersproject/sha2@5.8.0': + resolution: {integrity: sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==} + + '@ethersproject/signing-key@5.8.0': + resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} + + '@ethersproject/solidity@5.8.0': + resolution: {integrity: sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==} + + '@ethersproject/strings@5.8.0': + resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} + + '@ethersproject/transactions@5.8.0': + resolution: {integrity: sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==} + + '@ethersproject/units@5.8.0': + resolution: {integrity: sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==} + + '@ethersproject/wallet@5.8.0': + resolution: {integrity: sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==} + + '@ethersproject/web@5.8.0': + resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} + + '@ethersproject/wordlists@5.8.0': + resolution: {integrity: sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==} + + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + '@floating-ui/core@1.7.2': resolution: {integrity: sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==} @@ -209,6 +346,10 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@gelatonetwork/relay-sdk@5.6.0': + resolution: {integrity: sha512-pSXE9xdPj6wmdcmoT7ETlbEjpvQvyFIZT1CoyzcUEupPplugm59ieUiX5E41oLeByQ7M1dliq2b96d/iIIA3kw==} + engines: {node: '>=14.0.0'} + '@hookform/resolvers@3.9.1': resolution: {integrity: sha512-ud2HqmGBM0P0IABqoskKWI6PEf6ZDDBZkFqe2Vnl+mTHCEHzr3ISjjZyCwTjC/qpL25JC9aIDkloQejvMeq0ug==} peerDependencies: @@ -336,6 +477,9 @@ packages: '@jridgewell/trace-mapping@0.3.29': resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@next/env@15.2.4': resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==} @@ -387,6 +531,41 @@ packages: cpu: [x64] os: [win32] + '@noble/curves@1.2.0': + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + + '@noble/curves@1.8.2': + resolution: {integrity: sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.1.2': + resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==} + + '@noble/hashes@1.2.0': + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + + '@noble/hashes@1.3.2': + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.7.2': + resolution: {integrity: sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@noble/secp256k1@1.7.1': + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -399,6 +578,118 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nomicfoundation/edr-darwin-arm64@0.11.3': + resolution: {integrity: sha512-w0tksbdtSxz9nuzHKsfx4c2mwaD0+l5qKL2R290QdnN9gi9AV62p9DHkOgfBdyg6/a6ZlnQqnISi7C9avk/6VA==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-darwin-x64@0.11.3': + resolution: {integrity: sha512-QR4jAFrPbOcrO7O2z2ESg+eUeIZPe2bPIlQYgiJ04ltbSGW27FblOzdd5+S3RoOD/dsZGKAvvy6dadBEl0NgoA==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-arm64-gnu@0.11.3': + resolution: {integrity: sha512-Ktjv89RZZiUmOFPspuSBVJ61mBZQ2+HuLmV67InNlh9TSUec/iDjGIwAn59dx0bF/LOSrM7qg5od3KKac4LJDQ==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-arm64-musl@0.11.3': + resolution: {integrity: sha512-B3sLJx1rL2E9pfdD4mApiwOZSrX0a/KQSBWdlq1uAhFKqkl00yZaY4LejgZndsJAa4iKGQJlGnw4HCGeVt0+jA==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-x64-gnu@0.11.3': + resolution: {integrity: sha512-D/4cFKDXH6UYyKPu6J3Y8TzW11UzeQI0+wS9QcJzjlrrfKj0ENW7g9VihD1O2FvXkdkTjcCZYb6ai8MMTCsaVw==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-x64-musl@0.11.3': + resolution: {integrity: sha512-ergXuIb4nIvmf+TqyiDX5tsE49311DrBky6+jNLgsGDTBaN1GS3OFwFS8I6Ri/GGn6xOaT8sKu3q7/m+WdlFzg==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-win32-x64-msvc@0.11.3': + resolution: {integrity: sha512-snvEf+WB3OV0wj2A7kQ+ZQqBquMcrozSLXcdnMdEl7Tmn+KDCbmFKBt3Tk0X3qOU4RKQpLPnTxdM07TJNVtung==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr@0.11.3': + resolution: {integrity: sha512-kqILRkAd455Sd6v8mfP3C1/0tCOynJWY+Ir+k/9Boocu2kObCrsFgG+ZWB7fSBVdd9cPVSNrnhWS+V+PEo637g==} + engines: {node: '>= 18'} + + '@nomicfoundation/hardhat-chai-matchers@2.1.0': + resolution: {integrity: sha512-GPhBNafh1fCnVD9Y7BYvoLnblnvfcq3j8YDbO1gGe/1nOFWzGmV7gFu5DkwFXF+IpYsS+t96o9qc/mPu3V3Vfw==} + peerDependencies: + '@nomicfoundation/hardhat-ethers': ^3.1.0 + chai: ^4.2.0 + ethers: ^6.14.0 + hardhat: ^2.26.0 + + '@nomicfoundation/hardhat-ethers@3.1.0': + resolution: {integrity: sha512-jx6fw3Ms7QBwFGT2MU6ICG292z0P81u6g54JjSV105+FbTZOF4FJqPksLfDybxkkOeq28eDxbqq7vpxRYyIlxA==} + peerDependencies: + ethers: ^6.14.0 + hardhat: ^2.26.0 + + '@nomicfoundation/hardhat-network-helpers@1.1.0': + resolution: {integrity: sha512-ZS+NulZuR99NUHt2VwcgZvgeD6Y63qrbORNRuKO+lTowJxNVsrJ0zbRx1j5De6G3dOno5pVGvuYSq2QVG0qCYg==} + peerDependencies: + hardhat: ^2.26.0 + + '@nomicfoundation/hardhat-toolbox@4.0.0': + resolution: {integrity: sha512-jhcWHp0aHaL0aDYj8IJl80v4SZXWMS1A2XxXa1CA6pBiFfJKuZinCkO6wb+POAt0LIfXB3gA3AgdcOccrcwBwA==} + peerDependencies: + '@nomicfoundation/hardhat-chai-matchers': ^2.0.0 + '@nomicfoundation/hardhat-ethers': ^3.0.0 + '@nomicfoundation/hardhat-network-helpers': ^1.0.0 + '@nomicfoundation/hardhat-verify': ^2.0.0 + '@typechain/ethers-v6': ^0.5.0 + '@typechain/hardhat': ^9.0.0 + '@types/chai': ^4.2.0 + '@types/mocha': '>=9.1.0' + '@types/node': '>=16.0.0' + chai: ^4.2.0 + ethers: ^6.4.0 + hardhat: ^2.11.0 + hardhat-gas-reporter: ^1.0.8 + solidity-coverage: ^0.8.1 + ts-node: '>=8.0.0' + typechain: ^8.3.0 + typescript: '>=4.5.0' + + '@nomicfoundation/hardhat-verify@2.1.0': + resolution: {integrity: sha512-ogRbwlzphOR2MK/TxDG/uOftEhVJtD81eBU32YZ/maqQOHYOPKymu7BvF9syp7b2fxID5/loEIvxizjW1yBvvQ==} + peerDependencies: + hardhat: ^2.26.0 + + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': + resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': + resolution: {integrity: sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': + resolution: {integrity: sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': + resolution: {integrity: sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': + resolution: {integrity: sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': + resolution: {integrity: sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': + resolution: {integrity: sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer@0.1.2': + resolution: {integrity: sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==} + engines: {node: '>= 12'} + + '@openzeppelin/contracts@5.4.0': + resolution: {integrity: sha512-eCYgWnLg6WO+X52I16TZt8uEjbtdkgLC0SUX/xnAksjjrQI4Xfn4iBRoI5j55dmlOhDv1Y7BoR3cU7e3WWhC6A==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1059,12 +1350,103 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + + '@scure/base@1.2.6': + resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} + + '@scure/bip32@1.1.5': + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} + + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + + '@scure/bip39@1.1.1': + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} + + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + + '@sentry/core@5.30.0': + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} + + '@sentry/hub@5.30.0': + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} + + '@sentry/minimal@5.30.0': + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} + + '@sentry/node@5.30.0': + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} + + '@sentry/tracing@5.30.0': + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} + + '@sentry/types@5.30.0': + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} + + '@sentry/utils@5.30.0': + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} + + '@solidity-parser/parser@0.14.5': + resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} + + '@solidity-parser/parser@0.20.2': + resolution: {integrity: sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==} + '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@typechain/ethers-v6@0.5.1': + resolution: {integrity: sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==} + peerDependencies: + ethers: 6.x + typechain: ^8.3.2 + typescript: '>=4.7.0' + + '@typechain/hardhat@9.1.0': + resolution: {integrity: sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA==} + peerDependencies: + '@typechain/ethers-v6': ^0.5.1 + ethers: ^6.1.0 + hardhat: ^2.9.9 + typechain: ^8.3.2 + + '@types/bn.js@5.2.0': + resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} + + '@types/chai-as-promised@7.1.8': + resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} + + '@types/chai@4.3.20': + resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} + + '@types/concat-stream@1.6.1': + resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} + '@types/d3-array@3.2.1': resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} @@ -1092,15 +1474,104 @@ packages: '@types/d3-timer@3.0.2': resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + '@types/form-data@0.0.33': + resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} + + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + + '@types/minimatch@6.0.0': + resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} + deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. + + '@types/mocha@10.0.10': + resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} + + '@types/node@10.17.60': + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + + '@types/node@18.15.13': + resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} + '@types/node@22.0.0': resolution: {integrity: sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==} + '@types/node@22.7.5': + resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} + + '@types/node@8.10.66': + resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} + + '@types/pbkdf2@3.1.2': + resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} + + '@types/prettier@2.7.3': + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + '@types/react-dom@19.0.0': resolution: {integrity: sha512-1KfiQKsH1o00p9m5ag12axHQSb3FOU9H20UTrujVSkNhuCrRHiQWFqgEnTNK5ZNfnzZv8UWrnXVqCmCF9fgY3w==} '@types/react@19.0.0': resolution: {integrity: sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==} + '@types/secp256k1@4.0.6': + resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + + abbrev@1.0.9: + resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + adm-zip@0.4.16: + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} + + aes-js@3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + + aes-js@4.0.0-beta.5: + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + amdefine@1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1109,6 +1580,10 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -1117,6 +1592,9 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + antlr4ts@0.5.0-alpha.4: + resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -1124,13 +1602,58 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-hidden@1.2.6: resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} + array-back@3.1.0: + resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} + engines: {node: '>=6'} + + array-back@4.0.2: + resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==} + engines: {node: '>=8'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async@1.5.2: + resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -1138,13 +1661,48 @@ packages: peerDependencies: postcss: ^8.1.0 + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios@0.29.0: + resolution: {integrity: sha512-Kjsq1xisgO5DjjNQwZFsy0gpcU1P2j36dZeQDXVhpIU26GVgkDUnROaHLSuluhMqtDE7aKA2hbKXG5yu5DN8Tg==} + + axios@1.11.0: + resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + base-x@3.0.11: + resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} + + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + blakejs@1.2.1: + resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} + + bn.js@4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + + bn.js@4.12.2: + resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + + bn.js@5.2.2: + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} @@ -1152,32 +1710,129 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + browserslist@4.25.1: resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58check@2.1.2: + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + caniuse-lite@1.0.30001727: resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + cbor@8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} + + chai-as-promised@7.1.2: + resolution: {integrity: sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==} + peerDependencies: + chai: '>= 2.1.2 < 6' + + chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + engines: {node: '>= 0.10'} + class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + + cli-table3@0.5.1: + resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} + engines: {node: '>=6'} + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} @@ -1188,10 +1843,16 @@ packages: react: ^18 || ^19 || ^19.0.0-rc react-dom: ^18 || ^19 || ^19.0.0-rc + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -1202,14 +1863,66 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + + command-line-args@5.2.1: + resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} + engines: {node: '>=4.0.0'} + + command-line-usage@6.1.3: + resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==} + engines: {node: '>=8.0.0'} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + + cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + create-hash@1.1.3: + resolution: {integrity: sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1268,9 +1981,48 @@ packages: date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + death@1.1.0: + resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + decimal.js-light@2.5.1: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + detect-libc@2.0.4: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} @@ -1281,18 +2033,44 @@ packages: didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + difflib@0.2.4: + resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} electron-to-chromium@1.5.191: resolution: {integrity: sha512-xcwe9ELcuxYLUFqZZxL19Z6HVKcvNkIwhbHUz7L3us6u12yR+7uY89dSl570f/IqNthx8dAw3tojG7i4Ni4tDA==} + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + embla-carousel-react@8.5.1: resolution: {integrity: sha512-z9Y0K84BJvhChXgqn2CFYbfEi6AwEr+FFVVKm/MqbTQ2zIzO1VQri6w67LcfpVF0AjbhwVMywDZqY4alYkjW5w==} peerDependencies: @@ -1312,13 +2090,113 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escodegen@1.8.1: + resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} + engines: {node: '>=0.12.0'} + hasBin: true + + esprima@2.7.3: + resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} + engines: {node: '>=0.10.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estraverse@1.9.3: + resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} + engines: {node: '>=0.10.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eth-gas-reporter@0.2.27: + resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} + peerDependencies: + '@codechecks/client': ^0.1.0 + peerDependenciesMeta: + '@codechecks/client': + optional: true + + ethereum-bloom-filters@1.2.0: + resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} + + ethereum-cryptography@0.1.3: + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} + + ethereum-cryptography@1.2.0: + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} + + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + + ethereumjs-util@7.1.5: + resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} + engines: {node: '>=10.0.0'} + + ethers@5.8.0: + resolution: {integrity: sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==} + + ethers@6.15.0: + resolution: {integrity: sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==} + engines: {node: '>=14.0.0'} + + ethers@6.7.0: + resolution: {integrity: sha512-pxt5hK82RNwcTX2gOZP81t6qVPVspnkpeivwEgQuK9XUvbNtghBnT8GNIb/gPh+WnVSfi8cXC9XlfT8sqc6D6w==} + engines: {node: '>=14.0.0'} + + ethjs-unit@0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} + eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-equals@5.2.2: resolution: {integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==} engines: {node: '>=6.0.0'} @@ -1327,20 +2205,88 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + find-replace@3.0.0: + resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} + engines: {node: '>=4.0.0'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} + form-data@2.5.5: + resolution: {integrity: sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==} + engines: {node: '>= 0.12'} + + form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} + engines: {node: '>= 6'} + + fp-ts@1.19.3: + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} + fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1354,10 +2300,33 @@ packages: peerDependencies: next: '>=13.2.0' + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} + get-port@3.2.0: + resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} + engines: {node: '>=4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + ghost-testrpc@0.0.2: + resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} + hasBin: true + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1370,10 +2339,151 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@5.0.15: + resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + hardhat-gas-reporter@1.0.10: + resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} + peerDependencies: + hardhat: ^2.0.2 + + hardhat@2.26.1: + resolution: {integrity: sha512-CXWuUaTtehxiHPCdlitntctfeYRgujmXkNX5gnrD5jdA6HhRQt+WWBZE/gHXbE29y/wDmmUL2d652rI0ctjqjw==} + hasBin: true + peerDependencies: + ts-node: '*' + typescript: '*' + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true + + has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash-base@2.0.2: + resolution: {integrity: sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==} + + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + http-basic@8.1.3: + resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} + engines: {node: '>=6.0.0'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-response-object@3.0.2: + resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + input-otp@1.4.1: resolution: {integrity: sha512-+yvpmKYKHi9jIGngxagY9oWiiblPB7+nEO75F2l2o4vs+6vpPZZmUl4tBNYuTCvQjhvEIbdNeJu70bhfYP2nbw==} peerDependencies: @@ -1384,6 +2494,13 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + io-ts@1.10.4: + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} + is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} @@ -1391,6 +2508,10 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} @@ -1399,6 +2520,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -1407,13 +2532,40 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isomorphic-ws@5.0.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} @@ -1421,9 +2573,48 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stream-stringify@3.1.6: + resolution: {integrity: sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==} + engines: {node: '>=7.10.1'} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonschema@1.5.0: + resolution: {integrity: sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==} + + keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -1431,37 +2622,134 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. + + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru_map@0.3.3: + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + lucide-react@0.454.0: resolution: {integrity: sha512-hw7zMDwykCLnEzgncEEjHeA6+45aeEzRYuKHuyRSOPkhko+J3ySGjGIzu+mmMfDFG1vazHepMaYFYHbTFAZAAQ==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + markdown-table@1.1.3: + resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + micro-eth-signer@0.14.0: + resolution: {integrity: sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==} + + micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + + micro-packed@0.7.3: + resolution: {integrity: sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mnemonist@0.38.5: + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} + + mocha@10.8.2: + resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} + engines: {node: '>= 14.0.0'} + hasBin: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -1470,6 +2758,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + next-themes@0.4.4: resolution: {integrity: sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==} peerDependencies: @@ -1497,9 +2788,30 @@ packages: sass: optional: true + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + + node-addon-api@5.1.0: + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + + node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + nofilter@3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} + + nopt@3.0.6: + resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} + hasBin: true + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -1508,6 +2820,10 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + number-to-bn@1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -1516,9 +2832,53 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + obliterator@2.0.5: + resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + + ordinal@1.0.3: + resolution: {integrity: sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + parse-cache-control@1.0.1: + resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -1530,6 +2890,17 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pbkdf2@3.1.3: + resolution: {integrity: sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==} + engines: {node: '>=0.12'} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1537,14 +2908,26 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -1590,12 +2973,41 @@ packages: resolution: {integrity: sha512-27VKOqrYfPncKA2NrFOVhP5MGAfHKLYn/Q0mz9cNQyRAKYi3VNHwYU2qKKqPCqgBmeeJ0uAFB56NumXZ5ZReXg==} engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + react-day-picker@9.8.0: resolution: {integrity: sha512-E0yhhg7R+pdgbl/2toTb0xBhsEAtmAx1l7qjIWYfcxOy8w4rTSVfbtBoSzVVhPwKP/5E9iL38LivzoE3AQDhCQ==} engines: {node: '>=18'} @@ -1674,10 +3086,21 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + recharts-scale@0.4.5: resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} @@ -1688,6 +3111,44 @@ packages: react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + + reduce-flatten@2.0.0: + resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} + engines: {node: '>=6'} + + req-cwd@2.0.0: + resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} + engines: {node: '>=4'} + + req-from@2.0.0: + resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} + engines: {node: '>=4'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + + resolve@1.1.7: + resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} + + resolve@1.17.0: + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} + resolve@1.22.10: resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} engines: {node: '>= 0.4'} @@ -1697,17 +3158,76 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + ripemd160@2.0.1: + resolution: {integrity: sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==} + + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + + rlp@2.2.7: + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sc-istanbul@0.4.6: + resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} + hasBin: true + scheduler@0.25.0: resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + scrypt-js@3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + + secp256k1@4.0.4: + resolution: {integrity: sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==} + engines: {node: '>=18.0.0'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.7.2: resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.12: + resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} + engines: {node: '>= 0.10'} + hasBin: true + + sha1@1.1.1: + resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} + sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1720,6 +3240,27 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -1727,6 +3268,25 @@ packages: simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + solc@0.8.26: + resolution: {integrity: sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==} + engines: {node: '>=10.0.0'} + hasBin: true + + solidity-coverage@0.8.16: + resolution: {integrity: sha512-qKqgm8TPpcnCK0HCDLJrjbOA2tQNEJY4dHX/LSSQ9iwYFS973MwjtgYn2Iv3vfCEQJTj5xtm4cuUMzlJsJSMbg==} + hasBin: true + peerDependencies: + hardhat: ^2.11.0 + sonner@1.7.1: resolution: {integrity: sha512-b6LHBfH32SoVasRFECrdY8p8s7hXPDn3OHUFbZZbiB1ctLS9Gdh6rpX2dVrpQA0kiL5jcRzDDldwwLkSKk3+QQ==} peerDependencies: @@ -1737,10 +3297,39 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.2.0: + resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} + engines: {node: '>=0.8.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stacktrace-parser@0.1.11: + resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==} + engines: {node: '>=6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + string-format@2.0.0: + resolution: {integrity: sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==} + + string-width@2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1749,6 +3338,16 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1757,6 +3356,14 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} + strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + styled-jsx@5.1.6: resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} @@ -1775,10 +3382,41 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true + supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + sync-request@6.1.0: + resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} + engines: {node: '>=8.0.0'} + + sync-rpc@1.3.6: + resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} + + table-layout@1.0.2: + resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} + engines: {node: '>=8.0.0'} + + table@6.9.0: + resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} + engines: {node: '>=10.0.0'} + tailwind-merge@2.5.5: resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==} @@ -1792,6 +3430,10 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + then-request@6.0.2: + resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} + engines: {node: '>=6.0.0'} + thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -1802,24 +3444,140 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + to-buffer@1.2.1: + resolution: {integrity: sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==} + engines: {node: '>= 0.4'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + ts-command-line-args@2.5.1: + resolution: {integrity: sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==} + hasBin: true + + ts-essentials@7.0.3: + resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==} + peerDependencies: + typescript: '>=3.7.0' + ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsort@0.0.1: + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} + + type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + typechain@8.3.2: + resolution: {integrity: sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==} + hasBin: true + peerDependencies: + typescript: '>=4.3.0' + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript@5.0.2: resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} engines: {node: '>=12.20'} hasBin: true + typical@4.0.0: + resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} + engines: {node: '>=8'} + + typical@5.2.0: + resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==} + engines: {node: '>=8'} + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + undici-types@6.11.1: resolution: {integrity: sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} + engines: {node: '>=14.0'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + update-browserslist-db@1.1.3: resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} hasBin: true @@ -1851,51 +3609,446 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - vaul@0.9.6: - resolution: {integrity: sha512-Ykk5FSu4ibeD6qfKQH/CkBRdSGWkxi35KMNei0z59kTPAlgzpE/Qf1gTx2sxih8Q05KBO/aFhcF/UkBW5iI1Ww==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + vaul@0.9.6: + resolution: {integrity: sha512-Ykk5FSu4ibeD6qfKQH/CkBRdSGWkxi35KMNei0z59kTPAlgzpE/Qf1gTx2sxih8Q05KBO/aFhcF/UkBW5iI1Ww==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + + victory-vendor@36.9.2: + resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + + web3-utils@1.10.4: + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} + engines: {node: '>=8.0.0'} + + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wordwrapjs@4.0.1: + resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} + engines: {node: '>=8.0.0'} + + workerpool@6.5.1: + resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.5.0: + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + +snapshots: + + '@adraffy/ens-normalize@1.10.1': {} + + '@adraffy/ens-normalize@1.9.2': {} + + '@alloc/quick-lru@5.2.0': {} + + '@babel/runtime@7.28.2': {} + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@date-fns/tz@1.2.0': {} + + '@emnapi/runtime@1.4.5': + dependencies: + tslib: 2.8.1 + optional: true + + '@ethereumjs/rlp@4.0.1': {} + + '@ethereumjs/rlp@5.0.2': {} + + '@ethereumjs/util@8.1.0': + dependencies: + '@ethereumjs/rlp': 4.0.1 + ethereum-cryptography: 2.2.1 + micro-ftch: 0.3.1 + + '@ethereumjs/util@9.1.0': + dependencies: + '@ethereumjs/rlp': 5.0.2 + ethereum-cryptography: 2.2.1 + + '@ethersproject/abi@5.8.0': + dependencies: + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/abstract-provider@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/networks': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/web': 5.8.0 + + '@ethersproject/abstract-signer@5.8.0': + dependencies: + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + + '@ethersproject/address@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/rlp': 5.8.0 + + '@ethersproject/base64@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + + '@ethersproject/basex@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/properties': 5.8.0 + + '@ethersproject/bignumber@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + bn.js: 5.2.2 + + '@ethersproject/bytes@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/constants@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + + '@ethersproject/contracts@5.8.0': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/transactions': 5.8.0 - victory-vendor@36.9.2: - resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + '@ethersproject/hash@5.8.0': + dependencies: + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/hdnode@5.8.0': + dependencies: + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/basex': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/pbkdf2': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/sha2': 5.8.0 + '@ethersproject/signing-key': 5.8.0 + '@ethersproject/strings': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/wordlists': 5.8.0 + + '@ethersproject/json-wallets@5.8.0': + dependencies: + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/hdnode': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/pbkdf2': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/random': 5.8.0 + '@ethersproject/strings': 5.8.0 + '@ethersproject/transactions': 5.8.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + + '@ethersproject/keccak256@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + js-sha3: 0.8.0 + + '@ethersproject/logger@5.8.0': {} + + '@ethersproject/networks@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/pbkdf2@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/sha2': 5.8.0 + + '@ethersproject/properties@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/providers@5.8.0': + dependencies: + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/basex': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/networks': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/random': 5.8.0 + '@ethersproject/rlp': 5.8.0 + '@ethersproject/sha2': 5.8.0 + '@ethersproject/strings': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/web': 5.8.0 + bech32: 1.1.4 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + '@ethersproject/random@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + '@ethersproject/rlp@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + '@ethersproject/sha2@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + hash.js: 1.1.7 - yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} - engines: {node: '>= 14.6'} - hasBin: true + '@ethersproject/signing-key@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + bn.js: 5.2.2 + elliptic: 6.6.1 + hash.js: 1.1.7 - zod@3.24.1: - resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + '@ethersproject/solidity@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/sha2': 5.8.0 + '@ethersproject/strings': 5.8.0 -snapshots: + '@ethersproject/strings@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 - '@alloc/quick-lru@5.2.0': {} + '@ethersproject/transactions@5.8.0': + dependencies: + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/rlp': 5.8.0 + '@ethersproject/signing-key': 5.8.0 - '@babel/runtime@7.28.2': {} + '@ethersproject/units@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 - '@date-fns/tz@1.2.0': {} + '@ethersproject/wallet@5.8.0': + dependencies: + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/hdnode': 5.8.0 + '@ethersproject/json-wallets': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/random': 5.8.0 + '@ethersproject/signing-key': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/wordlists': 5.8.0 - '@emnapi/runtime@1.4.5': + '@ethersproject/web@5.8.0': dependencies: - tslib: 2.8.1 - optional: true + '@ethersproject/base64': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/wordlists@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@fastify/busboy@2.1.1': {} '@floating-ui/core@1.7.2': dependencies: @@ -1914,6 +4067,17 @@ snapshots: '@floating-ui/utils@0.2.10': {} + '@gelatonetwork/relay-sdk@5.6.0': + dependencies: + axios: 0.29.0 + ethers: 6.7.0 + isomorphic-ws: 5.0.0(ws@8.18.0) + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + '@hookform/resolvers@3.9.1(react-hook-form@7.54.1(react@19.0.0))': dependencies: react-hook-form: 7.54.1(react@19.0.0) @@ -2016,6 +4180,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.4 + '@next/env@15.2.4': {} '@next/swc-darwin-arm64@15.2.4': @@ -2042,6 +4211,32 @@ snapshots: '@next/swc-win32-x64-msvc@15.2.4': optional: true + '@noble/curves@1.2.0': + dependencies: + '@noble/hashes': 1.3.2 + + '@noble/curves@1.4.2': + dependencies: + '@noble/hashes': 1.4.0 + + '@noble/curves@1.8.2': + dependencies: + '@noble/hashes': 1.7.2 + + '@noble/hashes@1.1.2': {} + + '@noble/hashes@1.2.0': {} + + '@noble/hashes@1.3.2': {} + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@1.7.2': {} + + '@noble/hashes@1.8.0': {} + + '@noble/secp256k1@1.7.1': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2054,6 +4249,123 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 + '@nomicfoundation/edr-darwin-arm64@0.11.3': {} + + '@nomicfoundation/edr-darwin-x64@0.11.3': {} + + '@nomicfoundation/edr-linux-arm64-gnu@0.11.3': {} + + '@nomicfoundation/edr-linux-arm64-musl@0.11.3': {} + + '@nomicfoundation/edr-linux-x64-gnu@0.11.3': {} + + '@nomicfoundation/edr-linux-x64-musl@0.11.3': {} + + '@nomicfoundation/edr-win32-x64-msvc@0.11.3': {} + + '@nomicfoundation/edr@0.11.3': + dependencies: + '@nomicfoundation/edr-darwin-arm64': 0.11.3 + '@nomicfoundation/edr-darwin-x64': 0.11.3 + '@nomicfoundation/edr-linux-arm64-gnu': 0.11.3 + '@nomicfoundation/edr-linux-arm64-musl': 0.11.3 + '@nomicfoundation/edr-linux-x64-gnu': 0.11.3 + '@nomicfoundation/edr-linux-x64-musl': 0.11.3 + '@nomicfoundation/edr-win32-x64-msvc': 0.11.3 + + '@nomicfoundation/hardhat-chai-matchers@2.1.0(@nomicfoundation/hardhat-ethers@3.1.0(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)))(chai@4.5.0)(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2))': + dependencies: + '@nomicfoundation/hardhat-ethers': 3.1.0(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)) + '@types/chai-as-promised': 7.1.8 + chai: 4.5.0 + chai-as-promised: 7.1.2(chai@4.5.0) + deep-eql: 4.1.4 + ethers: 6.15.0 + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + ordinal: 1.0.3 + + '@nomicfoundation/hardhat-ethers@3.1.0(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2))': + dependencies: + debug: 4.4.1(supports-color@8.1.1) + ethers: 6.15.0 + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + lodash.isequal: 4.5.0 + transitivePeerDependencies: + - supports-color + + '@nomicfoundation/hardhat-network-helpers@1.1.0(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2))': + dependencies: + ethereumjs-util: 7.1.5 + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + + '@nomicfoundation/hardhat-toolbox@4.0.0(988063d8340ca8ebf766d42cba698cb1)': + dependencies: + '@nomicfoundation/hardhat-chai-matchers': 2.1.0(@nomicfoundation/hardhat-ethers@3.1.0(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)))(chai@4.5.0)(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)) + '@nomicfoundation/hardhat-ethers': 3.1.0(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)) + '@nomicfoundation/hardhat-network-helpers': 1.1.0(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)) + '@nomicfoundation/hardhat-verify': 2.1.0(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)) + '@typechain/ethers-v6': 0.5.1(ethers@6.15.0)(typechain@8.3.2(typescript@5.0.2))(typescript@5.0.2) + '@typechain/hardhat': 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.15.0)(typechain@8.3.2(typescript@5.0.2))(typescript@5.0.2))(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2))(typechain@8.3.2(typescript@5.0.2)) + '@types/chai': 4.3.20 + '@types/mocha': 10.0.10 + '@types/node': 22.0.0 + chai: 4.5.0 + ethers: 6.15.0 + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + hardhat-gas-reporter: 1.0.10(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)) + solidity-coverage: 0.8.16(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)) + ts-node: 10.9.2(@types/node@22.0.0)(typescript@5.0.2) + typechain: 8.3.2(typescript@5.0.2) + typescript: 5.0.2 + + '@nomicfoundation/hardhat-verify@2.1.0(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2))': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + cbor: 8.1.0 + debug: 4.4.1(supports-color@8.1.1) + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + lodash.clonedeep: 4.5.0 + picocolors: 1.1.1 + semver: 6.3.1 + table: 6.9.0 + undici: 5.29.0 + transitivePeerDependencies: + - supports-color + + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer@0.1.2': + optionalDependencies: + '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.2 + '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 + + '@openzeppelin/contracts@5.4.0': {} + '@pkgjs/parseargs@0.11.0': optional: true @@ -2749,12 +5061,131 @@ snapshots: '@radix-ui/rect@1.1.0': {} + '@scure/base@1.1.9': {} + + '@scure/base@1.2.6': {} + + '@scure/bip32@1.1.5': + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/base': 1.1.9 + + '@scure/bip32@1.4.0': + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + + '@scure/bip39@1.1.1': + dependencies: + '@noble/hashes': 1.2.0 + '@scure/base': 1.1.9 + + '@scure/bip39@1.3.0': + dependencies: + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + + '@sentry/core@5.30.0': + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + + '@sentry/hub@5.30.0': + dependencies: + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + + '@sentry/minimal@5.30.0': + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/types': 5.30.0 + tslib: 1.14.1 + + '@sentry/node@5.30.0': + dependencies: + '@sentry/core': 5.30.0 + '@sentry/hub': 5.30.0 + '@sentry/tracing': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + cookie: 0.4.2 + https-proxy-agent: 5.0.1 + lru_map: 0.3.3 + tslib: 1.14.1 + transitivePeerDependencies: + - supports-color + + '@sentry/tracing@5.30.0': + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + + '@sentry/types@5.30.0': {} + + '@sentry/utils@5.30.0': + dependencies: + '@sentry/types': 5.30.0 + tslib: 1.14.1 + + '@solidity-parser/parser@0.14.5': + dependencies: + antlr4ts: 0.5.0-alpha.4 + + '@solidity-parser/parser@0.20.2': {} + '@swc/counter@0.1.3': {} '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@typechain/ethers-v6@0.5.1(ethers@6.15.0)(typechain@8.3.2(typescript@5.0.2))(typescript@5.0.2)': + dependencies: + ethers: 6.15.0 + lodash: 4.17.21 + ts-essentials: 7.0.3(typescript@5.0.2) + typechain: 8.3.2(typescript@5.0.2) + typescript: 5.0.2 + + '@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.15.0)(typechain@8.3.2(typescript@5.0.2))(typescript@5.0.2))(ethers@6.15.0)(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2))(typechain@8.3.2(typescript@5.0.2))': + dependencies: + '@typechain/ethers-v6': 0.5.1(ethers@6.15.0)(typechain@8.3.2(typescript@5.0.2))(typescript@5.0.2) + ethers: 6.15.0 + fs-extra: 9.1.0 + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + typechain: 8.3.2(typescript@5.0.2) + + '@types/bn.js@5.2.0': + dependencies: + '@types/node': 22.7.5 + + '@types/chai-as-promised@7.1.8': + dependencies: + '@types/chai': 4.3.20 + + '@types/chai@4.3.20': {} + + '@types/concat-stream@1.6.1': + dependencies: + '@types/node': 22.7.5 + '@types/d3-array@3.2.1': {} '@types/d3-color@3.1.3': {} @@ -2779,10 +5210,43 @@ snapshots: '@types/d3-timer@3.0.2': {} + '@types/form-data@0.0.33': + dependencies: + '@types/node': 22.7.5 + + '@types/glob@7.2.0': + dependencies: + '@types/minimatch': 6.0.0 + '@types/node': 22.7.5 + + '@types/minimatch@6.0.0': + dependencies: + minimatch: 9.0.5 + + '@types/mocha@10.0.10': {} + + '@types/node@10.17.60': {} + + '@types/node@18.15.13': {} + '@types/node@22.0.0': dependencies: undici-types: 6.11.1 + '@types/node@22.7.5': + dependencies: + undici-types: 6.19.8 + + '@types/node@8.10.66': {} + + '@types/pbkdf2@3.1.2': + dependencies: + '@types/node': 22.7.5 + + '@types/prettier@2.7.3': {} + + '@types/qs@6.14.0': {} + '@types/react-dom@19.0.0': dependencies: '@types/react': 19.0.0 @@ -2791,16 +5255,73 @@ snapshots: dependencies: csstype: 3.1.3 + '@types/secp256k1@4.0.6': + dependencies: + '@types/node': 22.7.5 + + abbrev@1.0.9: {} + + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + adm-zip@0.4.16: {} + + aes-js@3.0.0: {} + + aes-js@4.0.0-beta.5: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.1(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + amdefine@1.0.1: + optional: true + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-colors@4.1.3: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@3.0.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 ansi-styles@6.2.1: {} + antlr4ts@0.5.0-alpha.4: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -2808,12 +5329,40 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 + arg@4.1.3: {} + arg@5.0.2: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + aria-hidden@1.2.6: dependencies: tslib: 2.8.1 + array-back@3.1.0: {} + + array-back@4.0.2: {} + + array-union@2.1.0: {} + + array-uniq@1.0.3: {} + + asap@2.0.6: {} + + assertion-error@1.1.0: {} + + astral-regex@2.0.0: {} + + async@1.5.2: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + autoprefixer@10.4.20(postcss@8.5.0): dependencies: browserslist: 4.25.1 @@ -2824,10 +5373,60 @@ snapshots: postcss: 8.5.0 postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axios@0.29.0: + dependencies: + follow-redirects: 1.15.11(debug@4.4.1) + form-data: 4.0.4 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axios@1.11.0: + dependencies: + follow-redirects: 1.15.11(debug@4.4.1) + form-data: 4.0.4 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + balanced-match@1.0.2: {} + base-x@3.0.11: + dependencies: + safe-buffer: 5.2.1 + + bech32@1.1.4: {} + binary-extensions@2.3.0: {} + blakejs@1.2.1: {} + + bn.js@4.11.6: {} + + bn.js@4.12.2: {} + + bn.js@5.2.2: {} + + boxen@5.1.2: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -2836,6 +5435,19 @@ snapshots: dependencies: fill-range: 7.1.1 + brorand@1.1.0: {} + + browser-stdout@1.3.1: {} + + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.6 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + browserslist@4.25.1: dependencies: caniuse-lite: 1.0.30001727 @@ -2843,13 +5455,86 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.1) + bs58@4.0.1: + dependencies: + base-x: 3.0.11 + + bs58check@2.1.2: + dependencies: + bs58: 4.0.1 + create-hash: 1.2.0 + safe-buffer: 5.2.1 + + buffer-from@1.1.2: {} + + buffer-xor@1.0.3: {} + busboy@1.6.0: dependencies: streamsearch: 1.1.0 - camelcase-css@2.0.1: {} + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + camelcase-css@2.0.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001727: {} + + caseless@0.12.0: {} + + cbor@8.1.0: + dependencies: + nofilter: 3.1.0 + + chai-as-promised@7.1.2(chai@4.5.0): + dependencies: + chai: 4.5.0 + check-error: 1.0.3 + + chai@4.5.0: + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.4 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.1.0 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + charenc@0.0.2: {} - caniuse-lite@1.0.30001727: {} + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 chokidar@3.6.0: dependencies: @@ -2863,12 +5548,40 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + ci-info@2.0.0: {} + + cipher-base@1.0.6: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 + clean-stack@2.2.0: {} + + cli-boxes@2.2.1: {} + + cli-table3@0.5.1: + dependencies: + object-assign: 4.1.1 + string-width: 2.1.1 + optionalDependencies: + colors: 1.4.0 + client-only@0.0.1: {} + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + clsx@2.1.1: {} cmdk@1.0.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): @@ -2883,10 +5596,16 @@ snapshots: - '@types/react' - '@types/react-dom' + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + color-convert@2.0.1: dependencies: color-name: 1.1.4 + color-name@1.1.3: {} + color-name@1.1.4: {} color-string@1.9.1: @@ -2901,14 +5620,79 @@ snapshots: color-string: 1.9.1 optional: true + colors@1.4.0: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + command-exists@1.2.9: {} + + command-line-args@5.2.1: + dependencies: + array-back: 3.1.0 + find-replace: 3.0.0 + lodash.camelcase: 4.3.0 + typical: 4.0.0 + + command-line-usage@6.1.3: + dependencies: + array-back: 4.0.2 + chalk: 2.4.2 + table-layout: 1.0.2 + typical: 5.2.0 + commander@4.1.1: {} + commander@8.3.0: {} + + concat-map@0.0.1: {} + + concat-stream@1.6.2: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + + cookie@0.4.2: {} + + core-util-is@1.0.3: {} + + create-hash@1.1.3: + dependencies: + cipher-base: 1.0.6 + inherits: 2.0.4 + ripemd160: 2.0.2 + sha.js: 2.4.12 + + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.6 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.12 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.6 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + + create-require@1.1.1: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + crypt@0.0.2: {} + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -2955,8 +5739,36 @@ snapshots: date-fns@4.1.0: {} + death@1.1.0: {} + + debug@4.4.1(supports-color@8.1.1): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 + + decamelize@4.0.0: {} + decimal.js-light@2.5.1: {} + deep-eql@4.1.4: + dependencies: + type-detect: 4.1.0 + + deep-extend@0.6.0: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + delayed-stream@1.0.0: {} + + depd@2.0.0: {} + detect-libc@2.0.4: optional: true @@ -2964,6 +5776,18 @@ snapshots: didyoumean@1.2.2: {} + diff@4.0.2: {} + + diff@5.2.0: {} + + difflib@0.2.4: + dependencies: + heap: 0.2.7 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + dlv@1.1.3: {} dom-helpers@5.2.1: @@ -2971,10 +5795,28 @@ snapshots: '@babel/runtime': 7.28.2 csstype: 3.1.3 + dotenv@16.6.1: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + eastasianwidth@0.2.0: {} electron-to-chromium@1.5.191: {} + elliptic@6.6.1: + dependencies: + bn.js: 4.12.2 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + embla-carousel-react@8.5.1(react@19.0.0): dependencies: embla-carousel: 8.5.1 @@ -2991,10 +5833,191 @@ snapshots: emoji-regex@9.2.2: {} + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + + env-paths@2.2.1: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + escalade@3.2.0: {} + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escodegen@1.8.1: + dependencies: + esprima: 2.7.3 + estraverse: 1.9.3 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.2.0 + + esprima@2.7.3: {} + + esprima@4.0.1: {} + + estraverse@1.9.3: {} + + esutils@2.0.3: {} + + eth-gas-reporter@0.2.27: + dependencies: + '@solidity-parser/parser': 0.14.5 + axios: 1.11.0 + cli-table3: 0.5.1 + colors: 1.4.0 + ethereum-cryptography: 1.2.0 + ethers: 5.8.0 + fs-readdir-recursive: 1.1.0 + lodash: 4.17.21 + markdown-table: 1.1.3 + mocha: 10.8.2 + req-cwd: 2.0.0 + sha1: 1.1.1 + sync-request: 6.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + + ethereum-bloom-filters@1.2.0: + dependencies: + '@noble/hashes': 1.8.0 + + ethereum-cryptography@0.1.3: + dependencies: + '@types/pbkdf2': 3.1.2 + '@types/secp256k1': 4.0.6 + blakejs: 1.2.1 + browserify-aes: 1.2.0 + bs58check: 2.1.2 + create-hash: 1.2.0 + create-hmac: 1.1.7 + hash.js: 1.1.7 + keccak: 3.0.4 + pbkdf2: 3.1.3 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + scrypt-js: 3.0.1 + secp256k1: 4.0.4 + setimmediate: 1.0.5 + + ethereum-cryptography@1.2.0: + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/bip32': 1.1.5 + '@scure/bip39': 1.1.1 + + ethereum-cryptography@2.2.1: + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + + ethereumjs-util@7.1.5: + dependencies: + '@types/bn.js': 5.2.0 + bn.js: 5.2.2 + create-hash: 1.2.0 + ethereum-cryptography: 0.1.3 + rlp: 2.2.7 + + ethers@5.8.0: + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/basex': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/contracts': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/hdnode': 5.8.0 + '@ethersproject/json-wallets': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/networks': 5.8.0 + '@ethersproject/pbkdf2': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/providers': 5.8.0 + '@ethersproject/random': 5.8.0 + '@ethersproject/rlp': 5.8.0 + '@ethersproject/sha2': 5.8.0 + '@ethersproject/signing-key': 5.8.0 + '@ethersproject/solidity': 5.8.0 + '@ethersproject/strings': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/units': 5.8.0 + '@ethersproject/wallet': 5.8.0 + '@ethersproject/web': 5.8.0 + '@ethersproject/wordlists': 5.8.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + ethers@6.15.0: + dependencies: + '@adraffy/ens-normalize': 1.10.1 + '@noble/curves': 1.2.0 + '@noble/hashes': 1.3.2 + '@types/node': 22.7.5 + aes-js: 4.0.0-beta.5 + tslib: 2.7.0 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + ethers@6.7.0: + dependencies: + '@adraffy/ens-normalize': 1.9.2 + '@noble/hashes': 1.1.2 + '@noble/secp256k1': 1.7.1 + '@types/node': 18.15.13 + aes-js: 4.0.0-beta.5 + tslib: 2.4.0 + ws: 8.5.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + ethjs-unit@0.1.6: + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + eventemitter3@4.0.7: {} + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + + fast-deep-equal@3.1.3: {} + fast-equals@5.2.2: {} fast-glob@3.3.3: @@ -3005,21 +6028,90 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-levenshtein@2.0.6: {} + + fast-uri@3.0.6: {} + fastq@1.19.1: dependencies: reusify: 1.1.0 + fdir@6.4.6(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + find-replace@3.0.0: + dependencies: + array-back: 3.1.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.11(debug@4.4.1): + optionalDependencies: + debug: 4.4.1(supports-color@8.1.1) + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 + form-data@2.5.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + safe-buffer: 5.2.1 + + form-data@4.0.4: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + fp-ts@1.19.3: {} + fraction.js@4.3.7: {} + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-readdir-recursive@1.1.0: {} + + fs.realpath@1.0.0: {} + fsevents@2.3.3: optional: true @@ -3029,8 +6121,37 @@ snapshots: dependencies: next: 15.2.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + get-caller-file@2.0.5: {} + + get-func-name@2.0.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + get-nonce@1.0.1: {} + get-port@3.2.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + ghost-testrpc@0.0.2: + dependencies: + chalk: 2.4.2 + node-emoji: 1.11.0 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -3048,10 +6169,225 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@5.0.15: + dependencies: + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@7.1.7: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + globby@10.0.2: + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + glob: 7.2.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + hardhat-gas-reporter@1.0.10(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)): + dependencies: + array-uniq: 1.0.3 + eth-gas-reporter: 0.2.27 + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + sha1: 1.1.1 + transitivePeerDependencies: + - '@codechecks/client' + - bufferutil + - debug + - utf-8-validate + + hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2): + dependencies: + '@ethereumjs/util': 9.1.0 + '@ethersproject/abi': 5.8.0 + '@nomicfoundation/edr': 0.11.3 + '@nomicfoundation/solidity-analyzer': 0.1.2 + '@sentry/node': 5.30.0 + adm-zip: 0.4.16 + aggregate-error: 3.1.0 + ansi-escapes: 4.3.2 + boxen: 5.1.2 + chokidar: 4.0.3 + ci-info: 2.0.0 + debug: 4.4.1(supports-color@8.1.1) + enquirer: 2.4.1 + env-paths: 2.2.1 + ethereum-cryptography: 1.2.0 + find-up: 5.0.0 + fp-ts: 1.19.3 + fs-extra: 7.0.1 + immutable: 4.3.7 + io-ts: 1.10.4 + json-stream-stringify: 3.1.6 + keccak: 3.0.4 + lodash: 4.17.21 + micro-eth-signer: 0.14.0 + mnemonist: 0.38.5 + mocha: 10.8.2 + p-map: 4.0.0 + picocolors: 1.1.1 + raw-body: 2.5.2 + resolve: 1.17.0 + semver: 6.3.1 + solc: 0.8.26(debug@4.4.1) + source-map-support: 0.5.21 + stacktrace-parser: 0.1.11 + tinyglobby: 0.2.14 + tsort: 0.0.1 + undici: 5.29.0 + uuid: 8.3.2 + ws: 7.5.10 + optionalDependencies: + ts-node: 10.9.2(@types/node@22.0.0)(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + has-flag@1.0.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash-base@2.0.2: + dependencies: + inherits: 2.0.4 + + hash-base@3.1.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + + heap@0.2.7: {} + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + http-basic@8.1.3: + dependencies: + caseless: 0.12.0 + concat-stream: 1.6.2 + http-response-object: 3.0.2 + parse-cache-control: 1.0.1 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-response-object@3.0.2: + dependencies: + '@types/node': 10.17.60 + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.1(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + ignore@5.3.2: {} + + immutable@4.3.7: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + input-otp@1.4.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 @@ -3059,6 +6395,12 @@ snapshots: internmap@2.0.3: {} + interpret@1.4.0: {} + + io-ts@1.10.4: + dependencies: + fp-ts: 1.19.3 + is-arrayish@0.3.2: optional: true @@ -3066,22 +6408,44 @@ snapshots: dependencies: binary-extensions: 2.3.0 + is-callable@1.2.7: {} + is-core-module@2.16.1: dependencies: hasown: 2.0.2 is-extglob@2.1.1: {} + is-fullwidth-code-point@2.0.0: {} + is-fullwidth-code-point@3.0.0: {} is-glob@4.0.3: dependencies: is-extglob: 2.1.1 + is-hex-prefixed@1.0.0: {} + is-number@7.0.0: {} + is-plain-obj@2.1.0: {} + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 + + is-unicode-supported@0.1.0: {} + + isarray@1.0.0: {} + + isarray@2.0.5: {} + isexe@2.0.0: {} + isomorphic-ws@5.0.0(ws@8.18.0): + dependencies: + ws: 8.18.0 + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 @@ -3090,37 +6454,181 @@ snapshots: jiti@1.21.7: {} + js-sha3@0.8.0: {} + js-tokens@4.0.0: {} + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-schema-traverse@1.0.0: {} + + json-stream-stringify@3.1.6: {} + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonschema@1.5.0: {} + + keccak@3.0.4: + dependencies: + node-addon-api: 2.0.2 + node-gyp-build: 4.8.4 + readable-stream: 3.6.2 + + kind-of@6.0.3: {} + + levn@0.3.0: + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.camelcase@4.3.0: {} + + lodash.clonedeep@4.5.0: {} + + lodash.isequal@4.5.0: {} + + lodash.truncate@4.4.2: {} + lodash@4.17.21: {} + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 + loupe@2.3.7: + dependencies: + get-func-name: 2.0.2 + lru-cache@10.4.3: {} + lru_map@0.3.3: {} + lucide-react@0.454.0(react@19.0.0): dependencies: react: 19.0.0 + make-error@1.3.6: {} + + markdown-table@1.1.3: {} + + math-intrinsics@1.1.0: {} + + md5.js@1.3.5: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + memorystream@0.3.1: {} + merge2@1.4.1: {} + micro-eth-signer@0.14.0: + dependencies: + '@noble/curves': 1.8.2 + '@noble/hashes': 1.7.2 + micro-packed: 0.7.3 + + micro-ftch@0.3.1: {} + + micro-packed@0.7.3: + dependencies: + '@scure/base': 1.2.6 + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.2 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.2 + minimist@1.2.8: {} + minipass@7.1.2: {} + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + + mnemonist@0.38.5: + dependencies: + obliterator: 2.0.5 + + mocha@10.8.2: + dependencies: + ansi-colors: 4.1.3 + browser-stdout: 1.3.1 + chokidar: 3.6.0 + debug: 4.4.1(supports-color@8.1.1) + diff: 5.2.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 8.1.0 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 5.1.6 + ms: 2.1.3 + serialize-javascript: 6.0.2 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.5.1 + yargs: 16.2.0 + yargs-parser: 20.2.9 + yargs-unparser: 2.0.0 + + ms@2.1.3: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -3129,6 +6637,8 @@ snapshots: nanoid@3.3.11: {} + neo-async@2.6.2: {} + next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 @@ -3159,18 +6669,78 @@ snapshots: - '@babel/core' - babel-plugin-macros + node-addon-api@2.0.2: {} + + node-addon-api@5.1.0: {} + + node-emoji@1.11.0: + dependencies: + lodash: 4.17.21 + + node-gyp-build@4.8.4: {} + node-releases@2.0.19: {} + nofilter@3.1.0: {} + + nopt@3.0.6: + dependencies: + abbrev: 1.0.9 + normalize-path@3.0.0: {} normalize-range@0.1.2: {} + number-to-bn@1.7.0: + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + object-assign@4.1.1: {} object-hash@3.0.0: {} + object-inspect@1.13.4: {} + + obliterator@2.0.5: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + optionator@0.8.3: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.5 + + ordinal@1.0.3: {} + + os-tmpdir@1.0.2: {} + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + package-json-from-dist@1.0.1: {} + parse-cache-control@1.0.1: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -3180,14 +6750,33 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-type@4.0.0: {} + + pathval@1.1.1: {} + + pbkdf2@3.1.3: + dependencies: + create-hash: 1.1.3 + create-hmac: 1.1.7 + ripemd160: 2.0.1 + safe-buffer: 5.2.1 + sha.js: 2.4.12 + to-buffer: 1.2.1 + picocolors@1.1.1: {} picomatch@2.3.1: {} + picomatch@4.0.3: {} + pify@2.3.0: {} + pify@4.0.1: {} + pirates@4.0.7: {} + possible-typed-array-names@1.1.0: {} + postcss-import@15.1.0(postcss@8.5.0): dependencies: postcss: 8.5.0 @@ -3200,12 +6789,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.0 - postcss-load-config@4.0.2(postcss@8.5.0): + postcss-load-config@4.0.2(postcss@8.5.0)(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2)): dependencies: lilconfig: 3.1.3 yaml: 2.8.0 optionalDependencies: postcss: 8.5.0 + ts-node: 10.9.2(@types/node@22.0.0)(typescript@5.0.2) postcss-nested@6.2.0(postcss@8.5.0): dependencies: @@ -3231,14 +6821,41 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + prelude-ls@1.1.2: {} + + prettier@2.8.8: {} + + process-nextick-args@2.0.1: {} + + promise@8.3.0: + dependencies: + asap: 2.0.6 + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 + proxy-from-env@1.1.0: {} + + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + queue-microtask@1.2.3: {} + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + react-day-picker@9.8.0(react@19.0.0): dependencies: '@date-fns/tz': 1.2.0 @@ -3314,10 +6931,28 @@ snapshots: dependencies: pify: 2.3.0 + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 + readdirp@4.1.2: {} + recharts-scale@0.4.5: dependencies: decimal.js-light: 2.5.1 @@ -3335,6 +6970,36 @@ snapshots: tiny-invariant: 1.3.3 victory-vendor: 36.9.2 + rechoir@0.6.2: + dependencies: + resolve: 1.22.10 + + recursive-readdir@2.2.3: + dependencies: + minimatch: 3.1.2 + + reduce-flatten@2.0.0: {} + + req-cwd@2.0.0: + dependencies: + req-from: 2.0.0 + + req-from@2.0.0: + dependencies: + resolve-from: 3.0.0 + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + resolve-from@3.0.0: {} + + resolve@1.1.7: {} + + resolve@1.17.0: + dependencies: + path-parse: 1.0.7 + resolve@1.22.10: dependencies: is-core-module: 2.16.1 @@ -3343,14 +7008,90 @@ snapshots: reusify@1.1.0: {} + ripemd160@2.0.1: + dependencies: + hash-base: 2.0.2 + inherits: 2.0.4 + + ripemd160@2.0.2: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + + rlp@2.2.7: + dependencies: + bn.js: 5.2.2 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sc-istanbul@0.4.6: + dependencies: + abbrev: 1.0.9 + async: 1.5.2 + escodegen: 1.8.1 + esprima: 2.7.3 + glob: 5.0.15 + handlebars: 4.7.8 + js-yaml: 3.14.1 + mkdirp: 0.5.6 + nopt: 3.0.6 + once: 1.4.0 + resolve: 1.1.7 + supports-color: 3.2.3 + which: 1.3.1 + wordwrap: 1.0.0 + scheduler@0.25.0: {} - semver@7.7.2: - optional: true + scrypt-js@3.0.1: {} + + secp256k1@4.0.4: + dependencies: + elliptic: 6.6.1 + node-addon-api: 5.1.0 + node-gyp-build: 4.8.4 + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.7.2: {} + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + setimmediate@1.0.5: {} + + setprototypeof@1.2.0: {} + + sha.js@2.4.12: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.1 + + sha1@1.1.1: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 sharp@0.33.5: dependencies: @@ -3385,6 +7126,40 @@ snapshots: shebang-regex@3.0.0: {} + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + signal-exit@4.1.0: {} simple-swizzle@0.2.2: @@ -3392,6 +7167,49 @@ snapshots: is-arrayish: 0.3.2 optional: true + slash@3.0.0: {} + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + solc@0.8.26(debug@4.4.1): + dependencies: + command-exists: 1.2.9 + commander: 8.3.0 + follow-redirects: 1.15.11(debug@4.4.1) + js-sha3: 0.8.0 + memorystream: 0.3.1 + semver: 5.7.2 + tmp: 0.0.33 + transitivePeerDependencies: + - debug + + solidity-coverage@0.8.16(hardhat@2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2)): + dependencies: + '@ethersproject/abi': 5.8.0 + '@solidity-parser/parser': 0.20.2 + chalk: 2.4.2 + death: 1.1.0 + difflib: 0.2.4 + fs-extra: 8.1.0 + ghost-testrpc: 0.0.2 + global-modules: 2.0.0 + globby: 10.0.2 + hardhat: 2.26.1(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))(typescript@5.0.2) + jsonschema: 1.5.0 + lodash: 4.17.21 + mocha: 10.8.2 + node-emoji: 1.11.0 + pify: 4.0.1 + recursive-readdir: 2.2.3 + sc-istanbul: 0.4.6 + semver: 7.7.2 + shelljs: 0.8.5 + web3-utils: 1.10.4 + sonner@1.7.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: react: 19.0.0 @@ -3399,8 +7217,35 @@ snapshots: source-map-js@1.2.1: {} + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.2.0: + dependencies: + amdefine: 1.0.1 + optional: true + + source-map@0.6.1: {} + + sprintf-js@1.0.3: {} + + stacktrace-parser@0.1.11: + dependencies: + type-fest: 0.7.1 + + statuses@2.0.1: {} + streamsearch@1.1.0: {} + string-format@2.0.0: {} + + string-width@2.1.1: + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -3413,6 +7258,18 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@4.0.0: + dependencies: + ansi-regex: 3.0.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -3421,6 +7278,12 @@ snapshots: dependencies: ansi-regex: 6.1.0 + strip-hex-prefix@1.0.0: + dependencies: + is-hex-prefixed: 1.0.0 + + strip-json-comments@3.1.1: {} + styled-jsx@5.1.6(react@19.0.0): dependencies: client-only: 0.0.1 @@ -3436,15 +7299,56 @@ snapshots: pirates: 4.0.7 ts-interface-checker: 0.1.13 + supports-color@3.2.3: + dependencies: + has-flag: 1.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} + sync-request@6.1.0: + dependencies: + http-response-object: 3.0.2 + sync-rpc: 1.3.6 + then-request: 6.0.2 + + sync-rpc@1.3.6: + dependencies: + get-port: 3.2.0 + + table-layout@1.0.2: + dependencies: + array-back: 4.0.2 + deep-extend: 0.6.0 + typical: 5.2.0 + wordwrapjs: 4.0.1 + + table@6.9.0: + dependencies: + ajv: 8.17.1 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + tailwind-merge@2.5.5: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.17): + tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2))): dependencies: - tailwindcss: 3.4.17 + tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2)) - tailwindcss@3.4.17: + tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -3463,7 +7367,7 @@ snapshots: postcss: 8.5.0 postcss-import: 15.1.0(postcss@8.5.0) postcss-js: 4.0.1(postcss@8.5.0) - postcss-load-config: 4.0.2(postcss@8.5.0) + postcss-load-config: 4.0.2(postcss@8.5.0)(ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2)) postcss-nested: 6.2.0(postcss@8.5.0) postcss-selector-parser: 6.1.2 resolve: 1.22.10 @@ -3471,6 +7375,20 @@ snapshots: transitivePeerDependencies: - ts-node + then-request@6.0.2: + dependencies: + '@types/concat-stream': 1.6.1 + '@types/form-data': 0.0.33 + '@types/node': 8.10.66 + '@types/qs': 6.14.0 + caseless: 0.12.0 + concat-stream: 1.6.2 + form-data: 2.5.5 + http-basic: 8.1.3 + http-response-object: 3.0.2 + promise: 8.3.0 + qs: 6.14.0 + thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -3481,18 +7399,127 @@ snapshots: tiny-invariant@1.3.3: {} + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + to-buffer@1.2.1: + dependencies: + isarray: 2.0.5 + safe-buffer: 5.2.1 + typed-array-buffer: 1.0.3 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + toidentifier@1.0.1: {} + + ts-command-line-args@2.5.1: + dependencies: + chalk: 4.1.2 + command-line-args: 5.2.1 + command-line-usage: 6.1.3 + string-format: 2.0.0 + + ts-essentials@7.0.3(typescript@5.0.2): + dependencies: + typescript: 5.0.2 + ts-interface-checker@0.1.13: {} + ts-node@10.9.2(@types/node@22.0.0)(typescript@5.0.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.0.0 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.0.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + tslib@1.14.1: {} + + tslib@2.4.0: {} + + tslib@2.7.0: {} + tslib@2.8.1: {} + tsort@0.0.1: {} + + type-check@0.3.2: + dependencies: + prelude-ls: 1.1.2 + + type-detect@4.1.0: {} + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@0.7.1: {} + + typechain@8.3.2(typescript@5.0.2): + dependencies: + '@types/prettier': 2.7.3 + debug: 4.4.1(supports-color@8.1.1) + fs-extra: 7.0.1 + glob: 7.1.7 + js-sha3: 0.8.0 + lodash: 4.17.21 + mkdirp: 1.0.4 + prettier: 2.8.8 + ts-command-line-args: 2.5.1 + ts-essentials: 7.0.3(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typedarray@0.0.6: {} + typescript@5.0.2: {} + typical@4.0.0: {} + + typical@5.2.0: {} + + uglify-js@3.19.3: + optional: true + undici-types@6.11.1: {} + undici-types@6.19.8: {} + + undici@5.29.0: + dependencies: + '@fastify/busboy': 2.1.1 + + universalify@0.1.2: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + update-browserslist-db@1.1.3(browserslist@4.25.1): dependencies: browserslist: 4.25.1 @@ -3518,8 +7545,14 @@ snapshots: dependencies: react: 19.0.0 + utf8@3.0.0: {} + util-deprecate@1.0.2: {} + uuid@8.3.2: {} + + v8-compile-cache-lib@3.0.1: {} + vaul@0.9.6(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@radix-ui/react-dialog': 1.1.4(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -3546,10 +7579,50 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 + web3-utils@1.10.4: + dependencies: + '@ethereumjs/util': 8.1.0 + bn.js: 5.2.2 + ethereum-bloom-filters: 1.2.0 + ethereum-cryptography: 2.2.1 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: 2.1.0 + utf8: 3.0.0 + + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + which@2.0.2: dependencies: isexe: 2.0.0 + widest-line@3.1.0: + dependencies: + string-width: 4.2.3 + + word-wrap@1.2.5: {} + + wordwrap@1.0.0: {} + + wordwrapjs@4.0.1: + dependencies: + reduce-flatten: 2.0.0 + typical: 5.2.0 + + workerpool@6.5.1: {} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -3562,6 +7635,41 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrappy@1.0.2: {} + + ws@7.5.10: {} + + ws@8.17.1: {} + + ws@8.18.0: {} + + ws@8.5.0: {} + + y18n@5.0.8: {} + yaml@2.8.0: {} + yargs-parser@20.2.9: {} + + yargs-unparser@2.0.0: + dependencies: + camelcase: 6.3.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + yn@3.1.1: {} + + yocto-queue@0.1.0: {} + zod@3.24.1: {} diff --git a/test-deploy.js b/test-deploy.js new file mode 100644 index 0000000..99c572e --- /dev/null +++ b/test-deploy.js @@ -0,0 +1,64 @@ +const { ethers } = require("hardhat"); + +async function main() { + console.log("Testing ZoraPostMarketEscrow deployment parameters..."); + + // Test addresses (these are placeholder addresses for testing) + const testAddresses = { + ZORA_TOKEN_ADDRESS: "0x0000000000000000000000000000000000000001", + ZORA_MARKET_TOKEN_ADDRESS: "0x0000000000000000000000000000000000000002", + UNIVERSAL_ROUTER_ADDRESS: "0x198EF79F1F515F02dFE9e3115eD9fC07183f02fC", // Base Universal Router + PLATFORM_TREASURY_ADDRESS: "0x0000000000000000000000000000000000000003", + ZORA_FACTORY_ADDRESS: "0x0000000000000000000000000000000000000004" + }; + + console.log("Test deployment parameters:"); + console.log("ZORA Token:", testAddresses.ZORA_TOKEN_ADDRESS); + console.log("Zora Market Token:", testAddresses.ZORA_MARKET_TOKEN_ADDRESS); + console.log("Universal Router:", testAddresses.UNIVERSAL_ROUTER_ADDRESS); + console.log("Platform Treasury:", testAddresses.PLATFORM_TREASURY_ADDRESS); + console.log("Zora Factory:", testAddresses.ZORA_FACTORY_ADDRESS); + + try { + // Get the contract factory + const ZoraPostMarketEscrow = await ethers.getContractFactory("ZoraPostMarketEscrow"); + + console.log("\nāœ… Contract factory created successfully!"); + console.log("Contract bytecode length:", ZoraPostMarketEscrow.bytecode.length, "bytes"); + + // Test constructor parameters encoding + const constructorArgs = [ + testAddresses.ZORA_TOKEN_ADDRESS, + testAddresses.ZORA_MARKET_TOKEN_ADDRESS, + testAddresses.UNIVERSAL_ROUTER_ADDRESS, + testAddresses.PLATFORM_TREASURY_ADDRESS, + testAddresses.ZORA_FACTORY_ADDRESS + ]; + + console.log("\nāœ… Constructor parameters encoded successfully!"); + console.log("Number of constructor arguments:", constructorArgs.length); + + // Test contract creation (without deploying) + const deploymentData = ZoraPostMarketEscrow.getDeployTransaction(...constructorArgs); + console.log("\nāœ… Deployment transaction data created successfully!"); + console.log("Estimated gas for deployment:", deploymentData.gasLimit?.toString() || "Unknown"); + + console.log("\nšŸŽ‰ All tests passed! The contract is ready for deployment."); + console.log("\nNext steps:"); + console.log("1. Set up your .env file with real addresses"); + console.log("2. Ensure you have ETH on Base Layer 2"); + console.log("3. Run: pnpm deploy:base-sepolia (for testnet)"); + console.log("4. Run: pnpm deploy:base (for mainnet)"); + + } catch (error) { + console.error("āŒ Test failed:", error.message); + process.exit(1); + } +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); \ No newline at end of file