Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testnet 18 #3280

Merged
merged 76 commits into from
Jan 2, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
54df925
Change version for testnet 18
AurelienFT Nov 30, 2022
a5d599f
Merge branch 'main' into testnet_18
AurelienFT Dec 1, 2022
1df1563
Change name execute SC on client. (#3303)
AurelienFT Dec 5, 2022
a990be4
Merge main and fix conflicts
Eitu33 Dec 6, 2022
3e4e226
Merge pull request #3301 from massalabs/list_required_active_blocks_r…
Eitu33 Dec 6, 2022
3060533
Finish setting prefixes (#3279)
AurelienFT Dec 7, 2022
01be873
CycleStatus type
Eitu33 Dec 7, 2022
7db0671
Use CycleStatus
Eitu33 Dec 7, 2022
c9b18fc
Revert CycleStatus changes and use final_state_hash_snapshot
Eitu33 Dec 7, 2022
95b13e0
Use final_state_hash_snapshot
Eitu33 Dec 7, 2022
399ba69
Merge main
Eitu33 Dec 7, 2022
e39a781
Change events reset_to_snapshot handling
Eitu33 Dec 8, 2022
9941085
is_error attribute and get_filtered_sc_output_events update
Eitu33 Dec 8, 2022
0a1bdda
update CLI
Eitu33 Dec 8, 2022
a3b604c
set massa_execution_error error attribute to true
Eitu33 Dec 8, 2022
9219195
unit test for the new event handling
Eitu33 Dec 8, 2022
f58fdb4
Update CLI doc
Eitu33 Dec 9, 2022
e0be92b
Update openrpc api doc
Eitu33 Dec 9, 2022
710a6e6
Update selection seed computing
Eitu33 Dec 9, 2022
0cf8bee
Gas limit for SC executions
Eitu33 Dec 9, 2022
a1e704b
Fix test compilation
Eitu33 Dec 9, 2022
ca4c74b
Revert
Eitu33 Dec 12, 2022
d475792
From scratch refacto after misunderstanding
Eitu33 Dec 12, 2022
e56b32a
Merge pull request #3318 from massalabs/gas-limit-on-execution
Eitu33 Dec 12, 2022
f1f26b8
change get_filtered_sc_output_events is_error filter behaviour
Eitu33 Dec 13, 2022
ca1ad13
final state and pos improvements
Eitu33 Dec 13, 2022
28e02a8
update lookback_seed computation
Eitu33 Dec 13, 2022
6cec7f5
Revert pos apply changes expect
Eitu33 Dec 14, 2022
4e8b497
Merge pull request #3315 from massalabs/handle-events-after-failure
Eitu33 Dec 15, 2022
86b313a
improve failed events handling (#3332)
Eitu33 Dec 15, 2022
fa70848
First implementation on autonomous trigger (#3228)
AurelienFT Dec 15, 2022
4e66388
Local execution (#3323)
Eitu33 Dec 16, 2022
e0ace15
remove clock compensations
Eitu33 Dec 19, 2022
070e6ea
minor clippy update
Eitu33 Dec 19, 2022
8e9f189
update tests
Eitu33 Dec 19, 2022
eb42438
update config
Eitu33 Dec 19, 2022
f3c5de2
check clock delta
Eitu33 Dec 19, 2022
cbb6c49
update final state hash initialization
Eitu33 Dec 19, 2022
25826b0
Merge pull request #3312 from massalabs/use-final-hash-in-pos-selections
Eitu33 Dec 19, 2022
eb0bc83
Init sc update (#3333)
Eitu33 Dec 19, 2022
c8fac2d
review updates
Eitu33 Dec 20, 2022
4969477
add adjusted_server_time explanation
Eitu33 Dec 21, 2022
2656921
Merge pull request #3336 from massalabs/clock-comp-refacto
Eitu33 Dec 21, 2022
934b594
Use prefix in serialize/deserialize of serde. (#3340)
AurelienFT Dec 22, 2022
2f014ef
Add new feature gas_calibration. (#3206)
AurelienFT Dec 23, 2022
39177d3
Update gas per block to match the calibration.
AurelienFT Dec 23, 2022
917a5ae
Use u32MAX instead of u64MAX for gas
AurelienFT Dec 23, 2022
4c1f127
Upgrade massa-sc-runtime with latest changes
AurelienFT Dec 23, 2022
287d807
Add bootsrap IPs lists management (#3320)
aoudiamoncef Dec 23, 2022
a02a738
Merge branch 'main' into testnet_18
AurelienFT Dec 23, 2022
19a47c1
Add WebSockets support + ApiV2 (#3314)
aoudiamoncef Dec 26, 2022
9b6bf4c
Add `get_blocks` method to JSONRPC API (#3342)
aoudiamoncef Dec 26, 2022
d7601a0
Enable ci for PR targetting testnet_* branch (#3343)
sydhds Dec 26, 2022
703d3b2
Fix tests, clippy warnings, update version rust and update packages
AurelienFT Dec 26, 2022
20d37af
Merge branch 'testnet_18' of github.com:massalabs/massa into testnet_18
AurelienFT Dec 26, 2022
37979d5
fix: disable WebSockets server by default (#3346)
aoudiamoncef Dec 26, 2022
3b760f4
Fix roll sell.
AurelienFT Dec 26, 2022
cd44ada
Merge branch 'testnet_18' of github.com:massalabs/massa into testnet_18
AurelienFT Dec 26, 2022
4c37bbe
propagate returned value from the SC module call (#3339)
aoudiamoncef Dec 28, 2022
638d079
Move init of the consensus to block the load of the node.
AurelienFT Dec 28, 2022
76564d6
Merge pull request #3351 from massalabs/fix_consensus_init
Eitu33 Dec 28, 2022
25fbdd0
Optimize CI. (#3349)
AurelienFT Dec 28, 2022
3c476b9
Add cache on check job.
AurelienFT Dec 29, 2022
af9b9a0
split sanity job from the others too avoid saving not enough
AurelienFT Dec 29, 2022
181ff49
Split keys to have different caching for job with different output.
AurelienFT Dec 29, 2022
866e330
Tweak some timing parameters to avoid CI failing
AurelienFT Dec 29, 2022
30b129f
Fix warning operation size. (#3354)
AurelienFT Dec 29, 2022
02a2af2
Try a new value for bootstrap test timer to fix CI.
AurelienFT Dec 29, 2022
eff9b21
Reuse nextest for retrying tests.
AurelienFT Dec 29, 2022
32fcc7a
Add basic benchmark on SC (#3348)
AurelienFT Dec 30, 2022
8880991
Fix CI.
AurelienFT Dec 30, 2022
92b16df
More retries in tests.
AurelienFT Dec 30, 2022
3aaad72
tweak timers in bootstrap server test.
AurelienFT Dec 30, 2022
e680251
Add save only on the testnet branch
AurelienFT Dec 30, 2022
3a65c9c
Add broadcast operations via WebSocket (#3347)
aoudiamoncef Dec 30, 2022
f74fce6
Update ci rule.
AurelienFT Jan 2, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
First implementation on autonomous trigger (#3228)
* Add a draft.

* Update filter type.

* Add activate in changes.

* Use key as bytearray instead of string and add filter trigger.

* Add hash recompute.

* Register activation of message in asyncpoolchanges.

* Add test for send_message.

* Update dependency massa-sc-runtime.

* Rename filter to trigger for async message and optimize some code.

* Fix comments in tests and tag of tests.

* Fix comments and add a check on key length.
  • Loading branch information
AurelienFT authored Dec 15, 2022
commit fa7084860fbe24a9d1df50e4c8c9e1024787ba13
35 changes: 17 additions & 18 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions massa-async-pool/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ tracing = "0.1"
rand = "0.8"
# custom modules
massa_hash = { path = "../massa-hash" }
massa_ledger_exports = { path = "../massa-ledger-exports" }
massa_logging = { path = "../massa-logging" }
massa_models = { path = "../massa-models" }
massa_serialization = { path = "../massa-serialization" }
Expand Down
38 changes: 35 additions & 3 deletions massa-async-pool/src/changes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,20 @@ pub enum Change<T, U> {
/// an item with identifier T and value U is added
Add(T, U),

/// an item with identifier T is ready to be executed
Activate(T),

/// an item with identifier T is deleted
Delete(T),
}

#[repr(u32)]
enum ChangeId {
Add = 0,
Activate = 1,
Delete = 2,
}

/// represents a list of additions and deletions to the asynchronous message pool
#[derive(Default, Debug, Clone, PartialEq, Eq)]
pub struct AsyncPoolChanges(pub Vec<Change<AsyncMessageId, AsyncMessage>>);
Expand Down Expand Up @@ -96,12 +106,16 @@ impl Serializer<AsyncPoolChanges> for AsyncPoolChangesSerializer {
for change in &value.0 {
match change {
Change::Add(id, message) => {
buffer.push(0);
buffer.push(ChangeId::Add as u8);
self.id_serializer.serialize(id, buffer)?;
self.message_serializer.serialize(message, buffer)?;
}
Change::Activate(id) => {
buffer.push(ChangeId::Activate as u8);
self.id_serializer.serialize(id, buffer)?;
}
Change::Delete(id) => {
buffer.push(1);
buffer.push(ChangeId::Delete as u8);
self.id_serializer.serialize(id, buffer)?;
}
}
Expand All @@ -117,7 +131,12 @@ pub struct AsyncPoolChangesDeserializer {
}

impl AsyncPoolChangesDeserializer {
pub fn new(thread_count: u8, max_async_pool_changes: u64, max_async_message_data: u64) -> Self {
pub fn new(
thread_count: u8,
max_async_pool_changes: u64,
max_async_message_data: u64,
max_key_length: u32,
) -> Self {
Self {
async_pool_changes_length: U64VarIntDeserializer::new(
Included(u64::MIN),
Expand All @@ -127,6 +146,7 @@ impl AsyncPoolChangesDeserializer {
message_deserializer: AsyncMessageDeserializer::new(
thread_count,
max_async_message_data,
max_key_length,
),
}
}
Expand All @@ -153,6 +173,10 @@ impl Deserializer<AsyncPoolChanges> for AsyncPoolChangesDeserializer {
/// Slot::new(2, 0),
/// Slot::new(3, 0),
/// vec![1, 2, 3, 4],
/// AsyncMessageTrigger {
/// address: Some(Address::from_str("A12dG5xP1RDEB5ocdHkymNVvvSJmUL9BgHwCksDowqmGWxfpm93x").unwrap()),
/// datastore_key: Some(String::from("test")),
/// }
/// );
/// let changes: AsyncPoolChanges = AsyncPoolChanges(vec![Change::Add(message.compute_id(), message)]);
/// let mut serialized = Vec::new();
Expand Down Expand Up @@ -237,4 +261,12 @@ impl AsyncPoolChanges {
pub fn push_delete(&mut self, msg_id: AsyncMessageId) {
self.0.push(Change::Delete(msg_id));
}

/// Pushes a message activation to the list of changes.
///
/// Arguments:
/// * `msg_id`: ID of the message to push as ready to be executed to the list of changes
pub fn push_activate(&mut self, msg_id: AsyncMessageId) {
self.0.push(Change::Activate(msg_id));
}
}
3 changes: 2 additions & 1 deletion massa-async-pool/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
//! See `test_exports/mod.rs` for details.

#![feature(btree_drain_filter)]
#![feature(let_chains)]
#![feature(drain_filter)]

mod changes;
Expand All @@ -99,7 +100,7 @@ pub use changes::{
pub use config::AsyncPoolConfig;
pub use message::{
AsyncMessage, AsyncMessageDeserializer, AsyncMessageId, AsyncMessageIdDeserializer,
AsyncMessageIdSerializer, AsyncMessageSerializer,
AsyncMessageIdSerializer, AsyncMessageSerializer, AsyncMessageTrigger,
};
pub use pool::{AsyncPool, AsyncPoolDeserializer, AsyncPoolSerializer};

Expand Down
Loading