Swaypplications
</picture>
The purpose of this repository is to contain end-to-end applications that are written in Sway in order to demonstrate what can be built.
This means that a project will generally consist of a Sway contract and a user interface in order to interact with the contract however that is not a hard rule.
[!WARNING] Legacy, version-pinned examples: These applications have not been updated for current Sway releases or Fuel network toolchains. Most pins were last updated in May 2024. Preserve them as historical examples, but do not treat their syntax, SDK usage, transaction construction, or security patterns as current guidance without revalidating them against your selected compiler, SDK, node, and network.
Each project within this repository is independent of the other projects and thus every project has its own directory with all of the files required to make it work.
That being said they are all under the same CI so any updates to a project must make sure that the other projects continue to pass.
The following is a visual sample of how the repository is structured.
sway-applications/
├── Project-1
| └── P-1 Directories & files
├── Project-2
| └── P-2 Directories & files
├── LICENSE
└── README.mdEvery project is a legacy snapshot. The versions below come from each committed fuel-toolchain.toml; the date is the last commit that changed that file. It is not a claim that the combination still installs or passes today. GitHub no longer exposes a retained successful CI run for this repository, so a durable per-application “last passing” date cannot be recovered from public workflow history.
| Application | Recorded channel | Forc | Fuel Core | Toolchain file last updated | Status |
|---|---|---|---|---|---|
| Airdrop | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| AMM | nightly-2024-05-28 |
0.60.0+nightly.20240528.4fe6f1ed51 |
0.26.0 |
2024-05-28 | Legacy; tests and functionality unverified |
| DAO | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| English Auction | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Escrow | nightly-2024-05-28 |
0.59.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Fractional NFT | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Fundraiser | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Multisig Wallet | nightly-2024-01-24 |
0.49.1 |
0.22.0 |
2024-03-29 | Legacy; not verified on current releases |
| Name Registry | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Native Asset | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| NFT | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Oracle | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| OTC Swap Predicate | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| TicTacToe | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Timelock | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
| Counter Script | nightly-2024-05-28 |
0.60.0 |
0.26.0 |
2024-05-28 | Legacy; not verified on current releases |
If you wish to run a project, clone this repository and install fuelup. Fuelup reads the project's fuel-toolchain.toml, but these old dated nightly distributions may no longer restore completely. Do not replace the pin with latest: in Fuelup, latest is an alias whose meaning is resolved from the live channel manifests, not a pointer to the newest upstream Sway compiler (at the time of writing it tracked the mainnet-compatible distribution). Run fuelup show after installing to see what it currently resolves to.
Any instructions related to running a specific project will be found within the README.md in the root of that project.
Before changing a pin, record the old bytecode and contract IDs, migrate from the latest patch of the old Sway minor where possible, and rerun the Sway, Rust, and end-to-end tests against an explicitly selected target toolchain.
Check out the book for more info!
No open issues yet, or sync has not completed.