SolidScript keeps the contract-authoring type system intentionally small. Every TypeScript type you use in a contract class maps to a concrete Solidity type in the compiled output, so you never need to think in two type systems at once. Understanding the mapping lets you choose the right type for storage layout, gas efficiency, and correctness before compilation.Documentation Index
Fetch the complete documentation index at: https://docs.solidscipt.zoracle.xyz/llms.txt
Use this file to discover all available pages before exploring further.
ChainLockBridge.ts
bigint is the canonical numeric type for on-chain integers. Address is a branded address string that prevents accidental string assignment. Solidity mappings are written as TypeScript Map<K, V>.
| TypeScript | Contract meaning |
|---|---|
bigint | uint256-style integer |
number | Numeric value, mapped to integer output |
boolean | bool |
string | Solidity string storage or memory value |
Address | address |
CheckedAddress | Address that passed validate(addr) |
Bytes32 | bytes32 |
Bytes | bytes |
Map<K, V> | Solidity mapping |
Array<T> | Solidity array |
void | No return value |
nullundefined
EVM globals
Built-in globals mirror the EVM execution context. Importmsg and block from solidscript to access them:
Address validation
UseCheckedAddress and validate when you accept external addresses before sending value. The type system then enforces that only validated addresses reach transfer calls: