Skip to content

Commit

Permalink
Merge pull request #384 from Concordium/update-versions-for-release
Browse files Browse the repository at this point in the history
Update versions for release.
  • Loading branch information
abizjak authored Jan 22, 2024
2 parents f9d45cc + b060ea2 commit 1b7f910
Show file tree
Hide file tree
Showing 22 changed files with 161 additions and 137 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -346,9 +346,9 @@ jobs:
run: |
mv $PROJECT_NAME ${{ runner.temp }}/
sed -i "s/root/Concordium <developers@concordium.com>/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/{version = \"8.1\", default-features = false}/{path = \"..\/..\/concordium-std\", default-features = false}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/{version = \"5.1\", default-features = false}/{path = \"..\/..\/concordium-cis2\", default-features = false}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/concordium-smart-contract-testing = \"3.0\"/concordium-smart-contract-testing = {path = \"..\/..\/contract-testing\"}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/{version = \"9.0\", default-features = false}/{path = \"..\/..\/concordium-std\", default-features = false}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/{version = \"6.0\", default-features = false}/{path = \"..\/..\/concordium-cis2\", default-features = false}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/concordium-smart-contract-testing = \"4.0\"/concordium-smart-contract-testing = {path = \"..\/..\/contract-testing\"}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
diff ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml examples/cis2-nft/Cargo.toml
diff ${{ runner.temp }}/$PROJECT_NAME/src/lib.rs examples/cis2-nft/src/lib.rs
diff ${{ runner.temp }}/$PROJECT_NAME/tests/tests.rs examples/cis2-nft/tests/tests.rs
Expand Down Expand Up @@ -394,9 +394,9 @@ jobs:
run: |
mv $PROJECT_NAME ${{ runner.temp }}/
sed -i "s/root/Concordium <developers@concordium.com>/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/version = \"8.1\", default-features = false/path = \"..\/..\/concordium-std\", version = \"8.1\", default-features = false/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/version = \"5.1\", default-features = false/path = \"..\/..\/concordium-cis2\", version = \"5.1\", default-features = false/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/concordium-smart-contract-testing = \"3.1\"/concordium-smart-contract-testing = {path = \"..\/..\/contract-testing\"}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/version = \"9.0\", default-features = false/path = \"..\/..\/concordium-std\", version = \"9.0\", default-features = false/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/version = \"6.0\", default-features = false/path = \"..\/..\/concordium-cis2\", version = \"6.0\", default-features = false/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
sed -i "s/concordium-smart-contract-testing = \"4.0\"/concordium-smart-contract-testing = {path = \"..\/..\/contract-testing\"}/g" ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml
diff ${{ runner.temp }}/$PROJECT_NAME/Cargo.toml examples/credential-registry/Cargo.toml
diff ${{ runner.temp }}/$PROJECT_NAME/src/lib.rs examples/credential-registry/src/lib.rs
diff ${{ runner.temp }}/$PROJECT_NAME/tests/tests.rs examples/credential-registry/tests/tests.rs
Expand Down
4 changes: 4 additions & 0 deletions concordium-cis2/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# Changelog

## Unreleased changes

## concordium-cis2 6.0.0 (2024-01-22)

- Add `Clone` trait for `StandardIdentifierOwned`.
- Add specific parameter type `OnReceivingCis2DataParams<T, A, D>` for a contract function which receives CIS2 tokens with a specific type D for the AdditionalData.
- Add `Deserial` trait for `OnReceivingCis2DataParams<T, A, D>`.
- Add `Serial` trait for `OnReceivingCis2DataParams<T, A, D>`.
- Update `concordium-std` version to `9`.

## concordium-cis2 5.1.0 (2023-10-18)

Expand Down
4 changes: 2 additions & 2 deletions concordium-cis2/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "concordium-cis2"
version = "5.1.0"
version = "6.0.0"
authors = ["Concordium <developers@concordium.com>"]
edition = "2021"
license = "MPL-2.0"
Expand All @@ -11,7 +11,7 @@ readme = "./README.md"

[dependencies.concordium-std]
path = "../concordium-std"
version = "8.0"
version = "9.0"
default-features = false

[dependencies.primitive-types]
Expand Down
2 changes: 1 addition & 1 deletion concordium-rust-sdk
3 changes: 3 additions & 0 deletions concordium-std/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@

## Unreleased changes

## concordium-std 6.0.0 (2024-01-22)

