← 목록
디자인 2026-05-27 6KB 읽기 6분

크라우니 금융생태계 시즌2 규약 설계

개요

시즌1 1·2단계가 완료되면(누적 12,757,200 크라우니 = 1275만) 시즌2가 시작된다. 시즌2는 시즌1을 3배 스케일로 확장한 규약으로, 인원·차입한도·보너스 모두 3배 비율로 완화된다.

핵심 산식

항목시즌1시즌2비율
유통목표31억 (10%)93억 (30% 누적)3배
인원9인27인 (시즌1 9 + 신규 18)3배
1인 보유 (신규)39만 / 78만(kps)39만 균등 또는 30만 차등-
차입한도 단계1 분모1/7291/819배 완화
차입한도 단계2 분모1/2431/279배 완화
단계1 종료 트리거4,252,400127,572,00030배
단계2 종료 트리거12,757,200382,716,00030배
보너스 (관리자)+39만+117만3배
보너스 (선두)+117만 (3인)+351만 (9인)3배
만기2038-09-302038-09-30동일
이자0%0%동일

이행 조건 (시즌1 → 시즌2)

누적유통 >= 12,757,200 (시즌1 단계2 종료물량)
AND
9인 완납자수 >= 8 (81% = 7.29 → 올림 8)

셀코어 상태기계

5상태 4이행:

S1P1 → S1P2 → S2P1 → S2P2 → 만기
누적>=     누적>=    누적>=    시각>=
4252400  12757200 127572000 시즌2_만기_unix

관련 파일

  • 한선씨 라이브러리: /Users/ef/Downloads/CrownyTVM/std/시즌2설계.한선 + .han (둘 다)
  • 시즌1 의존: /Users/ef/Downloads/CrownyTVM/std/시즌1유통.한선
  • 셀코어: /Users/ef/Downloads/CrownyTVM/std/셀코어.han

제공 함수 (28개)

목표

  • 시즌2_유통목표() = 9,300,000,000
  • 시즌2_누적유통목표() = 12,400,000,000
  • 시즌2_시작_트리거() = 12,757,200

27인

  • 시즌2_27인_코드() → ["kps","hs",...,"new01",...,"new18"]

분배

  • 시즌2_분배옵A(idx) — 균등 39만
  • 시즌2_분배옵B(idx) — 차등 30만
  • 시즌2_총대여풀_A() = 10,920,000
  • 시즌2_총대여풀_B() = 9,300,000

차입 한도

  • 시즌2_단계1_분모() = 81
  • 시즌2_단계2_분모() = 27
  • 시즌2_차입한도_단계1(보유) = 보유/81
  • 시즌2_차입한도_단계2(보유) = 보유/27

단계 트리거

  • 시즌2_단계1_종료물량() = 127,572,000
  • 시즌2_단계2_종료물량() = 382,716,000
  • s2_단계도_조회(누적) → 3/4/5

보너스/만기

  • 시즌2_보너스_관리자() = 1,170,000
  • 시즌2_보너스_선두9인() = 3,510,000
  • 시즌2_만기() = "2038-09-30"
  • 시즌2_만기_unix() = 2169849600

이행 조건

  • 시즌2_이행기_조건(누적, 완납자수) → 0 or 1

셀코어 상태기계 (헬퍼 함수, 호출 측에서 빌드)

  • 시즌2_상태기계_이름() = "크라우니_시즌"
  • 시즌2_상태기계_초기() = "S1P1"
  • 시즌2_상태목록() = ["S1P1","S1P2","S2P1","S2P2","만기"]
  • 시즌2_이행_S1P1_S1P2_값() = 4,252,400
  • 시즌2_이행_S1P2_S2P1_값() = 12,757,200
  • 시즌2_이행_S2P1_S2P2_값() = 127,572,000
  • 시즌2_이행_S2P2_만기_값() = 시즌2_만기_unix

시즌1과의 dispatch (호출 측 인라인)

