From a7a53627d291292d69a026a577307a8fc8623804 Mon Sep 17 00:00:00 2001
From: SwayStar123 <46050679+SwayStar123@users.noreply.github.com>
Date: Wed, 24 Jan 2024 22:10:15 +0530
Subject: [PATCH] Bump apps to beta-5 (#753)
* init
* init
* init
* Fundraiser bump
* TicTacToe bump
* diagnosing compiler bug
* bug fix
* Oracle-bump
* OTC-bump
* Timelock-bump
* update toolchain
* wow it actually works
* fmt
* update rust version?
* fix unnecessary hashes
* escrow lint
* update forc version in ci.yml
* update sdk
* fmt
* contributing book
* update versions in readme
* update versions in dao readme
* update tests
* bump
* update tests
* fmt
* readme versions
* readme versions
* readme versions
* update tests
* readme versions
* merge mport
* remove u8 conversion
* bump tests
* ujpdate tests
* fmt
* test 1
* update to latest
* bump apps to latest toolchain
* fmting
* add line to toml
* fmt 2
* update rust version
* latest toolchain
* fmt
* forc build
* Update toolchain
* Refactor English Auction Contract for new Native Assets
* Update tests for refactored English Auction
* Run formatter
* Update tests to fuels-rs 0.53.0
* Update Forc.lock
* Update to Rust 1.73.0
* Fix Clippy errors
* Change to rust v0.74.0
* update version
* make clippy happy
* Update README versions
* Add patch for tests
* Update Airdrop Contract
* Update tests for fuels-rs v0.53.0
* Update README and SPECIFICATION
* Update Forc.lock
* Updates based on PR comments
* Add comment on assembly code
* Update registry contract
* Update Registry contract tests
* Change set_name_owner() to transfer_name_ownership()
* Update README
* Add comments
* Fix inline docs type
* Update to forc v0.48.1
* Update to forc v0.48.1
* Run formatteR
* Update README
* Update README
* Update tests to fuels-rs 0.53.0
* Run rust formatter
* it works!!
* update to latest
* Fix execution error
* Fix failure to fetch fuel-core
* Resolve PR comments
* Update to nightly and format
* Update to nightly, fuel-core v0.21.0, and run formatter
* update to fuel-core 0.21.0
* Make clippy happy
* Make clipply happy
* Update README
* Update README
* Update NFT to forc v0.48.1
* Update token to forc v0.48.1
* Update to forc v0.48.1
* Update .templates
* Update .template tests
* Update aurora
* Update CI
* Update nightly date in CI
* Update nightly date in CI
* Update predicate to froc v0.48.1
* Update tests for fuels-rs v0.53.0
* Remove tx_params comment
* Update fuels-rs version in README
* Update to forc v0.49.1
* Update airdrop
* Update english auction
* Update counter script
* Update DAO
* Update escrow
* Update fundraiser
* Update tictactoe
* Update multisig
* update token
* Update NFT
* Update oracle
* Update timelock
* Update name registry
* Update OTC swap predicate
* Update all READMEs
* Update template
* Run formmater
* Update native-asset tests
* Update CI
* revert book CI updates
* Update DI
* Update CI
* Change ci to cd into contrubiting book
* Fix CI
* Have CI cd into manifest directories
---------
Co-authored-by: bitzoic
Co-authored-by: Cameron Carstens <54727135+bitzoic@users.noreply.github.com>
---
.devops/.template/project/Cargo.lock | 2385 +++++++----------
.devops/.template/project/Forc.lock | 16 +-
.../contracts/template-contract/Cargo.toml | 2 +-
.../template-contract/src/data_structures.sw | 2 +-
.../template-contract/tests/utils/setup.rs | 17 +-
.devops/.template/project/fuel-toolchain.toml | 6 +-
.devops/aurora/fuel-toolchain.toml | 6 +-
.docs/contributing-book/src/code/Forc.lock | 22 +-
.../src/code/fuel-toolchain.toml | 6 +-
.github/workflows/ci.yml | 14 +-
.github/workflows/gh-pages.yml | 2 +-
DAO/README.md | 12 +-
DAO/project/Cargo.lock | 704 +++--
DAO/project/Forc.lock | 16 +-
DAO/project/contracts/DAO-contract/Cargo.toml | 2 +-
.../DAO-contract/src/data_structures.sw | 4 +-
.../contracts/DAO-contract/src/events.sw | 4 +-
.../contracts/DAO-contract/src/interface.sw | 14 +-
.../contracts/DAO-contract/src/main.sw | 117 +-
.../tests/utils/interface/core.rs | 10 +-
.../tests/utils/interface/info.rs | 6 +-
.../DAO-contract/tests/utils/setup.rs | 36 +-
DAO/project/fuel-toolchain.toml | 6 +-
OTC-swap-predicate/README.md | 12 +-
OTC-swap-predicate/project/Cargo.lock | 752 +++---
OTC-swap-predicate/project/Forc.lock | 16 +-
.../project/fuel-toolchain.toml | 6 +-
.../predicates/swap-predicate/Cargo.toml | 2 +-
.../predicates/swap-predicate/src/main.sw | 8 +-
.../swap-predicate/tests/utils/mod.rs | 42 +-
airdrop/README.md | 15 +-
airdrop/project/Cargo.lock | 854 +++---
airdrop/project/Cargo.toml | 1 -
airdrop/project/Forc.lock | 29 +-
airdrop/project/Forc.toml | 2 +-
airdrop/project/SPECIFICATION.md | 18 -
.../contracts/asset-contract/Cargo.toml | 15 -
.../contracts/asset-contract/Forc.toml | 5 -
.../contracts/asset-contract/src/errors.sw | 21 -
.../contracts/asset-contract/src/interface.sw | 33 -
.../contracts/asset-contract/src/main.sw | 40 -
.../tests/functions/constructor.rs | 39 -
.../asset-contract/tests/functions/mint_to.rs | 174 --
.../asset-contract/tests/functions/mod.rs | 2 -
.../contracts/asset-contract/tests/harness.rs | 2 -
.../asset-contract/tests/utils/interface.rs | 29 -
.../asset-contract/tests/utils/mod.rs | 2 -
.../asset-contract/tests/utils/setup.rs | 65 -
.../contracts/distributor-contract/Cargo.toml | 2 +-
.../contracts/distributor-contract/Forc.toml | 2 +-
.../distributor-contract/src/events.sw | 4 +-
.../distributor-contract/src/interface.sw | 11 +-
.../distributor-contract/src/main.sw | 74 +-
.../tests/functions/core/claim.rs | 210 +-
.../tests/functions/core/clawback.rs | 78 +-
.../tests/functions/core/constructor.rs | 32 +-
.../tests/functions/info/admin.rs | 14 +-
.../tests/functions/info/claim_data.rs | 18 +-
.../tests/functions/info/end_block.rs | 16 +-
.../tests/functions/info/is_active.rs | 14 +-
.../tests/functions/info/merkle_root.rs | 14 +-
.../tests/functions/info/number_of_leaves.rs | 14 +-
.../tests/utils/interface/core.rs | 44 +-
.../tests/utils/interface/info.rs | 2 +-
.../distributor-contract/tests/utils/setup.rs | 93 +-
airdrop/project/fuel-toolchain.toml | 6 +-
archive/AMM/project/test-utils/src/setup.rs | 4 +-
auctions/english-auction/README.md | 12 +-
auctions/english-auction/project/Cargo.lock | 705 +++--
auctions/english-auction/project/Forc.lock | 32 +-
auctions/english-auction/project/Forc.toml | 2 +-
.../contracts/auction-contract/Cargo.toml | 2 +-
.../contracts/auction-contract/Forc.toml | 3 -
.../auction-contract/src/data_structures.sw | 4 -
.../src/data_structures/auction.sw | 28 +-
.../src/data_structures/auction_asset.sw | 134 -
.../src/data_structures/nft_asset.sw | 75 -
.../src/data_structures/token_asset.sw | 65 -
.../src/data_structures/traits.sw | 18 -
.../contracts/auction-contract/src/errors.sw | 12 -
.../contracts/auction-contract/src/events.sw | 12 +-
.../auction-contract/src/interface.sw | 27 +-
.../contracts/auction-contract/src/main.sw | 187 +-
.../contracts/auction-contract/src/utils.sw | 42 -
.../tests/functions/core/bid.rs | 670 +----
.../tests/functions/core/cancel.rs | 99 +-
.../tests/functions/core/create.rs | 670 +----
.../tests/functions/core/withdraw.rs | 353 +--
.../tests/functions/info/auction_info.rs | 59 +-
.../tests/functions/info/deposit_balance.rs | 157 +-
.../tests/functions/info/total_auctions.rs | 126 +-
.../tests/utils/interface/core.rs | 165 +-
.../tests/utils/interface/info.rs | 4 +-
.../auction-contract/tests/utils/setup.rs | 127 +-
.../contracts/test-artifacts/NFT/.gitignore | 2 -
.../contracts/test-artifacts/NFT/Forc.toml | 8 -
.../contracts/test-artifacts/NFT/src/main.sw | 53 -
.../project/fuel-toolchain.toml | 6 +-
counter-script/README.md | 12 +-
counter-script/project/Cargo.lock | 1692 ++++++++++--
counter-script/project/Forc.lock | 32 +-
counter-script/project/fuel-toolchain.toml | 6 +-
.../scripts/interaction_script/Cargo.toml | 2 +-
.../interaction_script/tests/harness.rs | 21 +-
escrow/README.md | 12 +-
escrow/project/Cargo.lock | 705 +++--
escrow/project/Forc.lock | 16 +-
.../contracts/escrow-contract/Cargo.toml | 2 +-
.../escrow-contract/src/data_structures.sw | 6 +-
.../contracts/escrow-contract/src/events.sw | 2 +-
.../escrow-contract/src/interface.sw | 7 +-
.../contracts/escrow-contract/src/main.sw | 442 ++-
.../tests/functions/core/accept_arbiter.rs | 2 +-
.../tests/functions/core/create_escrow.rs | 17 +-
.../tests/functions/core/deposit.rs | 6 +-
.../tests/functions/core/propose_arbiter.rs | 25 +-
.../tests/functions/core/resolve_dispute.rs | 2 +-
.../tests/functions/core/return_deposit.rs | 2 +-
.../tests/functions/core/take_payment.rs | 44 +-
.../functions/core/transfer_to_seller.rs | 2 +-
.../functions/core/withdraw_collateral.rs | 30 +-
.../tests/functions/info/arbiter_proposal.rs | 4 +-
.../tests/functions/info/assets.rs | 4 +-
.../tests/functions/info/escrows.rs | 4 +-
.../tests/utils/interface/core.rs | 27 +-
.../escrow-contract/tests/utils/setup.rs | 43 +-
escrow/project/fuel-toolchain.toml | 6 +-
fundraiser/README.md | 12 +-
fundraiser/project/Cargo.lock | 705 +++--
fundraiser/project/Forc.lock | 16 +-
.../contracts/fundraiser-contract/Cargo.toml | 2 +-
.../src/data_structures/campaign_info.sw | 6 +-
.../fundraiser-contract/src/interface.sw | 13 +-
.../contracts/fundraiser-contract/src/main.sw | 150 +-
.../tests/utils/interface/core.rs | 12 +-
.../tests/utils/interface/info.rs | 4 +-
.../fundraiser-contract/tests/utils/setup.rs | 35 +-
fundraiser/project/fuel-toolchain.toml | 6 +-
games/TicTacToe/README.md | 12 +-
games/TicTacToe/project/Cargo.lock | 662 +++--
games/TicTacToe/project/Forc.lock | 16 +-
.../contracts/tictactoe-contract/Cargo.toml | 2 +-
.../contracts/tictactoe-contract/src/main.sw | 60 +-
.../contracts/tictactoe-contract/src/utils.sw | 45 +-
.../tests/utils/interface.rs | 6 +-
.../tictactoe-contract/tests/utils/setup.rs | 14 +-
games/TicTacToe/project/fuel-toolchain.toml | 6 +-
multisig-wallet/README.md | 12 +-
multisig-wallet/project/Cargo.lock | 640 +++--
multisig-wallet/project/Forc.lock | 22 +-
.../contracts/multisig-contract/Cargo.toml | 2 +-
.../src/data_structures/hashing.sw | 46 +-
.../contracts/multisig-contract/src/events.sw | 2 +-
.../multisig-contract/src/interface.sw | 10 +-
.../contracts/multisig-contract/src/main.sw | 113 +-
.../contracts/multisig-contract/src/utils.sw | 16 +-
.../functions/core/execute_transaction.rs | 48 +-
.../tests/functions/info/balance.rs | 14 +-
.../tests/functions/info/compute_hash.rs | 12 +-
.../tests/utils/interface/core.rs | 6 +-
.../tests/utils/interface/info.rs | 6 +-
.../multisig-contract/tests/utils/setup.rs | 45 +-
.../target-contract/src/main.sw | 2 +-
multisig-wallet/project/fuel-toolchain.toml | 6 +-
name-registry/README.md | 12 +-
name-registry/project/Cargo.lock | 824 ++++--
name-registry/project/Forc.lock | 16 +-
name-registry/project/SPECIFICATION.md | 16 +-
.../contracts/registry-contract/Cargo.toml | 2 +-
.../contracts/registry-contract/src/errors.sw | 16 +-
.../contracts/registry-contract/src/events.sw | 12 +-
.../registry-contract/src/interface.sw | 117 +-
.../contracts/registry-contract/src/main.sw | 198 +-
.../tests/functions/core/extend.rs | 43 +-
.../tests/functions/core/register.rs | 31 +-
.../tests/functions/core/set_asset.rs | 12 +-
.../tests/functions/core/set_identity.rs | 50 +-
.../tests/functions/core/set_owner.rs | 50 +-
.../tests/functions/info/expiry.rs | 22 +-
.../tests/functions/info/identity.rs | 16 +-
.../tests/functions/info/owner.rs | 16 +-
.../tests/functions/info/rate.rs | 12 +-
.../tests/utils/interface/core.rs | 92 +-
.../tests/utils/interface/info.rs | 33 +-
.../registry-contract/tests/utils/setup.rs | 26 +-
name-registry/project/fuel-toolchain.toml | 6 +-
native-assets/NFT/README.md | 8 +-
native-assets/NFT/project/Forc.lock | 40 +-
.../project/contracts/NFT-contract/Forc.toml | 8 +-
.../contracts/NFT-contract/src/main.sw | 95 +-
native-assets/NFT/project/fuel-toolchain.toml | 6 +-
native-assets/token/README.md | 8 +-
native-assets/token/project/Forc.lock | 38 +-
.../contracts/token-contract/Forc.toml | 6 +-
.../contracts/token-contract/src/main.sw | 85 +-
.../token/project/fuel-toolchain.toml | 6 +-
oracle/README.md | 12 +-
oracle/project/Cargo.lock | 699 +++--
oracle/project/Forc.lock | 16 +-
.../contracts/oracle-contract/Cargo.toml | 2 +-
oracle/project/fuel-toolchain.toml | 6 +-
oracle/project/oracle-node/Cargo.toml | 2 +-
oracle/project/oracle-node/src/main.rs | 9 +-
.../oracle-node/tests/functions/run.rs | 2 +-
oracle/project/utils/Cargo.toml | 2 +-
oracle/project/utils/src/lib.rs | 9 +-
timelock/README.md | 12 +-
timelock/project/Cargo.lock | 709 +++--
timelock/project/Forc.lock | 16 +-
.../contracts/timelock-contract/Cargo.toml | 2 +-
.../timelock-contract/src/data_structures.sw | 2 +-
.../contracts/timelock-contract/src/errors.sw | 16 +
.../timelock-contract/src/interface.sw | 25 +-
.../contracts/timelock-contract/src/main.sw | 79 +-
.../contracts/timelock-contract/src/utils.sw | 23 +-
.../timelock-contract/tests/harness.rs | 1 -
.../timelock-contract/tests/utils/setup.rs | 7 +-
timelock/project/fuel-toolchain.toml | 6 +-
218 files changed, 10567 insertions(+), 9077 deletions(-)
delete mode 100644 airdrop/project/contracts/asset-contract/Cargo.toml
delete mode 100644 airdrop/project/contracts/asset-contract/Forc.toml
delete mode 100644 airdrop/project/contracts/asset-contract/src/errors.sw
delete mode 100644 airdrop/project/contracts/asset-contract/src/interface.sw
delete mode 100644 airdrop/project/contracts/asset-contract/src/main.sw
delete mode 100644 airdrop/project/contracts/asset-contract/tests/functions/constructor.rs
delete mode 100644 airdrop/project/contracts/asset-contract/tests/functions/mint_to.rs
delete mode 100644 airdrop/project/contracts/asset-contract/tests/functions/mod.rs
delete mode 100644 airdrop/project/contracts/asset-contract/tests/harness.rs
delete mode 100644 airdrop/project/contracts/asset-contract/tests/utils/interface.rs
delete mode 100644 airdrop/project/contracts/asset-contract/tests/utils/mod.rs
delete mode 100644 airdrop/project/contracts/asset-contract/tests/utils/setup.rs
delete mode 100644 auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction_asset.sw
delete mode 100644 auctions/english-auction/project/contracts/auction-contract/src/data_structures/nft_asset.sw
delete mode 100644 auctions/english-auction/project/contracts/auction-contract/src/data_structures/token_asset.sw
delete mode 100644 auctions/english-auction/project/contracts/auction-contract/src/data_structures/traits.sw
delete mode 100644 auctions/english-auction/project/contracts/auction-contract/src/utils.sw
delete mode 100644 auctions/english-auction/project/contracts/test-artifacts/NFT/.gitignore
delete mode 100644 auctions/english-auction/project/contracts/test-artifacts/NFT/Forc.toml
delete mode 100644 auctions/english-auction/project/contracts/test-artifacts/NFT/src/main.sw
diff --git a/.devops/.template/project/Cargo.lock b/.devops/.template/project/Cargo.lock
index b8346a2d9..1b3469ba4 100644
--- a/.devops/.template/project/Cargo.lock
+++ b/.devops/.template/project/Cargo.lock
@@ -12,38 +12,65 @@ dependencies = [
"regex",
]
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
[[package]]
name = "aes"
-version = "0.7.5"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
+checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"cipher",
"cpufeatures",
- "opaque-debug 0.3.0",
]
[[package]]
name = "ahash"
-version = "0.8.3"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"once_cell",
"version_check",
+ "zerocopy",
]
[[package]]
name = "aho-corasick"
-version = "0.7.20"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
[[package]]
name = "android_system_properties"
version = "0.1.5"
@@ -132,7 +159,7 @@ dependencies = [
"async-stream",
"async-trait",
"base64 0.13.1",
- "bytes 1.4.0",
+ "bytes",
"fnv",
"futures-util",
"http",
@@ -141,7 +168,7 @@ dependencies = [
"multer",
"num-traits",
"once_cell",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
"regex",
"serde",
"serde_json",
@@ -187,7 +214,7 @@ version = "4.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a941b499fead4a3fb5392cabf42446566d18c86313f69f2deab69560394d65f"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"indexmap",
"serde",
"serde_json",
@@ -201,7 +228,7 @@ checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
dependencies = [
"async-stream-impl",
"futures-core",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
]
[[package]]
@@ -212,18 +239,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
name = "async-trait"
-version = "0.1.68"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
@@ -249,23 +276,23 @@ checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43"
dependencies = [
"async-trait",
"axum-core",
- "bitflags",
- "bytes 1.4.0",
+ "bitflags 1.3.2",
+ "bytes",
"futures-util",
"http",
- "http-body 0.4.5",
- "hyper 0.14.25",
- "itoa 1.0.6",
+ "http-body",
+ "hyper",
+ "itoa",
"matchit",
"memchr",
"mime",
"percent-encoding",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper",
- "tokio 1.27.0",
+ "tokio",
"tower",
"tower-http",
"tower-layer",
@@ -279,42 +306,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
dependencies = [
"async-trait",
- "bytes 1.4.0",
+ "bytes",
"futures-util",
"http",
- "http-body 0.4.5",
+ "http-body",
"mime",
"tower-layer",
"tower-service",
]
[[package]]
-name = "base16ct"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
-
-[[package]]
-name = "base58"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83"
-
-[[package]]
-name = "base58check"
-version = "0.1.0"
+name = "backtrace"
+version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ee2fe4c9a0c84515f136aaae2466744a721af6d63339c18689d9e995d74d99b"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [
- "base58",
- "sha2 0.8.2",
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+ "serde",
]
[[package]]
-name = "base64"
-version = "0.12.3"
+name = "base16ct"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
[[package]]
name = "base64"
@@ -334,27 +355,12 @@ version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-[[package]]
-name = "bech32"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dabbe35f96fb9507f7330793dc490461b2962659ac5d427181e451a623751d1"
-
[[package]]
name = "bech32"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445"
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "bitflags"
version = "1.3.2"
@@ -362,13 +368,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
-name = "bitvec"
-version = "0.17.4"
+name = "bitflags"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
dependencies = [
- "either",
- "radium 0.3.0",
+ "serde",
]
[[package]]
@@ -378,78 +383,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
"funty",
- "radium 0.7.0",
+ "radium",
"tap",
"wyz",
]
-[[package]]
-name = "blake2"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
-dependencies = [
- "digest 0.10.6",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
-dependencies = [
- "block-padding 0.1.5",
- "byte-tools",
- "byteorder",
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "block-padding 0.2.1",
- "generic-array 0.14.7",
-]
-
[[package]]
name = "block-buffer"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
dependencies = [
- "generic-array 0.14.7",
+ "generic-array",
]
[[package]]
-name = "block-padding"
-version = "0.1.5"
+name = "bs58"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
+checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896"
dependencies = [
- "byte-tools",
+ "sha2",
+ "tinyvec",
]
-[[package]]
-name = "block-padding"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
-
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
-[[package]]
-name = "bs58"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
-
[[package]]
name = "bumpalo"
version = "3.12.0"
@@ -462,12 +419,6 @@ version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
-[[package]]
-name = "byte-tools"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-
[[package]]
name = "byteorder"
version = "1.4.3"
@@ -476,30 +427,21 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
-
-[[package]]
-name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
[[package]]
name = "cc"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
+version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
[[package]]
name = "cfg-if"
@@ -509,27 +451,26 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.24"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
+ "android-tzdata",
"iana-time-zone",
"js-sys",
- "num-integer",
"num-traits",
- "serde",
- "time 0.1.45",
"wasm-bindgen",
- "winapi 0.3.9",
+ "windows-targets 0.48.0",
]
[[package]]
name = "cipher"
-version = "0.3.0"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
- "generic-array 0.14.7",
+ "crypto-common",
+ "inout",
]
[[package]]
@@ -551,7 +492,7 @@ checksum = "14a1a858f532119338887a4b8e1af9c60de8249cd7bafd68036a489e261e37b6"
dependencies = [
"anstream",
"anstyle",
- "bitflags",
+ "bitflags 1.3.2",
"clap_lex",
"strsim",
]
@@ -562,10 +503,10 @@ version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4"
dependencies = [
- "heck 0.4.1",
+ "heck",
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
@@ -592,58 +533,53 @@ dependencies = [
[[package]]
name = "coins-bip32"
-version = "0.7.0"
+version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "634c509653de24b439672164bbf56f5f582a2ab0e313d3b0f6af0b7345cf2560"
+checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3"
dependencies = [
- "bincode",
"bs58",
"coins-core",
- "digest 0.10.6",
- "getrandom 0.2.9",
- "hmac 0.12.1",
+ "digest",
+ "hmac",
"k256",
- "lazy_static",
"serde",
- "sha2 0.10.6",
+ "sha2",
"thiserror",
]
[[package]]
name = "coins-bip39"
-version = "0.7.0"
+version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a11892bcac83b4c6e95ab84b5b06c76d9d70ad73548dd07418269c5c7977171"
+checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528"
dependencies = [
- "bitvec 0.17.4",
+ "bitvec",
"coins-bip32",
- "getrandom 0.2.9",
- "hex",
- "hmac 0.12.1",
- "pbkdf2 0.11.0",
- "rand 0.8.5",
- "sha2 0.10.6",
+ "hmac",
+ "once_cell",
+ "pbkdf2 0.12.2",
+ "rand",
+ "sha2",
"thiserror",
]
[[package]]
name = "coins-core"
-version = "0.7.0"
+version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c94090a6663f224feae66ab01e41a2555a8296ee07b5f20dab8888bdefc9f617"
+checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979"
dependencies = [
- "base58check",
- "base64 0.12.3",
- "bech32 0.7.3",
- "blake2",
- "digest 0.10.6",
- "generic-array 0.14.7",
+ "base64 0.21.0",
+ "bech32",
+ "bs58",
+ "digest",
+ "generic-array",
"hex",
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.6",
- "sha3 0.10.7",
+ "sha2",
+ "sha3",
"thiserror",
]
@@ -666,12 +602,6 @@ dependencies = [
"unreachable",
]
-[[package]]
-name = "const-oid"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
-
[[package]]
name = "const-oid"
version = "0.9.2"
@@ -691,7 +621,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.20",
+ "time",
"version_check",
]
@@ -707,7 +637,7 @@ dependencies = [
"publicsuffix",
"serde",
"serde_json",
- "time 0.3.20",
+ "time",
"url",
]
@@ -752,13 +682,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
[[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
+name = "crossbeam-deque"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
dependencies = [
- "cfg-if 1.0.0",
+ "autocfg",
+ "cfg-if",
"crossbeam-utils",
+ "memoffset",
+ "scopeguard",
]
[[package]]
@@ -767,7 +711,7 @@ version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
]
[[package]]
@@ -778,24 +722,12 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "crypto-bigint"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
-dependencies = [
- "generic-array 0.14.7",
- "rand_core 0.6.4",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "crypto-bigint"
-version = "0.4.9"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
dependencies = [
- "generic-array 0.14.7",
- "rand_core 0.6.4",
+ "generic-array",
+ "rand_core",
"subtle",
"zeroize",
]
@@ -806,20 +738,10 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
- "generic-array 0.14.7",
+ "generic-array",
"typenum",
]
-[[package]]
-name = "crypto-mac"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
-dependencies = [
- "generic-array 0.14.7",
- "subtle",
-]
-
[[package]]
name = "ct-logs"
version = "0.8.0"
@@ -831,13 +753,40 @@ dependencies = [
[[package]]
name = "ctr"
-version = "0.7.0"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a232f92a03f37dd7d7dd2adc67166c77e9cd88de5b019b9a9eecfaeaf7bfd481"
+checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.41",
+]
+
[[package]]
name = "cxx"
version = "1.0.94"
@@ -862,7 +811,7 @@ dependencies = [
"proc-macro2",
"quote",
"scratch",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
@@ -879,7 +828,7 @@ checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
@@ -889,7 +838,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1afa0591b1021e427e548a1f0f147fe6168f6c7c7f7006bace77f28856051b8"
dependencies = [
"cynic-proc-macros",
- "reqwest 0.11.16",
+ "reqwest",
"serde",
"serde_json",
"static_assertions",
@@ -994,20 +943,11 @@ dependencies = [
[[package]]
name = "der"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
-dependencies = [
- "const-oid 0.7.1",
-]
-
-[[package]]
-name = "der"
-version = "0.6.1"
+version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
dependencies = [
- "const-oid 0.9.2",
+ "const-oid",
"zeroize",
]
@@ -1037,29 +977,12 @@ dependencies = [
[[package]]
name = "digest"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
-dependencies = [
- "generic-array 0.12.4",
-]
-
-[[package]]
-name = "digest"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
-dependencies = [
- "generic-array 0.14.7",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.6"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
- "block-buffer 0.10.4",
+ "block-buffer",
+ "const-oid",
"crypto-common",
"subtle",
]
@@ -1072,52 +995,59 @@ checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169"
[[package]]
name = "ecdsa"
-version = "0.14.8"
+version = "0.16.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c"
+checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
dependencies = [
- "der 0.6.1",
- "elliptic-curve 0.12.3",
+ "der",
+ "digest",
+ "elliptic-curve",
"rfc6979",
"signature",
+ "spki",
]
[[package]]
-name = "either"
-version = "1.8.1"
+name = "ed25519"
+version = "2.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
[[package]]
-name = "elliptic-curve"
-version = "0.11.12"
+name = "ed25519-dalek"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6"
+checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
dependencies = [
- "base16ct",
- "crypto-bigint 0.3.2",
- "der 0.5.1",
- "generic-array 0.14.7",
- "rand_core 0.6.4",
+ "curve25519-dalek",
+ "ed25519",
+ "sha2",
"subtle",
- "zeroize",
]
+[[package]]
+name = "either"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+
[[package]]
name = "elliptic-curve"
-version = "0.12.3"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
- "crypto-bigint 0.4.9",
- "der 0.6.1",
- "digest 0.10.6",
+ "crypto-bigint",
+ "digest",
"ff",
- "generic-array 0.14.7",
+ "generic-array",
"group",
"pkcs8",
- "rand_core 0.6.4",
+ "rand_core",
"sec1",
"subtle",
"zeroize",
@@ -1129,7 +1059,7 @@ version = "0.8.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
]
[[package]]
@@ -1154,47 +1084,42 @@ dependencies = [
[[package]]
name = "errno"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
dependencies = [
- "cc",
"libc",
+ "windows-sys 0.52.0",
]
[[package]]
name = "eth-keystore"
-version = "0.3.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d47d900a7dea08593d398104f8288e37858b0ad714c8d08cd03fdb86563e6402"
+checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab"
dependencies = [
"aes",
"ctr",
- "digest 0.9.0",
+ "digest",
"hex",
- "hmac 0.11.0",
- "pbkdf2 0.8.0",
- "rand 0.8.5",
+ "hmac",
+ "pbkdf2 0.11.0",
+ "rand",
"scrypt",
"serde",
"serde_json",
- "sha2 0.9.9",
- "sha3 0.9.1",
+ "sha2",
+ "sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -1202,39 +1127,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9146112ee3ce031aa5aebe3e049e10b1d353b9c7630cc6be488c2c62cc5d9c42"
dependencies = [
"futures",
- "hyper 0.14.25",
+ "hyper",
"hyper-rustls 0.22.1",
"hyper-timeout",
"log",
"pin-project",
- "tokio 1.27.0",
+ "tokio",
]
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
[[package]]
name = "fastrand"
-version = "1.9.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
[[package]]
name = "ff"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
dependencies = [
- "rand_core 0.6.4",
+ "rand_core",
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -1242,7 +1164,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534"
dependencies = [
"byteorder",
- "rand 0.8.5",
+ "rand",
"rustc-hex",
"static_assertions",
]
@@ -1262,49 +1184,40 @@ dependencies = [
"percent-encoding",
]
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "bitflags",
- "fuchsia-zircon-sys",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
[[package]]
name = "fuel-abi-types"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99a7aeb41cdabffa38418b00fd57b5571dc58ee5af606e845a088befecd36"
+checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
+ "itertools 0.10.5",
"lazy_static",
+ "proc-macro2",
+ "quote",
"regex",
"serde",
+ "serde_json",
+ "syn 2.0.41",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.26.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3711764e2f1489f35a4f69e7f345218c69649fdecc2d3d4515980ad33a30fa"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
+ "bitflags 2.4.1",
"fuel-types",
"serde",
+ "strum",
]
[[package]]
name = "fuel-core"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f60830db595a1800f84aba58c939b1481a9a4582325d6552919438b74b07f11"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
dependencies = [
"anyhow",
"async-graphql",
@@ -1318,6 +1231,7 @@ dependencies = [
"fuel-core-database",
"fuel-core-executor",
"fuel-core-importer",
+ "fuel-core-metrics",
"fuel-core-poa",
"fuel-core-producer",
"fuel-core-services",
@@ -1326,49 +1240,48 @@ dependencies = [
"fuel-core-types",
"futures",
"hex",
- "hyper 0.14.25",
+ "hyper",
"itertools 0.10.5",
- "num_cpus",
+ "parking_lot",
"postcard",
"primitive-types",
- "rand 0.8.5",
+ "rand",
"serde",
"serde_json",
- "strum 0.24.1",
- "strum_macros 0.24.3",
+ "strum",
+ "strum_macros",
"thiserror",
- "tokio 1.27.0",
+ "tokio",
"tokio-stream",
"tower-http",
"tracing",
- "tracing-honeycomb",
+ "uuid 1.6.1",
]
[[package]]
name = "fuel-core-chain-config"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8ce2b8c389bf5673977bc5650fe6293b7689299be355dfc0442edb15f6cefb9"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
dependencies = [
"anyhow",
- "bech32 0.9.1",
+ "bech32",
"fuel-core-storage",
"fuel-core-types",
"hex",
"itertools 0.10.5",
"postcard",
- "rand 0.8.5",
"serde",
"serde_json",
- "serde_with",
+ "serde_with 1.14.0",
"tracing",
]
[[package]]
name = "fuel-core-client"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed19928a2718d3467f9b63b6403aae2db8bbfbdd585fe92b8c7517f35a86a1fa"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
dependencies = [
"anyhow",
"cynic",
@@ -1377,9 +1290,10 @@ dependencies = [
"fuel-core-types",
"futures",
"hex",
- "hyper-rustls 0.22.1",
+ "hyper-rustls 0.24.2",
"itertools 0.10.5",
- "reqwest 0.11.16",
+ "reqwest",
+ "schemafy_lib",
"serde",
"serde_json",
"tai64",
@@ -1389,34 +1303,34 @@ dependencies = [
[[package]]
name = "fuel-core-consensus-module"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93be220e7724955ee76142b3d6e3557bd76cb5fada0a73d9948fe2dd8712361f"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
dependencies = [
"anyhow",
"fuel-core-chain-config",
"fuel-core-poa",
"fuel-core-types",
- "tokio 1.27.0",
+ "tokio",
]
[[package]]
name = "fuel-core-database"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be372101189a98c146b8dd749d13e37e67258e23c398ff7d02d55d49c55396f9"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
]
[[package]]
name = "fuel-core-executor"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f74b9b8616670f9e7413821bb837111f69214bc7ca741485de42f9a328221172"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1426,36 +1340,39 @@ dependencies = [
[[package]]
name = "fuel-core-importer"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86dcdcdf72d093ff2759aad90be6d3419db773d0bef3bcaab5fbf9d69acb5f7e"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
dependencies = [
"anyhow",
+ "derive_more",
+ "fuel-core-metrics",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
- "tokio 1.27.0",
+ "tokio",
"tracing",
]
[[package]]
name = "fuel-core-metrics"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36fc735e0e6a1a79ee9016d90623e7318ccb1933cab9877701aaf796aa7b6958"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
dependencies = [
"axum",
- "lazy_static",
"once_cell",
+ "pin-project-lite",
"prometheus-client 0.18.1",
"prometheus-client 0.20.0",
+ "regex",
+ "tracing",
]
[[package]]
name = "fuel-core-poa"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d85cfe2e86dc7d71699872ad2414949bc240fa293fc68a1ed938219e620baa9"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
dependencies = [
"anyhow",
"async-trait",
@@ -1463,57 +1380,59 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
- "tokio 1.27.0",
+ "tokio",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-producer"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bac19c64e106c58101373c901b63c7cb00b303079637e6907f92656833826326"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
"async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
- "tokio 1.27.0",
+ "tokio",
+ "tokio-rayon",
"tracing",
]
[[package]]
name = "fuel-core-services"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ec35fe0a6cc34425c73eae01157b243f9644835cd34e5f4e7f3f252effac8f"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
"async-trait",
+ "fuel-core-metrics",
"futures",
- "parking_lot 0.12.1",
- "tokio 1.27.0",
+ "parking_lot",
+ "tokio",
"tracing",
]
[[package]]
name = "fuel-core-storage"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5f908cf83134c6c4baefb26941ca9ad5056002c7ca79a47a69fd85baa53704"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
]
[[package]]
name = "fuel-core-txpool"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04c717647aa00bb1e96b27870c903bf53fb54fdd8dec786a92f95d74fdfad3e0"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
dependencies = [
"anyhow",
"async-trait",
@@ -1522,17 +1441,19 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
- "parking_lot 0.12.1",
- "tokio 1.27.0",
+ "futures",
+ "parking_lot",
+ "tokio",
+ "tokio-rayon",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.17.9"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e77617a745c23c0fb34d85b83ed0f2d7fce0ac3385288ee5cae064f66e0f0868"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -1546,100 +1467,128 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.26.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0509f3d02b36c9c4bff0d4f342931be9b670cbe3d5a14c45f9ff9b9c7dc39a16"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
- "getrandom 0.2.9",
+ "k256",
"lazy_static",
- "rand 0.8.5",
+ "p256",
+ "rand",
"secp256k1",
"serde",
- "sha2 0.10.6",
+ "sha2",
"zeroize",
]
+[[package]]
+name = "fuel-derive"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.41",
+ "synstructure",
+]
+
[[package]]
name = "fuel-merkle"
-version = "0.26.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44387bb9dfb76c68b0d61a8d038b68fd92ee3cb64092b5c67d4e8981be4b5551"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
dependencies = [
- "digest 0.10.6",
+ "derive_more",
+ "digest",
"fuel-storage",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.6",
- "thiserror",
+ "serde",
+ "sha2",
]
[[package]]
name = "fuel-storage"
-version = "0.26.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99472cf7ace40449d93491c1298ec4b34432ceff73d3e8037769e9d1fd1b4387"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
[[package]]
name = "fuel-tx"
-version = "0.26.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c206d767975d7767ba3a84a352ddeb1221504a60ee69795da2b3c80844426726"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-types",
+ "hashbrown 0.14.3",
"itertools 0.10.5",
- "num-integer",
- "rand 0.8.5",
+ "rand",
"serde",
"serde_json",
+ "strum",
+ "strum_macros",
]
[[package]]
name = "fuel-types"
-version = "0.26.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55dd27327b039c3ad8d4dd34f02815d960e1d2f38b5e8d98d12197ddf8759f62"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
- "rand 0.8.5",
+ "rand",
"serde",
]
[[package]]
name = "fuel-vm"
-version = "0.26.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2a9c06d45ebfc2eaad5204aadccaf57666ae9f793513192258bfd00fef78071"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-storage",
"fuel-tx",
"fuel-types",
+ "hashbrown 0.14.3",
"itertools 0.10.5",
- "rand 0.8.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
- "sha3 0.10.7",
+ "sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
- "tracing",
]
[[package]]
name = "fuels"
-version = "0.40.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f004d3452af2e93e1e5a28020d6a8eb8d782ff8b91f24805b0c42d846bcb206f"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
"fuel-core",
"fuel-core-client",
@@ -1649,19 +1598,17 @@ dependencies = [
"fuels-macros",
"fuels-programs",
"fuels-test-helpers",
- "fuels-types",
]
[[package]]
name = "fuels-accounts"
-version = "0.40.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d3ca71e9cde34d71d7c5a975ad3cec1c5ec8f50c64c3605413eca8e9441abb2"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes 1.4.0",
"chrono",
- "elliptic-curve 0.11.12",
+ "elliptic-curve",
"eth-keystore",
"fuel-core-client",
"fuel-crypto",
@@ -1669,152 +1616,121 @@ dependencies = [
"fuel-types",
"fuel-vm",
"fuels-core",
- "fuels-types",
"hex",
- "itertools 0.10.5",
- "rand 0.8.5",
- "serde",
- "sha2 0.9.9",
+ "rand",
+ "semver",
"tai64",
"thiserror",
- "tokio 1.27.0",
+ "tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.40.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43bf07b1ebbdebd8e85bf1ac24665923c4b0e51b9a08ed5d9ddf0431de8c4894"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools 0.10.5",
- "lazy_static",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 1.0.109",
+ "syn 2.0.41",
]
[[package]]
name = "fuels-core"
-version = "0.40.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9576f87f33448bed8c03c9046366813fc0336ed6817006c41ca087fb88af8334"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
+ "bech32",
+ "chrono",
+ "fuel-abi-types",
+ "fuel-asm",
+ "fuel-core-chain-config",
+ "fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
- "fuels-types",
+ "fuels-macros",
"hex",
- "itertools 0.10.5",
- "sha2 0.9.9",
+ "itertools 0.12.0",
+ "serde",
+ "serde_json",
+ "sha2",
+ "thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.40.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b042ffb853f97ddade1c728030fd28807f7eb978339a5d959869d13387c25356"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools 0.10.5",
- "lazy_static",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
- "rand 0.8.5",
- "regex",
- "serde_json",
- "syn 1.0.109",
+ "rand",
+ "syn 2.0.41",
]
[[package]]
name = "fuels-programs"
-version = "0.40.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "437d2b05aea3114c3ae71047831d95db16108e068112e702289bc5cadb40ae26"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
- "bytes 1.4.0",
+ "bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "fuels-types",
- "futures",
- "hex",
- "itertools 0.10.5",
- "proc-macro2",
- "rand 0.8.5",
- "regex",
- "serde",
+ "itertools 0.12.0",
+ "rand",
"serde_json",
- "sha2 0.9.9",
- "strum 0.21.0",
- "strum_macros 0.21.1",
- "thiserror",
- "tokio 1.27.0",
+ "tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.40.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f68ed08ff36e4c9a3d1aca5820463c9239efcfef2e7b6d6b8d60cc6a09e5a02"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
"fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
- "fuels-types",
+ "fuels-core",
"futures",
"hex",
"portpicker",
- "rand 0.8.5",
+ "rand",
"serde",
"serde_json",
- "serde_with",
+ "serde_with 3.4.0",
"tempfile",
- "tokio 1.27.0",
+ "tokio",
"which",
]
-[[package]]
-name = "fuels-types"
-version = "0.40.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5849dbc89d27ca257dde78ab38b7e9599a716b5e49e2fd7a38369f5994e81975"
-dependencies = [
- "bech32 0.9.1",
- "chrono",
- "fuel-abi-types",
- "fuel-asm",
- "fuel-core-chain-config",
- "fuel-core-client",
- "fuel-tx",
- "fuel-types",
- "fuels-macros",
- "hex",
- "itertools 0.10.5",
- "lazy_static",
- "proc-macro2",
- "regex",
- "serde",
- "serde_json",
- "strum 0.21.0",
- "strum_macros 0.21.1",
- "thiserror",
-]
-
[[package]]
name = "funty"
version = "2.0.0"
@@ -1877,7 +1793,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
@@ -1905,20 +1821,11 @@ dependencies = [
"futures-sink",
"futures-task",
"memchr",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
"pin-utils",
"slab",
]
-[[package]]
-name = "generic-array"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
-dependencies = [
- "typenum",
-]
-
[[package]]
name = "generic-array"
version = "0.14.7"
@@ -1927,31 +1834,25 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
dependencies = [
"typenum",
"version_check",
+ "zeroize",
]
[[package]]
name = "getrandom"
-version = "0.1.16"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
+ "wasi",
]
[[package]]
-name = "getrandom"
-version = "0.2.9"
+name = "gimli"
+version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
-dependencies = [
- "cfg-if 1.0.0",
- "js-sys",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
-]
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "graphql-parser"
@@ -1965,42 +1866,22 @@ dependencies = [
[[package]]
name = "group"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
dependencies = [
"ff",
- "rand_core 0.6.4",
+ "rand_core",
"subtle",
]
-[[package]]
-name = "h2"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "slab",
- "tokio 0.2.25",
- "tokio-util 0.3.1",
- "tracing",
- "tracing-futures",
-]
-
[[package]]
name = "h2"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"fnv",
"futures-core",
"futures-sink",
@@ -2008,8 +1889,8 @@ dependencies = [
"http",
"indexmap",
"slab",
- "tokio 1.27.0",
- "tokio-util 0.7.7",
+ "tokio",
+ "tokio-util",
"tracing",
]
@@ -2037,6 +1918,17 @@ dependencies = [
"ahash",
]
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
+
[[package]]
name = "heapless"
version = "0.7.16"
@@ -2051,15 +1943,6 @@ dependencies = [
"stable_deref_trait",
]
-[[package]]
-name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
[[package]]
name = "heck"
version = "0.4.1"
@@ -2092,21 +1975,20 @@ dependencies = [
[[package]]
name = "hmac"
-version = "0.11.0"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
dependencies = [
- "crypto-mac",
- "digest 0.9.0",
+ "digest",
]
[[package]]
-name = "hmac"
-version = "0.12.1"
+name = "home"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
dependencies = [
- "digest 0.10.6",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2115,19 +1997,9 @@ version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"fnv",
- "itoa 1.0.6",
-]
-
-[[package]]
-name = "http-body"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"
-dependencies = [
- "bytes 0.5.6",
- "http",
+ "itoa",
]
[[package]]
@@ -2136,9 +2008,9 @@ version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"http",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
]
[[package]]
@@ -2153,12 +2025,6 @@ version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-[[package]]
-name = "httpdate"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
-
[[package]]
name = "httpdate"
version = "1.0.2"
@@ -2167,68 +2033,28 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
[[package]]
name = "hyper"
-version = "0.13.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb"
-dependencies = [
- "bytes 0.5.6",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2 0.2.7",
- "http",
- "http-body 0.3.1",
- "httparse",
- "httpdate 0.3.2",
- "itoa 0.4.8",
- "pin-project",
- "socket2 0.3.19",
- "tokio 0.2.25",
- "tower-service",
- "tracing",
- "want",
-]
-
-[[package]]
-name = "hyper"
-version = "0.14.25"
+version = "0.14.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"futures-channel",
"futures-core",
"futures-util",
- "h2 0.3.17",
+ "h2",
"http",
- "http-body 0.4.5",
+ "http-body",
"httparse",
- "httpdate 1.0.2",
- "itoa 1.0.6",
- "pin-project-lite 0.2.9",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
"socket2 0.4.9",
- "tokio 1.27.0",
+ "tokio",
"tower-service",
"tracing",
"want",
]
-[[package]]
-name = "hyper-rustls"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37743cc83e8ee85eacfce90f2f4102030d9ff0a95244098d781e9bee4a90abb6"
-dependencies = [
- "bytes 0.5.6",
- "futures-util",
- "hyper 0.13.10",
- "log",
- "rustls 0.18.1",
- "tokio 0.2.25",
- "tokio-rustls 0.14.1",
- "webpki 0.21.4",
-]
-
[[package]]
name = "hyper-rustls"
version = "0.22.1"
@@ -2237,14 +2063,13 @@ checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64"
dependencies = [
"ct-logs",
"futures-util",
- "hyper 0.14.25",
+ "hyper",
"log",
"rustls 0.19.1",
- "rustls-native-certs",
- "tokio 1.27.0",
+ "rustls-native-certs 0.5.0",
+ "tokio",
"tokio-rustls 0.22.0",
"webpki 0.21.4",
- "webpki-roots 0.21.1",
]
[[package]]
@@ -2254,21 +2079,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
dependencies = [
"http",
- "hyper 0.14.25",
+ "hyper",
"rustls 0.20.8",
- "tokio 1.27.0",
+ "tokio",
"tokio-rustls 0.23.4",
]
+[[package]]
+name = "hyper-rustls"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
+dependencies = [
+ "futures-util",
+ "http",
+ "hyper",
+ "log",
+ "rustls 0.21.10",
+ "rustls-native-certs 0.6.3",
+ "tokio",
+ "tokio-rustls 0.24.1",
+ "webpki-roots 0.25.3",
+]
+
[[package]]
name = "hyper-timeout"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
dependencies = [
- "hyper 0.14.25",
- "pin-project-lite 0.2.9",
- "tokio 1.27.0",
+ "hyper",
+ "pin-project-lite",
+ "tokio",
"tokio-io-timeout",
]
@@ -2355,12 +2197,12 @@ dependencies = [
]
[[package]]
-name = "instant"
-version = "0.1.12"
+name = "inout"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
dependencies = [
- "cfg-if 1.0.0",
+ "generic-array",
]
[[package]]
@@ -2374,15 +2216,6 @@ dependencies = [
"windows-sys 0.48.0",
]
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "ipnet"
version = "2.7.2"
@@ -2397,34 +2230,28 @@ checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
dependencies = [
"hermit-abi 0.3.1",
"io-lifetimes",
- "rustix",
+ "rustix 0.37.11",
"windows-sys 0.48.0",
]
[[package]]
name = "itertools"
-version = "0.9.0"
+version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
"either",
]
[[package]]
name = "itertools"
-version = "0.10.5"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
dependencies = [
"either",
]
-[[package]]
-name = "itoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-
[[package]]
name = "itoa"
version = "1.0.6"
@@ -2442,14 +2269,16 @@ dependencies = [
[[package]]
name = "k256"
-version = "0.11.6"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b"
+checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"ecdsa",
- "elliptic-curve 0.12.3",
- "sha2 0.10.6",
+ "elliptic-curve",
+ "once_cell",
+ "sha2",
+ "signature",
]
[[package]]
@@ -2461,16 +2290,6 @@ dependencies = [
"cpufeatures",
]
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
[[package]]
name = "lazy_static"
version = "1.4.0"
@@ -2479,26 +2298,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.141"
+version = "0.2.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
+checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
[[package]]
-name = "libhoney-rust"
-version = "0.1.6"
+name = "libm"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10229f6f716bca15e59862b9a5cb724a53bf02083a70f8e7d2cd43f226a0e63e"
-dependencies = [
- "chrono",
- "crossbeam-channel",
- "log",
- "parking_lot 0.11.2",
- "rand 0.8.5",
- "reqwest 0.10.10",
- "serde",
- "serde_json",
- "tokio 0.2.25",
-]
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "link-cplusplus"
@@ -2515,6 +2323,12 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f"
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+
[[package]]
name = "lock_api"
version = "0.4.9"
@@ -2531,7 +2345,7 @@ version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
]
[[package]]
@@ -2548,67 +2362,43 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
-name = "mime"
-version = "0.3.17"
+name = "memoffset"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
-name = "mime_guess"
-version = "2.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
dependencies = [
- "mime",
- "unicase",
+ "autocfg",
]
[[package]]
-name = "mio"
-version = "0.6.23"
+name = "mime"
+version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log",
- "miow",
- "net2",
- "slab",
- "winapi 0.2.8",
-]
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
-name = "mio"
-version = "0.8.6"
+name = "miniz_oxide"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
dependencies = [
- "libc",
- "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.45.0",
+ "adler",
]
[[package]]
-name = "miow"
-version = "0.2.2"
+name = "mio"
+version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2617,7 +2407,7 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"encoding_rs",
"futures-util",
"http",
@@ -2629,37 +2419,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "net2"
-version = "0.2.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "nu-ansi-term"
-version = "0.46.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
-dependencies = [
- "overload",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.15"
@@ -2680,22 +2439,19 @@ dependencies = [
]
[[package]]
-name = "once_cell"
-version = "1.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
-
-[[package]]
-name = "opaque-debug"
-version = "0.2.3"
+name = "object"
+version = "0.32.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
[[package]]
-name = "opaque-debug"
-version = "0.3.0"
+name = "once_cell"
+version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "openssl-probe"
@@ -2704,10 +2460,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
-name = "overload"
-version = "0.1.1"
+name = "p256"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2",
+]
[[package]]
name = "parity-scale-codec"
@@ -2716,7 +2478,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac"
dependencies = [
"arrayvec",
- "bitvec 1.0.1",
+ "bitvec",
"byte-slice-cast",
"impl-trait-for-tuples",
"parity-scale-codec-derive",
@@ -2735,17 +2497,6 @@ dependencies = [
"syn 1.0.109",
]
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
-
[[package]]
name = "parking_lot"
version = "0.12.1"
@@ -2753,21 +2504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
- "parking_lot_core 0.9.7",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if 1.0.0",
- "instant",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "winapi 0.3.9",
+ "parking_lot_core",
]
[[package]]
@@ -2776,7 +2513,7 @@ version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"redox_syscall 0.2.16",
"smallvec",
@@ -2784,57 +2521,35 @@ dependencies = [
]
[[package]]
-name = "password-hash"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77e0b28ace46c5a396546bcf443bf422b57049617433d8854227352a4a9b24e7"
-dependencies = [
- "base64ct",
- "rand_core 0.6.4",
- "subtle",
-]
-
-[[package]]
-name = "password-hash"
-version = "0.4.2"
+name = "paste"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
-dependencies = [
- "base64ct",
- "rand_core 0.6.4",
- "subtle",
-]
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "pbkdf2"
-version = "0.8.0"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa"
+checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
dependencies = [
- "base64ct",
- "crypto-mac",
- "hmac 0.11.0",
- "password-hash 0.2.3",
- "sha2 0.9.9",
+ "digest",
]
[[package]]
name = "pbkdf2"
-version = "0.11.0"
+version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
+checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
dependencies = [
- "digest 0.10.6",
- "hmac 0.12.1",
- "password-hash 0.4.2",
- "sha2 0.10.6",
+ "digest",
+ "hmac",
]
[[package]]
name = "percent-encoding"
-version = "2.2.0"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "pest"
@@ -2868,15 +2583,9 @@ dependencies = [
[[package]]
name = "pin-project-lite"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -2886,21 +2595,27 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "pkcs8"
-version = "0.9.0"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
dependencies = [
- "der 0.6.1",
+ "der",
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be97d76faf1bfab666e1375477b23fde79eccf0276e9b63b92a39d676a889ba9"
dependencies = [
- "rand 0.8.5",
+ "rand",
]
[[package]]
@@ -2920,6 +2635,15 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
+dependencies = [
+ "elliptic-curve",
+]
+
[[package]]
name = "primitive-types"
version = "0.12.1"
@@ -2943,9 +2667,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
dependencies = [
"unicode-ident",
]
@@ -2957,8 +2681,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c"
dependencies = [
"dtoa",
- "itoa 1.0.6",
- "parking_lot 0.12.1",
+ "itoa",
+ "parking_lot",
"prometheus-client-derive-text-encode",
]
@@ -2969,8 +2693,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e227aeb6c2cfec819e999c4773b35f8c7fa37298a203ff46420095458eee567e"
dependencies = [
"dtoa",
- "itoa 1.0.6",
- "parking_lot 0.12.1",
+ "itoa",
+ "parking_lot",
"prometheus-client-derive-encode",
]
@@ -3014,38 +2738,19 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.26"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
-[[package]]
-name = "radium"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
-
[[package]]
name = "radium"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
-]
-
[[package]]
name = "rand"
version = "0.8.5"
@@ -3053,18 +2758,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "rand_chacha",
+ "rand_core",
]
[[package]]
@@ -3074,34 +2769,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
- "rand_core 0.6.4",
+ "rand_core",
]
[[package]]
name = "rand_core"
-version = "0.5.1"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.1.16",
+ "getrandom",
]
[[package]]
-name = "rand_core"
-version = "0.6.4"
+name = "rayon"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
dependencies = [
- "getrandom 0.2.9",
+ "either",
+ "rayon-core",
]
[[package]]
-name = "rand_hc"
-version = "0.2.0"
+name = "rayon-core"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
dependencies = [
- "rand_core 0.5.1",
+ "crossbeam-deque",
+ "crossbeam-utils",
]
[[package]]
@@ -3110,71 +2807,46 @@ version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
name = "regex"
-version = "1.7.3"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
+ "regex-automata",
"regex-syntax",
]
[[package]]
-name = "regex-syntax"
-version = "0.6.29"
+name = "regex-automata"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
[[package]]
-name = "reqwest"
-version = "0.10.10"
+name = "regex-syntax"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c"
-dependencies = [
- "base64 0.13.1",
- "bytes 0.5.6",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "http",
- "http-body 0.3.1",
- "hyper 0.13.10",
- "hyper-rustls 0.21.0",
- "ipnet",
- "js-sys",
- "lazy_static",
- "log",
- "mime",
- "mime_guess",
- "percent-encoding",
- "pin-project-lite 0.2.9",
- "rustls 0.18.1",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "tokio 0.2.25",
- "tokio-rustls 0.14.1",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "webpki-roots 0.20.0",
- "winreg 0.7.0",
-]
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -3183,16 +2855,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27b71749df584b7f4cac2c426c127a7c785a5106cc98f7a8feb044115f0fa254"
dependencies = [
"base64 0.21.0",
- "bytes 1.4.0",
+ "bytes",
"cookie",
"cookie_store",
"encoding_rs",
"futures-core",
"futures-util",
- "h2 0.3.17",
+ "h2",
"http",
- "http-body 0.4.5",
- "hyper 0.14.25",
+ "http-body",
+ "hyper",
"hyper-rustls 0.23.2",
"ipnet",
"js-sys",
@@ -3200,13 +2872,13 @@ dependencies = [
"mime",
"once_cell",
"percent-encoding",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
"rustls 0.20.8",
"rustls-pemfile",
"serde",
"serde_json",
"serde_urlencoded",
- "tokio 1.27.0",
+ "tokio",
"tokio-rustls 0.23.4",
"tower-service",
"url",
@@ -3214,18 +2886,17 @@ dependencies = [
"wasm-bindgen-futures",
"web-sys",
"webpki-roots 0.22.6",
- "winreg 0.10.1",
+ "winreg",
]
[[package]]
name = "rfc6979"
-version = "0.3.1"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb"
+checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
dependencies = [
- "crypto-bigint 0.4.9",
- "hmac 0.12.1",
- "zeroize",
+ "hmac",
+ "subtle",
]
[[package]]
@@ -3238,9 +2909,23 @@ dependencies = [
"libc",
"once_cell",
"spin 0.5.2",
- "untrusted",
+ "untrusted 0.7.1",
"web-sys",
- "winapi 0.3.9",
+ "winapi",
+]
+
+[[package]]
+name = "ring"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+dependencies = [
+ "cc",
+ "getrandom",
+ "libc",
+ "spin 0.9.8",
+ "untrusted 0.9.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3249,9 +2934,15 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f"
dependencies = [
- "digest 0.10.6",
+ "digest",
]
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
[[package]]
name = "rustc-hex"
version = "2.1.0"
@@ -3273,25 +2964,25 @@ version = "0.37.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85597d61f83914ddeba6a47b3b8ffe7365107221c2e557ed94426489fefb5f77"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"errno",
"io-lifetimes",
"libc",
- "linux-raw-sys",
+ "linux-raw-sys 0.3.1",
"windows-sys 0.48.0",
]
[[package]]
-name = "rustls"
-version = "0.18.1"
+name = "rustix"
+version = "0.38.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81"
+checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
dependencies = [
- "base64 0.12.3",
- "log",
- "ring",
- "sct 0.6.1",
- "webpki 0.21.4",
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.12",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -3302,7 +2993,7 @@ checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"
dependencies = [
"base64 0.13.1",
"log",
- "ring",
+ "ring 0.16.20",
"sct 0.6.1",
"webpki 0.21.4",
]
@@ -3314,11 +3005,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
dependencies = [
"log",
- "ring",
+ "ring 0.16.20",
"sct 0.7.0",
"webpki 0.22.0",
]
+[[package]]
+name = "rustls"
+version = "0.21.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+dependencies = [
+ "log",
+ "ring 0.17.7",
+ "rustls-webpki",
+ "sct 0.7.0",
+]
+
[[package]]
name = "rustls-native-certs"
version = "0.5.0"
@@ -3331,6 +3034,18 @@ dependencies = [
"security-framework",
]
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile",
+ "schannel",
+ "security-framework",
+]
+
[[package]]
name = "rustls-pemfile"
version = "1.0.2"
@@ -3340,6 +3055,16 @@ dependencies = [
"base64 0.21.0",
]
+[[package]]
+name = "rustls-webpki"
+version = "0.101.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+dependencies = [
+ "ring 0.17.7",
+ "untrusted 0.9.0",
+]
+
[[package]]
name = "rustversion"
version = "1.0.12"
@@ -3354,9 +3079,9 @@ checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
[[package]]
name = "salsa20"
-version = "0.8.1"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0"
+checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
dependencies = [
"cipher",
]
@@ -3370,6 +3095,32 @@ dependencies = [
"windows-sys 0.42.0",
]
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
+]
+
[[package]]
name = "scopeguard"
version = "1.1.0"
@@ -3384,16 +3135,14 @@ checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
[[package]]
name = "scrypt"
-version = "0.7.0"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "879588d8f90906e73302547e20fffefdd240eb3e0e744e142321f5d49dea0518"
+checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d"
dependencies = [
- "base64ct",
- "hmac 0.11.0",
- "password-hash 0.2.3",
- "pbkdf2 0.8.0",
+ "hmac",
+ "pbkdf2 0.11.0",
"salsa20",
- "sha2 0.9.9",
+ "sha2",
]
[[package]]
@@ -3402,8 +3151,8 @@ version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce"
dependencies = [
- "ring",
- "untrusted",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
]
[[package]]
@@ -3412,19 +3161,19 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
dependencies = [
- "ring",
- "untrusted",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
]
[[package]]
name = "sec1"
-version = "0.3.0"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
+checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
dependencies = [
"base16ct",
- "der 0.6.1",
- "generic-array 0.14.7",
+ "der",
+ "generic-array",
"pkcs8",
"subtle",
"zeroize",
@@ -3432,19 +3181,19 @@ dependencies = [
[[package]]
name = "secp256k1"
-version = "0.24.3"
+version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62"
+checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894"
dependencies = [
- "rand 0.8.5",
+ "rand",
"secp256k1-sys",
]
[[package]]
name = "secp256k1-sys"
-version = "0.6.1"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b"
+checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e"
dependencies = [
"cc",
]
@@ -3464,7 +3213,7 @@ version = "2.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"core-foundation",
"core-foundation-sys",
"libc",
@@ -3483,37 +3232,37 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.17"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.160"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.160"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
name = "serde_json"
-version = "1.0.96"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
- "itoa 1.0.6",
+ "itoa",
"ryu",
"serde",
]
@@ -3525,7 +3274,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
- "itoa 1.0.6",
+ "itoa",
"ryu",
"serde",
]
@@ -3537,81 +3286,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff"
dependencies = [
"serde",
- "serde_json",
- "serde_with_macros",
-]
-
-[[package]]
-name = "serde_with_macros"
-version = "1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
-dependencies = [
- "darling 0.13.4",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "sha-1"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
-dependencies = [
- "block-buffer 0.9.0",
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug 0.3.0",
-]
-
-[[package]]
-name = "sha2"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
-dependencies = [
- "block-buffer 0.7.3",
- "digest 0.8.1",
- "fake-simd",
- "opaque-debug 0.2.3",
+ "serde_with_macros",
]
[[package]]
-name = "sha2"
-version = "0.9.9"
+name = "serde_with"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
- "block-buffer 0.9.0",
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug 0.3.0",
+ "serde",
]
[[package]]
-name = "sha2"
-version = "0.10.6"
+name = "serde_with_macros"
+version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
dependencies = [
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.10.6",
+ "darling 0.13.4",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
]
[[package]]
-name = "sha3"
-version = "0.9.1"
+name = "sha2"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
- "block-buffer 0.9.0",
- "digest 0.9.0",
- "keccak",
- "opaque-debug 0.3.0",
+ "cfg-if",
+ "cpufeatures",
+ "digest",
]
[[package]]
@@ -3620,19 +3327,10 @@ version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54c2bb1a323307527314a36bfb73f24febb08ce2b8a554bf4ffd6f51ad15198c"
dependencies = [
- "digest 0.10.6",
+ "digest",
"keccak",
]
-[[package]]
-name = "sharded-slab"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
-dependencies = [
- "lazy_static",
-]
-
[[package]]
name = "signal-hook-registry"
version = "1.4.1"
@@ -3644,12 +3342,12 @@ dependencies = [
[[package]]
name = "signature"
-version = "1.6.4"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
- "digest 0.10.6",
- "rand_core 0.6.4",
+ "digest",
+ "rand_core",
]
[[package]]
@@ -3669,23 +3367,22 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
[[package]]
name = "socket2"
-version = "0.3.19"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
dependencies = [
- "cfg-if 1.0.0",
"libc",
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
name = "socket2"
-version = "0.4.9"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
dependencies = [
"libc",
- "winapi 0.3.9",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3705,12 +3402,12 @@ dependencies = [
[[package]]
name = "spki"
-version = "0.6.0"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
dependencies = [
"base64ct",
- "der 0.6.1",
+ "der",
]
[[package]]
@@ -3731,28 +3428,13 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-[[package]]
-name = "strum"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
-
[[package]]
name = "strum"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
-
-[[package]]
-name = "strum_macros"
-version = "0.21.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
dependencies = [
- "heck 0.3.3",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "strum_macros",
]
[[package]]
@@ -3761,7 +3443,7 @@ version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
dependencies = [
- "heck 0.4.1",
+ "heck",
"proc-macro2",
"quote",
"rustversion",
@@ -3787,9 +3469,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.15"
+version = "2.0.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269"
dependencies = [
"proc-macro2",
"quote",
@@ -3802,6 +3484,18 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.41",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -3819,15 +3513,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.5.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"fastrand",
- "redox_syscall 0.3.5",
- "rustix",
- "windows-sys 0.45.0",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.28",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3835,7 +3529,7 @@ name = "template-contract"
version = "0.0.0"
dependencies = [
"fuels",
- "tokio 1.27.0",
+ "tokio",
]
[[package]]
@@ -3849,43 +3543,22 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.40"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
-dependencies = [
- "cfg-if 1.0.0",
- "once_cell",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
+ "syn 2.0.41",
]
[[package]]
@@ -3894,7 +3567,7 @@ version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
dependencies = [
- "itoa 1.0.6",
+ "itoa",
"serde",
"time-core",
"time-macros",
@@ -3932,39 +3605,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "0.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092"
-dependencies = [
- "bytes 0.5.6",
- "fnv",
- "futures-core",
- "iovec",
- "lazy_static",
- "memchr",
- "mio 0.6.23",
- "num_cpus",
- "pin-project-lite 0.1.12",
- "slab",
-]
-
-[[package]]
-name = "tokio"
-version = "1.27.0"
+version = "1.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001"
+checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c"
dependencies = [
- "autocfg",
- "bytes 1.4.0",
+ "backtrace",
+ "bytes",
"libc",
- "mio 0.8.6",
+ "mio",
"num_cpus",
- "parking_lot 0.12.1",
- "pin-project-lite 0.2.9",
+ "parking_lot",
+ "pin-project-lite",
"signal-hook-registry",
- "socket2 0.4.9",
+ "socket2 0.5.5",
"tokio-macros",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3973,31 +3628,29 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
dependencies = [
- "pin-project-lite 0.2.9",
- "tokio 1.27.0",
+ "pin-project-lite",
+ "tokio",
]
[[package]]
name = "tokio-macros"
-version = "2.0.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
[[package]]
-name = "tokio-rustls"
-version = "0.14.1"
+name = "tokio-rayon"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a"
+checksum = "7cf33a76e0b1dd03b778f83244137bd59887abf25c0e87bc3e7071105f457693"
dependencies = [
- "futures-core",
- "rustls 0.18.1",
- "tokio 0.2.25",
- "webpki 0.21.4",
+ "rayon",
+ "tokio",
]
[[package]]
@@ -4007,7 +3660,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
dependencies = [
"rustls 0.19.1",
- "tokio 1.27.0",
+ "tokio",
"webpki 0.21.4",
]
@@ -4018,34 +3671,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
dependencies = [
"rustls 0.20.8",
- "tokio 1.27.0",
+ "tokio",
"webpki 0.22.0",
]
[[package]]
-name = "tokio-stream"
-version = "0.1.12"
+name = "tokio-rustls"
+version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
- "futures-core",
- "pin-project-lite 0.2.9",
- "tokio 1.27.0",
- "tokio-util 0.7.7",
+ "rustls 0.21.10",
+ "tokio",
]
[[package]]
-name = "tokio-util"
-version = "0.3.1"
+name = "tokio-stream"
+version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499"
+checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313"
dependencies = [
- "bytes 0.5.6",
"futures-core",
- "futures-sink",
- "log",
- "pin-project-lite 0.1.12",
- "tokio 0.2.25",
+ "pin-project-lite",
+ "tokio",
+ "tokio-util",
]
[[package]]
@@ -4054,11 +3703,11 @@ version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
dependencies = [
- "bytes 1.4.0",
+ "bytes",
"futures-core",
"futures-sink",
- "pin-project-lite 0.2.9",
- "tokio 1.27.0",
+ "pin-project-lite",
+ "tokio",
"tracing",
]
@@ -4088,8 +3737,8 @@ dependencies = [
"futures-core",
"futures-util",
"pin-project",
- "pin-project-lite 0.2.9",
- "tokio 1.27.0",
+ "pin-project-lite",
+ "tokio",
"tower-layer",
"tower-service",
"tracing",
@@ -4101,14 +3750,15 @@ version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
dependencies = [
- "bitflags",
- "bytes 1.4.0",
+ "bitflags 1.3.2",
+ "bytes",
"futures-core",
"futures-util",
"http",
- "http-body 0.4.5",
+ "http-body",
"http-range-header",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
+ "tokio",
"tower",
"tower-layer",
"tower-service",
@@ -4133,9 +3783,9 @@ version = "0.1.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"log",
- "pin-project-lite 0.2.9",
+ "pin-project-lite",
"tracing-attributes",
"tracing-core",
]
@@ -4158,20 +3808,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
dependencies = [
"once_cell",
- "valuable",
-]
-
-[[package]]
-name = "tracing-distributed"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de30b98573d9e63e82996b3c9bf950210ba3f2dcf363f7eec000acebef1a4377"
-dependencies = [
- "itertools 0.9.0",
- "parking_lot 0.11.2",
- "tracing",
- "tracing-core",
- "tracing-subscriber",
]
[[package]]
@@ -4186,50 +3822,6 @@ dependencies = [
"tracing",
]
-[[package]]
-name = "tracing-honeycomb"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cced581bc7226c4c3e6d48905f256eef9100c1dc2f9a0e441bdeed825cd831de"
-dependencies = [
- "chrono",
- "libhoney-rust",
- "parking_lot 0.11.2",
- "rand 0.7.3",
- "serde",
- "serde_json",
- "sha-1",
- "tracing",
- "tracing-core",
- "tracing-distributed",
- "uuid",
-]
-
-[[package]]
-name = "tracing-log"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
-dependencies = [
- "lazy_static",
- "log",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.3.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
-dependencies = [
- "nu-ansi-term",
- "sharded-slab",
- "smallvec",
- "thread_local",
- "tracing-core",
- "tracing-log",
-]
-
[[package]]
name = "try-lock"
version = "0.2.4"
@@ -4260,15 +3852,6 @@ dependencies = [
"static_assertions",
]
-[[package]]
-name = "unicase"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-dependencies = [
- "version_check",
-]
-
[[package]]
name = "unicode-bidi"
version = "0.3.13"
@@ -4290,18 +3873,18 @@ dependencies = [
"tinyvec",
]
-[[package]]
-name = "unicode-segmentation"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
-
[[package]]
name = "unicode-width"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -4317,6 +3900,12 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
[[package]]
name = "url"
version = "2.3.1"
@@ -4340,15 +3929,18 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom",
"serde",
]
[[package]]
-name = "valuable"
-version = "0.1.0"
+name = "uuid"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
[[package]]
name = "version_check"
@@ -4372,18 +3964,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -4396,9 +3976,7 @@ version = "0.2.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
dependencies = [
- "cfg-if 1.0.0",
- "serde",
- "serde_json",
+ "cfg-if",
"wasm-bindgen-macro",
]
@@ -4423,7 +4001,7 @@ version = "0.4.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"js-sys",
"wasm-bindgen",
"web-sys",
@@ -4474,8 +4052,8 @@ version = "0.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
dependencies = [
- "ring",
- "untrusted",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
]
[[package]]
@@ -4484,54 +4062,38 @@ version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f"
-dependencies = [
- "webpki 0.21.4",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
]
[[package]]
name = "webpki-roots"
-version = "0.21.1"
+version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940"
+checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
dependencies = [
- "webpki 0.21.4",
+ "webpki 0.22.0",
]
[[package]]
name = "webpki-roots"
-version = "0.22.6"
+version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
-dependencies = [
- "webpki 0.22.0",
-]
+checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix 0.38.28",
+ "windows-sys 0.48.0",
]
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
[[package]]
name = "winapi"
version = "0.3.9"
@@ -4542,12 +4104,6 @@ dependencies = [
"winapi-x86_64-pc-windows-gnu",
]
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
@@ -4560,7 +4116,7 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
@@ -4611,6 +4167,15 @@ dependencies = [
"windows-targets 0.48.0",
]
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
[[package]]
name = "windows-targets"
version = "0.42.2"
@@ -4641,6 +4206,21 @@ dependencies = [
"windows_x86_64_msvc 0.48.0",
]
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
+
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.42.2"
@@ -4653,6 +4233,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.42.2"
@@ -4665,6 +4251,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
[[package]]
name = "windows_i686_gnu"
version = "0.42.2"
@@ -4677,6 +4269,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
[[package]]
name = "windows_i686_msvc"
version = "0.42.2"
@@ -4689,6 +4287,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.42.2"
@@ -4701,6 +4305,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.42.2"
@@ -4713,6 +4323,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.42.2"
@@ -4725,6 +4341,12 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
[[package]]
name = "winnow"
version = "0.4.1"
@@ -4736,39 +4358,40 @@ dependencies = [
[[package]]
name = "winreg"
-version = "0.7.0"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
dependencies = [
- "winapi 0.3.9",
+ "winapi",
]
[[package]]
-name = "winreg"
-version = "0.10.1"
+name = "wyz"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
dependencies = [
- "winapi 0.3.9",
+ "tap",
]
[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
+name = "zerocopy"
+version = "0.7.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7"
dependencies = [
- "winapi 0.2.8",
- "winapi-build",
+ "zerocopy-derive",
]
[[package]]
-name = "wyz"
-version = "0.5.1"
+name = "zerocopy-derive"
+version = "0.7.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba"
dependencies = [
- "tap",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.41",
]
[[package]]
@@ -4788,5 +4411,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.15",
+ "syn 2.0.41",
]
diff --git a/.devops/.template/project/Forc.lock b/.devops/.template/project/Forc.lock
index 612dc7943..f6c5dc442 100644
--- a/.devops/.template/project/Forc.lock
+++ b/.devops/.template/project/Forc.lock
@@ -1,13 +1,13 @@
[[package]]
-name = 'core'
-source = 'path+from-root-FDF4A5DCC6ECD181'
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.37.0#607ac50176db8bef936f91bacf435d0ea37d041e'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
[[package]]
-name = 'template-contract'
-source = 'member'
-dependencies = ['std']
+name = "template-contract"
+source = "member"
+dependencies = ["std"]
diff --git a/.devops/.template/project/contracts/template-contract/Cargo.toml b/.devops/.template/project/contracts/template-contract/Cargo.toml
index 78c4562a7..57a1eb907 100644
--- a/.devops/.template/project/contracts/template-contract/Cargo.toml
+++ b/.devops/.template/project/contracts/template-contract/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
license = "Apache-2.0"
[dependencies]
-fuels = { version = "0.40.0", features = ["fuel-core-lib"] }
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
tokio = { version = "1.12", features = ["rt", "macros"] }
[[test]]
diff --git a/.devops/.template/project/contracts/template-contract/src/data_structures.sw b/.devops/.template/project/contracts/template-contract/src/data_structures.sw
index 5ab204198..992872ce5 100644
--- a/.devops/.template/project/contracts/template-contract/src/data_structures.sw
+++ b/.devops/.template/project/contracts/template-contract/src/data_structures.sw
@@ -1,3 +1,3 @@
library;
-mod example;
+pub mod example;
diff --git a/.devops/.template/project/contracts/template-contract/tests/utils/setup.rs b/.devops/.template/project/contracts/template-contract/tests/utils/setup.rs
index f0e0413a7..e8ba6e4fc 100644
--- a/.devops/.template/project/contracts/template-contract/tests/utils/setup.rs
+++ b/.devops/.template/project/contracts/template-contract/tests/utils/setup.rs
@@ -19,23 +19,20 @@ pub async fn setup() -> (Template, WalletUnlocked) {
Some(amount_per_coin),
);
- let provider_config = Config {
- manual_blocks_enabled: true, // Necessary so the `produce_blocks` API can be used locally
- ..Config::local_node()
- };
-
- let mut wallets =
- launch_custom_provider_and_get_wallets(wallet_config, Some(provider_config), None).await;
+ let mut wallets = launch_custom_provider_and_get_wallets(wallet_config, None, None)
+ .await
+ .unwrap();
let wallet = wallets.pop().unwrap();
- let storage_configuration = StorageConfiguration::load_from(TEMPLATE_CONTRACT_STORAGE_PATH);
+ let storage_configuration = StorageConfiguration::default()
+ .add_slot_overrides_from_file(TEMPLATE_CONTRACT_STORAGE_PATH);
let configuration =
- LoadConfiguration::default().set_storage_configuration(storage_configuration.unwrap());
+ LoadConfiguration::default().with_storage_configuration(storage_configuration.unwrap());
let id = Contract::load_from(TEMPLATE_CONTRACT_BINARY_PATH, configuration)
.unwrap()
- .deploy(&wallet, TxParameters::default())
+ .deploy(&wallet, TxPolicies::default())
.await
.unwrap();
diff --git a/.devops/.template/project/fuel-toolchain.toml b/.devops/.template/project/fuel-toolchain.toml
index 184fe8a26..e75c0bb58 100644
--- a/.devops/.template/project/fuel-toolchain.toml
+++ b/.devops/.template/project/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-04-12"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.37.0"
-fuel-core = "0.17.9"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/.devops/aurora/fuel-toolchain.toml b/.devops/aurora/fuel-toolchain.toml
index e7bdfe4e6..e75c0bb58 100644
--- a/.devops/aurora/fuel-toolchain.toml
+++ b/.devops/aurora/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "2023-02-16"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.35.1"
-fuel-core = "0.17.2"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/.docs/contributing-book/src/code/Forc.lock b/.docs/contributing-book/src/code/Forc.lock
index 894c07528..8aff630b6 100644
--- a/.docs/contributing-book/src/code/Forc.lock
+++ b/.docs/contributing-book/src/code/Forc.lock
@@ -1,18 +1,18 @@
[[package]]
-name = 'bad_documentation'
-source = 'member'
-dependencies = ['std']
+name = "bad_documentation"
+source = "member"
+dependencies = ["std"]
[[package]]
-name = 'connect_four'
-source = 'member'
-dependencies = ['std']
+name = "connect_four"
+source = "member"
+dependencies = ["std"]
[[package]]
-name = 'core'
-source = 'path+from-root-EB296BD18C0E4CC4'
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.44.1#04a597093e7441898933dd412b8e4dc6ac860cd3'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
diff --git a/.docs/contributing-book/src/code/fuel-toolchain.toml b/.docs/contributing-book/src/code/fuel-toolchain.toml
index 60b8a5864..e75c0bb58 100644
--- a/.docs/contributing-book/src/code/fuel-toolchain.toml
+++ b/.docs/contributing-book/src/code/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-08-16"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.44.1"
-fuel-core = "0.20.4"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 79a5c373c..6c7dd563c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -13,7 +13,7 @@ concurrency:
cancel-in-progress: true
env:
- RUST_VERSION: 1.71.1
+ RUST_VERSION: 1.74.0
jobs:
lint-toml-files:
@@ -73,8 +73,8 @@ jobs:
- name: Install Fuel toolchain
uses: FuelLabs/action-fuel-toolchain@v0.6.0
with:
- toolchain: latest
- date: 2023-09-29
+ toolchain: nightly
+ date: 2024-01-24
- name: Check Sway formatting
run: |
@@ -133,11 +133,11 @@ jobs:
- name: Install Fuel toolchain
uses: FuelLabs/action-fuel-toolchain@v0.6.0
with:
- toolchain: latest
- date: 2023-08-16
+ toolchain: nightly
+ date: 2024-01-24
- name: Check Sway formatting
- run: forc fmt --check --path ${{ matrix.project }}
+ run: cd ${{ matrix.project }} && forc fmt --check
- name: Build Sway
- run: forc build --locked --path ${{ matrix.project }}
+ run: cd ${{ matrix.project }} && forc build --locked
diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
index f0ee5f7f8..e7752504c 100644
--- a/.github/workflows/gh-pages.yml
+++ b/.github/workflows/gh-pages.yml
@@ -8,7 +8,7 @@ on:
- v*
env:
- RUST_VERSION: 1.63.0
+ RUST_VERSION: 1.74.0
jobs:
deploy:
diff --git a/DAO/README.md b/DAO/README.md
index 075f72837..d477884b2 100644
--- a/DAO/README.md
+++ b/DAO/README.md
@@ -6,14 +6,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/DAO/project/Cargo.lock b/DAO/project/Cargo.lock
index 9e6c10b64..7d44ffab0 100644
--- a/DAO/project/Cargo.lock
+++ b/DAO/project/Cargo.lock
@@ -66,6 +66,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
[[package]]
name = "android-tzdata"
version = "0.1.1"
@@ -240,18 +246,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "async-trait"
-version = "0.1.72"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -329,6 +335,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
+ "serde",
]
[[package]]
@@ -384,9 +391,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitvec"
@@ -428,12 +438,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
[[package]]
name = "bs58"
version = "0.4.0"
@@ -463,9 +467,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
@@ -484,17 +488,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
- "time 0.1.45",
"wasm-bindgen",
- "winapi",
+ "windows-targets",
]
[[package]]
@@ -539,7 +542,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -569,7 +572,7 @@ dependencies = [
"k256",
"lazy_static",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -586,7 +589,7 @@ dependencies = [
"once_cell",
"pbkdf2 0.12.2",
"rand",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -605,7 +608,7 @@ dependencies = [
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
]
@@ -648,7 +651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.23",
+ "time",
"version_check",
]
@@ -665,7 +668,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "time 0.3.23",
+ "time",
"url",
]
@@ -798,6 +801,33 @@ dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "cynic"
version = "2.2.8"
@@ -983,6 +1013,26 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "either"
version = "1.9.0"
@@ -991,9 +1041,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -1034,7 +1084,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1080,12 +1130,18 @@ dependencies = [
"scrypt",
"serde",
"serde_json",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -1117,6 +1173,12 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f69037fe1b785e84986b4f2cbcf647381876a00671d25ceef715d7812dd7e1dd"
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -1146,23 +1208,28 @@ dependencies = [
[[package]]
name = "fuel-abi-types"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99a7aeb41cdabffa38418b00fd57b5571dc58ee5af606e845a088befecd36"
+checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
+ "itertools 0.10.5",
"lazy_static",
+ "proc-macro2",
+ "quote",
"regex",
"serde",
+ "serde_json",
+ "syn 2.0.39",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1331be83ba8ce8fa9217272b2709bbe29a01daff5fe7ef58ba1b64ec18fe40c0"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"fuel-types",
"serde",
"strum",
@@ -1170,9 +1237,9 @@ dependencies = [
[[package]]
name = "fuel-core"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c978d128cd4cc73675a5424a67c5c0dbb70fbb52bb6e5d1bf38664f966e369d"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
dependencies = [
"anyhow",
"async-graphql",
@@ -1186,6 +1253,7 @@ dependencies = [
"fuel-core-database",
"fuel-core-executor",
"fuel-core-importer",
+ "fuel-core-metrics",
"fuel-core-poa",
"fuel-core-producer",
"fuel-core-services",
@@ -1195,7 +1263,8 @@ dependencies = [
"futures",
"hex",
"hyper",
- "itertools",
+ "itertools 0.10.5",
+ "parking_lot",
"postcard",
"primitive-types",
"rand",
@@ -1208,22 +1277,22 @@ dependencies = [
"tokio-stream",
"tower-http",
"tracing",
+ "uuid 1.6.1",
]
[[package]]
name = "fuel-core-chain-config"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e533fa1f86ae96579f4394205a7dfbad31715043f7119a82aa7a14effaed3a17"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
dependencies = [
"anyhow",
"bech32 0.9.1",
"fuel-core-storage",
"fuel-core-types",
"hex",
- "itertools",
+ "itertools 0.10.5",
"postcard",
- "rand",
"serde",
"serde_json",
"serde_with 1.14.0",
@@ -1232,9 +1301,9 @@ dependencies = [
[[package]]
name = "fuel-core-client"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a6bf1c0a6e6acf848f4b994e0b91c96c4f443f71d26f437642d135d5d71d3d"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
dependencies = [
"anyhow",
"cynic",
@@ -1244,8 +1313,9 @@ dependencies = [
"futures",
"hex",
"hyper-rustls 0.24.1",
- "itertools",
+ "itertools 0.10.5",
"reqwest",
+ "schemafy_lib",
"serde",
"serde_json",
"tai64",
@@ -1255,9 +1325,9 @@ dependencies = [
[[package]]
name = "fuel-core-consensus-module"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10dfa90f07cd210da9e16c61f5405a9d5c71a701848e6f9e01a1568b3b8c0f91"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1268,21 +1338,21 @@ dependencies = [
[[package]]
name = "fuel-core-database"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5b8f8f12e8b7dfa5e68ee32cbecfba2e8aa2a06b930fd181f0b4ae71652484"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
]
[[package]]
name = "fuel-core-executor"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0dc752bfd46dee5ab51fd46f13858b9aa85865ba76d180c9c8e3cc0b25949b"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1292,36 +1362,39 @@ dependencies = [
[[package]]
name = "fuel-core-importer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0989eb91e18f3541b7a690ed3bca92521939e80f507a08ce0fd6d8bf34cf1eb"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
dependencies = [
"anyhow",
+ "derive_more",
+ "fuel-core-metrics",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tracing",
]
[[package]]
name = "fuel-core-metrics"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401e1a1187a91f1df5808c8416137623f119f058f6c6e2710d43c58744e9fa14"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
dependencies = [
"axum",
- "lazy_static",
"once_cell",
+ "pin-project-lite",
"prometheus-client 0.18.1",
"prometheus-client 0.20.0",
+ "regex",
+ "tracing",
]
[[package]]
name = "fuel-core-poa"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e15616957477d7c37f5845d58abcb13f8ab9a7f526a499a795bb7b8618c6e238"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
dependencies = [
"anyhow",
"async-trait",
@@ -1336,15 +1409,15 @@ dependencies = [
[[package]]
name = "fuel-core-producer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df203c0e56c1827831a363e895aea7c9c642c18f1a57adbdd8ac6c4e115231dc"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
"async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tokio-rayon",
"tracing",
@@ -1352,12 +1425,13 @@ dependencies = [
[[package]]
name = "fuel-core-services"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecc615cb429744e1783db0d5b30dd01ec0d73c675f47964e62edc1f01b40ac2"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
"async-trait",
+ "fuel-core-metrics",
"futures",
"parking_lot",
"tokio",
@@ -1366,21 +1440,21 @@ dependencies = [
[[package]]
name = "fuel-core-storage"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ed1d03eb74feb0ea8538ab557e52c7bc4f1a1c3aaafba9076038da256d86920"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
]
[[package]]
name = "fuel-core-txpool"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d563ceae0ed89ed34f78a7835d15a40ef9d35c9b260b622049335e6c8deb884f"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
dependencies = [
"anyhow",
"async-trait",
@@ -1389,17 +1463,19 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
+ "futures",
"parking_lot",
"tokio",
+ "tokio-rayon",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059da83a7e012a438c9962cbfe1e1b2d3e04f67a75d5be8899009b6456b04002"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -1413,55 +1489,73 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb3f73571a03523cb92826003753ff1bdd1882767e67801de223ce3ad6133349"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
+ "k256",
"lazy_static",
+ "p256",
"rand",
"secp256k1",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"zeroize",
]
+[[package]]
+name = "fuel-derive"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "synstructure",
+]
+
[[package]]
name = "fuel-merkle"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5646d95e02a63fd59da942fcf5d6217dbd8b6866c1ad3a0232be0913c4d077"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
dependencies = [
+ "derive_more",
"digest 0.10.7",
"fuel-storage",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.7",
- "thiserror",
+ "serde",
+ "sha2 0.10.8",
]
[[package]]
name = "fuel-storage"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b72444da90354b6d1d220b81c6803085689f5e7d53e1d4bd11cfa3d4c5a1b27"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
[[package]]
name = "fuel-tx"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04187579ecfbb04a380c60f9eecae1a288dbe463c111dc7dde66fa736445a638"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-types",
- "itertools",
- "num-integer",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
"rand",
"serde",
"serde_json",
@@ -1471,10 +1565,11 @@ dependencies = [
[[package]]
name = "fuel-types"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6543ca2f5124a19b1486507243188a57be64c9914d1908e154a1866eeffb69"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
"rand",
"serde",
@@ -1482,31 +1577,40 @@ dependencies = [
[[package]]
name = "fuel-vm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d42e99fe69e913bbde4900f96efb6ceae13b68d369bf22d4b435571d6ed7d65"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags 1.3.2",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-storage",
"fuel-tx",
"fuel-types",
- "itertools",
- "rand",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
"sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
]
[[package]]
name = "fuels"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa0bee7463c6bee4920c60315492a25a3026f1a68d15570cef7b470b04ecdf9"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
"fuel-core",
"fuel-core-client",
@@ -1516,17 +1620,15 @@ dependencies = [
"fuels-macros",
"fuels-programs",
"fuels-test-helpers",
- "fuels-types",
]
[[package]]
name = "fuels-accounts"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28dad265d8fc612aaef2a4c1fa8bb14d77541575a6d2de6d26e66acc94afdaae"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes",
"chrono",
"elliptic-curve",
"eth-keystore",
@@ -1536,148 +1638,121 @@ dependencies = [
"fuel-types",
"fuel-vm",
"fuels-core",
- "fuels-types",
"hex",
- "itertools",
"rand",
- "serde",
- "sha2 0.10.7",
+ "semver",
"tai64",
"thiserror",
"tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97e7b697abfac23b3505fa3136bb3e910ed664caa58d1efcb6e11644aa95d8aa"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-core"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d565f3c3c2974616984149c0440e03aadd600abe29e6268d41ebbdf21ae89915"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
+ "bech32 0.9.1",
+ "chrono",
+ "fuel-abi-types",
+ "fuel-asm",
+ "fuel-core-chain-config",
+ "fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
- "fuels-types",
+ "fuels-macros",
"hex",
- "itertools",
- "sha2 0.10.7",
+ "itertools 0.12.0",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396b1007bf06f788b47bc710f53bce2cf5c74c32cf072baeae46abfbba1b5c33"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"rand",
- "regex",
- "serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-programs"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf6c51214d91115708cea3c7ea62e447623305b281c341f5ed6a18a14ab40f8e"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
"bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "fuels-types",
- "hex",
- "itertools",
- "proc-macro2",
+ "itertools 0.12.0",
"rand",
- "regex",
- "serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
- "thiserror",
"tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cac950d5fb1a182c897135e68337e750dd8a48e35dd3849a9fc2d602eb55035"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
"fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
- "fuels-types",
+ "fuels-core",
"futures",
"hex",
"portpicker",
"rand",
"serde",
"serde_json",
- "serde_with 2.3.3",
+ "serde_with 3.4.0",
"tempfile",
"tokio",
"which",
]
-[[package]]
-name = "fuels-types"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e94e08cfab823b1a6ed2830fe22067dd7112f0fe5228bec23d4e95cefebcfe"
-dependencies = [
- "bech32 0.9.1",
- "chrono",
- "fuel-abi-types",
- "fuel-asm",
- "fuel-core-chain-config",
- "fuel-core-client",
- "fuel-tx",
- "fuel-types",
- "fuels-macros",
- "hex",
- "itertools",
- "proc-macro2",
- "regex",
- "serde",
- "serde_json",
- "strum",
- "strum_macros",
- "thiserror",
-]
-
[[package]]
name = "funty"
version = "2.0.0"
@@ -1740,7 +1815,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1793,7 +1868,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
@@ -1872,6 +1947,11 @@ name = "hashbrown"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
[[package]]
name = "heapless"
@@ -1917,6 +1997,15 @@ dependencies = [
"digest 0.10.7",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
[[package]]
name = "http"
version = "0.2.9"
@@ -1974,7 +2063,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -2163,6 +2252,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -2188,7 +2286,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"once_cell",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"signature",
]
@@ -2209,15 +2307,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "lock_api"
@@ -2249,9 +2353,9 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "memoffset"
@@ -2279,12 +2383,12 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"windows-sys",
]
@@ -2306,16 +2410,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.16"
@@ -2362,6 +2456,18 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "parity-scale-codec"
version = "3.6.4"
@@ -2406,11 +2512,17 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"smallvec",
"windows-targets",
]
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
[[package]]
name = "pbkdf2"
version = "0.11.0"
@@ -2463,14 +2575,14 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -2488,6 +2600,12 @@ dependencies = [
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
@@ -2514,6 +2632,15 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7dbe9ed3b56368bd99483eb32fe9c17fdd3730aebadc906918ce78d54c7eeb4"
+dependencies = [
+ "elliptic-curve",
+]
+
[[package]]
name = "primitive-types"
version = "0.12.1"
@@ -2537,9 +2664,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
dependencies = [
"unicode-ident",
]
@@ -2608,9 +2735,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.32"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@@ -2688,11 +2815,20 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "regex"
-version = "1.9.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -2702,9 +2838,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.3"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -2713,9 +2849,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -2815,11 +2951,11 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.4"
+version = "0.38.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
@@ -2934,6 +3070,32 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
+]
+
[[package]]
name = "scopeguard"
version = "1.2.0"
@@ -2949,7 +3111,7 @@ dependencies = [
"hmac",
"pbkdf2 0.11.0",
"salsa20",
- "sha2 0.10.7",
+ "sha2 0.10.8",
]
[[package]]
@@ -3039,35 +3201,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -3098,9 +3260,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "2.3.3"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
]
@@ -3132,9 +3294,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -3195,6 +3357,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -3279,9 +3451,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.27"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -3294,6 +3466,18 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -3311,46 +3495,35 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.7.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand",
- "redox_syscall",
+ "redox_syscall 0.4.1",
"rustix",
"windows-sys",
]
[[package]]
name = "thiserror"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "syn 2.0.39",
]
[[package]]
@@ -3397,11 +3570,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.29.1"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
- "autocfg",
"backtrace",
"bytes",
"libc",
@@ -3410,7 +3582,7 @@ dependencies = [
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys",
]
@@ -3427,13 +3599,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3540,6 +3712,7 @@ dependencies = [
"http-body",
"http-range-header",
"pin-project-lite",
+ "tokio",
"tower",
"tower-layer",
"tower-service",
@@ -3579,7 +3752,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3654,6 +3827,12 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -3696,6 +3875,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3717,12 +3905,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -3750,7 +3932,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
@@ -3784,7 +3966,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -3845,13 +4027,15 @@ dependencies = [
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix",
+ "windows-sys",
]
[[package]]
@@ -3995,5 +4179,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
diff --git a/DAO/project/Forc.lock b/DAO/project/Forc.lock
index d529c1c90..e66371969 100644
--- a/DAO/project/Forc.lock
+++ b/DAO/project/Forc.lock
@@ -1,13 +1,13 @@
[[package]]
-name = 'DAO-contract'
-source = 'member'
-dependencies = ['std']
+name = "DAO-contract"
+source = "member"
+dependencies = ["std"]
[[package]]
-name = 'core'
-source = 'path+from-root-9BFE6D5D0CBDF740'
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.42.1#3b66f8e424bd21e3ba467783b10b36e808cfa6ee'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
diff --git a/DAO/project/contracts/DAO-contract/Cargo.toml b/DAO/project/contracts/DAO-contract/Cargo.toml
index f822af1d1..d1c6ed9ab 100644
--- a/DAO/project/contracts/DAO-contract/Cargo.toml
+++ b/DAO/project/contracts/DAO-contract/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
license = "Apache-2.0"
[dependencies]
-fuels = { version = "0.42.0", features = ["fuel-core-lib"] }
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
tokio = { version = "1.12", features = ["rt", "macros"] }
[[test]]
diff --git a/DAO/project/contracts/DAO-contract/src/data_structures.sw b/DAO/project/contracts/DAO-contract/src/data_structures.sw
index 91fbe4626..2113daa0c 100644
--- a/DAO/project/contracts/DAO-contract/src/data_structures.sw
+++ b/DAO/project/contracts/DAO-contract/src/data_structures.sw
@@ -20,7 +20,7 @@ pub struct Proposal {
/// Coin type is specified by the `asset` below
amount: u64,
/// Asset Id of the coins to forward
- asset: ContractId,
+ asset: AssetId,
/// Stores information about an arbitrary contract function call
call_data: CallData,
/// Specifies the amount of gas to forward to the arbitrary function call
@@ -69,7 +69,7 @@ impl ProposalInfo {
ProposalInfo {
acceptance_percentage,
author,
- deadline: duration + height(),
+ deadline: duration + height().as_u64(),
executed: false,
no_votes: 0,
proposal_transaction,
diff --git a/DAO/project/contracts/DAO-contract/src/events.sw b/DAO/project/contracts/DAO-contract/src/events.sw
index 54c5b2983..2daf4daeb 100644
--- a/DAO/project/contracts/DAO-contract/src/events.sw
+++ b/DAO/project/contracts/DAO-contract/src/events.sw
@@ -32,8 +32,8 @@ pub struct ExecuteEvent {
pub struct InitializeEvent {
/// User who initialized the contract.
author: Identity,
- /// Contract Id of the token used for DAO governance.
- token: ContractId,
+ /// AssetId of the token used for DAO governance.
+ token: AssetId,
}
/// Event for unlocking of governance tokens.
diff --git a/DAO/project/contracts/DAO-contract/src/interface.sw b/DAO/project/contracts/DAO-contract/src/interface.sw
index 0b33d9a9a..8f2d4feb6 100644
--- a/DAO/project/contracts/DAO-contract/src/interface.sw
+++ b/DAO/project/contracts/DAO-contract/src/interface.sw
@@ -7,13 +7,13 @@ abi DaoVoting {
///
/// # Arguments
///
- /// * `gov_token`: [ContractId] - contract id of the token used to vote on governance proposals.
+ /// * `gov_token`: [AssetId] - AssetId of the token used to vote on governance proposals.
///
/// # Reverts
///
/// * When the constructor is called more than once.
#[storage(read, write)]
- fn constructor(gov_token: ContractId);
+ fn constructor(gov_token: AssetId);
/// Create a new proposal.
///
@@ -29,7 +29,11 @@ abi DaoVoting {
/// * When the acceptance percentage is 0.
/// * When the acceptance percentage is greater than 100.
#[storage(read, write)]
- fn create_proposal(acceptance_percentage: u64, duration: u64, proposal_transaction: Proposal);
+ fn create_proposal(
+ acceptance_percentage: u64,
+ duration: u64,
+ proposal_transaction: Proposal,
+ );
/// Deposit governance tokens into contract.
///
@@ -168,13 +172,13 @@ abi Info {
///
/// # Returns
///
- /// * [ContractId] - AssetId of the token used to vote on governance proposals.
+ /// * [AssetId] - AssetId of the token used to vote on governance proposals.
///
/// # Reverts
///
/// * When the constructor has not been called to initialize
#[storage(read)]
- fn governance_token_id() -> ContractId;
+ fn governance_token_id() -> AssetId;
/// Return proposal count
///
diff --git a/DAO/project/contracts/DAO-contract/src/main.sw b/DAO/project/contracts/DAO-contract/src/main.sw
index 7932abb4e..8beeaf155 100644
--- a/DAO/project/contracts/DAO-contract/src/main.sw
+++ b/DAO/project/contracts/DAO-contract/src/main.sw
@@ -7,6 +7,7 @@ mod interface;
mod utils;
use std::{
+ asset::transfer,
auth::msg_sender,
block::height,
call_frames::msg_asset_id,
@@ -14,7 +15,7 @@ use std::{
msg_amount,
this_balance,
},
- token::transfer,
+ hash::Hash,
};
use ::data_structures::{Proposal, ProposalInfo, State, Votes};
@@ -43,17 +44,20 @@ storage {
/// The initialization state of the contract.
state: State = State::NotInitialized,
/// Contract Id of the governance token
- token: ContractId = ContractId {
- value: 0x0000000000000000000000000000000000000000000000000000000000000000,
- },
+ token: AssetId = AssetId::base_asset_id(),
/// The amount of votes a user has used on a proposal
votes: StorageMap<(Identity, u64), Votes> = StorageMap {},
}
impl DaoVoting for Contract {
#[storage(read, write)]
- fn constructor(token: ContractId) {
- require(storage.state.read() == State::NotInitialized, InitializationError::CannotReinitialize);
+ fn constructor(token: AssetId) {
+ require(
+ storage
+ .state
+ .read() == State::NotInitialized,
+ InitializationError::CannotReinitialize,
+ );
storage.token.write(token);
storage.state.write(State::Initialized);
@@ -71,12 +75,24 @@ impl DaoVoting for Contract {
proposal_transaction: Proposal,
) {
require(0 < duration, CreationError::DurationCannotBeZero);
- require(0 < acceptance_percentage && acceptance_percentage <= 100, CreationError::InvalidAcceptancePercentage);
+ require(
+ 0 < acceptance_percentage && acceptance_percentage <= 100,
+ CreationError::InvalidAcceptancePercentage,
+ );
let author = msg_sender().unwrap();
- let proposal = ProposalInfo::new(acceptance_percentage, author, duration, proposal_transaction);
- storage.proposals.insert(storage.proposal_count.read(), proposal);
- storage.proposal_count.write(storage.proposal_count.read() + 1);
+ let proposal = ProposalInfo::new(
+ acceptance_percentage,
+ author,
+ duration,
+ proposal_transaction,
+ );
+ storage
+ .proposals
+ .insert(storage.proposal_count.read(), proposal);
+ storage
+ .proposal_count
+ .write(storage.proposal_count.read() + 1);
log(CreateProposalEvent {
proposal_info: proposal,
@@ -87,13 +103,32 @@ impl DaoVoting for Contract {
#[payable]
#[storage(read, write)]
fn deposit() {
- require(storage.state.read() == State::Initialized, InitializationError::ContractNotInitialized);
- require(storage.token.read() == msg_asset_id(), UserError::IncorrectAssetSent);
+ require(
+ storage
+ .state
+ .read() == State::Initialized,
+ InitializationError::ContractNotInitialized,
+ );
+ require(
+ storage
+ .token
+ .read() == msg_asset_id(),
+ UserError::IncorrectAssetSent,
+ );
require(0 < msg_amount(), UserError::AmountCannotBeZero);
let user = msg_sender().unwrap();
- storage.balances.insert(user, msg_amount() + storage.balances.get(user).try_read().unwrap_or(0));
+ storage
+ .balances
+ .insert(
+ user,
+ msg_amount() + storage
+ .balances
+ .get(user)
+ .try_read()
+ .unwrap_or(0),
+ );
log(DepositEvent {
amount: msg_amount(),
@@ -112,7 +147,7 @@ impl DaoVoting for Contract {
storage.balances.insert(user, prev_balance - amount);
// Transfer the asset back to the user
- transfer(amount, storage.token.read(), user);
+ transfer(user, storage.token.read(), amount);
log(WithdrawEvent { amount, user })
}
@@ -123,7 +158,12 @@ impl DaoVoting for Contract {
require(0 < vote_amount, UserError::VoteAmountCannotBeZero);
let mut proposal = storage.proposals.get(proposal_id).try_read().unwrap();
- require(proposal.deadline >= height(), ProposalError::ProposalExpired);
+ require(
+ proposal
+ .deadline >= height()
+ .as_u64(),
+ ProposalError::ProposalExpired,
+ );
let user = msg_sender().unwrap();
let user_balance = storage.balances.get(user).try_read().unwrap_or(0);
@@ -156,18 +196,32 @@ impl DaoVoting for Contract {
let mut proposal = storage.proposals.get(proposal_id).try_read().unwrap();
require(!proposal.executed, ProposalError::ProposalExecuted);
- require(proposal.deadline < height(), ProposalError::ProposalStillActive);
+ require(
+ proposal
+ .deadline < height()
+ .as_u64(),
+ ProposalError::ProposalStillActive,
+ );
// TODO figure out how to prevent approval percentage from overflowing
// When close to the u64 max
// https://github.com/FuelLabs/sway-applications/issues/106
let acceptance_percentage = proposal.yes_votes * 100 / (proposal.yes_votes + proposal.no_votes);
- require(proposal.acceptance_percentage <= acceptance_percentage, ProposalError::InsufficientApprovals);
+ require(
+ proposal
+ .acceptance_percentage <= acceptance_percentage,
+ ProposalError::InsufficientApprovals,
+ );
proposal.executed = true;
storage.proposals.insert(proposal_id, proposal);
- asm(call_data: proposal.proposal_transaction.call_data, amount: proposal.proposal_transaction.amount, asset: proposal.proposal_transaction.asset, gas: proposal.proposal_transaction.gas) {
+ asm(
+ call_data: proposal.proposal_transaction.call_data,
+ amount: proposal.proposal_transaction.amount,
+ asset: proposal.proposal_transaction.asset,
+ gas: proposal.proposal_transaction.gas,
+ ) {
call call_data amount asset gas;
}
@@ -184,7 +238,12 @@ impl DaoVoting for Contract {
validate_id(proposal_id, storage.proposal_count.read());
let proposal = storage.proposals.get(proposal_id).try_read().unwrap();
- require(proposal.deadline < height(), ProposalError::ProposalStillActive);
+ require(
+ proposal
+ .deadline < height()
+ .as_u64(),
+ ProposalError::ProposalStillActive,
+ );
let user = msg_sender().unwrap();
let votes = storage.votes.get((user, proposal_id)).try_read().unwrap_or(Votes::default());
@@ -192,7 +251,16 @@ impl DaoVoting for Contract {
storage.votes.insert((user, proposal_id), Votes::default());
let vote_amount = votes.yes_votes + votes.no_votes;
- storage.balances.insert(user, storage.balances.get(user).try_read().unwrap_or(0) + vote_amount);
+ storage
+ .balances
+ .insert(
+ user,
+ storage
+ .balances
+ .get(user)
+ .try_read()
+ .unwrap_or(0) + vote_amount,
+ );
log(UnlockVotesEvent {
id: proposal_id,
@@ -226,8 +294,13 @@ impl Info for Contract {
}
#[storage(read)]
- fn governance_token_id() -> ContractId {
- require(storage.state.read() == State::Initialized, InitializationError::ContractNotInitialized);
+ fn governance_token_id() -> AssetId {
+ require(
+ storage
+ .state
+ .read() == State::Initialized,
+ InitializationError::ContractNotInitialized,
+ );
storage.token.read()
}
diff --git a/DAO/project/contracts/DAO-contract/tests/utils/interface/core.rs b/DAO/project/contracts/DAO-contract/tests/utils/interface/core.rs
index aa4833e40..28c7bf110 100644
--- a/DAO/project/contracts/DAO-contract/tests/utils/interface/core.rs
+++ b/DAO/project/contracts/DAO-contract/tests/utils/interface/core.rs
@@ -1,12 +1,13 @@
use crate::utils::setup::{DaoVoting, Proposal};
use fuels::{
- prelude::{CallParameters, ContractId, TxParameters, WalletUnlocked},
- programs::call_response::FuelCallResponse,
+ prelude::{CallParameters, TxPolicies, WalletUnlocked},
+ programs::{call_response::FuelCallResponse, call_utils::TxDependencyExtension},
+ types::AssetId,
};
pub(crate) async fn constructor(
contract: &DaoVoting,
- token: ContractId,
+ token: AssetId,
) -> FuelCallResponse<()> {
contract.methods().constructor(token).call().await.unwrap()
}
@@ -29,11 +30,10 @@ pub(crate) async fn deposit(
contract: &DaoVoting,
call_params: CallParameters,
) -> FuelCallResponse<()> {
- let tx_params = TxParameters::new(0, 1_000_000, 0);
contract
.methods()
.deposit()
- .tx_params(tx_params)
+ .with_tx_policies(TxPolicies::default().with_script_gas_limit(1_000_000))
.call_params(call_params)
.unwrap()
.call()
diff --git a/DAO/project/contracts/DAO-contract/tests/utils/interface/info.rs b/DAO/project/contracts/DAO-contract/tests/utils/interface/info.rs
index 195d407eb..2f30cb58e 100644
--- a/DAO/project/contracts/DAO-contract/tests/utils/interface/info.rs
+++ b/DAO/project/contracts/DAO-contract/tests/utils/interface/info.rs
@@ -1,7 +1,7 @@
use crate::utils::setup::{DaoVoting, ProposalInfo, Votes};
use fuels::{
- prelude::{Bech32Address, ContractId, WalletUnlocked},
- types::Identity,
+ prelude::{Bech32Address, WalletUnlocked},
+ types::{AssetId, Identity},
};
pub(crate) async fn balance(contract: &DaoVoting) -> u64 {
@@ -39,7 +39,7 @@ pub(crate) async fn proposal(contract: &DaoVoting, id: u64) -> P
contract.methods().proposal(id).call().await.unwrap().value
}
-pub(crate) async fn governance_token_id(contract: &DaoVoting) -> ContractId {
+pub(crate) async fn governance_token_id(contract: &DaoVoting) -> AssetId {
contract
.methods()
.governance_token_id()
diff --git a/DAO/project/contracts/DAO-contract/tests/utils/setup.rs b/DAO/project/contracts/DAO-contract/tests/utils/setup.rs
index 1ae454a2e..30a1adeed 100644
--- a/DAO/project/contracts/DAO-contract/tests/utils/setup.rs
+++ b/DAO/project/contracts/DAO-contract/tests/utils/setup.rs
@@ -1,7 +1,10 @@
-use fuels::prelude::{
- abigen, launch_custom_provider_and_get_wallets, AssetConfig, AssetId, Contract, ContractId,
- LoadConfiguration, StorageConfiguration, TxParameters, WalletUnlocked, WalletsConfig,
- BASE_ASSET_ID,
+use fuels::{
+ prelude::{
+ abigen, launch_custom_provider_and_get_wallets, AssetConfig, AssetId, Contract,
+ LoadConfiguration, StorageConfiguration, TxPolicies, WalletUnlocked, WalletsConfig,
+ BASE_ASSET_ID,
+ },
+ types::ContractId,
};
abigen!(Contract(
@@ -17,9 +20,9 @@ pub(crate) struct Metadata {
const DAO_CONTRACT_BINARY_PATH: &str = "./out/debug/DAO-contract.bin";
const DAO_CONTRACT_STORAGE_PATH: &str = "./out/debug/DAO-contract-storage_slots.json";
-pub(crate) fn proposal_transaction(asset_id: ContractId) -> Proposal {
+pub(crate) fn proposal_transaction(asset_id: AssetId) -> Proposal {
let call_data = CallData {
- id: asset_id,
+ id: ContractId::from(*asset_id),
function_selector: 0,
arguments: 0,
};
@@ -32,7 +35,7 @@ pub(crate) fn proposal_transaction(asset_id: ContractId) -> Proposal {
}
}
-pub(crate) async fn setup() -> (ContractId, ContractId, Metadata, Metadata, u64) {
+pub(crate) async fn setup() -> (AssetId, AssetId, Metadata, Metadata, u64) {
let number_of_coins = 1;
let coin_amount = 1_000_000;
let number_of_wallets = 2;
@@ -57,17 +60,20 @@ pub(crate) async fn setup() -> (ContractId, ContractId, Metadata, Metadata, u64)
let assets = vec![base_asset, gov_token, other_token];
let wallet_config = WalletsConfig::new_multiple_assets(number_of_wallets, assets);
- let mut wallets = launch_custom_provider_and_get_wallets(wallet_config, None, None).await;
+ let mut wallets = launch_custom_provider_and_get_wallets(wallet_config, None, None)
+ .await
+ .unwrap();
let deployer_wallet = wallets.pop().unwrap();
let user_wallet = wallets.pop().unwrap();
- let storage_configuration = StorageConfiguration::load_from(DAO_CONTRACT_STORAGE_PATH);
+ let storage_configuration =
+ StorageConfiguration::default().add_slot_overrides_from_file(DAO_CONTRACT_STORAGE_PATH);
let configuration =
- LoadConfiguration::default().set_storage_configuration(storage_configuration.unwrap());
+ LoadConfiguration::default().with_storage_configuration(storage_configuration.unwrap());
let dao_voting_id = Contract::load_from(DAO_CONTRACT_BINARY_PATH, configuration)
.unwrap()
- .deploy(&deployer_wallet, TxParameters::default())
+ .deploy(&deployer_wallet, TxPolicies::default())
.await
.unwrap();
@@ -82,11 +88,5 @@ pub(crate) async fn setup() -> (ContractId, ContractId, Metadata, Metadata, u64)
let asset_amount = 10;
- (
- ContractId::from(*gov_token_id),
- ContractId::from(*other_token_id),
- deployer,
- user,
- asset_amount,
- )
+ (gov_token_id, other_token_id, deployer, user, asset_amount)
}
diff --git a/DAO/project/fuel-toolchain.toml b/DAO/project/fuel-toolchain.toml
index e18eaa133..e75c0bb58 100644
--- a/DAO/project/fuel-toolchain.toml
+++ b/DAO/project/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-07-13"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.42.1"
-fuel-core = "0.18.3"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/OTC-swap-predicate/README.md b/OTC-swap-predicate/README.md
index 24ab3b77d..88985d3a4 100644
--- a/OTC-swap-predicate/README.md
+++ b/OTC-swap-predicate/README.md
@@ -6,14 +6,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/OTC-swap-predicate/project/Cargo.lock b/OTC-swap-predicate/project/Cargo.lock
index 6fd61352f..5e1c6e88e 100644
--- a/OTC-swap-predicate/project/Cargo.lock
+++ b/OTC-swap-predicate/project/Cargo.lock
@@ -58,6 +58,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
[[package]]
name = "android-tzdata"
version = "0.1.1"
@@ -232,18 +238,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
name = "async-trait"
-version = "0.1.71"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
@@ -321,6 +327,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
+ "serde",
]
[[package]]
@@ -376,9 +383,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitvec"
@@ -420,12 +430,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
[[package]]
name = "bs58"
version = "0.4.0"
@@ -455,9 +459,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
@@ -476,17 +480,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
- "time 0.1.45",
"wasm-bindgen",
- "winapi",
+ "windows-targets",
]
[[package]]
@@ -531,7 +534,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
@@ -561,7 +564,7 @@ dependencies = [
"k256",
"lazy_static",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -578,7 +581,7 @@ dependencies = [
"once_cell",
"pbkdf2 0.12.2",
"rand",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -597,7 +600,7 @@ dependencies = [
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
]
@@ -640,7 +643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.23",
+ "time",
"version_check",
]
@@ -657,7 +660,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "time 0.3.23",
+ "time",
"url",
]
@@ -790,6 +793,33 @@ dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "cynic"
version = "2.2.8"
@@ -975,6 +1005,26 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "either"
version = "1.8.1"
@@ -983,9 +1033,9 @@ checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -1026,7 +1076,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
@@ -1072,12 +1122,18 @@ dependencies = [
"scrypt",
"serde",
"serde_json",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -1095,12 +1151,9 @@ dependencies = [
[[package]]
name = "fastrand"
-version = "1.9.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
[[package]]
name = "ff"
@@ -1112,6 +1165,12 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f69037fe1b785e84986b4f2cbcf647381876a00671d25ceef715d7812dd7e1dd"
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -1141,23 +1200,28 @@ dependencies = [
[[package]]
name = "fuel-abi-types"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99a7aeb41cdabffa38418b00fd57b5571dc58ee5af606e845a088befecd36"
+checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
+ "itertools 0.10.5",
"lazy_static",
+ "proc-macro2",
+ "quote",
"regex",
"serde",
+ "serde_json",
+ "syn 2.0.39",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1331be83ba8ce8fa9217272b2709bbe29a01daff5fe7ef58ba1b64ec18fe40c0"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"fuel-types",
"serde",
"strum",
@@ -1165,9 +1229,9 @@ dependencies = [
[[package]]
name = "fuel-core"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c978d128cd4cc73675a5424a67c5c0dbb70fbb52bb6e5d1bf38664f966e369d"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
dependencies = [
"anyhow",
"async-graphql",
@@ -1181,6 +1245,7 @@ dependencies = [
"fuel-core-database",
"fuel-core-executor",
"fuel-core-importer",
+ "fuel-core-metrics",
"fuel-core-poa",
"fuel-core-producer",
"fuel-core-services",
@@ -1190,7 +1255,8 @@ dependencies = [
"futures",
"hex",
"hyper",
- "itertools",
+ "itertools 0.10.5",
+ "parking_lot",
"postcard",
"primitive-types",
"rand",
@@ -1203,22 +1269,22 @@ dependencies = [
"tokio-stream",
"tower-http",
"tracing",
+ "uuid 1.6.1",
]
[[package]]
name = "fuel-core-chain-config"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e533fa1f86ae96579f4394205a7dfbad31715043f7119a82aa7a14effaed3a17"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
dependencies = [
"anyhow",
"bech32 0.9.1",
"fuel-core-storage",
"fuel-core-types",
"hex",
- "itertools",
+ "itertools 0.10.5",
"postcard",
- "rand",
"serde",
"serde_json",
"serde_with 1.14.0",
@@ -1227,9 +1293,9 @@ dependencies = [
[[package]]
name = "fuel-core-client"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a6bf1c0a6e6acf848f4b994e0b91c96c4f443f71d26f437642d135d5d71d3d"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
dependencies = [
"anyhow",
"cynic",
@@ -1239,8 +1305,9 @@ dependencies = [
"futures",
"hex",
"hyper-rustls 0.24.1",
- "itertools",
+ "itertools 0.10.5",
"reqwest",
+ "schemafy_lib",
"serde",
"serde_json",
"tai64",
@@ -1250,9 +1317,9 @@ dependencies = [
[[package]]
name = "fuel-core-consensus-module"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10dfa90f07cd210da9e16c61f5405a9d5c71a701848e6f9e01a1568b3b8c0f91"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1263,21 +1330,21 @@ dependencies = [
[[package]]
name = "fuel-core-database"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5b8f8f12e8b7dfa5e68ee32cbecfba2e8aa2a06b930fd181f0b4ae71652484"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
]
[[package]]
name = "fuel-core-executor"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0dc752bfd46dee5ab51fd46f13858b9aa85865ba76d180c9c8e3cc0b25949b"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1287,36 +1354,39 @@ dependencies = [
[[package]]
name = "fuel-core-importer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0989eb91e18f3541b7a690ed3bca92521939e80f507a08ce0fd6d8bf34cf1eb"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
dependencies = [
"anyhow",
+ "derive_more",
+ "fuel-core-metrics",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tracing",
]
[[package]]
name = "fuel-core-metrics"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401e1a1187a91f1df5808c8416137623f119f058f6c6e2710d43c58744e9fa14"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
dependencies = [
"axum",
- "lazy_static",
"once_cell",
+ "pin-project-lite",
"prometheus-client 0.18.1",
"prometheus-client 0.20.0",
+ "regex",
+ "tracing",
]
[[package]]
name = "fuel-core-poa"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e15616957477d7c37f5845d58abcb13f8ab9a7f526a499a795bb7b8618c6e238"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
dependencies = [
"anyhow",
"async-trait",
@@ -1331,15 +1401,15 @@ dependencies = [
[[package]]
name = "fuel-core-producer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df203c0e56c1827831a363e895aea7c9c642c18f1a57adbdd8ac6c4e115231dc"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
"async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tokio-rayon",
"tracing",
@@ -1347,12 +1417,13 @@ dependencies = [
[[package]]
name = "fuel-core-services"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecc615cb429744e1783db0d5b30dd01ec0d73c675f47964e62edc1f01b40ac2"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
"async-trait",
+ "fuel-core-metrics",
"futures",
"parking_lot",
"tokio",
@@ -1361,21 +1432,21 @@ dependencies = [
[[package]]
name = "fuel-core-storage"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ed1d03eb74feb0ea8538ab557e52c7bc4f1a1c3aaafba9076038da256d86920"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
]
[[package]]
name = "fuel-core-txpool"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d563ceae0ed89ed34f78a7835d15a40ef9d35c9b260b622049335e6c8deb884f"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
dependencies = [
"anyhow",
"async-trait",
@@ -1384,17 +1455,19 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
+ "futures",
"parking_lot",
"tokio",
+ "tokio-rayon",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059da83a7e012a438c9962cbfe1e1b2d3e04f67a75d5be8899009b6456b04002"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -1408,55 +1481,73 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb3f73571a03523cb92826003753ff1bdd1882767e67801de223ce3ad6133349"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
+ "k256",
"lazy_static",
+ "p256",
"rand",
"secp256k1",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"zeroize",
]
+[[package]]
+name = "fuel-derive"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "synstructure",
+]
+
[[package]]
name = "fuel-merkle"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5646d95e02a63fd59da942fcf5d6217dbd8b6866c1ad3a0232be0913c4d077"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
dependencies = [
+ "derive_more",
"digest 0.10.7",
"fuel-storage",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.7",
- "thiserror",
+ "serde",
+ "sha2 0.10.8",
]
[[package]]
name = "fuel-storage"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b72444da90354b6d1d220b81c6803085689f5e7d53e1d4bd11cfa3d4c5a1b27"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
[[package]]
name = "fuel-tx"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04187579ecfbb04a380c60f9eecae1a288dbe463c111dc7dde66fa736445a638"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-types",
- "itertools",
- "num-integer",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
"rand",
"serde",
"serde_json",
@@ -1466,10 +1557,11 @@ dependencies = [
[[package]]
name = "fuel-types"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6543ca2f5124a19b1486507243188a57be64c9914d1908e154a1866eeffb69"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
"rand",
"serde",
@@ -1477,31 +1569,40 @@ dependencies = [
[[package]]
name = "fuel-vm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d42e99fe69e913bbde4900f96efb6ceae13b68d369bf22d4b435571d6ed7d65"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags 1.3.2",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-storage",
"fuel-tx",
"fuel-types",
- "itertools",
- "rand",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
"sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
]
[[package]]
name = "fuels"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa0bee7463c6bee4920c60315492a25a3026f1a68d15570cef7b470b04ecdf9"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
"fuel-core",
"fuel-core-client",
@@ -1511,17 +1612,15 @@ dependencies = [
"fuels-macros",
"fuels-programs",
"fuels-test-helpers",
- "fuels-types",
]
[[package]]
name = "fuels-accounts"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28dad265d8fc612aaef2a4c1fa8bb14d77541575a6d2de6d26e66acc94afdaae"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes",
"chrono",
"elliptic-curve",
"eth-keystore",
@@ -1531,148 +1630,121 @@ dependencies = [
"fuel-types",
"fuel-vm",
"fuels-core",
- "fuels-types",
"hex",
- "itertools",
"rand",
- "serde",
- "sha2 0.10.7",
+ "semver",
"tai64",
"thiserror",
"tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97e7b697abfac23b3505fa3136bb3e910ed664caa58d1efcb6e11644aa95d8aa"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-core"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d565f3c3c2974616984149c0440e03aadd600abe29e6268d41ebbdf21ae89915"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
+ "bech32 0.9.1",
+ "chrono",
+ "fuel-abi-types",
+ "fuel-asm",
+ "fuel-core-chain-config",
+ "fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
- "fuels-types",
+ "fuels-macros",
"hex",
- "itertools",
- "sha2 0.10.7",
+ "itertools 0.12.0",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396b1007bf06f788b47bc710f53bce2cf5c74c32cf072baeae46abfbba1b5c33"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"rand",
- "regex",
- "serde_json",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-programs"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf6c51214d91115708cea3c7ea62e447623305b281c341f5ed6a18a14ab40f8e"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
"bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "fuels-types",
- "hex",
- "itertools",
- "proc-macro2",
+ "itertools 0.12.0",
"rand",
- "regex",
- "serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
- "thiserror",
"tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cac950d5fb1a182c897135e68337e750dd8a48e35dd3849a9fc2d602eb55035"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
"fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
- "fuels-types",
+ "fuels-core",
"futures",
"hex",
"portpicker",
"rand",
"serde",
"serde_json",
- "serde_with 2.3.3",
+ "serde_with 3.4.0",
"tempfile",
"tokio",
"which",
]
-[[package]]
-name = "fuels-types"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e94e08cfab823b1a6ed2830fe22067dd7112f0fe5228bec23d4e95cefebcfe"
-dependencies = [
- "bech32 0.9.1",
- "chrono",
- "fuel-abi-types",
- "fuel-asm",
- "fuel-core-chain-config",
- "fuel-core-client",
- "fuel-tx",
- "fuel-types",
- "fuels-macros",
- "hex",
- "itertools",
- "proc-macro2",
- "regex",
- "serde",
- "serde_json",
- "strum",
- "strum_macros",
- "thiserror",
-]
-
[[package]]
name = "funty"
version = "2.0.0"
@@ -1735,7 +1807,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
@@ -1788,7 +1860,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
@@ -1867,6 +1939,11 @@ name = "hashbrown"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
[[package]]
name = "heapless"
@@ -1912,6 +1989,15 @@ dependencies = [
"digest 0.10.7",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
[[package]]
name = "http"
version = "0.2.9"
@@ -1969,7 +2055,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -2132,26 +2218,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi",
- "libc",
- "windows-sys",
-]
-
[[package]]
name = "ipnet"
version = "2.8.0"
@@ -2165,7 +2231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
- "rustix 0.38.4",
+ "rustix",
"windows-sys",
]
@@ -2178,6 +2244,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -2203,7 +2278,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"once_cell",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"signature",
]
@@ -2224,21 +2299,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
-name = "linux-raw-sys"
-version = "0.3.8"
+name = "libm"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "lock_api"
@@ -2270,9 +2345,9 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "memoffset"
@@ -2300,12 +2375,12 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"windows-sys",
]
@@ -2327,16 +2402,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.15"
@@ -2383,6 +2448,18 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "parity-scale-codec"
version = "3.6.4"
@@ -2427,11 +2504,17 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"smallvec",
"windows-targets",
]
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
[[package]]
name = "pbkdf2"
version = "0.11.0"
@@ -2484,14 +2567,14 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -2509,6 +2592,12 @@ dependencies = [
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
@@ -2535,6 +2624,15 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7dbe9ed3b56368bd99483eb32fe9c17fdd3730aebadc906918ce78d54c7eeb4"
+dependencies = [
+ "elliptic-curve",
+]
+
[[package]]
name = "primitive-types"
version = "0.12.1"
@@ -2558,9 +2656,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
dependencies = [
"unicode-ident",
]
@@ -2629,9 +2727,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.31"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@@ -2709,11 +2807,20 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "regex"
-version = "1.9.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -2723,9 +2830,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.3"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -2734,9 +2841,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -2836,28 +2943,14 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.37.23"
+version = "0.38.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"errno",
- "io-lifetimes",
"libc",
- "linux-raw-sys 0.3.8",
- "windows-sys",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
-dependencies = [
- "bitflags 2.3.3",
- "errno",
- "libc",
- "linux-raw-sys 0.4.3",
+ "linux-raw-sys",
"windows-sys",
]
@@ -2969,6 +3062,32 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
+]
+
[[package]]
name = "scopeguard"
version = "1.2.0"
@@ -2984,7 +3103,7 @@ dependencies = [
"hmac",
"pbkdf2 0.11.0",
"salsa20",
- "sha2 0.10.7",
+ "sha2 0.10.8",
]
[[package]]
@@ -3074,35 +3193,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.171"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.171"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -3133,9 +3252,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "2.3.3"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
]
@@ -3167,9 +3286,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -3230,6 +3349,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -3322,9 +3451,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.26"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -3337,6 +3466,18 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -3354,47 +3495,35 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.6.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
- "autocfg",
"cfg-if",
"fastrand",
- "redox_syscall",
- "rustix 0.37.23",
+ "redox_syscall 0.4.1",
+ "rustix",
"windows-sys",
]
[[package]]
name = "thiserror"
-version = "1.0.43"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.43"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "syn 2.0.39",
]
[[package]]
@@ -3441,11 +3570,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.29.1"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
- "autocfg",
"backtrace",
"bytes",
"libc",
@@ -3454,7 +3582,7 @@ dependencies = [
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys",
]
@@ -3471,13 +3599,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
@@ -3584,6 +3712,7 @@ dependencies = [
"http-body",
"http-range-header",
"pin-project-lite",
+ "tokio",
"tower",
"tower-layer",
"tower-service",
@@ -3623,7 +3752,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
[[package]]
@@ -3698,6 +3827,12 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -3740,6 +3875,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3761,12 +3905,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -3794,7 +3932,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
@@ -3828,7 +3966,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -3889,13 +4027,15 @@ dependencies = [
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix",
+ "windows-sys",
]
[[package]]
@@ -4039,5 +4179,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.26",
+ "syn 2.0.39",
]
diff --git a/OTC-swap-predicate/project/Forc.lock b/OTC-swap-predicate/project/Forc.lock
index ef24bdb69..10b8fdbe0 100644
--- a/OTC-swap-predicate/project/Forc.lock
+++ b/OTC-swap-predicate/project/Forc.lock
@@ -1,13 +1,13 @@
[[package]]
-name = 'core'
-source = 'path+from-root-9BFE6D5D0CBDF740'
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.42.1#3b66f8e424bd21e3ba467783b10b36e808cfa6ee'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
[[package]]
-name = 'swap-predicate'
-source = 'member'
-dependencies = ['std']
+name = "swap-predicate"
+source = "member"
+dependencies = ["std"]
diff --git a/OTC-swap-predicate/project/fuel-toolchain.toml b/OTC-swap-predicate/project/fuel-toolchain.toml
index 85312ab11..e75c0bb58 100644
--- a/OTC-swap-predicate/project/fuel-toolchain.toml
+++ b/OTC-swap-predicate/project/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-07-18"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.42.1"
-fuel-core = "0.18.3"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/OTC-swap-predicate/project/predicates/swap-predicate/Cargo.toml b/OTC-swap-predicate/project/predicates/swap-predicate/Cargo.toml
index f22bc8278..99b99f54f 100644
--- a/OTC-swap-predicate/project/predicates/swap-predicate/Cargo.toml
+++ b/OTC-swap-predicate/project/predicates/swap-predicate/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
license = "Apache-2.0"
[dependencies]
-fuels = { version = "0.42.0", features = ["fuel-core-lib"] }
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
tokio = { version = "1.12", features = ["rt", "macros"] }
[[test]]
diff --git a/OTC-swap-predicate/project/predicates/swap-predicate/src/main.sw b/OTC-swap-predicate/project/predicates/swap-predicate/src/main.sw
index 5f5ea73df..d9d2c31dc 100644
--- a/OTC-swap-predicate/project/predicates/swap-predicate/src/main.sw
+++ b/OTC-swap-predicate/project/predicates/swap-predicate/src/main.sw
@@ -2,8 +2,8 @@ predicate;
use std::{
inputs::{
+ input_coin_owner,
input_count,
- input_owner,
},
outputs::{
Output,
@@ -19,7 +19,7 @@ configurable {
/// The amount of asset required to unlock the predicate.
ASK_AMOUNT: u64 = 42,
/// The asset to be paid.
- ASK_TOKEN: ContractId = ContractId::from(0x0101010101010101010101010101010101010101010101010101010101010101),
+ ASK_TOKEN: AssetId = AssetId::from(0x0101010101010101010101010101010101010101010101010101010101010101),
/// The receiver to whom the swapped asset will be sent.
RECEIVER: Address = Address::from(0x09c0b2d1a486c439a87bcba6b46a7a1a23f3897cc83a94521a96da5c23bc58db),
}
@@ -38,8 +38,8 @@ fn main() -> bool {
// Check if the transaction contains a single input coin from the receiver, to cancel their own order (in addition to this predicate)
if input_count() == 2u8 {
- if input_owner(0).unwrap() == RECEIVER
- || input_owner(1).unwrap() == RECEIVER
+ if input_coin_owner(0).unwrap() == RECEIVER
+ || input_coin_owner(1).unwrap() == RECEIVER
{
return true;
};
diff --git a/OTC-swap-predicate/project/predicates/swap-predicate/tests/utils/mod.rs b/OTC-swap-predicate/project/predicates/swap-predicate/tests/utils/mod.rs
index fc40ec4ab..ad7788099 100644
--- a/OTC-swap-predicate/project/predicates/swap-predicate/tests/utils/mod.rs
+++ b/OTC-swap-predicate/project/predicates/swap-predicate/tests/utils/mod.rs
@@ -2,7 +2,7 @@ use fuels::{
accounts::{predicate::Predicate, Account},
prelude::{
abigen, launch_custom_provider_and_get_wallets, Address, AssetConfig, AssetId,
- Bech32Address, Config, Provider, ResourceFilter, TxParameters, WalletUnlocked,
+ Bech32Address, Provider, ResourceFilter, TxPolicies, WalletUnlocked,
},
programs::script_calls::ScriptCallHandler,
test_helpers::WalletsConfig,
@@ -49,15 +49,10 @@ pub async fn test_predicate_spend_with_parameters(
) {
let receiver_address = receiver.parse().unwrap();
- let wallets = &launch_custom_provider_and_get_wallets(
- configure_wallets(asked_asset),
- Some(Config {
- utxo_validation: true,
- ..Config::local_node()
- }),
- None,
- )
- .await;
+ let wallets =
+ &launch_custom_provider_and_get_wallets(configure_wallets(asked_asset), None, None)
+ .await
+ .unwrap();
let receiver_wallet = &wallets[0];
let taker_wallet = &wallets[1];
@@ -79,7 +74,7 @@ pub async fn test_predicate_spend_with_parameters(
predicate.address(),
offered_amount,
OFFERED_ASSET,
- TxParameters::default(),
+ TxPolicies::default(),
)
.await
.unwrap();
@@ -127,7 +122,7 @@ pub async fn test_predicate_spend_with_parameters(
// Asked asset coin belonging to the wallet taking the order
let input_from_taker = match swap_coin {
- CoinType::Coin(_) => Input::resource_signed(swap_coin.clone(), 0),
+ CoinType::Coin(_) => Input::resource_signed(swap_coin.clone()),
_ => panic!("Swap coin resource type does not match"),
};
@@ -164,8 +159,7 @@ pub async fn test_predicate_spend_with_parameters(
output_to_receiver,
output_to_taker,
output_asked_change,
- ])
- .tx_params(TxParameters::new(0, 10_000_000, 0));
+ ]);
let _response = script_call.call().await.unwrap();
@@ -196,15 +190,10 @@ pub async fn test_predicate_spend_with_parameters(
// Tests that the predicate can be recovered by the owner
// `correct_owner` is a boolean flag to set in order to test passing and failing conditions
pub async fn recover_predicate_as_owner(correct_owner: bool) {
- let wallets = &launch_custom_provider_and_get_wallets(
- configure_wallets(BASE_ASSET),
- Some(Config {
- utxo_validation: true,
- ..Config::local_node()
- }),
- None,
- )
- .await;
+ let wallets =
+ &launch_custom_provider_and_get_wallets(configure_wallets(BASE_ASSET), None, None)
+ .await
+ .unwrap();
let wallet = match correct_owner {
true => &wallets[0],
@@ -224,7 +213,7 @@ pub async fn recover_predicate_as_owner(correct_owner: bool) {
&predicate.address().clone(),
offered_amount,
OFFERED_ASSET,
- TxParameters::default(),
+ TxPolicies::default(),
)
.await
.unwrap();
@@ -255,6 +244,9 @@ pub async fn recover_predicate_as_owner(correct_owner: bool) {
asset_id: OFFERED_ASSET,
};
+ let tx_policies = TxPolicies::default()
+ .with_gas_price(1)
+ .with_script_gas_limit(10_000_000);
let script_call = ScriptCallHandler::::new(
vec![],
UnresolvedBytes::default(),
@@ -264,7 +256,7 @@ pub async fn recover_predicate_as_owner(correct_owner: bool) {
)
.with_inputs(vec![input_predicate])
.with_outputs(vec![output_offered_change])
- .tx_params(TxParameters::new(1, 10_000_000, 0));
+ .with_tx_policies(tx_policies);
let _response = script_call.call().await.unwrap();
diff --git a/airdrop/README.md b/airdrop/README.md
index 043200ec2..362ae4221 100644
--- a/airdrop/README.md
+++ b/airdrop/README.md
@@ -6,14 +6,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -37,9 +37,6 @@ The project consists of two smart contracts.
airdrop
├── project
│  ├── contracts
-│  │  ├── asset-contract
-│  │  │  ├── src/main.sw
-│  │  │  └── tests/harness.rs
│  │  └── distributor-contract
│  │  ├── src/main.sw
│  │  └── tests/harness.rs
diff --git a/airdrop/project/Cargo.lock b/airdrop/project/Cargo.lock
index 6a2edbad9..f90ade568 100644
--- a/airdrop/project/Cargo.lock
+++ b/airdrop/project/Cargo.lock
@@ -58,6 +58,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
[[package]]
name = "android-tzdata"
version = "0.1.1"
@@ -109,7 +115,7 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -119,7 +125,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
dependencies = [
"anstyle",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -140,14 +146,6 @@ version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e"
-[[package]]
-name = "asset-contract"
-version = "0.0.0"
-dependencies = [
- "fuels",
- "tokio",
-]
-
[[package]]
name = "async-graphql"
version = "4.0.16"
@@ -240,18 +238,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "async-trait"
-version = "0.1.72"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -329,6 +327,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
+ "serde",
]
[[package]]
@@ -384,9 +383,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitvec"
@@ -428,12 +430,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
[[package]]
name = "bs58"
version = "0.4.0"
@@ -463,9 +459,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
@@ -484,17 +480,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
- "time 0.1.45",
"wasm-bindgen",
- "winapi",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -539,7 +534,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -569,7 +564,7 @@ dependencies = [
"k256",
"lazy_static",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -586,7 +581,7 @@ dependencies = [
"once_cell",
"pbkdf2 0.12.2",
"rand",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -605,7 +600,7 @@ dependencies = [
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
]
@@ -648,7 +643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.23",
+ "time",
"version_check",
]
@@ -665,7 +660,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "time 0.3.23",
+ "time",
"url",
]
@@ -798,6 +793,33 @@ dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "cynic"
version = "2.2.8"
@@ -969,7 +991,7 @@ version = "0.0.0"
dependencies = [
"fuel-merkle 0.33.0",
"fuels",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"tokio",
]
@@ -993,6 +1015,27 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2 0.10.8",
+ "subtle",
+]
+
[[package]]
name = "either"
version = "1.9.0"
@@ -1001,9 +1044,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -1044,7 +1087,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1055,23 +1098,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno"
-version = "0.3.1"
+version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
"libc",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -1090,12 +1122,18 @@ dependencies = [
"scrypt",
"serde",
"serde_json",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -1127,6 +1165,12 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -1156,23 +1200,28 @@ dependencies = [
[[package]]
name = "fuel-abi-types"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99a7aeb41cdabffa38418b00fd57b5571dc58ee5af606e845a088befecd36"
+checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
+ "itertools 0.10.5",
"lazy_static",
+ "proc-macro2",
+ "quote",
"regex",
"serde",
+ "serde_json",
+ "syn 2.0.39",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1331be83ba8ce8fa9217272b2709bbe29a01daff5fe7ef58ba1b64ec18fe40c0"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"fuel-types",
"serde",
"strum",
@@ -1180,9 +1229,9 @@ dependencies = [
[[package]]
name = "fuel-core"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c978d128cd4cc73675a5424a67c5c0dbb70fbb52bb6e5d1bf38664f966e369d"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
dependencies = [
"anyhow",
"async-graphql",
@@ -1196,6 +1245,7 @@ dependencies = [
"fuel-core-database",
"fuel-core-executor",
"fuel-core-importer",
+ "fuel-core-metrics",
"fuel-core-poa",
"fuel-core-producer",
"fuel-core-services",
@@ -1205,7 +1255,8 @@ dependencies = [
"futures",
"hex",
"hyper",
- "itertools",
+ "itertools 0.10.5",
+ "parking_lot",
"postcard",
"primitive-types",
"rand",
@@ -1218,22 +1269,22 @@ dependencies = [
"tokio-stream",
"tower-http",
"tracing",
+ "uuid 1.6.1",
]
[[package]]
name = "fuel-core-chain-config"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e533fa1f86ae96579f4394205a7dfbad31715043f7119a82aa7a14effaed3a17"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
dependencies = [
"anyhow",
"bech32 0.9.1",
"fuel-core-storage",
"fuel-core-types",
"hex",
- "itertools",
+ "itertools 0.10.5",
"postcard",
- "rand",
"serde",
"serde_json",
"serde_with 1.14.0",
@@ -1242,9 +1293,9 @@ dependencies = [
[[package]]
name = "fuel-core-client"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a6bf1c0a6e6acf848f4b994e0b91c96c4f443f71d26f437642d135d5d71d3d"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
dependencies = [
"anyhow",
"cynic",
@@ -1254,8 +1305,9 @@ dependencies = [
"futures",
"hex",
"hyper-rustls 0.24.1",
- "itertools",
+ "itertools 0.10.5",
"reqwest",
+ "schemafy_lib",
"serde",
"serde_json",
"tai64",
@@ -1265,9 +1317,9 @@ dependencies = [
[[package]]
name = "fuel-core-consensus-module"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10dfa90f07cd210da9e16c61f5405a9d5c71a701848e6f9e01a1568b3b8c0f91"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1278,21 +1330,21 @@ dependencies = [
[[package]]
name = "fuel-core-database"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5b8f8f12e8b7dfa5e68ee32cbecfba2e8aa2a06b930fd181f0b4ae71652484"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
]
[[package]]
name = "fuel-core-executor"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0dc752bfd46dee5ab51fd46f13858b9aa85865ba76d180c9c8e3cc0b25949b"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1302,36 +1354,39 @@ dependencies = [
[[package]]
name = "fuel-core-importer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0989eb91e18f3541b7a690ed3bca92521939e80f507a08ce0fd6d8bf34cf1eb"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
dependencies = [
"anyhow",
+ "derive_more",
+ "fuel-core-metrics",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tracing",
]
[[package]]
name = "fuel-core-metrics"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401e1a1187a91f1df5808c8416137623f119f058f6c6e2710d43c58744e9fa14"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
dependencies = [
"axum",
- "lazy_static",
"once_cell",
+ "pin-project-lite",
"prometheus-client 0.18.1",
"prometheus-client 0.20.0",
+ "regex",
+ "tracing",
]
[[package]]
name = "fuel-core-poa"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e15616957477d7c37f5845d58abcb13f8ab9a7f526a499a795bb7b8618c6e238"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
dependencies = [
"anyhow",
"async-trait",
@@ -1346,15 +1401,15 @@ dependencies = [
[[package]]
name = "fuel-core-producer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df203c0e56c1827831a363e895aea7c9c642c18f1a57adbdd8ac6c4e115231dc"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
"async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tokio-rayon",
"tracing",
@@ -1362,12 +1417,13 @@ dependencies = [
[[package]]
name = "fuel-core-services"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecc615cb429744e1783db0d5b30dd01ec0d73c675f47964e62edc1f01b40ac2"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
"async-trait",
+ "fuel-core-metrics",
"futures",
"parking_lot",
"tokio",
@@ -1376,21 +1432,21 @@ dependencies = [
[[package]]
name = "fuel-core-storage"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ed1d03eb74feb0ea8538ab557e52c7bc4f1a1c3aaafba9076038da256d86920"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
]
[[package]]
name = "fuel-core-txpool"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d563ceae0ed89ed34f78a7835d15a40ef9d35c9b260b622049335e6c8deb884f"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
dependencies = [
"anyhow",
"async-trait",
@@ -1399,17 +1455,19 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
+ "futures",
"parking_lot",
"tokio",
+ "tokio-rayon",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059da83a7e012a438c9962cbfe1e1b2d3e04f67a75d5be8899009b6456b04002"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -1423,34 +1481,35 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb3f73571a03523cb92826003753ff1bdd1882767e67801de223ce3ad6133349"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
+ "k256",
"lazy_static",
+ "p256",
"rand",
"secp256k1",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"zeroize",
]
[[package]]
-name = "fuel-merkle"
-version = "0.31.2"
+name = "fuel-derive"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5646d95e02a63fd59da942fcf5d6217dbd8b6866c1ad3a0232be0913c4d077"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
dependencies = [
- "digest 0.10.7",
- "fuel-storage 0.31.2",
- "hashbrown 0.13.2",
- "hex",
- "sha2 0.10.7",
- "thiserror",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "synstructure",
]
[[package]]
@@ -1463,15 +1522,24 @@ dependencies = [
"fuel-storage 0.33.0",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
[[package]]
-name = "fuel-storage"
-version = "0.31.2"
+name = "fuel-merkle"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b72444da90354b6d1d220b81c6803085689f5e7d53e1d4bd11cfa3d4c5a1b27"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
+dependencies = [
+ "derive_more",
+ "digest 0.10.7",
+ "fuel-storage 0.43.1",
+ "hashbrown 0.13.2",
+ "hex",
+ "serde",
+ "sha2 0.10.8",
+]
[[package]]
name = "fuel-storage"
@@ -1479,19 +1547,27 @@ version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f0480dc192e3735de1a8bb0ddaff0bacf20af785529bc585b26e7ac1434e0ba"
+[[package]]
+name = "fuel-storage"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
+
[[package]]
name = "fuel-tx"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04187579ecfbb04a380c60f9eecae1a288dbe463c111dc7dde66fa736445a638"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
- "fuel-merkle 0.31.2",
+ "fuel-merkle 0.43.1",
"fuel-types",
- "itertools",
- "num-integer",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
"rand",
"serde",
"serde_json",
@@ -1501,10 +1577,11 @@ dependencies = [
[[package]]
name = "fuel-types"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6543ca2f5124a19b1486507243188a57be64c9914d1908e154a1866eeffb69"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
"rand",
"serde",
@@ -1512,31 +1589,40 @@ dependencies = [
[[package]]
name = "fuel-vm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d42e99fe69e913bbde4900f96efb6ceae13b68d369bf22d4b435571d6ed7d65"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags 1.3.2",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
- "fuel-merkle 0.31.2",
- "fuel-storage 0.31.2",
+ "fuel-merkle 0.43.1",
+ "fuel-storage 0.43.1",
"fuel-tx",
"fuel-types",
- "itertools",
- "rand",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
"sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
]
[[package]]
name = "fuels"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa0bee7463c6bee4920c60315492a25a3026f1a68d15570cef7b470b04ecdf9"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
"fuel-core",
"fuel-core-client",
@@ -1546,17 +1632,15 @@ dependencies = [
"fuels-macros",
"fuels-programs",
"fuels-test-helpers",
- "fuels-types",
]
[[package]]
name = "fuels-accounts"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28dad265d8fc612aaef2a4c1fa8bb14d77541575a6d2de6d26e66acc94afdaae"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes",
"chrono",
"elliptic-curve",
"eth-keystore",
@@ -1566,148 +1650,121 @@ dependencies = [
"fuel-types",
"fuel-vm",
"fuels-core",
- "fuels-types",
"hex",
- "itertools",
"rand",
- "serde",
- "sha2 0.10.7",
+ "semver",
"tai64",
"thiserror",
"tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97e7b697abfac23b3505fa3136bb3e910ed664caa58d1efcb6e11644aa95d8aa"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-core"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d565f3c3c2974616984149c0440e03aadd600abe29e6268d41ebbdf21ae89915"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
+ "bech32 0.9.1",
+ "chrono",
+ "fuel-abi-types",
+ "fuel-asm",
+ "fuel-core-chain-config",
+ "fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
- "fuels-types",
+ "fuels-macros",
"hex",
- "itertools",
- "sha2 0.10.7",
+ "itertools 0.12.0",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396b1007bf06f788b47bc710f53bce2cf5c74c32cf072baeae46abfbba1b5c33"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"rand",
- "regex",
- "serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-programs"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf6c51214d91115708cea3c7ea62e447623305b281c341f5ed6a18a14ab40f8e"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
"bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "fuels-types",
- "hex",
- "itertools",
- "proc-macro2",
+ "itertools 0.12.0",
"rand",
- "regex",
- "serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
- "thiserror",
"tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cac950d5fb1a182c897135e68337e750dd8a48e35dd3849a9fc2d602eb55035"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
"fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
- "fuels-types",
+ "fuels-core",
"futures",
"hex",
"portpicker",
"rand",
"serde",
"serde_json",
- "serde_with 2.3.3",
+ "serde_with 3.4.0",
"tempfile",
"tokio",
"which",
]
-[[package]]
-name = "fuels-types"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e94e08cfab823b1a6ed2830fe22067dd7112f0fe5228bec23d4e95cefebcfe"
-dependencies = [
- "bech32 0.9.1",
- "chrono",
- "fuel-abi-types",
- "fuel-asm",
- "fuel-core-chain-config",
- "fuel-core-client",
- "fuel-tx",
- "fuel-types",
- "fuels-macros",
- "hex",
- "itertools",
- "proc-macro2",
- "regex",
- "serde",
- "serde_json",
- "strum",
- "strum_macros",
- "thiserror",
-]
-
[[package]]
name = "funty"
version = "2.0.0"
@@ -1770,7 +1827,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1823,7 +1880,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
@@ -1902,6 +1959,11 @@ name = "hashbrown"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
[[package]]
name = "heapless"
@@ -1947,6 +2009,15 @@ dependencies = [
"digest 0.10.7",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "http"
version = "0.2.9"
@@ -2004,7 +2075,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -2181,7 +2252,7 @@ checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
"rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2193,6 +2264,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -2218,7 +2298,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"once_cell",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"signature",
]
@@ -2239,15 +2319,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.150"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
[[package]]
name = "lock_api"
@@ -2279,9 +2365,9 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "memoffset"
@@ -2309,13 +2395,13 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "wasi",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2336,16 +2422,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.16"
@@ -2392,6 +2468,18 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "parity-scale-codec"
version = "3.6.4"
@@ -2436,11 +2524,17 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"smallvec",
- "windows-targets",
+ "windows-targets 0.48.1",
]
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
[[package]]
name = "pbkdf2"
version = "0.11.0"
@@ -2493,14 +2587,14 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -2518,6 +2612,12 @@ dependencies = [
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
@@ -2544,6 +2644,15 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
+dependencies = [
+ "elliptic-curve",
+]
+
[[package]]
name = "primitive-types"
version = "0.12.1"
@@ -2567,9 +2676,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
dependencies = [
"unicode-ident",
]
@@ -2638,9 +2747,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.32"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@@ -2718,11 +2827,20 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "regex"
-version = "1.9.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -2732,9 +2850,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.3"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -2743,9 +2861,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -2845,15 +2963,15 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.4"
+version = "0.38.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -2961,7 +3079,33 @@ version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
dependencies = [
- "windows-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
]
[[package]]
@@ -2979,7 +3123,7 @@ dependencies = [
"hmac",
"pbkdf2 0.11.0",
"salsa20",
- "sha2 0.10.7",
+ "sha2 0.10.8",
]
[[package]]
@@ -3069,35 +3213,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.175"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.175"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -3128,9 +3272,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "2.3.3"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
]
@@ -3162,9 +3306,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -3225,6 +3369,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -3309,9 +3463,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.27"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -3324,6 +3478,18 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -3341,46 +3507,35 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.7.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand",
- "redox_syscall",
+ "redox_syscall 0.4.1",
"rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
name = "thiserror"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "syn 2.0.39",
]
[[package]]
@@ -3427,11 +3582,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.29.1"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
- "autocfg",
"backtrace",
"bytes",
"libc",
@@ -3440,9 +3594,9 @@ dependencies = [
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3457,13 +3611,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3570,6 +3724,7 @@ dependencies = [
"http-body",
"http-range-header",
"pin-project-lite",
+ "tokio",
"tower",
"tower-layer",
"tower-service",
@@ -3609,7 +3764,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3684,6 +3839,12 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -3726,6 +3887,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3747,12 +3917,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -3780,7 +3944,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
@@ -3814,7 +3978,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -3875,13 +4039,15 @@ dependencies = [
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -3912,7 +4078,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
- "windows-targets",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -3921,7 +4087,16 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets",
+ "windows-targets 0.48.1",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
]
[[package]]
@@ -3930,13 +4105,28 @@ version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
]
[[package]]
@@ -3945,42 +4135,84 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
[[package]]
name = "winnow"
version = "0.5.0"
@@ -4025,5 +4257,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
diff --git a/airdrop/project/Cargo.toml b/airdrop/project/Cargo.toml
index 13457a4b0..bdf1d9ce3 100644
--- a/airdrop/project/Cargo.toml
+++ b/airdrop/project/Cargo.toml
@@ -1,6 +1,5 @@
[workspace]
resolver = "2"
members = [
- "./contracts/asset-contract",
"./contracts/distributor-contract",
]
diff --git a/airdrop/project/Forc.lock b/airdrop/project/Forc.lock
index 6402532c3..5e044e4f2 100644
--- a/airdrop/project/Forc.lock
+++ b/airdrop/project/Forc.lock
@@ -1,26 +1,21 @@
[[package]]
-name = 'asset-contract'
-source = 'member'
-dependencies = ['std']
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'core'
-source = 'path+from-root-9BFE6D5D0CBDF740'
-
-[[package]]
-name = 'distributor-contract'
-source = 'member'
+name = "distributor-contract"
+source = "member"
dependencies = [
- 'merkle_proof',
- 'std',
+ "merkle_proof",
+ "std",
]
[[package]]
-name = 'merkle_proof'
-source = 'git+https://github.com/FuelLabs/sway-libs?tag=v0.12.0#063f118a3104adb6a04207ca877993b5ad03a492'
-dependencies = ['std']
+name = "merkle_proof"
+source = "git+https://github.com/FuelLabs/sway-libs?tag=v0.17.2#5d69f665207158517eba14c35c7d28cb1cb93aa9"
+dependencies = ["std"]
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.42.1#3b66f8e424bd21e3ba467783b10b36e808cfa6ee'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
diff --git a/airdrop/project/Forc.toml b/airdrop/project/Forc.toml
index aa96ba5c7..84fb59391 100644
--- a/airdrop/project/Forc.toml
+++ b/airdrop/project/Forc.toml
@@ -1,2 +1,2 @@
[workspace]
-members = ["./contracts/distributor-contract", "./contracts/asset-contract"]
+members = ["./contracts/distributor-contract"]
diff --git a/airdrop/project/SPECIFICATION.md b/airdrop/project/SPECIFICATION.md
index 8d0a2f5ab..0723372f3 100644
--- a/airdrop/project/SPECIFICATION.md
+++ b/airdrop/project/SPECIFICATION.md
@@ -9,10 +9,6 @@ Table of Contents
- [`claim_data()`](#claim_data)
- [`end_block()`](#end_block)
- [`merkle_root()`](#merkle_root)
- - [Simple Asset](#simple-asset)
- - [Core Functionality](#core-functionality-1)
- - [`constructor()`](#constructor-1)
- - [`mint_to()`](#mint_to)
- [Sequence Diagram](#sequence-diagram)
# Overview
@@ -62,20 +58,6 @@ If you are interested in a functional overview then this is the section for you.
1. Returns the stored merkle root used for claim validation
-## Simple Asset
-
-### Core Functionality
-
-#### `constructor()`
-
-1. Allows the owner to begin minting the asset and requires
- 1. An asset supply be given
- 2. A user that will be authorized to mint
-
-#### `mint_to()`
-
-TODO
-
## Sequence Diagram

diff --git a/airdrop/project/contracts/asset-contract/Cargo.toml b/airdrop/project/contracts/asset-contract/Cargo.toml
deleted file mode 100644
index 8be920bde..000000000
--- a/airdrop/project/contracts/asset-contract/Cargo.toml
+++ /dev/null
@@ -1,15 +0,0 @@
-[project]
-name = "asset-contract"
-version = "0.0.0"
-authors = ["Fuel Labs "]
-edition = "2021"
-license = "Apache-2.0"
-
-[dependencies]
-fuels = { version = "0.42.0", features = ["fuel-core-lib"] }
-tokio = { version = "1.12", features = ["rt", "macros"] }
-
-[[test]]
-harness = true
-name = "integration_tests"
-path = "tests/harness.rs"
diff --git a/airdrop/project/contracts/asset-contract/Forc.toml b/airdrop/project/contracts/asset-contract/Forc.toml
deleted file mode 100644
index 26e918896..000000000
--- a/airdrop/project/contracts/asset-contract/Forc.toml
+++ /dev/null
@@ -1,5 +0,0 @@
-[project]
-authors = ["Fuel Labs "]
-entry = "main.sw"
-license = "Apache-2.0"
-name = "asset-contract"
diff --git a/airdrop/project/contracts/asset-contract/src/errors.sw b/airdrop/project/contracts/asset-contract/src/errors.sw
deleted file mode 100644
index 25a90093c..000000000
--- a/airdrop/project/contracts/asset-contract/src/errors.sw
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-
-/// Errors related to permissions.
-pub enum AccessError {
- /// The sender is not permitted to mint tokens.
- SenderNotPermittedToMint: (),
-}
-
-/// Errors related to the initialization of the contract.
-pub enum InitError {
- /// The contract has already been initialized.
- AlreadyInitialized: (),
- /// The maximum supply of the token must be greater than zero.
- AssetSupplyCannotBeZero: (),
-}
-
-/// Errors related to input parameters.
-pub enum InputError {
- /// The input amount is greater than the maximum supply.
- GreaterThanMaximumSupply: (),
-}
diff --git a/airdrop/project/contracts/asset-contract/src/interface.sw b/airdrop/project/contracts/asset-contract/src/interface.sw
deleted file mode 100644
index 9a52f16ce..000000000
--- a/airdrop/project/contracts/asset-contract/src/interface.sw
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-
-abi SimpleAsset {
- /// An example constructor which implements an airdrop distributor contract.
- ///
- /// # Arguments
- ///
- /// * `asset_supply`: [u64] - The total qualntity of the asset that may ever be minted.
- /// * `minter`: [Identity] - The Address or Contract which will be permissioned to mint the asset.
- ///
- /// # Reverts
- ///
- /// * When the constructor has already been called.
- /// * When the provided `asset_supply` is zero.
- #[storage(read, write)]
- fn constructor(asset_supply: u64, minter: Identity);
-
- /// An example function that is to be called by the airdrop distributor contract.
- ///
- /// The mint function is authorized to be called only by the airdrop contract.
- ///
- /// # Arguments
- ///
- /// * `amount`: [u64] - The quantity of the asset that is to be minted.
- /// * `to`: [Identity] - The user which should recieve the minted asset.
- ///
- /// # Reverts
- ///
- /// * When the sender is not the airdrop contract.
- /// * When the amount of the asset to be minted is greater than the total supply.
- #[storage(read, write)]
- fn mint_to(amount: u64, to: Identity);
-}
diff --git a/airdrop/project/contracts/asset-contract/src/main.sw b/airdrop/project/contracts/asset-contract/src/main.sw
deleted file mode 100644
index 89916d033..000000000
--- a/airdrop/project/contracts/asset-contract/src/main.sw
+++ /dev/null
@@ -1,40 +0,0 @@
-contract;
-
-mod errors;
-mod interface;
-
-use ::errors::{AccessError, InitError, InputError};
-use ::interface::SimpleAsset;
-use std::{auth::msg_sender, token::mint_to};
-
-storage {
- /// The current quantity of the asset minted.
- asset_minted: u64 = 0,
- /// The maximum quantity of the asset ever to be minted.
- asset_supply: u64 = 0,
- /// The Address or Contract that has permission to mint.
- minter: Option = Option::None,
-}
-
-impl SimpleAsset for Contract {
- #[storage(read, write)]
- fn constructor(asset_supply: u64, minter: Identity) {
- // If the asset supply is anything other than 0, we know that the constructor has already
- // been called.
- require(storage.asset_supply.read() == 0, InitError::AlreadyInitialized);
- require(asset_supply != 0, InitError::AssetSupplyCannotBeZero);
-
- storage.minter.write(Option::Some(minter));
- storage.asset_supply.write(asset_supply);
- }
-
- #[storage(read, write)]
- fn mint_to(amount: u64, to: Identity) {
- // Ensure that the sender is the minter.
- require(storage.minter.read().is_some() && msg_sender().unwrap() == storage.minter.read().unwrap(), AccessError::SenderNotPermittedToMint);
- require(amount + storage.asset_minted.read() <= storage.asset_supply.read(), InputError::GreaterThanMaximumSupply);
-
- storage.asset_minted.write(storage.asset_minted.read() + amount);
- mint_to(amount, to);
- }
-}
diff --git a/airdrop/project/contracts/asset-contract/tests/functions/constructor.rs b/airdrop/project/contracts/asset-contract/tests/functions/constructor.rs
deleted file mode 100644
index 71cf9d840..000000000
--- a/airdrop/project/contracts/asset-contract/tests/functions/constructor.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-use crate::utils::{interface::constructor, setup::setup};
-use fuels::types::Identity;
-
-mod success {
-
- use super::*;
-
- #[tokio::test]
- async fn initalizes() {
- let (deployer, _, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
- }
-}
-
-mod revert {
-
- use super::*;
-
- #[tokio::test]
- #[should_panic(expected = "AlreadyInitialized")]
- async fn when_initialized_twice() {
- let (deployer, _, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "AssetSupplyCannotBeZero")]
- async fn when_asset_supply_zero() {
- let (deployer, _, _) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- constructor(0, &deployer.simple_asset, identity.clone()).await;
- }
-}
diff --git a/airdrop/project/contracts/asset-contract/tests/functions/mint_to.rs b/airdrop/project/contracts/asset-contract/tests/functions/mint_to.rs
deleted file mode 100644
index 23003663e..000000000
--- a/airdrop/project/contracts/asset-contract/tests/functions/mint_to.rs
+++ /dev/null
@@ -1,174 +0,0 @@
-use crate::utils::{
- interface::{constructor, mint_to},
- setup::setup,
-};
-use fuels::types::Identity;
-
-mod success {
-
- use super::*;
- use fuels::{accounts::ViewOnlyAccount, prelude::AssetId};
-
- #[tokio::test]
- async fn mints_to_one_wallet() {
- let (deployer, _, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
-
- assert_eq!(
- deployer
- .wallet
- .get_asset_balance(&AssetId::new(*deployer.asset_id))
- .await
- .unwrap(),
- 0
- );
-
- mint_to(total_supply, &deployer.simple_asset, identity.clone()).await;
-
- assert_eq!(
- deployer
- .wallet
- .get_asset_balance(&AssetId::new(*deployer.asset_id))
- .await
- .unwrap(),
- total_supply
- );
- }
-
- #[tokio::test]
- async fn mints_to_multiple_wallets() {
- let (deployer, wallet2, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- let wallet2_identity = Identity::Address(wallet2.wallet.address().into());
-
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
-
- assert_eq!(
- deployer
- .wallet
- .get_asset_balance(&AssetId::new(*deployer.asset_id))
- .await
- .unwrap(),
- 0
- );
- mint_to(total_supply - 1, &deployer.simple_asset, identity.clone()).await;
- assert_eq!(
- deployer
- .wallet
- .get_asset_balance(&AssetId::new(*deployer.asset_id))
- .await
- .unwrap(),
- total_supply - 1
- );
-
- assert_eq!(
- wallet2
- .wallet
- .get_asset_balance(&AssetId::new(*deployer.asset_id))
- .await
- .unwrap(),
- 0
- );
- mint_to(1, &deployer.simple_asset, wallet2_identity.clone()).await;
- assert_eq!(
- wallet2
- .wallet
- .get_asset_balance(&AssetId::new(*wallet2.asset_id))
- .await
- .unwrap(),
- 1
- );
- }
-
- #[tokio::test]
- async fn mints_all_assets() {
- let (deployer, _, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
-
- assert_eq!(
- deployer
- .wallet
- .get_asset_balance(&AssetId::new(*deployer.asset_id))
- .await
- .unwrap(),
- 0
- );
-
- mint_to(total_supply, &deployer.simple_asset, identity.clone()).await;
-
- assert_eq!(
- deployer
- .wallet
- .get_asset_balance(&AssetId::new(*deployer.asset_id))
- .await
- .unwrap(),
- total_supply
- );
- }
-}
-
-mod revert {
-
- use super::*;
-
- #[tokio::test]
- #[should_panic(expected = "SenderNotPermittedToMint")]
- async fn when_sender_not_minter() {
- let (deployer, false_minter, total_supply) = setup().await;
-
- let minter_identity = Identity::Address(deployer.wallet.address().into());
- let false_minter_identity = Identity::Address(false_minter.wallet.address().into());
-
- constructor(
- total_supply,
- &deployer.simple_asset,
- minter_identity.clone(),
- )
- .await;
-
- mint_to(
- total_supply,
- &false_minter.simple_asset,
- false_minter_identity.clone(),
- )
- .await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "GreaterThanMaximumSupply")]
- async fn when_mint_more_than_supply_in_one_transaction() {
- let (deployer, _, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
-
- mint_to(total_supply + 1, &deployer.simple_asset, identity.clone()).await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "GreaterThanMaximumSupply")]
- async fn when_mint_more_than_supply_in_two_transactions() {
- let (deployer, _, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
- constructor(total_supply, &deployer.simple_asset, identity.clone()).await;
-
- mint_to(total_supply - 1, &deployer.simple_asset, identity.clone()).await;
- mint_to(2, &deployer.simple_asset, identity.clone()).await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "SenderNotPermittedToMint")]
- async fn when_not_initalized() {
- let (deployer, _, total_supply) = setup().await;
-
- let identity = Identity::Address(deployer.wallet.address().into());
-
- mint_to(total_supply, &deployer.simple_asset, identity.clone()).await;
- }
-}
diff --git a/airdrop/project/contracts/asset-contract/tests/functions/mod.rs b/airdrop/project/contracts/asset-contract/tests/functions/mod.rs
deleted file mode 100644
index 7fbbfff09..000000000
--- a/airdrop/project/contracts/asset-contract/tests/functions/mod.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-mod constructor;
-mod mint_to;
diff --git a/airdrop/project/contracts/asset-contract/tests/harness.rs b/airdrop/project/contracts/asset-contract/tests/harness.rs
deleted file mode 100644
index 39c936316..000000000
--- a/airdrop/project/contracts/asset-contract/tests/harness.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-mod functions;
-mod utils;
diff --git a/airdrop/project/contracts/asset-contract/tests/utils/interface.rs b/airdrop/project/contracts/asset-contract/tests/utils/interface.rs
deleted file mode 100644
index 3f22fab0f..000000000
--- a/airdrop/project/contracts/asset-contract/tests/utils/interface.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-use crate::utils::setup::SimpleAsset;
-use fuels::{prelude::WalletUnlocked, programs::call_response::FuelCallResponse, types::Identity};
-
-pub(crate) async fn constructor(
- asset_supply: u64,
- contract: &SimpleAsset,
- minter: Identity,
-) -> FuelCallResponse<()> {
- contract
- .methods()
- .constructor(asset_supply, minter)
- .call()
- .await
- .unwrap()
-}
-
-pub(crate) async fn mint_to(
- amount: u64,
- contract: &SimpleAsset,
- to: Identity,
-) -> FuelCallResponse<()> {
- contract
- .methods()
- .mint_to(amount, to)
- .append_variable_outputs(1)
- .call()
- .await
- .unwrap()
-}
diff --git a/airdrop/project/contracts/asset-contract/tests/utils/mod.rs b/airdrop/project/contracts/asset-contract/tests/utils/mod.rs
deleted file mode 100644
index b1878bb6a..000000000
--- a/airdrop/project/contracts/asset-contract/tests/utils/mod.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub mod interface;
-pub mod setup;
diff --git a/airdrop/project/contracts/asset-contract/tests/utils/setup.rs b/airdrop/project/contracts/asset-contract/tests/utils/setup.rs
deleted file mode 100644
index 6e3a9d69d..000000000
--- a/airdrop/project/contracts/asset-contract/tests/utils/setup.rs
+++ /dev/null
@@ -1,65 +0,0 @@
-use fuels::prelude::{
- abigen, launch_custom_provider_and_get_wallets, Contract, ContractId, LoadConfiguration,
- StorageConfiguration, TxParameters, WalletUnlocked, WalletsConfig,
-};
-
-abigen!(Contract(
- name = "SimpleAsset",
- abi = "./contracts/asset-contract/out/debug/asset-contract-abi.json"
-));
-
-pub(crate) struct Metadata {
- pub(crate) asset_id: ContractId,
- pub(crate) simple_asset: SimpleAsset,
- pub(crate) wallet: WalletUnlocked,
-}
-
-pub(crate) const ASSET_CONTRACT_BINARY_PATH: &str = "./out/debug/asset-contract.bin";
-pub(crate) const ASSET_CONTRACT_STORAGE_PATH: &str =
- "./out/debug/asset-contract-storage_slots.json";
-
-pub(crate) async fn setup() -> (Metadata, Metadata, u64) {
- let number_of_wallets = 2;
- let coins_per_wallet = 1;
- let coin_amount = 1000000;
-
- let mut wallets = launch_custom_provider_and_get_wallets(
- WalletsConfig::new(
- Some(number_of_wallets),
- Some(coins_per_wallet),
- Some(coin_amount),
- ),
- None,
- None,
- )
- .await;
-
- let wallet1 = wallets.pop().unwrap();
- let wallet2 = wallets.pop().unwrap();
-
- let storage_configuration = StorageConfiguration::load_from(ASSET_CONTRACT_STORAGE_PATH);
- let configuration =
- LoadConfiguration::default().set_storage_configuration(storage_configuration.unwrap());
-
- let simple_asset_id = Contract::load_from(ASSET_CONTRACT_BINARY_PATH, configuration)
- .unwrap()
- .deploy(&wallet1, TxParameters::default())
- .await
- .unwrap();
-
- let deployer = Metadata {
- asset_id: ContractId::new(*simple_asset_id.hash()),
- simple_asset: SimpleAsset::new(simple_asset_id.clone(), wallet1.clone()),
- wallet: wallet1,
- };
-
- let user = Metadata {
- asset_id: ContractId::new(*simple_asset_id.hash()),
- simple_asset: SimpleAsset::new(simple_asset_id, wallet2.clone()),
- wallet: wallet2,
- };
-
- let total_supply = 100;
-
- (deployer, user, total_supply)
-}
diff --git a/airdrop/project/contracts/distributor-contract/Cargo.toml b/airdrop/project/contracts/distributor-contract/Cargo.toml
index b08e3cb3b..f24a9f99a 100644
--- a/airdrop/project/contracts/distributor-contract/Cargo.toml
+++ b/airdrop/project/contracts/distributor-contract/Cargo.toml
@@ -7,7 +7,7 @@ license = "Apache-2.0"
[dependencies]
fuel-merkle = { version = "0.33.0" }
-fuels = { version = "0.42.0", features = ["fuel-core-lib"] }
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
sha2 = { version = "0.10.7" }
tokio = { version = "1.12", features = ["rt", "macros"] }
diff --git a/airdrop/project/contracts/distributor-contract/Forc.toml b/airdrop/project/contracts/distributor-contract/Forc.toml
index 196c75faf..8636c1934 100644
--- a/airdrop/project/contracts/distributor-contract/Forc.toml
+++ b/airdrop/project/contracts/distributor-contract/Forc.toml
@@ -5,4 +5,4 @@ license = "Apache-2.0"
name = "distributor-contract"
[dependencies]
-merkle_proof = { git = "https://github.com/FuelLabs/sway-libs", tag = "v0.12.0" }
+merkle_proof = { git = "https://github.com/FuelLabs/sway-libs", tag = "v0.17.2" }
diff --git a/airdrop/project/contracts/distributor-contract/src/events.sw b/airdrop/project/contracts/distributor-contract/src/events.sw
index 14dec47b7..5e1410ad8 100644
--- a/airdrop/project/contracts/distributor-contract/src/events.sw
+++ b/airdrop/project/contracts/distributor-contract/src/events.sw
@@ -20,9 +20,9 @@ pub struct CreateAirdropEvent {
/// The user which can claim any left over tokens after the claiming period.
admin: Identity,
/// The asset which is to be distributed.
- asset: ContractId,
+ asset: AssetId,
/// The block at which the claiming period will end.
- end_block: u64,
+ end_block: u32,
/// The computed merkle root that will be used to verify claims.
merkle_root: b256,
/// The total number of leaves in the merkle tree
diff --git a/airdrop/project/contracts/distributor-contract/src/interface.sw b/airdrop/project/contracts/distributor-contract/src/interface.sw
index 1a95dc259..a11a5493c 100644
--- a/airdrop/project/contracts/distributor-contract/src/interface.sw
+++ b/airdrop/project/contracts/distributor-contract/src/interface.sw
@@ -52,7 +52,12 @@ abi AirdropDistributor {
/// * When no tokens are sent to the airdrop contract.
#[payable]
#[storage(read, write)]
- fn constructor(admin: Identity, claim_time: u64, merkle_root: b256, num_leaves: u64);
+ fn constructor(
+ admin: Identity,
+ claim_time: u32,
+ merkle_root: b256,
+ num_leaves: u64,
+ );
}
abi Info {
@@ -80,9 +85,9 @@ abi Info {
///
/// # Returns
///
- /// * [u64] - The block at which the airdrop ends.
+ /// * [u32] - The block at which the airdrop ends.
#[storage(read)]
- fn end_block() -> u64;
+ fn end_block() -> u32;
/// Returns whether the airdrop is active and tokens can be claimed.
///
diff --git a/airdrop/project/contracts/distributor-contract/src/main.sw b/airdrop/project/contracts/distributor-contract/src/main.sw
index aa141152f..8bbda01e8 100644
--- a/airdrop/project/contracts/distributor-contract/src/main.sw
+++ b/airdrop/project/contracts/distributor-contract/src/main.sw
@@ -11,6 +11,7 @@ use ::events::{ClaimEvent, ClawbackEvent, CreateAirdropEvent};
use ::interface::{AirdropDistributor, Info};
use merkle_proof::binary_merkle_proof::{leaf_digest, verify_proof};
use std::{
+ asset::transfer,
auth::msg_sender,
block::height,
call_frames::msg_asset_id,
@@ -18,20 +19,23 @@ use std::{
msg_amount,
this_balance,
},
- hash::sha256,
- token::transfer,
+ hash::{
+ Hash,
+ sha256,
+ },
+ intrinsics::size_of_val,
};
storage {
/// The Identity which has the ability to clawback unclaimed tokens.
admin: Option = Option::None,
/// The contract of the tokens which is to be distributed.
- asset: Option = Option::None,
+ asset: Option = Option::None,
/// Stores the ClaimState of users that have interacted with the Airdrop Distributor contract.
/// Maps (user => claim)
claims: StorageMap = StorageMap {},
/// The block at which the claiming period will end.
- end_block: u64 = 0,
+ end_block: u32 = 0,
/// The computed merkle root which is to be verified against.
merkle_root: Option = Option::None,
/// The number of leaves in the merkle tree
@@ -42,23 +46,56 @@ impl AirdropDistributor for Contract {
#[storage(read, write)]
fn claim(amount: u64, key: u64, proof: Vec, to: Identity) {
// The claiming period must be open
- require(storage.end_block.read() > height(), StateError::ClaimPeriodNotActive);
+ require(
+ storage
+ .end_block
+ .read() > height(),
+ StateError::ClaimPeriodNotActive,
+ );
// Users cannot claim twice
let sender = msg_sender().unwrap();
- require(storage.claims.get(sender).try_read().unwrap_or(ClaimState::Unclaimed) == ClaimState::Unclaimed, AccessError::UserAlreadyClaimed);
+ require(
+ storage
+ .claims
+ .get(sender)
+ .try_read()
+ .unwrap_or(ClaimState::Unclaimed) == ClaimState::Unclaimed,
+ AccessError::UserAlreadyClaimed,
+ );
// There must be enough tokens left in the contract
let asset = storage.asset.read().unwrap();
require(this_balance(asset) >= amount, AccessError::NotEnoughTokens);
// Verify the merkle proof against the user and amount
- require(verify_proof(key, leaf_digest(sha256((sender, amount))), storage.merkle_root.read().unwrap(), storage.number_of_leaves.read(), proof), VerificationError::MerkleProofFailed);
+ // TODO: Remove assembly when https://github.com/FuelLabs/sway-libs/issues/186 is resolved
+ let param = (sender, amount);
+ let mut result_buffer: b256 = b256::min();
+ let leaf = asm(hash: result_buffer, ptr: param, bytes: size_of_val(param)) {
+ s256 hash ptr bytes;
+ hash: b256
+ };
+ require(
+ verify_proof(
+ key,
+ leaf_digest(leaf),
+ storage
+ .merkle_root
+ .read()
+ .unwrap(),
+ storage
+ .number_of_leaves
+ .read(),
+ proof,
+ ),
+ VerificationError::MerkleProofFailed,
+ );
storage.claims.insert(sender, ClaimState::Claimed(amount));
// Transfer tokens
- transfer(amount, asset, to);
+ transfer(to, asset, amount);
log(ClaimEvent {
amount,
@@ -70,15 +107,26 @@ impl AirdropDistributor for Contract {
#[storage(read)]
fn clawback() {
let admin = storage.admin.read();
- require(admin.is_some() && admin.unwrap() == msg_sender().unwrap(), AccessError::CallerNotAdmin);
- require(storage.end_block.read() <= height(), StateError::ClaimPeriodActive);
+ require(
+ admin
+ .is_some() && admin
+ .unwrap() == msg_sender()
+ .unwrap(),
+ AccessError::CallerNotAdmin,
+ );
+ require(
+ storage
+ .end_block
+ .read() <= height(),
+ StateError::ClaimPeriodActive,
+ );
let asset = storage.asset.read().unwrap();
let balance = this_balance(asset);
require(balance > 0, AccessError::NotEnoughTokens);
// Send the remaining balance of tokens to the admin
- transfer(balance, asset, admin.unwrap());
+ transfer(admin.unwrap(), asset, balance);
log(ClawbackEvent {
amount: balance,
@@ -90,7 +138,7 @@ impl AirdropDistributor for Contract {
#[storage(read, write)]
fn constructor(
admin: Identity,
- claim_time: u64,
+ claim_time: u32,
merkle_root: b256,
number_of_leaves: u64,
) {
@@ -128,7 +176,7 @@ impl Info for Contract {
}
#[storage(read)]
- fn end_block() -> u64 {
+ fn end_block() -> u32 {
storage.end_block.read()
}
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/core/claim.rs b/airdrop/project/contracts/distributor-contract/tests/functions/core/claim.rs
index 6f756048d..2ea054f97 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/core/claim.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/core/claim.rs
@@ -1,8 +1,7 @@
use crate::utils::{
- interface::core::{airdrop_constructor, asset_constructor, claim, mint_to},
+ interface::core::{airdrop_constructor, claim},
setup::{build_tree, build_tree_manual, defaults, get_wallet_balance, setup},
};
-use fuels::prelude::AssetId;
mod success {
@@ -14,7 +13,7 @@ mod success {
#[tokio::test]
async fn claims() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
let (
identity_a,
_,
@@ -26,17 +25,15 @@ mod success {
airdrop_leaves,
claim_time,
_,
+ original_balance,
) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key, airdrop_leaves.to_vec()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -45,8 +42,8 @@ mod success {
.await;
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance
);
assert_eq!(
claim_data(&deploy_wallet.airdrop_distributor, identity_a.clone()).await,
@@ -74,8 +71,8 @@ mod success {
}
);
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- airdrop_leaves[key as usize].1
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance + airdrop_leaves[key as usize].1
);
assert_eq!(
claim_data(&deploy_wallet.airdrop_distributor, identity_a.clone()).await,
@@ -85,7 +82,7 @@ mod success {
#[tokio::test]
async fn claims_to_different_wallet() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
let (
identity_a,
identity_b,
@@ -97,17 +94,15 @@ mod success {
airdrop_leaves,
claim_time,
_,
+ original_balance,
) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key, airdrop_leaves.to_vec()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -116,12 +111,12 @@ mod success {
.await;
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance
);
assert_eq!(
- get_wallet_balance(&wallet2.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet2.wallet, &asset_id).await,
+ original_balance
);
assert_eq!(
claim_data(&deploy_wallet.airdrop_distributor, identity_a.clone()).await,
@@ -153,12 +148,12 @@ mod success {
}
);
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance
);
assert_eq!(
- get_wallet_balance(&wallet2.wallet, &AssetId::new(*asset.asset_id)).await,
- airdrop_leaves[key as usize].1
+ get_wallet_balance(&wallet2.wallet, &asset_id).await,
+ original_balance + airdrop_leaves[key as usize].1
);
assert_eq!(
claim_data(&deploy_wallet.airdrop_distributor, identity_a.clone()).await,
@@ -172,19 +167,27 @@ mod success {
#[tokio::test]
async fn claims_manual_tree() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, depth) =
- defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (
+ _,
+ _,
+ _,
+ minter,
+ key,
+ num_leaves,
+ asset_supply,
+ airdrop_leaves,
+ claim_time,
+ depth,
+ original_balance,
+ ) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_leaf, proof, root) = build_tree_manual(airdrop_leaves.clone(), depth, key).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -193,8 +196,8 @@ mod success {
.await;
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance
);
assert_eq!(
claim_data(
@@ -226,8 +229,8 @@ mod success {
}
);
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- airdrop_leaves[key as usize].1
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance + airdrop_leaves[key as usize].1
);
assert_eq!(
claim_data(
@@ -241,9 +244,20 @@ mod success {
#[tokio::test]
async fn claims_manual_tree_2_depth() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (identity_a, identity_b, identity_c, minter, key, _, asset_supply, _, claim_time, _) =
- defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (
+ identity_a,
+ identity_b,
+ identity_c,
+ minter,
+ key,
+ _,
+ asset_supply,
+ _,
+ claim_time,
+ _,
+ original_balance,
+ ) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let identity_vec: Vec =
vec![identity_a.clone(), identity_b.clone(), identity_c.clone()];
@@ -253,13 +267,10 @@ mod success {
let num_leaves = airdrop_leaves.len().try_into().unwrap();
let (_leaf, proof, root) = build_tree_manual(airdrop_leaves.clone(), depth, key).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -268,8 +279,8 @@ mod success {
.await;
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance
);
assert_eq!(
claim_data(
@@ -300,8 +311,8 @@ mod success {
}
);
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- airdrop_leaves[key as usize].1
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance + airdrop_leaves[key as usize].1
);
assert_eq!(
claim_data(
@@ -315,9 +326,20 @@ mod success {
#[tokio::test]
async fn claims_manual_tree_16_depth() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (identity_a, identity_b, identity_c, minter, key, _, asset_supply, _, claim_time, _) =
- defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (
+ identity_a,
+ identity_b,
+ identity_c,
+ minter,
+ key,
+ _,
+ asset_supply,
+ _,
+ claim_time,
+ _,
+ original_balance,
+ ) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let identity_vec: Vec =
vec![identity_a.clone(), identity_b.clone(), identity_c.clone()];
@@ -327,13 +349,10 @@ mod success {
let num_leaves = airdrop_leaves.len().try_into().unwrap();
let (_leaf, proof, root) = build_tree_manual(airdrop_leaves.clone(), depth, key).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -342,8 +361,8 @@ mod success {
.await;
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance
);
assert_eq!(
claim_data(
@@ -374,8 +393,8 @@ mod success {
}
);
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- airdrop_leaves[key as usize].1
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance + airdrop_leaves[key as usize].1
);
assert_eq!(
claim_data(
@@ -395,20 +414,17 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "ClaimPeriodNotActive")]
async fn after_claim_period() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key, airdrop_leaves.clone()).await;
let provider = deploy_wallet.wallet.provider().unwrap();
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -431,19 +447,16 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "UserAlreadyClaimed")]
async fn when_claim_twice() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key, airdrop_leaves.clone()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -473,19 +486,27 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "UserAlreadyClaimed")]
async fn when_claim_twice_manual_tree() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, depth) =
- defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (
+ _,
+ _,
+ _,
+ minter,
+ key,
+ num_leaves,
+ asset_supply,
+ airdrop_leaves,
+ claim_time,
+ depth,
+ original_balance,
+ ) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_, proof, root) = build_tree_manual(airdrop_leaves.clone(), depth, key).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -494,8 +515,8 @@ mod revert {
.await;
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance
);
claim(
@@ -508,8 +529,8 @@ mod revert {
.await;
assert_eq!(
- get_wallet_balance(&wallet1.wallet, &AssetId::new(*asset.asset_id)).await,
- airdrop_leaves[key as usize].1
+ get_wallet_balance(&wallet1.wallet, &asset_id).await,
+ original_balance + airdrop_leaves[key as usize].1
);
claim(
@@ -525,19 +546,16 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "MerkleProofFailed")]
async fn when_failed_merkle_verification() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key, airdrop_leaves.clone()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -559,19 +577,16 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "MerkleProofFailed")]
async fn when_failed_merkle_verification_manual_tree() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, depth) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, depth, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_, proof, root) = build_tree_manual(airdrop_leaves.clone(), depth, key).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -594,7 +609,7 @@ mod revert {
#[should_panic(expected = "ClaimPeriodNotActive")]
async fn when_not_initalized() {
let (deploy_wallet, wallet1, wallet2, wallet3, _) = setup().await;
- let (_, _, _, _minter, key, _, _, airdrop_leaves, _, _) =
+ let (_, _, _, _minter, key, _, _, airdrop_leaves, _, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, _root, _leaf, proof) = build_tree(key, airdrop_leaves.clone()).await;
@@ -612,19 +627,16 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "NotEnoughTokens")]
async fn when_not_enough_tokens_to_claim() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, _asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key + 1, airdrop_leaves.clone()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
1,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/core/clawback.rs b/airdrop/project/contracts/distributor-contract/tests/functions/core/clawback.rs
index 7dad2792f..aa5023638 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/core/clawback.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/core/clawback.rs
@@ -1,8 +1,7 @@
use crate::utils::{
- interface::core::{airdrop_constructor, asset_constructor, claim, clawback, mint_to},
+ interface::core::{airdrop_constructor, claim, clawback},
setup::{build_tree, defaults, get_wallet_balance, setup},
};
-use fuels::prelude::AssetId;
mod success {
@@ -10,20 +9,28 @@ mod success {
#[tokio::test]
async fn returns_all_tokens() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
- defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (
+ _,
+ _,
+ _,
+ minter,
+ key,
+ num_leaves,
+ asset_supply,
+ airdrop_leaves,
+ claim_time,
+ _,
+ original_balance,
+ ) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, _) = build_tree(key, airdrop_leaves.to_vec()).await;
let provider = deploy_wallet.wallet.provider().unwrap();
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -34,21 +41,21 @@ mod success {
let _ = provider.produce_blocks(claim_time + 1, Option::None).await;
assert_eq!(
- get_wallet_balance(&deploy_wallet.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&deploy_wallet.wallet, &asset_id).await,
+ original_balance - asset_supply
);
clawback(&deploy_wallet.airdrop_distributor).await;
assert_eq!(
- get_wallet_balance(&deploy_wallet.wallet, &AssetId::new(*asset.asset_id)).await,
- asset_supply
+ get_wallet_balance(&deploy_wallet.wallet, &asset_id).await,
+ original_balance
);
}
#[tokio::test]
async fn returns_unclaimed_tokens() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
let (
identity_a,
_,
@@ -60,18 +67,16 @@ mod success {
airdrop_leaves,
claim_time,
_,
+ original_balance,
) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key, airdrop_leaves.to_vec()).await;
let provider = deploy_wallet.wallet.provider().unwrap();
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -91,15 +96,15 @@ mod success {
let _ = provider.produce_blocks(claim_time + 1, Option::None).await;
assert_eq!(
- get_wallet_balance(&deploy_wallet.wallet, &AssetId::new(*asset.asset_id)).await,
- 0
+ get_wallet_balance(&deploy_wallet.wallet, &asset_id).await,
+ original_balance - asset_supply
);
clawback(&deploy_wallet.airdrop_distributor).await;
assert_eq!(
- get_wallet_balance(&deploy_wallet.wallet, &AssetId::new(*asset.asset_id)).await,
- asset_supply - airdrop_leaves[key as usize].1
+ get_wallet_balance(&deploy_wallet.wallet, &asset_id).await,
+ original_balance - airdrop_leaves[key as usize].1
);
}
}
@@ -111,20 +116,17 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "CallerNotAdmin")]
async fn when_not_admin() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, _) = build_tree(key, airdrop_leaves.to_vec()).await;
let provider = deploy_wallet.wallet.provider().unwrap();
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -140,19 +142,16 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "ClaimPeriodActive")]
async fn when_in_claim_period() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, _) = build_tree(key, airdrop_leaves.to_vec()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -167,7 +166,7 @@ mod revert {
#[should_panic(expected = "CallerNotAdmin")]
async fn when_not_initalized() {
let (deploy_wallet, wallet1, wallet2, wallet3, _) = setup().await;
- let (_, _, _, _, key, _, _, airdrop_leaves, _, _) =
+ let (_, _, _, _, key, _, _, airdrop_leaves, _, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, _, _leaf, _) = build_tree(key, airdrop_leaves.to_vec()).await;
@@ -178,20 +177,17 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "NotEnoughTokens")]
async fn when_called_twice() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, _) = build_tree(key, airdrop_leaves.to_vec()).await;
let provider = deploy_wallet.wallet.provider().unwrap();
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter,
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/core/constructor.rs b/airdrop/project/contracts/distributor-contract/tests/functions/core/constructor.rs
index fe64dd784..51e9caddd 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/core/constructor.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/core/constructor.rs
@@ -1,5 +1,5 @@
use crate::utils::{
- interface::core::{airdrop_constructor, asset_constructor, mint_to},
+ interface::core::airdrop_constructor,
setup::{defaults, setup},
};
use fuels::types::Bits256;
@@ -14,21 +14,18 @@ mod success {
#[tokio::test]
async fn initalizes() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, admin, _, num_leaves, asset_supply, _, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, admin, _, num_leaves, asset_supply, _, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let provider = deploy_wallet.wallet.provider().unwrap();
let root = Bits256([1u8; 32]);
- asset_constructor(asset_supply, &asset.asset, admin.clone()).await;
- mint_to(asset_supply, &asset.asset, admin.clone()).await;
-
assert_eq!(end_block(&deploy_wallet.airdrop_distributor).await, 0);
let response = airdrop_constructor(
admin.clone(),
asset_supply,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -44,7 +41,7 @@ mod success {
*event,
CreateAirdropEvent {
admin,
- asset: asset.asset_id,
+ asset: asset_id,
end_block: claim_time,
merkle_root: root,
number_of_leaves: num_leaves
@@ -52,7 +49,7 @@ mod success {
);
assert_eq!(
- (provider.latest_block_height().await.unwrap() as u64) + claim_time,
+ provider.latest_block_height().await.unwrap() + claim_time,
end_block(&deploy_wallet.airdrop_distributor).await,
);
assert_eq!(
@@ -71,18 +68,15 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "AlreadyInitialized")]
async fn when_already_initalized() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, admin, _, num_leaves, asset_supply, _, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, admin, _, num_leaves, asset_supply, _, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let root = Bits256([1u8; 32]);
- asset_constructor(asset_supply, &asset.asset, admin.clone()).await;
- mint_to(asset_supply, &asset.asset, admin.clone()).await;
-
airdrop_constructor(
admin.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -93,7 +87,7 @@ mod revert {
airdrop_constructor(
admin,
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -105,15 +99,15 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "CannotAirdropZeroTokens")]
async fn when_no_tokens_provided() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, admin, _, _, _, num_leaves, _, _, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, admin, _, _, _, num_leaves, _, _, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let root = Bits256([1u8; 32]);
airdrop_constructor(
admin,
0,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/info/admin.rs b/airdrop/project/contracts/distributor-contract/tests/functions/info/admin.rs
index 68edaaef1..96f1afccd 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/info/admin.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/info/admin.rs
@@ -1,23 +1,17 @@
mod success {
use crate::utils::{
- interface::{
- core::{airdrop_constructor, asset_constructor, mint_to},
- info::admin,
- },
+ interface::{core::airdrop_constructor, info::admin},
setup::{build_tree, defaults, setup},
};
#[tokio::test]
async fn returns_admin() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, _) = build_tree(key, airdrop_leaves.clone()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
assert_eq!(
admin(&deploy_wallet.airdrop_distributor,).await,
Option::None
@@ -26,7 +20,7 @@ mod success {
airdrop_constructor(
minter.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/info/claim_data.rs b/airdrop/project/contracts/distributor-contract/tests/functions/info/claim_data.rs
index d6d6626b1..94245f7b6 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/info/claim_data.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/info/claim_data.rs
@@ -1,7 +1,7 @@
mod success {
use crate::utils::{
interface::{
- core::{airdrop_constructor, asset_constructor, claim, mint_to},
+ core::{airdrop_constructor, claim},
info::claim_data,
},
setup::ClaimState,
@@ -10,7 +10,7 @@ mod success {
#[tokio::test]
async fn returns_claim_data() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
let (
identity_a,
_,
@@ -22,17 +22,15 @@ mod success {
airdrop_leaves,
claim_time,
_,
+ _,
) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, proof) = build_tree(key, airdrop_leaves.clone()).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -70,7 +68,7 @@ mod success {
#[tokio::test]
async fn claims_manual_tree() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
let (
identity_a,
_,
@@ -82,17 +80,15 @@ mod success {
airdrop_leaves,
claim_time,
depth,
+ _,
) = defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_, proof, root) = build_tree_manual(airdrop_leaves.clone(), depth, key).await;
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
airdrop_constructor(
minter.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/info/end_block.rs b/airdrop/project/contracts/distributor-contract/tests/functions/info/end_block.rs
index 803e15177..b1a18b67e 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/info/end_block.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/info/end_block.rs
@@ -1,31 +1,25 @@
mod success {
use crate::utils::{
- interface::{
- core::{airdrop_constructor, asset_constructor, mint_to},
- info::end_block,
- },
+ interface::{core::airdrop_constructor, info::end_block},
setup::{defaults, setup},
};
use fuels::types::Bits256;
#[tokio::test]
async fn returns_end_block() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, _, num_leaves, asset_supply, _, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, _, num_leaves, asset_supply, _, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let provider = deploy_wallet.wallet.provider().unwrap();
let root = Bits256([2u8; 32]);
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
assert_eq!(0, end_block(&deploy_wallet.airdrop_distributor).await,);
airdrop_constructor(
minter.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
@@ -34,7 +28,7 @@ mod success {
.await;
assert_eq!(
- (provider.latest_block_height().await.unwrap() as u64) + claim_time,
+ provider.latest_block_height().await.unwrap() + claim_time,
end_block(&deploy_wallet.airdrop_distributor).await,
);
}
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/info/is_active.rs b/airdrop/project/contracts/distributor-contract/tests/functions/info/is_active.rs
index bd2d9257f..e94aa02b0 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/info/is_active.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/info/is_active.rs
@@ -1,30 +1,24 @@
mod success {
use crate::utils::{
- interface::{
- core::{airdrop_constructor, asset_constructor, mint_to},
- info::is_active,
- },
+ interface::{core::airdrop_constructor, info::is_active},
setup::{build_tree, defaults, setup},
};
#[tokio::test]
async fn returns_active_state() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, key, num_leaves, asset_supply, airdrop_leaves, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let (_tree, root, _leaf, _) = build_tree(key, airdrop_leaves.clone()).await;
let provider = deploy_wallet.wallet.provider().unwrap();
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
assert!(!is_active(&deploy_wallet.airdrop_distributor,).await);
airdrop_constructor(
minter.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/info/merkle_root.rs b/airdrop/project/contracts/distributor-contract/tests/functions/info/merkle_root.rs
index 51cdaac38..2832fc2d7 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/info/merkle_root.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/info/merkle_root.rs
@@ -3,22 +3,16 @@ use crate::utils::{interface::info::merkle_root, setup::setup};
mod success {
use super::*;
- use crate::utils::{
- interface::core::{airdrop_constructor, asset_constructor, mint_to},
- setup::defaults,
- };
+ use crate::utils::{interface::core::airdrop_constructor, setup::defaults};
use fuels::types::Bits256;
#[tokio::test]
async fn returns_root() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, _, num_leaves, asset_supply, _, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, _, num_leaves, asset_supply, _, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let root = Bits256([2u8; 32]);
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
assert_eq!(
merkle_root(&deploy_wallet.airdrop_distributor).await,
Option::None
@@ -27,7 +21,7 @@ mod success {
airdrop_constructor(
minter.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/functions/info/number_of_leaves.rs b/airdrop/project/contracts/distributor-contract/tests/functions/info/number_of_leaves.rs
index c2d12a2cd..61196fd24 100644
--- a/airdrop/project/contracts/distributor-contract/tests/functions/info/number_of_leaves.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/functions/info/number_of_leaves.rs
@@ -1,24 +1,18 @@
mod success {
use crate::utils::{
- interface::{
- core::{airdrop_constructor, asset_constructor, mint_to},
- info::number_of_leaves,
- },
+ interface::{core::airdrop_constructor, info::number_of_leaves},
setup::{defaults, setup},
};
use fuels::types::Bits256;
#[tokio::test]
async fn returns_end_block() {
- let (deploy_wallet, wallet1, wallet2, wallet3, asset) = setup().await;
- let (_, _, _, minter, _, leaf_count, asset_supply, _, claim_time, _) =
+ let (deploy_wallet, wallet1, wallet2, wallet3, asset_id) = setup().await;
+ let (_, _, _, minter, _, leaf_count, asset_supply, _, claim_time, _, _) =
defaults(&deploy_wallet, &wallet1, &wallet2, &wallet3).await;
let root = Bits256([2u8; 32]);
- asset_constructor(asset_supply, &asset.asset, minter.clone()).await;
- mint_to(asset_supply, &asset.asset, minter.clone()).await;
-
assert_eq!(
0,
number_of_leaves(&deploy_wallet.airdrop_distributor).await,
@@ -27,7 +21,7 @@ mod success {
airdrop_constructor(
minter.clone(),
asset_supply / 2,
- asset.asset_id,
+ asset_id,
claim_time,
&deploy_wallet.airdrop_distributor,
root,
diff --git a/airdrop/project/contracts/distributor-contract/tests/utils/interface/core.rs b/airdrop/project/contracts/distributor-contract/tests/utils/interface/core.rs
index ed2013e73..d1d1792ac 100644
--- a/airdrop/project/contracts/distributor-contract/tests/utils/interface/core.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/utils/interface/core.rs
@@ -1,37 +1,10 @@
-use crate::utils::setup::{AirdropDistributor, SimpleAsset};
+use crate::utils::setup::AirdropDistributor;
use fuels::{
- prelude::{AssetId, CallParameters, TxParameters, WalletUnlocked},
- programs::call_response::FuelCallResponse,
- types::{Bits256, ContractId, Identity},
+ prelude::{AssetId, CallParameters, TxPolicies, WalletUnlocked},
+ programs::{call_response::FuelCallResponse, call_utils::TxDependencyExtension},
+ types::{Bits256, Identity},
};
-pub(crate) async fn asset_constructor(
- asset_supply: u64,
- contract: &SimpleAsset,
- minter: Identity,
-) -> FuelCallResponse<()> {
- contract
- .methods()
- .constructor(asset_supply, minter)
- .call()
- .await
- .unwrap()
-}
-
-pub(crate) async fn mint_to(
- amount: u64,
- contract: &SimpleAsset,
- to: Identity,
-) -> FuelCallResponse<()> {
- contract
- .methods()
- .mint_to(amount, to)
- .append_variable_outputs(1)
- .call()
- .await
- .unwrap()
-}
-
pub(crate) async fn claim(
amount: u64,
contract: &AirdropDistributor,
@@ -63,19 +36,18 @@ pub(crate) async fn clawback(
pub(crate) async fn airdrop_constructor(
admin: Identity,
amount: u64,
- asset: ContractId,
- claim_time: u64,
+ asset: AssetId,
+ claim_time: u32,
contract: &AirdropDistributor,
merkle_root: Bits256,
num_leaves: u64,
) -> FuelCallResponse<()> {
- let tx_parameters = TxParameters::default().set_gas_limit(2_000_000);
- let call_params = CallParameters::new(amount, AssetId::from(*asset), 1_000_000);
+ let call_params = CallParameters::new(amount, asset, 1_000_000);
contract
.methods()
.constructor(admin, claim_time, merkle_root, num_leaves)
- .tx_params(tx_parameters)
+ .with_tx_policies(TxPolicies::default().with_script_gas_limit(2_000_000))
.call_params(call_params)
.unwrap()
.call()
diff --git a/airdrop/project/contracts/distributor-contract/tests/utils/interface/info.rs b/airdrop/project/contracts/distributor-contract/tests/utils/interface/info.rs
index bb8622c8e..ab7975ca3 100644
--- a/airdrop/project/contracts/distributor-contract/tests/utils/interface/info.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/utils/interface/info.rs
@@ -21,7 +21,7 @@ pub(crate) async fn claim_data(
.value
}
-pub(crate) async fn end_block(contract: &AirdropDistributor) -> u64 {
+pub(crate) async fn end_block(contract: &AirdropDistributor) -> u32 {
contract.methods().end_block().call().await.unwrap().value
}
diff --git a/airdrop/project/contracts/distributor-contract/tests/utils/setup.rs b/airdrop/project/contracts/distributor-contract/tests/utils/setup.rs
index 0a59c7c31..c2345e2c9 100644
--- a/airdrop/project/contracts/distributor-contract/tests/utils/setup.rs
+++ b/airdrop/project/contracts/distributor-contract/tests/utils/setup.rs
@@ -5,8 +5,9 @@ use fuel_merkle::{
use fuels::{
accounts::ViewOnlyAccount,
prelude::{
- abigen, launch_custom_provider_and_get_wallets, AssetId, Config, Contract, ContractId,
- LoadConfiguration, StorageConfiguration, TxParameters, WalletUnlocked, WalletsConfig,
+ abigen, launch_custom_provider_and_get_wallets, AssetConfig, AssetId, Contract,
+ LoadConfiguration, StorageConfiguration, TxPolicies, WalletUnlocked, WalletsConfig,
+ BASE_ASSET_ID,
},
types::{Bits256, Identity},
};
@@ -15,21 +16,10 @@ use sha2::{Digest, Sha256};
pub const NODE: u8 = 0x01;
pub const LEAF: u8 = 0x00;
-abigen!(
- Contract(
- name = "AirdropDistributor",
- abi = "./contracts/distributor-contract/out/debug/distributor-contract-abi.json"
- ),
- Contract(
- name = "SimpleAsset",
- abi = "./contracts/asset-contract/out/debug/asset-contract-abi.json"
- ),
-);
-
-pub(crate) struct Asset {
- pub(crate) asset: SimpleAsset,
- pub(crate) asset_id: ContractId,
-}
+abigen!(Contract(
+ name = "AirdropDistributor",
+ abi = "./contracts/distributor-contract/out/debug/distributor-contract-abi.json"
+),);
pub(crate) struct Metadata {
pub(crate) airdrop_distributor: AirdropDistributor,
@@ -63,9 +53,6 @@ impl Node {
}
}
-const ASSET_CONTRACT_BINARY_PATH: &str = "../asset-contract/out/debug/asset-contract.bin";
-const ASSET_CONTRACT_STORAGE_PATH: &str =
- "../asset-contract/out/debug/asset-contract-storage_slots.json";
const DISTRIBUTOR_CONTRACT_BINARY_PATH: &str = "./out/debug/distributor-contract.bin";
const DISTRIBUTOR_CONTRACT_STORAGE_PATH: &str =
"./out/debug/distributor-contract-storage_slots.json";
@@ -222,6 +209,7 @@ pub(crate) async fn defaults(
u64,
u64,
Vec<(Identity, u64)>,
+ u32,
u64,
u64,
) {
@@ -233,6 +221,7 @@ pub(crate) async fn defaults(
let asset_supply = 10;
let claim_time = 15;
let depth = 8;
+ let original_balance = 1_000_000;
let identity_vec = vec![identity_a.clone(), identity_b.clone(), identity_c.clone()];
@@ -249,6 +238,7 @@ pub(crate) async fn defaults(
airdrop_leaves,
claim_time,
depth,
+ original_balance,
)
}
@@ -269,56 +259,48 @@ pub(crate) async fn leaves_with_depth(
return_vec
}
-pub(crate) async fn setup() -> (Metadata, Metadata, Metadata, Metadata, Asset) {
+pub(crate) async fn setup() -> (Metadata, Metadata, Metadata, Metadata, AssetId) {
+ let number_of_coins = 1;
+ let coin_amount = 1_000_000;
let number_of_wallets = 4;
- let coins_per_wallet = 1;
- let coin_amount = 1000000;
- let config = Config {
- manual_blocks_enabled: true, // Necessary so the `produce_blocks` API can be used locally
- ..Config::local_node()
+
+ let base_asset = AssetConfig {
+ id: BASE_ASSET_ID,
+ num_coins: number_of_coins,
+ coin_amount,
};
- let mut wallets = launch_custom_provider_and_get_wallets(
- WalletsConfig::new(
- Some(number_of_wallets),
- Some(coins_per_wallet),
- Some(coin_amount),
- ),
- Some(config),
- None,
- )
- .await;
+ let airdrop_asset_id = AssetId::new([1; 32]);
+ let airdrop_asset = AssetConfig {
+ id: airdrop_asset_id,
+ num_coins: number_of_coins,
+ coin_amount,
+ };
+ let assets = vec![base_asset, airdrop_asset];
+
+ let wallet_config = WalletsConfig::new_multiple_assets(number_of_wallets, assets);
+ let mut wallets = launch_custom_provider_and_get_wallets(wallet_config, None, None)
+ .await
+ .unwrap();
let wallet1 = wallets.pop().unwrap();
let wallet2 = wallets.pop().unwrap();
let wallet3 = wallets.pop().unwrap();
let wallet4 = wallets.pop().unwrap();
- let airdrop_distributor_storage_configuration =
- StorageConfiguration::load_from(DISTRIBUTOR_CONTRACT_STORAGE_PATH);
+ let airdrop_distributor_storage_configuration = StorageConfiguration::default()
+ .add_slot_overrides_from_file(DISTRIBUTOR_CONTRACT_STORAGE_PATH);
let airdrop_distributor_configuration = LoadConfiguration::default()
- .set_storage_configuration(airdrop_distributor_storage_configuration.unwrap());
-
- let simple_asset_storage_configuration =
- StorageConfiguration::load_from(ASSET_CONTRACT_STORAGE_PATH);
- let simple_asset_configuration = LoadConfiguration::default()
- .set_storage_configuration(simple_asset_storage_configuration.unwrap());
+ .with_storage_configuration(airdrop_distributor_storage_configuration.unwrap());
let airdrop_distributor_id = Contract::load_from(
DISTRIBUTOR_CONTRACT_BINARY_PATH,
airdrop_distributor_configuration,
)
.unwrap()
- .deploy(&wallet1, TxParameters::default())
+ .deploy(&wallet1, TxPolicies::default())
.await
.unwrap();
- let simple_asset_id =
- Contract::load_from(ASSET_CONTRACT_BINARY_PATH, simple_asset_configuration)
- .unwrap()
- .deploy(&wallet1, TxParameters::default())
- .await
- .unwrap();
-
let deployer = Metadata {
airdrop_distributor: AirdropDistributor::new(
airdrop_distributor_id.clone(),
@@ -351,12 +333,7 @@ pub(crate) async fn setup() -> (Metadata, Metadata, Metadata, Metadata, Asset) {
wallet: wallet4,
};
- let asset = Asset {
- asset: SimpleAsset::new(simple_asset_id.clone(), wallet1),
- asset_id: ContractId::new(*simple_asset_id.hash()),
- };
-
- (deployer, user1, user2, user3, asset)
+ (deployer, user1, user2, user3, airdrop_asset_id)
}
pub(crate) async fn get_wallet_balance(wallet: &WalletUnlocked, asset: &AssetId) -> u64 {
diff --git a/airdrop/project/fuel-toolchain.toml b/airdrop/project/fuel-toolchain.toml
index 85312ab11..e75c0bb58 100644
--- a/airdrop/project/fuel-toolchain.toml
+++ b/airdrop/project/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-07-18"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.42.1"
-fuel-core = "0.18.3"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/archive/AMM/project/test-utils/src/setup.rs b/archive/AMM/project/test-utils/src/setup.rs
index f4d53d248..1089ee31e 100644
--- a/archive/AMM/project/test-utils/src/setup.rs
+++ b/archive/AMM/project/test-utils/src/setup.rs
@@ -298,8 +298,8 @@ pub mod scripts {
provider,
wallet.address(),
*asset,
- if amounts.is_some() {
- *amounts.unwrap().get(asset_index).unwrap()
+ if let Some(amounts_) = amounts {
+ *amounts_.get(asset_index).unwrap()
} else {
MAXIMUM_INPUT_AMOUNT
},
diff --git a/auctions/english-auction/README.md b/auctions/english-auction/README.md
index 69064c033..22979bc46 100644
--- a/auctions/english-auction/README.md
+++ b/auctions/english-auction/README.md
@@ -6,14 +6,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/auctions/english-auction/project/Cargo.lock b/auctions/english-auction/project/Cargo.lock
index e0344c67f..aa430c0b9 100644
--- a/auctions/english-auction/project/Cargo.lock
+++ b/auctions/english-auction/project/Cargo.lock
@@ -58,6 +58,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
[[package]]
name = "android-tzdata"
version = "0.1.1"
@@ -232,18 +238,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "async-trait"
-version = "0.1.72"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -329,6 +335,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
+ "serde",
]
[[package]]
@@ -384,9 +391,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitvec"
@@ -428,12 +438,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
[[package]]
name = "bs58"
version = "0.4.0"
@@ -463,9 +467,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
@@ -484,17 +488,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
- "time 0.1.45",
"wasm-bindgen",
- "winapi",
+ "windows-targets",
]
[[package]]
@@ -539,7 +542,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -569,7 +572,7 @@ dependencies = [
"k256",
"lazy_static",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -586,7 +589,7 @@ dependencies = [
"once_cell",
"pbkdf2 0.12.2",
"rand",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -605,7 +608,7 @@ dependencies = [
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
]
@@ -648,7 +651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.23",
+ "time",
"version_check",
]
@@ -665,7 +668,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "time 0.3.23",
+ "time",
"url",
]
@@ -798,6 +801,33 @@ dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "cynic"
version = "2.2.8"
@@ -983,6 +1013,27 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2 0.10.8",
+ "subtle",
+]
+
[[package]]
name = "either"
version = "1.9.0"
@@ -991,9 +1042,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -1034,7 +1085,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1080,12 +1131,18 @@ dependencies = [
"scrypt",
"serde",
"serde_json",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -1117,6 +1174,12 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -1146,23 +1209,28 @@ dependencies = [
[[package]]
name = "fuel-abi-types"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99a7aeb41cdabffa38418b00fd57b5571dc58ee5af606e845a088befecd36"
+checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
+ "itertools 0.10.5",
"lazy_static",
+ "proc-macro2",
+ "quote",
"regex",
"serde",
+ "serde_json",
+ "syn 2.0.39",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1331be83ba8ce8fa9217272b2709bbe29a01daff5fe7ef58ba1b64ec18fe40c0"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"fuel-types",
"serde",
"strum",
@@ -1170,9 +1238,9 @@ dependencies = [
[[package]]
name = "fuel-core"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c978d128cd4cc73675a5424a67c5c0dbb70fbb52bb6e5d1bf38664f966e369d"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
dependencies = [
"anyhow",
"async-graphql",
@@ -1186,6 +1254,7 @@ dependencies = [
"fuel-core-database",
"fuel-core-executor",
"fuel-core-importer",
+ "fuel-core-metrics",
"fuel-core-poa",
"fuel-core-producer",
"fuel-core-services",
@@ -1195,7 +1264,8 @@ dependencies = [
"futures",
"hex",
"hyper",
- "itertools",
+ "itertools 0.10.5",
+ "parking_lot",
"postcard",
"primitive-types",
"rand",
@@ -1208,22 +1278,22 @@ dependencies = [
"tokio-stream",
"tower-http",
"tracing",
+ "uuid 1.6.1",
]
[[package]]
name = "fuel-core-chain-config"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e533fa1f86ae96579f4394205a7dfbad31715043f7119a82aa7a14effaed3a17"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
dependencies = [
"anyhow",
"bech32 0.9.1",
"fuel-core-storage",
"fuel-core-types",
"hex",
- "itertools",
+ "itertools 0.10.5",
"postcard",
- "rand",
"serde",
"serde_json",
"serde_with 1.14.0",
@@ -1232,9 +1302,9 @@ dependencies = [
[[package]]
name = "fuel-core-client"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a6bf1c0a6e6acf848f4b994e0b91c96c4f443f71d26f437642d135d5d71d3d"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
dependencies = [
"anyhow",
"cynic",
@@ -1244,8 +1314,9 @@ dependencies = [
"futures",
"hex",
"hyper-rustls 0.24.1",
- "itertools",
+ "itertools 0.10.5",
"reqwest",
+ "schemafy_lib",
"serde",
"serde_json",
"tai64",
@@ -1255,9 +1326,9 @@ dependencies = [
[[package]]
name = "fuel-core-consensus-module"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10dfa90f07cd210da9e16c61f5405a9d5c71a701848e6f9e01a1568b3b8c0f91"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1268,21 +1339,21 @@ dependencies = [
[[package]]
name = "fuel-core-database"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5b8f8f12e8b7dfa5e68ee32cbecfba2e8aa2a06b930fd181f0b4ae71652484"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
]
[[package]]
name = "fuel-core-executor"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0dc752bfd46dee5ab51fd46f13858b9aa85865ba76d180c9c8e3cc0b25949b"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1292,36 +1363,39 @@ dependencies = [
[[package]]
name = "fuel-core-importer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0989eb91e18f3541b7a690ed3bca92521939e80f507a08ce0fd6d8bf34cf1eb"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
dependencies = [
"anyhow",
+ "derive_more",
+ "fuel-core-metrics",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tracing",
]
[[package]]
name = "fuel-core-metrics"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401e1a1187a91f1df5808c8416137623f119f058f6c6e2710d43c58744e9fa14"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
dependencies = [
"axum",
- "lazy_static",
"once_cell",
+ "pin-project-lite",
"prometheus-client 0.18.1",
"prometheus-client 0.20.0",
+ "regex",
+ "tracing",
]
[[package]]
name = "fuel-core-poa"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e15616957477d7c37f5845d58abcb13f8ab9a7f526a499a795bb7b8618c6e238"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
dependencies = [
"anyhow",
"async-trait",
@@ -1336,15 +1410,15 @@ dependencies = [
[[package]]
name = "fuel-core-producer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df203c0e56c1827831a363e895aea7c9c642c18f1a57adbdd8ac6c4e115231dc"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
"async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tokio-rayon",
"tracing",
@@ -1352,12 +1426,13 @@ dependencies = [
[[package]]
name = "fuel-core-services"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecc615cb429744e1783db0d5b30dd01ec0d73c675f47964e62edc1f01b40ac2"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
"async-trait",
+ "fuel-core-metrics",
"futures",
"parking_lot",
"tokio",
@@ -1366,21 +1441,21 @@ dependencies = [
[[package]]
name = "fuel-core-storage"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ed1d03eb74feb0ea8538ab557e52c7bc4f1a1c3aaafba9076038da256d86920"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
]
[[package]]
name = "fuel-core-txpool"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d563ceae0ed89ed34f78a7835d15a40ef9d35c9b260b622049335e6c8deb884f"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
dependencies = [
"anyhow",
"async-trait",
@@ -1389,17 +1464,19 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
+ "futures",
"parking_lot",
"tokio",
+ "tokio-rayon",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059da83a7e012a438c9962cbfe1e1b2d3e04f67a75d5be8899009b6456b04002"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -1413,55 +1490,73 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb3f73571a03523cb92826003753ff1bdd1882767e67801de223ce3ad6133349"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
+ "k256",
"lazy_static",
+ "p256",
"rand",
"secp256k1",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"zeroize",
]
+[[package]]
+name = "fuel-derive"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "synstructure",
+]
+
[[package]]
name = "fuel-merkle"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5646d95e02a63fd59da942fcf5d6217dbd8b6866c1ad3a0232be0913c4d077"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
dependencies = [
+ "derive_more",
"digest 0.10.7",
"fuel-storage",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.7",
- "thiserror",
+ "serde",
+ "sha2 0.10.8",
]
[[package]]
name = "fuel-storage"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b72444da90354b6d1d220b81c6803085689f5e7d53e1d4bd11cfa3d4c5a1b27"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
[[package]]
name = "fuel-tx"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04187579ecfbb04a380c60f9eecae1a288dbe463c111dc7dde66fa736445a638"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-types",
- "itertools",
- "num-integer",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
"rand",
"serde",
"serde_json",
@@ -1471,10 +1566,11 @@ dependencies = [
[[package]]
name = "fuel-types"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6543ca2f5124a19b1486507243188a57be64c9914d1908e154a1866eeffb69"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
"rand",
"serde",
@@ -1482,31 +1578,40 @@ dependencies = [
[[package]]
name = "fuel-vm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d42e99fe69e913bbde4900f96efb6ceae13b68d369bf22d4b435571d6ed7d65"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags 1.3.2",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-storage",
"fuel-tx",
"fuel-types",
- "itertools",
- "rand",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
"sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
]
[[package]]
name = "fuels"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa0bee7463c6bee4920c60315492a25a3026f1a68d15570cef7b470b04ecdf9"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
"fuel-core",
"fuel-core-client",
@@ -1516,17 +1621,15 @@ dependencies = [
"fuels-macros",
"fuels-programs",
"fuels-test-helpers",
- "fuels-types",
]
[[package]]
name = "fuels-accounts"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28dad265d8fc612aaef2a4c1fa8bb14d77541575a6d2de6d26e66acc94afdaae"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes",
"chrono",
"elliptic-curve",
"eth-keystore",
@@ -1536,148 +1639,121 @@ dependencies = [
"fuel-types",
"fuel-vm",
"fuels-core",
- "fuels-types",
"hex",
- "itertools",
"rand",
- "serde",
- "sha2 0.10.7",
+ "semver",
"tai64",
"thiserror",
"tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97e7b697abfac23b3505fa3136bb3e910ed664caa58d1efcb6e11644aa95d8aa"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-core"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d565f3c3c2974616984149c0440e03aadd600abe29e6268d41ebbdf21ae89915"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
+ "bech32 0.9.1",
+ "chrono",
+ "fuel-abi-types",
+ "fuel-asm",
+ "fuel-core-chain-config",
+ "fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
- "fuels-types",
+ "fuels-macros",
"hex",
- "itertools",
- "sha2 0.10.7",
+ "itertools 0.12.0",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396b1007bf06f788b47bc710f53bce2cf5c74c32cf072baeae46abfbba1b5c33"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"rand",
- "regex",
- "serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-programs"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf6c51214d91115708cea3c7ea62e447623305b281c341f5ed6a18a14ab40f8e"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
"bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "fuels-types",
- "hex",
- "itertools",
- "proc-macro2",
+ "itertools 0.12.0",
"rand",
- "regex",
- "serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
- "thiserror",
"tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cac950d5fb1a182c897135e68337e750dd8a48e35dd3849a9fc2d602eb55035"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
"fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
- "fuels-types",
+ "fuels-core",
"futures",
"hex",
"portpicker",
"rand",
"serde",
"serde_json",
- "serde_with 2.3.3",
+ "serde_with 3.4.0",
"tempfile",
"tokio",
"which",
]
-[[package]]
-name = "fuels-types"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e94e08cfab823b1a6ed2830fe22067dd7112f0fe5228bec23d4e95cefebcfe"
-dependencies = [
- "bech32 0.9.1",
- "chrono",
- "fuel-abi-types",
- "fuel-asm",
- "fuel-core-chain-config",
- "fuel-core-client",
- "fuel-tx",
- "fuel-types",
- "fuels-macros",
- "hex",
- "itertools",
- "proc-macro2",
- "regex",
- "serde",
- "serde_json",
- "strum",
- "strum_macros",
- "thiserror",
-]
-
[[package]]
name = "funty"
version = "2.0.0"
@@ -1740,7 +1816,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1793,7 +1869,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
@@ -1872,6 +1948,11 @@ name = "hashbrown"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
[[package]]
name = "heapless"
@@ -1917,6 +1998,15 @@ dependencies = [
"digest 0.10.7",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
[[package]]
name = "http"
version = "0.2.9"
@@ -1974,7 +2064,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -2163,6 +2253,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -2188,7 +2287,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"once_cell",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"signature",
]
@@ -2209,15 +2308,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "lock_api"
@@ -2249,9 +2354,9 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "memoffset"
@@ -2279,12 +2384,12 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"windows-sys",
]
@@ -2306,16 +2411,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.16"
@@ -2362,6 +2457,18 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "parity-scale-codec"
version = "3.6.4"
@@ -2406,11 +2513,17 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"smallvec",
"windows-targets",
]
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
[[package]]
name = "pbkdf2"
version = "0.11.0"
@@ -2463,14 +2576,14 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -2488,6 +2601,12 @@ dependencies = [
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
@@ -2514,6 +2633,15 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
+dependencies = [
+ "elliptic-curve",
+]
+
[[package]]
name = "primitive-types"
version = "0.12.1"
@@ -2537,9 +2665,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
dependencies = [
"unicode-ident",
]
@@ -2608,9 +2736,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.32"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@@ -2688,11 +2816,20 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "regex"
-version = "1.9.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -2702,9 +2839,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.3"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -2713,9 +2850,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -2815,11 +2952,11 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.4"
+version = "0.38.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
@@ -2934,6 +3071,32 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
+]
+
[[package]]
name = "scopeguard"
version = "1.2.0"
@@ -2949,7 +3112,7 @@ dependencies = [
"hmac",
"pbkdf2 0.11.0",
"salsa20",
- "sha2 0.10.7",
+ "sha2 0.10.8",
]
[[package]]
@@ -3039,35 +3202,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.175"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.175"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -3098,9 +3261,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "2.3.3"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
]
@@ -3132,9 +3295,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -3195,6 +3358,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -3279,9 +3452,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.27"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -3294,6 +3467,18 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -3311,46 +3496,35 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.7.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand",
- "redox_syscall",
+ "redox_syscall 0.4.1",
"rustix",
"windows-sys",
]
[[package]]
name = "thiserror"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "syn 2.0.39",
]
[[package]]
@@ -3397,11 +3571,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.29.1"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
- "autocfg",
"backtrace",
"bytes",
"libc",
@@ -3410,7 +3583,7 @@ dependencies = [
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys",
]
@@ -3427,13 +3600,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3540,6 +3713,7 @@ dependencies = [
"http-body",
"http-range-header",
"pin-project-lite",
+ "tokio",
"tower",
"tower-layer",
"tower-service",
@@ -3579,7 +3753,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3654,6 +3828,12 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -3696,6 +3876,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3717,12 +3906,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -3750,7 +3933,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
@@ -3784,7 +3967,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -3845,13 +4028,15 @@ dependencies = [
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix",
+ "windows-sys",
]
[[package]]
@@ -3995,5 +4180,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
diff --git a/auctions/english-auction/project/Forc.lock b/auctions/english-auction/project/Forc.lock
index 38194841c..f56173fdd 100644
--- a/auctions/english-auction/project/Forc.lock
+++ b/auctions/english-auction/project/Forc.lock
@@ -1,29 +1,13 @@
[[package]]
-name = 'NFT'
-source = 'member'
-dependencies = [
- 'nft',
- 'std',
-]
+name = "auction-contract"
+source = "member"
+dependencies = ["std"]
[[package]]
-name = 'auction-contract'
-source = 'member'
-dependencies = [
- 'nft',
- 'std',
-]
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'core'
-source = 'path+from-root-9BFE6D5D0CBDF740'
-
-[[package]]
-name = 'nft'
-source = 'git+https://github.com/FuelLabs/sway-libs?tag=v0.12.0#063f118a3104adb6a04207ca877993b5ad03a492'
-dependencies = ['std']
-
-[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.42.1#3b66f8e424bd21e3ba467783b10b36e808cfa6ee'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
diff --git a/auctions/english-auction/project/Forc.toml b/auctions/english-auction/project/Forc.toml
index fc7a96d9c..a5094337d 100644
--- a/auctions/english-auction/project/Forc.toml
+++ b/auctions/english-auction/project/Forc.toml
@@ -1,2 +1,2 @@
[workspace]
-members = ["./contracts/auction-contract", "./contracts/test-artifacts/NFT"]
+members = ["./contracts/auction-contract"]
diff --git a/auctions/english-auction/project/contracts/auction-contract/Cargo.toml b/auctions/english-auction/project/contracts/auction-contract/Cargo.toml
index 2ee30a124..bebc74496 100644
--- a/auctions/english-auction/project/contracts/auction-contract/Cargo.toml
+++ b/auctions/english-auction/project/contracts/auction-contract/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
license = "Apache-2.0"
[dependencies]
-fuels = { version = "0.42.0", features = ["fuel-core-lib"] }
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
tokio = { version = "1.12", features = ["rt", "macros"] }
[[test]]
diff --git a/auctions/english-auction/project/contracts/auction-contract/Forc.toml b/auctions/english-auction/project/contracts/auction-contract/Forc.toml
index b0c40d4c4..667bd6b34 100644
--- a/auctions/english-auction/project/contracts/auction-contract/Forc.toml
+++ b/auctions/english-auction/project/contracts/auction-contract/Forc.toml
@@ -3,6 +3,3 @@ authors = ["Fuel Labs "]
entry = "main.sw"
license = "Apache-2.0"
name = "auction-contract"
-
-[dependencies]
-nft = { git = "https://github.com/FuelLabs/sway-libs", tag = "v0.12.0" }
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/data_structures.sw b/auctions/english-auction/project/contracts/auction-contract/src/data_structures.sw
index b5bd6e04b..cd86c4a8f 100644
--- a/auctions/english-auction/project/contracts/auction-contract/src/data_structures.sw
+++ b/auctions/english-auction/project/contracts/auction-contract/src/data_structures.sw
@@ -1,8 +1,4 @@
library;
-pub mod traits;
-pub mod nft_asset;
-pub mod token_asset;
-pub mod auction_asset;
pub mod state;
pub mod auction;
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction.sw b/auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction.sw
index 1c9a2de67..22adf0caf 100644
--- a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction.sw
+++ b/auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction.sw
@@ -1,12 +1,14 @@
library;
-use ::data_structures::{auction_asset::AuctionAsset, state::State};
+use ::data_structures::state::State;
pub struct Auction {
/// The asset which will be accepted in return for the selling asset.
- bid_asset: AuctionAsset,
+ bid_asset: AssetId,
/// The block at which the auction's bidding period should end.
- end_block: u64,
+ end_block: u32,
+ /// The current highest bid.
+ highest_bid: u64,
/// The current highest bidder of the auction.
highest_bidder: Option,
/// The starting price for the auction.
@@ -14,7 +16,9 @@ pub struct Auction {
/// The price at which the selling asset may be bought outright.
reserve_price: Option,
/// The asset that is being auctioned off.
- sell_asset: AuctionAsset,
+ sell_asset: AssetId,
+ /// The amount of the asset that is being auctioned off.
+ sell_asset_amount: u64,
/// The seller of the auction.
seller: Identity,
/// The state of the auction describing if it is open or closed.
@@ -26,27 +30,31 @@ impl Auction {
///
/// # Arguments
///
- /// * `bid_asset`: [AuctionAsset] - The asset which will be accepted in return for the selling asset.
- /// * `end_block`: [u64] - The block at which the auction's bidding period should end.
+ /// * `bid_asset`: [AssetId] - The asset which will be accepted in return for the selling asset.
+ /// * `end_block`: [u32] - The block at which the auction's bidding period should end.
/// * `initial_price`: [u64] - The starting price for the auction.
/// * `reserve_price`: [Option] - The price at which the selling asset may be bought outright.
- /// * `sell_asset`: [AuctionAsset] - The asset that is being auctioned off.
+ /// * `sell_asset`: [AssetId] - The asset that is being auctioned off.
+ /// * `sell_asset_amount`: [u64] - The amount of the asset that is being auctioned off.
/// * `seller`: [Identity] - The seller of the auction.
pub fn new(
- bid_asset: AuctionAsset,
- end_block: u64,
+ bid_asset: AssetId,
+ end_block: u32,
initial_price: u64,
reserve_price: Option,
- sell_asset: AuctionAsset,
+ sell_asset: AssetId,
+ sell_asset_amount: u64,
seller: Identity,
) -> Self {
Auction {
bid_asset,
end_block,
+ highest_bid: 0,
highest_bidder: Option::None,
initial_price,
reserve_price,
sell_asset,
+ sell_asset_amount,
seller,
state: State::Open,
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction_asset.sw b/auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction_asset.sw
deleted file mode 100644
index e15370219..000000000
--- a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/auction_asset.sw
+++ /dev/null
@@ -1,134 +0,0 @@
-library;
-
-use ::data_structures::{nft_asset::NFTAsset, token_asset::TokenAsset, traits::Asset};
-
-/// An enum that represents an asset to be sold at auction.
-pub enum AuctionAsset {
- /// An NFT asset.
- NFTAsset: NFTAsset,
- /// A token asset.
- TokenAsset: TokenAsset,
-}
-
-impl Asset for AuctionAsset {
- /// Returns the amount of assets represented by this AuctionAsset.
- ///
- /// # Returns
- ///
- /// * [u64] - The amount of assets represented by this AuctionAsset.
- fn amount(self) -> u64 {
- match self {
- AuctionAsset::NFTAsset(nft_asset) => {
- nft_asset.amount()
- },
- AuctionAsset::TokenAsset(token_asset) => {
- token_asset.amount()
- },
- }
- }
-
- /// Returns the AssetId of the asset represented by this AuctionAsset.
- ///
- /// # Returns
- ///
- /// * [ContractId] - The AssetId of the asset represented by this AuctionAsset.
- fn asset_id(self) -> ContractId {
- match self {
- AuctionAsset::NFTAsset(nft_asset) => {
- nft_asset.asset_id()
- },
- AuctionAsset::TokenAsset(token_asset) => {
- token_asset.asset_id()
- },
- }
- }
-}
-
-// Formatting error here as described by: https://github.com/FuelLabs/sway/issues/3131
-impl core::ops::Add for AuctionAsset {
- fn add(self, other: Self) -> Self {
- match (self, other) {
- (
- AuctionAsset::NFTAsset(nft_asset1),
- AuctionAsset::NFTAsset(nft_asset2),
- ) => {
- AuctionAsset::NFTAsset(nft_asset1 + nft_asset2)
- }
- (
- AuctionAsset::TokenAsset(token_asset1),
- AuctionAsset::TokenAsset(token_asset2),
- ) => {
- AuctionAsset::TokenAsset(token_asset1 + token_asset2)
- },
- _ => {
- revert(0);
- },
- }
- }
-}
-
-// Formatting error here as described by: https://github.com/FuelLabs/sway/issues/3131
-impl core::ops::Eq for AuctionAsset {
- fn eq(self, other: Self) -> bool {
- match (self, other) {
- (
- AuctionAsset::NFTAsset(nft_asset1),
- AuctionAsset::NFTAsset(nft_asset2),
- ) => {
- nft_asset1 == nft_asset2
- },
- (
- AuctionAsset::TokenAsset(token_asset1),
- AuctionAsset::TokenAsset(token_asset2),
- ) => {
- token_asset1 == token_asset2
- },
- _ => {
- false
- },
- }
- }
-}
-
-// Formatting error here as described by: https://github.com/FuelLabs/sway/issues/3131
-impl core::ops::Ord for AuctionAsset {
- fn gt(self, other: Self) -> bool {
- match (self, other) {
- (
- AuctionAsset::NFTAsset(nft_asset1),
- AuctionAsset::NFTAsset(nft_asset2),
- ) => {
- nft_asset1 > nft_asset2
- },
- (
- AuctionAsset::TokenAsset(token_asset1),
- AuctionAsset::TokenAsset(token_asset2),
- ) => {
- token_asset1 > token_asset2
- },
- _ => {
- revert(0);
- },
- }
- }
-
- fn lt(self, other: Self) -> bool {
- match (self, other) {
- (
- AuctionAsset::NFTAsset(nft_asset1),
- AuctionAsset::NFTAsset(nft_asset2),
- ) => {
- nft_asset1 < nft_asset2
- },
- (
- AuctionAsset::TokenAsset(token_asset1),
- AuctionAsset::TokenAsset(token_asset2),
- ) => {
- token_asset1 < token_asset2
- },
- _ => {
- revert(0);
- },
- }
- }
-}
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/nft_asset.sw b/auctions/english-auction/project/contracts/auction-contract/src/data_structures/nft_asset.sw
deleted file mode 100644
index f3464876f..000000000
--- a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/nft_asset.sw
+++ /dev/null
@@ -1,75 +0,0 @@
-library;
-
-use ::errors::AssetError;
-use ::data_structures::traits::Asset;
-
-/// Represents an NFT asset.
-pub struct NFTAsset {
- /// The `ContractId` of the NFT that the struct is representing.
- asset_id: ContractId,
- /// The token id of the NFT that the struct is representing.
- token_id: u64,
-}
-
-impl NFTAsset {
- /// Creates a new `NFTAsset` struct.
- ///
- /// # Arguments
- ///
- /// * `asset_id`: [ContractId] - The AssetId of the NFT that the struct is representing.
- /// * `token_id`: [u64] - The token id of the NFT that the struct is representing.
- ///
- /// # Returns
- ///
- /// * [NFTAsset] - The newly created `NFTAsset` struct.
- fn new(asset_id: ContractId, token_id: u64) -> Self {
- Self {
- asset_id,
- token_id,
- }
- }
-
- /// Returns the token_id of the NFT that the struct is representing.
- ///
- /// # Returns
- ///
- /// * [u64] - The token id of the NFT that the struct is representing.
- pub fn token_id(self) -> u64 {
- self.token_id
- }
-}
-
-impl Asset for NFTAsset {
- fn amount(self) -> u64 {
- // TODO: This should return the number of tokens when StorageVec in structs is supported
- 1
- }
-
- fn asset_id(self) -> ContractId {
- self.asset_id
- }
-}
-
-impl core::ops::Add for NFTAsset {
- fn add(self, other: Self) -> Self {
- // TODO: This should be implemented once StorageVec in structs is supported
- self
- }
-}
-
-impl core::ops::Eq for NFTAsset {
- fn eq(self, other: Self) -> bool {
- self.asset_id() == other.asset_id()
- }
-}
-
-impl core::ops::Ord for NFTAsset {
- fn gt(self, other: Self) -> bool {
- // TODO: This should be implemented once StorageVec in structs is supported
- false
- }
- fn lt(self, other: Self) -> bool {
- // TODO: This should be implemented once StorageVec in structs is supported
- false
- }
-}
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/token_asset.sw b/auctions/english-auction/project/contracts/auction-contract/src/data_structures/token_asset.sw
deleted file mode 100644
index 02a029f95..000000000
--- a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/token_asset.sw
+++ /dev/null
@@ -1,65 +0,0 @@
-library;
-
-use ::errors::AssetError;
-use ::data_structures::traits::Asset;
-
-/// Represents a token asset.
-pub struct TokenAsset {
- /// The amount of the native asset that the struct is representing.
- amount: u64,
- /// The id of the native asset that the struct is representing.
- asset_id: ContractId,
-}
-
-impl TokenAsset {
- /// Creates a new `TokenAsset` struct.
- ///
- /// # Arguments
- ///
- /// * `amount`: [u64] - The amount of tokens that the struct is representing.
- /// * `asset_id`: [ContractId] - The AssetId of the token that the struct is representing.
- ///
- /// # Returns
- ///
- /// * [TokenAsset] - The newly created `TokenAsset` struct.
- fn new(amount: u64, asset_id: ContractId) -> Self {
- Self {
- amount,
- asset_id,
- }
- }
-}
-
-impl Asset for TokenAsset {
- fn amount(self) -> u64 {
- self.amount
- }
-
- fn asset_id(self) -> ContractId {
- self.asset_id
- }
-}
-
-impl core::ops::Add for TokenAsset {
- fn add(self, other: Self) -> Self {
- require(self.asset_id() == other.asset_id(), AssetError::AssetsAreNotTheSame);
- TokenAsset::new(self.amount() + other.amount(), self.asset_id())
- }
-}
-
-impl core::ops::Eq for TokenAsset {
- fn eq(self, other: Self) -> bool {
- self.asset_id() == other.asset_id()
- }
-}
-
-impl core::ops::Ord for TokenAsset {
- fn gt(self, other: Self) -> bool {
- require(self.asset_id() == other.asset_id(), AssetError::AssetsAreNotTheSame);
- self.amount() > other.amount()
- }
- fn lt(self, other: Self) -> bool {
- require(self.asset_id() == other.asset_id(), AssetError::AssetsAreNotTheSame);
- self.amount() < other.amount()
- }
-}
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/traits.sw b/auctions/english-auction/project/contracts/auction-contract/src/data_structures/traits.sw
deleted file mode 100644
index 843edd9cf..000000000
--- a/auctions/english-auction/project/contracts/auction-contract/src/data_structures/traits.sw
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-
-/// A trait for assets that can be transferred between accounts.
-pub trait Asset {
- /// Returns the amount of the asset.
- ///
- /// # Returns
- ///
- /// * [u64] - The amount of the asset.
- fn amount(self) -> u64;
-
- /// Returns the AssetId of the asset.
- ///
- /// # Returns
- ///
- /// * [AssetId] - The AssetId of the asset.
- fn asset_id(self) -> ContractId;
-}
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/errors.sw b/auctions/english-auction/project/contracts/auction-contract/src/errors.sw
index 2ad305d38..c0914326e 100644
--- a/auctions/english-auction/project/contracts/auction-contract/src/errors.sw
+++ b/auctions/english-auction/project/contracts/auction-contract/src/errors.sw
@@ -6,26 +6,14 @@ pub enum AccessError {
AuctionIsNotClosed: (),
/// The auction is not yet open.
AuctionIsNotOpen: (),
- /// The NFT transfer is not approved by the owner.
- NFTTransferNotApproved: (),
/// The sender is not the auction seller.
SenderIsNotSeller: (),
}
-/// Errors related to assets.
-pub enum AssetError {
- /// The assets are not the same.
- AssetsAreNotTheSame: (),
-}
-
/// Errors related to the initialization of the auction.
pub enum InitError {
/// The auction duration is not provided.
AuctionDurationNotProvided: (),
- /// The amount of tokens being auctioned cannot be zero.
- BidAssetAmountNotZero: (),
- /// Only one NFT can be auctioned at a time.
- CannotAcceptMoreThanOneNFT: (),
/// The initial price cannot be zero.
InitialPriceCannotBeZero: (),
/// The reserve price cannot be lower than the initial price.
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/events.sw b/auctions/english-auction/project/contracts/auction-contract/src/events.sw
index 12cb1caff..8b296be3d 100644
--- a/auctions/english-auction/project/contracts/auction-contract/src/events.sw
+++ b/auctions/english-auction/project/contracts/auction-contract/src/events.sw
@@ -1,6 +1,6 @@
library;
-use ::data_structures::{auction::Auction, auction_asset::AuctionAsset};
+use ::data_structures::auction::Auction;
/// Event for when an auction is cancelled.
pub struct CancelAuctionEvent {
@@ -13,9 +13,11 @@ pub struct CreateAuctionEvent {
/// The auction id of the auction that was created.
auction_id: u64,
/// The asset in which bids will be recieved.
- bid_asset: AuctionAsset,
+ bid_asset: AssetId,
/// The asset to be sold.
- sell_asset: AuctionAsset,
+ sell_asset: AssetId,
+ /// The amount of the asset being sold.
+ sell_asset_amount: u64,
}
/// Event for when a bid is placed.
@@ -31,7 +33,9 @@ pub struct BidEvent {
/// Event for when assets are withdrawn.
pub struct WithdrawEvent {
/// The asset that was withdrawn.
- asset: AuctionAsset,
+ asset: AssetId,
+ /// The amount of the asset that is withdrawn.
+ asset_amount: u64,
/// The auction id of the auction that was withdrawn from.
auction_id: u64,
/// The user that withdrew the asset.
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/interface.sw b/auctions/english-auction/project/contracts/auction-contract/src/interface.sw
index f51c0aef5..7e279f08c 100644
--- a/auctions/english-auction/project/contracts/auction-contract/src/interface.sw
+++ b/auctions/english-auction/project/contracts/auction-contract/src/interface.sw
@@ -1,6 +1,6 @@
library;
-use ::data_structures::{auction::Auction, auction_asset::AuctionAsset};
+use ::data_structures::auction::Auction;
abi EnglishAuction {
/// Places a bid on the specified auction.
@@ -8,7 +8,6 @@ abi EnglishAuction {
/// # Arguments
///
/// * `auction_id`: [u64] - The id number of the auction.
- /// * `bid_asset`: [AuctionAsset] - An asset that is either a `TokenAsset` struct or a `NFTAsset` struct.
///
/// # Reverts
///
@@ -25,7 +24,7 @@ abi EnglishAuction {
/// * When the bidder's total deposits are greater than the reserve price.
#[payable]
#[storage(read, write)]
- fn bid(auction_id: u64, bid_asset: AuctionAsset);
+ fn bid(auction_id: u64);
/// Cancels the specified auction.
///
@@ -49,12 +48,11 @@ abi EnglishAuction {
///
/// # Arguments
///
- /// `bid_asset`: [AuctionAsset] - The asset the seller is willing to accept in return for the selling asset.
- /// `duration`: [u64] - The duration of time the auction should be open.
+ /// `bid_asset`: [AssetId] - The asset the seller is willing to accept in return for the selling asset.
+ /// `duration`: [u32] - The duration of time the auction should be open.
/// `initial_price`: [u64] - The starting price at which the auction should start.
/// `reserve_price`: [Option] - The price at which a buyer may purchase the `sell_asset` outright.
/// `seller`: [Identity] - The seller for this auction.
- /// `sell_asset`: [AuctionAsset] - The enum that contains information about what is being auctioned off.
///
/// # Returns
///
@@ -72,7 +70,13 @@ abi EnglishAuction {
/// * When transfering of the NFT asset to the contract failed.
#[payable]
#[storage(read, write)]
- fn create(bid_asset: AuctionAsset, duration: u64, inital_price: u64, reserve_price: Option, seller: Identity, sell_asset: AuctionAsset) -> u64;
+ fn create(
+ bid_asset: AssetId,
+ duration: u32,
+ inital_price: u64,
+ reserve_price: Option,
+ seller: Identity,
+ ) -> u64;
/// Allows users to withdraw their owed assets if the auction's bid period has ended, the
/// reserve has been met, or the auction has been canceled.
@@ -115,6 +119,11 @@ abi Info {
/// Returns the balance of the user's deposits for the specified auction.
///
+ /// # Additional Information
+ ///
+ /// This amount will represent the bidding asset amount for bidders and the
+ /// selling asset for the seller.
+ ///
/// # Arguments
///
/// * `auction_id`: [u64] - The id number of the auction.
@@ -122,9 +131,9 @@ abi Info {
///
/// # Returns
///
- /// * [Option] - The amount of assets the user has deposited.
+ /// * [Option] - The amount of assets the user has deposited for that auction.
#[storage(read)]
- fn deposit_balance(auction_id: u64, identity: Identity) -> Option;
+ fn deposit_balance(auction_id: u64, identity: Identity) -> Option;
/// Returns the total auctions which have been started using this auction contract.
///
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/main.sw b/auctions/english-auction/project/contracts/auction-contract/src/main.sw
index 3dcf00e60..b4fcc1e73 100644
--- a/auctions/english-auction/project/contracts/auction-contract/src/main.sw
+++ b/auctions/english-auction/project/contracts/auction-contract/src/main.sw
@@ -4,22 +4,21 @@ mod errors;
mod data_structures;
mod events;
mod interface;
-mod utils;
-use ::data_structures::{auction::Auction, auction_asset::AuctionAsset, state::State};
+use ::data_structures::{auction::Auction, state::State};
use ::errors::{AccessError, InitError, InputError, UserError};
use ::events::{BidEvent, CancelAuctionEvent, CreateAuctionEvent, WithdrawEvent};
use ::interface::{EnglishAuction, Info};
use std::{
- auth::msg_sender,
+ asset::transfer,
block::height,
call_frames::{
contract_id,
msg_asset_id,
},
context::msg_amount,
+ hash::Hash,
};
-use ::utils::{transfer_asset, transfer_nft};
storage {
/// Stores the auction information based on auction ID.
@@ -29,7 +28,7 @@ storage {
// This issue can be tracked here: https://github.com/FuelLabs/sway/issues/2465
/// Stores the deposits made based on the user and auction ID.
/// Map((user, auction id) => deposit)
- deposits: StorageMap<(Identity, u64), AuctionAsset> = StorageMap {},
+ deposits: StorageMap<(Identity, u64), u64> = StorageMap {},
/// The total number of auctions that have ever been created.
total_auctions: u64 = 0,
}
@@ -37,64 +36,71 @@ storage {
impl EnglishAuction for Contract {
#[payable]
#[storage(read, write)]
- fn bid(auction_id: u64, bid_asset: AuctionAsset) {
+ fn bid(auction_id: u64) {
let auction = storage.auctions.get(auction_id).try_read();
require(auction.is_some(), InputError::AuctionDoesNotExist);
let mut auction = auction.unwrap();
let sender = msg_sender().unwrap();
+ let bid_asset = msg_asset_id();
+ let bid_amount = msg_amount();
require(sender != auction.seller, UserError::BidderIsSeller);
- require(auction.state == State::Open && auction.end_block >= height(), AccessError::AuctionIsNotOpen);
- require(bid_asset == auction.bid_asset, InputError::IncorrectAssetProvided);
+ require(
+ auction
+ .state == State::Open && auction
+ .end_block >= height(),
+ AccessError::AuctionIsNotOpen,
+ );
+ require(
+ bid_asset == auction
+ .bid_asset,
+ InputError::IncorrectAssetProvided,
+ );
// Combine the user's previous deposits and the current bid for the
// total deposits to the auction the user has made
- let sender_deposit = storage.deposits.get((sender, auction_id)).try_read();
- let total_bid = match sender_deposit {
- Option::Some(_) => {
- bid_asset + sender_deposit.unwrap()
+ let total_bid = match storage.deposits.get((sender, auction_id)).try_read() {
+ Some(sender_deposit) => {
+ bid_amount + sender_deposit
},
- Option::None => {
- bid_asset
+ None => {
+ bid_amount
}
};
- match total_bid {
- AuctionAsset::NFTAsset(nft_asset) => {
- transfer_nft(nft_asset, Identity::ContractId(contract_id()));
- // TODO: Remove this once StorageVec is supported in structs
- auction.state = State::Closed;
- },
- AuctionAsset::TokenAsset(token_asset) => {
- require(bid_asset.amount() == msg_amount(), InputError::IncorrectAmountProvided);
- require(bid_asset.asset_id() == msg_asset_id(), InputError::IncorrectAssetProvided);
- // Ensure this bid is greater than initial bid and the total deposits are greater
- // than the current winning bid
- // TODO: Move this outside the match statement once StorageVec is supported in structs
- // This issue can be tracked here: https://github.com/FuelLabs/sway/issues/2465
- require(token_asset.amount() >= auction.initial_price, InputError::InitialPriceNotMet);
- require(token_asset.amount() > auction.bid_asset.amount(), InputError::IncorrectAmountProvided);
- }
- }
+ require(
+ total_bid >= auction
+ .initial_price,
+ InputError::InitialPriceNotMet,
+ );
+ require(
+ total_bid > auction
+ .highest_bid,
+ InputError::IncorrectAmountProvided,
+ );
// Check if reserve has been met if there is one set
if auction.reserve_price.is_some() {
// The bid cannot be greater than the reserve price
- require(auction.reserve_price.unwrap() >= total_bid.amount(), InputError::IncorrectAmountProvided);
+ let reserve_price = auction.reserve_price.unwrap();
+ require(
+ reserve_price >= total_bid,
+ InputError::IncorrectAmountProvided,
+ );
- if auction.reserve_price.unwrap() == total_bid.amount() {
+ if reserve_price == total_bid {
auction.state = State::Closed;
}
}
// Update the auction's information and store the new state
auction.highest_bidder = Option::Some(sender);
- auction.bid_asset = total_bid;
- storage.deposits.insert((sender, auction_id), auction.bid_asset);
+ auction.highest_bid = total_bid;
+ storage.deposits.insert((sender, auction_id), total_bid);
storage.auctions.insert(auction_id, auction);
log(BidEvent {
- amount: auction.bid_asset.amount(),
+ amount: auction.highest_bid,
auction_id: auction_id,
user: sender,
});
@@ -107,8 +113,18 @@ impl EnglishAuction for Contract {
require(auction.is_some(), InputError::AuctionDoesNotExist);
let mut auction = auction.unwrap();
- require(auction.state == State::Open && auction.end_block >= height(), AccessError::AuctionIsNotOpen);
- require(msg_sender().unwrap() == auction.seller, AccessError::SenderIsNotSeller);
+ require(
+ auction
+ .state == State::Open && auction
+ .end_block >= height(),
+ AccessError::AuctionIsNotOpen,
+ );
+ require(
+ msg_sender()
+ .unwrap() == auction
+ .seller,
+ AccessError::SenderIsNotSeller,
+ );
// Update and store the auction's information
auction.highest_bidder = Option::None;
@@ -121,63 +137,53 @@ impl EnglishAuction for Contract {
#[payable]
#[storage(read, write)]
fn create(
- bid_asset: AuctionAsset,
- duration: u64,
+ bid_asset: AssetId,
+ duration: u32,
initial_price: u64,
reserve_price: Option,
seller: Identity,
- sell_asset: AuctionAsset,
) -> u64 {
// Either there is no reserve price or the reserve must be greater than the initial price
- require(reserve_price.is_none() || (reserve_price.is_some() && reserve_price.unwrap() >= initial_price), InitError::ReserveLessThanInitialPrice);
+ require(
+ reserve_price
+ .is_none() || (reserve_price
+ .is_some() && reserve_price
+ .unwrap() >= initial_price),
+ InitError::ReserveLessThanInitialPrice,
+ );
require(duration != 0, InitError::AuctionDurationNotProvided);
+ require(initial_price != 0, InitError::InitialPriceCannotBeZero);
- // TODO: This will be combined once StorageVec is supported in structs
- // This issue can be tracked here: https://github.com/FuelLabs/sway/issues/2465
- match bid_asset {
- AuctionAsset::TokenAsset(asset) => {
- require(asset.amount() == 0, InitError::BidAssetAmountNotZero);
- },
- AuctionAsset::NFTAsset(asset) => {
- require(asset.token_id() == 0, InitError::BidAssetAmountNotZero);
- }
- }
-
- // Ensure that the `sell_asset` struct and what was sent in the transaction match
- match sell_asset {
- AuctionAsset::TokenAsset(asset) => {
- // Selling tokens
- // TODO: Move this outside the match statement when StorageVec in structs is supported
- // This issue can be tracked here: https://github.com/FuelLabs/sway/issues/2465
- require(initial_price != 0, InitError::InitialPriceCannotBeZero);
- require(msg_amount() == asset.amount(), InputError::IncorrectAmountProvided);
- require(msg_asset_id() == asset.asset_id(), InputError::IncorrectAssetProvided);
- },
- AuctionAsset::NFTAsset(asset) => {
- // Selling NFTs
- let sender = msg_sender().unwrap();
- // TODO: Remove this when StorageVec in structs is supported
- // This issue can be tracked here: https://github.com/FuelLabs/sway/issues/2465
- require(initial_price == 1, InitError::CannotAcceptMoreThanOneNFT);
- transfer_nft(asset, Identity::ContractId(contract_id()));
- }
- }
+ let sell_asset = msg_asset_id();
+ let sell_asset_amount = msg_amount();
+ require(sell_asset_amount != 0, InputError::IncorrectAmountProvided);
// Setup auction
- let auction = Auction::new(bid_asset, duration + height(), initial_price, reserve_price, sell_asset, seller);
+ let auction = Auction::new(
+ bid_asset,
+ duration + height(),
+ initial_price,
+ reserve_price,
+ sell_asset,
+ sell_asset_amount,
+ seller,
+ );
// Store the auction information
let total_auctions = storage.total_auctions.read();
- storage.deposits.insert((seller, total_auctions), sell_asset);
+ storage
+ .deposits
+ .insert((seller, total_auctions), sell_asset_amount);
storage.auctions.insert(total_auctions, auction);
+ storage.total_auctions.write(total_auctions + 1);
log(CreateAuctionEvent {
auction_id: total_auctions,
bid_asset,
sell_asset,
+ sell_asset_amount,
});
- storage.total_auctions.write(storage.total_auctions.read() + 1);
total_auctions
}
@@ -189,7 +195,12 @@ impl EnglishAuction for Contract {
// Cannot withdraw if the auction is still on going
let mut auction = auction.unwrap();
- require(auction.state == State::Closed || auction.end_block <= height(), AccessError::AuctionIsNotClosed);
+ require(
+ auction
+ .state == State::Closed || auction
+ .end_block <= height(),
+ AccessError::AuctionIsNotClosed,
+ );
if (auction.end_block <= height()
&& auction.state == State::Open)
{
@@ -204,25 +215,27 @@ impl EnglishAuction for Contract {
// Make sure the sender still has something to withdraw
require(sender_deposit.is_some(), UserError::UserHasAlreadyWithdrawn);
assert(storage.deposits.remove((sender, auction_id)));
- let mut withdrawn_asset = sender_deposit.unwrap();
+ let mut withdrawn_amount = sender_deposit.unwrap();
+ let mut withdrawn_asset = auction.bid_asset;
// Withdraw owed assets
- if ((bidder.is_some()
- && sender == bidder.unwrap())
- || (bidder.is_none()
- && sender == auction.seller))
- {
- transfer_asset(auction.sell_asset, sender);
+ if ((bidder.is_some() && sender == bidder.unwrap()) || (bidder.is_none() && sender == auction.seller)) {
+ // Winning bidder or seller withdraws original sold assets
+ transfer(sender, auction.sell_asset, auction.sell_asset_amount);
withdrawn_asset = auction.sell_asset;
+ withdrawn_amount = auction.sell_asset_amount;
} else if (sender == auction.seller) {
- transfer_asset(auction.bid_asset, sender);
- withdrawn_asset = auction.bid_asset;
+ // Seller withdraws winning bids
+ transfer(sender, auction.bid_asset, auction.highest_bid);
+ withdrawn_amount = auction.highest_bid;
} else {
- transfer_asset(sender_deposit.unwrap(), sender);
+ // Bidders withdraw failed bids
+ transfer(sender, withdrawn_asset, withdrawn_amount);
};
log(WithdrawEvent {
asset: withdrawn_asset,
+ asset_amount: withdrawn_amount,
auction_id,
user: sender,
});
@@ -236,7 +249,7 @@ impl Info for Contract {
}
#[storage(read)]
- fn deposit_balance(auction_id: u64, identity: Identity) -> Option {
+ fn deposit_balance(auction_id: u64, identity: Identity) -> Option {
storage.deposits.get((identity, auction_id)).try_read()
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/src/utils.sw b/auctions/english-auction/project/contracts/auction-contract/src/utils.sw
deleted file mode 100644
index f14aeb522..000000000
--- a/auctions/english-auction/project/contracts/auction-contract/src/utils.sw
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-
-use ::data_structures::{auction_asset::AuctionAsset, nft_asset::NFTAsset};
-use ::errors::AccessError;
-use std::token::transfer;
-use ::nft::NFT;
-
-/// Transfers assets out of the auction contract to the specified user.
-///
-/// # Arguments
-///
-/// * `asset`: [AuctionAsset] - The asset that is to be transfered.
-/// * `to`: [Identity] - The user which will recieve the asset.
-pub fn transfer_asset(asset: AuctionAsset, to: Identity) {
- match asset {
- AuctionAsset::NFTAsset(asset) => {
- transfer_nft(asset, to)
- },
- AuctionAsset::TokenAsset(asset) => {
- transfer(asset.amount(), asset.asset_id(), to)
- },
- }
-}
-
-/// Transfers an NFT from one `Identity` to another.
-///
-/// # Arguments
-///
-/// * `asset`: [NFTAsset] - The struct which contains the NFT data.
-/// * `to`: [Identity] - The user which the NFTs should be transfered to.
-///
-/// # Reverts
-///
-/// * The NFT transfer failed.
-pub fn transfer_nft(asset: NFTAsset, to: Identity) {
- let nft_abi = abi(NFT, asset.asset_id().value);
-
- nft_abi.transfer(to, asset.token_id());
-
- let owner = nft_abi.owner_of(asset.token_id());
- require(owner.is_some() && owner.unwrap() == to, AccessError::NFTTransferNotApproved);
-}
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/bid.rs b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/bid.rs
index cadb58b6e..b4ed61037 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/bid.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/bid.rs
@@ -1,9 +1,6 @@
use crate::utils::{
- interface::core::{
- auction::{bid, create},
- nft::mint,
- },
- setup::{defaults_nft, defaults_token, nft_asset, setup, token_asset},
+ interface::core::auction::{bid, create},
+ setup::{defaults, setup},
};
use fuels::types::Identity;
@@ -11,36 +8,29 @@ mod success {
use super::*;
use crate::utils::{
- interface::{
- core::nft::{approve, mint, set_approval_for_all},
- info::{auction_info, deposit_balance},
- },
- setup::{Auction, AuctionAsset, State},
+ interface::info::{auction_info, deposit_balance},
+ setup::{Auction, State},
};
#[tokio::test]
async fn overrides_bid() {
- let (_, seller, buyer1, buyer2, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
let buyer2_identity = Identity::Address(buyer2.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
- let bid2_asset = token_asset(buy_token_contract_id, initial_price + 1).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -48,15 +38,13 @@ mod success {
deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
assert!(buyer1_deposit.is_none());
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
+ let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
+ assert_eq!(buyer1_deposit, initial_price);
assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
assert_eq!(auction.state, State::Open);
@@ -64,42 +52,36 @@ mod success {
deposit_balance(auction_id, &buyer2.auction, buyer2_identity.clone()).await;
assert!(buyer2_deposit.is_none());
- bid(auction_id, bid2_asset.clone(), &buyer2.auction).await;
+ bid(auction_id, buy_asset, initial_price + 1, &buyer2.auction).await;
- let buyer2_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer2.auction, buyer2_identity.clone())
- .await
- .unwrap();
+ let buyer2_deposit = deposit_balance(auction_id, &buyer2.auction, buyer2_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer2_deposit, bid2_asset);
- assert_eq!(auction.bid_asset, bid2_asset);
+ assert_eq!(buyer2_deposit, initial_price + 1);
assert_eq!(auction.highest_bidder.unwrap(), buyer2_identity);
assert_eq!(auction.state, State::Open);
}
#[tokio::test]
async fn overrides_bid_to_reserve() {
- let (_, seller, buyer1, buyer2, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
let buyer2_identity = Identity::Address(buyer2.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
- let bid2_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -107,15 +89,13 @@ mod success {
deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
assert!(buyer1_deposit.is_none());
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
+ let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
+ assert_eq!(buyer1_deposit, initial_price);
assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
assert_eq!(auction.state, State::Open);
@@ -123,40 +103,35 @@ mod success {
deposit_balance(auction_id, &buyer2.auction, buyer2_identity.clone()).await;
assert!(buyer2_deposit.is_none());
- bid(auction_id, bid2_asset.clone(), &buyer2.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer2.auction).await;
- let buyer2_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer2.auction, buyer2_identity.clone())
- .await
- .unwrap();
+ let buyer2_deposit = deposit_balance(auction_id, &buyer2.auction, buyer2_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer2_deposit, bid2_asset);
- assert_eq!(auction.bid_asset, bid2_asset);
+ assert_eq!(buyer2_deposit, reserve_price);
assert_eq!(auction.highest_bidder.unwrap(), buyer2_identity);
assert_eq!(auction.state, State::Closed);
}
#[tokio::test]
async fn places_bid_at_reserve() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -164,42 +139,35 @@ mod success {
deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
assert!(buyer1_deposit.is_none());
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer1.auction).await;
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
+ let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
+ assert_eq!(buyer1_deposit, reserve_price);
assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
assert_eq!(auction.state, State::Closed);
}
#[tokio::test]
async fn places_multiple_bids() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid1_asset = token_asset(buy_token_contract_id, initial_price).await;
- let bid2_asset = token_asset(buy_token_contract_id, 1).await;
- let total_bid_asset = token_asset(buy_token_contract_id, initial_price + 1).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -207,271 +175,45 @@ mod success {
deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
assert!(buyer1_deposit.is_none());
- bid(auction_id, bid1_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
- let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid1_asset);
- assert_eq!(auction.bid_asset, bid1_asset);
- assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
- assert_eq!(auction.state, State::Open);
-
- bid(auction_id, bid2_asset.clone(), &buyer1.auction).await;
-
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
+ let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, total_bid_asset);
- assert_eq!(auction.bid_asset, total_bid_asset);
+ assert_eq!(buyer1_deposit, initial_price);
assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
assert_eq!(auction.state, State::Open);
- }
-
- #[tokio::test]
- async fn places_nft_bid_on_nft_asset() {
- let (
- _,
- seller,
- buyer1,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
-
- mint(reserve_count, &buyer1.nft, buyer1_identity.clone()).await;
- approve(Some(auction_identity.clone()), &buyer1.nft, 0).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let buyer1_deposit =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
- assert!(buyer1_deposit.is_none());
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
- let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
- assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
- assert_eq!(auction.state, State::Closed);
- }
-
- #[tokio::test]
- async fn places_nft_bid_on_nft_asset_with_approval_for_all() {
- let (
- _,
- seller,
- buyer1,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- set_approval_for_all(true, &seller.nft, auction_identity.clone()).await;
- mint(reserve_count, &buyer1.nft, buyer1_identity.clone()).await;
- set_approval_for_all(true, &buyer1.nft, auction_identity.clone()).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let buyer1_deposit =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
- assert!(buyer1_deposit.is_none());
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
- let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
- assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
- assert_eq!(auction.state, State::Closed);
- }
-
- #[tokio::test]
- async fn places_nft_bid_on_token_asset() {
- let (
- _,
- seller,
- buyer1,
- _,
- auction_contract_id,
- sell_token_contract_id,
- _,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (_, initial_count, reserve_count, duration) = defaults_nft().await;
- let (sell_amount, _, _, _, _) = defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(reserve_count, &buyer1.nft, buyer1_identity.clone()).await;
- approve(Some(auction_identity.clone()), &buyer1.nft, 0).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let buyer1_deposit =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
- assert!(buyer1_deposit.is_none());
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
- let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
- assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
- assert_eq!(auction.state, State::Closed);
- }
-
- #[tokio::test]
- async fn places_token_bid_on_nft_asset() {
- let (
- _,
- seller,
- buyer1,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- buy_token_contract_id,
- _,
- ) = setup().await;
- let (sell_count, _, _, duration) = defaults_nft().await;
- let (_, initial_price, reserve_price, _, _) = defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
+ bid(auction_id, buy_asset, 1, &buyer1.auction).await;
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let buyer1_deposit =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
- assert!(buyer1_deposit.is_none());
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
+ let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
+ assert_eq!(buyer1_deposit, initial_price + 1);
assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
assert_eq!(auction.state, State::Open);
}
#[tokio::test]
- async fn places_token_bid_on_token_asset() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ async fn places_bid() {
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -479,15 +221,14 @@ mod success {
deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
assert!(buyer1_deposit.is_none());
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
- let buyer1_deposit: AuctionAsset =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
+ let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
+ .await
+ .unwrap();
let auction: Auction = auction_info(auction_id, &seller.auction).await.unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- assert_eq!(auction.bid_asset, bid_asset);
+ assert_eq!(buyer1_deposit, initial_price);
+ assert_eq!(auction.bid_asset, buy_asset);
assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
assert_eq!(auction.state, State::Open);
}
@@ -496,360 +237,187 @@ mod success {
mod revert {
use super::*;
- use fuels::prelude::{AssetId, CallParameters, TxParameters};
#[tokio::test]
#[should_panic(expected = "AuctionDoesNotExist")]
async fn when_auction_id_does_not_map_to_existing_auction() {
- let (_, _, buyer1, _, _, _, _, buy_token_contract_id, _) = setup().await;
- let (_, initial_price, _reserve_price, _, _) = defaults_token().await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
+ let (_, _, buyer1, _, _, _, buy_asset) = setup().await;
+ let (_, initial_price, _reserve_price, _, _) = defaults().await;
- bid(0, bid_asset.clone(), &buyer1.auction).await;
+ bid(0, buy_asset, initial_price, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "BidderIsSeller")]
async fn when_sender_is_the_seller() {
- let (_, seller, _buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, _buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &seller.auction).await;
+ bid(auction_id, buy_asset, initial_price, &seller.auction).await;
}
#[tokio::test]
#[should_panic(expected = "AuctionIsNotOpen")]
async fn when_auction_has_closed() {
- let (_, seller, buyer1, buyer2, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
- let bid2_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
- bid(auction_id, bid2_asset.clone(), &buyer2.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer2.auction).await;
}
#[tokio::test]
#[should_panic(expected = "AuctionIsNotOpen")]
async fn when_bidding_period_has_ended() {
- let (deployer, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (deployer, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
let provider = deployer.wallet.provider().unwrap();
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
let _result = provider.produce_blocks(duration + 1, Option::None).await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "IncorrectAssetProvided")]
async fn when_asset_provided_not_accepted() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(sell_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
- }
-
- #[ignore]
- #[tokio::test]
- // TODO: test is not set up to hit the error properly: https://github.com/FuelLabs/sway-applications/issues/330
- #[should_panic(expected = "NFTTransferNotApproved")]
- async fn when_bidder_does_not_own_nft() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, _, buy_nft_contract_id) =
- setup().await;
- let (_, initial_count, reserve_count, duration) = defaults_nft().await;
- let (sell_amount, _, _, _, _) = defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
- }
-
- #[ignore]
- #[tokio::test]
- // TODO: test is not set up to hit the error properly: https://github.com/FuelLabs/sway-applications/issues/330
- #[should_panic(expected = "NFTTransferNotApproved")]
- async fn when_auction_contract_does_not_have_permission_to_transfer_nft() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, _, buy_nft_contract_id) =
- setup().await;
- let (_, initial_count, reserve_count, duration) = defaults_nft().await;
- let (sell_amount, _, _, _, _) = defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(reserve_count, &buyer1.nft, buyer1_identity.clone()).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "IncorrectAssetProvided")]
- async fn when_asset_type_and_struct_mismatch() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
- initial_price,
- AssetId::from(*sell_token_contract_id),
- 1_000_000,
- );
-
- buyer1
- .auction
- .methods()
- .bid(auction_id, bid_asset.clone())
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap();
- }
-
- #[tokio::test]
- #[should_panic(expected = "IncorrectAmountProvided")]
- async fn when_asset_amount_and_struct_mismatch() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
- initial_price + 1,
- AssetId::from(*buy_token_contract_id),
- 1_000_000,
- );
-
- buyer1
- .auction
- .methods()
- .bid(auction_id, bid_asset.clone())
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap();
+ bid(auction_id, sell_asset, initial_price, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "InitialPriceNotMet")]
async fn when_bid_is_less_than_initial_price() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price - 1).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price - 1, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "IncorrectAmountProvided")]
async fn when_bid_is_less_than_last_bid() {
- let (_, seller, buyer1, buyer2, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
- let bid2_asset = token_asset(buy_token_contract_id, initial_price + 2).await;
- let bid3_asset = token_asset(buy_token_contract_id, 1).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
- bid(auction_id, bid2_asset.clone(), &buyer2.auction).await;
- bid(auction_id, bid3_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price + 2, &buyer2.auction).await;
+ bid(auction_id, buy_asset, 1, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "IncorrectAmountProvided")]
async fn when_bid_is_greater_than_reserve_price() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price + 1).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price + 1, &buyer1.auction).await;
}
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/cancel.rs b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/cancel.rs
index 40af28e8d..9e2b6563f 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/cancel.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/cancel.rs
@@ -1,6 +1,6 @@
use crate::utils::{
interface::core::auction::{bid, cancel, create},
- setup::{defaults_token, setup, token_asset},
+ setup::{defaults, setup},
};
use fuels::types::Identity;
@@ -11,28 +11,25 @@ mod success {
#[tokio::test]
async fn cancels_auction_after_bid() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
cancel(auction_id, &seller.auction).await;
@@ -43,34 +40,33 @@ mod success {
#[tokio::test]
async fn cancels_multiple_auctions() {
- let (_, seller, _, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
let auction_id1 = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
let auction_id2 = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -95,23 +91,21 @@ mod success {
#[tokio::test]
async fn cancels_token_auction() {
- let (_, seller, _, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -130,7 +124,7 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "AuctionDoesNotExist")]
async fn when_auction_does_not_exist() {
- let (_, seller, _, _, _, _, _, _, _) = setup().await;
+ let (_, seller, _, _, _, _, _) = setup().await;
cancel(0, &seller.auction).await;
}
@@ -138,24 +132,22 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "AuctionIsNotOpen")]
async fn when_auction_bid_period_has_ended() {
- let (deployer, seller, _, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (deployer, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -167,28 +159,25 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "AuctionIsNotOpen")]
async fn when_auction_has_closed() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer1.auction).await;
cancel(auction_id, &seller.auction).await;
}
@@ -196,23 +185,21 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "AuctionIsNotOpen")]
async fn when_auction_already_canceled() {
- let (_, seller, _, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -223,23 +210,21 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "SenderIsNotSeller")]
async fn when_sender_is_not_seller() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/create.rs b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/create.rs
index b2bbbe2ef..14eef6ca2 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/create.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/create.rs
@@ -1,9 +1,6 @@
use crate::utils::{
- interface::core::{
- auction::create,
- nft::{approve, mint},
- },
- setup::{defaults_nft, defaults_token, nft_asset, setup, token_asset},
+ interface::core::auction::create,
+ setup::{defaults, setup},
};
use fuels::types::Identity;
@@ -11,246 +8,47 @@ mod success {
use super::*;
use crate::utils::{
- interface::{
- core::nft::{approve, mint, set_approval_for_all},
- info::auction_info,
- },
+ interface::info::auction_info,
setup::{create_auction_copy, State},
};
#[tokio::test]
- async fn creates_multiple_auctions() {
- let (deployer, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
+ async fn creates_new_auction() {
+ let (deployer, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
let auction = auction_info(0, &seller.auction).await;
assert!(auction.is_none());
- let auction_id1 = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
- let auction1 = auction_info(auction_id1, &seller.auction).await;
- assert!(auction1.is_some());
-
- let auction1_copy = create_auction_copy(
- buy_asset.clone(),
- None,
- total_duration,
- initial_price,
- Some(reserve_price),
- sell_asset.clone(),
- seller_identity.clone(),
- State::Open,
- )
- .await;
- assert_eq!(auction1.unwrap(), auction1_copy);
-
- let auction_id2 = create(
- buy_asset.clone(),
+ let auction_id = create(
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
- let auction2 = auction_info(auction_id2, &seller.auction).await;
- assert!(auction2.is_some());
-
- let auction2_copy = create_auction_copy(
- buy_asset.clone(),
- None,
- total_duration,
- initial_price,
- Some(reserve_price),
- sell_asset.clone(),
- seller_identity.clone(),
- State::Open,
- )
- .await;
- assert_eq!(auction2.unwrap(), auction2_copy);
- }
-
- #[tokio::test]
- async fn creates_new_nft_auction() {
- let (
- deployer,
- seller,
- _,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let provider = deployer.wallet.provider().unwrap();
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
-
- let auction = auction_info(0, &seller.auction).await;
- assert!(auction.is_none());
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
- let auction = auction_info(auction_id, &seller.auction).await;
- assert!(auction.is_some());
-
- let auction_copy = create_auction_copy(
- buy_asset.clone(),
- None,
- total_duration,
- initial_count,
- Some(reserve_count),
- sell_asset,
- seller_identity,
- State::Open,
- )
- .await;
- assert_eq!(auction.unwrap(), auction_copy);
- }
-
- #[tokio::test]
- async fn creates_new_nft_auction_with_approval_for_all() {
- let (
- deployer,
- seller,
- _,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let provider = deployer.wallet.provider().unwrap();
- let auction = auction_info(0, &seller.auction).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- set_approval_for_all(true, &seller.nft, auction_identity.clone()).await;
-
- assert!(auction.is_none());
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
- let auction = auction_info(auction_id, &seller.auction).await;
- assert!(auction.is_some());
-
- let auction_copy = create_auction_copy(
- buy_asset.clone(),
- None,
- total_duration,
- initial_count,
- Some(reserve_count),
sell_asset,
- seller_identity,
- State::Open,
- )
- .await;
- assert_eq!(auction.unwrap(), auction_copy);
- }
-
- #[tokio::test]
- async fn creates_new_nft_auction_with_token_bid_asset() {
- let (
- deployer,
- seller,
- _,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- buy_asset_contract_id,
- _,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
- let provider = deployer.wallet.provider().unwrap();
- let auction = auction_info(0, &seller.auction).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
-
- assert!(auction.is_none());
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
+ sell_amount,
)
.await;
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
+ let total_duration = provider.latest_block_height().await.unwrap() + duration;
let auction = auction_info(auction_id, &seller.auction).await;
assert!(auction.is_some());
let auction_copy = create_auction_copy(
- buy_asset.clone(),
+ buy_asset,
+ 0,
None,
total_duration,
- initial_count,
- Some(reserve_count),
+ initial_price,
+ Some(reserve_price),
sell_asset,
+ sell_amount,
seller_identity,
State::Open,
)
@@ -259,129 +57,116 @@ mod success {
}
#[tokio::test]
- async fn creates_new_token_auction() {
- let (deployer, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
+ async fn creates_multiple_auctions() {
+ let (deployer, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
let auction = auction_info(0, &seller.auction).await;
assert!(auction.is_none());
- let auction_id = create(
- buy_asset.clone(),
+ let auction_id1 = create(
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
- let auction = auction_info(auction_id, &seller.auction).await;
- assert!(auction.is_some());
+ let total_duration = provider.latest_block_height().await.unwrap() + duration;
+ let auction1 = auction_info(auction_id1, &seller.auction).await;
+ assert!(auction1.is_some());
- let auction_copy = create_auction_copy(
- buy_asset.clone(),
+ let auction1_copy = create_auction_copy(
+ buy_asset,
+ 0,
None,
total_duration,
initial_price,
Some(reserve_price),
sell_asset,
- seller_identity,
+ sell_amount,
+ seller_identity.clone(),
State::Open,
)
.await;
- assert_eq!(auction.unwrap(), auction_copy);
- }
-
- #[tokio::test]
- async fn creates_new_token_auction_with_nft_bid_asset() {
- let (deployer, seller, _, _, _, sell_asset_contract_id, _, _, buy_nft_contract_id) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let provider = deployer.wallet.provider().unwrap();
-
- let auction = auction_info(0, &seller.auction).await;
- assert!(auction.is_none());
+ assert_eq!(auction1.unwrap(), auction1_copy);
- let auction_id = create(
- buy_asset.clone(),
+ let auction_id2 = create(
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
- let auction = auction_info(auction_id, &seller.auction).await;
- assert!(auction.is_some());
+ let total_duration = provider.latest_block_height().await.unwrap() + duration;
+ let auction2 = auction_info(auction_id2, &seller.auction).await;
+ assert!(auction2.is_some());
- let auction_copy = create_auction_copy(
- buy_asset.clone(),
+ let auction2_copy = create_auction_copy(
+ buy_asset,
+ 0,
None,
total_duration,
initial_price,
Some(reserve_price),
sell_asset,
- seller_identity,
+ sell_amount,
+ seller_identity.clone(),
State::Open,
)
.await;
- assert_eq!(auction.unwrap(), auction_copy);
+ assert_eq!(auction2.unwrap(), auction2_copy);
}
#[tokio::test]
- async fn creates_new_token_auction_without_reserve() {
- let (deployer, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, _, duration, _) = defaults_token().await;
+ async fn creates_new_auction_without_reserve() {
+ let (deployer, seller, _, _, _, sell_asset, buy_asset) = setup().await;
+ let (sell_amount, initial_price, _, duration, _) = defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
let auction = auction_info(0, &seller.auction).await;
assert!(auction.is_none());
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
None,
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
+ let total_duration = provider.latest_block_height().await.unwrap() + duration;
let auction = auction_info(auction_id, &seller.auction).await;
assert!(auction.is_some());
let auction_copy = create_auction_copy(
- buy_asset.clone(),
+ buy_asset,
+ 0,
None,
total_duration,
initial_price,
None,
sell_asset,
+ sell_amount,
seller_identity,
State::Open,
)
@@ -390,41 +175,41 @@ mod success {
}
#[tokio::test]
- async fn creates_new_token_auction_with_reserve_equal_to_initial_price() {
- let (deployer, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, _, duration, _) = defaults_token().await;
+ async fn creates_new_auction_with_reserve_equal_to_initial_price() {
+ let (deployer, seller, _, _, _, sell_asset, buy_asset) = setup().await;
+ let (sell_amount, initial_price, _, duration, _) = defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
let auction = auction_info(0, &seller.auction).await;
assert!(auction.is_none());
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(initial_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
+ let total_duration = provider.latest_block_height().await.unwrap() + duration;
let auction = auction_info(auction_id, &seller.auction).await;
assert!(auction.is_some());
let auction_copy = create_auction_copy(
- buy_asset.clone(),
+ buy_asset,
+ 0,
None,
total_duration,
initial_price,
Some(initial_price),
sell_asset,
+ sell_amount,
seller_identity,
State::Open,
)
@@ -436,27 +221,24 @@ mod success {
mod revert {
use super::*;
- use fuels::prelude::{AssetId, CallParameters, TxParameters};
#[tokio::test]
#[should_panic(expected = "ReserveLessThanInitialPrice")]
async fn when_reserve_is_less_than_initial_price() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, _, duration, _) = defaults_token().await;
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
+ let (sell_amount, initial_price, _, duration, _) = defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(initial_price - 1),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
}
@@ -464,22 +246,20 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "ReserveLessThanInitialPrice")]
async fn when_reserve_is_zero() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, _, duration, _) = defaults_token().await;
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
+ let (sell_amount, initial_price, _, duration, _) = defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(0),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
}
@@ -487,323 +267,41 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "AuctionDurationNotProvided")]
async fn when_duration_is_zero() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, _, _) = defaults_token().await;
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
+ let (sell_amount, initial_price, reserve_price, _, _) = defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
0,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "BidAssetAmountNotZero")]
- async fn when_bid_token_amount_not_zero() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 1).await;
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "BidAssetAmountNotZero")]
- async fn when_bid_nft_id_not_zero() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, _, buy_nft_contract_id) = setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 1).await;
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
}
#[tokio::test]
#[should_panic(expected = "InitialPriceCannotBeZero")]
- async fn when_initial_token_price_is_zero() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, _, reserve_price, duration, _) = defaults_token().await;
+ async fn when_initial_price_is_zero() {
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
+ let (sell_amount, _, reserve_price, duration, _) = defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
0,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "IncorrectAmountProvided")]
- async fn when_token_asset_sent_less_than_sell_struct() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
-
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
- sell_amount - 1,
- AssetId::from(*sell_asset_contract_id),
- 1_000_000,
- );
-
- seller
- .auction
- .methods()
- .create(
- buy_asset,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity,
- sell_asset.clone(),
- )
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap();
- }
-
- #[tokio::test]
- #[should_panic(expected = "IncorrectAmountProvided")]
- async fn when_token_asset_sent_greater_than_sell_struct() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
-
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
- sell_amount + 1,
- AssetId::from(*sell_asset_contract_id),
- 1_000_000,
- );
-
- seller
- .auction
- .methods()
- .create(
- buy_asset,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity,
- sell_asset.clone(),
- )
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap();
- }
-
- #[tokio::test]
- #[should_panic(expected = "IncorrectAmountProvided")]
- async fn when_token_struct_not_correct_type() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
-
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
- sell_amount,
- AssetId::from(*sell_asset_contract_id),
- 1_000_000,
- );
-
- seller
- .auction
- .methods()
- .create(
- buy_asset.clone(),
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity,
- buy_asset.clone(),
- )
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap();
- }
-
- #[tokio::test]
- #[should_panic(expected = "IncorrectAssetProvided")]
- async fn when_token_sent_not_correct_type() {
- let (_, seller, _buyer1, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
-
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
+ sell_asset,
sell_amount,
- AssetId::from(*buy_asset_contract_id),
- 1_000_000,
- );
-
- seller
- .auction
- .methods()
- .create(
- buy_asset.clone(),
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity,
- sell_asset.clone(),
- )
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap();
- }
-
- #[tokio::test]
- #[should_panic(expected = "ReserveLessThanInitialPrice")]
- async fn when_initial_nft_price_not_one() {
- let (_, seller, _, _, auction_contract_id, _, sell_nft_contract_id, _, buy_nft_contract_id) =
- setup().await;
- let (sell_count, _, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- 2,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
- }
-
- #[tokio::test]
- #[should_panic(expected = "SenderNotOwner")]
- async fn when_sender_does_not_own_nft() {
- let (_, seller, _, _, auction_contract_id, _, sell_nft_contract_id, _, buy_nft_contract_id) =
- setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, auction_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
- }
-
- #[ignore]
- #[tokio::test]
- // TODO: test is not set up to hit the error properly: https://github.com/FuelLabs/sway-applications/issues/330
- #[should_panic(expected = "NFTTransferNotApproved")]
- async fn when_auction_not_approved_for_transfer() {
- let (_, seller, _, _, _, _, sell_nft_contract_id, _, buy_nft_contract_id) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
)
.await;
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/withdraw.rs b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/withdraw.rs
index 069f3793d..6b6d6acc9 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/withdraw.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/functions/core/withdraw.rs
@@ -1,47 +1,38 @@
use crate::utils::{
interface::core::auction::{bid, create, withdraw},
- setup::{defaults_token, setup, token_asset},
+ setup::{defaults, setup},
};
use fuels::types::Identity;
mod success {
use super::*;
- use crate::utils::{
- interface::{
- core::nft::{approve, mint, owner_of},
- info::deposit_balance,
- },
- setup::{defaults_nft, nft_asset},
- };
- use fuels::{accounts::ViewOnlyAccount, prelude::AssetId};
+ use crate::utils::interface::info::deposit_balance;
+ use fuels::accounts::ViewOnlyAccount;
#[tokio::test]
async fn buyer_withdraws_expired_auction() {
- let (deployer, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (deployer, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
let provider = deployer.wallet.provider().unwrap();
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
let _result = provider.produce_blocks(duration + 1, Option::None).await;
@@ -49,257 +40,124 @@ mod success {
deposit_balance(auction_id, &seller.auction, buyer1_identity.clone())
.await
.unwrap(),
- bid_asset
+ initial_price
);
- withdraw(auction_id, &buyer1.auction, sell_asset).await;
+ withdraw(auction_id, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id, &seller.auction, buyer1_identity.clone()).await,
None
);
assert_eq!(
- buyer1
- .wallet
- .get_asset_balance(&AssetId::new(*sell_token_contract_id))
- .await
- .unwrap(),
+ buyer1.wallet.get_asset_balance(&sell_asset).await.unwrap(),
sell_amount + initial_wallet_amount
);
}
- #[tokio::test]
- async fn buyer_withdraws_nft() {
- let (
- _,
- seller,
- buyer1,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
- mint(reserve_count, &buyer1.nft, buyer1_identity.clone()).await;
- approve(Some(auction_identity.clone()), &buyer1.nft, 0).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- assert_eq!(
- deposit_balance(auction_id, &seller.auction, buyer1_identity.clone())
- .await
- .unwrap(),
- bid_asset
- );
-
- withdraw(auction_id, &buyer1.auction, sell_asset).await;
-
- assert_eq!(
- deposit_balance(auction_id, &seller.auction, buyer1_identity.clone()).await,
- None
- );
- assert_eq!(owner_of(&seller.nft, 0).await.unwrap(), buyer1_identity);
- }
-
#[tokio::test]
async fn buyer_withdraws_tokens() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id, &seller.auction, buyer1_identity.clone())
.await
.unwrap(),
- bid_asset
+ reserve_price
);
- withdraw(auction_id, &buyer1.auction, sell_asset).await;
+ withdraw(auction_id, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id, &seller.auction, buyer1_identity.clone()).await,
None
);
assert_eq!(
- buyer1
- .wallet
- .get_asset_balance(&AssetId::new(*sell_token_contract_id))
- .await
- .unwrap(),
+ buyer1.wallet.get_asset_balance(&sell_asset).await.unwrap(),
sell_amount + initial_wallet_amount
);
}
#[tokio::test]
async fn out_bid_withdraws_tokens() {
- let (_, seller, buyer1, buyer2, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid1_asset = token_asset(buy_token_contract_id, initial_price).await;
- let bid2_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid1_asset.clone(), &buyer1.auction).await;
- bid(auction_id, bid2_asset.clone(), &buyer2.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer2.auction).await;
assert_eq!(
deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
.await
.unwrap(),
- bid1_asset
+ initial_price
);
- withdraw(auction_id, &buyer1.auction, bid1_asset).await;
+ withdraw(auction_id, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id, &seller.auction, buyer1_identity.clone()).await,
None
);
assert_eq!(
- buyer1
- .wallet
- .get_asset_balance(&AssetId::new(*buy_token_contract_id))
- .await
- .unwrap(),
+ buyer1.wallet.get_asset_balance(&buy_asset).await.unwrap(),
initial_wallet_amount
);
}
- #[tokio::test]
- async fn seller_withdraws_nft() {
- let (
- _,
- seller,
- buyer1,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
- mint(reserve_count, &buyer1.nft, buyer1_identity.clone()).await;
- approve(Some(auction_identity.clone()), &buyer1.nft, 0).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- assert_eq!(
- deposit_balance(auction_id, &seller.auction, seller_identity.clone())
- .await
- .unwrap(),
- sell_asset
- );
-
- withdraw(auction_id, &seller.auction, bid_asset).await;
-
- assert_eq!(
- deposit_balance(auction_id, &seller.auction, seller_identity.clone()).await,
- None
- );
- assert_eq!(owner_of(&buyer1.nft, 0).await.unwrap(), seller_identity);
- }
-
#[tokio::test]
async fn seller_withdraws_no_bids() {
- let (deployer, seller, _, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (deployer, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -309,125 +167,112 @@ mod success {
deposit_balance(auction_id, &seller.auction, seller_identity.clone())
.await
.unwrap(),
- sell_asset
+ sell_amount
);
- withdraw(auction_id, &seller.auction, sell_asset).await;
+ withdraw(auction_id, &seller.auction).await;
assert_eq!(
deposit_balance(auction_id, &seller.auction, seller_identity.clone()).await,
None
);
assert_eq!(
- seller
- .wallet
- .get_asset_balance(&AssetId::new(*sell_token_contract_id))
- .await
- .unwrap(),
+ seller.wallet.get_asset_balance(&sell_asset).await.unwrap(),
initial_wallet_amount
);
}
#[tokio::test]
async fn seller_withdraws_tokens() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id, &seller.auction, seller_identity.clone())
.await
.unwrap(),
- sell_asset
+ sell_amount
);
- withdraw(auction_id, &seller.auction, buy_asset).await;
+ withdraw(auction_id, &seller.auction).await;
assert_eq!(
deposit_balance(auction_id, &seller.auction, seller_identity.clone()).await,
None
);
assert_eq!(
- seller
- .wallet
- .get_asset_balance(&AssetId::new(*buy_token_contract_id))
- .await
- .unwrap(),
+ seller.wallet.get_asset_balance(&buy_asset).await.unwrap(),
reserve_price + initial_wallet_amount
);
}
#[tokio::test]
async fn withdraws_multiple_auctions() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id1 = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
let auction_id2 = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id1, bid_asset.clone(), &buyer1.auction).await;
- bid(auction_id2, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id1, buy_asset, reserve_price, &buyer1.auction).await;
+ bid(auction_id2, buy_asset, reserve_price, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id1, &seller.auction, buyer1_identity.clone())
.await
.unwrap(),
- bid_asset
+ reserve_price
);
assert_eq!(
deposit_balance(auction_id2, &seller.auction, buyer1_identity.clone())
.await
.unwrap(),
- bid_asset
+ reserve_price
);
- withdraw(auction_id1, &buyer1.auction, sell_asset.clone()).await;
+ withdraw(auction_id1, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id1, &seller.auction, buyer1_identity.clone()).await,
@@ -437,18 +282,14 @@ mod success {
deposit_balance(auction_id2, &seller.auction, buyer1_identity.clone())
.await
.unwrap(),
- bid_asset
+ reserve_price
);
assert_eq!(
- buyer1
- .wallet
- .get_asset_balance(&AssetId::new(*sell_token_contract_id))
- .await
- .unwrap(),
+ buyer1.wallet.get_asset_balance(&sell_asset).await.unwrap(),
sell_amount + initial_wallet_amount
);
- withdraw(auction_id2, &buyer1.auction, sell_asset.clone()).await;
+ withdraw(auction_id2, &buyer1.auction).await;
assert_eq!(
deposit_balance(auction_id1, &seller.auction, buyer1_identity.clone()).await,
@@ -459,11 +300,7 @@ mod success {
None
);
assert_eq!(
- buyer1
- .wallet
- .get_asset_balance(&AssetId::new(*sell_token_contract_id))
- .await
- .unwrap(),
+ buyer1.wallet.get_asset_balance(&sell_asset).await.unwrap(),
(sell_amount * 2) + initial_wallet_amount
);
}
@@ -476,98 +313,88 @@ mod revert {
#[tokio::test]
#[should_panic(expected = "AuctionDoesNotExist")]
async fn when_auction_id_does_not_exist() {
- let (_, _, buyer1, _, _, sell_token_contract_id, _, _, _) = setup().await;
- let (sell_amount, _, _, _, _) = defaults_token().await;
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
+ let (_, _, buyer1, _, _, _, _) = setup().await;
+ let (_, _, _, _, _) = defaults().await;
- withdraw(0, &buyer1.auction, sell_asset).await;
+ withdraw(0, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "AuctionIsNotClosed")]
async fn when_auction_has_not_ended() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
- withdraw(auction_id, &buyer1.auction, sell_asset).await;
+ withdraw(auction_id, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "UserHasAlreadyWithdrawn")]
async fn when_sender_withdraws_twice() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer1.auction).await;
- withdraw(auction_id, &buyer1.auction, sell_asset.clone()).await;
- withdraw(auction_id, &buyer1.auction, sell_asset.clone()).await;
+ withdraw(auction_id, &buyer1.auction).await;
+ withdraw(auction_id, &buyer1.auction).await;
}
#[tokio::test]
#[should_panic(expected = "UserHasAlreadyWithdrawn")]
async fn when_sender_did_not_deposit_balance() {
- let (_, seller, buyer1, buyer2, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, reserve_price).await;
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, reserve_price, &buyer1.auction).await;
- withdraw(auction_id, &buyer2.auction, sell_asset).await;
+ withdraw(auction_id, &buyer2.auction).await;
}
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/auction_info.rs b/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/auction_info.rs
index 384684a6a..86f213d2d 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/auction_info.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/auction_info.rs
@@ -4,72 +4,69 @@ mod success {
core::auction::{bid, create},
info::auction_info,
},
- setup::{create_auction_copy, defaults_token, setup, token_asset, State},
+ setup::{create_auction_copy, defaults, setup, State},
};
use fuels::types::Identity;
#[tokio::test]
async fn returns_auction_info() {
- let (deployer, seller, buyer1, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
+ let (deployer, seller, buyer1, _buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
- let bid_asset = token_asset(buy_asset_contract_id, initial_price).await;
let provider = deployer.wallet.provider().unwrap();
let auction = auction_info(0, &seller.auction).await;
assert!(auction.is_none());
let auction_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- let total_duration = (provider.latest_block_height().await.unwrap() as u64) + duration;
+ let total_duration = provider.latest_block_height().await.unwrap() + duration;
let auction = auction_info(auction_id, &seller.auction).await;
assert!(auction.is_some());
let auction_copy = create_auction_copy(
- buy_asset.clone(),
+ buy_asset,
+ 0,
None,
total_duration,
initial_price,
Some(reserve_price),
sell_asset,
+ sell_amount,
seller_identity,
State::Open,
)
.await;
assert_eq!(auction.unwrap(), auction_copy);
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
let auction = auction_info(auction_id, &seller.auction).await.unwrap();
assert_eq!(auction.highest_bidder.unwrap(), buyer1_identity);
- assert_eq!(auction.bid_asset, bid_asset);
+ assert_eq!(auction.bid_asset, buy_asset);
+ assert_eq!(auction.highest_bid, initial_price);
}
#[tokio::test]
async fn returns_multiple_auction_info() {
- let (deployer, seller, _buyer1, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
+ let (deployer, seller, _buyer1, _buyer2, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
let auction1 = auction_info(0, &seller.auction).await;
@@ -78,29 +75,32 @@ mod success {
assert!(auction2.is_none());
let auction1_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- let total_duration1 = (provider.latest_block_height().await.unwrap() as u64) + duration;
+ let total_duration1 = provider.latest_block_height().await.unwrap() + duration;
let auction1 = auction_info(auction1_id, &seller.auction).await;
let auction2 = auction_info(1, &seller.auction).await;
assert!(auction1.is_some());
assert!(auction2.is_none());
let auction1_copy = create_auction_copy(
- buy_asset.clone(),
+ buy_asset,
+ 0,
None,
total_duration1,
initial_price,
Some(reserve_price),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
seller_identity.clone(),
State::Open,
)
@@ -108,17 +108,18 @@ mod success {
assert_eq!(auction1.unwrap(), auction1_copy);
let auction2_id = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
- let total_duration2 = (provider.latest_block_height().await.unwrap() as u64) + duration;
+ let total_duration2 = provider.latest_block_height().await.unwrap() + duration;
let auction1 = auction_info(auction1_id, &seller.auction).await;
let auction2 = auction_info(auction2_id, &seller.auction).await;
assert!(auction1.is_some());
@@ -126,12 +127,14 @@ mod success {
assert_eq!(auction1.unwrap(), auction1_copy);
let auction2_copy = create_auction_copy(
- buy_asset.clone(),
+ buy_asset,
+ 0,
None,
total_duration2,
initial_price,
Some(reserve_price),
sell_asset,
+ sell_amount,
seller_identity.clone(),
State::Open,
)
@@ -141,7 +144,7 @@ mod success {
#[tokio::test]
async fn returns_none() {
- let (_, seller, _, _, _, _, _, _, _) = setup().await;
+ let (_, seller, _, _, _, _, _) = setup().await;
assert!(auction_info(0, &seller.auction).await.is_none());
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/deposit_balance.rs b/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/deposit_balance.rs
index 35ebbeae9..4958cb918 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/deposit_balance.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/deposit_balance.rs
@@ -1,49 +1,78 @@
mod success {
use crate::utils::{
interface::{
- core::{
- auction::{bid, create},
- nft::{approve, mint},
- },
+ core::auction::{bid, create},
info::deposit_balance,
},
- setup::{defaults_nft, defaults_token, nft_asset, setup, token_asset},
+ setup::{defaults, setup},
};
use fuels::types::Identity;
+ #[tokio::test]
+ async fn returns_deposit_balance() {
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
+ let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
+ defaults().await;
+
+ assert!(initial_price > 0);
+
+ let seller_identity = Identity::Address(seller.wallet.address().into());
+ let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
+
+ let auction_id = create(
+ buy_asset,
+ &seller.auction,
+ duration,
+ initial_price,
+ Some(reserve_price),
+ seller_identity.clone(),
+ sell_asset,
+ sell_amount,
+ )
+ .await;
+
+ let buyer1_deposit =
+ deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
+ assert!(buyer1_deposit.is_none());
+
+ bid(auction_id, buy_asset, initial_price, &buyer1.auction).await;
+
+ let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
+ .await
+ .unwrap();
+ assert_eq!(buyer1_deposit, initial_price);
+ }
+
#[tokio::test]
async fn returns_mutliple_deposits() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
+ let (_, seller, buyer1, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid1_asset = token_asset(buy_token_contract_id, initial_price).await;
- let bid2_asset = token_asset(buy_token_contract_id, initial_price + 1).await;
let auction_id1 = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
let auction_id2 = create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -54,7 +83,7 @@ mod success {
assert!(buyer1_deposit1.is_none());
assert!(buyer1_deposit2.is_none());
- bid(auction_id1, bid1_asset.clone(), &buyer1.auction).await;
+ bid(auction_id1, buy_asset, initial_price, &buyer1.auction).await;
let buyer1_deposit1 =
deposit_balance(auction_id1, &buyer1.auction, buyer1_identity.clone())
@@ -62,10 +91,10 @@ mod success {
.unwrap();
let buyer1_deposit2 =
deposit_balance(auction_id2, &buyer1.auction, buyer1_identity.clone()).await;
- assert_eq!(buyer1_deposit1, bid1_asset);
+ assert_eq!(buyer1_deposit1, initial_price);
assert!(buyer1_deposit2.is_none());
- bid(auction_id2, bid2_asset.clone(), &buyer1.auction).await;
+ bid(auction_id2, buy_asset, initial_price + 1, &buyer1.auction).await;
let buyer1_deposit1 =
deposit_balance(auction_id1, &buyer1.auction, buyer1_identity.clone())
@@ -75,93 +104,7 @@ mod success {
deposit_balance(auction_id2, &buyer1.auction, buyer1_identity.clone())
.await
.unwrap();
- assert_eq!(buyer1_deposit1, bid1_asset);
- assert_eq!(buyer1_deposit2, bid2_asset);
- }
-
- #[tokio::test]
- async fn returns_nft_deposit_balance() {
- let (
- _,
- seller,
- buyer1,
- _,
- auction_contract_id,
- _,
- sell_nft_contract_id,
- _,
- buy_nft_contract_id,
- ) = setup().await;
- let (sell_count, initial_count, reserve_count, duration) = defaults_nft().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let auction_identity = Identity::ContractId(auction_contract_id);
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = nft_asset(buy_nft_contract_id, 0).await;
- let bid_asset = nft_asset(buy_nft_contract_id, 0).await;
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
- mint(reserve_count, &buyer1.nft, buyer1_identity.clone()).await;
- approve(Some(auction_identity.clone()), &buyer1.nft, 0).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_count,
- Some(reserve_count),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let buyer1_deposit =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
- assert!(buyer1_deposit.is_none());
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
- }
-
- #[tokio::test]
- async fn returns_token_deposit_balance() {
- let (_, seller, buyer1, _, _, sell_token_contract_id, _, buy_token_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let buyer1_identity = Identity::Address(buyer1.wallet.address().into());
- let sell_asset = token_asset(sell_token_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_token_contract_id, 0).await;
- let bid_asset = token_asset(buy_token_contract_id, initial_price).await;
-
- let auction_id = create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- let buyer1_deposit =
- deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone()).await;
- assert!(buyer1_deposit.is_none());
-
- bid(auction_id, bid_asset.clone(), &buyer1.auction).await;
-
- let buyer1_deposit = deposit_balance(auction_id, &buyer1.auction, buyer1_identity.clone())
- .await
- .unwrap();
- assert_eq!(buyer1_deposit, bid_asset);
+ assert_eq!(buyer1_deposit1, initial_price);
+ assert_eq!(buyer1_deposit2, initial_price + 1);
}
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/total_auctions.rs b/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/total_auctions.rs
index b5882bfeb..0644e4144 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/total_auctions.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/functions/info/total_auctions.rs
@@ -1,106 +1,55 @@
mod success {
use crate::utils::{
- interface::{
- core::{
- auction::create,
- nft::{approve, mint},
- },
- info::total_auctions,
- },
- setup::{defaults_nft, defaults_token, nft_asset, setup, token_asset},
+ interface::{core::auction::create, info::total_auctions},
+ setup::{defaults, setup},
};
use fuels::types::Identity;
#[tokio::test]
- async fn returns_auctions_of_different_types() {
- let (
- _,
- seller,
- _,
- _,
- auction_contract_id,
- sell_asset_contract_id,
- sell_nft_contract_id,
- buy_asset_contract_id,
- _,
- ) = setup().await;
+ async fn returns_one_auction() {
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
- let (sell_count, _, _, _) = defaults_nft().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let sell_nft = nft_asset(sell_nft_contract_id, 0).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
- let auction_identity = Identity::ContractId(auction_contract_id);
-
- mint(sell_count, &seller.nft, seller_identity.clone()).await;
- approve(Some(auction_identity.clone()), &seller.nft, 0).await;
assert_eq!(0, total_auctions(&seller.auction).await);
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
assert_eq!(1, total_auctions(&seller.auction).await);
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_nft.clone(),
- )
- .await;
-
- assert_eq!(2, total_auctions(&seller.auction).await);
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- assert_eq!(3, total_auctions(&seller.auction).await);
}
#[tokio::test]
async fn returns_expired_auctions() {
- let (deployer, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
+ let (deployer, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
let provider = deployer.wallet.provider().unwrap();
assert_eq!(0, total_auctions(&seller.auction).await);
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
@@ -113,81 +62,54 @@ mod success {
#[tokio::test]
async fn returns_multiple_auctions() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
+ let (_, seller, _, _, _, sell_asset, buy_asset) = setup().await;
let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
+ defaults().await;
let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
assert_eq!(0, total_auctions(&seller.auction).await);
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
assert_eq!(1, total_auctions(&seller.auction).await);
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
assert_eq!(2, total_auctions(&seller.auction).await);
create(
- buy_asset.clone(),
+ buy_asset,
&seller.auction,
duration,
initial_price,
Some(reserve_price),
seller_identity.clone(),
- sell_asset.clone(),
+ sell_asset,
+ sell_amount,
)
.await;
assert_eq!(3, total_auctions(&seller.auction).await);
}
-
- #[tokio::test]
- async fn returns_one_auction() {
- let (_, seller, _, _, _, sell_asset_contract_id, _, buy_asset_contract_id, _) =
- setup().await;
- let (sell_amount, initial_price, reserve_price, duration, _initial_wallet_amount) =
- defaults_token().await;
-
- let seller_identity = Identity::Address(seller.wallet.address().into());
- let sell_asset = token_asset(sell_asset_contract_id, sell_amount).await;
- let buy_asset = token_asset(buy_asset_contract_id, 0).await;
-
- assert_eq!(0, total_auctions(&seller.auction).await);
-
- create(
- buy_asset.clone(),
- &seller.auction,
- duration,
- initial_price,
- Some(reserve_price),
- seller_identity.clone(),
- sell_asset.clone(),
- )
- .await;
-
- assert_eq!(1, total_auctions(&seller.auction).await);
- }
}
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/core.rs b/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/core.rs
index f170d57b8..3666da89a 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/core.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/core.rs
@@ -1,7 +1,7 @@
-use crate::utils::setup::{AuctionAsset, EnglishAuction, Nft};
+use crate::utils::setup::EnglishAuction;
use fuels::{
- prelude::{AssetId, CallParameters, TxParameters, WalletUnlocked},
- programs::call_response::FuelCallResponse,
+ prelude::{AssetId, CallParameters, TxPolicies, WalletUnlocked},
+ programs::{call_response::FuelCallResponse, call_utils::TxDependencyExtension},
types::Identity,
};
@@ -10,36 +10,21 @@ pub(crate) mod auction {
pub(crate) async fn bid(
auction_id: u64,
- bid_asset: AuctionAsset,
+ bid_asset: AssetId,
+ bid_amount: u64,
contract: &EnglishAuction,
) -> FuelCallResponse<()> {
- match bid_asset {
- AuctionAsset::NFTAsset(bid_asset) => contract
- .methods()
- .bid(auction_id, AuctionAsset::NFTAsset(bid_asset.clone()))
- .set_contract_ids(&[bid_asset.asset_id.into()])
- .call()
- .await
- .unwrap(),
- AuctionAsset::TokenAsset(bid_asset) => {
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
- bid_asset.amount,
- AssetId::from(*bid_asset.asset_id),
- 1_000_000,
- );
+ let call_params = CallParameters::new(bid_amount, bid_asset, 1_000_000);
- contract
- .methods()
- .bid(auction_id, AuctionAsset::TokenAsset(bid_asset.clone()))
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap()
- }
- }
+ contract
+ .methods()
+ .bid(auction_id)
+ .with_tx_policies(TxPolicies::default().with_script_gas_limit(2_000_000))
+ .call_params(call_params)
+ .unwrap()
+ .call()
+ .await
+ .unwrap()
}
pub(crate) async fn cancel(
@@ -49,131 +34,39 @@ pub(crate) mod auction {
contract.methods().cancel(auction_id).call().await.unwrap()
}
+ #[allow(clippy::too_many_arguments)]
pub(crate) async fn create(
- bid_asset: AuctionAsset,
+ bid_asset: AssetId,
contract: &EnglishAuction,
- duration: u64,
+ duration: u32,
initial_price: u64,
reserve_price: Option,
seller: Identity,
- sell_asset: AuctionAsset,
+ sell_asset: AssetId,
+ sell_amount: u64,
) -> u64 {
- match sell_asset {
- AuctionAsset::NFTAsset(sell_asset) => {
- contract
- .methods()
- .create(
- bid_asset,
- duration,
- initial_price,
- reserve_price,
- seller,
- AuctionAsset::NFTAsset(sell_asset.clone()),
- )
- .set_contract_ids(&[sell_asset.asset_id.into(), sell_asset.asset_id.into()])
- .call()
- .await
- .unwrap()
- .value
- }
- AuctionAsset::TokenAsset(sell_asset) => {
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(
- sell_asset.amount,
- AssetId::from(*sell_asset.asset_id),
- 1_000_000,
- );
-
- contract
- .methods()
- .create(
- bid_asset,
- duration,
- initial_price,
- reserve_price,
- seller,
- AuctionAsset::TokenAsset(sell_asset.clone()),
- )
- .tx_params(tx_params)
- .call_params(call_params)
- .unwrap()
- .call()
- .await
- .unwrap()
- .value
- }
- }
- }
-
- pub(crate) async fn withdraw(
- auction_id: u64,
- contract: &EnglishAuction,
- withdrawing_asset: AuctionAsset,
- ) -> FuelCallResponse<()> {
- match withdrawing_asset {
- AuctionAsset::NFTAsset(withdrawing_asset) => contract
- .methods()
- .withdraw(auction_id)
- .set_contract_ids(&[withdrawing_asset.asset_id.into()])
- .call()
- .await
- .unwrap(),
- AuctionAsset::TokenAsset(_withdrawing_asset) => contract
- .methods()
- .withdraw(auction_id)
- .append_variable_outputs(1)
- .call()
- .await
- .unwrap(),
- }
- }
-}
+ let call_params = CallParameters::new(sell_amount, sell_asset, 1_000_000);
-pub(crate) mod nft {
- use super::*;
-
- pub(crate) async fn approve(
- approved: Option,
- contract: &Nft,
- token_id: u64,
- ) -> FuelCallResponse<()> {
contract
.methods()
- .approve(approved, token_id)
- .call()
- .await
+ .create(bid_asset, duration, initial_price, reserve_price, seller)
+ .with_tx_policies(TxPolicies::default().with_script_gas_limit(2_000_000))
+ .call_params(call_params)
.unwrap()
- }
-
- pub(crate) async fn mint(
- amount: u64,
- contract: &Nft,
- owner: Identity,
- ) -> FuelCallResponse<()> {
- contract.methods().mint(amount, owner).call().await.unwrap()
- }
-
- pub(crate) async fn owner_of(
- contract: &Nft,
- token_id: u64,
- ) -> Option {
- contract
- .methods()
- .owner_of(token_id)
.call()
.await
.unwrap()
.value
}
- pub(crate) async fn set_approval_for_all(
- approve: bool,
- contract: &Nft,
- operator: Identity,
+ pub(crate) async fn withdraw(
+ auction_id: u64,
+ contract: &EnglishAuction,
) -> FuelCallResponse<()> {
contract
.methods()
- .set_approval_for_all(approve, operator)
+ .withdraw(auction_id)
+ .append_variable_outputs(1)
.call()
.await
.unwrap()
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/info.rs b/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/info.rs
index b1fa3bf09..69436437f 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/info.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/utils/interface/info.rs
@@ -1,4 +1,4 @@
-use crate::utils::setup::{Auction, AuctionAsset, EnglishAuction};
+use crate::utils::setup::{Auction, EnglishAuction};
use fuels::{prelude::WalletUnlocked, types::Identity};
pub(crate) async fn auction_info(
@@ -18,7 +18,7 @@ pub(crate) async fn deposit_balance(
auction_id: u64,
contract: &EnglishAuction,
identity: Identity,
-) -> Option {
+) -> Option {
contract
.methods()
.deposit_balance(auction_id, identity)
diff --git a/auctions/english-auction/project/contracts/auction-contract/tests/utils/setup.rs b/auctions/english-auction/project/contracts/auction-contract/tests/utils/setup.rs
index af1b88e78..fbce94213 100644
--- a/auctions/english-auction/project/contracts/auction-contract/tests/utils/setup.rs
+++ b/auctions/english-auction/project/contracts/auction-contract/tests/utils/setup.rs
@@ -1,67 +1,53 @@
use fuels::{
prelude::{
- abigen, launch_custom_provider_and_get_wallets, AssetConfig, AssetId, Bech32ContractId,
- Config, Contract, ContractId, LoadConfiguration, StorageConfiguration, TxParameters,
- WalletUnlocked, WalletsConfig, BASE_ASSET_ID,
+ abigen, launch_custom_provider_and_get_wallets, AssetConfig, Bech32ContractId, Contract,
+ ContractId, LoadConfiguration, StorageConfiguration, TxPolicies, WalletUnlocked,
+ WalletsConfig, BASE_ASSET_ID,
},
- types::Identity,
+ types::{AssetId, Identity},
};
-abigen!(
- Contract(
- name = "EnglishAuction",
- abi = "./contracts/auction-contract/out/debug/auction-contract-abi.json"
- ),
- Contract(
- name = "Nft",
- abi = "./contracts/test-artifacts/NFT/out/debug/NFT-abi.json"
- ),
-);
+abigen!(Contract(
+ name = "EnglishAuction",
+ abi = "./contracts/auction-contract/out/debug/auction-contract-abi.json"
+),);
const AUCTION_CONTRACT_BINARY_PATH: &str = "./out/debug/auction-contract.bin";
const AUCTION_CONTRACT_STORAGE_PATH: &str = "./out/debug/auction-contract-storage_slots.json";
-const NFT_CONTRACT_BINARY_PATH: &str = "../test-artifacts/NFT/out/debug/NFT.bin";
-const NFT_CONTRACT_STORAGE_PATH: &str = "../test-artifacts/NFT/out/debug/NFT-storage_slots.json";
pub(crate) struct Metadata {
pub(crate) auction: EnglishAuction,
- pub(crate) nft: Nft,
pub(crate) wallet: WalletUnlocked,
}
#[allow(clippy::too_many_arguments)]
pub(crate) async fn create_auction_copy(
- bid_asset: AuctionAsset,
+ bid_asset: AssetId,
+ highest_bid: u64,
highest_bidder: Option,
- end_block: u64,
+ end_block: u32,
initial_price: u64,
reserve_price: Option,
- sell_asset: AuctionAsset,
+ sell_asset: AssetId,
+ sell_asset_amount: u64,
seller: Identity,
state: State,
) -> Auction {
Auction {
bid_asset,
- highest_bidder,
end_block,
+ highest_bid,
+ highest_bidder,
initial_price,
reserve_price,
sell_asset,
+ sell_asset_amount,
seller,
state,
}
}
-pub(crate) async fn defaults_nft() -> (u64, u64, u64, u64) {
- let sell_count = 1;
- let initial_count = 1;
- let reserve_count = 1;
- let duration = 10;
-
- (sell_count, initial_count, reserve_count, duration)
-}
-
-pub(crate) async fn defaults_token() -> (u64, u64, u64, u64, u64) {
+pub(crate) async fn defaults() -> (u64, u64, u64, u32, u64) {
let sell_amount = 10;
let initial_price = 1;
let reserve_price = 10;
@@ -77,22 +63,14 @@ pub(crate) async fn defaults_token() -> (u64, u64, u64, u64, u64) {
)
}
-pub(crate) async fn nft_asset(asset_id: ContractId, token_id: u64) -> AuctionAsset {
- let token = NFTAsset { asset_id, token_id };
-
- AuctionAsset::NFTAsset(token)
-}
-
pub(crate) async fn setup() -> (
Metadata,
Metadata,
Metadata,
Metadata,
ContractId,
- ContractId,
- ContractId,
- ContractId,
- ContractId,
+ AssetId,
+ AssetId,
) {
let number_of_coins = 1;
let coin_amount = 1_000_000;
@@ -118,13 +96,9 @@ pub(crate) async fn setup() -> (
let assets = vec![base_asset, buy_asset, sell_asset];
let wallet_config = WalletsConfig::new_multiple_assets(number_of_wallets, assets);
-
- let provider_config = Config {
- manual_blocks_enabled: true, // Necessary so the `produce_blocks` API can be used locally
- ..Config::local_node()
- };
- let mut wallets =
- launch_custom_provider_and_get_wallets(wallet_config, Some(provider_config), None).await;
+ let mut wallets = launch_custom_provider_and_get_wallets(wallet_config, None, None)
+ .await
+ .unwrap();
let wallet1 = wallets.pop().unwrap();
let wallet2 = wallets.pop().unwrap();
@@ -132,44 +106,20 @@ pub(crate) async fn setup() -> (
let wallet4 = wallets.pop().unwrap();
let auction_storage_configuration =
- StorageConfiguration::load_from(AUCTION_CONTRACT_STORAGE_PATH);
- let nft_storage_configuration = StorageConfiguration::load_from(NFT_CONTRACT_STORAGE_PATH);
- let buy_nft_storage_configuration = StorageConfiguration::load_from(NFT_CONTRACT_STORAGE_PATH);
-
+ StorageConfiguration::default().add_slot_overrides_from_file(AUCTION_CONTRACT_STORAGE_PATH);
let auction_configuration = LoadConfiguration::default()
- .set_storage_configuration(auction_storage_configuration.unwrap());
- let nft_configuration =
- LoadConfiguration::default().set_storage_configuration(nft_storage_configuration.unwrap());
- let buy_nft_configuration = LoadConfiguration::default()
- .set_storage_configuration(buy_nft_storage_configuration.unwrap())
- .set_salt([2u8; 32]);
+ .with_storage_configuration(auction_storage_configuration.unwrap());
let auction_id = Contract::load_from(AUCTION_CONTRACT_BINARY_PATH, auction_configuration)
.unwrap()
- .deploy(&wallet1, TxParameters::default())
- .await
- .unwrap();
-
- let sell_nft_id = Contract::load_from(NFT_CONTRACT_BINARY_PATH, nft_configuration)
- .unwrap()
- .deploy(&wallet1, TxParameters::default())
- .await
- .unwrap();
- let buy_nft_id = Contract::load_from(NFT_CONTRACT_BINARY_PATH, buy_nft_configuration)
- .unwrap()
- .deploy(&wallet3, TxParameters::default())
+ .deploy(&wallet1, TxPolicies::default())
.await
.unwrap();
- let deploy_wallet = user(wallet1, auction_id.clone(), sell_nft_id.clone()).await;
- let seller = user(wallet2, auction_id.clone(), sell_nft_id.clone()).await;
- let buyer1 = user(wallet3, auction_id.clone(), buy_nft_id.clone()).await;
- let buyer2 = user(
- wallet4,
- auction_id.clone(),
- ContractId::from(*buy_asset_id).into(),
- )
- .await;
+ let deploy_wallet = user(wallet1, auction_id.clone()).await;
+ let seller = user(wallet2, auction_id.clone()).await;
+ let buyer1 = user(wallet3, auction_id.clone()).await;
+ let buyer2 = user(wallet4, auction_id.clone()).await;
(
deploy_wallet,
@@ -177,27 +127,14 @@ pub(crate) async fn setup() -> (
buyer1,
buyer2,
auction_id.into(),
- ContractId::from(*sell_asset_id),
- sell_nft_id.into(),
- ContractId::from(*buy_asset_id),
- buy_nft_id.into(),
+ sell_asset_id,
+ buy_asset_id,
)
}
-pub(crate) async fn token_asset(asset_id: ContractId, amount: u64) -> AuctionAsset {
- let token = TokenAsset { asset_id, amount };
-
- AuctionAsset::TokenAsset(token)
-}
-
-async fn user(
- user_wallet: WalletUnlocked,
- auction_id: Bech32ContractId,
- nft_id: Bech32ContractId,
-) -> Metadata {
+async fn user(user_wallet: WalletUnlocked, auction_id: Bech32ContractId) -> Metadata {
Metadata {
auction: EnglishAuction::new(auction_id, user_wallet.clone()),
- nft: Nft::new(nft_id, user_wallet.clone()),
wallet: user_wallet,
}
}
diff --git a/auctions/english-auction/project/contracts/test-artifacts/NFT/.gitignore b/auctions/english-auction/project/contracts/test-artifacts/NFT/.gitignore
deleted file mode 100644
index 5e7f2c026..000000000
--- a/auctions/english-auction/project/contracts/test-artifacts/NFT/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-out
-target
diff --git a/auctions/english-auction/project/contracts/test-artifacts/NFT/Forc.toml b/auctions/english-auction/project/contracts/test-artifacts/NFT/Forc.toml
deleted file mode 100644
index bcede5a6e..000000000
--- a/auctions/english-auction/project/contracts/test-artifacts/NFT/Forc.toml
+++ /dev/null
@@ -1,8 +0,0 @@
-[project]
-authors = ["Fuel Labs "]
-entry = "main.sw"
-license = "Apache-2.0"
-name = "NFT"
-
-[dependencies]
-nft = { git = "https://github.com/FuelLabs/sway-libs", tag = "v0.12.0" }
diff --git a/auctions/english-auction/project/contracts/test-artifacts/NFT/src/main.sw b/auctions/english-auction/project/contracts/test-artifacts/NFT/src/main.sw
deleted file mode 100644
index 38949e0eb..000000000
--- a/auctions/english-auction/project/contracts/test-artifacts/NFT/src/main.sw
+++ /dev/null
@@ -1,53 +0,0 @@
-contract;
-
-use nft::{
- approve,
- approved,
- balance_of,
- is_approved_for_all,
- mint,
- NFT,
- owner_of,
- set_approval_for_all,
- tokens_minted,
- transfer,
-};
-
-impl NFT for Contract {
- #[storage(read, write)]
- fn approve(approved_identity: Option, token_id: u64) {
- approve(approved_identity, token_id);
- }
- #[storage(read)]
- fn approved(token_id: u64) -> Option {
- approved(token_id)
- }
- #[storage(read)]
- fn balance_of(owner: Identity) -> u64 {
- balance_of(owner)
- }
- #[storage(read)]
- fn is_approved_for_all(operator: Identity, owner: Identity) -> bool {
- is_approved_for_all(operator, owner)
- }
- #[storage(read, write)]
- fn mint(amount: u64, to: Identity) {
- mint(amount, to);
- }
- #[storage(read)]
- fn owner_of(token_id: u64) -> Option {
- owner_of(token_id)
- }
- #[storage(write)]
- fn set_approval_for_all(approval: bool, operator: Identity) {
- set_approval_for_all(approval, operator);
- }
- #[storage(read)]
- fn tokens_minted() -> u64 {
- tokens_minted()
- }
- #[storage(read, write)]
- fn transfer(to: Identity, token_id: u64) {
- transfer(to, token_id);
- }
-}
diff --git a/auctions/english-auction/project/fuel-toolchain.toml b/auctions/english-auction/project/fuel-toolchain.toml
index 85312ab11..e75c0bb58 100644
--- a/auctions/english-auction/project/fuel-toolchain.toml
+++ b/auctions/english-auction/project/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-07-18"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.42.1"
-fuel-core = "0.18.3"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/counter-script/README.md b/counter-script/README.md
index 23bcfda03..15ea4a66e 100644
--- a/counter-script/README.md
+++ b/counter-script/README.md
@@ -6,14 +6,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/counter-script/project/Cargo.lock b/counter-script/project/Cargo.lock
index b221fe439..59d6d60ea 100644
--- a/counter-script/project/Cargo.lock
+++ b/counter-script/project/Cargo.lock
@@ -40,13 +40,14 @@ dependencies = [
[[package]]
name = "ahash"
-version = "0.8.3"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
dependencies = [
"cfg-if",
"once_cell",
"version_check",
+ "zerocopy",
]
[[package]]
@@ -58,6 +59,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
[[package]]
name = "android-tzdata"
version = "0.1.1"
@@ -73,27 +80,176 @@ dependencies = [
"libc",
]
+[[package]]
+name = "anstream"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "anyhow"
version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
[[package]]
name = "ascii"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e"
+[[package]]
+name = "async-graphql"
+version = "4.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9ed522678d412d77effe47b3c82314ac36952a35e6e852093dd48287c421f80"
+dependencies = [
+ "async-graphql-derive",
+ "async-graphql-parser",
+ "async-graphql-value",
+ "async-stream",
+ "async-trait",
+ "base64 0.13.1",
+ "bytes",
+ "fnv",
+ "futures-util",
+ "http",
+ "indexmap 1.9.3",
+ "mime",
+ "multer",
+ "num-traits",
+ "once_cell",
+ "pin-project-lite",
+ "regex",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "static_assertions",
+ "tempfile",
+ "thiserror",
+ "tracing",
+ "tracing-futures",
+]
+
+[[package]]
+name = "async-graphql-derive"
+version = "4.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c121a894495d7d3fc3d4e15e0a9843e422e4d1d9e3c514d8062a1c94b35b005d"
+dependencies = [
+ "Inflector",
+ "async-graphql-parser",
+ "darling 0.14.4",
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "thiserror",
+]
+
+[[package]]
+name = "async-graphql-parser"
+version = "4.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b6c386f398145c6180206c1869c2279f5a3d45db5be4e0266148c6ac5c6ad68"
+dependencies = [
+ "async-graphql-value",
+ "pest",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "async-graphql-value"
+version = "4.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a941b499fead4a3fb5392cabf42446566d18c86313f69f2deab69560394d65f"
+dependencies = [
+ "bytes",
+ "indexmap 1.9.3",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "async-stream"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "async-trait"
-version = "0.1.72"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -111,6 +267,53 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+[[package]]
+name = "axum"
+version = "0.5.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "bitflags 1.3.2",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "tokio",
+ "tower",
+ "tower-http",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "tower-layer",
+ "tower-service",
+]
+
[[package]]
name = "backtrace"
version = "0.3.68"
@@ -124,6 +327,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
+ "serde",
]
[[package]]
@@ -179,9 +383,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitvec"
@@ -190,7 +397,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
dependencies = [
"either",
- "radium",
+ "radium 0.3.0",
+]
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium 0.7.0",
+ "tap",
+ "wyz",
]
[[package]]
@@ -211,12 +430,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
[[package]]
name = "bs58"
version = "0.4.0"
@@ -232,6 +445,12 @@ version = "3.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+[[package]]
+name = "byte-slice-cast"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
+
[[package]]
name = "byteorder"
version = "1.4.3"
@@ -240,9 +459,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
@@ -261,17 +480,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
- "time 0.1.45",
"wasm-bindgen",
- "winapi",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -284,6 +502,46 @@ dependencies = [
"inout",
]
+[[package]]
+name = "clap"
+version = "4.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
[[package]]
name = "cobs"
version = "0.2.3"
@@ -305,7 +563,7 @@ dependencies = [
"k256",
"lazy_static",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -315,14 +573,14 @@ version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84f4d04ee18e58356accd644896aeb2094ddeafb6a713e056cef0c0a8e468c15"
dependencies = [
- "bitvec",
+ "bitvec 0.17.4",
"coins-bip32",
"getrandom",
"hmac",
"once_cell",
"pbkdf2 0.12.2",
"rand",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -341,11 +599,17 @@ dependencies = [
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
]
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
[[package]]
name = "combine"
version = "3.8.1"
@@ -378,7 +642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.23",
+ "time",
"version_check",
]
@@ -395,7 +659,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "time 0.3.23",
+ "time",
"url",
]
@@ -439,6 +703,45 @@ version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
[[package]]
name = "crypto-bigint"
version = "0.5.2"
@@ -479,6 +782,33 @@ dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "cynic"
version = "2.2.8"
@@ -500,7 +830,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70a1bb05cc554f46079d0fa72abe995a2d32d0737d410a41da75b31e3f7ef768"
dependencies = [
"counter",
- "darling",
+ "darling 0.13.4",
"graphql-parser",
"once_cell",
"proc-macro2",
@@ -525,8 +855,18 @@ version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
dependencies = [
- "darling_core",
- "darling_macro",
+ "darling_core 0.13.4",
+ "darling_macro 0.13.4",
+]
+
+[[package]]
+name = "darling"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+dependencies = [
+ "darling_core 0.14.4",
+ "darling_macro 0.14.4",
]
[[package]]
@@ -543,13 +883,38 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "darling_core"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim",
+ "syn 1.0.109",
+]
+
[[package]]
name = "darling_macro"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
dependencies = [
- "darling_core",
+ "darling_core 0.13.4",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+dependencies = [
+ "darling_core 0.14.4",
"quote",
"syn 1.0.109",
]
@@ -609,6 +974,12 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "dtoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
+
[[package]]
name = "ecdsa"
version = "0.16.8"
@@ -623,6 +994,26 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "either"
version = "1.9.0"
@@ -631,9 +1022,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -657,6 +1048,32 @@ dependencies = [
"cfg-if",
]
+[[package]]
+name = "enum-iterator"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
[[package]]
name = "errno"
version = "0.3.1"
@@ -665,7 +1082,7 @@ checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
dependencies = [
"errno-dragonfly",
"libc",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -694,12 +1111,18 @@ dependencies = [
"scrypt",
"serde",
"serde_json",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -731,6 +1154,24 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f69037fe1b785e84986b4f2cbcf647381876a00671d25ceef715d7812dd7e1dd"
+
+[[package]]
+name = "fixed-hash"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534"
+dependencies = [
+ "byteorder",
+ "rand",
+ "rustc-hex",
+ "static_assertions",
+]
+
[[package]]
name = "fnv"
version = "1.0.7"
@@ -752,89 +1193,270 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
- "itertools",
+ "itertools 0.10.5",
"lazy_static",
"proc-macro2",
"quote",
"regex",
"serde",
"serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1331be83ba8ce8fa9217272b2709bbe29a01daff5fe7ef58ba1b64ec18fe40c0"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"fuel-types",
"serde",
"strum",
]
[[package]]
-name = "fuel-core-chain-config"
-version = "0.18.3"
+name = "fuel-core"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
+dependencies = [
+ "anyhow",
+ "async-graphql",
+ "async-trait",
+ "axum",
+ "clap",
+ "derive_more",
+ "enum-iterator",
+ "fuel-core-chain-config",
+ "fuel-core-consensus-module",
+ "fuel-core-database",
+ "fuel-core-executor",
+ "fuel-core-importer",
+ "fuel-core-metrics",
+ "fuel-core-poa",
+ "fuel-core-producer",
+ "fuel-core-services",
+ "fuel-core-storage",
+ "fuel-core-txpool",
+ "fuel-core-types",
+ "futures",
+ "hex",
+ "hyper",
+ "itertools 0.10.5",
+ "parking_lot",
+ "postcard",
+ "primitive-types",
+ "rand",
+ "serde",
+ "serde_json",
+ "strum",
+ "strum_macros",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tower-http",
+ "tracing",
+ "uuid 1.6.1",
+]
+
+[[package]]
+name = "fuel-core-chain-config"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
+dependencies = [
+ "anyhow",
+ "bech32 0.9.1",
+ "fuel-core-storage",
+ "fuel-core-types",
+ "hex",
+ "itertools 0.10.5",
+ "postcard",
+ "serde",
+ "serde_json",
+ "serde_with 1.14.0",
+ "tracing",
+]
+
+[[package]]
+name = "fuel-core-client"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
+dependencies = [
+ "anyhow",
+ "cynic",
+ "derive_more",
+ "eventsource-client",
+ "fuel-core-types",
+ "futures",
+ "hex",
+ "hyper-rustls 0.24.1",
+ "itertools 0.10.5",
+ "reqwest",
+ "schemafy_lib",
+ "serde",
+ "serde_json",
+ "tai64",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "fuel-core-consensus-module"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
+dependencies = [
+ "anyhow",
+ "fuel-core-chain-config",
+ "fuel-core-poa",
+ "fuel-core-types",
+ "tokio",
+]
+
+[[package]]
+name = "fuel-core-database"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
+dependencies = [
+ "anyhow",
+ "derive_more",
+ "fuel-core-storage",
+ "fuel-core-types",
+]
+
+[[package]]
+name = "fuel-core-executor"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
+dependencies = [
+ "anyhow",
+ "fuel-core-chain-config",
+ "fuel-core-storage",
+ "fuel-core-types",
+]
+
+[[package]]
+name = "fuel-core-importer"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
+dependencies = [
+ "anyhow",
+ "derive_more",
+ "fuel-core-metrics",
+ "fuel-core-storage",
+ "fuel-core-types",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "fuel-core-metrics"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
+dependencies = [
+ "axum",
+ "once_cell",
+ "pin-project-lite",
+ "prometheus-client 0.18.1",
+ "prometheus-client 0.20.0",
+ "regex",
+ "tracing",
+]
+
+[[package]]
+name = "fuel-core-poa"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "fuel-core-chain-config",
+ "fuel-core-services",
+ "fuel-core-storage",
+ "fuel-core-types",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+]
+
+[[package]]
+name = "fuel-core-producer"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e533fa1f86ae96579f4394205a7dfbad31715043f7119a82aa7a14effaed3a17"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
- "bech32 0.9.1",
+ "async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "hex",
- "itertools",
- "postcard",
- "rand",
- "serde",
- "serde_json",
- "serde_with 1.14.0",
+ "tokio",
+ "tokio-rayon",
"tracing",
]
[[package]]
-name = "fuel-core-client"
-version = "0.18.3"
+name = "fuel-core-services"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a6bf1c0a6e6acf848f4b994e0b91c96c4f443f71d26f437642d135d5d71d3d"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
- "cynic",
- "derive_more",
- "eventsource-client",
- "fuel-core-types",
+ "async-trait",
+ "fuel-core-metrics",
"futures",
- "hex",
- "hyper-rustls 0.24.1",
- "itertools",
- "reqwest",
- "serde",
- "serde_json",
- "tai64",
- "thiserror",
+ "parking_lot",
+ "tokio",
"tracing",
]
[[package]]
name = "fuel-core-storage"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ed1d03eb74feb0ea8538ab557e52c7bc4f1a1c3aaafba9076038da256d86920"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
+]
+
+[[package]]
+name = "fuel-core-txpool"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "fuel-core-chain-config",
+ "fuel-core-metrics",
+ "fuel-core-services",
+ "fuel-core-storage",
+ "fuel-core-types",
+ "futures",
+ "parking_lot",
+ "tokio",
+ "tokio-rayon",
+ "tokio-stream",
+ "tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059da83a7e012a438c9962cbfe1e1b2d3e04f67a75d5be8899009b6456b04002"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -848,55 +1470,73 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb3f73571a03523cb92826003753ff1bdd1882767e67801de223ce3ad6133349"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
+ "k256",
"lazy_static",
+ "p256",
"rand",
"secp256k1",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"zeroize",
]
+[[package]]
+name = "fuel-derive"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "synstructure",
+]
+
[[package]]
name = "fuel-merkle"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5646d95e02a63fd59da942fcf5d6217dbd8b6866c1ad3a0232be0913c4d077"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
dependencies = [
+ "derive_more",
"digest 0.10.7",
"fuel-storage",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.7",
- "thiserror",
+ "serde",
+ "sha2 0.10.8",
]
[[package]]
name = "fuel-storage"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b72444da90354b6d1d220b81c6803085689f5e7d53e1d4bd11cfa3d4c5a1b27"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
[[package]]
name = "fuel-tx"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04187579ecfbb04a380c60f9eecae1a288dbe463c111dc7dde66fa736445a638"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-types",
- "itertools",
- "num-integer",
+ "hashbrown 0.14.3",
+ "itertools 0.10.5",
"rand",
"serde",
"serde_json",
@@ -906,10 +1546,11 @@ dependencies = [
[[package]]
name = "fuel-types"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6543ca2f5124a19b1486507243188a57be64c9914d1908e154a1866eeffb69"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
"rand",
"serde",
@@ -917,32 +1558,42 @@ dependencies = [
[[package]]
name = "fuel-vm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d42e99fe69e913bbde4900f96efb6ceae13b68d369bf22d4b435571d6ed7d65"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags 1.3.2",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-storage",
"fuel-tx",
"fuel-types",
- "itertools",
- "rand",
+ "hashbrown 0.14.3",
+ "itertools 0.10.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
"sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
]
[[package]]
name = "fuels"
-version = "0.43.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa81d69072a9d4ba6fac79d9b5b66348daf95089ecda85a9231e41e5dd45bc85"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
+ "fuel-core",
"fuel-core-client",
"fuel-tx",
"fuels-accounts",
@@ -954,12 +1605,11 @@ dependencies = [
[[package]]
name = "fuels-accounts"
-version = "0.43.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9a03259b1ece608c33541477fed7dea07bb3e78f25f85a8a3060f6501d6e982"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes",
"chrono",
"elliptic-curve",
"eth-keystore",
@@ -970,117 +1620,106 @@ dependencies = [
"fuel-vm",
"fuels-core",
"hex",
- "itertools",
"rand",
- "serde",
- "sha2 0.10.7",
+ "semver",
"tai64",
"thiserror",
"tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.43.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e8ec25373ed1ae06cfe53afc4e3ecd6057aa4ff3a3329e40f42784afe21726b"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-core"
-version = "0.43.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b133aff726340284937e3233b8c9dd8429812dd463e4e6f53373ca13e644c99"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
"bech32 0.9.1",
"chrono",
"fuel-abi-types",
"fuel-asm",
"fuel-core-chain-config",
"fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
"fuels-macros",
"hex",
- "itertools",
- "proc-macro2",
- "regex",
+ "itertools 0.12.0",
"serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
+ "sha2 0.10.8",
"thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.43.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ef684e13ddc8b16f7828dc98ca309f69a6516068bb307c78b8e64aaf010b397"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"rand",
- "regex",
- "serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-programs"
-version = "0.43.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09e582cc270a794e02e40150f79d2a92830bf5adaaadf4147de02689ae17c287"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
"bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "hex",
- "itertools",
- "proc-macro2",
+ "itertools 0.12.0",
"rand",
- "regex",
- "serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
- "thiserror",
"tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.43.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3b0f1475beb61ad66163dc57234170b7319aacf79d9147a28c7ff43cc6fd8f0"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
+ "fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
"futures",
@@ -1089,12 +1728,18 @@ dependencies = [
"rand",
"serde",
"serde_json",
- "serde_with 2.3.3",
+ "serde_with 3.4.0",
"tempfile",
"tokio",
"which",
]
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
[[package]]
name = "futures"
version = "0.3.28"
@@ -1151,7 +1796,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1204,7 +1849,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
@@ -1247,7 +1892,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http",
- "indexmap",
+ "indexmap 1.9.3",
"slab",
"tokio",
"tokio-util",
@@ -1278,6 +1923,17 @@ dependencies = [
"ahash",
]
+[[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
+
[[package]]
name = "heapless"
version = "0.7.16"
@@ -1322,6 +1978,15 @@ dependencies = [
"digest 0.10.7",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "http"
version = "0.2.9"
@@ -1344,6 +2009,12 @@ dependencies = [
"pin-project-lite",
]
+[[package]]
+name = "http-range-header"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f"
+
[[package]]
name = "httparse"
version = "1.8.0"
@@ -1373,7 +2044,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -1486,6 +2157,26 @@ dependencies = [
"unicode-normalization",
]
+[[package]]
+name = "impl-codec"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
+dependencies = [
+ "parity-scale-codec",
+]
+
+[[package]]
+name = "impl-trait-for-tuples"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
[[package]]
name = "indexmap"
version = "1.9.3"
@@ -1494,6 +2185,17 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
dependencies = [
"autocfg",
"hashbrown 0.12.3",
+ "serde",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.3",
]
[[package]]
@@ -1520,6 +2222,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -1545,7 +2256,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"once_cell",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"signature",
]
@@ -1566,15 +2277,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.150"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "lock_api"
@@ -1598,11 +2315,26 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+[[package]]
+name = "matchit"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
+
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
[[package]]
name = "mime"
@@ -1621,23 +2353,31 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "wasi",
+ "windows-sys 0.48.0",
]
[[package]]
-name = "num-integer"
-version = "0.1.45"
+name = "multer"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2"
dependencies = [
- "autocfg",
- "num-traits",
+ "bytes",
+ "encoding_rs",
+ "futures-util",
+ "http",
+ "httparse",
+ "log",
+ "memchr",
+ "mime",
+ "spin 0.9.8",
+ "version_check",
]
[[package]]
@@ -1686,6 +2426,44 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2 0.10.8",
+]
+
+[[package]]
+name = "parity-scale-codec"
+version = "3.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb"
+dependencies = [
+ "arrayvec",
+ "bitvec 1.0.1",
+ "byte-slice-cast",
+ "impl-trait-for-tuples",
+ "parity-scale-codec-derive",
+ "serde",
+]
+
+[[package]]
+name = "parity-scale-codec-derive"
+version = "3.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
[[package]]
name = "parking_lot"
version = "0.12.1"
@@ -1704,11 +2482,17 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"smallvec",
- "windows-targets",
+ "windows-targets 0.48.1",
]
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
[[package]]
name = "pbkdf2"
version = "0.11.0"
@@ -1734,6 +2518,17 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+[[package]]
+name = "pest"
+version = "2.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
+dependencies = [
+ "memchr",
+ "thiserror",
+ "ucd-trie",
+]
+
[[package]]
name = "pin-project"
version = "1.1.2"
@@ -1751,14 +2546,14 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -1776,6 +2571,12 @@ dependencies = [
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
@@ -1802,13 +2603,89 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7dbe9ed3b56368bd99483eb32fe9c17fdd3730aebadc906918ce78d54c7eeb4"
+dependencies = [
+ "elliptic-curve",
+]
+
+[[package]]
+name = "primitive-types"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2"
+dependencies = [
+ "fixed-hash",
+ "impl-codec",
+ "uint",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit",
+]
+
[[package]]
name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "prometheus-client"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c"
+dependencies = [
+ "dtoa",
+ "itoa",
+ "parking_lot",
+ "prometheus-client-derive-text-encode",
+]
+
+[[package]]
+name = "prometheus-client"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e227aeb6c2cfec819e999c4773b35f8c7fa37298a203ff46420095458eee567e"
+dependencies = [
+ "dtoa",
+ "itoa",
+ "parking_lot",
+ "prometheus-client-derive-encode",
+]
+
+[[package]]
+name = "prometheus-client-derive-encode"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "prometheus-client-derive-text-encode"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd"
dependencies = [
- "unicode-ident",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
]
[[package]]
@@ -1829,9 +2706,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.32"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@@ -1842,6 +2719,12 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
[[package]]
name = "rand"
version = "0.8.5"
@@ -1872,6 +2755,26 @@ dependencies = [
"getrandom",
]
+[[package]]
+name = "rayon"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
[[package]]
name = "redox_syscall"
version = "0.3.5"
@@ -1881,11 +2784,20 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "regex"
-version = "1.9.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -1895,9 +2807,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.3"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -1906,9 +2818,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -1991,6 +2903,12 @@ version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+[[package]]
+name = "rustc-hex"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
+
[[package]]
name = "rustc_version"
version = "0.4.0"
@@ -2002,15 +2920,15 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.4"
+version = "0.38.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2118,7 +3036,33 @@ version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
dependencies = [
- "windows-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
]
[[package]]
@@ -2136,7 +3080,7 @@ dependencies = [
"hmac",
"pbkdf2 0.11.0",
"salsa20",
- "sha2 0.10.7",
+ "sha2 0.10.8",
]
[[package]]
@@ -2226,35 +3170,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -2285,9 +3229,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "2.3.3"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
]
@@ -2298,7 +3242,7 @@ version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
dependencies = [
- "darling",
+ "darling 0.13.4",
"proc-macro2",
"quote",
"syn 1.0.109",
@@ -2319,9 +3263,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -2382,6 +3326,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -2466,15 +3420,33 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.27"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
+[[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -2484,17 +3456,23 @@ dependencies = [
"serde",
]
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
[[package]]
name = "tempfile"
-version = "3.7.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand",
- "redox_syscall",
+ "redox_syscall 0.4.1",
"rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2507,33 +3485,22 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "syn 2.0.39",
]
[[package]]
@@ -2580,11 +3547,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.29.1"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
- "autocfg",
"backtrace",
"bytes",
"libc",
@@ -2593,9 +3559,9 @@ dependencies = [
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2610,13 +3576,23 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "tokio-rayon"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cf33a76e0b1dd03b778f83244137bd59887abf25c0e87bc3e7071105f457693"
+dependencies = [
+ "rayon",
+ "tokio",
]
[[package]]
@@ -2640,6 +3616,18 @@ dependencies = [
"tokio",
]
+[[package]]
+name = "tokio-stream"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+ "tokio-util",
+]
+
[[package]]
name = "tokio-util"
version = "0.7.8"
@@ -2654,6 +3642,66 @@ dependencies = [
"tracing",
]
+[[package]]
+name = "toml_datetime"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+
+[[package]]
+name = "toml_edit"
+version = "0.19.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+dependencies = [
+ "indexmap 2.1.0",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project",
+ "pin-project-lite",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-http"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
+dependencies = [
+ "bitflags 1.3.2",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "http-range-header",
+ "pin-project-lite",
+ "tokio",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
[[package]]
name = "tower-service"
version = "0.3.2"
@@ -2667,6 +3715,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [
"cfg-if",
+ "log",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
@@ -2680,7 +3729,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -2692,6 +3741,18 @@ dependencies = [
"once_cell",
]
+[[package]]
+name = "tracing-futures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
+dependencies = [
+ "futures",
+ "futures-task",
+ "pin-project",
+ "tracing",
+]
+
[[package]]
name = "try-lock"
version = "0.2.4"
@@ -2704,6 +3765,24 @@ version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+[[package]]
+name = "ucd-trie"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
+
+[[package]]
+name = "uint"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52"
+dependencies = [
+ "byteorder",
+ "crunchy",
+ "hex",
+ "static_assertions",
+]
+
[[package]]
name = "unicode-bidi"
version = "0.3.13"
@@ -2725,6 +3804,12 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -2751,6 +3836,12 @@ dependencies = [
"percent-encoding",
]
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
[[package]]
name = "uuid"
version = "0.8.2"
@@ -2761,6 +3852,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -2782,12 +3882,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -2815,7 +3909,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
@@ -2849,7 +3943,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -2910,13 +4004,15 @@ dependencies = [
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2947,7 +4043,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
- "windows-targets",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -2956,7 +4052,16 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets",
+ "windows-targets 0.48.1",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
]
[[package]]
@@ -2965,13 +4070,28 @@ version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
]
[[package]]
@@ -2980,42 +4100,93 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winnow"
+version = "0.5.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67b5f0a4e7a27a64c651977932b9dc5667ca7fc31ac44b03ed37a0cf42fdfff"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "winreg"
version = "0.10.1"
@@ -3025,6 +4196,35 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d075cf85bbb114e933343e087b92f2146bac0d55b534cbb8188becf0039948e"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86cd5ca076997b97ef09d3ad65efe811fa68c9e874cb636ccb211223a813b0c2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "zeroize"
version = "1.6.0"
@@ -3042,5 +4242,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
diff --git a/counter-script/project/Forc.lock b/counter-script/project/Forc.lock
index b530f2980..f4c67feae 100644
--- a/counter-script/project/Forc.lock
+++ b/counter-script/project/Forc.lock
@@ -1,29 +1,29 @@
[[package]]
-name = 'core'
-source = 'path+from-root-9BFE6D5D0CBDF740'
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'counter_contract'
-source = 'member'
+name = "counter_contract"
+source = "member"
dependencies = [
- 'libraries',
- 'std',
+ "libraries",
+ "std",
]
[[package]]
-name = 'interaction_script'
-source = 'member'
+name = "interaction_script"
+source = "member"
dependencies = [
- 'libraries',
- 'std',
+ "libraries",
+ "std",
]
[[package]]
-name = 'libraries'
-source = 'path+from-root-4F344E6D2A50F28B'
-dependencies = ['std']
+name = "libraries"
+source = "path+from-root-4F344E6D2A50F28B"
+dependencies = ["std"]
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.42.1#3b66f8e424bd21e3ba467783b10b36e808cfa6ee'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
diff --git a/counter-script/project/fuel-toolchain.toml b/counter-script/project/fuel-toolchain.toml
index 0fcfb7071..e75c0bb58 100644
--- a/counter-script/project/fuel-toolchain.toml
+++ b/counter-script/project/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-07-07"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.42.1"
-fuel-core = "0.18.3"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/counter-script/project/scripts/interaction_script/Cargo.toml b/counter-script/project/scripts/interaction_script/Cargo.toml
index de75c7430..aeb92c601 100644
--- a/counter-script/project/scripts/interaction_script/Cargo.toml
+++ b/counter-script/project/scripts/interaction_script/Cargo.toml
@@ -5,7 +5,7 @@ edition = "2021"
[dependencies]
-fuels = "0.43.0"
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
tokio = { version = "1.12", features = ["rt", "macros"] }
[[test]]
diff --git a/counter-script/project/scripts/interaction_script/tests/harness.rs b/counter-script/project/scripts/interaction_script/tests/harness.rs
index ae7a28a03..5dd5ce8fa 100644
--- a/counter-script/project/scripts/interaction_script/tests/harness.rs
+++ b/counter-script/project/scripts/interaction_script/tests/harness.rs
@@ -1,8 +1,10 @@
use fuels::{
accounts::wallet::WalletUnlocked,
- prelude::{abigen, Contract, LoadConfiguration, StorageConfiguration, TxParameters},
+ prelude::{
+ abigen, launch_provider_and_get_wallet, Contract, LoadConfiguration, StorageConfiguration,
+ TxPolicies,
+ },
programs::contract::SettableContract,
- test_helpers::launch_provider_and_get_wallet,
};
// The following macro will automatically generate some structs for you, to easily interact with contracts and scripts.
@@ -29,18 +31,19 @@ pub async fn setup() -> (
InteractionScript,
) {
// The `launch_provider_and_get_wallet` function will launch a local provider and create a wallet for you.
- let wallet = launch_provider_and_get_wallet().await;
+ let wallet = launch_provider_and_get_wallet().await.unwrap();
// The following code will load the storage configuration (default storage values) from the contract and create a configuration object.
- let storage_configuration =
- StorageConfiguration::load_from(STORAGE_CONFIGURATION_PATH).unwrap();
+ let storage_configuration = StorageConfiguration::default()
+ .add_slot_overrides_from_file(STORAGE_CONFIGURATION_PATH)
+ .unwrap();
let configuration =
- LoadConfiguration::default().set_storage_configuration(storage_configuration);
+ LoadConfiguration::default().with_storage_configuration(storage_configuration);
// The following code will deploy the contract and store the returned ContractId in the `id` variable.
let id = Contract::load_from(CONTRACT_BIN_PATH, configuration)
.unwrap()
- .deploy(&wallet, TxParameters::default())
+ .deploy(&wallet, TxPolicies::default())
.await
.unwrap();
@@ -59,7 +62,7 @@ async fn test_script_clearing_at_end() {
// Execute the script with the `clear` parameter set to true.
let result = script_instance
.main(contract_instance.id(), true) // Passing the main function parameters defined in the sway script code.
- .set_contracts(&[&contract_instance]) // Defining the contracts that the script will interact with.
+ .with_contracts(&[&contract_instance]) // Defining the contracts that the script will interact with.
.call()
.await
.unwrap()
@@ -76,7 +79,7 @@ async fn test_script_not_clearing_at_end() {
// Execute the script with the `clear` parameter set to false.
let result = script_instance
.main(contract_instance.id(), false) // Passing the main function parameters defined in the sway script code.
- .set_contracts(&[&contract_instance]) // Defining the contracts that the script will interact with.
+ .with_contracts(&[&contract_instance]) // Defining the contracts that the script will interact with.
.call()
.await
.unwrap()
diff --git a/escrow/README.md b/escrow/README.md
index 62a417e7a..9e26b70e7 100644
--- a/escrow/README.md
+++ b/escrow/README.md
@@ -6,14 +6,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/escrow/project/Cargo.lock b/escrow/project/Cargo.lock
index 4c9d40939..a3a366b5f 100644
--- a/escrow/project/Cargo.lock
+++ b/escrow/project/Cargo.lock
@@ -58,6 +58,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
[[package]]
name = "android-tzdata"
version = "0.1.1"
@@ -232,18 +238,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "async-trait"
-version = "0.1.72"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -321,6 +327,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
+ "serde",
]
[[package]]
@@ -376,9 +383,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitvec"
@@ -420,12 +430,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
[[package]]
name = "bs58"
version = "0.4.0"
@@ -455,9 +459,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
@@ -476,17 +480,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
- "time 0.1.45",
"wasm-bindgen",
- "winapi",
+ "windows-targets",
]
[[package]]
@@ -531,7 +534,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -561,7 +564,7 @@ dependencies = [
"k256",
"lazy_static",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -578,7 +581,7 @@ dependencies = [
"once_cell",
"pbkdf2 0.12.2",
"rand",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -597,7 +600,7 @@ dependencies = [
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
]
@@ -640,7 +643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.23",
+ "time",
"version_check",
]
@@ -657,7 +660,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "time 0.3.23",
+ "time",
"url",
]
@@ -790,6 +793,33 @@ dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
[[package]]
name = "cynic"
version = "2.2.8"
@@ -975,6 +1005,27 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2 0.10.8",
+ "subtle",
+]
+
[[package]]
name = "either"
version = "1.9.0"
@@ -983,9 +1034,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -1026,7 +1077,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1080,12 +1131,18 @@ dependencies = [
"scrypt",
"serde",
"serde_json",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -1117,6 +1174,12 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7"
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -1146,23 +1209,28 @@ dependencies = [
[[package]]
name = "fuel-abi-types"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99a7aeb41cdabffa38418b00fd57b5571dc58ee5af606e845a088befecd36"
+checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
+ "itertools 0.10.5",
"lazy_static",
+ "proc-macro2",
+ "quote",
"regex",
"serde",
+ "serde_json",
+ "syn 2.0.39",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1331be83ba8ce8fa9217272b2709bbe29a01daff5fe7ef58ba1b64ec18fe40c0"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"fuel-types",
"serde",
"strum",
@@ -1170,9 +1238,9 @@ dependencies = [
[[package]]
name = "fuel-core"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c978d128cd4cc73675a5424a67c5c0dbb70fbb52bb6e5d1bf38664f966e369d"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
dependencies = [
"anyhow",
"async-graphql",
@@ -1186,6 +1254,7 @@ dependencies = [
"fuel-core-database",
"fuel-core-executor",
"fuel-core-importer",
+ "fuel-core-metrics",
"fuel-core-poa",
"fuel-core-producer",
"fuel-core-services",
@@ -1195,7 +1264,8 @@ dependencies = [
"futures",
"hex",
"hyper",
- "itertools",
+ "itertools 0.10.5",
+ "parking_lot",
"postcard",
"primitive-types",
"rand",
@@ -1208,22 +1278,22 @@ dependencies = [
"tokio-stream",
"tower-http",
"tracing",
+ "uuid 1.6.1",
]
[[package]]
name = "fuel-core-chain-config"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e533fa1f86ae96579f4394205a7dfbad31715043f7119a82aa7a14effaed3a17"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
dependencies = [
"anyhow",
"bech32 0.9.1",
"fuel-core-storage",
"fuel-core-types",
"hex",
- "itertools",
+ "itertools 0.10.5",
"postcard",
- "rand",
"serde",
"serde_json",
"serde_with 1.14.0",
@@ -1232,9 +1302,9 @@ dependencies = [
[[package]]
name = "fuel-core-client"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a6bf1c0a6e6acf848f4b994e0b91c96c4f443f71d26f437642d135d5d71d3d"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
dependencies = [
"anyhow",
"cynic",
@@ -1244,8 +1314,9 @@ dependencies = [
"futures",
"hex",
"hyper-rustls 0.24.1",
- "itertools",
+ "itertools 0.10.5",
"reqwest",
+ "schemafy_lib",
"serde",
"serde_json",
"tai64",
@@ -1255,9 +1326,9 @@ dependencies = [
[[package]]
name = "fuel-core-consensus-module"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10dfa90f07cd210da9e16c61f5405a9d5c71a701848e6f9e01a1568b3b8c0f91"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1268,21 +1339,21 @@ dependencies = [
[[package]]
name = "fuel-core-database"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5b8f8f12e8b7dfa5e68ee32cbecfba2e8aa2a06b930fd181f0b4ae71652484"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
]
[[package]]
name = "fuel-core-executor"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0dc752bfd46dee5ab51fd46f13858b9aa85865ba76d180c9c8e3cc0b25949b"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1292,36 +1363,39 @@ dependencies = [
[[package]]
name = "fuel-core-importer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0989eb91e18f3541b7a690ed3bca92521939e80f507a08ce0fd6d8bf34cf1eb"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
dependencies = [
"anyhow",
+ "derive_more",
+ "fuel-core-metrics",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tracing",
]
[[package]]
name = "fuel-core-metrics"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401e1a1187a91f1df5808c8416137623f119f058f6c6e2710d43c58744e9fa14"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
dependencies = [
"axum",
- "lazy_static",
"once_cell",
+ "pin-project-lite",
"prometheus-client 0.18.1",
"prometheus-client 0.20.0",
+ "regex",
+ "tracing",
]
[[package]]
name = "fuel-core-poa"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e15616957477d7c37f5845d58abcb13f8ab9a7f526a499a795bb7b8618c6e238"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
dependencies = [
"anyhow",
"async-trait",
@@ -1336,15 +1410,15 @@ dependencies = [
[[package]]
name = "fuel-core-producer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df203c0e56c1827831a363e895aea7c9c642c18f1a57adbdd8ac6c4e115231dc"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
"async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tokio-rayon",
"tracing",
@@ -1352,12 +1426,13 @@ dependencies = [
[[package]]
name = "fuel-core-services"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecc615cb429744e1783db0d5b30dd01ec0d73c675f47964e62edc1f01b40ac2"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
"async-trait",
+ "fuel-core-metrics",
"futures",
"parking_lot",
"tokio",
@@ -1366,21 +1441,21 @@ dependencies = [
[[package]]
name = "fuel-core-storage"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ed1d03eb74feb0ea8538ab557e52c7bc4f1a1c3aaafba9076038da256d86920"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
]
[[package]]
name = "fuel-core-txpool"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d563ceae0ed89ed34f78a7835d15a40ef9d35c9b260b622049335e6c8deb884f"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
dependencies = [
"anyhow",
"async-trait",
@@ -1389,17 +1464,19 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
+ "futures",
"parking_lot",
"tokio",
+ "tokio-rayon",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059da83a7e012a438c9962cbfe1e1b2d3e04f67a75d5be8899009b6456b04002"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -1413,55 +1490,73 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb3f73571a03523cb92826003753ff1bdd1882767e67801de223ce3ad6133349"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
+ "k256",
"lazy_static",
+ "p256",
"rand",
"secp256k1",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"zeroize",
]
+[[package]]
+name = "fuel-derive"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "synstructure",
+]
+
[[package]]
name = "fuel-merkle"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5646d95e02a63fd59da942fcf5d6217dbd8b6866c1ad3a0232be0913c4d077"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
dependencies = [
+ "derive_more",
"digest 0.10.7",
"fuel-storage",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.7",
- "thiserror",
+ "serde",
+ "sha2 0.10.8",
]
[[package]]
name = "fuel-storage"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b72444da90354b6d1d220b81c6803085689f5e7d53e1d4bd11cfa3d4c5a1b27"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
[[package]]
name = "fuel-tx"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04187579ecfbb04a380c60f9eecae1a288dbe463c111dc7dde66fa736445a638"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-types",
- "itertools",
- "num-integer",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
"rand",
"serde",
"serde_json",
@@ -1471,10 +1566,11 @@ dependencies = [
[[package]]
name = "fuel-types"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6543ca2f5124a19b1486507243188a57be64c9914d1908e154a1866eeffb69"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
"rand",
"serde",
@@ -1482,31 +1578,40 @@ dependencies = [
[[package]]
name = "fuel-vm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d42e99fe69e913bbde4900f96efb6ceae13b68d369bf22d4b435571d6ed7d65"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags 1.3.2",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-storage",
"fuel-tx",
"fuel-types",
- "itertools",
- "rand",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
"sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
]
[[package]]
name = "fuels"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa0bee7463c6bee4920c60315492a25a3026f1a68d15570cef7b470b04ecdf9"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
"fuel-core",
"fuel-core-client",
@@ -1516,17 +1621,15 @@ dependencies = [
"fuels-macros",
"fuels-programs",
"fuels-test-helpers",
- "fuels-types",
]
[[package]]
name = "fuels-accounts"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28dad265d8fc612aaef2a4c1fa8bb14d77541575a6d2de6d26e66acc94afdaae"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes",
"chrono",
"elliptic-curve",
"eth-keystore",
@@ -1536,148 +1639,121 @@ dependencies = [
"fuel-types",
"fuel-vm",
"fuels-core",
- "fuels-types",
"hex",
- "itertools",
"rand",
- "serde",
- "sha2 0.10.7",
+ "semver",
"tai64",
"thiserror",
"tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97e7b697abfac23b3505fa3136bb3e910ed664caa58d1efcb6e11644aa95d8aa"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-core"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d565f3c3c2974616984149c0440e03aadd600abe29e6268d41ebbdf21ae89915"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
+ "bech32 0.9.1",
+ "chrono",
+ "fuel-abi-types",
+ "fuel-asm",
+ "fuel-core-chain-config",
+ "fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
- "fuels-types",
+ "fuels-macros",
"hex",
- "itertools",
- "sha2 0.10.7",
+ "itertools 0.12.0",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396b1007bf06f788b47bc710f53bce2cf5c74c32cf072baeae46abfbba1b5c33"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"rand",
- "regex",
- "serde_json",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "fuels-programs"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf6c51214d91115708cea3c7ea62e447623305b281c341f5ed6a18a14ab40f8e"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
"bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "fuels-types",
- "hex",
- "itertools",
- "proc-macro2",
+ "itertools 0.12.0",
"rand",
- "regex",
- "serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
- "thiserror",
"tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cac950d5fb1a182c897135e68337e750dd8a48e35dd3849a9fc2d602eb55035"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
"fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
- "fuels-types",
+ "fuels-core",
"futures",
"hex",
"portpicker",
"rand",
"serde",
"serde_json",
- "serde_with 2.3.3",
+ "serde_with 3.4.0",
"tempfile",
"tokio",
"which",
]
-[[package]]
-name = "fuels-types"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e94e08cfab823b1a6ed2830fe22067dd7112f0fe5228bec23d4e95cefebcfe"
-dependencies = [
- "bech32 0.9.1",
- "chrono",
- "fuel-abi-types",
- "fuel-asm",
- "fuel-core-chain-config",
- "fuel-core-client",
- "fuel-tx",
- "fuel-types",
- "fuels-macros",
- "hex",
- "itertools",
- "proc-macro2",
- "regex",
- "serde",
- "serde_json",
- "strum",
- "strum_macros",
- "thiserror",
-]
-
[[package]]
name = "funty"
version = "2.0.0"
@@ -1740,7 +1816,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -1793,7 +1869,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
@@ -1872,6 +1948,11 @@ name = "hashbrown"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
[[package]]
name = "heapless"
@@ -1917,6 +1998,15 @@ dependencies = [
"digest 0.10.7",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
[[package]]
name = "http"
version = "0.2.9"
@@ -1974,7 +2064,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -2163,6 +2253,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -2188,7 +2287,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"once_cell",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"signature",
]
@@ -2209,15 +2308,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "lock_api"
@@ -2249,9 +2354,9 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "memoffset"
@@ -2279,12 +2384,12 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"windows-sys",
]
@@ -2306,16 +2411,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.16"
@@ -2362,6 +2457,18 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "parity-scale-codec"
version = "3.6.4"
@@ -2406,11 +2513,17 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"smallvec",
"windows-targets",
]
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
[[package]]
name = "pbkdf2"
version = "0.11.0"
@@ -2463,14 +2576,14 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -2488,6 +2601,12 @@ dependencies = [
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
@@ -2514,6 +2633,15 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7dbe9ed3b56368bd99483eb32fe9c17fdd3730aebadc906918ce78d54c7eeb4"
+dependencies = [
+ "elliptic-curve",
+]
+
[[package]]
name = "primitive-types"
version = "0.12.1"
@@ -2537,9 +2665,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
dependencies = [
"unicode-ident",
]
@@ -2608,9 +2736,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.32"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@@ -2688,11 +2816,20 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "regex"
-version = "1.9.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -2702,9 +2839,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.3"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -2713,9 +2850,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -2815,11 +2952,11 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.4"
+version = "0.38.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
@@ -2934,6 +3071,32 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
+]
+
[[package]]
name = "scopeguard"
version = "1.2.0"
@@ -2949,7 +3112,7 @@ dependencies = [
"hmac",
"pbkdf2 0.11.0",
"salsa20",
- "sha2 0.10.7",
+ "sha2 0.10.8",
]
[[package]]
@@ -3039,35 +3202,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -3098,9 +3261,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "2.3.3"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
]
@@ -3132,9 +3295,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -3195,6 +3358,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -3279,9 +3452,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.27"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -3294,6 +3467,18 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -3311,46 +3496,35 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.7.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand",
- "redox_syscall",
+ "redox_syscall 0.4.1",
"rustix",
"windows-sys",
]
[[package]]
name = "thiserror"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "syn 2.0.39",
]
[[package]]
@@ -3397,11 +3571,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.29.1"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
- "autocfg",
"backtrace",
"bytes",
"libc",
@@ -3410,7 +3583,7 @@ dependencies = [
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys",
]
@@ -3427,13 +3600,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3540,6 +3713,7 @@ dependencies = [
"http-body",
"http-range-header",
"pin-project-lite",
+ "tokio",
"tower",
"tower-layer",
"tower-service",
@@ -3579,7 +3753,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
[[package]]
@@ -3654,6 +3828,12 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -3696,6 +3876,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3717,12 +3906,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -3750,7 +3933,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
@@ -3784,7 +3967,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -3845,13 +4028,15 @@ dependencies = [
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix",
+ "windows-sys",
]
[[package]]
@@ -3995,5 +4180,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.39",
]
diff --git a/escrow/project/Forc.lock b/escrow/project/Forc.lock
index fbc067aa1..c11122b38 100644
--- a/escrow/project/Forc.lock
+++ b/escrow/project/Forc.lock
@@ -1,13 +1,13 @@
[[package]]
-name = 'core'
-source = 'path+from-root-9BFE6D5D0CBDF740'
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'escrow-contract'
-source = 'member'
-dependencies = ['std']
+name = "escrow-contract"
+source = "member"
+dependencies = ["std"]
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.42.1#3b66f8e424bd21e3ba467783b10b36e808cfa6ee'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
diff --git a/escrow/project/contracts/escrow-contract/Cargo.toml b/escrow/project/contracts/escrow-contract/Cargo.toml
index d51646e75..a02302580 100644
--- a/escrow/project/contracts/escrow-contract/Cargo.toml
+++ b/escrow/project/contracts/escrow-contract/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
license = "Apache-2.0"
[dependencies]
-fuels = { version = "0.42.0", features = ["fuel-core-lib"] }
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
tokio = { version = "1.12", features = ["rt", "macros"] }
[[test]]
diff --git a/escrow/project/contracts/escrow-contract/src/data_structures.sw b/escrow/project/contracts/escrow-contract/src/data_structures.sw
index 0560a9d42..e6381b444 100644
--- a/escrow/project/contracts/escrow-contract/src/data_structures.sw
+++ b/escrow/project/contracts/escrow-contract/src/data_structures.sw
@@ -7,7 +7,7 @@ pub struct Arbiter {
/// Address identifying the arbiter.
address: Identity,
/// The asset that the arbiter will be paid in upon resolution.
- asset: ContractId,
+ asset: AssetId,
/// The quantity of asset to be taken as payment.
fee_amount: u64,
}
@@ -23,7 +23,7 @@ pub struct Asset {
/// Amount of asset the user must deposit.
amount: u64,
/// The id used to identify the asset for deposit.
- id: ContractId,
+ id: AssetId,
}
/// Represents the user who is buying the asset.
@@ -31,7 +31,7 @@ pub struct Buyer {
/// Address identifying the buyer.
address: Identity,
/// The asset that the user has currently deposited in the contract.
- asset: Option,
+ asset: Option,
// Minor data duplication allows us to forego validating unique assets upon escrow creation
// otherwise the same asset with different values can be added which, if handled incorrectly,
// may allow the user to drain the contract
diff --git a/escrow/project/contracts/escrow-contract/src/events.sw b/escrow/project/contracts/escrow-contract/src/events.sw
index ca8c38d4f..7abf85db7 100644
--- a/escrow/project/contracts/escrow-contract/src/events.sw
+++ b/escrow/project/contracts/escrow-contract/src/events.sw
@@ -19,7 +19,7 @@ pub struct CreatedEscrowEvent {
/// Event for when a deposit is made.
pub struct DepositEvent {
/// The asset that the user deposited.
- asset: ContractId,
+ asset: AssetId,
/// Unique escrow identifier.
identifier: u64,
}
diff --git a/escrow/project/contracts/escrow-contract/src/interface.sw b/escrow/project/contracts/escrow-contract/src/interface.sw
index 4852a570a..be89331b9 100644
--- a/escrow/project/contracts/escrow-contract/src/interface.sw
+++ b/escrow/project/contracts/escrow-contract/src/interface.sw
@@ -39,7 +39,12 @@ abi Escrow {
/// * When the amount of any asset required for deposit is set to 0
#[payable]
#[storage(read, write)]
- fn create_escrow(arbiter: Arbiter, assets: Vec, buyer: Identity, deadline: u64);
+ fn create_escrow(
+ arbiter: Arbiter,
+ assets: Vec,
+ buyer: Identity,
+ deadline: u64,
+ );
/// Accepts a deposit from the buyer for any of the assets specified in the escrow
///
diff --git a/escrow/project/contracts/escrow-contract/src/main.sw b/escrow/project/contracts/escrow-contract/src/main.sw
index abb692b56..ef522afa2 100644
--- a/escrow/project/contracts/escrow-contract/src/main.sw
+++ b/escrow/project/contracts/escrow-contract/src/main.sw
@@ -29,12 +29,13 @@ use events::{
};
use interface::{Escrow, Info};
use std::{
+ asset::transfer,
auth::msg_sender,
block::height,
call_frames::msg_asset_id,
context::msg_amount,
+ hash::Hash,
storage::storage_vec::*,
- token::transfer,
};
storage {
@@ -61,14 +62,30 @@ impl Escrow for Contract {
let mut escrow = storage.escrows.get(identifier).try_read().unwrap();
require(escrow.state == State::Pending, StateError::StateNotPending);
- require(msg_sender().unwrap() == escrow.buyer.address, UserError::Unauthorized);
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .buyer
+ .address,
+ UserError::Unauthorized,
+ );
let arbiter = storage.arbiter_proposal.get(identifier).try_read();
require(arbiter.is_some(), StateError::ArbiterHasNotBeenProposed);
// Upon acceptance we must transfer back the previous fee the seller deposited
- transfer(escrow.arbiter.fee_amount, escrow.arbiter.asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .arbiter
+ .asset,
+ escrow
+ .arbiter
+ .fee_amount,
+ );
escrow.arbiter = arbiter.unwrap();
@@ -91,21 +108,56 @@ impl Escrow for Contract {
// not the buyer / seller, the arbiter has a fee that they can take upon resolving a dispute
// and the escrow deadline is set in the future
require(0 < assets.len(), AssetInputError::UnspecifiedAssets);
- require(deadline > height(), DeadlineInputError::MustBeInTheFuture);
+ require(
+ deadline > height()
+ .as_u64(),
+ DeadlineInputError::MustBeInTheFuture,
+ );
require(0 < arbiter.fee_amount, ArbiterInputError::FeeCannotBeZero);
- require(arbiter.fee_amount == msg_amount(), ArbiterInputError::FeeDoesNotMatchAmountSent);
- require(arbiter.asset == msg_asset_id(), ArbiterInputError::AssetDoesNotMatch);
+ require(
+ arbiter
+ .fee_amount == msg_amount(),
+ ArbiterInputError::FeeDoesNotMatchAmountSent,
+ );
+ require(
+ arbiter
+ .asset == msg_asset_id(),
+ ArbiterInputError::AssetDoesNotMatch,
+ );
require(arbiter.address != buyer, ArbiterInputError::CannotBeBuyer);
- require(arbiter.address != msg_sender().unwrap(), ArbiterInputError::CannotBeSeller);
+ require(
+ arbiter
+ .address != msg_sender()
+ .unwrap(),
+ ArbiterInputError::CannotBeSeller,
+ );
let mut index = 0;
while index < assets.len() {
- require(0 < assets.get(index).unwrap().amount, AssetInputError::AssetAmountCannotBeZero);
+ require(
+ 0 < assets
+ .get(index)
+ .unwrap()
+ .amount,
+ AssetInputError::AssetAmountCannotBeZero,
+ );
storage.assets.push(assets.get(index).unwrap());
index += 1;
}
- let escrow = EscrowInfo::new(arbiter, assets.len(), buyer, deadline, storage.assets.len() - assets.len(), msg_sender().unwrap());
+ let escrow = EscrowInfo::new(
+ arbiter,
+ assets
+ .len(),
+ buyer,
+ deadline,
+ storage
+ .assets
+ .len() - assets
+ .len(),
+ msg_sender()
+ .unwrap(),
+ );
storage.escrows.insert(storage.escrow_count.read(), escrow);
@@ -124,9 +176,20 @@ impl Escrow for Contract {
// and escrow completion
let mut escrow = storage.escrows.get(identifier).try_read().unwrap();
- require(escrow.deadline > height(), StateError::EscrowExpired);
+ require(
+ escrow
+ .deadline > height()
+ .as_u64(),
+ StateError::EscrowExpired,
+ );
require(escrow.state == State::Pending, StateError::StateNotPending);
- require(msg_sender().unwrap() == escrow.buyer.address, UserError::Unauthorized);
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .buyer
+ .address,
+ UserError::Unauthorized,
+ );
require(escrow.buyer.asset.is_none(), StateError::AlreadyDeposited);
// TODO: https://github.com/FuelLabs/sway/issues/2014
@@ -135,7 +198,10 @@ impl Escrow for Contract {
while index < escrow.asset_count {
let asset = storage.assets.get(escrow.first_asset_index + index).unwrap().read();
if asset.id == msg_asset_id() {
- require(asset.amount == msg_amount(), DepositError::IncorrectAssetAmount);
+ require(
+ asset.amount == msg_amount(),
+ DepositError::IncorrectAssetAmount,
+ );
escrow.buyer.asset = Option::Some(msg_asset_id());
escrow.buyer.deposited_amount = msg_amount();
break;
@@ -145,7 +211,15 @@ impl Escrow for Contract {
}
// User must deposit one of the specified assets in the correct amount
- require(escrow.buyer.asset.is_some() && 0 < escrow.buyer.deposited_amount, DepositError::IncorrectAssetSent);
+ require(
+ escrow
+ .buyer
+ .asset
+ .is_some() && 0 < escrow
+ .buyer
+ .deposited_amount,
+ DepositError::IncorrectAssetSent,
+ );
storage.escrows.insert(identifier, escrow);
@@ -163,8 +237,20 @@ impl Escrow for Contract {
require(escrow.state == State::Pending, StateError::StateNotPending);
require(!escrow.disputed, StateError::AlreadyDisputed);
- require(msg_sender().unwrap() == escrow.buyer.address, UserError::Unauthorized);
- require(escrow.buyer.asset.is_some(), StateError::CannotDisputeBeforeDeposit);
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .buyer
+ .address,
+ UserError::Unauthorized,
+ );
+ require(
+ escrow
+ .buyer
+ .asset
+ .is_some(),
+ StateError::CannotDisputeBeforeDeposit,
+ );
// Lock the escrow
escrow.disputed = true;
@@ -185,16 +271,46 @@ impl Escrow for Contract {
let user = msg_sender().unwrap();
require(user == escrow.seller.address, UserError::Unauthorized);
- require(arbiter.address != escrow.buyer.address, ArbiterInputError::CannotBeBuyer);
- require(arbiter.address != escrow.seller.address, ArbiterInputError::CannotBeSeller);
+ require(
+ arbiter
+ .address != escrow
+ .buyer
+ .address,
+ ArbiterInputError::CannotBeBuyer,
+ );
+ require(
+ arbiter
+ .address != escrow
+ .seller
+ .address,
+ ArbiterInputError::CannotBeSeller,
+ );
require(0 < arbiter.fee_amount, ArbiterInputError::FeeCannotBeZero);
- require(arbiter.fee_amount == msg_amount(), ArbiterInputError::FeeDoesNotMatchAmountSent);
- require(arbiter.asset == msg_asset_id(), ArbiterInputError::AssetDoesNotMatch);
+ require(
+ arbiter
+ .fee_amount == msg_amount(),
+ ArbiterInputError::FeeDoesNotMatchAmountSent,
+ );
+ require(
+ arbiter
+ .asset == msg_asset_id(),
+ ArbiterInputError::AssetDoesNotMatch,
+ );
// If there is a previous proposal then we must transfer those funds back to the seller
let proposal = storage.arbiter_proposal.get(identifier).try_read();
if proposal.is_some() {
- transfer(proposal.unwrap().fee_amount, proposal.unwrap().asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ proposal
+ .unwrap()
+ .asset,
+ proposal
+ .unwrap()
+ .fee_amount,
+ );
}
storage.arbiter_proposal.insert(identifier, arbiter);
@@ -214,25 +330,80 @@ impl Escrow for Contract {
require(escrow.state == State::Pending, StateError::StateNotPending);
require(escrow.disputed, StateError::NotDisputed);
- require(msg_sender().unwrap() == escrow.arbiter.address, UserError::Unauthorized);
- require(user == escrow.buyer.address || user == escrow.seller.address, UserInputError::InvalidRecipient);
- require(escrow.buyer.asset.is_some() && 0 < escrow.buyer.deposited_amount, StateError::CannotResolveBeforeDeposit);
- require(payment_amount <= escrow.arbiter.fee_amount, ArbiterInputError::PaymentTooLarge);
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .arbiter
+ .address,
+ UserError::Unauthorized,
+ );
+ require(
+ user == escrow
+ .buyer
+ .address || user == escrow
+ .seller
+ .address,
+ UserInputError::InvalidRecipient,
+ );
+ require(
+ escrow
+ .buyer
+ .asset
+ .is_some() && 0 < escrow
+ .buyer
+ .deposited_amount,
+ StateError::CannotResolveBeforeDeposit,
+ );
+ require(
+ payment_amount <= escrow
+ .arbiter
+ .fee_amount,
+ ArbiterInputError::PaymentTooLarge,
+ );
escrow.state = State::Completed;
storage.escrows.insert(identifier, escrow);
- transfer(escrow.buyer.deposited_amount, escrow.buyer.asset.unwrap(), user);
- transfer(payment_amount, escrow.arbiter.asset, escrow.arbiter.address);
+ transfer(
+ user,
+ escrow
+ .buyer
+ .asset
+ .unwrap(),
+ escrow
+ .buyer
+ .deposited_amount,
+ );
+ transfer(escrow.arbiter.address, escrow.arbiter.asset, payment_amount);
if payment_amount != escrow.arbiter.fee_amount {
- transfer(escrow.arbiter.fee_amount - payment_amount, escrow.arbiter.asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .arbiter
+ .asset,
+ escrow
+ .arbiter
+ .fee_amount - payment_amount,
+ );
}
// If there is a previous proposal then we must transfer those funds back to the seller
let proposal = storage.arbiter_proposal.get(identifier).try_read();
if proposal.is_some() {
- transfer(proposal.unwrap().fee_amount, proposal.unwrap().asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ proposal
+ .unwrap()
+ .asset,
+ proposal
+ .unwrap()
+ .fee_amount,
+ );
// Not needed as long as the entire contract handles state correctly but leaving it in
// for conceptual closure at the slight expense of users
assert(storage.arbiter_proposal.remove(identifier));
@@ -251,19 +422,62 @@ impl Escrow for Contract {
let mut escrow = storage.escrows.get(identifier).try_read().unwrap();
require(escrow.state == State::Pending, StateError::StateNotPending);
- require(msg_sender().unwrap() == escrow.seller.address, UserError::Unauthorized);
- require(escrow.buyer.asset.is_some(), StateError::CannotTransferBeforeDeposit);
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .seller
+ .address,
+ UserError::Unauthorized,
+ );
+ require(
+ escrow
+ .buyer
+ .asset
+ .is_some(),
+ StateError::CannotTransferBeforeDeposit,
+ );
escrow.state = State::Completed;
storage.escrows.insert(identifier, escrow);
- transfer(escrow.buyer.deposited_amount, escrow.buyer.asset.unwrap(), escrow.buyer.address);
- transfer(escrow.arbiter.fee_amount, escrow.arbiter.asset, escrow.seller.address);
+ transfer(
+ escrow
+ .buyer
+ .address,
+ escrow
+ .buyer
+ .asset
+ .unwrap(),
+ escrow
+ .buyer
+ .deposited_amount,
+ );
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .arbiter
+ .asset,
+ escrow
+ .arbiter
+ .fee_amount,
+ );
// If there is a previous proposal then we must transfer those funds back to the seller
let proposal = storage.arbiter_proposal.get(identifier).try_read();
if proposal.is_some() {
- transfer(proposal.unwrap().fee_amount, proposal.unwrap().asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ proposal
+ .unwrap()
+ .asset,
+ proposal
+ .unwrap()
+ .fee_amount,
+ );
// Not needed as long as the entire contract handles state correctly but leaving it in
// for conceptual closure at the slight expense of users
assert(storage.arbiter_proposal.remove(identifier));
@@ -279,21 +493,69 @@ impl Escrow for Contract {
let mut escrow = storage.escrows.get(identifier).try_read().unwrap();
require(escrow.state == State::Pending, StateError::StateNotPending);
- require(escrow.deadline < height(), StateError::CannotTakePaymentBeforeDeadline);
+ require(
+ escrow
+ .deadline < height()
+ .as_u64(),
+ StateError::CannotTakePaymentBeforeDeadline,
+ );
require(!escrow.disputed, StateError::CannotTakePaymentDuringDispute);
- require(msg_sender().unwrap() == escrow.seller.address, UserError::Unauthorized);
- require(escrow.buyer.asset.is_some(), StateError::CannotTransferBeforeDeposit);
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .seller
+ .address,
+ UserError::Unauthorized,
+ );
+ require(
+ escrow
+ .buyer
+ .asset
+ .is_some(),
+ StateError::CannotTransferBeforeDeposit,
+ );
escrow.state = State::Completed;
storage.escrows.insert(identifier, escrow);
- transfer(escrow.buyer.deposited_amount, escrow.buyer.asset.unwrap(), escrow.seller.address);
- transfer(escrow.arbiter.fee_amount, escrow.arbiter.asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .buyer
+ .asset
+ .unwrap(),
+ escrow
+ .buyer
+ .deposited_amount,
+ );
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .arbiter
+ .asset,
+ escrow
+ .arbiter
+ .fee_amount,
+ );
// If there is a previous proposal then we must transfer those funds back to the seller
let proposal = storage.arbiter_proposal.get(identifier).try_read();
if proposal.is_some() {
- transfer(proposal.unwrap().fee_amount, proposal.unwrap().asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ proposal
+ .unwrap()
+ .asset,
+ proposal
+ .unwrap()
+ .fee_amount,
+ );
// Not needed as long as the entire contract handles state correctly but leaving it in
// for conceptual closure at the slight expense of users
assert(storage.arbiter_proposal.remove(identifier));
@@ -307,19 +569,64 @@ impl Escrow for Contract {
let mut escrow = storage.escrows.get(identifier).try_read().unwrap();
require(escrow.state == State::Pending, StateError::StateNotPending);
- require(escrow.buyer.asset.is_some() && 0 < escrow.buyer.deposited_amount, StateError::CannotTransferBeforeDeposit);
- require(msg_sender().unwrap() == escrow.buyer.address, UserError::Unauthorized);
+ require(
+ escrow
+ .buyer
+ .asset
+ .is_some() && 0 < escrow
+ .buyer
+ .deposited_amount,
+ StateError::CannotTransferBeforeDeposit,
+ );
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .buyer
+ .address,
+ UserError::Unauthorized,
+ );
escrow.state = State::Completed;
storage.escrows.insert(identifier, escrow);
- transfer(escrow.buyer.deposited_amount, escrow.buyer.asset.unwrap(), escrow.seller.address);
- transfer(escrow.arbiter.fee_amount, escrow.arbiter.asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .buyer
+ .asset
+ .unwrap(),
+ escrow
+ .buyer
+ .deposited_amount,
+ );
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .arbiter
+ .asset,
+ escrow
+ .arbiter
+ .fee_amount,
+ );
// If there is a previous proposal then we must transfer those funds back to the seller
let proposal = storage.arbiter_proposal.get(identifier).try_read();
if proposal.is_some() {
- transfer(proposal.unwrap().fee_amount, proposal.unwrap().asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ proposal
+ .unwrap()
+ .asset,
+ proposal
+ .unwrap()
+ .fee_amount,
+ );
// Not needed as long as the entire contract handles state correctly but leaving it in
// for conceptual closure at the slight expense of users
assert(storage.arbiter_proposal.remove(identifier));
@@ -335,19 +642,56 @@ impl Escrow for Contract {
let mut escrow = storage.escrows.get(identifier).try_read().unwrap();
require(escrow.state == State::Pending, StateError::StateNotPending);
- require(escrow.deadline < height(), StateError::CannotWithdrawBeforeDeadline);
- require(msg_sender().unwrap() == escrow.seller.address, UserError::Unauthorized);
- require(escrow.buyer.asset.is_none(), StateError::CannotWithdrawAfterDeposit);
+ require(
+ escrow
+ .deadline < height()
+ .as_u64(),
+ StateError::CannotWithdrawBeforeDeadline,
+ );
+ require(
+ msg_sender()
+ .unwrap() == escrow
+ .seller
+ .address,
+ UserError::Unauthorized,
+ );
+ require(
+ escrow
+ .buyer
+ .asset
+ .is_none(),
+ StateError::CannotWithdrawAfterDeposit,
+ );
escrow.state = State::Completed;
storage.escrows.insert(identifier, escrow);
- transfer(escrow.arbiter.fee_amount, escrow.arbiter.asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ escrow
+ .arbiter
+ .asset,
+ escrow
+ .arbiter
+ .fee_amount,
+ );
// If there is a previous proposal then we must transfer those funds back to the seller
let proposal = storage.arbiter_proposal.get(identifier).try_read();
if proposal.is_some() {
- transfer(proposal.unwrap().fee_amount, proposal.unwrap().asset, escrow.seller.address);
+ transfer(
+ escrow
+ .seller
+ .address,
+ proposal
+ .unwrap()
+ .asset,
+ proposal
+ .unwrap()
+ .fee_amount,
+ );
// Not needed as long as the entire contract handles state correctly but leaving it in
// for conceptual closure at the slight expense of users
assert(storage.arbiter_proposal.remove(identifier));
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/accept_arbiter.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/accept_arbiter.rs
index 1cfb55dce..a6eae1a89 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/accept_arbiter.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/accept_arbiter.rs
@@ -51,7 +51,7 @@ mod success {
asset_amount(&defaults.asset_id, &seller).await
);
assert_eq!(arbiter_obj2, escrows(&seller, 0).await.unwrap().arbiter);
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
let log = response
.decode_logs_with_type::()
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/create_escrow.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/create_escrow.rs
index 120bdcfac..46e75c0b9 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/create_escrow.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/create_escrow.rs
@@ -2,7 +2,6 @@ use crate::utils::{
interface::core::create_escrow,
setup::{create_arbiter, create_asset, setup},
};
-use fuels::prelude::ContractId;
mod success {
@@ -23,8 +22,8 @@ mod success {
asset_amount(&defaults.asset_id, &seller).await
);
assert_eq!(0, escrow_count(&seller).await);
- assert!(matches!(assets(&seller, 0).await, None));
- assert!(matches!(escrows(&seller, 0).await, None));
+ assert!(assets(&seller, 0).await.is_none());
+ assert!(escrows(&seller, 0).await.is_none());
let response = create_escrow(
defaults.asset_amount,
@@ -97,8 +96,8 @@ mod success {
asset_amount(&defaults.asset_id, &seller).await
);
assert_eq!(0, escrow_count(&seller).await);
- assert!(matches!(assets(&seller, 0).await, None));
- assert!(matches!(escrows(&seller, 0).await, None));
+ assert!(assets(&seller, 0).await.is_none());
+ assert!(escrows(&seller, 0).await.is_none());
let response = create_escrow(
defaults.asset_amount,
@@ -173,8 +172,8 @@ mod success {
asset_amount(&defaults.asset_id, &seller).await
);
assert_eq!(0, escrow_count(&seller).await);
- assert!(matches!(assets(&seller, 0).await, None));
- assert!(matches!(escrows(&seller, 0).await, None));
+ assert!(assets(&seller, 0).await.is_none());
+ assert!(escrows(&seller, 0).await.is_none());
let response1 = create_escrow(
defaults.asset_amount,
@@ -296,6 +295,8 @@ mod success {
mod revert {
+ use fuels::types::AssetId;
+
use super::*;
#[tokio::test]
@@ -378,7 +379,7 @@ mod revert {
async fn when_asset_used_for_arbiter_fee_is_unequal() {
let (arbiter, buyer, seller, defaults) = setup().await;
let arbiter_obj =
- create_arbiter(&arbiter, ContractId::from([2u8; 32]), defaults.asset_amount).await;
+ create_arbiter(&arbiter, AssetId::from([2u8; 32]), defaults.asset_amount).await;
let asset = create_asset(defaults.asset_amount, defaults.asset_id).await;
create_escrow(
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/deposit.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/deposit.rs
index 536672d8e..a9ba6b52a 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/deposit.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/deposit.rs
@@ -34,7 +34,7 @@ mod success {
);
let escrow = escrows(&seller, 0).await.unwrap();
- assert!(matches!(escrow.buyer.asset, None));
+ assert!(escrow.buyer.asset.is_none());
assert_eq!(0, escrow.buyer.deposited_amount);
let response = deposit(defaults.asset_amount, &defaults.asset_id, &buyer, 0).await;
@@ -95,8 +95,8 @@ mod success {
let escrow1 = escrows(&seller, 0).await.unwrap();
let escrow2 = escrows(&seller, 0).await.unwrap();
- assert!(matches!(escrow1.buyer.asset, None));
- assert!(matches!(escrow2.buyer.asset, None));
+ assert!(escrow1.buyer.asset.is_none());
+ assert!(escrow2.buyer.asset.is_none());
assert_eq!(0, escrow1.buyer.deposited_amount);
assert_eq!(0, escrow2.buyer.deposited_amount);
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/propose_arbiter.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/propose_arbiter.rs
index 05e11d4c6..7f77da591 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/propose_arbiter.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/propose_arbiter.rs
@@ -2,7 +2,10 @@ use crate::utils::{
interface::core::{create_escrow, deposit, propose_arbiter},
setup::{create_arbiter, create_asset, setup},
};
-use fuels::prelude::{AssetId, CallParameters, TxParameters};
+use fuels::{
+ prelude::{AssetId, CallParameters, TxPolicies},
+ programs::call_utils::TxDependencyExtension,
+};
mod success {
@@ -33,7 +36,7 @@ mod success {
defaults.initial_wallet_amount - defaults.asset_amount,
asset_amount(&defaults.asset_id, &seller).await
);
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
let response = propose_arbiter(arbiter_obj.clone(), &seller, 0).await;
@@ -80,7 +83,7 @@ mod success {
defaults.initial_wallet_amount - defaults.asset_amount,
asset_amount(&defaults.asset_id, &seller).await
);
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
let response1 = propose_arbiter(arbiter_obj.clone(), &seller, 0).await;
@@ -154,8 +157,8 @@ mod success {
defaults.initial_wallet_amount - (2 * defaults.asset_amount),
asset_amount(&defaults.asset_id, &seller).await
);
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
- assert!(matches!(arbiter_proposal(&seller, 1).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
+ assert!(arbiter_proposal(&seller, 1).await.is_none());
let response1 = propose_arbiter(arbiter_obj.clone(), &seller, 0).await;
@@ -239,8 +242,8 @@ mod success {
defaults.initial_wallet_amount - (2 * defaults.asset_amount),
asset_amount(&defaults.asset_id, &seller).await
);
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
- assert!(matches!(arbiter_proposal(&seller, 1).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
+ assert!(arbiter_proposal(&seller, 1).await.is_none());
let response1 = propose_arbiter(arbiter_obj.clone(), &seller, 0).await;
@@ -458,7 +461,7 @@ mod revert {
let (arbiter, buyer, seller, defaults) = setup().await;
let arbiter_obj = create_arbiter(&arbiter, defaults.asset_id, defaults.asset_amount).await;
let asset = create_asset(defaults.asset_amount, defaults.asset_id).await;
- let tx_params = TxParameters::new(0, 10_000_000, 0);
+ let tx_params = TxPolicies::new(Some(0), Some(10_000_000), None, None, None);
let call_params = CallParameters::new(
arbiter_obj.fee_amount - 1,
AssetId::from(*arbiter_obj.asset),
@@ -481,7 +484,7 @@ mod revert {
.contract
.methods()
.propose_arbiter(arbiter_obj, 0)
- .tx_params(tx_params)
+ .with_tx_policies(tx_params)
.call_params(call_params)
.unwrap()
.append_variable_outputs(1)
@@ -499,7 +502,7 @@ mod revert {
let arbiter_obj_unequal =
create_arbiter(&arbiter, defaults.asset_id, defaults.asset_amount).await;
- let tx_params = TxParameters::new(0, 1_000_000, 0);
+ let tx_params = TxPolicies::new(Some(0), Some(1_000_000), None, None, None);
let call_params = CallParameters::new(
arbiter_obj_unequal.fee_amount,
AssetId::from(*defaults.other_asset_id),
@@ -522,7 +525,7 @@ mod revert {
.contract
.methods()
.propose_arbiter(arbiter_obj_unequal, 0)
- .tx_params(tx_params)
+ .with_tx_policies(tx_params)
.call_params(call_params)
.unwrap()
.append_variable_outputs(1)
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/resolve_dispute.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/resolve_dispute.rs
index 5feeaa725..cbaa04b07 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/resolve_dispute.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/resolve_dispute.rs
@@ -342,7 +342,7 @@ mod success {
defaults.initial_wallet_amount + defaults.asset_amount,
asset_amount(&defaults.asset_id, &arbiter).await
);
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
assert!(matches!(
escrows(&seller, 0).await.unwrap().state,
State::Completed
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/return_deposit.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/return_deposit.rs
index 3ff0fa570..dc903158e 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/return_deposit.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/return_deposit.rs
@@ -110,7 +110,7 @@ mod success {
escrows(&seller, 0).await.unwrap().state,
State::Completed
));
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
let log = response
.decode_logs_with_type::()
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/take_payment.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/take_payment.rs
index 28480b12d..91a6256c6 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/take_payment.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/take_payment.rs
@@ -37,7 +37,12 @@ mod success {
deposit(defaults.asset_amount, &defaults.asset_id, &buyer, 0).await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -101,7 +106,12 @@ mod success {
deposit(defaults.asset_amount, &defaults.asset_id, &buyer, 0).await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -136,7 +146,7 @@ mod success {
escrows(&seller, 0).await.unwrap().state,
State::Completed
));
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
let log = response
.decode_logs_with_type::()
@@ -194,7 +204,12 @@ mod success {
.await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -330,7 +345,12 @@ mod revert {
deposit(defaults.asset_amount, &defaults.asset_id, &buyer, 0).await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -361,7 +381,12 @@ mod revert {
deposit(defaults.asset_amount, &defaults.asset_id, &buyer, 0).await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -390,7 +415,12 @@ mod revert {
.await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/transfer_to_seller.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/transfer_to_seller.rs
index 5f83373c9..af10fcee7 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/transfer_to_seller.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/transfer_to_seller.rs
@@ -118,7 +118,7 @@ mod success {
escrows(&seller, 0).await.unwrap().state,
State::Completed
));
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
let log = response
.decode_logs_with_type::()
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/core/withdraw_collateral.rs b/escrow/project/contracts/escrow-contract/tests/functions/core/withdraw_collateral.rs
index 23f6a6294..707630b1e 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/core/withdraw_collateral.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/core/withdraw_collateral.rs
@@ -44,7 +44,12 @@ mod success {
));
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -108,7 +113,7 @@ mod success {
escrows(&seller, 0).await.unwrap().state,
State::Completed
));
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
let log = response
.decode_logs_with_type::()
@@ -165,7 +170,12 @@ mod success {
);
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -279,7 +289,12 @@ mod revert {
.await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
@@ -308,7 +323,12 @@ mod revert {
.await;
deposit(defaults.asset_amount, &defaults.asset_id, &buyer, 0).await;
provider
- .produce_blocks((origin_block as u64) + defaults.deadline, None)
+ .produce_blocks(
+ ((origin_block as u64) + defaults.deadline)
+ .try_into()
+ .unwrap(),
+ None,
+ )
.await
.unwrap();
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/info/arbiter_proposal.rs b/escrow/project/contracts/escrow-contract/tests/functions/info/arbiter_proposal.rs
index a2389db63..452f27c0e 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/info/arbiter_proposal.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/info/arbiter_proposal.rs
@@ -11,7 +11,7 @@ mod success {
#[tokio::test]
async fn returns_none() {
let (_arbiter, _buyer, seller, _defaults) = setup().await;
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
}
#[tokio::test]
@@ -31,7 +31,7 @@ mod success {
)
.await;
- assert!(matches!(arbiter_proposal(&seller, 0).await, None));
+ assert!(arbiter_proposal(&seller, 0).await.is_none());
propose_arbiter(arbiter_obj.clone(), &seller, 0).await;
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/info/assets.rs b/escrow/project/contracts/escrow-contract/tests/functions/info/assets.rs
index 1073f3df4..586c4e830 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/info/assets.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/info/assets.rs
@@ -8,7 +8,7 @@ mod success {
#[tokio::test]
async fn returns_none() {
let (_arbiter, _buyer, seller, _defaults) = setup().await;
- assert!(matches!(assets(&seller, 0).await, None));
+ assert!(assets(&seller, 0).await.is_none());
}
#[tokio::test]
@@ -17,7 +17,7 @@ mod success {
let arbiter_obj = create_arbiter(&arbiter, defaults.asset_id, defaults.asset_amount).await;
let asset = create_asset(defaults.asset_amount, defaults.asset_id).await;
- assert!(matches!(assets(&seller, 0).await, None));
+ assert!(assets(&seller, 0).await.is_none());
create_escrow(
defaults.asset_amount,
diff --git a/escrow/project/contracts/escrow-contract/tests/functions/info/escrows.rs b/escrow/project/contracts/escrow-contract/tests/functions/info/escrows.rs
index acc7506c6..d4b1af714 100644
--- a/escrow/project/contracts/escrow-contract/tests/functions/info/escrows.rs
+++ b/escrow/project/contracts/escrow-contract/tests/functions/info/escrows.rs
@@ -8,7 +8,7 @@ mod success {
#[tokio::test]
async fn returns_none() {
let (_arbiter, _buyer, seller, _defaults) = setup().await;
- assert!(matches!(escrows(&seller, 0).await, None));
+ assert!(escrows(&seller, 0).await.is_none());
}
#[tokio::test]
@@ -17,7 +17,7 @@ mod success {
let arbiter_obj = create_arbiter(&arbiter, defaults.asset_id, defaults.asset_amount).await;
let asset = create_asset(defaults.asset_amount, defaults.asset_id).await;
- assert!(matches!(escrows(&seller, 0).await, None));
+ assert!(escrows(&seller, 0).await.is_none());
create_escrow(
defaults.asset_amount,
diff --git a/escrow/project/contracts/escrow-contract/tests/utils/interface/core.rs b/escrow/project/contracts/escrow-contract/tests/utils/interface/core.rs
index 89241cef0..dd712d66f 100644
--- a/escrow/project/contracts/escrow-contract/tests/utils/interface/core.rs
+++ b/escrow/project/contracts/escrow-contract/tests/utils/interface/core.rs
@@ -1,7 +1,7 @@
use crate::utils::setup::{Arbiter, Asset, User};
use fuels::{
- prelude::{AssetId, CallParameters, ContractId, TxParameters},
- programs::call_response::FuelCallResponse,
+ prelude::{AssetId, CallParameters, TxPolicies},
+ programs::{call_response::FuelCallResponse, call_utils::TxDependencyExtension},
types::Identity,
};
@@ -19,14 +19,14 @@ pub(crate) async fn accept_arbiter(caller: &User, identifier: u64) -> FuelCallRe
pub(crate) async fn create_escrow(
amount: u64,
arbiter: &Arbiter,
- asset: &ContractId,
+ asset: &AssetId,
assets: Vec,
buyer: &User,
caller: &User,
deadline: u64,
) -> FuelCallResponse<()> {
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(amount, AssetId::from(**asset), 1_000_000);
+ let tx_params = TxPolicies::new(Some(0), Some(2_000_000), None, None, None);
+ let call_params = CallParameters::new(amount, *asset, 1_000_000);
caller
.contract
@@ -37,7 +37,7 @@ pub(crate) async fn create_escrow(
Identity::Address(buyer.wallet.address().into()),
deadline,
)
- .tx_params(tx_params)
+ .with_tx_policies(tx_params)
.call_params(call_params)
.unwrap()
.call()
@@ -47,18 +47,18 @@ pub(crate) async fn create_escrow(
pub(crate) async fn deposit(
amount: u64,
- asset: &ContractId,
+ asset: &AssetId,
caller: &User,
identifier: u64,
) -> FuelCallResponse<()> {
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(amount, AssetId::from(**asset), 1_000_000);
+ let tx_params = TxPolicies::new(Some(0), Some(2_000_000), None, None, None);
+ let call_params = CallParameters::new(amount, *asset, 1_000_000);
caller
.contract
.methods()
.deposit(identifier)
- .tx_params(tx_params)
+ .with_tx_policies(tx_params)
.call_params(call_params)
.unwrap()
.call()
@@ -81,15 +81,14 @@ pub(crate) async fn propose_arbiter(
caller: &User,
identifier: u64,
) -> FuelCallResponse<()> {
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params =
- CallParameters::new(arbiter.fee_amount, AssetId::from(*arbiter.asset), 1_000_000);
+ let tx_params = TxPolicies::new(Some(0), Some(2_000_000), None, None, None);
+ let call_params = CallParameters::new(arbiter.fee_amount, arbiter.asset, 1_000_000);
caller
.contract
.methods()
.propose_arbiter(arbiter, identifier)
- .tx_params(tx_params)
+ .with_tx_policies(tx_params)
.call_params(call_params)
.unwrap()
.append_variable_outputs(1)
diff --git a/escrow/project/contracts/escrow-contract/tests/utils/setup.rs b/escrow/project/contracts/escrow-contract/tests/utils/setup.rs
index 9fcacc831..da6a624fa 100644
--- a/escrow/project/contracts/escrow-contract/tests/utils/setup.rs
+++ b/escrow/project/contracts/escrow-contract/tests/utils/setup.rs
@@ -1,9 +1,9 @@
use fuels::{
accounts::ViewOnlyAccount,
prelude::{
- abigen, launch_custom_provider_and_get_wallets, Address, AssetConfig, AssetId, Config,
- Contract, ContractId, LoadConfiguration, StorageConfiguration, TxParameters,
- WalletUnlocked, WalletsConfig, BASE_ASSET_ID,
+ abigen, launch_custom_provider_and_get_wallets, Address, AssetConfig, AssetId, Contract,
+ LoadConfiguration, StorageConfiguration, TxPolicies, WalletUnlocked, WalletsConfig,
+ BASE_ASSET_ID,
},
types::Identity,
};
@@ -18,10 +18,10 @@ const ESCROW_CONTRACT_STORAGE_PATH: &str = "./out/debug/escrow-contract-storage_
pub(crate) struct Defaults {
pub(crate) asset_amount: u64,
- pub(crate) asset_id: ContractId,
+ pub(crate) asset_id: AssetId,
pub(crate) deadline: u64,
pub(crate) initial_wallet_amount: u64,
- pub(crate) other_asset_id: ContractId,
+ pub(crate) other_asset_id: AssetId,
}
pub(crate) struct User {
@@ -29,15 +29,11 @@ pub(crate) struct User {
pub(crate) wallet: WalletUnlocked,
}
-pub(crate) async fn asset_amount(asset: &ContractId, user: &User) -> u64 {
- user.wallet
- .clone()
- .get_asset_balance(&AssetId::from(**asset))
- .await
- .unwrap()
+pub(crate) async fn asset_amount(asset: &AssetId, user: &User) -> u64 {
+ user.wallet.clone().get_asset_balance(asset).await.unwrap()
}
-pub(crate) async fn create_arbiter(user: &User, asset: ContractId, fee_amount: u64) -> Arbiter {
+pub(crate) async fn create_arbiter(user: &User, asset: AssetId, fee_amount: u64) -> Arbiter {
Arbiter {
address: Identity::Address(user.wallet.address().into()),
asset,
@@ -45,7 +41,7 @@ pub(crate) async fn create_arbiter(user: &User, asset: ContractId, fee_amount: u
}
}
-pub(crate) async fn create_asset(amount: u64, id: ContractId) -> Asset {
+pub(crate) async fn create_asset(amount: u64, id: AssetId) -> Asset {
Asset { amount, id }
}
@@ -54,7 +50,7 @@ pub(crate) async fn escrow_info(
arbiter: Arbiter,
asset_count: u64,
buyer: &User,
- asset: Option,
+ asset: Option,
deposited_amount: u64,
deadline: u64,
disputed: bool,
@@ -109,12 +105,9 @@ pub(crate) async fn setup() -> (User, User, User, Defaults) {
let wallet_config = WalletsConfig::new_multiple_assets(number_of_wallets, assets);
- let provider_config = Config {
- manual_blocks_enabled: true,
- ..Config::local_node()
- };
- let mut wallets =
- launch_custom_provider_and_get_wallets(wallet_config, Some(provider_config), None).await;
+ let mut wallets = launch_custom_provider_and_get_wallets(wallet_config, None, None)
+ .await
+ .unwrap();
let deployer_wallet = wallets.pop().unwrap();
let arbiter_wallet = wallets.pop().unwrap();
@@ -122,12 +115,12 @@ pub(crate) async fn setup() -> (User, User, User, Defaults) {
let seller_wallet = wallets.pop().unwrap();
let escrow_storage_configuration =
- StorageConfiguration::load_from(ESCROW_CONTRACT_STORAGE_PATH);
+ StorageConfiguration::default().add_slot_overrides_from_file(ESCROW_CONTRACT_STORAGE_PATH);
let escrow_configuration = LoadConfiguration::default()
- .set_storage_configuration(escrow_storage_configuration.unwrap());
+ .with_storage_configuration(escrow_storage_configuration.unwrap());
let escrow_id = Contract::load_from(ESCROW_CONTRACT_BINARY_PATH, escrow_configuration)
.unwrap()
- .deploy(&deployer_wallet, TxParameters::default())
+ .deploy(&deployer_wallet, TxPolicies::default())
.await
.unwrap();
@@ -145,11 +138,11 @@ pub(crate) async fn setup() -> (User, User, User, Defaults) {
};
let defaults = Defaults {
- asset_id: ContractId::from(*asset_id),
+ asset_id,
asset_amount: 100,
deadline: 100,
initial_wallet_amount: coin_amount,
- other_asset_id: ContractId::from(*other_asset_id),
+ other_asset_id,
};
(arbiter, buyer, seller, defaults)
diff --git a/escrow/project/fuel-toolchain.toml b/escrow/project/fuel-toolchain.toml
index 85312ab11..e75c0bb58 100644
--- a/escrow/project/fuel-toolchain.toml
+++ b/escrow/project/fuel-toolchain.toml
@@ -1,6 +1,6 @@
[toolchain]
-channel = "latest-2023-07-18"
+channel = "nightly-2024-01-24"
[components]
-forc = "0.42.1"
-fuel-core = "0.18.3"
+forc = "0.49.1"
+fuel-core = "0.22.0"
diff --git a/fundraiser/README.md b/fundraiser/README.md
index 569bb1eb5..9722febe4 100644
--- a/fundraiser/README.md
+++ b/fundraiser/README.md
@@ -6,14 +6,14 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/fundraiser/project/Cargo.lock b/fundraiser/project/Cargo.lock
index 8b4203127..e48104466 100644
--- a/fundraiser/project/Cargo.lock
+++ b/fundraiser/project/Cargo.lock
@@ -58,6 +58,12 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
[[package]]
name = "android-tzdata"
version = "0.1.1"
@@ -232,18 +238,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
name = "async-trait"
-version = "0.1.72"
+version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
@@ -321,6 +327,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
+ "serde",
]
[[package]]
@@ -376,9 +383,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+dependencies = [
+ "serde",
+]
[[package]]
name = "bitvec"
@@ -420,12 +430,6 @@ dependencies = [
"generic-array",
]
-[[package]]
-name = "borrown"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b57b368e638ed60664350ea4f2f3647a0192173478df2736cc255a025a796"
-
[[package]]
name = "bs58"
version = "0.4.0"
@@ -455,9 +459,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
dependencies = [
"serde",
]
@@ -476,17 +480,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
- "time 0.1.45",
"wasm-bindgen",
- "winapi",
+ "windows-targets",
]
[[package]]
@@ -531,7 +534,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
@@ -561,7 +564,7 @@ dependencies = [
"k256",
"lazy_static",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -578,7 +581,7 @@ dependencies = [
"once_cell",
"pbkdf2 0.12.2",
"rand",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"thiserror",
]
@@ -597,7 +600,7 @@ dependencies = [
"ripemd",
"serde",
"serde_derive",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
]
@@ -640,7 +643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
dependencies = [
"percent-encoding",
- "time 0.3.23",
+ "time",
"version_check",
]
@@ -657,7 +660,7 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
- "time 0.3.23",
+ "time",
"url",
]
@@ -790,6 +793,33 @@ dependencies = [
"cipher",
]
+[[package]]
+name = "curve25519-dalek"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "digest 0.10.7",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.40",
+]
+
[[package]]
name = "cynic"
version = "2.2.8"
@@ -975,6 +1005,27 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "sha2 0.10.8",
+ "subtle",
+]
+
[[package]]
name = "either"
version = "1.9.0"
@@ -983,9 +1034,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205"
dependencies = [
"base16ct",
"crypto-bigint",
@@ -1026,7 +1077,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
@@ -1072,12 +1123,18 @@ dependencies = [
"scrypt",
"serde",
"serde_json",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"sha3",
"thiserror",
- "uuid",
+ "uuid 0.8.2",
]
+[[package]]
+name = "ethnum"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c"
+
[[package]]
name = "eventsource-client"
version = "0.10.2"
@@ -1109,6 +1166,12 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "fiat-crypto"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a56f0780318174bad1c127063fd0c5fdfb35398e3cd79ffaab931a6c79df80"
+
[[package]]
name = "fixed-hash"
version = "0.8.0"
@@ -1138,23 +1201,28 @@ dependencies = [
[[package]]
name = "fuel-abi-types"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47d99a7aeb41cdabffa38418b00fd57b5571dc58ee5af606e845a088befecd36"
+checksum = "f8118789261e77d67569859a06a886d53dbf7bd00ea23a18a2dfae26a1f5be25"
dependencies = [
+ "itertools 0.10.5",
"lazy_static",
+ "proc-macro2",
+ "quote",
"regex",
"serde",
+ "serde_json",
+ "syn 2.0.40",
"thiserror",
]
[[package]]
name = "fuel-asm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1331be83ba8ce8fa9217272b2709bbe29a01daff5fe7ef58ba1b64ec18fe40c0"
+checksum = "f2a78a31d8c15dc8139bc8d2074d09be4c8e7ca4735707996ed8bb96f20dd29e"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"fuel-types",
"serde",
"strum",
@@ -1162,9 +1230,9 @@ dependencies = [
[[package]]
name = "fuel-core"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c978d128cd4cc73675a5424a67c5c0dbb70fbb52bb6e5d1bf38664f966e369d"
+checksum = "c545fd12c8b5bbc495fd37a4fdf2548450b07b3fb26ac8ea20a10436c311e1d0"
dependencies = [
"anyhow",
"async-graphql",
@@ -1178,6 +1246,7 @@ dependencies = [
"fuel-core-database",
"fuel-core-executor",
"fuel-core-importer",
+ "fuel-core-metrics",
"fuel-core-poa",
"fuel-core-producer",
"fuel-core-services",
@@ -1187,7 +1256,8 @@ dependencies = [
"futures",
"hex",
"hyper",
- "itertools",
+ "itertools 0.10.5",
+ "parking_lot",
"postcard",
"primitive-types",
"rand",
@@ -1200,22 +1270,22 @@ dependencies = [
"tokio-stream",
"tower-http",
"tracing",
+ "uuid 1.6.1",
]
[[package]]
name = "fuel-core-chain-config"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e533fa1f86ae96579f4394205a7dfbad31715043f7119a82aa7a14effaed3a17"
+checksum = "84319b8e7a3b422b0f38c6ad4abd29f48b923797b7555c3bb53151322779f9bf"
dependencies = [
"anyhow",
"bech32 0.9.1",
"fuel-core-storage",
"fuel-core-types",
"hex",
- "itertools",
+ "itertools 0.10.5",
"postcard",
- "rand",
"serde",
"serde_json",
"serde_with 1.14.0",
@@ -1224,9 +1294,9 @@ dependencies = [
[[package]]
name = "fuel-core-client"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38a6bf1c0a6e6acf848f4b994e0b91c96c4f443f71d26f437642d135d5d71d3d"
+checksum = "ed3555027c1362e8ff1b03783399b0baa62911ffcf4254c533f3f32c98982562"
dependencies = [
"anyhow",
"cynic",
@@ -1236,8 +1306,9 @@ dependencies = [
"futures",
"hex",
"hyper-rustls 0.24.1",
- "itertools",
+ "itertools 0.10.5",
"reqwest",
+ "schemafy_lib",
"serde",
"serde_json",
"tai64",
@@ -1247,9 +1318,9 @@ dependencies = [
[[package]]
name = "fuel-core-consensus-module"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10dfa90f07cd210da9e16c61f5405a9d5c71a701848e6f9e01a1568b3b8c0f91"
+checksum = "50fd6d90df194b5970bf16681bfad9f917ff3f837e00c6538a8b95d2e0a6fdf9"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1260,21 +1331,21 @@ dependencies = [
[[package]]
name = "fuel-core-database"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5b8f8f12e8b7dfa5e68ee32cbecfba2e8aa2a06b930fd181f0b4ae71652484"
+checksum = "fb7b7cd46a2de1df8c71b4541bf19e09870965cb6ac72ee564170f9bcc8df909"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
]
[[package]]
name = "fuel-core-executor"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f0dc752bfd46dee5ab51fd46f13858b9aa85865ba76d180c9c8e3cc0b25949b"
+checksum = "f4a5ed529258ded68048806b150e190ab03dc399bdd5547096525c3419cca188"
dependencies = [
"anyhow",
"fuel-core-chain-config",
@@ -1284,36 +1355,39 @@ dependencies = [
[[package]]
name = "fuel-core-importer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0989eb91e18f3541b7a690ed3bca92521939e80f507a08ce0fd6d8bf34cf1eb"
+checksum = "acd700b679be3cda7561f46778aa136ba4af1048570e116d8eb1d3e0f0a316a9"
dependencies = [
"anyhow",
+ "derive_more",
+ "fuel-core-metrics",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tracing",
]
[[package]]
name = "fuel-core-metrics"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "401e1a1187a91f1df5808c8416137623f119f058f6c6e2710d43c58744e9fa14"
+checksum = "0f87fec36f415dd9cdc2f723f018c30985bbeeadbc7e066e27fc79f3a3e2e6f3"
dependencies = [
"axum",
- "lazy_static",
"once_cell",
+ "pin-project-lite",
"prometheus-client 0.18.1",
"prometheus-client 0.20.0",
+ "regex",
+ "tracing",
]
[[package]]
name = "fuel-core-poa"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e15616957477d7c37f5845d58abcb13f8ab9a7f526a499a795bb7b8618c6e238"
+checksum = "93ef8dd121e59450d695435af4dea14d60acb41195cdd2dc64d3980aef42fbd9"
dependencies = [
"anyhow",
"async-trait",
@@ -1328,15 +1402,15 @@ dependencies = [
[[package]]
name = "fuel-core-producer"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df203c0e56c1827831a363e895aea7c9c642c18f1a57adbdd8ac6c4e115231dc"
+checksum = "e85951fa8159a4698a6d523fc44fd3659b9db63800fcfd9619f4283a568296ce"
dependencies = [
"anyhow",
"async-trait",
+ "derive_more",
"fuel-core-storage",
"fuel-core-types",
- "thiserror",
"tokio",
"tokio-rayon",
"tracing",
@@ -1344,12 +1418,13 @@ dependencies = [
[[package]]
name = "fuel-core-services"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecc615cb429744e1783db0d5b30dd01ec0d73c675f47964e62edc1f01b40ac2"
+checksum = "f2a3a0ed906c332d13802209ab5839d81e464abd14307b75f58550cf0de30430"
dependencies = [
"anyhow",
"async-trait",
+ "fuel-core-metrics",
"futures",
"parking_lot",
"tokio",
@@ -1358,21 +1433,21 @@ dependencies = [
[[package]]
name = "fuel-core-storage"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ed1d03eb74feb0ea8538ab557e52c7bc4f1a1c3aaafba9076038da256d86920"
+checksum = "33b84df7585c184d79c342833321db43c610d38bccf913acdf526e64fd292ab2"
dependencies = [
"anyhow",
+ "derive_more",
"fuel-core-types",
"fuel-vm",
- "thiserror",
]
[[package]]
name = "fuel-core-txpool"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d563ceae0ed89ed34f78a7835d15a40ef9d35c9b260b622049335e6c8deb884f"
+checksum = "943dec1ff13cd4fcd3c0f9ae826be09de1520bab5565916ec91cb31429c59f9a"
dependencies = [
"anyhow",
"async-trait",
@@ -1381,17 +1456,19 @@ dependencies = [
"fuel-core-services",
"fuel-core-storage",
"fuel-core-types",
+ "futures",
"parking_lot",
"tokio",
+ "tokio-rayon",
"tokio-stream",
"tracing",
]
[[package]]
name = "fuel-core-types"
-version = "0.18.3"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059da83a7e012a438c9962cbfe1e1b2d3e04f67a75d5be8899009b6456b04002"
+checksum = "91b55088841f6211b3ba452687c301fee4b9d1cf52dc6fc47f940a6681336cff"
dependencies = [
"anyhow",
"derive_more",
@@ -1405,55 +1482,73 @@ dependencies = [
[[package]]
name = "fuel-crypto"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb3f73571a03523cb92826003753ff1bdd1882767e67801de223ce3ad6133349"
+checksum = "33bea0932fec1e3c77be1fd54439ee9947d8d05870631d1c83782e5b1bd8eb0a"
dependencies = [
- "borrown",
"coins-bip32",
"coins-bip39",
+ "ecdsa",
+ "ed25519-dalek",
"fuel-types",
+ "k256",
"lazy_static",
+ "p256",
"rand",
"secp256k1",
"serde",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"zeroize",
]
+[[package]]
+name = "fuel-derive"
+version = "0.43.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597adf13a46bdcc1e7e19fa9f9b8743106e5e5a9867a71c50e1bc6c899ba4ae8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.40",
+ "synstructure",
+]
+
[[package]]
name = "fuel-merkle"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5646d95e02a63fd59da942fcf5d6217dbd8b6866c1ad3a0232be0913c4d077"
+checksum = "5a68333d5e0869ad89fcd4284b2790ba60edd5c0c63cec30713289cc820ed7ab"
dependencies = [
+ "derive_more",
"digest 0.10.7",
"fuel-storage",
"hashbrown 0.13.2",
"hex",
- "sha2 0.10.7",
- "thiserror",
+ "serde",
+ "sha2 0.10.8",
]
[[package]]
name = "fuel-storage"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b72444da90354b6d1d220b81c6803085689f5e7d53e1d4bd11cfa3d4c5a1b27"
+checksum = "9f20bd8cac585ccd5c51478c341b7e9807942d80e1c0e00a9b2cec8a3fb3879b"
[[package]]
name = "fuel-tx"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04187579ecfbb04a380c60f9eecae1a288dbe463c111dc7dde66fa736445a638"
+checksum = "c32cd8e0015a8c6091c43f7149119e1812f2208243921c50f83c72c8055635e1"
dependencies = [
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-types",
- "itertools",
- "num-integer",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
"rand",
"serde",
"serde_json",
@@ -1463,10 +1558,11 @@ dependencies = [
[[package]]
name = "fuel-types"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6543ca2f5124a19b1486507243188a57be64c9914d1908e154a1866eeffb69"
+checksum = "ee3eda536ec1c1c7b0e06bf4a2d7b22980a79108c66ab8f81661433b2211e21e"
dependencies = [
+ "fuel-derive",
"hex",
"rand",
"serde",
@@ -1474,31 +1570,40 @@ dependencies = [
[[package]]
name = "fuel-vm"
-version = "0.31.2"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d42e99fe69e913bbde4900f96efb6ceae13b68d369bf22d4b435571d6ed7d65"
+checksum = "fef3adfffe707feb335819119351a8f0c83b2113ab010714e262f60e87959546"
dependencies = [
- "bitflags 1.3.2",
+ "async-trait",
+ "backtrace",
+ "bitflags 2.4.1",
"derivative",
+ "derive_more",
+ "ethnum",
"fuel-asm",
"fuel-crypto",
"fuel-merkle",
"fuel-storage",
"fuel-tx",
"fuel-types",
- "itertools",
- "rand",
+ "hashbrown 0.14.0",
+ "itertools 0.10.5",
+ "libm",
+ "paste",
+ "percent-encoding",
+ "primitive-types",
"serde",
"sha3",
+ "static_assertions",
+ "strum",
"tai64",
- "thiserror",
]
[[package]]
name = "fuels"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa0bee7463c6bee4920c60315492a25a3026f1a68d15570cef7b470b04ecdf9"
+checksum = "d8ad2e6a398d3ea13edd540c29d9e6452bc3e690ab763f5373ba960f17cdae4d"
dependencies = [
"fuel-core",
"fuel-core-client",
@@ -1508,17 +1613,15 @@ dependencies = [
"fuels-macros",
"fuels-programs",
"fuels-test-helpers",
- "fuels-types",
]
[[package]]
name = "fuels-accounts"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28dad265d8fc612aaef2a4c1fa8bb14d77541575a6d2de6d26e66acc94afdaae"
+checksum = "fa6f6435a6631577fa20aedbd88c4e59d9f1541a6bbb3a7b63715e40c15790f0"
dependencies = [
"async-trait",
- "bytes",
"chrono",
"elliptic-curve",
"eth-keystore",
@@ -1528,148 +1631,121 @@ dependencies = [
"fuel-types",
"fuel-vm",
"fuels-core",
- "fuels-types",
"hex",
- "itertools",
"rand",
- "serde",
- "sha2 0.10.7",
+ "semver",
"tai64",
"thiserror",
"tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "fuels-code-gen"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97e7b697abfac23b3505fa3136bb3e910ed664caa58d1efcb6e11644aa95d8aa"
+checksum = "7a76d2517cebc47be8723312e80634b6389e0c5db34663bd1360afee504f0cfb"
dependencies = [
"Inflector",
"fuel-abi-types",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"regex",
"serde_json",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
name = "fuels-core"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d565f3c3c2974616984149c0440e03aadd600abe29e6268d41ebbdf21ae89915"
+checksum = "c9a98b3217932b1f8f639fd4c1268923f0862166fecf7a897c3c2bd5bae8706d"
dependencies = [
+ "async-trait",
+ "bech32 0.9.1",
+ "chrono",
+ "fuel-abi-types",
+ "fuel-asm",
+ "fuel-core-chain-config",
+ "fuel-core-client",
+ "fuel-crypto",
"fuel-tx",
"fuel-types",
"fuel-vm",
- "fuels-types",
+ "fuels-macros",
"hex",
- "itertools",
- "sha2 0.10.7",
+ "itertools 0.12.0",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "thiserror",
+ "uint",
+ "zeroize",
]
[[package]]
name = "fuels-macros"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396b1007bf06f788b47bc710f53bce2cf5c74c32cf072baeae46abfbba1b5c33"
+checksum = "e1cb90a892ac4b1acfd6f383a7505ce5f33764495adcf9c34371bbcabf9a4042"
dependencies = [
- "Inflector",
- "fuel-abi-types",
"fuels-code-gen",
- "itertools",
+ "itertools 0.12.0",
"proc-macro2",
"quote",
"rand",
- "regex",
- "serde_json",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
name = "fuels-programs"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf6c51214d91115708cea3c7ea62e447623305b281c341f5ed6a18a14ab40f8e"
+checksum = "3d9fd3a7722685ba45a6794374f44530732f4f2f43f507eb1ec6fd0656abacf8"
dependencies = [
"async-trait",
"bytes",
"fuel-abi-types",
+ "fuel-asm",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
"fuels-core",
- "fuels-types",
- "hex",
- "itertools",
- "proc-macro2",
+ "itertools 0.12.0",
"rand",
- "regex",
- "serde",
"serde_json",
- "sha2 0.10.7",
- "strum",
- "strum_macros",
- "thiserror",
"tokio",
]
[[package]]
name = "fuels-test-helpers"
-version = "0.42.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cac950d5fb1a182c897135e68337e750dd8a48e35dd3849a9fc2d602eb55035"
+checksum = "d5742db9887960bbd58bf0b7cb3b0adaa5e29ce4bd667d1063bbe12491c52852"
dependencies = [
"fuel-core",
"fuel-core-chain-config",
"fuel-core-client",
- "fuel-core-types",
+ "fuel-core-poa",
+ "fuel-core-services",
"fuel-tx",
"fuel-types",
- "fuel-vm",
"fuels-accounts",
- "fuels-types",
+ "fuels-core",
"futures",
"hex",
"portpicker",
"rand",
"serde",
"serde_json",
- "serde_with 2.3.3",
+ "serde_with 3.4.0",
"tempfile",
"tokio",
"which",
]
-[[package]]
-name = "fuels-types"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e94e08cfab823b1a6ed2830fe22067dd7112f0fe5228bec23d4e95cefebcfe"
-dependencies = [
- "bech32 0.9.1",
- "chrono",
- "fuel-abi-types",
- "fuel-asm",
- "fuel-core-chain-config",
- "fuel-core-client",
- "fuel-tx",
- "fuel-types",
- "fuels-macros",
- "hex",
- "itertools",
- "proc-macro2",
- "regex",
- "serde",
- "serde_json",
- "strum",
- "strum_macros",
- "thiserror",
-]
-
[[package]]
name = "fundraiser-contract"
version = "0.0.0"
@@ -1740,7 +1816,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
@@ -1793,7 +1869,7 @@ dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
@@ -1872,6 +1948,11 @@ name = "hashbrown"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+ "serde",
+]
[[package]]
name = "heapless"
@@ -1917,6 +1998,15 @@ dependencies = [
"digest 0.10.7",
]
+[[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
[[package]]
name = "http"
version = "0.2.9"
@@ -1974,7 +2064,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -2163,6 +2253,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.9"
@@ -2188,7 +2287,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"once_cell",
- "sha2 0.10.7",
+ "sha2 0.10.8",
"signature",
]
@@ -2209,15 +2308,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.147"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "lock_api"
@@ -2249,9 +2354,9 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "memoffset"
@@ -2279,12 +2384,12 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"windows-sys",
]
@@ -2306,16 +2411,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.16"
@@ -2362,6 +2457,18 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+[[package]]
+name = "p256"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
+dependencies = [
+ "ecdsa",
+ "elliptic-curve",
+ "primeorder",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "parity-scale-codec"
version = "3.6.4"
@@ -2406,11 +2513,17 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"smallvec",
"windows-targets",
]
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
[[package]]
name = "pbkdf2"
version = "0.11.0"
@@ -2463,14 +2576,14 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@@ -2488,6 +2601,12 @@ dependencies = [
"spki",
]
+[[package]]
+name = "platforms"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
+
[[package]]
name = "portpicker"
version = "0.1.1"
@@ -2514,6 +2633,15 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+[[package]]
+name = "primeorder"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7dbe9ed3b56368bd99483eb32fe9c17fdd3730aebadc906918ce78d54c7eeb4"
+dependencies = [
+ "elliptic-curve",
+]
+
[[package]]
name = "primitive-types"
version = "0.12.1"
@@ -2537,9 +2665,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
dependencies = [
"unicode-ident",
]
@@ -2608,9 +2736,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.32"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@@ -2688,11 +2816,20 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "regex"
-version = "1.9.1"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
@@ -2702,9 +2839,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.3"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
@@ -2713,9 +2850,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "reqwest"
@@ -2815,11 +2952,11 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.4"
+version = "0.38.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234"
dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
@@ -2934,6 +3071,32 @@ dependencies = [
"windows-sys",
]
+[[package]]
+name = "schemafy_core"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41781ae092f4fd52c9287efb74456aea0d3b90032d2ecad272bd14dbbcb0511b"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemafy_lib"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e953db32579999ca98c451d80801b6f6a7ecba6127196c5387ec0774c528befa"
+dependencies = [
+ "Inflector",
+ "proc-macro2",
+ "quote",
+ "schemafy_core",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "syn 1.0.109",
+]
+
[[package]]
name = "scopeguard"
version = "1.2.0"
@@ -2949,7 +3112,7 @@ dependencies = [
"hmac",
"pbkdf2 0.11.0",
"salsa20",
- "sha2 0.10.7",
+ "sha2 0.10.8",
]
[[package]]
@@ -3039,35 +3202,35 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
+checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.175"
+version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
+checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ -3098,9 +3261,9 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "2.3.3"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
]
@@ -3132,9 +3295,9 @@ dependencies = [
[[package]]
name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -3195,6 +3358,16 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -3279,9 +3452,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.27"
+version = "2.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
+checksum = "13fa70a4ee923979ffb522cacce59d34421ebdea5625e1073c4326ef9d2dd42e"
dependencies = [
"proc-macro2",
"quote",
@@ -3294,6 +3467,18 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+[[package]]
+name = "synstructure"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.40",
+ "unicode-xid",
+]
+
[[package]]
name = "tai64"
version = "4.0.0"
@@ -3311,46 +3496,35 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "tempfile"
-version = "3.7.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand",
- "redox_syscall",
+ "redox_syscall 0.4.1",
"rustix",
"windows-sys",
]
[[package]]
name = "thiserror"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
+ "syn 2.0.40",
]
[[package]]
@@ -3397,11 +3571,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.29.1"
+version = "1.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
dependencies = [
- "autocfg",
"backtrace",
"bytes",
"libc",
@@ -3410,7 +3583,7 @@ dependencies = [
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys",
]
@@ -3427,13 +3600,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
@@ -3540,6 +3713,7 @@ dependencies = [
"http-body",
"http-range-header",
"pin-project-lite",
+ "tokio",
"tower",
"tower-layer",
"tower-service",
@@ -3579,7 +3753,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
[[package]]
@@ -3654,6 +3828,12 @@ dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -3696,6 +3876,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "uuid"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
+dependencies = [
+ "getrandom",
+]
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3717,12 +3906,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -3750,7 +3933,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
"wasm-bindgen-shared",
]
@@ -3784,7 +3967,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -3845,13 +4028,15 @@ dependencies = [
[[package]]
name = "which"
-version = "4.4.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
dependencies = [
"either",
- "libc",
+ "home",
"once_cell",
+ "rustix",
+ "windows-sys",
]
[[package]]
@@ -3995,5 +4180,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.40",
]
diff --git a/fundraiser/project/Forc.lock b/fundraiser/project/Forc.lock
index 0815f04dc..29d8b1b0e 100644
--- a/fundraiser/project/Forc.lock
+++ b/fundraiser/project/Forc.lock
@@ -1,13 +1,13 @@
[[package]]
-name = 'core'
-source = 'path+from-root-9BFE6D5D0CBDF740'
+name = "core"
+source = "path+from-root-C3992B43B72ADB8C"
[[package]]
-name = 'fundraiser-contract'
-source = 'member'
-dependencies = ['std']
+name = "fundraiser-contract"
+source = "member"
+dependencies = ["std"]
[[package]]
-name = 'std'
-source = 'git+https://github.com/fuellabs/sway?tag=v0.42.1#3b66f8e424bd21e3ba467783b10b36e808cfa6ee'
-dependencies = ['core']
+name = "std"
+source = "git+https://github.com/fuellabs/sway?tag=v0.49.1#2ac7030570f22510b0ac2a7b5ddf7baa20bdc0e1"
+dependencies = ["core"]
diff --git a/fundraiser/project/contracts/fundraiser-contract/Cargo.toml b/fundraiser/project/contracts/fundraiser-contract/Cargo.toml
index 5e8a3a876..65dbaa8bd 100644
--- a/fundraiser/project/contracts/fundraiser-contract/Cargo.toml
+++ b/fundraiser/project/contracts/fundraiser-contract/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2021"
license = "Apache-2.0"
[dependencies]
-fuels = { version = "0.42.0", features = ["fuel-core-lib"] }
+fuels = { version = "0.53.0", features = ["fuel-core-lib"] }
tokio = { version = "1.12", features = ["rt", "macros"] }
[[test]]
diff --git a/fundraiser/project/contracts/fundraiser-contract/src/data_structures/campaign_info.sw b/fundraiser/project/contracts/fundraiser-contract/src/data_structures/campaign_info.sw
index 64ca56c98..e55a50db9 100644
--- a/fundraiser/project/contracts/fundraiser-contract/src/data_structures/campaign_info.sw
+++ b/fundraiser/project/contracts/fundraiser-contract/src/data_structures/campaign_info.sw
@@ -7,7 +7,7 @@ pub struct CampaignInfo {
/// The user who has created the campaign.
author: Identity,
/// The asset that this campaign accepts as a deposit.
- asset: ContractId,
+ asset: AssetId,
/// The user to whom the funds will be sent to upon a successful campaign.
beneficiary: Identity,
// Whether the campaign is currently: Funding, Claimed, Cancelled.
@@ -25,7 +25,7 @@ impl CampaignInfo {
///
/// # Arguments
///
- /// * `asset`: [ContractId] - The asset that this campaign accepts as a deposit.
+ /// * `asset`: [AssetId] - The asset that this campaign accepts as a deposit.
/// * `author`: [Identity] - The user who has created the campaign.
/// * `beneficiary`: [Identity] - The user to whom the funds will be sent to upon a successful campaign.
/// * `deadline`: [u64] - The end time for the campaign after which it becomes locked.
@@ -35,7 +35,7 @@ impl CampaignInfo {
///
/// * [CampaignInfo] - The newly created campaign.
pub fn new(
- asset: ContractId,
+ asset: AssetId,
author: Identity,
beneficiary: Identity,
deadline: u64,
diff --git a/fundraiser/project/contracts/fundraiser-contract/src/interface.sw b/fundraiser/project/contracts/fundraiser-contract/src/interface.sw
index 40b523d95..fa46724e2 100644
--- a/fundraiser/project/contracts/fundraiser-contract/src/interface.sw
+++ b/fundraiser/project/contracts/fundraiser-contract/src/interface.sw
@@ -49,7 +49,7 @@ abi Fundraiser {
///
/// # Arguments
///
- /// * `asset`: [ContractId] - A coin that the campaign accepts as a pledge.
+ /// * `asset`: [AssetId] - A coin that the campaign accepts as a pledge.
/// * `beneficiary`: [Identity] - The recipient to whom the pledge will be sent to upon a successful campaign.
/// * `deadline`: [u64] - Block height used to dictate the end time of a campaign.
/// * `target_amount`: [u64] - The amount of `asset` required to deem the campaign a success.
@@ -59,7 +59,12 @@ abi Fundraiser {
/// * When the `deadline` is not ahead of the current block height.
/// * When the `target_amount` is 0.
#[storage(read, write)]
- fn create_campaign(asset: ContractId, beneficiary: Identity, deadline: u64, target_amount: u64);
+ fn create_campaign(
+ asset: AssetId,
+ beneficiary: Identity,
+ deadline: u64,
+ target_amount: u64,
+ );
/// Allows a user to pledge any amount of the campaign asset towards the campaign goal.
///
@@ -134,13 +139,13 @@ abi Info {
///
/// # Arguments
///
- /// * `asset`: [ContractId] - Uniquie identifier that identifies the asset.
+ /// * `asset`: [AssetId] - Unique identifier that identifies the asset.
///
/// # Returns
///
/// * [Option] - Information about the asset.
#[storage(read)]
- fn asset_info_by_id(asset: ContractId) -> Option;
+ fn asset_info_by_id(asset: AssetId) -> Option;
/// Returns information about the specified campaign.
///
diff --git a/fundraiser/project/contracts/fundraiser-contract/src/main.sw b/fundraiser/project/contracts/fundraiser-contract/src/main.sw
index 8c8278133..714155f6c 100644
--- a/fundraiser/project/contracts/fundraiser-contract/src/main.sw
+++ b/fundraiser/project/contracts/fundraiser-contract/src/main.sw
@@ -22,12 +22,13 @@ use ::events::{
UnpledgedEvent,
};
use std::{
+ asset::transfer,
auth::msg_sender,
block::height,
call_frames::msg_asset_id,
constants::BASE_ASSET_ID,
context::msg_amount,
- token::transfer,
+ hash::Hash,
};
use ::interface::{Fundraiser, Info};
use ::utils::validate_campaign_id;
@@ -36,10 +37,10 @@ storage {
/// Total number of unique assets used across all campaigns
asset_count: u64 = 0,
/// Direct look-up for asset data if the user wants to check via a known ID
- asset_info: StorageMap = StorageMap {},
+ asset_info: StorageMap = StorageMap {},
/// O(1) look-up to allow searching via asset_count
/// Map(1...asset_count => asset)
- asset_index: StorageMap = StorageMap {},
+ asset_index: StorageMap = StorageMap {},
/// The total number of unique campaigns that a user has created
/// This should only be incremented
/// Cancelling / Claiming should not affect this number
@@ -75,14 +76,28 @@ impl Fundraiser for Contract {
let mut campaign_info = storage.campaign_info.get(campaign_id).try_read().unwrap();
// Only the creator (author) of the campaign can cancel it
- require(campaign_info.author == msg_sender().unwrap(), UserError::UnauthorizedUser);
+ require(
+ campaign_info
+ .author == msg_sender()
+ .unwrap(),
+ UserError::UnauthorizedUser,
+ );
// The campaign can only be cancelled before it has reached its deadline (ended)
- require(campaign_info.deadline > height(), CampaignError::CampaignEnded);
+ require(
+ campaign_info
+ .deadline > height()
+ .as_u64(),
+ CampaignError::CampaignEnded,
+ );
// User cannot cancel a campaign that has already been cancelled
// Given the logic below this is unnecessary aside from ignoring event spam
- require(campaign_info.state != CampaignState::Cancelled, CampaignError::CampaignHasBeenCancelled);
+ require(
+ campaign_info
+ .state != CampaignState::Cancelled,
+ CampaignError::CampaignHasBeenCancelled,
+ );
// Mark the campaign as cancelled
campaign_info.state = CampaignState::Cancelled;
@@ -103,29 +118,59 @@ impl Fundraiser for Contract {
let mut campaign_info = storage.campaign_info.get(campaign_id).try_read().unwrap();
// Only the creator (author) of the campaign can initiate the claiming process
- require(campaign_info.author == msg_sender().unwrap(), UserError::UnauthorizedUser);
+ require(
+ campaign_info
+ .author == msg_sender()
+ .unwrap(),
+ UserError::UnauthorizedUser,
+ );
// The author should only have the ability to claim after the deadline has been reached
// (campaign has naturally ended i.e. has not been cancelled)
- require(campaign_info.deadline <= height(), CampaignError::DeadlineNotReached);
+ require(
+ campaign_info
+ .deadline <= height()
+ .as_u64(),
+ CampaignError::DeadlineNotReached,
+ );
// The author can only claim the pledges once the target amount has been reached otherwise
// users should be able to withdraw
- require(campaign_info.target_amount <= campaign_info.total_pledge, CampaignError::TargetNotReached);
+ require(
+ campaign_info
+ .target_amount <= campaign_info
+ .total_pledge,
+ CampaignError::TargetNotReached,
+ );
// The author can only claim once to prevent the entire contract from being drained
- require(campaign_info.state != CampaignState::Claimed, UserError::AlreadyClaimed);
+ require(
+ campaign_info
+ .state != CampaignState::Claimed,
+ UserError::AlreadyClaimed,
+ );
// The author cannot claim after they have cancelled the campaign regardless of any other
// checks
- require(campaign_info.state != CampaignState::Cancelled, CampaignError::CampaignHasBeenCancelled);
+ require(
+ campaign_info
+ .state != CampaignState::Cancelled,
+ CampaignError::CampaignHasBeenCancelled,
+ );
// Mark the campaign as claimed and overwrite the previous state with the updated version
campaign_info.state = CampaignState::Claimed;
storage.campaign_info.insert(campaign_id, campaign_info);
// Transfer the total pledged to this campaign to the beneficiary
- transfer(campaign_info.total_pledge, campaign_info.asset, campaign_info.beneficiary);
+ transfer(
+ campaign_info
+ .beneficiary,
+ campaign_info
+ .asset,
+ campaign_info
+ .total_pledge,
+ );
// We have updated the state of a campaign therefore we must log it
log(ClaimedEvent { campaign_id });
@@ -133,13 +178,17 @@ impl Fundraiser for Contract {
#[storage(read, write)]
fn create_campaign(
- asset: ContractId,
+ asset: AssetId,
beneficiary: Identity,
deadline: u64,
target_amount: u64,
) {
// Users cannot interact with a campaign that has already ended (is in the past)
- require(deadline > height(), CreationError::DeadlineMustBeInTheFuture);
+ require(
+ deadline > height()
+ .as_u64(),
+ CreationError::DeadlineMustBeInTheFuture,
+ );
// A campaign must have a target to reach and therefore 0 is an invalid amount
require(0 < target_amount, CreationError::TargetAmountCannotBeZero);
@@ -159,7 +208,9 @@ impl Fundraiser for Contract {
storage.asset_count.write(storage.asset_count.read() + 1);
// Store in index to allow for asset discovery via iteration over numbers
- storage.asset_index.insert(storage.asset_count.read(), asset);
+ storage
+ .asset_index
+ .insert(storage.asset_count.read(), asset);
}
// Use the user's number of created campaigns as an ID / way to index this new campaign
@@ -167,13 +218,24 @@ impl Fundraiser for Contract {
// We've just created a new campaign so increment the number of created campaigns across all
// users and store the new campaign
- storage.total_campaigns.write(storage.total_campaigns.read() + 1);
- storage.campaign_info.insert(storage.total_campaigns.read(), campaign_info);
+ storage
+ .total_campaigns
+ .write(storage.total_campaigns.read() + 1);
+ storage
+ .campaign_info
+ .insert(storage.total_campaigns.read(), campaign_info);
// Increment the number of campaigns this user has created and track the ID for the campaign
// they have just created so that data can be easily retrieved without duplicating data
- storage.user_campaign_count.insert(author, user_campaign_count + 1);
- storage.campaign_history.insert((author, user_campaign_count + 1), Campaign::new(storage.total_campaigns.read()));
+ storage
+ .user_campaign_count
+ .insert(author, user_campaign_count + 1);
+ storage
+ .campaign_history
+ .insert(
+ (author, user_campaign_count + 1),
+ Campaign::new(storage.total_campaigns.read()),
+ );
// We have changed the state by adding a new data structure therefore we log it
log(CreatedCampaignEvent {
@@ -194,18 +256,31 @@ impl Fundraiser for Contract {
// The users should only have the ability to pledge to campaigns that have not reached their
// deadline (ended naturally - not been cancelled)
- require(campaign_info.deadline > height(), CampaignError::CampaignEnded);
+ require(
+ campaign_info
+ .deadline > height()
+ .as_u64(),
+ CampaignError::CampaignEnded,
+ );
// The campaign specifies an asset that it accepts therefore the user must pledge the correct
// asset in order to update the state of the campaign
- require(campaign_info.asset == msg_asset_id(), UserError::IncorrectAssetSent);
+ require(
+ campaign_info
+ .asset == msg_asset_id(),
+ UserError::IncorrectAssetSent,
+ );
// A user cannot pledge zero since it does not make sense to do so
require(0 < msg_amount(), UserError::AmountCannotBeZero);
// The user should not be able to continue to pledge if the campaign has been cancelled
// Given the logic below it's unnecessary but it makes sense to stop them
- require(campaign_info.state != CampaignState::Cancelled, CampaignError::CampaignHasBeenCancelled);
+ require(
+ campaign_info
+ .state != CampaignState::Cancelled,
+ CampaignError::CampaignHasBeenCancelled,
+ );
// Use the user's pledges as an ID / way to index this new pledge
let user = msg_sender().unwrap();
@@ -222,7 +297,9 @@ impl Fundraiser for Contract {
let mut pledge = storage.pledge_history.get((user, pledge_history_index)).try_read().unwrap();
pledge.amount += msg_amount();
- storage.pledge_history.insert((user, pledge_history_index), pledge);
+ storage
+ .pledge_history
+ .insert((user, pledge_history_index), pledge);
} else {
// Pledging to a new campaign
@@ -232,11 +309,18 @@ impl Fundraiser for Contract {
// Store the data structure required to look up the campaign they have pledged to, also
// track how much they have pledged so that they can withdraw the correct amount.
// Moreover, this can be used to show the user how much they have pledged to any campaign
- storage.pledge_history.insert((user, pledge_count + 1), Pledge::new(msg_amount(), campaign_id));
+ storage
+ .pledge_history
+ .insert(
+ (user, pledge_count + 1),
+ Pledge::new(msg_amount(), campaign_id),
+ );
// Since we use the campaign ID to interact with the contract use the ID as a key for
// a reverse look-up. Value is the 1st pledge (count)
- storage.pledge_history_index.insert((user, campaign_id), pledge_count + 1);
+ storage
+ .pledge_history_index
+ .insert((user, campaign_id), pledge_count + 1);
}
// The user has pledged therefore we increment the total amount that this campaign has
@@ -274,8 +358,12 @@ impl Fundraiser for Contract {
// A user should be able to unpledge at any point except if the deadline has been reached
// and the author has claimed
- if campaign_info.deadline <= height() {
- require(campaign_info.state != CampaignState::Claimed, UserError::AlreadyClaimed);
+ if campaign_info.deadline <= height().as_u64() {
+ require(
+ campaign_info
+ .state != CampaignState::Claimed,
+ UserError::AlreadyClaimed,
+ );
}
// Check if the user has pledged to the campaign they are attempting to unpledge from
@@ -300,7 +388,9 @@ impl Fundraiser for Contract {
campaign_info.total_pledge -= amount;
// Update the state of their pledge with the new version
- storage.pledge_history.insert((user, pledge_history_index), pledge);
+ storage
+ .pledge_history
+ .insert((user, pledge_history_index), pledge);
// Update the campaign state with the updated version as well
storage.campaign_info.insert(campaign_id, campaign_info);
@@ -313,7 +403,7 @@ impl Fundraiser for Contract {
storage.asset_info.insert(campaign_info.asset, asset_info);
// Transfer back the amount the user has unpledged
- transfer(amount, campaign_info.asset, user);
+ transfer(user, campaign_info.asset, amount);
// We have updated the state of a campaign therefore we must log it
log(UnpledgedEvent {
@@ -336,7 +426,7 @@ impl Info for Contract {
}
#[storage(read)]
- fn asset_info_by_id(asset: ContractId) -> Option {
+ fn asset_info_by_id(asset: AssetId) -> Option {
storage.asset_info.get(asset).try_read()
}
diff --git a/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/core.rs b/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/core.rs
index 0b5bdc226..83ffdcac8 100644
--- a/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/core.rs
+++ b/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/core.rs
@@ -1,6 +1,6 @@
use fuels::{
- prelude::{AssetId, CallParameters, ContractId, TxParameters, WalletUnlocked},
- programs::call_response::FuelCallResponse,
+ prelude::{AssetId, CallParameters, TxPolicies, WalletUnlocked},
+ programs::{call_response::FuelCallResponse, call_utils::TxDependencyExtension},
types::Identity,
};
@@ -28,7 +28,7 @@ pub(crate) async fn claim_pledges(
pub(crate) async fn create_campaign(
contract: &Fundraiser,
- asset: &ContractId,
+ asset: &AssetId,
beneficiary: &Identity,
deadline: u64,
target_amount: u64,
@@ -47,13 +47,13 @@ pub(crate) async fn pledge(
asset: &Coin,
amount: u64,
) -> FuelCallResponse<()> {
- let tx_params = TxParameters::new(0, 2_000_000, 0);
- let call_params = CallParameters::new(amount, AssetId::from(*asset.id), 1_000_000);
+ let tx_params = TxPolicies::new(Some(0), Some(2_000_000), None, None, None);
+ let call_params = CallParameters::new(amount, asset.id, 1_000_000);
contract
.methods()
.pledge(id)
- .tx_params(tx_params)
+ .with_tx_policies(tx_params)
.call_params(call_params)
.unwrap()
.call()
diff --git a/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/info.rs b/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/info.rs
index 375b3bdcb..c76e01741 100644
--- a/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/info.rs
+++ b/fundraiser/project/contracts/fundraiser-contract/tests/utils/interface/info.rs
@@ -1,6 +1,6 @@
use crate::utils::setup::{AssetInfo, Campaign, CampaignInfo, Fundraiser, Pledge};
use fuels::{
- prelude::{ContractId, WalletUnlocked},
+ prelude::{AssetId, WalletUnlocked},
programs::call_response::FuelCallResponse,
types::Identity,
};
@@ -11,7 +11,7 @@ pub(crate) async fn asset_count(contract: &Fundraiser) -> u64 {
pub(crate) async fn asset_info_by_id(
contract: &Fundraiser,
- asset: &ContractId,
+ asset: &AssetId,
) -> FuelCallResponse