{"_id":"@aixweb3/evi-contracts","_rev":"2-026dcca0bf00f5864aa6b15dd5eadf8a","name":"@aixweb3/evi-contracts","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aixweb3/evi-contracts","version":"1.0.0","keywords":["ethereum","arbitrum","smart-contracts","blockchain","solidity","ai","web3","gemini","llm"],"author":{"name":"BlockX AI"},"license":"MIT","_id":"@aixweb3/evi-contracts@1.0.0","maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"homepage":"https://github.com/blockxai/evi-contracts#readme","bugs":{"url":"https://github.com/blockxai/evi-contracts/issues"},"bin":{"evi":"src/cli.js"},"dist":{"shasum":"5cb852ffc10264177ee4d96b700b27e600448232","tarball":"https://registry.npmjs.org/@aixweb3/evi-contracts/-/evi-contracts-1.0.0.tgz","fileCount":14,"integrity":"sha512-j0VuNeY/xpjg4L42eXmpNK6djxo57ifeX853sHcZdAogAPbkWXlFEJmLAm5DCLZLUOYJkyfTPUYc1qLsSzXRqg==","signatures":[{"sig":"MEUCIQDhTDMReQrAUMVkdqI7pxhIyEc5SVuz/k1iE8+h23SD9AIgJpad9rRdv8sIMKMhZo7qQnn1msjftMF0XDj47Uu2c9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56481},"main":"src/index.js","engines":{"node":">=14.0.0"},"scripts":{"test":"jest","start":"node src/web/server.js","prepare":"chmod +x ./src/cli.js"},"_npmUser":{"name":"blockxai","actor":{"name":"blockxai","type":"user","email":"mohit@blockxint.com"},"email":"mohit@blockxint.com"},"repository":{"url":"git+https://github.com/blockxai/evi-contracts.git","type":"git"},"_npmVersion":"10.9.2","description":"AI-powered smart contract generator and deployer for Arbitrum networks with Gemini 2.0 Flash LLM integration","directories":{},"_nodeVersion":"23.4.0","dependencies":{"cors":"^2.8.5","solc":"^0.8.19","axios":"^1.6.0","dotenv":"^16.3.1","ethers":"^5.7.2","openai":"^4.0.0","express":"^4.18.2","hardhat":"^2.18.3","commander":"^11.1.0","web3modal":"^1.9.12","body-parser":"^1.20.2","@google/generative-ai":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/evi-contracts_1.0.0_1750147497657_0.6062725817399033","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aixweb3/evi-contracts","version":"1.0.1","description":"AI-powered smart contract generator and deployer for Arbitrum networks with Gemini 2.0 Flash LLM integration","main":"src/index.js","bin":{"evi":"src/cli.js"},"scripts":{"start":"node src/web/server.js","test":"jest","prepare":"chmod +x ./src/cli.js"},"keywords":["ethereum","arbitrum","smart-contracts","blockchain","solidity","ai","web3","gemini","llm"],"author":{"name":"BlockX AI"},"license":"MIT","dependencies":{"@aixweb3/evi-contracts":"^1.0.1","@google/generative-ai":"^0.2.0","axios":"^1.6.0","body-parser":"^1.20.2","commander":"^11.1.0","cors":"^2.8.5","dotenv":"^16.3.1","ethers":"^5.7.2","express":"^4.18.2","hardhat":"^2.18.3","openai":"^4.0.0","solc":"^0.8.19","web3modal":"^1.9.12"},"devDependencies":{"jest":"^29.7.0"},"engines":{"node":">=14.0.0"},"repository":{"type":"git","url":"git+https://github.com/blockxai/evi-contracts.git"},"publishConfig":{"access":"public"},"_id":"@aixweb3/evi-contracts@1.0.1","bugs":{"url":"https://github.com/blockxai/evi-contracts/issues"},"homepage":"https://github.com/blockxai/evi-contracts#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-/vQSyJ1fdmRln7HQbs7j3ogZwxqM2aG3MfrgxefjDKt/tmFOUsOMRRop1+ZPHh+/GjdzZnFBw//l8j4uOaCZ8g==","shasum":"1da47b2ae6bc5c4d3f26ed0e08eb3199bf5b9347","tarball":"https://registry.npmjs.org/@aixweb3/evi-contracts/-/evi-contracts-1.0.1.tgz","fileCount":14,"unpackedSize":58055,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGSEELeV52cUea1bpxqS5pc4w/rEaZHiZpatQXTochWkAiAVbUBUj/FE1D5tUZPE61YhPAirHLUsGDi/KCkUbc15JA=="}]},"_npmUser":{"name":"blockxai","email":"mohit@blockxint.com","actor":{"name":"blockxai","email":"mohit@blockxint.com","type":"user"}},"directories":{},"maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/evi-contracts_1.0.1_1750149187077_0.05043684405773674"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-17T08:04:57.583Z","modified":"2025-06-17T08:33:07.445Z","1.0.0":"2025-06-17T08:04:57.829Z","1.0.1":"2025-06-17T08:33:07.249Z"},"bugs":{"url":"https://github.com/blockxai/evi-contracts/issues"},"author":{"name":"BlockX AI"},"license":"MIT","homepage":"https://github.com/blockxai/evi-contracts#readme","keywords":["ethereum","arbitrum","smart-contracts","blockchain","solidity","ai","web3","gemini","llm"],"repository":{"type":"git","url":"git+https://github.com/blockxai/evi-contracts.git"},"description":"AI-powered smart contract generator and deployer for Arbitrum networks with Gemini 2.0 Flash LLM integration","maintainers":[{"name":"blockxai","email":"mohit@blockxint.com"}],"readme":"# EVI Contracts\n\nAI-powered smart contract generator and deployer for Arbitrum networks with Gemini 2.0 Flash LLM integration.\n\n## Features\n\n- **AI Smart Contract Generation**: Generate Solidity contracts using Google Gemini 2.0 Flash LLM or OpenAI\n- **Template-based Generation**: Create contracts from pre-defined templates\n- **Multi-Network Deployment**: Deploy to Arbitrum One and Arbitrum Sepolia\n- **Contract Verification**: Verify contracts on Arbiscan\n- **Multiple Interfaces**: Command-line and web interfaces\n- **Secure Key Management**: Private key or mnemonic for deployment\n\n## Installation\n\n```bash\nnpm install -g evi-contracts\n```\n\n## Quick Start\n\n### Generate a Contract\n\nUsing Gemini (default):\n\n```bash\nevi generate --description \"Create an ERC20 token with a fixed supply of 1000000 tokens\" --output MyToken.sol\n```\n\nUsing OpenAI:\n\n```bash\nevi generate --description \"Create an ERC20 token with a fixed supply of 1000000 tokens\" --provider openai --output MyToken.sol\n```\n\n### Deploy a Contract\n\n```bash\nevi deploy --file MyToken.sol --network arbitrumSepolia --args '[1000000]'\n```\n\n### Verify a Contract\n\n```bash\nevi verify --address 0xContractAddress --file MyToken.sol --network arbitrumSepolia\n```\n\n## Setup\n\n1. Create a `.env` file with your API keys:\n\n```\n# API Keys\nOPENAI_API_KEY=your_openai_api_key\nGEMINI_API_KEY=your_gemini_api_key\nARBISCAN_API_KEY=your_arbiscan_api_key\n\n# Deployment Credentials (use only one of these)\nPRIVATE_KEY=your_private_key\nMNEMONIC=your_mnemonic_phrase\n\n# Web Server Configuration\nPORT=3001\n```\n\n## CLI Usage\n\nFor detailed CLI usage instructions, see [CLI-USAGE.md](CLI-USAGE.md).\n\n## API Usage\n\n### Generate a Contract\n\n```javascript\nconst { generateFromDescription } = require('evi-contracts/src/generator');\n\nasync function generateContract() {\n  const description = \"Create an ERC20 token with a fixed supply of 1000000 tokens\";\n  const options = { provider: 'gemini' }; // or 'openai'\n  \n  const contractSource = await generateFromDescription(description, options);\n  console.log(contractSource);\n}\n```\n\n### Deploy a Contract\n\n```javascript\nconst { deployContract } = require('evi-contracts/src/deployer');\n\nasync function deployMyContract() {\n  const contractSource = `...your contract source code...`;\n  const options = {\n    network: 'arbitrumSepolia',\n    constructorArgs: [1000000]\n  };\n  \n  const result = await deployContract(contractSource, options);\n  console.log(`Contract deployed to: ${result.address}`);\n}\n```\n\n## Testing Your Installation\n\nAfter installing the package, follow these steps to verify it works correctly:\n\n### Step 1: Check Installation\n\n```bash\n# Verify the installed version\nnpx evi --version\n```\n\n### Step 2: Explore Available Commands\n\n```bash\n# View all available commands\nnpx evi --help\n\n# Get help for specific commands\nnpx evi generate --help\nnpx evi deploy --help\n```\n\n### Step 3: List Available Templates\n\n```bash\n# View all contract templates\nnpx evi list-templates\n```\n\n### Step 4: Generate a Contract\n\n```bash\n# Generate using a template\nnpx evi generate --template ERC20Token --output TokenFromTemplate.sol\n\n# Or generate using AI (requires API keys in .env)\nnpx evi generate --description \"Create an ERC20 token with 1000000 supply\" --provider gemini --output AIToken.sol\n```\n\n### Step 5: Review Generated Contract\n\n```bash\n# View the generated contract\ncat TokenFromTemplate.sol\n```\n\n### Step 6: Test as a JavaScript Library\n\nCreate a test file (test-lib.js):\n\n```javascript\nconst { generateFromTemplate } = require('@aixweb3/evi-contracts/src/generator');\n\nasync function testLib() {\n  try {\n    const contract = await generateFromTemplate('ERC20Token', {\n      name: 'TestToken',\n      symbol: 'TST',\n      decimals: 18,\n      totalSupply: 1000000\n    });\n    \n    console.log('Successfully generated contract:');\n    console.log(contract.slice(0, 300) + '...');\n  } catch (error) {\n    console.error('Error testing library:', error);\n  }\n}\n\ntestLib();\n```\n\nRun the test:\n```bash\nnode test-lib.js\n```\n\n## License\n\nMIT\n\n## Credits\n\nEVI Contracts is built and maintained by EVI Contributors.\n","readmeFilename":"README.md"}