{"_id":"@c-forge/arbiter-sdk","name":"@c-forge/arbiter-sdk","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.2":{"name":"@c-forge/arbiter-sdk","version":"0.0.2","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"tsup src/index.ts --format esm,cjs --dts","prepublishOnly":"npm run build","example":"ts-node"},"keywords":["ethereum","blockchain","defi","sdk","arbiter","amm","pool"],"author":"","license":"ISC","description":"SDK for interacting with Arbiter AMM Pool Currency Hook contract","dependencies":{"@pancakeswap/infinity-sdk":"^1.0.2","viem":"^2.31.3"},"devDependencies":{"@types/node":"^24.0.3","tsup":"^8.5.0","typescript":"^5.8.3","ts-node":"^10.9.2"},"_id":"@c-forge/arbiter-sdk@0.0.2","gitHead":"47351b1e4149c41a680abae25a89ede6d12ebf5f","_nodeVersion":"23.8.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-NU3A9XNkOGWkVAxTxxDJD7apZpG1AJC9gkZMVX39RTxYKpXhQFvkGrJCs2rwSeWnDFPRU3amZXfdCVdEbm7wGQ==","shasum":"a57d3fde1110905701b6d8daa10ca80b51ef2bb9","tarball":"https://registry.npmjs.org/@c-forge/arbiter-sdk/-/arbiter-sdk-0.0.2.tgz","fileCount":6,"unpackedSize":307792,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCWC0jEb3FZmGiT4FlHTAnop8o9IHmJcqzqU9ZQxOnowwIhALKOUkoeD92xDX3hYLkzBPNP5W0lzB0EPyJWKF1yIcii"}]},"_npmUser":{"name":"wookashwackomy","email":"wookie.xp.07@gmail.com","actor":{"name":"wookashwackomy","email":"wookie.xp.07@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"nradko","email":"konrad.wierzbik@gmail.com"},{"name":"wookashwackomy","email":"wookie.xp.07@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/arbiter-sdk_0.0.2_1750249198045_0.4814236583935514"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-18T12:19:57.939Z","0.0.2":"2025-06-18T12:19:58.203Z","modified":"2025-06-18T12:19:58.517Z"},"maintainers":[{"name":"nradko","email":"konrad.wierzbik@gmail.com"},{"name":"wookashwackomy","email":"wookie.xp.07@gmail.com"}],"description":"SDK for interacting with Arbiter AMM Pool Currency Hook contract","keywords":["ethereum","blockchain","defi","sdk","arbiter","amm","pool"],"license":"ISC","readme":"# Arbiter SDK\n\nA TypeScript SDK for interacting with the Arbiter AMM Pool Currency Hook contract.\n\n## Installation\n\n```bash\nnpm install arbiter-sdk\n```\n\n## Usage\n\nThe Arbiter SDK provides a functional approach to interact with the Arbiter contract. Each function is available as a separate import.\n\n### Setting Up Clients\n\n```typescript\nimport { createClient } from \"arbiter-sdk\";\nimport { createWalletClient, http } from \"viem\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\n// Set up client configuration\nconst clientConfig = {\n  rpcUrl: \"https://arb1.arbitrum.io/rpc\",\n  chainId: 42161, // Arbitrum One\n  name: \"Arbitrum One\",\n};\n\n// Create a public client for read operations\nconst publicClient = createClient(clientConfig);\n\n// Set up a wallet client for transactions\nconst account = privateKeyToAccount(\"0xYourPrivateKey\");\nconst walletClient = createWalletClient({\n  account,\n  chain: {\n    id: clientConfig.chainId,\n    name: clientConfig.name,\n    nativeCurrency: {\n      name: \"Ether\",\n      symbol: \"ETH\",\n      decimals: 18,\n    },\n    rpcUrls: { default: { http: [clientConfig.rpcUrl] } },\n  },\n  transport: http(),\n});\n```\n\n### Depositing Tokens\n\n```typescript\nimport { deposit } from \"arbiter-sdk\";\n\nconst contractAddress = \"0xArbiterContractAddress\";\nconst tokenAddress = \"0xTokenAddress\";\nconst amount = BigInt(1000000000); // Amount in smallest units\n\nconst txHash = await deposit(\n  walletClient,\n  contractAddress,\n  tokenAddress,\n  amount\n);\n```\n\n### Withdrawing Tokens\n\n```typescript\nimport { withdraw } from \"arbiter-sdk\";\n\nconst contractAddress = \"0xArbiterContractAddress\";\nconst tokenAddress = \"0xTokenAddress\";\nconst amount = BigInt(1000000000); // Amount in smallest units\n\nconst txHash = await withdraw(\n  walletClient,\n  contractAddress,\n  tokenAddress,\n  amount\n);\n```\n\n### Changing Pool Strategy\n\n```typescript\nimport { changeStrategy } from \"arbiter-sdk\";\nimport { toArbiterPoolKey } from \"arbiter-sdk\";\n\nconst contractAddress = \"0xArbiterContractAddress\";\nconst poolKey = {\n  currency0: \"0xToken0Address\",\n  currency1: \"0xToken1Address\",\n  fee: 500,\n  hooks: \"0xHooksAddress\",\n  poolManager: \"0xPoolManagerAddress\",\n  parameters: \"0xParameters\",\n};\nconst strategyAddress = \"0xStrategyAddress\";\n\nconst txHash = await changeStrategy(\n  walletClient,\n  contractAddress,\n  poolKey,\n  strategyAddress\n);\n```\n\n### Placing an Overbid\n\n```typescript\nimport { overbid } from \"arbiter-sdk\";\n\nconst contractAddress = \"0xArbiterContractAddress\";\nconst poolKey = {\n  currency0: \"0xToken0Address\",\n  currency1: \"0xToken1Address\",\n  fee: 500,\n  hooks: \"0xHooksAddress\",\n  poolManager: \"0xPoolManagerAddress\",\n  parameters: \"0xParameters\",\n};\nconst rentPerBlock = BigInt(1000000);\nconst rentEndBlock = 1000000;\nconst strategyAddress = \"0xStrategyAddress\";\n\nconst txHash = await overbid(\n  walletClient,\n  contractAddress,\n  poolKey,\n  rentPerBlock,\n  rentEndBlock,\n  strategyAddress\n);\n```\n\n## Examples\n\nFor more detailed examples, check out the [examples directory](./src/examples).\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the SDK\nnpm run build\n```\n\n## License\n\nISC\n","readmeFilename":"README.md","_rev":"1-8ac9c9bf6f951e7fd897871ee639d00e"}