- Add a `concordium_dbg!` macro and the associated `debug` feature to enable,
together with `cargo concordium`, to emit debug information during contract
execution.
- Update `concordium-contracts-common` dependency to version `9`.

## concordium-std 8.1.0 (2023-10-18)

Expand Down
4 changes: 2 additions & 2 deletions concordium-std/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "concordium-std"
version = "8.1.0"
version = "9.0.0"
authors = ["Concordium <developers@concordium.com>"]
edition = "2021"
rust-version = "1.66"
Expand All @@ -23,7 +23,7 @@ getrandom = { version = "0.2", features = ["custom"], optional = true }

[dependencies.concordium-contracts-common]
path = "../concordium-rust-sdk/concordium-base/smart-contracts/contracts-common/concordium-contracts-common"
version = "8.1"
version = "9.0"
default-features = false
features = ["smart-contract"]

Expand Down
2 changes: 2 additions & 0 deletions contract-testing/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Unreleased changes

## 4.0.0

- Add support for debug output when running smart contracts. This adds a new
`module_deploy_v1_debug` method to the `Chain` that allows debug symbols
in the deployed module.
Expand Down
7 changes: 2 additions & 5 deletions contract-testing/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "concordium-smart-contract-testing"
version = "3.2.0"
version = "4.0.0"
edition = "2021"
rust-version = "1.67"
license = "MPL-2.0"
Expand All @@ -13,10 +13,7 @@ exclude = ["tests"] # Do not publish tests.
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
concordium_base = {version = "3.2", path = "../concordium-rust-sdk/concordium-base/rust-src/concordium_base"}
concordium-smart-contract-engine = {version = "3.0", path = "../concordium-rust-sdk/concordium-base/smart-contracts/wasm-chain-integration"}
concordium-wasm = {version = "3.0", path = "../concordium-rust-sdk/concordium-base/smart-contracts/wasm-transform"}
concordium-rust-sdk = {version = "3.2", path = "../concordium-rust-sdk"}
concordium-rust-sdk = {version = "4", path = "../concordium-rust-sdk"}
tokio = { version = "1.28", features = ["rt-multi-thread", "time"] }
sha2 = "0.10"
anyhow = "1"
Expand Down
2 changes: 1 addition & 1 deletion contract-testing/src/constants.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! Various constants.

use concordium_base::base::Energy;
use concordium_rust_sdk::base::base::Energy;

// Energy constants from Cost.hs in concordium-base.

