Skip to content

Commit 7d326d0

Browse files
committed
feat: add @bitgo/wasm-ton package
Rust/WASM package for TON (The Open Network) transaction building, parsing, and signing. Uses toner v0.7.3 (pure Rust TON SDK) compiled to wasm32-unknown-unknown. Supports all wallet-platform intent types: - payment (native TON + jetton token transfers) - fillNonce (nonce hole filling via self-send) - consolidate (native + token, 7-day expiry) - delegate (TonWhales, SingleNominator, MultiNominator) - undelegate (TonWhales, SingleNominator, MultiNominator) - vesting contract variants for Whales deposit/withdraw Architecture follows wasm-solana/wasm-dot patterns: - Two-layer rule: core Rust logic in src/, thin WASM bindings in src/wasm/ - TypeScript wrappers in js/ with bigint for all monetary amounts - Transaction signing via signablePayload() + addSignature() - Standalone parseTransaction() for all 7 transaction shapes - Intent-based buildTransaction() with BuildContext for offline building 32 TypeScript tests + Rust unit tests. BTC-3211
1 parent 7d48d0a commit 7d326d0

35 files changed

Lines changed: 3899 additions & 0 deletions

package-lock.json

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/wasm-ton/.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
target/
2+
node_modules/
3+
# we actually only track the .ts files
4+
dist/
5+
test/*.js
6+
test/*.d.ts
7+
js/*.js
8+
js/*.d.ts
9+
js/wasm
10+
.vscode

packages/wasm-ton/.mocharc.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extensions": ["ts", "tsx", "js", "jsx"],
3+
"spec": ["test/**/*.ts"],
4+
"node-option": ["import=tsx/esm", "experimental-wasm-modules"]
5+
}

0 commit comments

Comments
 (0)