mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Add checks for external messages
This commit is contained in:
parent
69d0472510
commit
3384d204d2
11 changed files with 396 additions and 119 deletions
|
@ -74,6 +74,9 @@ class MessageExt {
|
|||
auto hash() const {
|
||||
return message_->hash();
|
||||
}
|
||||
auto address() const {
|
||||
return std::make_pair(message_->wc(), message_->addr());
|
||||
}
|
||||
bool is_active() {
|
||||
if (!active_) {
|
||||
if (reactivate_at_.is_in_past()) {
|
||||
|
@ -210,6 +213,7 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
// DATA FOR COLLATOR
|
||||
std::map<ShardTopBlockDescriptionId, td::Ref<ShardTopBlockDescription>> shard_blocks_;
|
||||
std::map<MessageId<ExtMessage>, std::unique_ptr<MessageExt<ExtMessage>>> ext_messages_;
|
||||
std::map<std::pair<ton::WorkchainId,ton::StdSmcAddress>, std::map<ExtMessage::Hash, MessageId<ExtMessage>>> ext_addr_messages_;
|
||||
std::map<ExtMessage::Hash, MessageId<ExtMessage>> ext_messages_hashes_;
|
||||
// IHR ?
|
||||
std::map<MessageId<IhrMessage>, std::unique_ptr<MessageExt<IhrMessage>>> ihr_messages_;
|
||||
|
@ -327,9 +331,9 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
//void get_block_description(BlockIdExt block_id, td::Promise<BlockDescription> promise) override;
|
||||
|
||||
void new_external_message(td::BufferSlice data) override;
|
||||
void check_external_message(td::BufferSlice data, td::Promise<td::Unit> promise) override {
|
||||
promise.set_value(td::Unit());
|
||||
}
|
||||
void add_external_message(td::Ref<ExtMessage> message);
|
||||
void check_external_message(td::BufferSlice data, td::Promise<td::Unit> promise) override;
|
||||
|
||||
void new_ihr_message(td::BufferSlice data) override;
|
||||
void new_shard_block(BlockIdExt block_id, CatchainSeqno cc_seqno, td::BufferSlice data) override;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue