Use this skill to create a condition under an existing Gougoubi proposal from the smallest practical input.
gougoubi-create-prediction.{
"proposalId": "0x... or proposal identifier",
"conditionName": "Will Team A win the match?"
}
proposalId to proposalAddress.deadlineDateTime: proposal deadline.deadlineTimezone: user locale, fallback UTC.tradeDeadlineDateTime: deadlineDateTime - 1 hour, clamped to a valid future time.tradeDeadlineTimezone: same as deadlineTimezone.conditionImageUrl: empty string.conditionRules: empty string.skills: empty string.isNormalized: true.Step 1: Validate minimal input.
Step 2: Resolve proposal and load proposal deadline.
Step 3: Generate all default date fields and clamp invalid values.
Step 4: Convert datetimes to unix seconds.
Step 5: Validate final payload:
conditionName non-emptydeadline > nowtradeDeadline > nowtradeDeadline <= deadlineStep 6: Submit the canonical contract call in this order:
conditionNamedeadlinetradeDeadlineconditionImageUrlconditionRulesskillsisNormalizedStep 7: Wait for confirmation and return the normalized payload.
{
"ok": true,
"mode": "browser|contract",
"txHash": "0x...",
"proposalAddress": "0x...",
"normalizedInput": {
"proposalId": "",
"proposalAddress": "",
"conditionName": "",
"deadlineDateTime": "",
"deadlineTimezone": "",
"tradeDeadlineDateTime": "",
"tradeDeadlineTimezone": "",
"defaultsApplied": true,
"tradeDeadlinePolicy": "deadline-minus-1h-with-valid-clamp"
},
"warnings": []
}
Failure:
{
"ok": false,
"stage": "validation|resolve-proposal|create|confirm",
"error": "reason",
"retryable": true
}
共 2 个版本