문제
1. get_chance() 반환 타입 오류
orders.get_chance()가 list[OrderChance]를 반환하도록 구현되어 있으나, Upbit API(GET /v1/orders/chance)는 단일 객체(dict)를 반환한다. dict를 순회하며 키 문자열을 OrderChance로 파싱하려 해서 ValidationError가 발생한다.
2. OrderCreated 모델 필수 필드 누락
시장가 주문(ord_type="price" / "market") 응답에는 remaining_volume, prevented_volume, prevented_locked 필드가 포함되지 않으나, 모델에서 필수로 정의되어 있어 파싱 실패.
수정 내용
get_chance() → OrderChance 단일 객체 반환으로 수정 (sync/async 모두)
OrderCreated.remaining_volume, prevented_volume, prevented_locked → Optional로 변경
- 기존 mock 테스트 수정