Expand Down
79 changes: 41 additions & 38 deletions contract-testing/src/impls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,31 @@ use crate::{
types::*,
};
use anyhow::anyhow;
use concordium_base::{
base::{AccountThreshold, Energy, InsufficientEnergy},
constants::MAX_WASM_MODULE_SIZE,
contracts_common::{
self, AccountAddress, AccountBalance, Address, Amount, ChainMetadata, ContractAddress,
Deserial, Duration, ExchangeRate, ExchangeRates, ModuleReference, OwnedPolicy, ParseResult,
SlotTime, Timestamp,
use concordium_rust_sdk::{
self as sdk, base,
base::{
base::{AccountThreshold, Energy, InsufficientEnergy},
constants::MAX_WASM_MODULE_SIZE,
contracts_common::{
self, AccountAddress, AccountBalance, Address, Amount, ChainMetadata, ContractAddress,
Deserial, Duration, ExchangeRate, ExchangeRates, ModuleReference, OwnedPolicy,
ParseResult, SlotTime, Timestamp,
},
hashes::BlockHash,
smart_contracts::{ContractEvent, ModuleSource, WasmModule, WasmVersion},
transactions::{
self, cost, AccountAccessStructure, InitContractPayload, UpdateContractPayload,
},
},
hashes::BlockHash,
smart_contracts::{ContractEvent, ModuleSource, WasmModule, WasmVersion},
transactions::{
self, cost, AccountAccessStructure, InitContractPayload, UpdateContractPayload,
smart_contracts::engine::{
v0,
v1::{self, DebugTracker, InvalidReturnCodeError, InvokeResponse},
wasm,
wasm::validate::ValidationConfig,
DebugInfo, InterpreterEnergy,
},
v2::Endpoint,
};
use concordium_rust_sdk::{self as sdk, v2::Endpoint};
use concordium_smart_contract_engine::{
v0,
v1::{self, DebugTracker, InvalidReturnCodeError, InvokeResponse},
DebugInfo, InterpreterEnergy,
};
use concordium_wasm::validate::ValidationConfig;
use num_bigint::BigUint;
use num_integer::Integer;
use sdk::types::smart_contracts::InvokeContractResult;
Expand Down Expand Up @@ -578,24 +582,23 @@ impl Chain {
sender_account.balance.total -= transaction_fee;

// Construct the artifact.
let artifact =
match concordium_wasm::utils::instantiate_with_metering::<v1::ProcessedImports, _>(
ValidationConfig::V1,
&v1::ConcordiumAllowedImports {
support_upgrade: true,
enable_debug,
},
wasm_module.source.as_ref(),
) {
Ok(artifact) => artifact,
Err(err) => {
return Err(ModuleDeployError {
kind: ModuleInvalidError(err).into(),
energy_used,
transaction_fee,
})
}
};
let artifact = match wasm::utils::instantiate_with_metering::<v1::ProcessedImports, _>(
ValidationConfig::V1,
&v1::ConcordiumAllowedImports {
support_upgrade: true,
enable_debug,
},
wasm_module.source.as_ref(),
) {
Ok(artifact) => artifact,
Err(err) => {
return Err(ModuleDeployError {
kind: ModuleInvalidError(err).into(),
energy_used,
transaction_fee,
})
}
};

let module_reference: ModuleReference = wasm_module.get_module_ref();

Expand Down Expand Up @@ -1998,7 +2001,7 @@ pub fn module_load_v1(module_path: impl AsRef<Path>) -> Result<WasmModule, Modul
kind: e.into(),
})?;
let module: WasmModule =
concordium_base::common::from_bytes(&mut reader).map_err(|e| ModuleLoadError {
base::common::from_bytes(&mut reader).map_err(|e| ModuleLoadError {
path: module_path.to_path_buf(),
kind: ModuleLoadErrorKind::ReadModule(e.into()),
})?;
Expand Down Expand Up @@ -2171,7 +2174,7 @@ impl From<ExchangeRateError> for ChainBuilderError {

#[cfg(test)]
mod tests {
use concordium_base::base::AccountAddressEq;
use concordium_rust_sdk::base::base::AccountAddressEq;

use super::*;

Expand Down
43 changes: 23 additions & 20 deletions contract-testing/src/invocation/impls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,28 @@ use crate::{
types::{Account, BalanceError, Contract, ContractModule, TransferError},
AccountSignatures, DebugTraceElement, ExecutionError, InvokeExecutionError,
};
use concordium_base::{
base::{AccountAddressEq, Energy, InsufficientEnergy},
common,
contracts_common::{
to_bytes, AccountAddress, AccountBalance, Address, Amount, ChainMetadata, ContractAddress,
ExchangeRates, ModuleReference, OwnedEntrypointName, OwnedReceiveName,
use concordium_rust_sdk::{
base::{
self,
base::{AccountAddressEq, Energy, InsufficientEnergy},
common,
contracts_common::{
to_bytes, AccountAddress, AccountBalance, Address, Amount, ChainMetadata,
ContractAddress, ExchangeRates, ModuleReference, OwnedEntrypointName, OwnedReceiveName,
},
smart_contracts::{
ContractTraceElement, InstanceUpdatedEvent, OwnedContractName, OwnedParameter,
WasmVersion,
},
transactions::{verify_data_signature, AccountAccessStructure, UpdateContractPayload},
},
smart_contracts::{
ContractTraceElement, InstanceUpdatedEvent, OwnedContractName, OwnedParameter, WasmVersion,
smart_contracts::engine::{
v0,
v1::{self, trie, DebugTracker, InvokeResponse},
wasm::artifact::{self, CompiledFunction},
DebugInfo, InterpreterEnergy,
},
transactions::{verify_data_signature, AccountAccessStructure, UpdateContractPayload},
};
use concordium_smart_contract_engine::{
v0,
v1::{self, trie, DebugTracker, InvokeResponse},
DebugInfo, InterpreterEnergy,
};
use concordium_wasm::artifact::{self, CompiledFunction};
use std::collections::{btree_map, BTreeMap};

// Exit early with an out of energy error.
Expand Down Expand Up @@ -521,9 +525,8 @@ impl<'a, 'b> EntrypointInvocationHandler<'a, 'b> {
);

exit_ooe!(
self.remaining_energy.tick_energy(
concordium_base::transactions::cost::SIMPLE_TRANSFER
),
self.remaining_energy
.tick_energy(base::transactions::cost::SIMPLE_TRANSFER),
DebugTracker::empty_trace()
);

Expand Down Expand Up @@ -1509,8 +1512,8 @@ fn deserial_signature_and_data_from_contract(
) -> anyhow::Result<DeserializedSignatureAndData> {
// Imported locally only since it is critical that we use the right Deserial
// trait.
use concordium_base::contracts_common::Deserial;
let mut source = concordium_base::contracts_common::Cursor::new(payload);
use concordium_rust_sdk::base::contracts_common::Deserial;
let mut source = base::contracts_common::Cursor::new(payload);
let data_len = u32::deserial(&mut source)?;
let data = &payload[source.offset..][..data_len as usize];
source.offset += data_len as usize;
Expand Down
27 changes: 16 additions & 11 deletions contract-testing/src/invocation/types.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
use crate::Chain;
use concordium_base::{
base::{AccountAddressEq, Energy},
contracts_common::{
AccountAddress, Address, Amount, ContractAddress, ModuleReference, OwnedContractName,
OwnedEntrypointName,
use concordium_rust_sdk::{
base::{
base::{AccountAddressEq, Energy},
contracts_common::{
AccountAddress, Address, Amount, ContractAddress, ModuleReference, OwnedContractName,
OwnedEntrypointName,
},
smart_contracts::OwnedParameter,
transactions::UpdateContractPayload,
},
smart_contracts::engine::{
v1::{
trie::MutableState, DebugTracker, InvokeResponse, ReceiveContext,
ReceiveInterruptedState,
},
wasm::artifact::CompiledFunction,
},
smart_contracts::OwnedParameter,
transactions::UpdateContractPayload,
};
use concordium_smart_contract_engine::v1::{
trie::MutableState, DebugTracker, InvokeResponse, ReceiveContext, ReceiveInterruptedState,
};
use concordium_wasm::artifact::CompiledFunction;
use std::collections::BTreeMap;

/// A type that supports invoking a contract entrypoint.
Expand Down
35 changes: 19 additions & 16 deletions contract-testing/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
//! edition = "2021"
//!
//! [dev-dependencies]
//! concordium-smart-contract-testing = "3.0"
//! concordium-smart-contract-testing = "4.0"
//! ```
//!
//! ## Basic usage
Expand Down Expand Up @@ -93,20 +93,23 @@ pub use impls::{is_debug_enabled, module_load_v1, module_load_v1_raw};
pub use types::*;

// Re-export types.
pub use concordium_base::{
base::Energy,
common::types::{CredentialIndex, KeyIndex},
contracts_common::{
from_bytes, to_bytes, AccountAddress, AccountBalance, AccountThreshold, Address, Amount,
ContractAddress, ContractName, Duration, EntrypointName, ExchangeRate, ModuleReference,
OwnedContractName, OwnedEntrypointName, OwnedParameter, OwnedReceiveName, Parameter,
ReceiveName, SignatureThreshold, SlotTime, Timestamp,
pub use concordium_rust_sdk::{
base::{
base::Energy,
common::types::{CredentialIndex, KeyIndex},
contracts_common::{
from_bytes, to_bytes, AccountAddress, AccountBalance, AccountThreshold, Address,
Amount, ContractAddress, ContractName, Duration, EntrypointName, ExchangeRate,
ModuleReference, OwnedContractName, OwnedEntrypointName, OwnedParameter,
OwnedReceiveName, Parameter, ReceiveName, SignatureThreshold, SlotTime, Timestamp,
},
ed25519,
hashes::BlockHash,
id::types::{AccountKeys, CredentialPublicKeys, VerifyKey},
smart_contracts::{ContractEvent, ContractTraceElement, InstanceUpdatedEvent, WasmVersion},
transactions::{AccountAccessStructure, InitContractPayload, UpdateContractPayload},
},
ed25519,
hashes::BlockHash,
id::types::{AccountKeys, CredentialPublicKeys, VerifyKey},
smart_contracts::{ContractEvent, ContractTraceElement, InstanceUpdatedEvent, WasmVersion},
transactions::{AccountAccessStructure, InitContractPayload, UpdateContractPayload},
smart_contracts::engine::v1::InvokeFailure,
types::RejectReason,
v2::Endpoint,
};
pub use concordium_rust_sdk::{types::RejectReason, v2::Endpoint};
pub use concordium_smart_contract_engine::v1::InvokeFailure;
Loading

0 comments on commit 1b7f910

Please sign in to comment.