diff --git a/scripts/boilerplate.fe b/scripts/boilerplate.fe index 41e7a49..82f323a 100644 --- a/scripts/boilerplate.fe +++ b/scripts/boilerplate.fe @@ -68,46 +68,11 @@ mod _boilerplate { pub fn ecrecover(_ hash: u256, _ v: u8, _ r: u256, _ s: u256) -> Address { todo() } pub fn block_hash(_ number: u256) -> u256 { todo() } - // Address type stub - pub struct Address { inner: u256 } - impl Address { - pub fn zero() -> Self { Address { inner: 0 } } - pub fn encode(own self, _ e: mut E) { todo() } - pub fn decode(_ d: mut D) -> Self { todo() } - pub fn as_topic(self) -> u256 { self.inner } - } - impl core::abi::Encode for Address { - fn encode>(own self, _ e: mut E) { todo() } - } - impl core::abi::Decode for Address { - fn decode>(_ d: mut D) -> Self { todo() } - } - impl std::abi::SolCompat for Address { - type S = String<7> - const SOL_TYPE: Self::S = "address" - } - impl Copy for Address {} - impl core::ops::Eq for Address { - fn eq(self, _ other: Self) -> bool { todo() } - } - // Assert function stub - uses fixed String<256> which can accept smaller string literals pub fn assert(cond: bool, message: String<256>) { todo() } // Note: revert is re-exported from core above - // Option enum for optional values - pub enum Option { - Some(T), - None, - } - - // Result enum for error handling - pub enum Result { - Ok(T), - Err(E), - } - // Common trait stubs pub trait Hashable { fn hash(self) -> u256 diff --git a/src/content/docs/appendix/from-rust.md b/src/content/docs/appendix/from-rust.md index 7cffc99..dde3a11 100644 --- a/src/content/docs/appendix/from-rust.md +++ b/src/content/docs/appendix/from-rust.md @@ -137,8 +137,6 @@ Optional values use `Option`: ```fe // -use _boilerplate::Option - fn example() -> u256 { // let maybe: Option = Option::Some(42) diff --git a/src/content/docs/appendix/from-solidity.md b/src/content/docs/appendix/from-solidity.md index f1e8a88..f6b7614 100644 --- a/src/content/docs/appendix/from-solidity.md +++ b/src/content/docs/appendix/from-solidity.md @@ -172,7 +172,7 @@ function transfer(...) { **Fe**: ```fe // -use _boilerplate::{Address, Log} +use _boilerplate::Log // #[event] struct Transfer { diff --git a/src/content/docs/appendix/intrinsics.md b/src/content/docs/appendix/intrinsics.md index b9e5618..28e5d72 100644 --- a/src/content/docs/appendix/intrinsics.md +++ b/src/content/docs/appendix/intrinsics.md @@ -26,7 +26,7 @@ These intrinsics provide information about the execution context: ```fe // -use _boilerplate::{Ctx, Address, assert} +use _boilerplate::{Ctx, assert} // fn only_owner(owner: Address) uses (ctx: Ctx) { @@ -54,7 +54,7 @@ These intrinsics relate to contract state and identity: ```fe // -use _boilerplate::{Address, self_balance, code_size} +use _boilerplate::{self_balance, code_size} // fn get_contract_balance() -> u256 { @@ -81,7 +81,7 @@ Hash functions and cryptographic operations: ```fe // -use _boilerplate::{Address, keccak256, ecrecover} +use _boilerplate::{keccak256, ecrecover} // fn hash_value(value: u256) -> u256 { @@ -186,7 +186,7 @@ Event emission: ```fe // -use _boilerplate::{Address, Log} +use _boilerplate::Log // #[event] struct TransferEvent { diff --git a/src/content/docs/appendix/types.md b/src/content/docs/appendix/types.md index c91dc9f..f7caf86 100644 --- a/src/content/docs/appendix/types.md +++ b/src/content/docs/appendix/types.md @@ -206,8 +206,6 @@ Represents an optional value: ```fe // -use _boilerplate::Option - fn example() -> u256 { // let maybe_value: Option = Option::Some(42) diff --git a/src/content/docs/effects/built-in.md b/src/content/docs/effects/built-in.md index 15a0689..19b35e2 100644 --- a/src/content/docs/effects/built-in.md +++ b/src/content/docs/effects/built-in.md @@ -199,7 +199,6 @@ Structs can serve as effects, allowing you to inject behavior: ```fe // -use _boilerplate::Option // // Define a validator effect pub struct RangeValidator { diff --git a/src/content/docs/events/emitting.md b/src/content/docs/events/emitting.md index 79bcdfa..648c319 100644 --- a/src/content/docs/events/emitting.md +++ b/src/content/docs/events/emitting.md @@ -11,7 +11,7 @@ Emit an event through a Log effect: ```fe // -use _boilerplate::{Log} +use _boilerplate::Log // @@ -78,7 +78,7 @@ A critical pattern: emit events after state changes succeed, not before: ```fe // -use _boilerplate::{Map, Log} +use _boilerplate::Map pub struct TokenStorage { pub balances: Map } #[event] struct Transfer { @@ -161,7 +161,7 @@ Emit different event types from the same handler: ```fe // -use _boilerplate::{Map, Log} +use _boilerplate::Map pub struct TokenStorage { pub balances: Map, pub allowances: Map>, @@ -221,7 +221,7 @@ Emit when persistent state changes: ```fe // -use _boilerplate::{Map, Log} +use _boilerplate::Map pub struct TokenStorage { pub balances: Map, pub total_supply: u256, @@ -303,7 +303,7 @@ Create helper functions for common events: ```fe // -use _boilerplate::{Map, Log} +use _boilerplate::Map pub struct TokenStorage { pub balances: Map } #[event] struct Transfer { @@ -350,7 +350,7 @@ Only emit when something meaningful happens: ```fe // -use _boilerplate::{Map, Log} +use _boilerplate::Map pub struct TokenStorage { pub allowances: Map> } #[event] struct Approval { diff --git a/src/content/docs/examples/erc20.md b/src/content/docs/examples/erc20.md index f3d167a..fa4cf0d 100644 --- a/src/content/docs/examples/erc20.md +++ b/src/content/docs/examples/erc20.md @@ -270,7 +270,6 @@ struct ApprovalEvent { // // stubs for missing std lib stuff -use _boilerplate::Address extern { fn assert(_: bool, _: String<64>) diff --git a/src/content/docs/foundations/control-flow.md b/src/content/docs/foundations/control-flow.md index ab51aad..ff14ea4 100644 --- a/src/content/docs/foundations/control-flow.md +++ b/src/content/docs/foundations/control-flow.md @@ -229,8 +229,6 @@ Use `_` to match any value you don't need: ```fe // -use _boilerplate::Result - fn use_value(v: u256) { let _ = v } fn handle_error() {} diff --git a/src/content/docs/traits/bounds.md b/src/content/docs/traits/bounds.md index e0fd41f..499ca10 100644 --- a/src/content/docs/traits/bounds.md +++ b/src/content/docs/traits/bounds.md @@ -218,7 +218,7 @@ fn find(items: Array, target: T) -> bool { ```fe // -use _boilerplate::{Option, Default} +use _boilerplate::Default // trait Default { fn default() -> Self diff --git a/src/content/docs/traits/generics.md b/src/content/docs/traits/generics.md index 57090b1..7fb50b2 100644 --- a/src/content/docs/traits/generics.md +++ b/src/content/docs/traits/generics.md @@ -214,7 +214,7 @@ let _ = (x, y) ```fe // -use _boilerplate::{Option, Default} +use _boilerplate::Default // fn or_default(value: own Option) -> T { match value { diff --git a/src/examples/landing-page.fe b/src/examples/landing-page.fe index eb58197..5762d4b 100644 --- a/src/examples/landing-page.fe +++ b/src/examples/landing-page.fe @@ -38,7 +38,6 @@ pub contract GuestBook uses (ctx: Ctx, log: mut Log) { } // Stubs for type checking (not shown on landing page) -use _boilerplate::Address pub struct Ctx {} impl Ctx {