javascript가져오기 "시즌1유통"
가져오기 "시즌2설계"

함수 통합단계_판정(누적) {
    변수 단 = 시즌1_단계_판정(누적)
    만약 (단 == 3) { 반환 s2_단계도_조회(누적) }
    반환 단
}
// 결과: 1=S1P1, 2=S1P2, 3=S2P1, 4=S2P2, 5=만기

셀코어 상태기계 빌드 (호출 측)

javascript가져오기 "시즌2설계"
가져오기 "셀코어"

함수 시즌_상태기계_빌드() {
    변수 sm = 상태기계생성(시즌2_상태기계_이름(), 시즌2_상태목록(), 시즌2_상태기계_초기())
    sm = 이행추가(sm, "S1P1", "S1P2", "누적", ">=", 시즌2_이행_S1P1_S1P2_값())
    sm = 이행추가(sm, "S1P2", "S2P1", "누적", ">=", 시즌2_이행_S1P2_S2P1_값())
    sm = 이행추가(sm, "S2P1", "S2P2", "누적", ">=", 시즌2_이행_S2P1_S2P2_값())
    sm = 이행추가(sm, "S2P2", "만기",  "시각", ">=", 시즌2_이행_S2P2_만기_값())
    반환 sm
}

v0.38 함정 회피

본 작성 중 발견된 한선씨 v0.38 컴파일러 한계:

  1. 한 함수 내 다중 만약 + 다중 함수 호출 → 임계치 초과 시 silent compile fail
- 회피: 헬퍼 함수로 산식 분리, 상태기계 빌드는 호출 측에서 인라인
  1. 자가검증 함수 출력값 12개 이상 → silent fail
- 회피: 8 출력 이하로 압축, 한 줄에 여러 항목 묶음
  1. 주석 안 { } → 파서가 미정의 함수 에러 trigger
- 회피: 주석에서 코드 예시 제거 또는 인라인 풀어 작성
  1. 변수명 예약어 상태 → 충돌 (e.g., 상태들은 OK이지만 안전책)
- 회피: 영문 또는 다른 한글로 명명

자가검증 결과 (간이)

=== 크라우니 시즌2 설계 검증 ===
유통목표: 시즌2 단독 93억, 시즌1+2 합 124억
27인 = 시즌1 9 + 신규 18 (옵A 39만 / 옵B 30만)
차입한도 분모: S2P1=81, S2P2=27 (시즌1 729/243의 1/9)
트리거: S1P1=4252400 S1P2=12757200 S2P1=127572000 S2P2=382716000
이행조건: 누적>=12757200 AND 완납자>=8 -> S2 진입
보너스: 관리자+1170000, 선두9인+3510000, 상태기계 5상태 4이행
=== 만기 2038-09-30 검증 완료 ===

런타임 검증 (외부 호출):

유통목표=9300000000
트리거=12757200
27인 첫=kps 끝=new18 수=27
옵A신규=390000
S2P1한도(780000)=9629
s2단계(2억)=4
이행(1275만,8)=1

잔여 이슈

  1. 자가검증 함수 출력 한계: v0.38 컴파일러 임계치로 8 출력 이하만 안정. 추후 컴파일러 개선 후 상세 검증 확장 가능.
  2. 셀코어 상태기계 빌더: 라이브러리 내부에서 함수로 묶지 못해 호출 측 인라인 패턴 제공. 위 빌드 스니펫 사용 권장.
  3. 시즌1유통 미수정: dispatch 래퍼는 별도 함수로 제공하지 않음 (compiler 한계). 호출 측에서 인라인 dispatch 사용.
  4. 분배 옵션 선택: 옵A(균등) / 옵B(차등) 중 운영 정책에 따라 셀코어 룰로 선택. 룰 등록은 후속 작업.

학습DB 등록 intent

crowny_finance_season2_design — 시즌2 규약 함수 28개 묶음