Chapter 9
Extension Examples
The contracts/extension_examples/ package contains Layer 3: Player Extension examples that demonstrate how builders can extend EVE Frontier assembly behavior using the typed witness pattern. These are reference implementations showing common extension patterns.
How Extensions Work
Extensions are custom Move packages that interact with world assemblies (Gates, Storage Units) through a typed authentication witness pattern:
- The assembly owner registers an extension’s witness type on their assembly.
- The extension module creates instances of its witness type to call assembly functions.
- The assembly verifies the witness type is registered before allowing the operation.
sequenceDiagram
participant Owner
participant Assembly
participant Extension
Owner->>Assembly: authorize_extension of Auth
Note over Assembly: Auth TypeName added to allowlist
participant Player
Player->>Extension: call custom entry function
Extension->>Assembly: pass Auth witness
Assembly->>Assembly: verify Auth is registered
Assembly-->>Extension: operation succeeds
Modules in This Section
| Module | Description |
|---|---|
config.move |
Shared configuration object with dynamic field helpers for extension rule storage. |
gate.move |
Standalone gate extension — tribe-based jump permit with self-contained rules. |
tribe_permit.move |
Gate extension using shared ExtensionConfig — tribe-based jump permits with dynamic fields. |
corpse_gate_bounty.move |
Combined Storage Unit + Gate extension — bounty collection grants gate access. |
Tip
These examples can be used as starting points for your own extensions. The builder-scaffold repository provides a complete project template for building and testing extensions locally.
Tip
Use the menu on the left hand side to find the article you are looking for. You can also use search at the top to search for specific terms.