Skip to main content

Events

wasmd prefixes custom events with wasm-. Every event has an action and a campaign_id (empty for factory-wide actions); escrow events also carry the allocation version. Times are Unix seconds (deadlines are real times projected from the escrow clock when the event was emitted); amounts are base units. Successful payouts are visible only as bank transfer (or CW20 transfer) events.

wasm-dyma_escrow_factory​

actionAttributes
instantiateowner, operator, pauser, guardian, treasury, escrow_code_id, max_fee_bps, at
create_campaignfunding_attempt, escrow, owner, asset_kind (native / cw20), asset, amount, starts_at, ends_at, fee_bps, ticket_sha256, code_id
update_configby, changed (comma-separated keys), at
pause / unpauseuntil, kind (pauser / guardian), by
ownership_transfer / ownership_accepted / ownership_transfer_cancelledby, pending_owner, expiry / owner, previous_owner / by
sync_campaign_ownerowner, previous_owner
rescue_fundsby, assets, to
migratefrom_version, to_version

wasm-dyma_escrow​

actionAttributes
instantiatefunding_attempt, owner, factory, asset_kind, asset, funded, starts_at, ends_at, commit_deadline
top_upsender, amount, funded_total
cancelby, refunded, to
commitcount, points, entry_count, total_points, first, last
resetnew_version
finalizeentry_count, total_points, gross, max_fee, distributable, cap, treasury, challenge_ends_at, claim_deadline, allocation_sha256, allocation_uri
disputeby, reason, expires_at, claim_deadline
rejectby, reason, new_version, commit_deadline (version = the rejected one)
resolveby, decision (keep_allocation + claim_deadline; reject_allocation + new_version, commit_deadline)
distributeprocessed, attempted_count, attempted_amount, skipped, cursor — attempts, computed before the payout replies of the same transaction (payout_failed events correct them)
completedsettled totals: paid_count, paid_total, failed_count, failed_outstanding, skipped_count, skipped_total, fee_paid, treasury, leftover_refunded
claimrecipient, amount (+ previously_failed)
retryrecipient, result (submitted + amount, or not_failed)
payout_failed / fee_failed / refund_failedrecipient, amount, error / treasury, amount, error / amount, error (error is redacted by wasmd to a code)
reclaim_expired / sweepamount, to, at
refund_strayassets, to
pause / unpauseuntil, kind, by
ownership_*, migrateas for the factory

Indexing​

GET {rest}/cosmos/tx/v1beta1/txs?query=execute._contract_address='<address>'&order_by=ORDER_BY_ASC

The contracts emit only custom wasm-… events, so there is no plain wasm event to filter on: match on execute._contract_address (what Dyma's indexer does). Use small pages (≤ 5 transactions): a crank transaction carries one bank transfer / coin_spent / coin_received triple per payout — about 170 KB of events for a 250-payout batch. Alternatively read block_results filtered on wasm-dyma_escrow. Events are for indexing and audit; status {} and allocations {} are the source of truth.