Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
9d27c35
Add Solidity to TypeScript transpiler
claude Jan 19, 2026
4aa89c8
Improve Yul transpilation and simplify type casting
claude Jan 19, 2026
47cbfe5
Generalize transpiler with type registry and proper Yul parser
claude Jan 20, 2026
c0a555e
Add type(T).max/min support and transpile struct/interface files
claude Jan 20, 2026
88d47af
Remove dead code and unused imports from transpiler
claude Jan 20, 2026
1a74f13
Add transpiler output directory to .gitignore
claude Jan 20, 2026
bf0eae2
Add test framework for transpiler validation
claude Jan 20, 2026
0030d71
Remove ts-output from version control (now in .gitignore)
claude Jan 20, 2026
cfc6b60
Add node_modules to transpiler .gitignore
claude Jan 20, 2026
210320c
Improve transpiler type handling and imports
claude Jan 20, 2026
1fe820c
Fix transpiler type handling: sha256, address literals, bigint indexing
claude Jan 20, 2026
9fefaad
Fix tuple destructuring, BigInt array size, and abi.decode handling
claude Jan 20, 2026
4604c07
Fix all TypeScript type errors in transpiled output
claude Jan 20, 2026
ecf7488
Refactor transpiler to properly handle contract inheritance
claude Jan 20, 2026
087086d
Fix assembly transpilation to use type assertions for storage operations
claude Jan 20, 2026
6704572
Fix constructor parsing for base constructor calls
claude Jan 20, 2026
2e9fa15
Add support for inherited members and static constants
claude Jan 20, 2026
733cdda
Replace vitest with simple tsx test runner
claude Jan 20, 2026
633a740
Fix transpiler for library imports, tuple destructuring, and enum cas…
claude Jan 20, 2026
714ae7b
Refactor transpiler: add get_qualified_name helper and auto-generate …
claude Jan 20, 2026
3583a9a
Fix transpiler correctness: base constructor args, struct literals, a…
claude Jan 20, 2026
d05b28a
Add comprehensive e2e tests for status effects, forced switches, and …
claude Jan 21, 2026
ab4810d
Add CHANGELOG.md documenting transpiler features, future work, and kn…
claude Jan 21, 2026
d96b340
Fix multiple parser issues: using directives, unchecked blocks, array…
claude Jan 21, 2026
21897f8
Update CHANGELOG with parser fixes and base class support
claude Jan 21, 2026
63be826
Add Solidity mapping semantics for TypeScript transpilation
claude Jan 21, 2026
667a412
Add mapping semantics, uint masking, and Engine e2e tests
claude Jan 21, 2026
34b24e4
Update CHANGELOG with Engine integration progress and test coverage
claude Jan 21, 2026
6746892
Add EventStream system to replace console.log for events
claude Jan 21, 2026
bbafc3f
Update CHANGELOG: Engine integration now complete
claude Jan 21, 2026
2673339
Fix BigInt precision loss and add comprehensive battle simulation tests
claude Jan 25, 2026
b756d4b
Add Angular client with battle service and move metadata extraction
claude Jan 25, 2026
a2bc0e2
Handle dynamic move properties gracefully and add UnboundedStrike tests
claude Jan 25, 2026
b47dfd2
Update CHANGELOG with dynamic move properties support
claude Jan 25, 2026
9dbe264
Clarify transpiler approach: correct transpilation over metadata
claude Jan 25, 2026
92bc0c7
Add non-standard move tests and document transpiler issues
claude Jan 25, 2026
a0981a6
Refactor: extract shared helpers and test utilities
claude Jan 25, 2026
07c1f01
Fix abi.encode to correctly infer types from function return values
claude Jan 25, 2026
af5b9ab
Generate imports for contract types used in state variables and params
claude Jan 25, 2026
6c9b947
Move transpiler from scripts/ to root and add contract address support
claude Jan 26, 2026
0911e9c
Rewrite CHANGELOG.md as comprehensive transpiler documentation
claude Jan 26, 2026
81036e2
Migrate move metadata extraction to transpiler with DI container (#49)
sudo-owen Jan 26, 2026
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
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,8 @@ drool/*
!drool/utils.js
!drool/combine.py
!drool/switch-animation.py
!drool/docs
!drool/docs

# Transpiler output
ts-output/
transpiler/ts-output/
60 changes: 60 additions & 0 deletions client/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/**
* Chomp Client - Angular Battle Service
*
* Provides battle simulation and on-chain interaction for the Chomp battle system.
*
* Features:
* - Move metadata extraction and conversion
* - Local TypeScript battle simulation
* - On-chain interaction via viem
* - Angular 20+ signal-based reactive state
*
* Usage:
* import { BattleService, MoveMetadata, MoveType } from '@chomp/client';
*
* @Component({ ... })
* export class BattleComponent {
* private battleService = inject(BattleService);
* }
*/

// Types
export {
MoveType,
MoveClass,
ExtraDataType,
MonStateIndexName,
RawMoveMetadata,
MoveMetadata,
MonDefinition,
MonBattleState,
TeamState,
BattleState,
MoveAction,
SwitchAction,
BattleAction,
BattleEvent,
BattleServiceConfig,
DEFAULT_CONSTANTS,
} from './lib/types';

// Metadata Conversion
export {
resolveConstant,
resolveMoveType,
resolveMoveClass,
resolveExtraDataType,
convertMoveMetadata,
convertAllMoveMetadata,
createMoveMap,
loadMoveMetadata,
getTypeEffectiveness,
isDynamicMove,
hasCustomBehavior,
getMoveBehaviors,
requiresExtraData,
formatMoveForDisplay,
} from './lib/metadata-converter';

// Angular Service
export { BattleService } from './lib/battle.service';
Loading