Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions docs/api-references/contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ _No parameters._
### estimateFeesDistribution

Builds a fee distribution with caps derived from the active fee policy.
Omitted rotations fund the chain's configured consensus maximum.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
Expand Down Expand Up @@ -188,9 +189,7 @@ should pass with the real transaction.

### getAppealCharge

Returns the full authoritative appeal charge (bond plus appeal funding)
on resolution-kernel contract networks. Current Studio has no
decision-bound quote surface.
Returns the full authoritative appeal charge (bond plus appeal funding).

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
Expand Down Expand Up @@ -324,9 +323,10 @@ Claims a bounded number of reward epochs for a developer NFT. Returns the EVM tr
### appealTransaction

Appeals a consensus transaction to trigger a new round of validation.
Contract networks bind the call to the active decision and quote an
omitted value. Current Studio uses its native decision-free entrypoint;
its value defaults to zero when omitted.
The call is bound to the active decision on both Studio and contract
networks. The schedule-extending entry point is safe for both pre-funded
and unfunded appeals, while submitAppeal rejects an unfunded next round.
When value is omitted, the authoritative appeal charge is used.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
Expand All @@ -339,8 +339,7 @@ its value defaults to zero when omitted.
### topUpFees

Deposits additional fee budget for an existing consensus transaction.
Returns the backend RPC hash: an EVM transaction hash on network
backends, or the target GenLayer tx id on Studio/localnet.
Returns the signed EVM envelope hash on every backend.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
Expand All @@ -357,9 +356,8 @@ backends, or the target GenLayer tx id on Studio/localnet.

Deposits appeal fee budget and submits an appeal in the same consensus call.
Returns the existing GenLayer transaction id, matching appealTransaction.
Contract networks bind the call to the active decision and quote an
omitted value. Current Studio uses its native decision-free entrypoint;
its value defaults to zero when omitted.
The call is bound to the active decision on both Studio and contract
networks. When value is omitted, the authoritative appeal charge is used.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
Expand Down
16 changes: 11 additions & 5 deletions src/abi/studioConsensus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@ const addTransactionParamsComponents = [
] as const;

/**
* Current Studio transaction surface. Fee-aware admission and top-up are
* already live, while appeal and finalization remain decision-free. Studio's
* decision-bound parity work is qualified and released independently.
* Studio transaction surface for the v0.6 consensus train. Appeals and
* finalization bind to the active decision identity just like contract nodes.
*/
export const studioConsensusMainAbi = [
{
Expand Down Expand Up @@ -72,6 +71,7 @@ export const studioConsensusMainAbi = [
stateMutability: "payable",
inputs: [
{name: "_txId", type: "bytes32"},
{name: "_expectedDecisionId", type: "uint256"},
{name: "_feesDistribution", type: "tuple", components: feesDistributionComponents},
],
outputs: [],
Expand All @@ -80,14 +80,20 @@ export const studioConsensusMainAbi = [
type: "function",
name: "submitAppeal",
stateMutability: "payable",
inputs: [{name: "_txId", type: "bytes32"}],
inputs: [
{name: "_txId", type: "bytes32"},
{name: "_expectedDecisionId", type: "uint256"},
],
outputs: [],
},
{
type: "function",
name: "finalizeTransaction",
stateMutability: "nonpayable",
inputs: [{name: "_txId", type: "bytes32"}],
inputs: [
{name: "_txId", type: "bytes32"},
{name: "_expectedDecisionId", type: "uint256"},
],
outputs: [],
},
] as const satisfies Abi;
Expand Down
Loading
Loading