Skip to content

Commit 80b2016

Browse files
authored
refactor: integrated nitka (#78)
* refactor: integrated nitka * fix: removed unused borsh
1 parent 9d4408d commit 80b2016

24 files changed

+253
-214
lines changed

Cargo.lock

+211-179
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ futures = "0.3.28"
1414
num-format = "0.4.4"
1515
itertools = "0.12.1"
1616
ed25519-dalek = { version = "2.0.0", features = ["rand_core"] }
17-
base64 = "0.21.3"
17+
base64 = "0.22.0"
1818
sha256 = "1.3.0"
1919
mutants = "0.0.3"
2020

21-
integration-trait = { git = "https://github.com/sweatco/integration-utils.git", rev = "e54dc392ef42837123dd2c0ad19b6d6b815192d7" }
22-
integration-utils = { git = "https://github.com/sweatco/integration-utils.git", rev = "e54dc392ef42837123dd2c0ad19b6d6b815192d7" }
21+
nitka = "0.1.1"
22+
nitka-proc = "0.1.1"
2323

2424
sweat-jar-model = { path = "model" }
25-
sweat-model = { git = "https://github.com/sweatco/sweat-near", rev = "bb9acde42fd6ef4f3e4c2a69d4ade8503df40f4a" }
25+
sweat-model = { git = "https://github.com/sweatco/sweat-near", rev = "1fee5d917dc1f2eeb91ba4ac65eef35f173e9a47" }
2626

2727
near-workspaces = "0.10.0"
2828
near-sdk = { git = "https://github.com/sweatco/near-sdk-rs", rev = "8c48b26cc48d969c1e5f3162141fe9c824fccecd" }

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ cov: ##@Testing Run unit tests with coverage.
3333
cargo llvm-cov --hide-instantiations --open --ignore-filename-regex tests.rs
3434

3535
test: ##@Testing Run unit tests.
36-
cargo test --package sweat-jar-model && \
36+
cargo test --package sweat-jar-model --features=release-api && \
3737
cargo test --package sweat_jar
3838

3939
integration: ##@Testing Run integration tests.

contract/Cargo.toml

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ edition = "2021"
88
crate-type = ["cdylib"]
99

1010
[features]
11-
default = []
12-
integration-test = ["sweat-jar-model/integration-methods"]
11+
default = ["release"]
12+
release = ["sweat-jar-model/release-api"]
13+
integration-test = ["sweat-jar-model/release-api", "sweat-jar-model/integration-methods"]
14+
integration-api = ["sweat-jar-model/integration-api"]
1315

1416
[dependencies]
1517
ed25519-dalek = { workspace = true }

integration-tests/Cargo.toml

+3-4
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@ ed25519-dalek = { workspace = true }
2121
base64 = { workspace = true }
2222
mutants = { workspace = true }
2323

24-
sweat-jar-model = { workspace = true, features = ["integration-test", "integration-methods"] }
25-
sweat-model = { workspace = true, features = ["integration-test"] }
26-
integration-utils = { workspace = true }
24+
sweat-jar-model = { workspace = true, features = ["integration-test", "integration-methods", "integration-api"] }
25+
sweat-model = { workspace = true, features = ["integration-api"] }
26+
nitka = { workspace = true }
2727
near-workspaces = { workspace = true }
2828

29-
borsh = "0.10.3"
3029
maplit = "1.0"
3130
near-units = "0.2.0"
3231
# arbitrary_precision enabled for u128 types that workspaces requires for Balance types

integration-tests/src/claim_detailed.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use integration_utils::misc::ToNear;
1+
use nitka::misc::ToNear;
22
use sweat_jar_model::{
33
api::{ClaimApiIntegration, JarApiIntegration, ProductApiIntegration},
44
claimed_amount_view::ClaimedAmountView,

integration-tests/src/context.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
use anyhow::Result;
22
use async_trait::async_trait;
3-
use integration_utils::misc::ToNear;
43
use near_sdk::json_types::U128;
54
use near_workspaces::Account;
5+
use nitka::misc::ToNear;
66
use sweat_jar_model::api::{InitApiIntegration, ProductApiIntegration, SweatJarContract};
77
use sweat_model::{StorageManagementIntegration, SweatApiIntegration, SweatContract};
88

99
use crate::product::RegisterProductCommand;
1010

11-
pub type Context = integration_utils::context::Context<near_workspaces::network::Sandbox>;
11+
pub type Context = nitka::context::Context<near_workspaces::network::Sandbox>;
1212

1313
pub const FT_CONTRACT: &str = "sweat";
1414
pub const SWEAT_JAR: &str = "sweat_jar";

integration-tests/src/happy_flow.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use integration_utils::misc::ToNear;
1+
use nitka::misc::ToNear;
22
use sweat_jar_model::api::{ClaimApiIntegration, JarApiIntegration, ProductApiIntegration};
33
use sweat_model::FungibleTokenCoreIntegration;
44

integration-tests/src/jar_contract_extensions.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use anyhow::Result;
2-
use integration_utils::{contract_call::ContractCall, misc::ToNear};
32
use near_sdk::{json_types::U128, Timestamp};
43
use near_workspaces::{types::NearToken, Account};
4+
use nitka::{contract_call::ContractCall, misc::ToNear};
55
use serde_json::{json, Value};
66
use sweat_jar_model::{api::SweatJarContract, jar::JarId};
77
use sweat_model::{FungibleTokenCoreIntegration, SweatContract};

integration-tests/src/jar_deletion.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use integration_utils::misc::ToNear;
1+
use nitka::misc::ToNear;
22
use sweat_jar_model::api::{ClaimApiIntegration, JarApiIntegration, WithdrawApiIntegration};
33

44
use crate::{

integration-tests/src/measure/batch_penalty.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
use std::collections::HashMap;
44

55
use anyhow::Result;
6-
use integration_utils::misc::ToNear;
76
use near_workspaces::types::Gas;
7+
use nitka::misc::ToNear;
88
use sweat_jar_model::api::{JarApiIntegration, PenaltyApiIntegration};
99

1010
use crate::{

integration-tests/src/measure/restake.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
use std::collections::HashMap;
44

55
use anyhow::Result;
6-
use integration_utils::misc::ToNear;
76
use near_workspaces::types::Gas;
7+
use nitka::misc::ToNear;
88
use sweat_jar_model::api::JarApiIntegration;
99

1010
use crate::{

integration-tests/src/measure/withdraw.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
use std::collections::HashMap;
44

55
use anyhow::Result;
6-
use integration_utils::misc::ToNear;
76
use near_workspaces::types::Gas;
7+
use nitka::misc::ToNear;
88
use sweat_jar_model::api::{JarApiIntegration, WithdrawApiIntegration};
99

1010
use crate::{

integration-tests/src/migrations/claim_rounding.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
use anyhow::Result;
22
use fake::Fake;
3-
use integration_utils::{contract_call::set_integration_logs_enabled, misc::ToNear};
4-
use near_sdk::AccountId;
53
use near_workspaces::types::NearToken;
4+
use nitka::{contract_call::set_integration_logs_enabled, misc::ToNear};
65
use sweat_jar_model::{
76
api::{
87
IntegrationTestMethodsIntegration, JarApiIntegration, MigrationToClaimRemainderIntegration, SweatJarContract,
@@ -52,7 +51,7 @@ async fn migrate_to_claim_roundings() -> Result<()> {
5251
let mut accounts = Vec::with_capacity(users_count);
5352

5453
for _ in 0..users_count {
55-
accounts.push(AccountId::new_unchecked(64.fake::<String>().to_ascii_lowercase()));
54+
accounts.push(64.fake::<String>().to_ascii_lowercase().try_into().unwrap());
5655
}
5756

5857
let elapsed = now.elapsed();

integration-tests/src/migrations/defi.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use integration_utils::misc::ToNear;
21
use near_workspaces::types::NearToken;
2+
use nitka::misc::ToNear;
33
use serde_json::json;
44
use sweat_jar_model::api::{InitApiIntegration, JarApiIntegration, ProductApiIntegration};
55
use sweat_model::{FungibleTokenCoreIntegration, StorageManagementIntegration, SweatApiIntegration};

integration-tests/src/migrations/new_sdk.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use anyhow::Result;
2-
use integration_utils::misc::ToNear;
32
use near_sdk::json_types::U128;
3+
use nitka::misc::ToNear;
44
use sweat_jar_model::api::{InitApiIntegration, JarApiIntegration, ProductApiIntegration, SweatJarContract};
55
use sweat_model::{FungibleTokenCoreIntegration, StorageManagementIntegration, SweatApiIntegration, SweatContract};
66

integration-tests/src/premium_product.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use base64::{engine::general_purpose::STANDARD, Engine};
22
use ed25519_dalek::Signer;
3-
use integration_utils::misc::ToNear;
43
use near_sdk::env::sha256;
4+
use nitka::misc::ToNear;
55
use serde_json::from_value;
66
use sweat_jar_model::api::{JarApiIntegration, PenaltyApiIntegration, ProductApiIntegration};
77

integration-tests/src/restake.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use integration_utils::misc::ToNear;
1+
use nitka::misc::ToNear;
22
use sweat_jar_model::api::{ClaimApiIntegration, JarApiIntegration};
33

44
use crate::{

integration-tests/src/withdraw_fee.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use integration_utils::misc::ToNear;
1+
use nitka::misc::ToNear;
22
use sweat_jar_model::{api::WithdrawApiIntegration, U32};
33
use sweat_model::FungibleTokenCoreIntegration;
44

model/Cargo.toml

+6-3
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,18 @@ name = "sweat_jar_model"
1010

1111
[features]
1212
default = []
13-
integration-test = ["dep:integration-utils", "dep:near-workspaces"]
1413
integration-methods = []
14+
integration-test = ["dep:nitka", "dep:near-workspaces"]
15+
integration-api = ["dep:nitka", "dep:near-workspaces"]
16+
release-api = []
1517

1618

1719
[dependencies]
1820
anyhow = { workspace = true }
1921
near-sdk = { workspace = true }
2022
async-trait = { workspace = true }
21-
integration-trait = { workspace = true }
2223

23-
integration-utils = { workspace = true, optional = true }
24+
nitka-proc = { workspace = true }
25+
nitka = { workspace = true, optional = true }
26+
2427
near-workspaces = { workspace = true, optional = true }

model/src/api.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
use integration_trait::make_integration_version;
1+
#[cfg(feature = "release-api")]
2+
use near_sdk::AccountId;
23
use near_sdk::{
34
json_types::{Base64VecU8, U128},
4-
AccountId, PromiseOrValue,
5+
PromiseOrValue,
56
};
7+
#[cfg(feature = "integration-api")]
8+
use nitka::AccountId;
9+
use nitka_proc::make_integration_version;
610

711
use crate::{
812
claimed_amount_view::ClaimedAmountView,

res/sweat_jar.wasm

4.47 KB
Binary file not shown.

scripts/build-integration.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ set -eox pipefail
44
echo ">> Building contract"
55

66
rustup target add wasm32-unknown-unknown
7-
cargo build -p sweat_jar --target wasm32-unknown-unknown --profile=contract --features integration-test
7+
cargo build -p sweat_jar --target wasm32-unknown-unknown --profile=contract --features integration-test,
88

99
cp ./target/wasm32-unknown-unknown/contract/sweat_jar.wasm res/sweat_jar.wasm

scripts/lint.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -eox pipefail
33

44
rustup component add clippy
55

6-
cargo clippy --all \
6+
cargo clippy -p sweat_jar \
77
-- \
88
\
99
-W clippy::all \

0 commit comments

Comments
 (0)