SecurityPoolForker

Routes shared-portfolio question forks and lazy child question preparation. SecurityPoolForker source contract

Read surface

zoltar identifies the protocol root. getQuestionOutcome returns the fixed or finalized question outcome, or None while unresolved; the shared portfolio clock protects pre-fork final claims.

Child-game trust boundary

The immutable delegate is validated against Zoltar at deployment. Portfolio paths authenticate the source question through its factory namespace and central books before changing capital or installing claims. Caller-supplied module addresses are never used as delegate targets.

State-changing interactions

Each call lists its parameter names in ABI order. The contract index defines the columns. Owner capital and reporter custody migrate through the shared portfolio coordinator. Child question ledgers and their fixed-size reporter snapshots are prepared lazily. No owner migrates a vault for each question.

Transaction Caller Main prerequisites State or asset effect Primary signals
preparePortfolioQuestion(source, targetUniverse) Anyone Canonical bound source; its universe has forked; the portfolio recognizes a ready target branch and the source reporter identity. Factory and share-token bindings are verified. Deploys and binds the canonical target question contract and share-token namespace separately from report-history installation. A forked target can be prepared for frozen share recovery without activating a game. Canonical pool deployment and authorization events when the target is new.
materializePortfolioQuestion(source, targetUniverse) Anyone The preparation guards apply. A target whose native universe has already forked can activate only a protected final reporter or trader claim owned by that universe. Already operational targets return without duplicate installation. Prepares the target if absent. With inherited reporting, installs one outcome of the fixed 64-peak snapshot per call; the third call activates the question and resumes reporting at the fixed portfolio time anchor. Without reporter history, activates immediately. Late installation does not postpone finality. An already-final game must agree with the inherited reporter and outstanding-share settlement deadlines, including the minimum response period, or activation reverts. Preparation may be a separate transaction to bound deployment gas. Canonical deployment events when needed, then game continuation and carry checkpoint events when a reporter game is installed.
initiateSecurityPoolFork(securityPool) Anyone The universe has forked and the question was not final before that fork. Marks the unresolved question forked and freezes its shared books. Shared fork, question deployment and reporting continuation events as applicable.
forkZoltarWithOwnEscalationGame(securityPool) Anyone Canonical reporter question has non-decision and sufficient admission REP; universe is not already forked. Uses this question’s reporter custody to pay native fork admission and freezes its portfolio. Shared fork, question deployment and reporting continuation events as applicable.
createChildUniverse(securityPool, outcomeIndex) Anyone Canonical source and prepared shared branch; target universe and question identity must match. Materializes the immediate portfolio child question using the shared branch and lazy carry installation. Shared fork, question deployment and reporting continuation events as applicable.