{"_id":"@abcwalletio/solana","name":"@abcwalletio/solana","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@abcwalletio/solana","version":"1.0.0","description":"ABC WaaS Solana adapter — MPC-based @solana/wallet-adapter-base compatible wallet (ed25519)","keywords":["waas","solana","wallet-adapter","ed25519","mpc","web3"],"license":"MIT","author":{"name":"Ahnlab Blockchain Company"},"homepage":"http://abcwaas.com/","publishConfig":{"access":"public"},"engines":{"node":">=18.0.0"},"sideEffects":false,"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"peerDependencies":{"@solana/wallet-adapter-base":">=0.9.0","@solana/web3.js":">=1.90.0","@abcwalletio/core":"^1.0.0"},"devDependencies":{"@solana/wallet-adapter-base":"^0.9.27","@solana/web3.js":"^1.95.0","@types/node":"^20.0.0","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^1.4.0","@abcwalletio/core":"^1.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","test":"vitest run"},"_id":"@abcwalletio/solana@1.0.0","_integrity":"sha512-qE+QMPPISFqtwru1w6TDPnY1MpYJu3kq0UGyNvyC/XXS+h3IJcxQNyGuIl8ZxOVrFcSBzUbEonIbZHgKj36+Gw==","_resolved":"/private/var/folders/lt/4x5qd11x2wl8sh4gvr7y0pp80000gn/T/082d37ce2f1182be85929271c4f634d9/abcwalletio-solana-1.0.0.tgz","_from":"file:abcwalletio-solana-1.0.0.tgz","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-qE+QMPPISFqtwru1w6TDPnY1MpYJu3kq0UGyNvyC/XXS+h3IJcxQNyGuIl8ZxOVrFcSBzUbEonIbZHgKj36+Gw==","shasum":"64db2aac2a52c204d12b6f77cf546386ff03c2c9","tarball":"https://registry.npmjs.org/@abcwalletio/solana/-/solana-1.0.0.tgz","fileCount":9,"unpackedSize":28851,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGYVogDSkrz9uZqKudTjQeRYcPGgSth1ljG6ri0SPyqNAiA8pA+ZyvXSbarxR8T7+L6BkIKw+ZV4IHjx+OJpGtfHGA=="}]},"_npmUser":{"name":"theo_ahnlabio","email":"theo@ahnlab.com"},"directories":{},"maintainers":[{"name":"abc-admin","email":"abc_it@ahnlab.com"},{"name":"1kko-abc","email":"1kko@ahnlab.com"},{"name":"theo_ahnlabio","email":"theo@ahnlab.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/solana_1.0.0_1776818597700_0.33583663036122546"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T00:43:17.572Z","1.0.0":"2026-04-22T00:43:17.854Z","modified":"2026-04-22T00:43:18.187Z"},"maintainers":[{"name":"abc-admin","email":"abc_it@ahnlab.com"},{"name":"1kko-abc","email":"1kko@ahnlab.com"},{"name":"theo_ahnlabio","email":"theo@ahnlab.com"}],"description":"ABC WaaS Solana adapter — MPC-based @solana/wallet-adapter-base compatible wallet (ed25519)","homepage":"http://abcwaas.com/","keywords":["waas","solana","wallet-adapter","ed25519","mpc","web3"],"author":{"name":"Ahnlab Blockchain Company"},"license":"MIT","readme":"# @abcwalletio/solana\n\nABC WaaS SDK의 Solana 체인 어댑터입니다. `@solana/wallet-adapter-base`의\n`BaseMessageSignerWalletAdapter`를 구현하므로 `useWallet()` 훅 및 기존 Solana\ndApp 생태계와 그대로 통합됩니다.\n\n## Installation\n\n```bash\npnpm add @abcwalletio/solana @abcwalletio/core @solana/web3.js @solana/wallet-adapter-base\n```\n\n## Peer Dependencies\n\n- `@abcwalletio/core`\n- `@solana/web3.js` `>=1.90.0`\n- `@solana/wallet-adapter-base` `>=0.9.0`\n\n## Quick Start\n\n```typescript\nimport { createWaasSDK, LocalStorageAdapter } from '@abcwalletio/core';\nimport { AbcSolanaAdapter } from '@abcwalletio/solana';\n\nconst sdk = await createWaasSDK({\n  storage: new LocalStorageAdapter(),\n  auth: { v2: { clientId: '...', clientSecret: '...' } },\n});\n\n// Solana는 ed25519 키 사용 — 최초 1회 생성\nawait sdk.mpc.generateKeyShare('ed25519', 'password');\n\nconst adapter = new AbcSolanaAdapter({\n  sdk,\n  requestPassword: async () => prompt('MPC 비밀번호?') ?? '',\n});\n\nawait adapter.connect();\nconsole.log('Address:', adapter.publicKey?.toBase58());\n```\n\n## React + WalletProvider 통합\n\n```tsx\nimport { WalletProvider } from '@solana/wallet-adapter-react';\n\nconst adapters = [new AbcSolanaAdapter({ sdk, requestPassword })];\n\n<WalletProvider wallets={adapters} autoConnect>\n  {/* useWallet() 훅이 adapter를 자동 인식 */}\n</WalletProvider>\n```\n\n## API\n\n### `new AbcSolanaAdapter(config)`\n\n```typescript\ninterface AbcSolanaAdapterConfig {\n  sdk: WaasSDK;\n  requestPassword: () => Promise<string>;\n  keyId?: string;  // 생략 시 sdk.mpc.getDefaultKeyId('ed25519') 자동 조회\n}\n```\n\n### 메서드 (BaseMessageSignerWalletAdapter 규격)\n\n| 메서드 | 설명 |\n|--------|------|\n| `connect()` | MPC 공개키로 Solana `PublicKey` 도출 및 연결 |\n| `disconnect()` | 상태 초기화 + `disconnect` 이벤트 emit |\n| `signTransaction(tx)` | 레거시/Versioned 트랜잭션 서명 (ed25519) |\n| `signAllTransactions(txs)` | 여러 트랜잭션 일괄 서명 — password는 1회만 요청 |\n| `signMessage(message)` | raw 메시지 서명 → Uint8Array 반환 |\n\n### 특징\n\n- **ed25519 MPC 서명**: `sdk.mpc.signAuto()`가 ed25519에 대해 표준 MPC 서명을 사용\n- **단일 비밀번호 요청**: 여러 트랜잭션 일괄 서명 시 password를 1회만 요청\n- **SDK 이벤트 연동**: `sdk.logout()` 등의 이벤트를 같은 인스턴스를 공유하는\n  어댑터가 자동으로 감지\n\n## License\n\nMIT — Copyright (c) 2026 Ahnlab Blockchain Company\n","readmeFilename":"README.md","_rev":"1-ee0dd699091d9053e85e1d963714398f"}