docs: March 2026 accuracy pass (validators, ICs, API refs, dApps)#355
docs: March 2026 accuracy pass (validators, ICs, API refs, dApps)#355acastellana wants to merge 5 commits intogenlayerlabs:mainfrom
Conversation
…ion defaults, add missing API keys - Fix genvm.manage_modules → genvm.start_manager to match actual config.yaml field - Update NODE_VERSION default from v0.4.0 to v0.5.1 (latest release) - Add COMPUT3KEY and IOINTELLIGENCE_API_KEY to .env example (mentioned in setup but missing from docker env) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ort, fix mermaid diagram - vector-storage: Remove wrong import path (backend.node.genvm.std.vector_store), clarify VecDB comes from genlayer package - special-methods: Add missing label to fallback_defined node in mermaid diagram Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… add Direct Mode - genlayer-py: Fix colon-instead-of-equals syntax error in read_contract example - genlayer-py: Add missing state_status param to read_contract, full_transaction to wait_for_transaction_receipt - genlayer-py: Add studionet and testnet_asimov chain imports - genlayer-test: Add Direct Mode section (fast in-memory testing without Docker) - genlayer-test: Fix mock LLM key names (response → nondet_exec_prompt) to match SDK Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update wizard-of-coin: gl.exec_prompt → gl.nondet.exec_prompt, gl.eq_principle_strict_eq → gl.eq_principle.prompt_comparative (matches source) - Update prediction: gl.get_webpage → gl.nondet.web.render, gl.exec_prompt → gl.nondet.exec_prompt, gl.eq_principle_strict_eq → gl.eq_principle.strict_eq - Update llm-hello-world: gl.exec_prompt → gl.nondet.exec_prompt, gl.eq_principle_strict_eq → gl.eq_principle.strict_eq - Update llm-hello-world-non-comparative: gl.eq_principle_prompt_non_comparative → gl.eq_principle.prompt_non_comparative - Update fetch-web-content, fetch-github-profile, github-profile-projects, github-profile-summary: same API updates - Update user-storage: contract_runner.from_address → gl.message.sender_address - Fix GitHub links to point to genlayer-testing-suite repo Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix SDK reference link: /references/genlayer-js → /api-references/genlayer-js - Fix first contract link: your-first-contract → first-contract - Fix typo: instace → instance Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Someone is attempting to deploy a commit to the YeagerAI Team on Vercel. A member of the Team first needs to authorize it. |
✅ Deploy Preview for genlayer-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughThis PR updates GenLayer documentation across multiple areas: API references with new function parameters and expanded chain configurations, testing guides introducing Direct Mode and Studio Mode workflows, contract examples migrating to new API patterns (gl.nondet.* and gl.eq_principle.*), and validator setup guides with configuration key renaming and version upgrades. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
pages/developers/intelligent-contracts/examples/prediction.mdx (1)
108-108:⚠️ Potential issue | 🟡 MinorDocumentation is now incorrect — read method exists.
Line 108 states "there are no Read Methods defined", but the contract now includes
get_resolution_data()(lines 83-89) which is a@gl.public.viewread method. This documentation should be updated to reflect the new method.-Once the contract is deployed, its address is displayed as well as the **Read Methods** section. In this case, there are no Read Methods defined. +Once the contract is deployed, its address is displayed as well as the **Read Methods** section. You can call `get_resolution_data()` to view the current resolution state, including the winner, score, and whether the market has been resolved.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pages/developers/intelligent-contracts/examples/prediction.mdx` at line 108, Update the sentence that currently reads "there are no Read Methods defined" to reflect that the contract exposes a read/view method; mention the get_resolution_data() `@gl.public.view` method by name and briefly describe its purpose (e.g., returns resolution data), so the README/example now correctly shows that Read Methods includes get_resolution_data().
🧹 Nitpick comments (4)
pages/developers/intelligent-contracts/examples/wizard-of-coin.mdx (1)
49-49: Remove debug print from contract example logic.
print(result)can expose prompt/response content in logs and is noisy for production-style examples.Suggested fix
- print(result)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pages/developers/intelligent-contracts/examples/wizard-of-coin.mdx` at line 49, Remove the debug print call that exposes prompt/response content: delete the standalone print(result) in the contract example logic and, if you need to indicate success or provide non-sensitive feedback, replace it with a minimal, non-sensitive log or a comment (e.g., use an informational logger method like processLogger.info or simply omit output). Ensure the change targets the exact print(result) statement present in the example so no prompt/response content is written to logs.pages/developers/intelligent-contracts/examples/fetch-web-content.mdx (1)
44-44: Tighten wording: “same exact” → “same.”Minor phrasing cleanup in the deterministic execution explanation.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pages/developers/intelligent-contracts/examples/fetch-web-content.mdx` at line 44, Update the phrasing in the deterministic execution sentence: replace "same exact content" with "same content" in the line referencing gl.eq_principle.strict_eq() so it reads that the function "ensures that all nodes in the network arrive at the same content."pages/developers/intelligent-contracts/examples/fetch-github-profile.mdx (1)
45-45: Prefer “same content” over “same exact content.”Small wording cleanup for clarity and style in the deterministic execution description.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pages/developers/intelligent-contracts/examples/fetch-github-profile.mdx` at line 45, Replace the phrase "same exact content" with "same content" in the deterministic execution sentence that references gl.eq_principle.strict_eq() so the line reads that the function "ensures that all nodes in the network arrive at the same content"; update the text surrounding gl.eq_principle.strict_eq() accordingly to reflect this wording change.pages/developers/intelligent-contracts/examples/llm-hello-world.mdx (1)
47-47: Minor style improvement: "same exact" is redundant.Consider rephrasing to either "exact same result" or simply "same result" for cleaner prose.
-2. **Deterministic Execution**: `gl.eq_principle.strict_eq()` ensures that all nodes in the network arrive at the same exact result. +2. **Deterministic Execution**: `gl.eq_principle.strict_eq()` ensures that all nodes in the network arrive at the exact same result.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pages/developers/intelligent-contracts/examples/llm-hello-world.mdx` at line 47, The phrase "same exact result" is redundant; update the sentence mentioning gl.eq_principle.strict_eq() to use cleaner wording such as "same result" (e.g., change "same exact result" to "same result" or "exact same result") so the line reads: "gl.eq_principle.strict_eq() ensures that all nodes in the network arrive at the same result." Reference: gl.eq_principle.strict_eq().
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@pages/api-references/genlayer-test.mdx`:
- Around line 63-79: The snippet uses undefined fixtures alice and bob; update
all occurrences to the documented fixtures direct_alice and direct_bob so the
examples using direct_vm.sender, direct_vm.prank, and direct_vm.expect_revert
work; specifically replace alice -> direct_alice and bob -> direct_bob in the
lines that set direct_vm.sender, the with direct_vm.prank(...) block, and the
contract.transfer call as well as any comments referencing those fixture names.
In `@pages/developers/intelligent-contracts/examples/prediction.mdx`:
- Line 92: Update the GitHub link in the line referencing
"football_prediction_market.py": change the repository segment to point to
genlayer-project-boilerplate and update the filename to football_bets.py so the
URL targets the actual file location (replace the reference to
football_prediction_market.py in the existing markdown link with
football_bets.py in the genlayer-project-boilerplate repo).
In `@pages/developers/intelligent-contracts/examples/wizard-of-coin.mdx`:
- Around line 52-57: The code assumes gl.eq_principle.prompt_comparative returns
valid JSON with a boolean "give_coin" and directly mutates self.have_coin; wrap
the json.loads call and subsequent access in a try/except to catch
json.JSONDecodeError, TypeError and KeyError, verify parsed_result is a dict and
that "give_coin" exists and is a bool (use
isinstance(parsed_result["give_coin"], bool)), and only then set self.have_coin
= not parsed_result["give_coin"]; on invalid output raise or return a controlled
error/validation failure (or log and use a safe default) so state mutation
happens only after successful validation (referencing
gl.eq_principle.prompt_comparative, get_wizard_answer, parsed_result, and
self.have_coin).
In `@pages/developers/intelligent-contracts/features/vector-storage.mdx`:
- Around line 23-27: The example uses typing.Literal in type annotations (e.g.,
typing.Literal[384]) but never imports typing; fix by adding an import for the
Literal type (either add "from typing import Literal" and replace occurrences of
typing.Literal[...] with Literal[...], or add "import typing" at the top so
typing.Literal[...] resolves) and ensure all annotations referencing
typing.Literal are updated to match the chosen import style (references:
typing.Literal occurrences in the sample contract code).
---
Outside diff comments:
In `@pages/developers/intelligent-contracts/examples/prediction.mdx`:
- Line 108: Update the sentence that currently reads "there are no Read Methods
defined" to reflect that the contract exposes a read/view method; mention the
get_resolution_data() `@gl.public.view` method by name and briefly describe its
purpose (e.g., returns resolution data), so the README/example now correctly
shows that Read Methods includes get_resolution_data().
---
Nitpick comments:
In `@pages/developers/intelligent-contracts/examples/fetch-github-profile.mdx`:
- Line 45: Replace the phrase "same exact content" with "same content" in the
deterministic execution sentence that references gl.eq_principle.strict_eq() so
the line reads that the function "ensures that all nodes in the network arrive
at the same content"; update the text surrounding gl.eq_principle.strict_eq()
accordingly to reflect this wording change.
In `@pages/developers/intelligent-contracts/examples/fetch-web-content.mdx`:
- Line 44: Update the phrasing in the deterministic execution sentence: replace
"same exact content" with "same content" in the line referencing
gl.eq_principle.strict_eq() so it reads that the function "ensures that all
nodes in the network arrive at the same content."
In `@pages/developers/intelligent-contracts/examples/llm-hello-world.mdx`:
- Line 47: The phrase "same exact result" is redundant; update the sentence
mentioning gl.eq_principle.strict_eq() to use cleaner wording such as "same
result" (e.g., change "same exact result" to "same result" or "exact same
result") so the line reads: "gl.eq_principle.strict_eq() ensures that all nodes
in the network arrive at the same result." Reference:
gl.eq_principle.strict_eq().
In `@pages/developers/intelligent-contracts/examples/wizard-of-coin.mdx`:
- Line 49: Remove the debug print call that exposes prompt/response content:
delete the standalone print(result) in the contract example logic and, if you
need to indicate success or provide non-sensitive feedback, replace it with a
minimal, non-sensitive log or a comment (e.g., use an informational logger
method like processLogger.info or simply omit output). Ensure the change targets
the exact print(result) statement present in the example so no prompt/response
content is written to logs.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 63bb62bc-dfc9-4805-b1f4-bde317e633a8
📒 Files selected for processing (16)
pages/api-references/genlayer-py.mdxpages/api-references/genlayer-test.mdxpages/developers/decentralized-applications/dapp-development-workflow.mdxpages/developers/decentralized-applications/genlayer-js.mdxpages/developers/intelligent-contracts/examples/fetch-github-profile.mdxpages/developers/intelligent-contracts/examples/fetch-web-content.mdxpages/developers/intelligent-contracts/examples/github-profile-projects.mdxpages/developers/intelligent-contracts/examples/github-profile-summary.mdxpages/developers/intelligent-contracts/examples/llm-hello-world-non-comparative.mdxpages/developers/intelligent-contracts/examples/llm-hello-world.mdxpages/developers/intelligent-contracts/examples/prediction.mdxpages/developers/intelligent-contracts/examples/user-storage.mdxpages/developers/intelligent-contracts/examples/wizard-of-coin.mdxpages/developers/intelligent-contracts/features/special-methods.mdxpages/developers/intelligent-contracts/features/vector-storage.mdxpages/validators/setup-guide.mdx
| ```python | ||
| # Change sender | ||
| direct_vm.sender = alice | ||
|
|
||
| # Prank (temporary sender change) | ||
| with direct_vm.prank(bob): | ||
| contract.method() # Called as bob | ||
|
|
||
| # Snapshots (captures full state: storage, mocks, sender, validators) | ||
| snap_id = direct_vm.snapshot() | ||
| contract.modify_state() | ||
| direct_vm.revert(snap_id) # Full state restored | ||
|
|
||
| # Expect revert | ||
| with direct_vm.expect_revert("Insufficient balance"): | ||
| contract.transfer(bob, 1000000) | ||
|
|
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's check the file exists and see its structure
wc -l pages/api-references/genlayer-test.mdxRepository: genlayerlabs/genlayer-docs
Length of output: 112
🏁 Script executed:
# Check the specific lines mentioned (63-79) and surrounding context
sed -n '55,85p' pages/api-references/genlayer-test.mdxRepository: genlayerlabs/genlayer-docs
Length of output: 1049
🏁 Script executed:
# Search for fixture definitions in the file
rg -n "direct_alice|direct_bob|fixtures|alice|bob" pages/api-references/genlayer-test.mdx | head -40Repository: genlayerlabs/genlayer-docs
Length of output: 495
Cheatcodes example uses undefined fixture names.
Lines 65, 68, and 78 use alice and bob, but the documented fixtures are direct_alice and direct_bob. The code snippet needs to use the correct fixture names to be runnable.
Required fix
# Change sender
-direct_vm.sender = alice
+direct_vm.sender = direct_alice
# Prank (temporary sender change)
-with direct_vm.prank(bob):
- contract.method() # Called as bob
+with direct_vm.prank(direct_bob):
+ contract.method() # Called as direct_bob
# Snapshots (captures full state: storage, mocks, sender, validators)
snap_id = direct_vm.snapshot()
contract.modify_state()
direct_vm.revert(snap_id) # Full state restored
# Expect revert
with direct_vm.expect_revert("Insufficient balance"):
- contract.transfer(bob, 1000000)
+ contract.transfer(direct_bob, 1000000)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pages/api-references/genlayer-test.mdx` around lines 63 - 79, The snippet
uses undefined fixtures alice and bob; update all occurrences to the documented
fixtures direct_alice and direct_bob so the examples using direct_vm.sender,
direct_vm.prank, and direct_vm.expect_revert work; specifically replace alice ->
direct_alice and bob -> direct_bob in the lines that set direct_vm.sender, the
with direct_vm.prank(...) block, and the contract.transfer call as well as any
comments referencing those fixture names.
| ``` | ||
|
|
||
| You can check out this code on our [GitHub](https://github.com/genlayerlabs/genlayer-studio/blob/main/examples/contracts/football_prediction_market.py) | ||
| You can check out this code on our [GitHub](https://github.com/genlayerlabs/genlayer-testing-suite/blob/main/tests/examples/contracts/football_prediction_market.py) |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify GitHub link accessibility
curl -s -I "https://github.com/genlayerlabs/genlayer-testing-suite/blob/main/tests/examples/contracts/football_prediction_market.py" | head -1Repository: genlayerlabs/genlayer-docs
Length of output: 81
🌐 Web query:
genlayerlabs genlayer-testing-suite GitHub repository football_prediction_market.py
💡 Result:
- In
genlayerlabs/genlayer-testing-suite, there is nofootball_prediction_market.py(GitHub code search returns 0 files). [1] - The football example contract lives in
genlayerlabs/genlayer-project-boilerplate, undercontracts/—and in the current repo it is namedfootball_bets.py(notfootball_prediction_market.py). [2][3] - GenLayer docs still reference
contracts/football_prediction_market.pyin the boilerplate’s project structure, which appears to be an outdated filename. [4]
Sources:
[1] (github.com)
[2] (github.com)
[3] (github.com)
[4] (docs.genlayer.com)
Citations:
- 1: https://github.com/genlayerlabs/genlayer-testing-suite/search?q=football_prediction_market.py
- 2: https://github.com/genlayerlabs/genlayer-project-boilerplate/tree/main/contracts
- 3: https://github.com/genlayerlabs/genlayer-project-boilerplate/blob/main/contracts/football_bets.py
- 4: https://docs.genlayer.com/developers/decentralized-applications/project-boilerplate?utm_source=openai
Update GitHub link: file does not exist at referenced location.
The referenced file football_prediction_market.py does not exist in the genlayerlabs/genlayer-testing-suite repository. The file actually resides in genlayerlabs/genlayer-project-boilerplate/contracts/ and is named football_bets.py. Correct the link to point to the valid file location.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pages/developers/intelligent-contracts/examples/prediction.mdx` at line 92,
Update the GitHub link in the line referencing "football_prediction_market.py":
change the repository segment to point to genlayer-project-boilerplate and
update the filename to football_bets.py so the URL targets the actual file
location (replace the reference to football_prediction_market.py in the existing
markdown link with football_bets.py in the genlayer-project-boilerplate repo).
| result = gl.eq_principle.prompt_comparative( | ||
| get_wizard_answer, "The value of give_coin has to match" | ||
| ) | ||
| parsed_result = json.loads(result) | ||
| assert isinstance(parsed_result["give_coin"], bool) | ||
| self.have_coin = not parsed_result["give_coin"] |
There was a problem hiding this comment.
Harden JSON parsing and field validation before state mutation.
This block assumes valid JSON and a present give_coin key. Invalid model output will raise and fail the transaction path without a controlled error.
Suggested fix
- result = gl.eq_principle.prompt_comparative(
+ result = gl.eq_principle.prompt_comparative(
get_wizard_answer, "The value of give_coin has to match"
)
- parsed_result = json.loads(result)
- assert isinstance(parsed_result["give_coin"], bool)
- self.have_coin = not parsed_result["give_coin"]
+ try:
+ parsed_result = json.loads(result)
+ except json.JSONDecodeError as exc:
+ raise ValueError("Model response must be valid JSON") from exc
+
+ give_coin = parsed_result.get("give_coin")
+ if not isinstance(give_coin, bool):
+ raise ValueError("Model response must include boolean `give_coin`")
+
+ self.have_coin = not give_coin📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| result = gl.eq_principle.prompt_comparative( | |
| get_wizard_answer, "The value of give_coin has to match" | |
| ) | |
| parsed_result = json.loads(result) | |
| assert isinstance(parsed_result["give_coin"], bool) | |
| self.have_coin = not parsed_result["give_coin"] | |
| result = gl.eq_principle.prompt_comparative( | |
| get_wizard_answer, "The value of give_coin has to match" | |
| ) | |
| try: | |
| parsed_result = json.loads(result) | |
| except json.JSONDecodeError as exc: | |
| raise ValueError("Model response must be valid JSON") from exc | |
| give_coin = parsed_result.get("give_coin") | |
| if not isinstance(give_coin, bool): | |
| raise ValueError("Model response must include boolean `give_coin`") | |
| self.have_coin = not give_coin |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pages/developers/intelligent-contracts/examples/wizard-of-coin.mdx` around
lines 52 - 57, The code assumes gl.eq_principle.prompt_comparative returns valid
JSON with a boolean "give_coin" and directly mutates self.have_coin; wrap the
json.loads call and subsequent access in a try/except to catch
json.JSONDecodeError, TypeError and KeyError, verify parsed_result is a dict and
that "give_coin" exists and is a bool (use
isinstance(parsed_result["give_coin"], bool)), and only then set self.have_coin
= not parsed_result["give_coin"]; on invalid output raise or return a controlled
error/validation failure (or log and use a safe default) so state mutation
happens only after successful validation (referencing
gl.eq_principle.prompt_comparative, get_wizard_answer, parsed_result, and
self.have_coin).
| The `VecDB` type is available through the `genlayer` package. Import it with `from genlayer import *` along with other GenLayer types. | ||
|
|
||
| #### Creating a Contract with Vector Store | ||
| Here’s an example of a contract using the Vector Store for indexing and searching text logs: | ||
| Here’s an example of a contract using `VecDB` for indexing and searching text logs: | ||
|
|
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
cat -n pages/developers/intelligent-contracts/features/vector-storage.mdx | head -100Repository: genlayerlabs/genlayer-docs
Length of output: 4641
Example code uses typing.Literal without importing typing.
Lines 50 and 60 reference typing.Literal[384] in type annotations, but the code block does not import the typing module. This breaks copy-paste execution.
Suggested fix
from genlayer import *
+import typing
import genlayermodelwrappers
import numpy as np
from dataclasses import dataclass🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pages/developers/intelligent-contracts/features/vector-storage.mdx` around
lines 23 - 27, The example uses typing.Literal in type annotations (e.g.,
typing.Literal[384]) but never imports typing; fix by adding an import for the
Literal type (either add "from typing import Literal" and replace occurrences of
typing.Literal[...] with Literal[...], or add "import typing" at the top so
typing.Literal[...] resolves) and ensure all annotations referencing
typing.Literal are updated to match the chosen import style (references:
typing.Literal occurrences in the sample contract code).
This PR is a targeted accuracy/consistency sweep across the highest-traffic sections.
Changes:
How I tested:
Generated changelog with 26 versions at 2026-03-05T20:24:35.652Z
Updated setup guide with 26 versions, latest: v0.5.1
Updated setup guide config at 2026-03-05T20:24:36.204Z
Updated setup guide docker-compose at 2026-03-05T20:24:36.523Z
Generating API documentation with configuration: {
API_DIR: 'pages/api-references/genlayer-node',
TARGET_FILE: 'pages/api-references/genlayer-node.mdx',
TEMPLATE_FILE: 'content/api-references/genlayer-node/content.mdx',
GEN_SUBDIR: 'gen',
DEBUG_SUBDIR: 'debug',
OPS_SUBDIR: 'ops'
}
Processing gen methods from /home/albert/clawd/projects/genlayer-docs/pages/api-references/genlayer-node/gen
Found 5 gen methods
Processing debug methods from /home/albert/clawd/projects/genlayer-docs/pages/api-references/genlayer-node/debug
Found 2 debug methods
Processing ops methods from /home/albert/clawd/projects/genlayer-docs/pages/api-references/genlayer-node/ops
Found 3 ops methods
Using template from /home/albert/clawd/projects/genlayer-docs/content/api-references/genlayer-node/content.mdx
Generated API docs with 5 gen methods, 2 debug methods, and 3 ops methods at 2026-03-05T20:24:36.790Z
▲ Next.js 15.0.7
Linting and checking validity of types ...
Creating an optimized production build ...
✓ Compiled successfully
Collecting page data ...
Generating static pages (0/137) ...
Generating static pages (34/137)
Generating static pages (68/137)
Generating static pages (102/137)
✓ Generating static pages (137/137)
Finalizing page optimization ...
Collecting build traces ...
Route (pages) Size First Load JS
┌ ○ / (677 ms) 6.38 kB 197 kB
├ /_app 0 B 93.5 kB
├ ○ /_providers/ollama (929 ms) 5.5 kB 197 kB
├ ○ /_providers/openai (714 ms) 5.31 kB 196 kB
├ ○ /_temp/security-and-best-practices/grey-boxing (1504 ms) 5.48 kB 197 kB
├ ○ /_temp/security-and-best-practices/universal-attacks (1090 ms) 5.39 kB 196 kB
├ ○ /404 194 B 93.7 kB
├ ○ /api-references (404 ms) 4.6 kB 196 kB
├ ○ /api-references/genlayer-cli (917 ms) 15.2 kB 206 kB
├ ○ /api-references/genlayer-js (929 ms) 13.4 kB 204 kB
├ ○ /api-references/genlayer-node (1504 ms) 20.7 kB 212 kB
├ ○ /api-references/genlayer-node/debug/gen_dbg_ping (374 ms) 5.01 kB 196 kB
├ ○ /api-references/genlayer-node/debug/gen_dbg_trie (404 ms) 5.42 kB 196 kB
├ ○ /api-references/genlayer-node/gen/gen_call (1090 ms) 8.81 kB 200 kB
├ ○ /api-references/genlayer-node/gen/gen_getContractCode (421 ms) 6.24 kB 197 kB
├ ○ /api-references/genlayer-node/gen/gen_getContractSchema (374 ms) 6.04 kB 197 kB
├ ○ /api-references/genlayer-node/gen/gen_getContractState (1091 ms) 5.94 kB 197 kB
├ ○ /api-references/genlayer-node/gen/gen_getTransactionReceipt (728 ms) 7.59 kB 199 kB
├ ○ /api-references/genlayer-node/ops/balance (1091 ms) 5.69 kB 197 kB
├ ○ /api-references/genlayer-node/ops/health (406 ms) 5.89 kB 197 kB
├ ○ /api-references/genlayer-node/ops/metrics (1504 ms) 7.66 kB 199 kB
├ ○ /api-references/genlayer-py (928 ms) 6.58 kB 198 kB
├ ○ /api-references/genlayer-test (927 ms) 15.5 kB 207 kB
├ ○ /developers (927 ms) 5.45 kB 196 kB
├ ○ /developers/decentralized-applications/architecture-overview (915 ms) 5.65 kB 279 kB
├ ○ /developers/decentralized-applications/dapp-development-workflow (928 ms) 7 kB 198 kB
├ ○ /developers/decentralized-applications/genlayer-js (743 ms) 6.52 kB 198 kB
├ ○ /developers/decentralized-applications/project-boilerplate (723 ms) 7.4 kB 198 kB
├ ○ /developers/decentralized-applications/querying-a-transaction (626 ms) 6.1 kB 197 kB
├ ○ /developers/decentralized-applications/reading-data (626 ms) 6.59 kB 198 kB
├ ○ /developers/decentralized-applications/testing (626 ms) 6.19 kB 197 kB
├ ○ /developers/decentralized-applications/writing-data (626 ms) 7.76 kB 199 kB
├ ○ /developers/intelligent-contracts/crafting-prompts (626 ms) 7.09 kB 198 kB
├ ○ /developers/intelligent-contracts/debugging (749 ms) 5.89 kB 197 kB
├ ○ /developers/intelligent-contracts/deploying (1504 ms) 6.51 kB 198 kB
├ ○ /developers/intelligent-contracts/deploying/cli-deployment (1504 ms) 6.76 kB 198 kB
├ ○ /developers/intelligent-contracts/deploying/deploy-scripts (1504 ms) 8.36 kB 199 kB
├ ○ /developers/intelligent-contracts/deploying/deployment-methods (1504 ms) 5.52 kB 197 kB
├ ○ /developers/intelligent-contracts/deploying/network-configuration (931 ms) 7.25 kB 198 kB
├ ○ /developers/intelligent-contracts/equivalence-principle (878 ms) 12.2 kB 286 kB
├ ○ /developers/intelligent-contracts/examples/_advanced/_adr-validator (930 ms) 9.83 kB 201 kB
├ ○ /developers/intelligent-contracts/examples/_advanced/_flight-insurance (931 ms) 9.28 kB 200 kB
├ ○ /developers/intelligent-contracts/examples/_advanced/_genlayer-dao (929 ms) 15.3 kB 206 kB
├ ○ /developers/intelligent-contracts/examples/_advanced/_git-bounties (930 ms) 9.14 kB 200 kB
├ ○ /developers/intelligent-contracts/examples/_advanced/_influencer-tweet-analyzer (1317 ms) 12 kB 203 kB
├ ○ /developers/intelligent-contracts/examples/_advanced/_purellm-dao (930 ms) 8.51 kB 200 kB
├ ○ /developers/intelligent-contracts/examples/_advanced/_rokos-mansion (929 ms) 14.2 kB 205 kB
├ ○ /developers/intelligent-contracts/examples/fetch-github-profile (1318 ms) 6.87 kB 198 kB
├ ○ /developers/intelligent-contracts/examples/fetch-web-content (1318 ms) 7.51 kB 199 kB
├ ○ /developers/intelligent-contracts/examples/github-profile-projects (1317 ms) 7.38 kB 198 kB
├ ○ /developers/intelligent-contracts/examples/github-profile-summary (1317 ms) 7.42 kB 198 kB
├ ○ /developers/intelligent-contracts/examples/llm-hello-world (1014 ms) 6.73 kB 198 kB
├ ○ /developers/intelligent-contracts/examples/llm-hello-world-non-comparative (1318 ms) 6.82 kB 198 kB
├ ○ /developers/intelligent-contracts/examples/prediction (1317 ms) 7.81 kB 199 kB
├ ○ /developers/intelligent-contracts/examples/storage (1317 ms) 6.35 kB 197 kB
├ ○ /developers/intelligent-contracts/examples/user-storage (1015 ms) 6.71 kB 198 kB
├ ○ /developers/intelligent-contracts/examples/vector-store-log-indexer (1014 ms) 7.93 kB 199 kB
├ ○ /developers/intelligent-contracts/examples/wizard-of-coin (1014 ms) 7.4 kB 198 kB
├ ○ /developers/intelligent-contracts/features/balances (1014 ms) 5.56 kB 197 kB
├ ○ /developers/intelligent-contracts/features/calling-llms (704 ms) 5.95 kB 197 kB
├ ○ /developers/intelligent-contracts/features/debugging (1014 ms) 5.31 kB 196 kB
├ ○ /developers/intelligent-contracts/features/error-handling (1014 ms) 5.92 kB 197 kB
├ ○ /developers/intelligent-contracts/features/features (704 ms) 4.9 kB 196 kB
├ ○ /developers/intelligent-contracts/features/interacting-with-evm-contracts (704 ms) 5.52 kB 197 kB
├ ○ /developers/intelligent-contracts/features/interacting-with-intelligent-contracts (706 ms) 5.6 kB 197 kB
├ ○ /developers/intelligent-contracts/features/non-determinism (703 ms) 6.77 kB 198 kB
├ ○ /developers/intelligent-contracts/features/random (704 ms) 5.18 kB 196 kB
├ ○ /developers/intelligent-contracts/features/special-methods (703 ms) 5.53 kB 279 kB
├ ○ /developers/intelligent-contracts/features/storage (405 ms) 6.5 kB 198 kB
├ ○ /developers/intelligent-contracts/features/upgradability (405 ms) 8.06 kB 199 kB
├ ○ /developers/intelligent-contracts/features/vector-storage (703 ms) 7.2 kB 198 kB
├ ○ /developers/intelligent-contracts/features/web-access (1931 ms) 5.38 kB 196 kB
├ ○ /developers/intelligent-contracts/first-contract (419 ms) 6.9 kB 198 kB
├ ○ /developers/intelligent-contracts/first-intelligent-contract (404 ms) 6.11 kB 197 kB
├ ○ /developers/intelligent-contracts/ideas (405 ms) 6.67 kB 198 kB
├ ○ /developers/intelligent-contracts/introduction (412 ms) 7.91 kB 199 kB
├ ○ /developers/intelligent-contracts/security-and-best-practices/prompt-injection (404 ms) 5.5 kB 197 kB
├ ○ /developers/intelligent-contracts/storage (1931 ms) 8.74 kB 200 kB
├ ○ /developers/intelligent-contracts/tooling-setup (1931 ms) 9.18 kB 200 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-cli (1931 ms) 7.17 kB 198 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio (1930 ms) 5.46 kB 196 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/advanced-features/custom-plugins (719 ms) 7.86 kB 199 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/contract-state (1930 ms) 5.27 kB 196 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/deploying-contract (1930 ms) 5.39 kB 196 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/development-tips (718 ms) 6.86 kB 198 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/execute-transaction (721 ms) 5.43 kB 196 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/limitations (718 ms) 5.25 kB 196 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/loading-contract (718 ms) 5.41 kB 196 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/monitoring-node-logs (718 ms) 5.8 kB 197 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/providers (718 ms) 5.48 kB 197 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/reset-the-studio (403 ms) 5.65 kB 197 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/troubleshooting (403 ms) 6.48 kB 198 kB
├ ○ /developers/intelligent-contracts/tools/genlayer-studio/validators (404 ms) 5.79 kB 197 kB
├ ○ /developers/intelligent-contracts/types/address (403 ms) 7.86 kB 199 kB
├ ○ /developers/intelligent-contracts/types/collections (677 ms) 7.6 kB 199 kB
├ ○ /developers/intelligent-contracts/types/dataclasses (411 ms) 5.69 kB 197 kB
├ ○ /developers/intelligent-contracts/types/primitive (1937 ms) 7.77 kB 199 kB
├ ○ /developers/staking-guide (1937 ms) 11.8 kB 203 kB
├ ○ /FAQ (420 ms) 6.76 kB 198 kB
├ ○ /partners/comput3 (417 ms) 4.97 kB 196 kB
├ ○ /partners/genlayerlabs (403 ms) 4.96 kB 196 kB
├ ○ /partners/heurist (1938 ms) 5.03 kB 196 kB
├ ○ /partners/ionet (1937 ms) 5.03 kB 196 kB
├ ○ /understand-genlayer-protocol (1938 ms) 6.7 kB 198 kB
├ ○ /understand-genlayer-protocol/core-concepts (1937 ms) 4.89 kB 196 kB
├ ○ /understand-genlayer-protocol/core-concepts/accounts-and-addresses (677 ms) 5.32 kB 196 kB
├ ○ /understand-genlayer-protocol/core-concepts/economic-model (1937 ms) 5.23 kB 196 kB
├ ○ /understand-genlayer-protocol/core-concepts/genvm (679 ms) 5.57 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/large-language-model-llm-integration (677 ms) 5.25 kB 196 kB
├ ○ /understand-genlayer-protocol/core-concepts/non-deterministic-operations-handling (677 ms) 5.25 kB 196 kB
├ ○ /understand-genlayer-protocol/core-concepts/optimistic-democracy 6.25 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/optimistic-democracy/appeal-process (677 ms) 5.48 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/optimistic-democracy/equivalence-principle 6.87 kB 198 kB
├ ○ /understand-genlayer-protocol/core-concepts/optimistic-democracy/finality (677 ms) 6.14 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/optimistic-democracy/slashing 5.5 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/optimistic-democracy/staking 10.7 kB 202 kB
├ ○ /understand-genlayer-protocol/core-concepts/optimistic-democracy/unstaking 5.9 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/rollup-integration 5.96 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/transactions (420 ms) 7.53 kB 199 kB
├ ○ /understand-genlayer-protocol/core-concepts/transactions/transaction-encoding-serialization-and-signing (423 ms) 5.02 kB 196 kB
├ ○ /understand-genlayer-protocol/core-concepts/transactions/transaction-execution 6.02 kB 279 kB
├ ○ /understand-genlayer-protocol/core-concepts/transactions/transaction-statuses 5.63 kB 197 kB
├ ○ /understand-genlayer-protocol/core-concepts/transactions/types-of-transactions (732 ms) 6.91 kB 198 kB
├ ○ /understand-genlayer-protocol/core-concepts/validators-and-validator-roles (426 ms) 5.44 kB 196 kB
├ ○ /understand-genlayer-protocol/core-concepts/web-data-access (727 ms) 5.25 kB 196 kB
├ ○ /understand-genlayer-protocol/optimistic-democracy-how-genlayer-works (420 ms) 5.29 kB 196 kB
├ ○ /understand-genlayer-protocol/typical-use-cases (727 ms) 5.3 kB 196 kB
├ ○ /understand-genlayer-protocol/what-are-intelligent-contracts (728 ms) 5.88 kB 197 kB
├ ○ /understand-genlayer-protocol/what-makes-genlayer-different (427 ms) 5.07 kB 196 kB
├ ○ /understand-genlayer-protocol/who-is-genlayer-for (388 ms) 5.07 kB 196 kB
├ ○ /understand-genlayer-protocol/why-we-are-building-genlayer (374 ms) 5.15 kB 196 kB
├ ○ /validators/changelog (727 ms) 10.1 kB 201 kB
├ ○ /validators/genvm-configuration (727 ms) 6.27 kB 197 kB
├ ○ /validators/monitoring (374 ms) 11.3 kB 202 kB
├ ○ /validators/setup-guide (374 ms) 17.8 kB 209 kB
├ ○ /validators/system-requirements (373 ms) 5.57 kB 197 kB
└ ○ /validators/upgrade (727 ms) 6.72 kB 198 kB
├ chunks/framework-c2373564c69ff406.js 45 kB
├ chunks/main-abebd8c9e1a4ddb5.js 38.1 kB
└ other shared chunks (total) 10.9 kB
○ (Static) prerendered as static content (includes docs generation scripts + Next build)
Summary by CodeRabbit
Release Notes
New Features
full_transactionparameter to transaction receipt functionality andstate_statusparameter for contract queries.get_resolution_datamethod to prediction market contracts.Documentation
Chores