Skip to content

Commit ad72da4

Browse files
authored
chore: updated near-* to 0.24.0, bumped up rust version (#381)
Resolves: #384
1 parent 5adcfae commit ad72da4

File tree

19 files changed

+607
-1221
lines changed

19 files changed

+607
-1221
lines changed

Diff for: Cargo.lock

+487-1,131
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: Cargo.toml

+14-14
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ slipped10 = { version = "0.4.6" }
5151
url = { version = "2", features = ["serde"] }
5252
open = "5"
5353
shell-words = "1"
54-
cargo-util = "0.1.1"
54+
cargo-util = "0.2"
5555
indicatif = "0.17.8"
5656
indenter = "0.3"
5757
tracing = "0.1.40"
@@ -61,7 +61,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] }
6161
wasmparser = "0.211"
6262

6363
semver = { version = "1.0.4", optional = true }
64-
self_update = { version = "0.40.0", features = [
64+
self_update = { version = "0.41.0", features = [
6565
"archive-tar",
6666
"compression-flate2",
6767
], optional = true }
@@ -73,31 +73,31 @@ bytesize = "1.1.0"
7373
prettytable = "0.10.0"
7474
textwrap = "0.16.1"
7575

76-
near-ledger = { version = "0.7.1", optional = true }
76+
near-ledger = { version = "0.7.2", optional = true }
7777

78-
near-crypto = "0.23"
79-
near-primitives = "0.23"
80-
near-jsonrpc-client = "0.10.1"
81-
near-jsonrpc-primitives = "0.23"
78+
near-crypto = "0.24"
79+
near-primitives = "0.24"
80+
near-jsonrpc-client = "0.11"
81+
near-jsonrpc-primitives = "0.24"
8282

83-
near-gas = { version = "0.2.3", features = [
83+
near-gas = { version = "0.3", features = [
8484
"serde",
8585
"borsh",
8686
"interactive-clap",
8787
] }
88-
near-token = { version = "0.2.0", features = [
88+
near-token = { version = "0.3", features = [
8989
"serde",
9090
"borsh",
9191
"interactive-clap",
9292
] }
93-
near-socialdb-client = "0.3.1"
93+
near-socialdb-client = "0.5"
9494

9595
near-abi = "0.4.2"
9696
zstd = "0.13"
9797

98-
keyring = "2.0.5"
99-
interactive-clap = "0.2.10"
100-
interactive-clap-derive = "0.2.10"
98+
keyring = "3.0.5"
99+
interactive-clap = "0.3"
100+
interactive-clap-derive = "0.3"
101101

102102
rust_decimal = "1.35.0"
103103

@@ -132,7 +132,7 @@ windows-archive = ".tar.gz"
132132
unix-archive = ".tar.gz"
133133
# Publish jobs to run in CI
134134
pr-run-mode = "upload"
135-
# XXX: In order to use custom GITHUB_TOKEN to trigger npm-publish workflow,
135+
# XXX: In order to use custom GITHUB_TOKEN to trigger npm-publish workflow,
136136
# we allow dirty CI scripts to avoid cargo-dist complains.
137137
allow-dirty = ["ci"]
138138

Diff for: rust-toolchain

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.78
1+
1.80

Diff for: src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_keychain/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ impl From<SaveKeypairToKeychainContext> for crate::commands::ActionContext {
4747
let account_id = match transaction {
4848
crate::transaction_signature_options::SignedTransactionOrSignedDelegateAction::SignedTransaction(
4949
signed_transaction,
50-
) => signed_transaction.transaction.signer_id.clone(),
50+
) => signed_transaction.transaction.signer_id().clone(),
5151
crate::transaction_signature_options::SignedTransactionOrSignedDelegateAction::SignedDelegateAction(
5252
signed_delegate_action,
5353
) => signed_delegate_action.delegate_action.sender_id.clone()

Diff for: src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_legacy_keychain/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ impl From<SaveKeypairToLegacyKeychainContext> for crate::commands::ActionContext
6464
let account_id = match transaction {
6565
crate::transaction_signature_options::SignedTransactionOrSignedDelegateAction::SignedTransaction(
6666
signed_transaction,
67-
) => signed_transaction.transaction.signer_id.clone(),
67+
) => signed_transaction.transaction.signer_id().clone(),
6868
crate::transaction_signature_options::SignedTransactionOrSignedDelegateAction::SignedDelegateAction(
6969
signed_delegate_action,
7070
) => signed_delegate_action.delegate_action.sender_id.clone()

Diff for: src/commands/account/update_social_profile/sign_as.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,19 @@ impl From<SignerContext> for crate::commands::ActionContext {
5858
let account_id = item.account_id.clone();
5959
move |prepopulated_unsigned_transaction, network_config| {
6060
let json_rpc_client = network_config.json_rpc_client();
61+
let public_key = prepopulated_unsigned_transaction.public_key().clone();
62+
let receiver_id = prepopulated_unsigned_transaction.receiver_id().clone();
6163

62-
if let near_primitives::transaction::Action::FunctionCall(action) =
63-
&mut prepopulated_unsigned_transaction.actions[0]
64+
if let Some(near_primitives::transaction::Action::FunctionCall(action)) =
65+
prepopulated_unsigned_transaction.actions_mut().get_mut(0)
6466
{
6567
action.deposit = get_deposit(
6668
&json_rpc_client,
6769
&signer_account_id,
68-
&prepopulated_unsigned_transaction.public_key,
70+
&public_key,
6971
&account_id,
7072
"profile",
71-
&prepopulated_unsigned_transaction.receiver_id,
73+
&receiver_id,
7274
near_token::NearToken::from_yoctonear(action.deposit),
7375
)?
7476
.as_yoctonear();

Diff for: src/commands/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ pub struct PrepopulatedTransaction {
7171
impl From<near_primitives::transaction::Transaction> for PrepopulatedTransaction {
7272
fn from(value: near_primitives::transaction::Transaction) -> Self {
7373
Self {
74-
signer_id: value.signer_id,
75-
receiver_id: value.receiver_id,
76-
actions: value.actions,
74+
signer_id: value.signer_id().clone(),
75+
receiver_id: value.receiver_id().clone(),
76+
actions: value.take_actions(),
7777
}
7878
}
7979
}

Diff for: src/commands/transaction/send_meta_transaction/sign_as/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ impl RelayerAccountIdContext {
4040
let on_before_signing_callback: crate::commands::OnBeforeSigningCallback =
4141
std::sync::Arc::new({
4242
move |prepopulated_unsigned_transaction, _network_config| {
43-
prepopulated_unsigned_transaction.actions =
43+
*prepopulated_unsigned_transaction.actions_mut() =
4444
vec![near_primitives::transaction::Action::Delegate(Box::new(
4545
previous_context.signed_delegate_action.clone(),
4646
))];

Diff for: src/commands/transaction/send_signed_transaction/network/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ impl Network {
4343
) -> color_eyre::eyre::Result<Option<String>> {
4444
crate::common::input_network_name(
4545
&context.config,
46-
&[context.signed_transaction.transaction.receiver_id.clone()],
46+
&[context.signed_transaction.transaction.receiver_id().clone()],
4747
)
4848
}
4949
}

Diff for: src/commands/transaction/sign_transaction/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ impl SignTransactionContext {
3232
Ok(Self(crate::commands::ActionContext {
3333
global_context: previous_context,
3434
interacting_with_account_ids: vec![
35-
scope.unsigned_transaction.inner.signer_id.clone(),
36-
scope.unsigned_transaction.inner.receiver_id.clone(),
35+
scope.unsigned_transaction.inner.signer_id().clone(),
36+
scope.unsigned_transaction.inner.receiver_id().clone(),
3737
],
3838
get_prepopulated_transaction_after_getting_network_callback,
3939
on_before_signing_callback: std::sync::Arc::new(

Diff for: src/common.rs

+17-4
Original file line numberDiff line numberDiff line change
@@ -559,9 +559,9 @@ pub fn print_full_unsigned_transaction(transaction: near_primitives::transaction
559559
transaction.get_hash_and_size().0
560560
);
561561

562-
eprintln!("{:<13} {}", "public_key:", &transaction.public_key);
563-
eprintln!("{:<13} {}", "nonce:", &transaction.nonce);
564-
eprintln!("{:<13} {}", "block_hash:", &transaction.block_hash);
562+
eprintln!("{:<13} {}", "public_key:", &transaction.public_key());
563+
eprintln!("{:<13} {}", "nonce:", &transaction.nonce());
564+
eprintln!("{:<13} {}", "block_hash:", &transaction.block_hash());
565565

566566
let prepopulated = crate::commands::PrepopulatedTransaction::from(transaction);
567567
print_unsigned_transaction(&prepopulated);
@@ -1104,7 +1104,7 @@ pub fn convert_invalid_tx_error_to_cli_result(
11041104
color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The attached amount of gas in a FunctionCall action has to be a positive number."))
11051105
}
11061106
near_primitives::errors::ActionsValidationError::DelegateActionMustBeOnlyOne => {
1107-
color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: DelegateActionMustBeOnlyOne"))
1107+
color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The transaction contains more than one delegation action"))
11081108
}
11091109
near_primitives::errors::ActionsValidationError::UnsupportedProtocolFeature { protocol_feature, version } => {
11101110
color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: Protocol Feature {} is unsupported in version {}", protocol_feature, version))
@@ -1114,6 +1114,19 @@ pub fn convert_invalid_tx_error_to_cli_result(
11141114
near_primitives::errors::InvalidTxError::TransactionSizeExceeded { size, limit } => {
11151115
color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The size ({}) of serialized transaction exceeded the limit ({}).", size, limit))
11161116
}
1117+
near_primitives::errors::InvalidTxError::InvalidTransactionVersion => {
1118+
color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: Invalid transaction version"))
1119+
},
1120+
near_primitives::errors::InvalidTxError::StorageError(error) => match error {
1121+
near_primitives::errors::StorageError::StorageInternalError => color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: Internal storage error")),
1122+
near_primitives::errors::StorageError::MissingTrieValue(_, _) => todo!(),
1123+
near_primitives::errors::StorageError::UnexpectedTrieValue => color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: Unexpected trie value")),
1124+
near_primitives::errors::StorageError::StorageInconsistentState(message) => color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The storage is in the incosistent state: {}", message)),
1125+
near_primitives::errors::StorageError::FlatStorageBlockNotSupported(message) => color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The block is not supported by flat storage: {}", message)),
1126+
near_primitives::errors::StorageError::MemTrieLoadingError(message) => color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The trie is not loaded in memory: {}", message)),
1127+
},
1128+
near_primitives::errors::InvalidTxError::ShardCongested { shard_id, congestion_level } => color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The shard ({shard_id}) is too congested ({congestion_level:.2}/1.00) and can't accept new transaction")),
1129+
near_primitives::errors::InvalidTxError::ShardStuck { shard_id, missed_chunks } => color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!("Error: The shard ({shard_id}) is {missed_chunks} blocks behind and can't accept new transaction until it will be in the sync")),
11171130
}
11181131
}
11191132

Diff for: src/transaction_signature_options/mod.rs

+16-13
Original file line numberDiff line numberDiff line change
@@ -141,26 +141,29 @@ pub fn get_signed_delegate_action(
141141
) -> near_primitives::action::delegate::SignedDelegateAction {
142142
use near_primitives::signable_message::{SignableMessage, SignableMessageType};
143143

144-
let actions = unsigned_transaction
145-
.actions
144+
let mut delegate_action = near_primitives::action::delegate::DelegateAction {
145+
sender_id: unsigned_transaction.signer_id().clone(),
146+
receiver_id: unsigned_transaction.receiver_id().clone(),
147+
actions: vec![],
148+
nonce: unsigned_transaction.nonce(),
149+
max_block_height,
150+
public_key: unsigned_transaction.public_key().clone(),
151+
};
152+
153+
delegate_action.actions = unsigned_transaction
154+
.take_actions()
146155
.into_iter()
147156
.map(near_primitives::action::delegate::NonDelegateAction::try_from)
148157
.collect::<Result<_, _>>()
149158
.expect("Internal error: can not convert the action to non delegate action (delegate action can not be delegated again).");
150-
let delegate_action = near_primitives::action::delegate::DelegateAction {
151-
sender_id: unsigned_transaction.signer_id.clone(),
152-
receiver_id: unsigned_transaction.receiver_id,
153-
actions,
154-
nonce: unsigned_transaction.nonce,
155-
max_block_height,
156-
public_key: unsigned_transaction.public_key,
157-
};
158159

159160
// create a new signature here signing the delegate action + discriminant
160161
let signable = SignableMessage::new(&delegate_action, SignableMessageType::DelegateAction);
161-
let signer =
162-
near_crypto::InMemorySigner::from_secret_key(unsigned_transaction.signer_id, private_key);
163-
let signature = signable.sign(&signer);
162+
let signer = near_crypto::InMemorySigner::from_secret_key(
163+
delegate_action.sender_id.clone(),
164+
private_key,
165+
);
166+
let signature = signable.sign(&near_crypto::Signer::InMemory(signer));
164167

165168
eprintln!("\nYour delegating action was signed successfully.");
166169
eprintln!("Note that the signed transaction is valid until block {max_block_height}. You can change the validity of a transaction by setting a flag in the command: --meta-transaction-valid-for 2000");

Diff for: src/transaction_signature_options/sign_later/mod.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use near_primitives::transaction::TransactionV0;
12
use strum::{EnumDiscriminants, EnumIter, EnumMessage};
23

34
mod display;
@@ -30,14 +31,14 @@ impl SignLaterContext {
3031
previous_context: crate::commands::TransactionContext,
3132
scope: &<SignLater as interactive_clap::ToInteractiveClapContextScope>::InteractiveClapContextScope,
3233
) -> color_eyre::eyre::Result<Self> {
33-
let unsigned_transaction = near_primitives::transaction::Transaction {
34+
let unsigned_transaction = near_primitives::transaction::Transaction::V0(TransactionV0 {
3435
signer_id: previous_context.prepopulated_transaction.signer_id,
3536
public_key: scope.signer_public_key.clone().into(),
3637
nonce: scope.nonce,
3738
receiver_id: previous_context.prepopulated_transaction.receiver_id,
3839
block_hash: scope.block_hash.into(),
3940
actions: previous_context.prepopulated_transaction.actions,
40-
};
41+
});
4142
Ok(Self {
4243
unsigned_transaction,
4344
})

Diff for: src/transaction_signature_options/sign_with_access_key_file/mod.rs

+10-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use color_eyre::eyre::{ContextCompat, WrapErr};
22
use inquire::CustomType;
3+
use near_primitives::transaction::TransactionV0;
34

45
use crate::common::JsonRpcClientExt;
56
use crate::common::RpcQueryResponseExt;
@@ -89,14 +90,15 @@ impl SignAccessKeyFileContext {
8990
)
9091
};
9192

92-
let mut unsigned_transaction = near_primitives::transaction::Transaction {
93-
public_key: account_json.public_key.clone(),
94-
block_hash,
95-
nonce,
96-
signer_id: previous_context.prepopulated_transaction.signer_id,
97-
receiver_id: previous_context.prepopulated_transaction.receiver_id,
98-
actions: previous_context.prepopulated_transaction.actions,
99-
};
93+
let mut unsigned_transaction =
94+
near_primitives::transaction::Transaction::V0(TransactionV0 {
95+
public_key: account_json.public_key.clone(),
96+
block_hash,
97+
nonce,
98+
signer_id: previous_context.prepopulated_transaction.signer_id,
99+
receiver_id: previous_context.prepopulated_transaction.receiver_id,
100+
actions: previous_context.prepopulated_transaction.actions,
101+
});
100102

101103
(previous_context.on_before_signing_callback)(&mut unsigned_transaction, &network_config)?;
102104

Diff for: src/transaction_signature_options/sign_with_keychain/mod.rs

+10-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use color_eyre::eyre::{ContextCompat, WrapErr};
22
use inquire::CustomType;
3+
use near_primitives::transaction::TransactionV0;
34
use tracing_indicatif::span_ext::IndicatifSpanExt;
45

56
use crate::common::JsonRpcClientExt;
@@ -159,14 +160,15 @@ impl SignKeychainContext {
159160
.wrap_err("Error current_nonce")?
160161
.nonce;
161162

162-
let mut unsigned_transaction = near_primitives::transaction::Transaction {
163-
public_key: account_json.public_key.clone(),
164-
block_hash: rpc_query_response.block_hash,
165-
nonce: current_nonce + 1,
166-
signer_id: previous_context.prepopulated_transaction.signer_id,
167-
receiver_id: previous_context.prepopulated_transaction.receiver_id,
168-
actions: previous_context.prepopulated_transaction.actions,
169-
};
163+
let mut unsigned_transaction =
164+
near_primitives::transaction::Transaction::V0(TransactionV0 {
165+
public_key: account_json.public_key.clone(),
166+
block_hash: rpc_query_response.block_hash,
167+
nonce: current_nonce + 1,
168+
signer_id: previous_context.prepopulated_transaction.signer_id,
169+
receiver_id: previous_context.prepopulated_transaction.receiver_id,
170+
actions: previous_context.prepopulated_transaction.actions,
171+
});
170172

171173
(previous_context.on_before_signing_callback)(&mut unsigned_transaction, &network_config)?;
172174

Diff for: src/transaction_signature_options/sign_with_ledger/mod.rs

+10-8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use color_eyre::eyre::{ContextCompat, WrapErr};
22
use inquire::CustomType;
33
use near_ledger::NEARLedgerError;
44
use near_primitives::borsh;
5+
use near_primitives::transaction::TransactionV0;
56

67
use crate::common::JsonRpcClientExt;
78
use crate::common::RpcQueryResponseExt;
@@ -86,14 +87,15 @@ impl SignLedgerContext {
8687
(current_nonce + 1, rpc_query_response.block_hash)
8788
};
8889

89-
let mut unsigned_transaction = near_primitives::transaction::Transaction {
90-
public_key: scope.signer_public_key.clone().into(),
91-
block_hash,
92-
nonce,
93-
signer_id: previous_context.prepopulated_transaction.signer_id,
94-
receiver_id: previous_context.prepopulated_transaction.receiver_id,
95-
actions: previous_context.prepopulated_transaction.actions,
96-
};
90+
let mut unsigned_transaction =
91+
near_primitives::transaction::Transaction::V0(TransactionV0 {
92+
public_key: scope.signer_public_key.clone().into(),
93+
block_hash,
94+
nonce,
95+
signer_id: previous_context.prepopulated_transaction.signer_id,
96+
receiver_id: previous_context.prepopulated_transaction.receiver_id,
97+
actions: previous_context.prepopulated_transaction.actions,
98+
});
9799

98100
(previous_context.on_before_signing_callback)(&mut unsigned_transaction, &network_config)?;
99101

Diff for: src/transaction_signature_options/sign_with_legacy_keychain/mod.rs

+10-8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use std::str::FromStr;
44

55
use color_eyre::eyre::{ContextCompat, WrapErr};
66
use inquire::{CustomType, Select};
7+
use near_primitives::transaction::TransactionV0;
78

89
use crate::common::JsonRpcClientExt;
910
use crate::common::RpcQueryResponseExt;
@@ -195,14 +196,15 @@ impl SignLegacyKeychainContext {
195196
)
196197
};
197198

198-
let mut unsigned_transaction = near_primitives::transaction::Transaction {
199-
public_key: account_json.public_key.clone(),
200-
block_hash,
201-
nonce,
202-
signer_id: previous_context.prepopulated_transaction.signer_id.clone(),
203-
receiver_id: previous_context.prepopulated_transaction.receiver_id,
204-
actions: previous_context.prepopulated_transaction.actions,
205-
};
199+
let mut unsigned_transaction =
200+
near_primitives::transaction::Transaction::V0(TransactionV0 {
201+
public_key: account_json.public_key.clone(),
202+
block_hash,
203+
nonce,
204+
signer_id: previous_context.prepopulated_transaction.signer_id,
205+
receiver_id: previous_context.prepopulated_transaction.receiver_id,
206+
actions: previous_context.prepopulated_transaction.actions,
207+
});
206208

207209
(previous_context.on_before_signing_callback)(&mut unsigned_transaction, &network_config)?;
208210

0 commit comments

Comments
 (0)