Skip to content

Commit

Permalink
Merge sway-lib-core and sway-lib-std into this repository (#1052)
Browse files Browse the repository at this point in the history
* Initial commit

* Initial commit

* initial commit

* intial commit

* update manifest to use git core dependency

* add README

* Add README

* Fix link to forc (#1)

* Fix link to forc (#1)

* Add basic build CI workflow (#2)

* Add basic build CI workflow.

* Remove installation and use of fuel-core.

* Implement Modulo (#3)

Added "modulo" function so the % operator works

Very simple implementation to all the other functions just wrapping the mod opcode

* .gitattributes to highlight .sw syntax as rust (#3)

* .gitattributes to highlight .sw syntax as rust (#5)

* Add Result type (#6)

* Add Result type.

* Fix syntax.

* Add basic build CI workflow. (#8)

* Add in rsh and lsh operations (#6)

* Update ops.sw

* Weird spacing thing

* ec-recover (#5)

* Add ecr lib

* Add todo comment

* Add recover_pubkey and refactor ecr

* Fixup

* Update comments

* Add comments to ec-recover asm block

* Modify asm

* Clean up asm

* Fix B512 field assignment

* Fix ordering of lib deps

* Remove ec_recover, to be added in separate PR

* Clean up comments

* Adding the missing `ec_recover`functionality (#18)

* Add todo comment

* Add working ec_recover implementation

* Format manifest file. (#10)

* Adding the `mint` and `burn` token operations. (#26)

* Add token lib

* Add todo comment

* Rename token_id to asset_id

* Rename token_id to asset_id

* Rename token_id to asset_id

* Fix register names in asm block

* Fixup

* Refactor ugly  while loop

* Fixup

* Remove ecr from branch

* Fix review issues

* Modify type definition to silence warning re losing precision via type-cast

* Fix asm block registers

* Add only the mint function

* Ad burn to token lib

* "fix toml file"

* Split `eq` out of `Ord` and put it in `Eq` (#9)

* Moved eq into its own trait (Eq)

Moved eq into it's own trait (Eq) and then added all the implementations for u64, u32, u16, u8, and b256

* Forgot to delete u16's old Eq implementation

* Move le to a test implementation

* Fixed ge, le, and neq to not use eq and instead use inline assembly

* Update ops.sw

* Formatting changes

* Adding the force_transfer function to the token lib. (#27)

* Add force_transfer function to token lib

* Add import of ContractID type

* Implement the Eq trait for Address (#25)

* Impl Ord for Address

* Fix todo comment

* Fix toml formatting

* Add comment to use meq

* Impl Eq for Address

* Fix formatting

* Remove todo

* Add more methods to Result. (#16)

* Add more methods to Result.

* Don't use catch all.

* Use catch up, but fix typo.

* Fix return type.

* Compile workarounds.

* fmt

* Remove todo comments.

* fmt

* Make Result public.

* Add Option type & is_some/is_none methods (#31)

* Feat:Add Option type & is_some/is_none methods

* Doc:Improve module-level docs

* Fix:Add generic type T to match

* Simplify the B512 (and therefore ECR) code. (#33)

* Simplify the B512 (and therefore ECR) code.

Instead of 2 b256 fields in a struct we can use a 2 element array
instead.

I found that both the assumptions about memory layout and all the
copying was producing brittle code, and simplifying the ASM blocks as
much as possible is a good thing.

* Do a `forc fmt`.

* Adding the transfer_to_output function to token library (#32)

* Add force_transfer function to token lib

* Add import of ContractID type

* Add transfer_to_output function to token lib

* Add imports and temp remove constants

* Add else clause to if branch

* Add better comment

* Add final else clause to if branch

* Add semicolons to if-else

* style: add a comment and remove trailing semicolon from if statement in return position

* fix: make some comments internal

* fix: re-enable constants

* fix: change OUTPUT_LENGTH_LOCATION from 48 to 56

* fix: clean up assembly and incorporate PR review feedback

* docs: fix comments to reflect change to OUTPUT_LENGTH_LOCATION

* fix: remove redundent local variable assignment

* refactor: split asm blocks to avoid a second usage of the xos opcode

* style: forc fmt

* fix:change offset to 40 for getting amount

* Implementing an initial version of a msg_sender function (#30)

* Add module level docstring description

* Rearrange lib.sw order

* Use result type and add Sender type

* Improve function documentation

* refactor: improve clarity by removing the ! operator

* refactor: pass in constants to asm blocks

* fix: remove redundent `dep address;` from lib.sw

* fix: switch consts to enum

* refactor: revert to using constants for now but added TODO

* Minimal viable test harness for the stdlib (#37)

* config:update gitignore to ignore all tagket dirs

* feat:add working demo of test harness

* fix:add modules

* Add new demo_script_test project

* build:update dep versions in manifest files

* fix:update code in mod and main

* fix:change author email

* fixup

* fix:use local path to ttest current stdlib

* test:remove dummy test

* cleanup:remove dummy tests in prep for merge

* style:cargo fmt

* Porting token ops tests to the new stdlib test harness (#42)

* test:add token-ops tests

* test:update structure

* test:add more test

* test:adds more comments to failing tests

* test:remove failing tests from PR

* style:cargo fmt

* stle:forc fmt

* style:fix formatting I missed

* test:cleanup and remove logs

* bugfix: remove second register from gm opcode (#46)

* fix:remove second register from gm opcode

* docs:add link to gm opcode spec

* Add out directory to gitignore. (#50)

* Implement Square Root into the Standard Library (#49)

* Implement Square Root Function for uint types

* Update math.sw

* Update lib.sw

* Update math.sw

* Update math.sw

* Update math.sw

* Add Square Trait to uint

* Fix fmt

* Update math.sw

* Update math.sw

* Bump test dependencies. (#52)

* Bump test dependencies.

* Remove patch version.

* Use `t` instead of `T` for `Result` matches. (#53)

* Use t instead of T for Result matches.

* Update option.sw

* change author to authors in Forc.toml (#11)

* change author to authors in Forc.toml files (#56)

* switch from matches to if lets for enum destructuring (#62)

* switch from matches to if lets

* fmt

* Temporarily remove the Option and Result implementations (#63)

* fix:temp removal of result & option implementations

* fix:remove option & result from lib.sw

* fix:remove import of Result & change return type of msg_sender temporarily

* Fix return types of context::contract_id & context::msg_asset_id (#59)

* style:fix weird forc fmt issue

* fix:correct the return type for context module funcs

* test:add contract and json abi file

* test:add module to harness

* build:add manifest file

* test:add tests for context module

* style:forc fmt

* style:cargo fmt

* style:formatting

* fix:remove context test_project, coming in follow-up PR

* style:forc fmt

* Update token ops tests (#64)

* cleanup:remove duplicate abi

* build:update deps for sdk

* build:bump fuels-rs versions

* fix:remove salt field

* test:update to use newest syntax

* style:cargo fmt

* Adding a registers.sw module (#61)

* feat:add bare module registers

* feat:add registers.sw to expose16 reserved registers

* test:add new test project "registers"

* build:update forc manifest file

* test:add contract and abi.json

* test:add test file and empty tests

* test:temp disable ret & retl, add simple tests

* test:enable ret & retl again

* build:update manifest authors field

* build:remove redundant abi file

* fix:remove unneeded zero and one functions

* fix:remove zero and one funcs from abi and contract

* test:remove tests for zero and one & updates paths to abi file

* test:fix expected values and function calls

* style:forc fmt

* fix: add dep registers to context.sw

* style: forc fmt

* build:bump sdk version and add fuels-signers as a dep

* update tests to use new syntax

* style:cargo fmt & forc fmt

* Avoid implicit cast warning (#65)

* avoid implicit cast warning

* minor variable naming change

Co-authored-by: Mohammad <mohammad@Mohammads-MacBook-Pro.local>

* Fix test formatting. (#51)

* Ignore Forc lockfile (#69)

* Use new contract call syntax. (#70)

* Use new contract call syntax.

* Missed one

* Make core branch explicit (#71)

* Make core branch explicit

* Update Forc.toml

* fix:correct inline docs for registers.sw (#72)

* Fix some `path`s in the test project dependencies (#73)

The `path`s of dependencies should be point to the directory containing
the dependency's `Forc.toml` (not the `src`). This commit fixes the
`Forc.toml`s of the test projects to account for this.

There was also a spuriuos Forc.toml at `tests/Forc.toml` which has been
removed.

* Rename param in the ContractId::into() implementation (#76)

* fix:rename param

* docs:update comment and link tracking issue

* fixup

* Prefer `https` over `http` for forc git dependency URLs (#77)

This helps to resolve some dependency double-ups pending a proper
solution fix in `forc`.

See #931 and FuelLabs/fuels-rs#150 (comment)

* Add `out` and `Forc.lock` to gitignore (#13)

* Bump SDK version (#78)

* build:bump SDK and dep versions

* test;update tests to use new SDK version syntax

* style:cargo fmt

* build:add fule-vm as a dep

* test:add an is_within_range() function to avoid hardcoded vals

* style:cargo fmt

* Rename ETH_ID to NATIVE_ASSET_ID (#79)

* b256 -> contractId params for context functions which get balance from a contract (this or other) (#81)

* hotfix:complete param type changes (#82)

* Implement the `EQ` trait for `ContractId` (#83)

* feat:impl eq for ContractId

* test:add test project for contractId eq implementation

* test:wip on sscript test

* test:add script call draft

* test: finish script test

* test:finish test for contractId eq impl

* fix: remove comment

* style: cargo fmt

* build:remove core as unneeded dep

* Change `[project]` name from `lib-std` to `std` (#80)

See #977 for motivation.

* bump sdk to 0.7. Use test-helpers to cut down on boilerplate (#84)

* Cleanup stdlib tests (#85)

* cleanup: remove compiler warnings

* style: cargo fmt

* Adding a call_frames module (#66)

* test:add new test project call_frames

* test:add bare call_frames module

* feat:add initial call_frames.sw module

* feat:add new call frame access constants

* feat:add call_frames.sw and refactor context mod

* fix:reorder lib.sw

* style:cleanup comments'

* style:forc fmt

* refactor:reorganize functions by module and expose under context namespace

* cleanup:remove unneeded files from test project

* test:add initial draft test

* test:add first test

* temp:remove use of constants

* test:setup test project and artifact for call_frames

* test:outline primary tests

* test:fix test assertions

* cleanup:remove helper functions from call_frames until they can be tested

* style:cargo fmt & forc fmt

* test:cleanup forc tomls

* test:use new contract call syntax

* fix:update return types for call_frames functions

* test:update to SDK v 0.6

* test:update tests

* style: cargo fmt

* fix:rename var to satisfy compiler

* style: forc fmt

* cleanup: remove unused CONSTs until needed

* build: remove core as a dep

* Disable default features from fuel-core (#86)

* Implement Eq for bool (#14)

* Re-add Option and Result. (#68)

* Re-add Option and Result.

* Re-add to auth.

* fmt

* Fix option and result, and add tests.

* Remove redundant gitignores.

* Fix tests.

* Fix to actually compile.

* Fix function naming.

* Fix test.

* Add missing semicolon.

* move option dep up

* Add `Result.unwrap()` (#90)

* Refactor panic into separate library.

* Update tests to use new panic.

* Implement unwrap.

* Add test.

* Add Option.unwrap() (#91)

* Bump fuels-rs to v0.8 (#92)

* Refactor the context module & port tests to SDK (#89)

* test:add new context test project

* test:add context module to harness

* test:add context testing contract and abi

* test:add context_testing_abi

* test:add the first tests

* test:fix contract path

* refactor:context.sw balance functions now use a common balance func

* test:add context_caller_contract to test_artifacts

* temp:ignore failing tests

* reorg:remove tests which belong elsewhere

* build:fix manifest fields

* test:add get_global_gas to context contract

* test:update context_testing_abi

* test:update context_caller abi & contract

* test:add and fix tests for context

* fix:fix types in context module

* build:cleanup/fix forc toml files

* test:cleanup types & contract calls

* build:update deps in cargo toml

* fix:update types in token_ops

* test:update to new sdk version

* test:update import paths to use .bin files

* test:update more tests to use new build path and comparison values

* test:cleanup

* fix:update contract call in caller contract

* test:fix test call to use correct contract

* build: bump SDK to 7

* style: forc fmt

* style: forc fmt

* test: refactor & bump to SDK 7

* style: cargo fmt

* test: update SDK usage to use latest features

* test:work on fixing tests

* improvement: rename contract_id to target

* fix: rename balance() and refactor imports

* style: use multi import syntax

* test: refactor test helper funcs

* test: fix function call names

* refactor: rename functions for clarity

* test: remove use of helper funcs bc/ContractNotFound

* style: cargo fmt

* fix: add gas param to all inter-contract calls

* test: refactor helper to share provider

* fix: update abis and contracts

* test: fix balance test

* fix: remove minting from contract functions

* test: add minting step to tests

* test: cleanup tests

* test: get all tests passing

* test:remove failing duplicate test

* style: cargo fmt && forc fmt

* build: remove core as a dep

* refactor: balance reg & balance_of funcs

* fix: update function names in contracts

* style: forc fmt

* test: fix tests by removing call_params

* style: cargo fmt

* cleanup: remove all compiler warnings

* Walk git dependency repo to discover nested forc dependencies

Closes #952.

This should be complete for the most part, though depends on implementing #977 first.

* Remove implied pkg from names of pkg discovery fns

* Update `Cargo.lock` for the addition of `walkdir`

`walkdir` is used to traverse the git repository when searching for
dependency packages.

* Change `std`'s `core` dep to use the local path

Yet to test whether `forc` can handle `path` dependencies within
dependencies. In theory I these should work provided that the `path` is
relative and points to a location within the same git repository. If
this *does* work, the behaviour should be discussed, documented and
enforced by `forc`.

* Update examples `std` dependency declarations to use local `path`

* Update all tests to depend on `std` via local `path`

This should assist in ensuring that all tests must always pass for any
change to `sway`, `lib-core`, `lib-std` or `forc`.

* Build sway-lib-core and sway-lib-std under unique CI jobs

* Add successful `sway-lib-core` and `sway-lib-std` reqs for publish

* Add tx module. (#93)

* Add tx module.

* Add functions.

* Clean up.

* Add skeleton test artifact project.

* Use hard-coded constants since compiler can't handle consts.

* Fill in skeleton.

* Make untested get typed script data non-pub.

* Add output functions.

* Comment out unreachable.

* Improve name.

* Add remaining functions.

* Fix name.

* Register tests to harness.

* Add tests.

* Fix script start offset test.

* Fix script start offset get.

* Fix test with todo.

* Add non-working test for input coin owner.

* Return wallet.

* Fix test.

* Update transfer to output (#94)

* fixing transfer_to_output

* Update transfer_to_output

* Improving a comment

* fmt

* Auth method 3 (#54)

* Add changes from prior work

* Remove import of ops

* Cleanup and format

* Rename functions to match opcode naming

* Re-order lib.sw

* Fix types to use ContractId

* Refactor and cleanup

* Reorder lib.sw

* Clean up comments and types

* FIx lib deps ordering

* cleanup

* congig:update gitignore

* Commit stashed changes with get_coin_owner WIP

* Fix:cleanup merge conflict resolution mistake

* Clean up a bit and use Result.

* General cleanup.

* Improve comment.

* Fix a bunch of type errors.

* Add missed assert.

* Fix order to make compile.

* Refactor.

* fix

* Fix build errors.

* Update offsets for 255 max inputs.

* Remove warnings.

* Improve error name.

* Fix some asm.

* Fix more asm

* space

* Fix comment

* Fix offsets.

* Refactor to use new tx module.

* test: add auth test project

* test: register auth tests

* test: add tests to mod.rs

* test: add auth testing abi & contract

* test: add auth caller contract & script

* test: fix enum variant name

* test: fix import of result

* test: refactor types to workaround MissingData error from SDK

* test: fix number of args passed

* test: ignore script test

* style: forc fmt

* style: cargo fmt

* test: work on script test

* Remove redundant assert.

* Clean up tests, not working yet.

* Fix test for some reason.

* Fix test.

Co-authored-by: Nick Furfaro <nfurfaro33@gmail.com>

* Update path to assert (#97)

* test: update path to assert

* Delete build.sh

Added by accident.

* test: remove redundant test (#99)

* Update examples and tests for chain::assert -> assert::assert

* Update newly merged test for chain::assert -> assert::assert

Co-authored-by: John Adler <adlerjohn@users.noreply.github.com>
Co-authored-by: Alex Hansen <alex@alex-hansen.com>
Co-authored-by: ControlCplusControlV <44706811+ControlCplusControlV@users.noreply.github.com>
Co-authored-by: wolflo <33909953+wolflo@users.noreply.github.com>
Co-authored-by: Nick Furfaro <nfurfaro33@gmail.com>
Co-authored-by: Toby Hutton <toby@grusly.com>
Co-authored-by: Joshua Batty <joshpbatty@gmail.com>
Co-authored-by: Mohammad Fawaz <mohammadfawaz89@gmail.com>
Co-authored-by: Mohammad <mohammad@Mohammads-MacBook-Pro.local>
Co-authored-by: Simon Roberts <46566889+simonr0204@users.noreply.github.com>
Co-authored-by: Brandon Kite <brandonkite92@gmail.com>
  • Loading branch information
12 people committed Mar 29, 2022
1 parent 45224e2 commit fbdce29
Show file tree
Hide file tree
Showing 247 changed files with 3,584 additions and 326 deletions.
42 changes: 39 additions & 3 deletions .github/workflows/ci.yml
Expand Up @@ -21,6 +21,42 @@ jobs:
with:
access_token: ${{ github.token }}

build-sway-lib-core:
needs: cancel-previous-runs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: Swatinem/rust-cache@v1
- name: Install Forc
uses: actions-rs/cargo@v1
with:
command: install
args: --debug --path ./forc
- name: Build sway-lib-core
run: forc build --path sway-lib-core

build-sway-lib-std:
needs: cancel-previous-runs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: Swatinem/rust-cache@v1
- name: Install Forc
uses: actions-rs/cargo@v1
with:
command: install
args: --debug --path ./forc
- name: Build sway-lib-std
run: forc build --path sway-lib-std

build-sway-examples:
needs: cancel-previous-runs
runs-on: ubuntu-latest
Expand Down Expand Up @@ -126,7 +162,7 @@ jobs:
command: test

notify-slack-on-failure:
needs: [build-sway-examples, cargo-build-workspace, cargo-clippy, cargo-fmt-check, cargo-run-e2e-test, cargo-test-workspace]
needs: [build-sway-examples, build-sway-lib-core, build-sway-lib-std, cargo-build-workspace, cargo-clippy, cargo-fmt-check, cargo-run-e2e-test, cargo-test-workspace]
runs-on: ubuntu-latest
steps:
- name: Notify Slack On Failure
Expand All @@ -144,7 +180,7 @@ jobs:

publish:
# Only do this job if publishing a release
needs: [build-sway-examples, cargo-build-workspace, cargo-clippy, cargo-fmt-check, cargo-run-e2e-test, cargo-test-workspace]
needs: [build-sway-examples, build-sway-lib-core, build-sway-lib-std, cargo-build-workspace, cargo-clippy, cargo-fmt-check, cargo-run-e2e-test, cargo-test-workspace]
if: github.event_name == 'release' && github.event.action == 'published'
runs-on: ubuntu-latest

Expand Down Expand Up @@ -190,7 +226,7 @@ jobs:
SLACK_WEBHOOK_URL: ${{ secrets.ACTION_MONITORING_SLACK }}

build-publish-master-image:
needs: [build-sway-examples, cargo-build-workspace, cargo-clippy, cargo-fmt-check, cargo-run-e2e-test, cargo-test-workspace]
needs: [build-sway-examples, build-sway-lib-core, build-sway-lib-std, cargo-build-workspace, cargo-clippy, cargo-fmt-check, cargo-run-e2e-test, cargo-test-workspace]
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
permissions:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Expand Up @@ -11,5 +11,9 @@ Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk

# `core` and `std` are libs, no need to commit their lock files.
sway-lib-core/Forc.lock
sway-lib-std/Forc.lock

# Forc's build directory
out
6 changes: 2 additions & 4 deletions examples/counter/Forc.lock
@@ -1,13 +1,11 @@
[[package]]
name = 'core'
source = 'git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f'
dependencies = []

[[package]]
name = 'counter'
dependencies = ['std git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3']
dependencies = ['std']

[[package]]
name = 'std'
source = 'git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3'
dependencies = ['core git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f']
dependencies = ['core']
2 changes: 1 addition & 1 deletion examples/counter/Forc.toml
Expand Up @@ -5,4 +5,4 @@ license = "Apache-2.0"
name = "counter"

[dependencies]
std = { git = "https://github.com/FuelLabs/sway-lib-std", branch = "master" }
std = { path = "../../sway-lib-std" }
6 changes: 2 additions & 4 deletions examples/fizzbuzz/Forc.lock
@@ -1,13 +1,11 @@
[[package]]
name = 'core'
source = 'git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f'
dependencies = []

[[package]]
name = 'fizzbuzz'
dependencies = ['std git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3']
dependencies = ['std']

[[package]]
name = 'std'
source = 'git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3'
dependencies = ['core git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f']
dependencies = ['core']
2 changes: 1 addition & 1 deletion examples/fizzbuzz/Forc.toml
Expand Up @@ -5,4 +5,4 @@ license = "Apache-2.0"
name = "fizzbuzz"

[dependencies]
std = { git = "https://github.com/FuelLabs/sway-lib-std", branch = "master" }
std = { path = "../../sway-lib-std" }
6 changes: 2 additions & 4 deletions examples/hello_world/Forc.lock
@@ -1,13 +1,11 @@
[[package]]
name = 'core'
source = 'git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f'
dependencies = []

[[package]]
name = 'hello_world'
dependencies = ['std git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3']
dependencies = ['std']

[[package]]
name = 'std'
source = 'git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3'
dependencies = ['core git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f']
dependencies = ['core']
2 changes: 1 addition & 1 deletion examples/hello_world/Forc.toml
Expand Up @@ -5,4 +5,4 @@ license = "Apache-2.0"
name = "hello_world"

[dependencies]
std = { git = "https://github.com/FuelLabs/sway-lib-std", branch = "master" }
std = { path = "../../sway-lib-std" }
6 changes: 2 additions & 4 deletions examples/subcurrency/Forc.lock
@@ -1,13 +1,11 @@
[[package]]
name = 'core'
source = 'git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f'
dependencies = []

[[package]]
name = 'std'
source = 'git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3'
dependencies = ['core git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f']
dependencies = ['core']

[[package]]
name = 'subcurrency'
dependencies = ['std git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3']
dependencies = ['std']
2 changes: 1 addition & 1 deletion examples/subcurrency/Forc.toml
Expand Up @@ -5,4 +5,4 @@ license = "Apache-2.0"
name = "subcurrency"

[dependencies]
std = { git = "https://github.com/FuelLabs/sway-lib-std", branch = "master" }
std = { path = "../../sway-lib-std" }
6 changes: 2 additions & 4 deletions examples/wallet_smart_contract/Forc.lock
@@ -1,13 +1,11 @@
[[package]]
name = 'core'
source = 'git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f'
dependencies = []

[[package]]
name = 'std'
source = 'git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3'
dependencies = ['core git+https://github.com/FuelLabs/sway-lib-core?branch=master#082bc8eb0616586ac0000825bfe6e9d47b0c713f']
dependencies = ['core']

[[package]]
name = 'wallet_smart_contract'
dependencies = ['std git+https://github.com/FuelLabs/sway-lib-std?branch=master#3884e9bbadb7c2567700dae847017366629241d3']
dependencies = ['std']
2 changes: 1 addition & 1 deletion examples/wallet_smart_contract/Forc.toml
Expand Up @@ -5,4 +5,4 @@ license = "Apache-2.0"
name = "wallet_smart_contract"

[dependencies]
std = { git = "https://github.com/FuelLabs/sway-lib-std", branch = "master" }
std = { path = "../../sway-lib-std" }
2 changes: 1 addition & 1 deletion examples/wallet_smart_contract/src/main.sw
Expand Up @@ -6,7 +6,7 @@ contract;

use std::*;
use std::address::Address;
use std::chain::assert;
use std::assert::assert;

const OWNER_ADDRESS: b256 = 0x8900c5bec4ca97d4febf9ceb4754a60d782abbf3cd815836c1872116f203f861;
const NATIVE_ASSET_ID: b256 = 0x0000000000000000000000000000000000000000000000000000000000000000;
Expand Down
5 changes: 5 additions & 0 deletions sway-lib-core/Forc.toml
@@ -0,0 +1,5 @@
[project]
authors = ["Fuel Labs <contact@fuel.sh>"]
entry = "lib.sw"
license = "Apache-2.0"
name = "core"
7 changes: 7 additions & 0 deletions sway-lib-core/README.md
@@ -0,0 +1,7 @@
# lib-core

This Sway project contains core operators and extremely primitive logic for use in the standard library of the Sway programming language.

## Usage

To build this project, you must have installed [forc](https://crates.io/crates/forc). Once `forc` is installed, run `forc build` in the root of this project to build it.
3 changes: 3 additions & 0 deletions sway-lib-core/src/lib.sw
@@ -0,0 +1,3 @@
library core;

dep ops;

0 comments on commit fbdce29

Please sign in to comment.