Skip to content

สัญญาอัจฉริยะ

สัญญาทั้งหมดบนเครือข่ายจะถูกปรับใช้ ณ ช่วงเวลา TGE (Q1–Q2 2027) ก่อน TGE หน้านี้เป็นข้อกำหนดที่มองไปข้างหน้า

ชุดสัญญา

สัญญาเครือข่ายวัตถุประสงค์
POP_JettonTONโทเค็น $POP (ตามมาตรฐาน TEP-74 Jetton)
POP_VestingTONตัวห่อหุ้มการทยอยรับสิทธิ์แบบแบ่งกลุ่ม บังคับใช้ Cliff (ช่วงล็อก) + การปล่อยแบบเส้นตรง
Round_Merkle_RegistryTONจัดเก็บ Merkle Root (รากเมอร์เคิล) ของแต่ละ Round (รอบ) รองรับการตรวจสอบหลักฐาน
Dispute_ResolverTONหน้าต่างข้อพิพาท 24 ชั่วโมง หักเงินผู้ดำเนินการเมื่อมีการท้าทายที่ถูกต้อง
TreasuryTONการจ่ายเงินกองทุนที่ควบคุมโดย DAO
GovernanceTONระบบการลงคะแนนแบบ Quadratic Voting (การลงคะแนนแบบกำลังสอง) + ระบบข้อเสนอที่ถ่วงน้ำหนักด้วยชื่อเสียง
Burn_AddressTONรับ $POP จากการเผาค่าธรรมเนียม ไม่สามารถใช้จ่ายได้อย่างตรวจสอบได้
Ad_Settlement_VerifierTONตัวตรวจสอบ Groth16 สำหรับการรับชมโฆษณาที่รับรองด้วย zk (ระยะที่ 2)

ข้อกำหนดของ Jetton $POP

  • มาตรฐาน: TEP-74 (TON Jetton)
  • ข้อมูลเมตา: TEP-64 ข้อมูลเมตาบนเครือข่าย
  • ชื่อ: CashPop
  • สัญลักษณ์: $POP
  • ทศนิยม: 9 (สอดคล้องกับธรรมเนียมของ TON)
  • อุปทานทั้งหมด: 10,000,000,000 × 10^9 = 10^19 หน่วยฐาน
  • สามารถสร้างเพิ่มได้: ไม่ (จำกัดสูงสุด ณ เวลาปรับใช้)
  • สามารถเผาได้: ใช่ (โดยผู้ถือใด ๆ ไม่ต้องมีสิทธิ์พิเศษ)
  • สามารถอัปเกรดได้: ไม่ (Jetton เองไม่เปลี่ยนแปลง ตัวห่อหุ้มอาจพัฒนาได้)

ตรรกะของสัญญาการทยอยรับสิทธิ์

แต่ละกลุ่มการจัดสรรจะได้รับอินสแตนซ์ POP_Vesting ของตนเอง พารามิเตอร์ต่ออินสแตนซ์:

  • beneficiary: ที่อยู่ที่ได้รับอนุญาตให้เรียกสิทธิ์
  • total_amount: จำนวน Jetton ทั้งหมดที่ถูกล็อก
  • cliff_end: การประทับเวลาก่อนที่จะไม่สามารถเรียกสิทธิ์ได้
  • linear_end: การประทับเวลาที่สามารถเรียกสิทธิ์ได้ 100%
  • claimed: ยอดรวมสะสมที่เรียกสิทธิ์ไปแล้ว

จำนวนเงินที่สามารถปล่อยได้ ณ เวลา t:

releasable(t) =
    if t < cliff_end: 0
    elif t >= linear_end: total_amount
    else: total_amount * (t - cliff_end) / (linear_end - cliff_end)

หักด้วยจำนวนที่เรียกสิทธิ์ไปแล้ว ไม่มีการปลดล็อกก่อนกำหนดไม่ว่าในกรณีใด ๆ

Round Merkle Registry

Round Engine (เครื่องมือจัดการรอบ) จะผูก Merkle Root ขนาด 32 ไบต์สำหรับแต่ละ Round โดยรวบรวมทุก 24 ชั่วโมงเป็นธุรกรรม TON เดียว:

struct RoundBatch {
    uint64 batch_id;
    bytes32[] round_roots;   // สูงสุด 1,440 รากต่อชุด (60 วินาที × 1440 = 24 ชม.)
    uint64 first_round_id;
}

ผู้ใช้ทุกคนสามารถส่ง:

  • รหัส Round r
  • เส้นทางหลักฐาน Merkle p
  • ผลลัพธ์ที่อ้าง (participant, commit, reveal, weight)

สัญญาจะตรวจสอบหลักฐาน Merkle เทียบกับรากบนเครือข่าย หากถูกต้อง ผลลัพธ์จะถูกรับรอง หากไม่ถูกต้อง ผู้ใช้สามารถเปิดข้อพิพาทได้

Dispute Resolver (ตัวแก้ไขข้อพิพาท)

เมื่อมีข้อพิพาทที่ถูกต้อง:

  • Round จะถูกทำเครื่องหมายเป็นโมฆะ
  • ผู้ดำเนินการจะถูกหัก 1,000 $POP จากเงินประกันที่ผูกไว้เข้าสู่ Treasury
  • ผู้ใช้ที่ได้รับผลกระทบจะได้รับเงินคืนจากกองทุนรางวัลของ Round
  • Round จะถูกจัดการใหม่จากบันทึก Engine ที่เป็นทางการ

สัญญาการกำกับดูแล

สามสัญญา:

  • Proposal_Registry: จัดเก็บข้อเสนอ ติดตามวงจรชีวิต
  • Vote_Tallying: การนับคะแนนแบบ Quadratic Voting (การลงคะแนนแบบกำลังสอง) พร้อมน้ำหนักชื่อเสียง
  • Execution_Module: ดำเนินการข้อเสนอที่ผ่าน (การเปลี่ยนแปลงพารามิเตอร์ การจ่ายเงินจาก Treasury)

ดู Governance สำหรับวงจรชีวิตทั้งหมด

แผนการตรวจสอบ

  • การตรวจสอบภายใน: ต่อเนื่อง โดยทีมโปรโตคอล + ที่ปรึกษาภายนอก
  • การตรวจสอบภายนอก 1: เป้าหมายที่ Trail of Bits, Q3 2026
  • การตรวจสอบภายนอก 2: เป้าหมายที่ OtterSec, Q4 2026
  • Bug bounty (รางวัลแจ้งจุดบกพร่อง): เปิดตัวที่ TGE โดยมีการจัดสรรจาก Treasury สูงถึง $500K ต่อจุดบกพร่องร้ายแรง

สัญญาจะไม่ถูกปรับใช้บน mainnet โดยปราศจากการตรวจสอบภายนอกที่สะอาดสองครั้ง

Built on TON.