Skip to content

Commit 640d613

Browse files
authored
feat: re-exporting @fuels/vm-asm as FuelAsm from fuels (#3866)
* Re-exporting [wrapped] `FuelAsm` from within main `fuels` entrypoint * Improving demo apps to included wrapped `FuelAsm` for validation purposes * Adding docs * Adding changeset * Adding new words to spell check dictionary * Moving nested gitignore rules upward * Adjusting titles * Ignoring crate link, for some reason it always return 404 for the workflow * Moving rust [excample] project outside `src` dir * Fixing snippet path * Fixing example description
1 parent c82493b commit 640d613

File tree

17 files changed

+292
-12
lines changed

17 files changed

+292
-12
lines changed

.changeset/cold-ants-notice.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"fuels": patch
3+
---
4+
5+
feat: re-exporting `@fuels/vm-asm` as `FuelAsm` from `fuels`

apps/demo-nextjs/src/app/page.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as asm from "@fuels/vm-asm";
2-
import { ZeroBytes32, decrypt, encrypt } from "fuels";
2+
import { ZeroBytes32, decrypt, encrypt, FuelAsm } from "fuels";
33
import Image from "next/image";
44

55
import styles from "./page.module.css";
@@ -8,7 +8,8 @@ export default function Home() {
88
const { log } = console;
99

1010
log("Hello Fuels", ZeroBytes32, encrypt, decrypt);
11-
log("Hello ASM", asm);
11+
log("Hello ASM:standalone", asm);
12+
log("Hello ASM:wrapped", FuelAsm);
1213

1314
return (
1415
<main className={styles.main}>

apps/demo-react-cra/src/App.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import React from "react";
21
import logo from "./logo.svg";
32
import "./App.css";
4-
import { ZeroBytes32, encrypt, decrypt, bn } from "fuels";
3+
import { ZeroBytes32, encrypt, decrypt, bn, FuelAsm } from "fuels";
54
import * as asm from "@fuels/vm-asm";
65

76
function App() {
87
const { log } = console;
98

109
log("Hello Fuels", ZeroBytes32, encrypt, decrypt);
11-
log("Hello ASM", asm);
10+
log("Hello ASM:standalone", asm);
11+
log("Hello ASM:wrapped", FuelAsm);
1212
log("Hello BN", bn(1000));
1313

1414
return (

apps/demo-react-vite/src/App.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@ import viteLogo from "/vite.svg";
44
import "./App.css";
55

66
import * as asm from "@fuels/vm-asm";
7-
import { ZeroBytes32, encrypt, decrypt } from "fuels";
7+
import { ZeroBytes32, encrypt, decrypt, FuelAsm } from "fuels";
88

99
function App() {
1010
const [count, setCount] = useState(0);
1111

1212
const { log } = console;
1313

1414
log("Hello Fuels", ZeroBytes32, encrypt, decrypt);
15-
log("Hello ASM", asm);
15+
log("Hello ASM:standalone", asm);
16+
log("Hello ASM:wrapped", FuelAsm);
1617

1718
return (
1819
<>

apps/docs/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33

44
src/typegend
55
src/guide/**/*.test.ts
6+
67
.fuels/

apps/docs/.vitepress/config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,12 @@ export default defineConfig({
596596
collapsed: false,
597597
items: [],
598598
},
599+
{
600+
text: 'Fuel ASM',
601+
link: '/guide/fuel-asm/',
602+
collapsed: false,
603+
items: [],
604+
},
599605
],
600606
},
601607
],
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
target

apps/docs/fuel-asm-example/Cargo.lock

Lines changed: 168 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "original-example"
3+
version = "0.1.0"
4+
edition = "2024"
5+
rust-version = "1.85.0"
6+
7+
[dependencies]
8+
fuel-asm = "0.60.2"
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// #region main
2+
use fuel_asm::*;
3+
4+
fn main() {
5+
6+
let program = vec![
7+
op::move_(0x10, 0x01), // set r[0x10] := $one
8+
op::slli(0x20, 0x10, 5), // set r[0x20] := `r[0x10] << 5 == 32`
9+
op::slli(0x21, 0x10, 6), // set r[0x21] := `r[0x10] << 6 == 64`
10+
op::aloc(0x21), // alloc `r[0x21] == 64` to the heap
11+
op::addi(0x10, 0x07, 1), // set r[0x10] := `$hp + 1` (allocated heap)
12+
op::move_(0x11, 0x04), // set r[0x11] := $ssp
13+
op::add(0x12, 0x04, 0x20), // set r[0x12] := `$ssp + r[0x20]`
14+
op::eck1(0x10, 0x11, 0x12), // recover public key in memory[r[0x10], 64]
15+
op::ret(0x01), // return `1`
16+
];
17+
18+
let bytes: Vec<u8> = program.iter().copied().collect();
19+
20+
println!("Bytes: {:#?}", bytes);
21+
22+
}
23+
// #endregion main

0 commit comments

Comments
 (0)