지갑 연결 엔진 (crowny-ai) — 2026-06-21
개요
crowny-ai(9852)에 wallet.crowny.org(9410) 연결 모듈 구축.
라이브 무접촉 원칙 준수 — server.js 미수정, 배선은 runbook으로만.
산출 파일
/Users/ef/crowny-ai/engine/wallet-connect.js — 잔액 READ + write-init WRITE준비
/Users/ef/crowny-ai/public/widget-wallet.js — 클라이언트 잔액 위젯
/Users/ef/crowny-ai/지갑연결.한선 — 한선씨 동반 (컴파일+실행 검증 완료)
/Users/ef/crowny-ai/배선-지갑.md — 배선 runbook
엔드포인트
- GET /api/wallet/balance — READ (JWT→잔액조회)
- POST /api/wallet/send-init — WRITE준비 (step-up+write토큰, 실이체 미활성)
한선씨 검증 결과
=== 지갑연결 동반 테스트 ===
step-up 필요(경과400초): 1
step-up 불필요(경과100초): 0
100 CRN: 통과 / 600 CRN: 건당한도초과 / 0 CRN: 유효하지않은금액
800 CRN 일일: 통과 / 1500 CRN 일일: 일일한도초과
앵커원문: CRNY-0001|100|CRNY-0002
=== 검증 완료 ===
잔여 이슈
- 실 이체(/api/wallet/send) 활성화는 사용자 확인 후 consumeWriteToken 언커멘트
- write_token은 인메모리 — 재시작 시 초기화 (5분 TTL이므로 영향 최소)
- auth.crowny.org가 JWT에 auth_time/iat를 포함해야 step-up 판정 정확