Gougoubi Submit Real Results
Use this skill to map external evidence to on-chain condition results and submit one result per condition.
Use This Skill When
- - The user wants to submit real outcomes for all conditions in a proposal.
- The user wants to submit only officially resolved conditions first.
- The user wants a forced fallback such as
No for remaining unresolved conditions.
Do Not Use This Skill When
- - The user only wants to inspect missing results without submitting. Use
gougoubi-recovery-ops. - The user only wants activation or LP staking.
Input
CODEBLOCK0
Defaults:
- - INLINECODE2
- INLINECODE3 should be auto-generated when missing
Pipeline
Step 1: Validate proposal address and target chain.
Step 2: Enumerate all conditions under the proposal.
Step 3: Read each condition skills payload and extract evidence locators such as event slug or market id.
Step 4: Fetch public evidence and build a result map:
- -
resolved-only: only officially resolved markets - INLINECODE6 : all markets with clear final outcomes
- INLINECODE7 : use the same forced side for still-pending conditions
Step 5: For each target condition:
- - Skip if INLINECODE8
- Skip if the condition is not ready for submission
- Submit exactly one result vote
Step 6: Return submitted, skipped, failed, and tx hashes.
Checkpoints
- - Prefer
resolved-only unless the user explicitly asks for all or force. - Never duplicate a submission for a condition that already has
result != 0. - Keep evidence mapping and tx results together in the output.
Output
CODEBLOCK1
Failure:
CODEBLOCK2
Project Scripts
- - INLINECODE13
- INLINECODE14
- INLINECODE15
- INLINECODE16
- INLINECODE17
- INLINECODE18
Script Entry Points
- - Generic fixed-side submission: INLINECODE19
- Generic skills-derived submission: INLINECODE20
- INLINECODE21
- INLINECODE22
- INLINECODE23
- INLINECODE24
- Specialized scripts also support
--help for their fixed proposal mappings.
Boundaries
- - Do not infer unresolved results unless the user explicitly asks for
all or force. - Preserve an auditable mapping from evidence to submitted result.
Gougoubi 提交真实结果
使用此技能将外部证据映射到链上条件结果,并为每个条件提交一个结果。
何时使用此技能
- - 用户想要提交提案中所有条件的真实结果。
- 用户想要先仅提交已正式解决的条件。
- 用户想要对剩余未解决的条件强制回退,例如 否。
何时不使用此技能
- - 用户只想检查缺失结果而不提交。请使用 gougoubi-recovery-ops。
- 用户只想进行激活或 LP 质押。
输入
json
{
proposalAddress: 0x...,
mode: resolved-only|all|force,
forceResult: yes|no,
evidenceNote: optional
}
默认值:
- - mode=resolved-only
- 当 evidenceNote 缺失时应自动生成
流程
步骤 1:验证提案地址和目标链。
步骤 2:枚举提案下的所有条件。
步骤 3:读取每个条件的 skills 负载,并提取证据定位器,如事件简称或市场 ID。
步骤 4:获取公开证据并构建结果映射:
- - resolved-only:仅已正式解决的市场
- all:所有具有明确最终结果的市场
- force:对仍待处理的条件使用相同的强制方
步骤 5:对于每个目标条件:
- - 如果 result != 0 则跳过
- 如果条件尚未准备好提交则跳过
- 提交恰好一个结果投票
步骤 6:返回已提交、已跳过、失败的数量以及交易哈希。
检查点
- - 除非用户明确要求 all 或 force,否则优先使用 resolved-only。
- 切勿为已有 result != 0 的条件重复提交。
- 在输出中保持证据映射和交易结果在一起。
输出
json
{
ok: true,
proposalAddress: 0x...,
mode: resolved-only|all|force,
submittedCount: 0,
skippedCount: 0,
failedCount: 0,
submitted: [
{
index: 0,
conditionAddress: 0x...,
conditionName: ,
result: 1,
txHash: 0x...
}
],
skipped: [],
failed: [],
warnings: []
}
失败情况:
json
{
ok: false,
stage: validation|fetch-evidence|submit|confirm,
error: reason,
retryable: true
}
项目脚本
- - scripts/pbft-submit-all-condition-results.mjs
- scripts/pbft-submit-results-from-skills-once.mjs
- scripts/pbft-submit-real-results-1605.mjs
- scripts/pbft-submit-real-results-c427-confirmed.mjs
- scripts/pbft-submit-real-results-ba0c-resolved-only.mjs
- scripts/pbft-submit-remaining-no-ba0c.mjs
脚本入口点
- - 通用固定方提交:scripts/pbft-submit-all-condition-results.mjs
- 通用技能衍生提交:scripts/pbft-submit-results-from-skills-once.mjs
- node scripts/pbft-submit-all-condition-results.mjs --help
- node scripts/pbft-submit-all-condition-results.mjs --result yes --dry-run
- node scripts/pbft-submit-results-from-skills-once.mjs --help
- node scripts/pbft-submit-results-from-skills-once.mjs
- 专用脚本也支持其固定提案映射的 --help。
边界
- - 除非用户明确要求 all 或 force,否则不要推断未解决的结果。
- 保留从证据到已提交结果的可审计映射。