From be9c34c62dbd5d46089a255db8bf52c600b08aa5 Mon Sep 17 00:00:00 2001 From: ton Date: Fri, 10 Apr 2020 23:06:01 +0400 Subject: [PATCH] bugfixes --- adnl/adnl-db.cpp | 2 +- adnl/adnl-db.h | 2 +- adnl/adnl-db.hpp | 2 +- adnl/adnl-ext-client.cpp | 2 +- adnl/adnl-ext-client.h | 2 +- adnl/adnl-ext-client.hpp | 2 +- adnl/adnl-ext-connection.cpp | 2 +- adnl/adnl-ext-connection.hpp | 2 +- adnl/adnl-ext-server.cpp | 2 +- adnl/adnl-ext-server.h | 2 +- adnl/adnl-ext-server.hpp | 2 +- adnl/adnl-message.cpp | 2 +- adnl/adnl-node.cpp | 2 +- adnl/adnl-node.h | 2 +- adnl/adnl-packet.cpp | 2 +- adnl/adnl-query.cpp | 2 +- adnl/adnl-query.h | 2 +- adnl/adnl-static-nodes.cpp | 2 +- adnl/adnl-static-nodes.h | 2 +- adnl/adnl-static-nodes.hpp | 2 +- adnl/adnl-test-loopback-implementation.cpp | 2 +- adnl/test/adnl-test-ping.cpp | 2 +- adnl/utils.cpp | 2 +- adnl/utils.hpp | 2 +- .../blockchain-explorer-query.hpp | 2 +- catchain/catchain-block.cpp | 2 +- catchain/catchain-block.hpp | 2 +- catchain/catchain-received-block.cpp | 2 +- catchain/catchain-received-block.h | 2 +- catchain/catchain-received-block.hpp | 2 +- catchain/catchain-receiver-interface.h | 12 +- catchain/catchain-receiver.cpp | 16 +- catchain/catchain-receiver.h | 2 +- catchain/catchain-receiver.hpp | 4 +- catchain/catchain-types.h | 2 +- catchain/catchain.cpp | 17 ++- catchain/catchain.h | 2 +- catchain/catchain.hpp | 3 +- common/checksum.h | 2 +- common/delay.h | 2 +- common/errorcode.h | 2 +- common/errorlog.cpp | 2 +- common/errorlog.h | 2 +- common/io.hpp | 2 +- common/status.h | 2 +- crypto/block/Binlog.cpp | 2 +- crypto/block/Binlog.h | 2 +- crypto/block/adjust-block.cpp | 2 +- crypto/block/block-binlog.h | 2 +- crypto/block/block-db-impl.h | 2 +- crypto/block/block-db.cpp | 2 +- crypto/block/block-db.h | 2 +- crypto/block/block.tlb | 13 +- crypto/block/mc-config.cpp | 140 +++++++++++------- crypto/block/mc-config.h | 9 +- crypto/block/output-queue-merger.cpp | 2 +- crypto/block/output-queue-merger.h | 2 +- crypto/block/transaction.cpp | 7 +- crypto/block/transaction.h | 6 +- crypto/common/AtomicRef.h | 2 +- crypto/common/bigexp.cpp | 2 +- crypto/common/bigexp.h | 2 +- crypto/common/bigint.cpp | 2 +- crypto/common/refcnt.cpp | 2 +- crypto/common/refcnt.hpp | 2 +- crypto/ellcurve/Ed25519.cpp | 2 +- crypto/ellcurve/Fp25519.cpp | 2 +- crypto/ellcurve/Fp25519.h | 2 +- crypto/ellcurve/Montgomery.cpp | 2 +- crypto/ellcurve/Montgomery.h | 2 +- crypto/ellcurve/TwEdwards.cpp | 2 +- crypto/ellcurve/TwEdwards.h | 2 +- crypto/fift/Dictionary.cpp | 2 +- crypto/fift/Dictionary.h | 2 +- crypto/fift/Fift.cpp | 2 +- crypto/fift/Fift.h | 2 +- crypto/fift/IntCtx.cpp | 2 +- crypto/fift/IntCtx.h | 2 +- crypto/fift/SourceLookup.cpp | 2 +- crypto/fift/SourceLookup.h | 2 +- crypto/fift/utils.cpp | 2 +- crypto/fift/utils.h | 2 +- crypto/func/func.cpp | 2 +- crypto/func/parse-func.cpp | 6 +- crypto/func/unify-types.cpp | 2 +- crypto/openssl/rand.cpp | 2 +- crypto/openssl/rand.hpp | 2 +- crypto/openssl/residue.cpp | 2 +- crypto/openssl/residue.h | 2 +- crypto/parser/lexer.cpp | 2 +- crypto/parser/lexer.h | 2 +- crypto/parser/symtable.cpp | 2 +- crypto/parser/symtable.h | 2 +- crypto/smartcont/CreateState.fif | 8 +- crypto/smartcont/elector-code.fc | 90 +++++++++-- crypto/smartcont/gen-zerostate.fif | 19 +-- crypto/test/Ed25519.cpp | 2 +- crypto/test/fift.cpp | 2 +- crypto/test/test-ed25519-crypto.cpp | 2 +- crypto/tl/tlbc-aux.h | 2 +- crypto/tl/tlbc-gen-cpp.h | 2 +- crypto/vm/arithops.h | 2 +- crypto/vm/atom.cpp | 2 +- crypto/vm/atom.h | 2 +- crypto/vm/box.hpp | 2 +- crypto/vm/cellparse.hpp | 2 +- crypto/vm/cells/Cell.cpp | 2 +- crypto/vm/cells/Cell.h | 2 +- crypto/vm/cells/CellHash.cpp | 2 +- crypto/vm/cells/CellHash.h | 2 +- crypto/vm/cells/CellTraits.cpp | 2 +- crypto/vm/cells/CellTraits.h | 2 +- crypto/vm/cells/CellUsageTree.cpp | 2 +- crypto/vm/cells/CellUsageTree.h | 2 +- crypto/vm/cells/CellWithStorage.h | 2 +- crypto/vm/cells/DataCell.h | 2 +- crypto/vm/cells/ExtCell.h | 2 +- crypto/vm/cells/LevelMask.cpp | 2 +- crypto/vm/cells/LevelMask.h | 2 +- crypto/vm/cells/MerkleProof.cpp | 2 +- crypto/vm/cells/MerkleProof.h | 2 +- crypto/vm/cells/MerkleUpdate.cpp | 2 +- crypto/vm/cells/MerkleUpdate.h | 2 +- crypto/vm/cells/PrunnedCell.h | 2 +- crypto/vm/cells/UsageCell.h | 2 +- crypto/vm/cells/VirtualCell.h | 2 +- crypto/vm/cells/VirtualizationParameters.h | 2 +- crypto/vm/cellslice.h | 2 +- crypto/vm/contops.h | 2 +- crypto/vm/db/BlobView.cpp | 2 +- crypto/vm/db/BlobView.h | 2 +- crypto/vm/db/CellHashTable.h | 2 +- crypto/vm/db/CellStorage.cpp | 2 +- crypto/vm/db/CellStorage.h | 2 +- crypto/vm/db/DynamicBagOfCellsDb.cpp | 2 +- crypto/vm/db/DynamicBagOfCellsDb.h | 2 +- crypto/vm/db/StaticBagOfCellsDb.cpp | 2 +- crypto/vm/db/StaticBagOfCellsDb.h | 2 +- crypto/vm/db/TonDb.cpp | 2 +- crypto/vm/db/TonDb.h | 2 +- crypto/vm/dictops.h | 2 +- crypto/vm/dispatch.cpp | 2 +- crypto/vm/dispatch.h | 2 +- crypto/vm/fmt.hpp | 2 +- crypto/vm/opctable.h | 2 +- crypto/vm/stackops.h | 2 +- crypto/vm/tonops.h | 2 +- crypto/vm/tupleops.h | 2 +- dht/dht-node.cpp | 2 +- dht/dht-node.hpp | 2 +- dht/dht-types.cpp | 2 +- dht/dht-types.h | 2 +- dht/test/dht-test-ping.cpp | 2 +- example/android/native-lib.cpp | 2 +- example/cpp/tonjson_example.cpp | 2 +- fec/fec.cpp | 2 +- fec/fec.h | 2 +- keyring/keyring.h | 2 +- keyring/keyring.hpp | 2 +- keys/encryptor.cpp | 2 +- keys/encryptor.h | 2 +- keys/encryptor.hpp | 2 +- keys/keys.cpp | 2 +- keys/keys.hpp | 2 +- lite-client/lite-client.cpp | 133 ++++++++--------- memprof/memprof/memprof.cpp | 2 +- memprof/memprof/memprof.h | 2 +- overlay/overlay-broadcast.cpp | 2 +- overlay/overlay-broadcast.hpp | 2 +- overlay/overlay-fec-broadcast.cpp | 2 +- overlay/overlay-fec-broadcast.hpp | 2 +- overlay/overlay-fec.cpp | 2 +- overlay/overlay-fec.hpp | 2 +- overlay/overlay-id.hpp | 2 +- overlay/overlay-manager.cpp | 2 +- overlay/overlay-manager.h | 2 +- overlay/overlay-peers.cpp | 2 +- overlay/overlay.cpp | 2 +- overlay/overlay.h | 2 +- overlay/overlay.hpp | 2 +- overlay/overlays.h | 2 +- rldp-http-proxy/rldp-http-proxy.cpp | 2 +- rldp/rldp-in.hpp | 2 +- rldp/rldp-peer.cpp | 2 +- rldp/rldp-peer.h | 2 +- rldp/rldp-peer.hpp | 2 +- rldp/rldp.cpp | 2 +- rldp/rldp.h | 2 +- rldp/rldp.hpp | 2 +- tdactor/td/actor/ActorId.h | 2 +- tdactor/td/actor/ActorOwn.h | 2 +- tdactor/td/actor/ActorShared.h | 2 +- tdactor/td/actor/MultiPromise.cpp | 2 +- tdactor/td/actor/MultiPromise.h | 2 +- tdactor/td/actor/PromiseFuture.h | 2 +- tdactor/td/actor/actor.h | 2 +- tdactor/td/actor/common.h | 2 +- tdactor/td/actor/core/Actor.h | 2 +- tdactor/td/actor/core/ActorExecuteContext.h | 2 +- tdactor/td/actor/core/ActorExecutor.cpp | 2 +- tdactor/td/actor/core/ActorExecutor.h | 2 +- tdactor/td/actor/core/ActorInfoCreator.h | 2 +- tdactor/td/actor/core/ActorLocker.h | 2 +- tdactor/td/actor/core/ActorMailbox.h | 2 +- tdactor/td/actor/core/ActorMessage.h | 2 +- tdactor/td/actor/core/ActorSignals.h | 2 +- tdactor/td/actor/core/ActorState.h | 2 +- tdactor/td/actor/core/Context.h | 2 +- tdactor/td/actor/core/IoWorker.cpp | 2 +- tdactor/td/actor/core/IoWorker.h | 2 +- tdactor/td/actor/core/SchedulerContext.h | 2 +- tdactor/td/actor/core/SchedulerMessage.h | 2 +- tdactor/test/actors_promise.cpp | 2 +- tddb/td/db/KeyValue.h | 2 +- tddb/td/db/KeyValueAsync.h | 2 +- tddb/td/db/MemoryKeyValue.cpp | 2 +- tddb/td/db/MemoryKeyValue.h | 2 +- tddb/td/db/RocksDb.h | 2 +- tddb/td/db/binlog/Binlog.cpp | 2 +- tddb/td/db/binlog/Binlog.h | 2 +- tddb/td/db/binlog/BinlogReaderHelper.cpp | 2 +- tddb/td/db/binlog/BinlogReaderHelper.h | 2 +- tddb/td/db/binlog/BinlogReaderInterface.h | 2 +- tddb/td/db/utils/ChainBuffer.cpp | 2 +- tddb/td/db/utils/ChainBuffer.h | 2 +- tddb/td/db/utils/CyclicBuffer.cpp | 2 +- tddb/td/db/utils/CyclicBuffer.h | 2 +- tddb/td/db/utils/FileSyncState.cpp | 2 +- tddb/td/db/utils/FileSyncState.h | 2 +- tddb/td/db/utils/FileToStreamActor.cpp | 2 +- tddb/td/db/utils/FileToStreamActor.h | 2 +- tddb/td/db/utils/StreamInterface.cpp | 2 +- tddb/td/db/utils/StreamInterface.h | 2 +- tddb/td/db/utils/StreamToFileActor.cpp | 2 +- tddb/td/db/utils/StreamToFileActor.h | 2 +- tddb/test/binlog.cpp | 2 +- tddb/test/io-bench.cpp | 2 +- tdfec/benchmark/benchmark.cpp | 2 +- .../fec/algebra/BeliefPropagationDecoding.cpp | 2 +- .../fec/algebra/BeliefPropagationDecoding.h | 2 +- tdfec/td/fec/algebra/GaussianElimination.cpp | 2 +- tdfec/td/fec/algebra/GaussianElimination.h | 2 +- tdfec/td/fec/algebra/InactivationDecoding.cpp | 2 +- tdfec/td/fec/algebra/InactivationDecoding.h | 2 +- tdfec/td/fec/algebra/MatrixGF2.cpp | 2 +- tdfec/td/fec/algebra/MatrixGF2.h | 2 +- tdfec/td/fec/algebra/MatrixGF256.cpp | 2 +- tdfec/td/fec/algebra/MatrixGF256.h | 2 +- tdfec/td/fec/algebra/Octet.cpp | 2 +- tdfec/td/fec/algebra/Octet.h | 2 +- tdfec/td/fec/algebra/Simd.h | 2 +- tdfec/td/fec/algebra/SparseMatrixGF2.cpp | 2 +- tdfec/td/fec/algebra/SparseMatrixGF2.h | 2 +- tdfec/td/fec/common/SymbolRef.h | 2 +- tdfec/td/fec/common/SymbolsView.cpp | 2 +- tdfec/td/fec/common/SymbolsView.h | 2 +- tdfec/td/fec/fec.cpp | 2 +- tdfec/td/fec/fec.h | 2 +- tdfec/td/fec/online/Decoder.cpp | 2 +- tdfec/td/fec/online/Decoder.h | 2 +- tdfec/td/fec/online/Encoder.cpp | 2 +- tdfec/td/fec/online/Encoder.h | 2 +- tdfec/td/fec/online/Rfc.cpp | 2 +- tdfec/td/fec/online/Rfc.h | 2 +- tdfec/td/fec/raptorq/Decoder.cpp | 2 +- tdfec/td/fec/raptorq/Decoder.h | 2 +- tdfec/td/fec/raptorq/Encoder.cpp | 2 +- tdfec/td/fec/raptorq/Encoder.h | 2 +- tdfec/td/fec/raptorq/RawEncoder.cpp | 2 +- tdfec/td/fec/raptorq/RawEncoder.h | 2 +- tdfec/td/fec/raptorq/Rfc.cpp | 2 +- tdfec/td/fec/raptorq/Rfc.h | 2 +- tdfec/td/fec/raptorq/Solver.cpp | 2 +- tdfec/td/fec/raptorq/Solver.h | 2 +- tdfec/test/LibRaptorQ.cpp | 2 +- tdfec/test/LibRaptorQ.h | 2 +- tdfec/test/fec-test.cpp | 2 +- tdnet/example/tcp_ping_pong.cpp | 2 +- tdnet/example/udp_ping_pong.cpp | 2 +- tdnet/td/net/FdListener.cpp | 2 +- tdnet/td/net/FdListener.h | 2 +- tdnet/td/net/TcpListener.cpp | 2 +- tdnet/td/net/TcpListener.h | 2 +- tdnet/td/net/UdpServer.cpp | 2 +- tdnet/td/net/UdpServer.h | 2 +- tdnet/test/net-test.cpp | 2 +- tdtl/td/tl/tl_config.cpp | 2 +- tdtl/td/tl/tl_config.h | 2 +- tdtl/td/tl/tl_core.cpp | 2 +- tdtl/td/tl/tl_core.h | 2 +- tdtl/td/tl/tl_file_outputer.cpp | 2 +- tdtl/td/tl/tl_file_outputer.h | 2 +- tdtl/td/tl/tl_file_utils.cpp | 2 +- tdtl/td/tl/tl_file_utils.h | 2 +- tdtl/td/tl/tl_generate.cpp | 2 +- tdtl/td/tl/tl_generate.h | 2 +- tdtl/td/tl/tl_outputer.cpp | 2 +- tdtl/td/tl/tl_outputer.h | 2 +- tdtl/td/tl/tl_simple.h | 2 +- tdtl/td/tl/tl_simple_parser.h | 2 +- tdtl/td/tl/tl_string_outputer.cpp | 2 +- tdtl/td/tl/tl_string_outputer.h | 2 +- tdtl/td/tl/tl_writer.cpp | 2 +- tdtl/td/tl/tl_writer.h | 2 +- .../generate/generate_mime_types_gperf.cpp | 2 +- tdutils/td/utils/AesCtrByteFlow.h | 2 +- tdutils/td/utils/BigNum.h | 2 +- tdutils/td/utils/BufferedReader.h | 2 +- tdutils/td/utils/BufferedUdp.cpp | 2 +- tdutils/td/utils/BufferedUdp.h | 2 +- tdutils/td/utils/ByteFlow.h | 2 +- tdutils/td/utils/CancellationToken.h | 2 +- tdutils/td/utils/ChangesProcessor.h | 2 +- tdutils/td/utils/Closure.h | 2 +- tdutils/td/utils/ConcurrentHashTable.h | 2 +- tdutils/td/utils/Container.h | 2 +- tdutils/td/utils/Context.h | 2 +- tdutils/td/utils/DecTree.h | 2 +- tdutils/td/utils/Destructor.h | 2 +- tdutils/td/utils/Enumerator.h | 2 +- .../td/utils/EpochBasedMemoryReclamation.h | 2 +- tdutils/td/utils/FloodControlFast.h | 2 +- tdutils/td/utils/FloodControlStrict.h | 2 +- tdutils/td/utils/GitInfo.cpp | 2 +- tdutils/td/utils/GitInfo.h | 2 +- tdutils/td/utils/Gzip.cpp | 2 +- tdutils/td/utils/Gzip.h | 2 +- tdutils/td/utils/GzipByteFlow.cpp | 2 +- tdutils/td/utils/GzipByteFlow.h | 2 +- tdutils/td/utils/Hash.h | 2 +- tdutils/td/utils/HashMap.h | 2 +- tdutils/td/utils/HashSet.h | 2 +- tdutils/td/utils/HazardPointers.h | 2 +- tdutils/td/utils/Heap.h | 2 +- tdutils/td/utils/Hints.cpp | 2 +- tdutils/td/utils/Hints.h | 2 +- tdutils/td/utils/HttpUrl.cpp | 2 +- tdutils/td/utils/HttpUrl.h | 2 +- tdutils/td/utils/JsonBuilder.cpp | 2 +- tdutils/td/utils/JsonBuilder.h | 2 +- tdutils/td/utils/List.h | 2 +- tdutils/td/utils/MemoryLog.h | 2 +- tdutils/td/utils/MimeType.cpp | 2 +- tdutils/td/utils/MimeType.h | 2 +- tdutils/td/utils/MovableValue.h | 2 +- tdutils/td/utils/MpmcQueue.cpp | 2 +- tdutils/td/utils/MpscLinkQueue.h | 2 +- tdutils/td/utils/MpscPollableQueue.h | 2 +- tdutils/td/utils/Named.h | 2 +- tdutils/td/utils/ObjectPool.h | 2 +- tdutils/td/utils/Observer.h | 2 +- tdutils/td/utils/OptionsParser.cpp | 2 +- tdutils/td/utils/OptionsParser.h | 2 +- tdutils/td/utils/OrderedEventsProcessor.h | 2 +- tdutils/td/utils/Parser.h | 2 +- tdutils/td/utils/PathView.h | 2 +- tdutils/td/utils/Random.cpp | 2 +- tdutils/td/utils/Random.h | 2 +- tdutils/td/utils/ScopeGuard.h | 2 +- tdutils/td/utils/SharedSlice.cpp | 2 +- tdutils/td/utils/SharedSlice.h | 2 +- tdutils/td/utils/Slice-decl.h | 2 +- tdutils/td/utils/Slice.cpp | 2 +- tdutils/td/utils/Slice.h | 2 +- tdutils/td/utils/SpinLock.h | 2 +- tdutils/td/utils/StackAllocator.cpp | 2 +- tdutils/td/utils/StackAllocator.h | 2 +- tdutils/td/utils/Status.cpp | 2 +- tdutils/td/utils/Storer.h | 2 +- tdutils/td/utils/StorerBase.h | 2 +- tdutils/td/utils/StringBuilder.cpp | 2 +- tdutils/td/utils/ThreadLocalStorage.h | 2 +- tdutils/td/utils/ThreadSafeCounter.h | 2 +- tdutils/td/utils/Time.cpp | 2 +- tdutils/td/utils/Time.h | 2 +- tdutils/td/utils/TimedStat.h | 2 +- tdutils/td/utils/Timer.cpp | 2 +- tdutils/td/utils/Timer.h | 2 +- tdutils/td/utils/UInt.h | 2 +- tdutils/td/utils/VectorQueue.h | 2 +- tdutils/td/utils/as.h | 2 +- tdutils/td/utils/benchmark.h | 2 +- tdutils/td/utils/bits.h | 2 +- tdutils/td/utils/buffer.cpp | 2 +- tdutils/td/utils/buffer.h | 2 +- tdutils/td/utils/check.cpp | 2 +- tdutils/td/utils/check.h | 2 +- tdutils/td/utils/common.h | 2 +- tdutils/td/utils/filesystem.cpp | 2 +- tdutils/td/utils/filesystem.h | 2 +- tdutils/td/utils/find_boundary.cpp | 2 +- tdutils/td/utils/find_boundary.h | 2 +- tdutils/td/utils/format.h | 2 +- tdutils/td/utils/int_types.h | 2 +- tdutils/td/utils/invoke.h | 2 +- tdutils/td/utils/logging.cpp | 2 +- tdutils/td/utils/logging.h | 2 +- tdutils/td/utils/misc.cpp | 2 +- tdutils/td/utils/overloaded.h | 2 +- tdutils/td/utils/port/Clocks.cpp | 2 +- tdutils/td/utils/port/Clocks.h | 2 +- tdutils/td/utils/port/CxCli.h | 2 +- tdutils/td/utils/port/EventFd.h | 2 +- tdutils/td/utils/port/EventFdBase.h | 2 +- tdutils/td/utils/port/FileFd.cpp | 2 +- tdutils/td/utils/port/FileFd.h | 2 +- tdutils/td/utils/port/IPAddress.cpp | 2 +- tdutils/td/utils/port/IPAddress.h | 2 +- tdutils/td/utils/port/IoSlice.h | 2 +- tdutils/td/utils/port/MemoryMapping.cpp | 2 +- tdutils/td/utils/port/MemoryMapping.h | 2 +- tdutils/td/utils/port/Poll.h | 2 +- tdutils/td/utils/port/PollBase.h | 2 +- tdutils/td/utils/port/PollFlags.cpp | 2 +- tdutils/td/utils/port/PollFlags.h | 2 +- tdutils/td/utils/port/RwMutex.h | 2 +- tdutils/td/utils/port/ServerSocketFd.cpp | 2 +- tdutils/td/utils/port/ServerSocketFd.h | 2 +- tdutils/td/utils/port/SocketFd.cpp | 2 +- tdutils/td/utils/port/SocketFd.h | 2 +- tdutils/td/utils/port/Stat.cpp | 2 +- tdutils/td/utils/port/Stat.h | 2 +- tdutils/td/utils/port/StdStreams.cpp | 2 +- tdutils/td/utils/port/StdStreams.h | 2 +- tdutils/td/utils/port/UdpSocketFd.cpp | 2 +- tdutils/td/utils/port/UdpSocketFd.h | 2 +- tdutils/td/utils/port/config.h | 2 +- tdutils/td/utils/port/detail/Epoll.h | 2 +- tdutils/td/utils/port/detail/EventFdBsd.cpp | 2 +- tdutils/td/utils/port/detail/EventFdBsd.h | 2 +- tdutils/td/utils/port/detail/EventFdLinux.cpp | 2 +- tdutils/td/utils/port/detail/EventFdLinux.h | 2 +- .../td/utils/port/detail/EventFdWindows.cpp | 2 +- tdutils/td/utils/port/detail/EventFdWindows.h | 2 +- tdutils/td/utils/port/detail/Iocp.cpp | 2 +- tdutils/td/utils/port/detail/Iocp.h | 2 +- tdutils/td/utils/port/detail/KQueue.cpp | 2 +- tdutils/td/utils/port/detail/KQueue.h | 2 +- tdutils/td/utils/port/detail/NativeFd.cpp | 2 +- tdutils/td/utils/port/detail/NativeFd.h | 2 +- tdutils/td/utils/port/detail/Poll.cpp | 2 +- tdutils/td/utils/port/detail/Poll.h | 2 +- tdutils/td/utils/port/detail/PollableFd.h | 2 +- tdutils/td/utils/port/detail/Select.cpp | 2 +- tdutils/td/utils/port/detail/Select.h | 2 +- .../td/utils/port/detail/ThreadIdGuard.cpp | 2 +- tdutils/td/utils/port/detail/ThreadIdGuard.h | 2 +- tdutils/td/utils/port/detail/ThreadPthread.h | 2 +- tdutils/td/utils/port/detail/ThreadStl.h | 2 +- tdutils/td/utils/port/detail/WineventPoll.cpp | 2 +- tdutils/td/utils/port/detail/WineventPoll.h | 2 +- tdutils/td/utils/port/path.cpp | 2 +- tdutils/td/utils/port/path.h | 2 +- tdutils/td/utils/port/platform.h | 2 +- tdutils/td/utils/port/signals.cpp | 2 +- tdutils/td/utils/port/signals.h | 2 +- tdutils/td/utils/port/sleep.cpp | 2 +- tdutils/td/utils/port/sleep.h | 2 +- tdutils/td/utils/port/stacktrace.cpp | 2 +- tdutils/td/utils/port/stacktrace.h | 2 +- tdutils/td/utils/port/thread.h | 2 +- tdutils/td/utils/port/thread_local.cpp | 2 +- tdutils/td/utils/port/thread_local.h | 2 +- tdutils/td/utils/port/wstring_convert.cpp | 2 +- tdutils/td/utils/port/wstring_convert.h | 2 +- tdutils/td/utils/queue.h | 2 +- tdutils/td/utils/tests.cpp | 2 +- tdutils/td/utils/tests.h | 2 +- tdutils/td/utils/tl_helpers.h | 2 +- tdutils/td/utils/tl_parsers.cpp | 2 +- tdutils/td/utils/tl_parsers.h | 2 +- tdutils/td/utils/tl_storers.h | 2 +- tdutils/td/utils/translit.cpp | 2 +- tdutils/td/utils/translit.h | 2 +- tdutils/td/utils/type_traits.h | 2 +- tdutils/td/utils/uint128.h | 2 +- tdutils/td/utils/unicode.cpp | 2 +- tdutils/td/utils/unicode.h | 2 +- tdutils/td/utils/unique_ptr.h | 2 +- tdutils/td/utils/utf8.cpp | 2 +- tdutils/td/utils/utf8.h | 2 +- tdutils/test/Enumerator.cpp | 2 +- tdutils/test/EpochBasedMemoryReclamation.cpp | 2 +- tdutils/test/HazardPointers.cpp | 2 +- tdutils/test/MpmcQueue.cpp | 2 +- tdutils/test/MpscLinkQueue.cpp | 2 +- tdutils/test/OrderedEventsProcessor.cpp | 2 +- tdutils/test/SharedObjectPool.cpp | 2 +- tdutils/test/SharedSlice.cpp | 2 +- tdutils/test/buffer.cpp | 2 +- tdutils/test/crypto.cpp | 2 +- tdutils/test/filesystem.cpp | 2 +- tdutils/test/gzip.cpp | 2 +- tdutils/test/heap.cpp | 2 +- tdutils/test/json.cpp | 2 +- tdutils/test/port.cpp | 2 +- tdutils/test/pq.cpp | 2 +- tdutils/test/variant.cpp | 2 +- test/ed25519_crypto.cpp | 2 +- test/test-catchain.cpp | 2 +- test/test-ext-client.cpp | 2 +- test/test-ext-server.cpp | 2 +- test/test-hello-world.cpp | 2 +- test/test-node.cpp | 2 +- test/test-td-main.cpp | 2 +- test/test-ton-collator.cpp | 2 +- test/test-validator-session-state.cpp | 2 +- test/test-validator-session.cpp | 2 +- test/test-validator.cpp | 2 +- tl-utils/common-utils.hpp | 2 +- tl-utils/lite-utils.cpp | 2 +- tl-utils/lite-utils.hpp | 2 +- tl-utils/tl-utils.cpp | 2 +- tl-utils/tl-utils.hpp | 2 +- tl/generate/generate_common.cpp | 2 +- tl/generate/generate_java.cpp | 2 +- tl/generate/scheme/ton_api.tl | 3 + tl/generate/scheme/ton_api.tlo | Bin 59932 -> 60752 bytes tl/generate/tl_json_converter.cpp | 2 +- tl/generate/tl_json_converter.h | 2 +- tl/generate/tl_writer_cpp.cpp | 2 +- tl/generate/tl_writer_cpp.h | 2 +- tl/generate/tl_writer_h.cpp | 2 +- tl/generate/tl_writer_h.h | 2 +- tl/generate/tl_writer_hpp.cpp | 2 +- tl/generate/tl_writer_hpp.h | 2 +- tl/generate/tl_writer_java.h | 2 +- tl/generate/tl_writer_jni_cpp.h | 2 +- tl/generate/tl_writer_jni_h.h | 2 +- tl/generate/tl_writer_td.h | 2 +- tl/tl/TlObject.h | 2 +- tl/tl/tl_jni_object.cpp | 2 +- tl/tl/tl_jni_object.h | 2 +- tl/tl/tl_json.h | 2 +- tl/tl/tl_object_parse.h | 2 +- tl/tl/tl_object_store.h | 2 +- ton/lite-tl.hpp | 2 +- ton/ton-io.hpp | 2 +- ton/ton-shard.h | 2 +- ton/ton-tl.hpp | 2 +- ton/ton-types.h | 2 + tonlib/tonlib/Client.cpp | 2 +- tonlib/tonlib/Client.h | 2 +- tonlib/tonlib/ClientActor.cpp | 2 +- tonlib/tonlib/ClientActor.h | 2 +- tonlib/tonlib/ClientJson.cpp | 2 +- tonlib/tonlib/ClientJson.h | 2 +- tonlib/tonlib/Config.cpp | 2 +- tonlib/tonlib/Config.h | 2 +- tonlib/tonlib/ExtClient.cpp | 2 +- tonlib/tonlib/ExtClient.h | 2 +- tonlib/tonlib/ExtClientLazy.cpp | 2 +- tonlib/tonlib/ExtClientLazy.h | 2 +- tonlib/tonlib/ExtClientOutbound.cpp | 2 +- tonlib/tonlib/ExtClientOutbound.h | 2 +- tonlib/tonlib/LastBlock.cpp | 2 +- tonlib/tonlib/LastBlock.h | 2 +- tonlib/tonlib/LastBlockStorage.cpp | 2 +- tonlib/tonlib/LastBlockStorage.h | 2 +- tonlib/tonlib/LastConfig.cpp | 2 +- tonlib/tonlib/Logging.cpp | 2 +- tonlib/tonlib/Logging.h | 2 +- tonlib/tonlib/TonlibCallback.h | 2 +- tonlib/tonlib/TonlibClient.cpp | 6 +- tonlib/tonlib/keys/DecryptedKey.cpp | 2 +- tonlib/tonlib/keys/DecryptedKey.h | 2 +- tonlib/tonlib/keys/EncryptedKey.cpp | 2 +- tonlib/tonlib/keys/EncryptedKey.h | 2 +- tonlib/tonlib/keys/Mnemonic.cpp | 2 +- tonlib/tonlib/keys/Mnemonic.h | 2 +- tonlib/tonlib/keys/bip39.cpp | 2 +- tonlib/tonlib/keys/bip39.h | 2 +- tonlib/tonlib/tonlib_client_json.cpp | 2 +- tonlib/tonlib/tonlib_client_json.h | 2 +- tonlib/tonlib/utils.cpp | 2 +- tonlib/tonlib/utils.h | 2 +- utils/json2tlo.cpp | 2 +- utils/pack-viewer.cpp | 2 +- .../validator-engine-console.h | 2 +- validator-engine/validator-engine.cpp | 4 - validator-session/persistent-vector.cpp | 2 +- validator-session/persistent-vector.h | 2 +- .../validator-session-description.h | 2 +- validator-session/validator-session-state.h | 2 +- validator-session/validator-session-types.h | 4 +- validator-session/validator-session.cpp | 27 +++- validator-session/validator-session.h | 2 +- validator-session/validator-session.hpp | 3 +- validator/apply-block.hpp | 2 +- validator/block-handle.cpp | 2 +- validator/block-handle.hpp | 2 +- validator/db/archiver.cpp | 2 +- validator/db/archiver.hpp | 2 +- validator/db/celldb.cpp | 2 +- validator/db/celldb.hpp | 2 +- validator/db/fileref.hpp | 2 +- validator/db/files-async.hpp | 2 +- validator/db/rootdb.cpp | 2 +- validator/db/rootdb.hpp | 2 +- validator/db/statedb.cpp | 2 +- validator/db/statedb.hpp | 2 +- validator/db/staticfilesdb.cpp | 2 +- validator/db/staticfilesdb.hpp | 2 +- validator/downloaders/download-state.cpp | 2 +- validator/downloaders/download-state.hpp | 2 +- .../downloaders/wait-block-data-disk.cpp | 2 +- .../downloaders/wait-block-data-disk.hpp | 2 +- validator/downloaders/wait-block-data.cpp | 2 +- validator/downloaders/wait-block-data.hpp | 2 +- .../downloaders/wait-block-state-merge.cpp | 2 +- .../downloaders/wait-block-state-merge.hpp | 2 +- validator/downloaders/wait-block-state.cpp | 2 +- validator/downloaders/wait-block-state.hpp | 2 +- validator/fabric.h | 2 +- validator/full-node-master.cpp | 2 +- validator/full-node-master.h | 2 +- validator/full-node-master.hpp | 2 +- validator/full-node-shard.cpp | 8 +- validator/full-node-shard.h | 2 +- validator/full-node-shard.hpp | 2 +- validator/full-node.cpp | 2 +- validator/full-node.h | 2 +- validator/full-node.hpp | 2 +- validator/get-next-key-blocks.cpp | 2 +- validator/get-next-key-blocks.h | 2 +- validator/impl/accept-block.cpp | 2 +- validator/impl/accept-block.hpp | 2 +- validator/impl/block.cpp | 2 +- validator/impl/block.hpp | 2 +- validator/impl/check-proof.cpp | 2 +- validator/impl/check-proof.hpp | 2 +- validator/impl/collate-query-impl.h | 2 +- validator/impl/collator-impl.h | 2 +- validator/impl/collator.cpp | 60 ++++---- validator/impl/collator.h | 2 +- validator/impl/config.cpp | 2 +- validator/impl/config.hpp | 2 +- validator/impl/fabric.cpp | 2 +- validator/impl/ihr-message.cpp | 2 +- validator/impl/ihr-message.hpp | 2 +- validator/impl/message-queue.cpp | 2 +- validator/impl/message-queue.hpp | 2 +- validator/impl/proof.cpp | 2 +- validator/impl/proof.hpp | 2 +- validator/impl/shard.cpp | 2 +- validator/impl/shard.hpp | 2 +- validator/impl/signature-set.cpp | 2 +- validator/impl/signature-set.hpp | 2 +- validator/impl/top-shard-descr.cpp | 2 +- validator/impl/top-shard-descr.hpp | 2 +- validator/impl/validate-query.cpp | 113 +++++++------- validator/impl/validate-query.hpp | 2 +- validator/impl/validator-set.hpp | 2 +- validator/interfaces/block-handle.h | 2 +- validator/interfaces/block.h | 2 +- validator/interfaces/config.h | 2 +- validator/interfaces/db.h | 2 +- validator/interfaces/external-message.h | 2 +- validator/interfaces/ihr-message.h | 2 +- validator/interfaces/message-queue.h | 2 +- validator/interfaces/proof.h | 2 +- validator/interfaces/shard-block.h | 2 +- validator/interfaces/shard.h | 2 +- validator/interfaces/signature-set.h | 2 +- validator/interfaces/validator-full-id.h | 2 +- validator/interfaces/validator-manager.h | 2 +- validator/interfaces/validator-set.h | 2 +- validator/invariants.hpp | 2 +- validator/manager-disk.h | 2 +- validator/manager-init.cpp | 2 +- validator/manager-init.h | 2 +- validator/manager-init.hpp | 2 +- validator/manager.cpp | 34 +++-- validator/manager.h | 2 +- validator/manager.hpp | 4 +- validator/net/download-archive-slice.hpp | 2 +- validator/net/download-block-new.cpp | 2 +- validator/net/download-block-new.hpp | 2 +- validator/net/download-block.cpp | 2 +- validator/net/download-block.hpp | 2 +- validator/net/download-next-block.cpp | 2 +- validator/net/download-next-block.hpp | 2 +- validator/net/download-proof.cpp | 2 +- validator/net/download-proof.hpp | 2 +- validator/net/download-state.cpp | 2 +- validator/net/download-state.hpp | 2 +- validator/net/get-next-key-blocks.cpp | 2 +- validator/net/get-next-key-blocks.hpp | 2 +- validator/shard-client.cpp | 2 +- validator/shard-client.hpp | 2 +- validator/state-serializer.cpp | 2 +- validator/state-serializer.hpp | 2 +- validator/token-manager.cpp | 2 +- validator/validate-broadcast.cpp | 2 +- validator/validate-broadcast.hpp | 2 +- validator/validator-full-id.cpp | 2 +- validator/validator-group.cpp | 48 +++++- validator/validator-group.hpp | 12 ++ validator/validator-options.cpp | 2 +- 699 files changed, 1171 insertions(+), 978 deletions(-) diff --git a/adnl/adnl-db.cpp b/adnl/adnl-db.cpp index 7043199e..c86f3f7e 100644 --- a/adnl/adnl-db.cpp +++ b/adnl/adnl-db.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-db.hpp" #include "td/db/RocksDb.h" diff --git a/adnl/adnl-db.h b/adnl/adnl-db.h index d7bf9fd7..f9d61eb2 100644 --- a/adnl/adnl-db.h +++ b/adnl/adnl-db.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-db.hpp b/adnl/adnl-db.hpp index 077279fd..0f493745 100644 --- a/adnl/adnl-db.hpp +++ b/adnl/adnl-db.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-ext-client.cpp b/adnl/adnl-ext-client.cpp index 1d10283b..9602b521 100644 --- a/adnl/adnl-ext-client.cpp +++ b/adnl/adnl-ext-client.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-ext-client.hpp" #include "adnl-ext-client.h" diff --git a/adnl/adnl-ext-client.h b/adnl/adnl-ext-client.h index bd60f202..b9a5d570 100644 --- a/adnl/adnl-ext-client.h +++ b/adnl/adnl-ext-client.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-ext-client.hpp b/adnl/adnl-ext-client.hpp index d58247fc..a4df818e 100644 --- a/adnl/adnl-ext-client.hpp +++ b/adnl/adnl-ext-client.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-ext-connection.cpp b/adnl/adnl-ext-connection.cpp index ffae186b..06926f4d 100644 --- a/adnl/adnl-ext-connection.cpp +++ b/adnl/adnl-ext-connection.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-ext-connection.hpp" diff --git a/adnl/adnl-ext-connection.hpp b/adnl/adnl-ext-connection.hpp index 0b7f1012..ce3c29b3 100644 --- a/adnl/adnl-ext-connection.hpp +++ b/adnl/adnl-ext-connection.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-ext-server.cpp b/adnl/adnl-ext-server.cpp index a23d8610..ed04469c 100644 --- a/adnl/adnl-ext-server.cpp +++ b/adnl/adnl-ext-server.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-ext-server.hpp" #include "keys/encryptor.h" diff --git a/adnl/adnl-ext-server.h b/adnl/adnl-ext-server.h index 10e0ca9c..618b2fb4 100644 --- a/adnl/adnl-ext-server.h +++ b/adnl/adnl-ext-server.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-ext-server.hpp b/adnl/adnl-ext-server.hpp index 7ffa9e69..b4604a76 100644 --- a/adnl/adnl-ext-server.hpp +++ b/adnl/adnl-ext-server.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-message.cpp b/adnl/adnl-message.cpp index 4e09429a..0d712978 100644 --- a/adnl/adnl-message.cpp +++ b/adnl/adnl-message.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl-message.h" #include "auto/tl/ton_api.hpp" diff --git a/adnl/adnl-node.cpp b/adnl/adnl-node.cpp index fe14f0ed..4bf080a8 100644 --- a/adnl/adnl-node.cpp +++ b/adnl/adnl-node.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-node.h" diff --git a/adnl/adnl-node.h b/adnl/adnl-node.h index 509e64f5..0fc6c2cf 100644 --- a/adnl/adnl-node.h +++ b/adnl/adnl-node.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-packet.cpp b/adnl/adnl-packet.cpp index 6043d287..b12493e7 100644 --- a/adnl/adnl-packet.cpp +++ b/adnl/adnl-packet.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-packet.h" #include "td/utils/Random.h" diff --git a/adnl/adnl-query.cpp b/adnl/adnl-query.cpp index d2f0f52d..5bc767d2 100644 --- a/adnl/adnl-query.cpp +++ b/adnl/adnl-query.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-query.h" #include "common/errorcode.h" diff --git a/adnl/adnl-query.h b/adnl/adnl-query.h index 3c0ebf06..6e24a49f 100644 --- a/adnl/adnl-query.h +++ b/adnl/adnl-query.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-static-nodes.cpp b/adnl/adnl-static-nodes.cpp index edb7efb3..251715be 100644 --- a/adnl/adnl-static-nodes.cpp +++ b/adnl/adnl-static-nodes.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-static-nodes.h" #include "adnl-static-nodes.hpp" diff --git a/adnl/adnl-static-nodes.h b/adnl/adnl-static-nodes.h index 3ca06f15..91e3bed0 100644 --- a/adnl/adnl-static-nodes.h +++ b/adnl/adnl-static-nodes.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-static-nodes.hpp b/adnl/adnl-static-nodes.hpp index 51ecbb8e..166be5aa 100644 --- a/adnl/adnl-static-nodes.hpp +++ b/adnl/adnl-static-nodes.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/adnl/adnl-test-loopback-implementation.cpp b/adnl/adnl-test-loopback-implementation.cpp index 1ba0e920..c5ef7530 100644 --- a/adnl/adnl-test-loopback-implementation.cpp +++ b/adnl/adnl-test-loopback-implementation.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl-test-loopback-implementation.h" diff --git a/adnl/test/adnl-test-ping.cpp b/adnl/test/adnl-test-ping.cpp index 593f1226..0e1f2ebc 100644 --- a/adnl/test/adnl-test-ping.cpp +++ b/adnl/test/adnl-test-ping.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl-network-manager.h" #include "adnl/adnl-peer-table.h" diff --git a/adnl/utils.cpp b/adnl/utils.cpp index 9fe93bb1..cb05f396 100644 --- a/adnl/utils.cpp +++ b/adnl/utils.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "utils.hpp" #include "tl/tl_object_store.h" diff --git a/adnl/utils.hpp b/adnl/utils.hpp index e0008260..50aec2ef 100644 --- a/adnl/utils.hpp +++ b/adnl/utils.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/blockchain-explorer/blockchain-explorer-query.hpp b/blockchain-explorer/blockchain-explorer-query.hpp index ce7a713f..0ce52af6 100644 --- a/blockchain-explorer/blockchain-explorer-query.hpp +++ b/blockchain-explorer/blockchain-explorer-query.hpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/catchain/catchain-block.cpp b/catchain/catchain-block.cpp index 10c04eb7..f4e76674 100644 --- a/catchain/catchain-block.cpp +++ b/catchain/catchain-block.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "catchain-block.hpp" diff --git a/catchain/catchain-block.hpp b/catchain/catchain-block.hpp index c6e10348..8d66d3c1 100644 --- a/catchain/catchain-block.hpp +++ b/catchain/catchain-block.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/catchain/catchain-received-block.cpp b/catchain/catchain-received-block.cpp index 711ee29c..7a17d3ee 100644 --- a/catchain/catchain-received-block.cpp +++ b/catchain/catchain-received-block.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include diff --git a/catchain/catchain-received-block.h b/catchain/catchain-received-block.h index fc1d5522..8a5dfa90 100644 --- a/catchain/catchain-received-block.h +++ b/catchain/catchain-received-block.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/catchain/catchain-received-block.hpp b/catchain/catchain-received-block.hpp index 914fa91c..27f9ec61 100644 --- a/catchain/catchain-received-block.hpp +++ b/catchain/catchain-received-block.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/catchain/catchain-receiver-interface.h b/catchain/catchain-receiver-interface.h index f30b9d64..af983402 100644 --- a/catchain/catchain-receiver-interface.h +++ b/catchain/catchain-receiver-interface.h @@ -55,13 +55,11 @@ class CatChainReceiverInterface : public td::actor::Actor { virtual void destroy() = 0; - static td::actor::ActorOwn create(std::unique_ptr callback, CatChainOptions opts, - td::actor::ActorId keyring, - td::actor::ActorId adnl, - td::actor::ActorId overlay_manager, - std::vector ids, PublicKeyHash local_id, - CatChainSessionId unique_hash, std::string db_root, - bool allow_unsafe_self_blocks_resync); + static td::actor::ActorOwn create( + std::unique_ptr callback, CatChainOptions opts, td::actor::ActorId keyring, + td::actor::ActorId adnl, td::actor::ActorId overlay_manager, + std::vector ids, PublicKeyHash local_id, CatChainSessionId unique_hash, std::string db_root, + std::string db_suffix, bool allow_unsafe_self_blocks_resync); virtual ~CatChainReceiverInterface() = default; }; diff --git a/catchain/catchain-receiver.cpp b/catchain/catchain-receiver.cpp index 3f49c136..b9b0373f 100644 --- a/catchain/catchain-receiver.cpp +++ b/catchain/catchain-receiver.cpp @@ -430,7 +430,7 @@ CatChainReceiverImpl::CatChainReceiverImpl(std::unique_ptr callback, C td::actor::ActorId adnl, td::actor::ActorId overlay_manager, std::vector ids, PublicKeyHash local_id, - CatChainSessionId unique_hash, std::string db_root, + CatChainSessionId unique_hash, std::string db_root, std::string db_suffix, bool allow_unsafe_self_blocks_resync) : callback_(std::move(callback)) , opts_(std::move(opts)) @@ -439,6 +439,7 @@ CatChainReceiverImpl::CatChainReceiverImpl(std::unique_ptr callback, C , overlay_manager_(overlay_manager) , local_id_(local_id) , db_root_(db_root) + , db_suffix_(db_suffix) , allow_unsafe_self_blocks_resync_(allow_unsafe_self_blocks_resync) { std::vector short_ids; local_idx_ = static_cast(ids.size()); @@ -491,7 +492,8 @@ void CatChainReceiverImpl::start_up() { if (!opts_.debug_disable_db) { std::shared_ptr kv = std::make_shared( - td::RocksDb::open(db_root_ + "/catchainreceiver-" + td::base64url_encode(as_slice(incarnation_))).move_as_ok()); + td::RocksDb::open(db_root_ + "/catchainreceiver" + db_suffix_ + td::base64url_encode(as_slice(incarnation_))) + .move_as_ok()); db_ = DbType{std::move(kv)}; auto P = td::PromiseCreator::lambda([SelfId = actor_id(this)](td::Result R) { @@ -611,10 +613,10 @@ td::actor::ActorOwn CatChainReceiverInterface::create std::unique_ptr callback, CatChainOptions opts, td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId overlay_manager, std::vector ids, PublicKeyHash local_id, CatChainSessionId unique_hash, std::string db_root, - bool allow_unsafe_self_blocks_resync) { - auto A = td::actor::create_actor("catchainreceiver", std::move(callback), std::move(opts), - keyring, adnl, overlay_manager, std::move(ids), local_id, - unique_hash, db_root, allow_unsafe_self_blocks_resync); + std::string db_suffix, bool allow_unsafe_self_blocks_resync) { + auto A = td::actor::create_actor( + "catchainreceiver", std::move(callback), std::move(opts), keyring, adnl, overlay_manager, std::move(ids), + local_id, unique_hash, db_root, db_suffix, allow_unsafe_self_blocks_resync); return std::move(A); } @@ -1058,7 +1060,7 @@ static void destroy_db(std::string name, td::uint32 attempt) { } void CatChainReceiverImpl::destroy() { - auto name = db_root_ + "/catchainreceiver-" + td::base64url_encode(as_slice(incarnation_)); + auto name = db_root_ + "/catchainreceiver" + db_suffix_ + td::base64url_encode(as_slice(incarnation_)); delay_action([name]() { destroy_db(name, 0); }, td::Timestamp::in(1.0)); stop(); } diff --git a/catchain/catchain-receiver.h b/catchain/catchain-receiver.h index ab04b312..c3bae8e0 100644 --- a/catchain/catchain-receiver.h +++ b/catchain/catchain-receiver.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/catchain/catchain-receiver.hpp b/catchain/catchain-receiver.hpp index c1789f3e..b41c8af0 100644 --- a/catchain/catchain-receiver.hpp +++ b/catchain/catchain-receiver.hpp @@ -144,7 +144,8 @@ class CatChainReceiverImpl : public CatChainReceiver { CatChainReceiverImpl(std::unique_ptr callback, CatChainOptions opts, td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId, std::vector ids, PublicKeyHash local_id, - CatChainBlockHash unique_hash, std::string db_root, bool allow_unsafe_self_blocks_resync); + CatChainBlockHash unique_hash, std::string db_root, std::string db_suffix, + bool allow_unsafe_self_blocks_resync); private: std::unique_ptr make_callback() { @@ -220,6 +221,7 @@ class CatChainReceiverImpl : public CatChainReceiver { td::Timestamp next_rotate_; std::string db_root_; + std::string db_suffix_; using DbType = td::KeyValueAsync; DbType db_; diff --git a/catchain/catchain-types.h b/catchain/catchain-types.h index 217ef753..cb95135e 100644 --- a/catchain/catchain-types.h +++ b/catchain/catchain-types.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/catchain/catchain.cpp b/catchain/catchain.cpp index 4ddbf3c4..abbc8b5c 100644 --- a/catchain/catchain.cpp +++ b/catchain/catchain.cpp @@ -223,8 +223,11 @@ CatChainImpl::CatChainImpl(std::unique_ptr callback, CatChainOptions o td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId overlay_manager, std::vector ids, PublicKeyHash local_id, CatChainSessionId unique_hash, std::string db_root, - bool allow_unsafe_self_blocks_resync) - : opts_(std::move(opts)), db_root_(db_root), allow_unsafe_self_blocks_resync_(allow_unsafe_self_blocks_resync) { + std::string db_suffix, bool allow_unsafe_self_blocks_resync) + : opts_(std::move(opts)) + , db_root_(db_root) + , db_suffix_(db_suffix) + , allow_unsafe_self_blocks_resync_(allow_unsafe_self_blocks_resync) { callback_ = std::move(callback); sources_.resize(ids.size()); unique_hash_ = unique_hash; @@ -281,9 +284,9 @@ void CatChainImpl::start_up() { auto cb = std::make_unique(actor_id(this)); - receiver_ = CatChainReceiverInterface::create(std::move(cb), opts_, args_->keyring, args_->adnl, - args_->overlay_manager, std::move(args_->ids), args_->local_id, - args_->unique_hash, db_root_, allow_unsafe_self_blocks_resync_); + receiver_ = CatChainReceiverInterface::create( + std::move(cb), opts_, args_->keyring, args_->adnl, args_->overlay_manager, std::move(args_->ids), args_->local_id, + args_->unique_hash, db_root_, db_suffix_, allow_unsafe_self_blocks_resync_); args_ = nullptr; //alarm_timestamp() = td::Timestamp::in(opts_.idle_timeout); } @@ -294,10 +297,10 @@ td::actor::ActorOwn CatChain::create(std::unique_ptr callbac td::actor::ActorId overlay_manager, std::vector ids, PublicKeyHash local_id, CatChainSessionId unique_hash, std::string db_root, - bool allow_unsafe_self_blocks_resync) { + std::string db_suffix, bool allow_unsafe_self_blocks_resync) { return td::actor::create_actor("catchain", std::move(callback), std::move(opts), keyring, adnl, overlay_manager, std::move(ids), local_id, unique_hash, db_root, - allow_unsafe_self_blocks_resync); + db_suffix, allow_unsafe_self_blocks_resync); } CatChainBlock *CatChainImpl::get_block(CatChainBlockHash hash) const { diff --git a/catchain/catchain.h b/catchain/catchain.h index 65182c1e..6e832e49 100644 --- a/catchain/catchain.h +++ b/catchain/catchain.h @@ -102,7 +102,7 @@ class CatChain : public td::actor::Actor { td::actor::ActorId adnl, td::actor::ActorId overlay_manager, std::vector ids, PublicKeyHash local_id, - CatChainSessionId unique_hash, std::string db_root, + CatChainSessionId unique_hash, std::string db_root, std::string db_suffix, bool allow_unsafe_self_blocks_resync); virtual ~CatChain() = default; }; diff --git a/catchain/catchain.hpp b/catchain/catchain.hpp index 5e015873..2a1bc608 100644 --- a/catchain/catchain.hpp +++ b/catchain/catchain.hpp @@ -51,6 +51,7 @@ class CatChainImpl : public CatChain { bool receiver_started_ = false; std::string db_root_; + std::string db_suffix_; bool allow_unsafe_self_blocks_resync_; void send_process(); @@ -119,7 +120,7 @@ class CatChainImpl : public CatChain { CatChainImpl(std::unique_ptr callback, CatChainOptions opts, td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId overlay_manager, std::vector ids, PublicKeyHash local_id, CatChainSessionId unique_hash, - std::string db_root, bool allow_unsafe_self_blocks_resync); + std::string db_root, std::string db_suffix, bool allow_unsafe_self_blocks_resync); void alarm() override; void start_up() override; diff --git a/common/checksum.h b/common/checksum.h index 440d9359..ff692239 100644 --- a/common/checksum.h +++ b/common/checksum.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/common/delay.h b/common/delay.h index 111a9f35..9b98c58e 100644 --- a/common/delay.h +++ b/common/delay.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/common/errorcode.h b/common/errorcode.h index 71eee62b..b95e7fc2 100644 --- a/common/errorcode.h +++ b/common/errorcode.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/common/errorlog.cpp b/common/errorlog.cpp index 3dfcf9c8..a0616698 100644 --- a/common/errorlog.cpp +++ b/common/errorlog.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "errorlog.h" #include "checksum.h" diff --git a/common/errorlog.h b/common/errorlog.h index ed233000..884bfc4d 100644 --- a/common/errorlog.h +++ b/common/errorlog.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/common/io.hpp b/common/io.hpp index c222e95a..e328636f 100644 --- a/common/io.hpp +++ b/common/io.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/common/status.h b/common/status.h index ddcdbfb9..dacc7ee5 100644 --- a/common/status.h +++ b/common/status.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/block/Binlog.cpp b/crypto/block/Binlog.cpp index ac1f1415..b774e693 100644 --- a/crypto/block/Binlog.cpp +++ b/crypto/block/Binlog.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "crypto/block/Binlog.h" diff --git a/crypto/block/Binlog.h b/crypto/block/Binlog.h index f5b66060..64142fe8 100644 --- a/crypto/block/Binlog.h +++ b/crypto/block/Binlog.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/block/adjust-block.cpp b/crypto/block/adjust-block.cpp index ba9d22cd..755d4218 100644 --- a/crypto/block/adjust-block.cpp +++ b/crypto/block/adjust-block.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "block/block.h" #include "vm/boc.h" diff --git a/crypto/block/block-binlog.h b/crypto/block/block-binlog.h index 48346e77..904f4c73 100644 --- a/crypto/block/block-binlog.h +++ b/crypto/block/block-binlog.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/int_types.h" diff --git a/crypto/block/block-db-impl.h b/crypto/block/block-db-impl.h index 868206d8..07869ca9 100644 --- a/crypto/block/block-db-impl.h +++ b/crypto/block/block-db-impl.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/block/block-db.cpp b/crypto/block/block-db.cpp index f2018b80..2be1f580 100644 --- a/crypto/block/block-db.cpp +++ b/crypto/block/block-db.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "block-db.h" #include "block-db-impl.h" diff --git a/crypto/block/block-db.h b/crypto/block/block-db.h index 755403c1..cd9498fb 100644 --- a/crypto/block/block-db.h +++ b/crypto/block/block-db.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/int_types.h" diff --git a/crypto/block/block.tlb b/crypto/block/block.tlb index ee85d6f6..1744a071 100644 --- a/crypto/block/block.tlb +++ b/crypto/block/block.tlb @@ -679,11 +679,22 @@ config_fwd_prices#_ MsgForwardPrices = ConfigParam 25; catchain_config#c1 mc_catchain_lifetime:uint32 shard_catchain_lifetime:uint32 shard_validators_lifetime:uint32 shard_validators_num:uint32 = CatchainConfig; + +catchain_config_new#c2 flags:(## 7) { flags = 0 } shuffle_mc_validators:Bool + mc_catchain_lifetime:uint32 shard_catchain_lifetime:uint32 + shard_validators_lifetime:uint32 shard_validators_num:uint32 = CatchainConfig; + consensus_config#d6 round_candidates:# { round_candidates >= 1 } next_candidate_delay_ms:uint32 consensus_timeout_ms:uint32 fast_attempts:uint32 attempt_duration:uint32 catchain_max_deps:uint32 max_block_bytes:uint32 max_collated_bytes:uint32 = ConsensusConfig; +consensus_config_new#d7 flags:(## 7) { flags = 0 } new_catchain_ids:Bool + round_candidates:(## 8) { round_candidates >= 1 } + next_candidate_delay_ms:uint32 consensus_timeout_ms:uint32 + fast_attempts:uint32 attempt_duration:uint32 catchain_max_deps:uint32 + max_block_bytes:uint32 max_collated_bytes:uint32 = ConsensusConfig; + _ CatchainConfig = ConfigParam 28; _ ConsensusConfig = ConfigParam 29; @@ -721,7 +732,7 @@ top_block_descr_set#4ac789f3 collection:(HashmapE 96 ^TopBlockDescr) = TopBlockD // VALIDATOR MISBEHAVIOR COMPLAINTS // no_blk_gen mc_blk_ref:ExtBlkRef from_utime:uint32 to_utime:uint32 state_proof:^Cell prod_proof:^Cell = ComplaintDescr; -validator_complaint#ba validator_pubkey:uint256 description:^ComplaintDescr severity:uint8 reward_addr:uint256 paid:Grams suggested_fine:Grams suggested_fine_part:uint32 = ValidatorComplaint; +validator_complaint#bc validator_pubkey:uint256 description:^ComplaintDescr created_at:uint32 severity:uint8 reward_addr:uint256 paid:Grams suggested_fine:Grams suggested_fine_part:uint32 = ValidatorComplaint; complaint_status#2d complaint:^ValidatorComplaint voters:(HashmapE 16 True) vset_id:uint256 weight_remaining:int64 = ValidatorComplaintStatus; // diff --git a/crypto/block/mc-config.cpp b/crypto/block/mc-config.cpp index 20334582..e192ad81 100644 --- a/crypto/block/mc-config.cpp +++ b/crypto/block/mc-config.cpp @@ -310,8 +310,7 @@ td::Status Config::visit_validator_params() const { ton::ValidatorSessionConfig Config::get_consensus_config() const { auto cc = get_config_param(29); ton::ValidatorSessionConfig c; - block::gen::ConsensusConfig::Record r; - if (cc.not_null() && tlb::unpack_cell(cc, r)) { + auto set = [&c](auto& r, bool new_cc_ids) { c.catchain_idle_timeout = r.consensus_timeout_ms * 0.001; c.catchain_max_deps = r.catchain_max_deps; c.round_candidates = r.round_candidates; @@ -320,6 +319,13 @@ ton::ValidatorSessionConfig Config::get_consensus_config() const { c.max_round_attempts = r.fast_attempts; c.max_block_size = r.max_block_bytes; c.max_collated_data_size = r.max_collated_bytes; + c.new_catchain_ids = new_cc_ids; + return true; + }; + if (cc.not_null()) { + block::gen::ConsensusConfig::Record_consensus_config_new r1; + block::gen::ConsensusConfig::Record_consensus_config r0; + (tlb::unpack_cell(cc, r1) && set(r1, r1.new_catchain_ids)) || (tlb::unpack_cell(cc, r0) && set(r0, false)); } return c; } @@ -671,14 +677,20 @@ td::Result Config::get_msg_prices(bool is_masterchain) const { } CatchainValidatorsConfig Config::unpack_catchain_validators_config(Ref cell) { - block::gen::CatchainConfig::Record cfg; - if (cell.is_null() || !tlb::unpack_cell(std::move(cell), cfg)) { - return {default_mc_catchain_lifetime, default_shard_catchain_lifetime, default_shard_validators_lifetime, - default_shard_validators_num}; - } else { - return {cfg.mc_catchain_lifetime, cfg.shard_catchain_lifetime, cfg.shard_validators_lifetime, - cfg.shard_validators_num}; + if (cell.not_null()) { + block::gen::CatchainConfig::Record_catchain_config cfg; + if (tlb::unpack_cell(cell, cfg)) { + return {cfg.mc_catchain_lifetime, cfg.shard_catchain_lifetime, cfg.shard_validators_lifetime, + cfg.shard_validators_num}; + } + block::gen::CatchainConfig::Record_catchain_config_new cfg2; + if (tlb::unpack_cell(std::move(cell), cfg2)) { + return {cfg2.mc_catchain_lifetime, cfg2.shard_catchain_lifetime, cfg2.shard_validators_lifetime, + cfg2.shard_validators_num, cfg2.shuffle_mc_validators}; + } } + return {default_mc_catchain_lifetime, default_shard_catchain_lifetime, default_shard_validators_lifetime, + default_shard_validators_num}; } CatchainValidatorsConfig Config::get_catchain_validators_config() const { @@ -1215,47 +1227,47 @@ std::vector ShardConfig::get_shard_hash_ids( std::vector res; bool mcout = mc_shard_hash_.is_null() || !mc_shard_hash_->seqno(); // include masterchain as a shard if seqno > 0 bool ok = shard_hashes_dict_->check_for_each( - [&res, &mcout, mc_shard_hash_ = mc_shard_hash_, &filter ](Ref cs_ref, td::ConstBitPtr key, int n) - ->bool { - int workchain = (int)key.get_int(n); - if (workchain >= 0 && !mcout) { - if (filter(ton::ShardIdFull{ton::masterchainId}, true)) { - res.emplace_back(mc_shard_hash_->blk_.id); - } - mcout = true; - } - if (!cs_ref->have_refs()) { + [&res, &mcout, mc_shard_hash_ = mc_shard_hash_, &filter](Ref cs_ref, td::ConstBitPtr key, + int n) -> bool { + int workchain = (int)key.get_int(n); + if (workchain >= 0 && !mcout) { + if (filter(ton::ShardIdFull{ton::masterchainId}, true)) { + res.emplace_back(mc_shard_hash_->blk_.id); + } + mcout = true; + } + if (!cs_ref->have_refs()) { + return false; + } + std::stack, unsigned long long>> stack; + stack.emplace(cs_ref->prefetch_ref(), ton::shardIdAll); + while (!stack.empty()) { + vm::CellSlice cs{vm::NoVmOrd(), std::move(stack.top().first)}; + unsigned long long shard = stack.top().second; + stack.pop(); + int t = (int)cs.fetch_ulong(1); + if (t < 0) { + return false; + } + if (!filter(ton::ShardIdFull{workchain, shard}, !t)) { + continue; + } + if (!t) { + if (!(cs.advance(4) && cs.have(32))) { return false; } - std::stack, unsigned long long>> stack; - stack.emplace(cs_ref->prefetch_ref(), ton::shardIdAll); - while (!stack.empty()) { - vm::CellSlice cs{vm::NoVmOrd(), std::move(stack.top().first)}; - unsigned long long shard = stack.top().second; - stack.pop(); - int t = (int)cs.fetch_ulong(1); - if (t < 0) { - return false; - } - if (!filter(ton::ShardIdFull{workchain, shard}, !t)) { - continue; - } - if (!t) { - if (!(cs.advance(4) && cs.have(32))) { - return false; - } - res.emplace_back(workchain, shard, (int)cs.prefetch_ulong(32)); - continue; - } - unsigned long long delta = (td::lower_bit64(shard) >> 1); - if (!delta || cs.size_ext() != 0x20000) { - return false; - } - stack.emplace(cs.prefetch_ref(1), shard + delta); - stack.emplace(cs.prefetch_ref(0), shard - delta); - } - return true; - }, + res.emplace_back(workchain, shard, (int)cs.prefetch_ulong(32)); + continue; + } + unsigned long long delta = (td::lower_bit64(shard) >> 1); + if (!delta || cs.size_ext() != 0x20000) { + return false; + } + stack.emplace(cs.prefetch_ref(1), shard + delta); + stack.emplace(cs.prefetch_ref(0), shard - delta); + } + return true; + }, true); if (!ok) { return {}; @@ -1611,8 +1623,8 @@ td::Result> Config::get_special_smartcontracts(b return td::Status::Error(-666, "configuration loaded without fundamental smart contract list"); } std::vector res; - if (!special_smc_dict->check_for_each([&res, &without_config, conf_addr = config_addr.bits() ]( - Ref cs_ref, td::ConstBitPtr key, int n) { + if (!special_smc_dict->check_for_each([&res, &without_config, conf_addr = config_addr.bits()]( + Ref cs_ref, td::ConstBitPtr key, int n) { if (cs_ref->size_ext() || n != 256) { return false; } @@ -1786,18 +1798,32 @@ std::vector Config::do_compute_validator_set(const block::C return {}; // no validators? } nodes.reserve(count); + ValidatorSetPRNG gen{shard, cc_seqno}; // use zero seed (might use a non-trivial seed from ccv_conf in the future) if (is_mc) { - // simply take needed number of validators from the head of the list - // TODO: write a more clever validator list selection algorithm - // (if we really need one for the masterchain) - for (unsigned i = 0; i < count; i++) { - const auto& v = vset.list[i]; - nodes.emplace_back(v.pubkey, v.weight, v.adnl_addr); + if (ccv_conf.shuffle_mc_val) { + // shuffle mc validators from the head of the list + std::vector idx(count); + CHECK(idx.size() == count); + for (unsigned i = 0; i < count; i++) { + unsigned j = (unsigned)gen.next_ranged(i + 1); // number 0 .. i + CHECK(j <= i); + idx[i] = idx[j]; + idx[j] = i; + } + for (unsigned i = 0; i < count; i++) { + const auto& v = vset.list[idx[i]]; + nodes.emplace_back(v.pubkey, v.weight, v.adnl_addr); + } + } else { + // simply take needed number of validators from the head of the list + for (unsigned i = 0; i < count; i++) { + const auto& v = vset.list[i]; + nodes.emplace_back(v.pubkey, v.weight, v.adnl_addr); + } } return nodes; } // this is the "true" algorithm for generating shardchain validator subgroups - ValidatorSetPRNG gen{shard, cc_seqno}; // use zero seed (might use a non-trivial seed from ccv_conf in the future) std::vector> holes; holes.reserve(count); td::uint64 total_wt = vset.total_weight; diff --git a/crypto/block/mc-config.h b/crypto/block/mc-config.h index d0c51b5a..f51b4262 100644 --- a/crypto/block/mc-config.h +++ b/crypto/block/mc-config.h @@ -50,7 +50,7 @@ struct ValidatorDescr { : pubkey(_pubkey), weight(_weight), cum_weight(_cum_weight) { adnl_addr.set_zero(); } - bool operator<(td::uint64 wt_pos) const & { + bool operator<(td::uint64 wt_pos) const& { return cum_weight < wt_pos; } }; @@ -372,11 +372,14 @@ struct MsgPrices { struct CatchainValidatorsConfig { td::uint32 mc_cc_lifetime, shard_cc_lifetime, shard_val_lifetime, shard_val_num; - CatchainValidatorsConfig(td::uint32 mc_cc_lt_, td::uint32 sh_cc_lt_, td::uint32 sh_val_lt_, td::uint32 sh_val_num_) + bool shuffle_mc_val; + CatchainValidatorsConfig(td::uint32 mc_cc_lt_, td::uint32 sh_cc_lt_, td::uint32 sh_val_lt_, td::uint32 sh_val_num_, + bool shuffle_mc = false) : mc_cc_lifetime(mc_cc_lt_) , shard_cc_lifetime(sh_cc_lt_) , shard_val_lifetime(sh_val_lt_) - , shard_val_num(sh_val_num_) { + , shard_val_num(sh_val_num_) + , shuffle_mc_val(shuffle_mc) { } }; diff --git a/crypto/block/output-queue-merger.cpp b/crypto/block/output-queue-merger.cpp index 981f1f95..1084bb1a 100644 --- a/crypto/block/output-queue-merger.cpp +++ b/crypto/block/output-queue-merger.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "output-queue-merger.h" diff --git a/crypto/block/output-queue-merger.h b/crypto/block/output-queue-merger.h index 942ca7c8..bf3d8586 100644 --- a/crypto/block/output-queue-merger.h +++ b/crypto/block/output-queue-merger.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "ton/ton-types.h" diff --git a/crypto/block/transaction.cpp b/crypto/block/transaction.cpp index e04badb5..0e3ad5f2 100644 --- a/crypto/block/transaction.cpp +++ b/crypto/block/transaction.cpp @@ -607,7 +607,7 @@ bool Transaction::unpack_input_msg(bool ihr_delivered, const ActionPhaseConfig* return true; } -bool Transaction::prepare_storage_phase(const StoragePhaseConfig& cfg, bool force_collect) { +bool Transaction::prepare_storage_phase(const StoragePhaseConfig& cfg, bool force_collect, bool adjust_msg_value) { if (now < account.last_paid) { return false; } @@ -657,6 +657,9 @@ bool Transaction::prepare_storage_phase(const StoragePhaseConfig& cfg, bool forc } } } + if (adjust_msg_value && msg_balance_remaining.grams > balance.grams) { + msg_balance_remaining.grams = balance.grams; + } total_fees += res->fees_collected; storage_phase = std::move(res); return true; @@ -773,7 +776,7 @@ bool Transaction::compute_gas_limits(ComputePhase& cp, const ComputePhaseConfig& } else { // originally use only gas bought using remaining message balance // if the message is "accepted" by the smart contract, the gas limit will be set to gas_max - cp.gas_limit = cfg.gas_bought_for(msg_balance_remaining.grams); + cp.gas_limit = std::min(cfg.gas_bought_for(msg_balance_remaining.grams), cp.gas_max); if (!block::tlb::t_Message.is_internal(in_msg)) { // external messages carry no balance, give them some credit to check whether they are accepted cp.gas_credit = std::min(cfg.gas_credit, cp.gas_max); diff --git a/crypto/block/transaction.h b/crypto/block/transaction.h index 5214a1b6..e7191e07 100644 --- a/crypto/block/transaction.h +++ b/crypto/block/transaction.h @@ -65,10 +65,10 @@ struct NewOutMsg { NewOutMsg(ton::LogicalTime _lt, Ref _msg, Ref _trans) : lt(_lt), msg(std::move(_msg)), trans(std::move(_trans)) { } - bool operator<(const NewOutMsg& other) const & { + bool operator<(const NewOutMsg& other) const& { return lt < other.lt || (lt == other.lt && msg->get_hash() < other.msg->get_hash()); } - bool operator>(const NewOutMsg& other) const & { + bool operator>(const NewOutMsg& other) const& { return lt > other.lt || (lt == other.lt && other.msg->get_hash() < msg->get_hash()); } }; @@ -344,7 +344,7 @@ struct Transaction { Ref _inmsg = {}); bool unpack_input_msg(bool ihr_delivered, const ActionPhaseConfig* cfg); bool check_in_msg_state_hash(); - bool prepare_storage_phase(const StoragePhaseConfig& cfg, bool force_collect = true); + bool prepare_storage_phase(const StoragePhaseConfig& cfg, bool force_collect = true, bool adjust_msg_value = false); bool prepare_credit_phase(); bool compute_gas_limits(ComputePhase& cp, const ComputePhaseConfig& cfg); Ref prepare_vm_stack(ComputePhase& cp); diff --git a/crypto/common/AtomicRef.h b/crypto/common/AtomicRef.h index 91ad7334..e82bcda4 100644 --- a/crypto/common/AtomicRef.h +++ b/crypto/common/AtomicRef.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/common/bigexp.cpp b/crypto/common/bigexp.cpp index cdc7c778..365f0595 100644 --- a/crypto/common/bigexp.cpp +++ b/crypto/common/bigexp.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "bigexp.h" #include "td/utils/bits.h" diff --git a/crypto/common/bigexp.h b/crypto/common/bigexp.h index d58c8224..54dee48a 100644 --- a/crypto/common/bigexp.h +++ b/crypto/common/bigexp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/common/bigint.cpp b/crypto/common/bigint.cpp index 3229e681..41780fb9 100644 --- a/crypto/common/bigint.cpp +++ b/crypto/common/bigint.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "common/bigint.hpp" diff --git a/crypto/common/refcnt.cpp b/crypto/common/refcnt.cpp index 5b95c8f3..a90414f8 100644 --- a/crypto/common/refcnt.cpp +++ b/crypto/common/refcnt.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "refcnt.hpp" diff --git a/crypto/common/refcnt.hpp b/crypto/common/refcnt.hpp index 08a58412..7625ff7a 100644 --- a/crypto/common/refcnt.hpp +++ b/crypto/common/refcnt.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/ellcurve/Ed25519.cpp b/crypto/ellcurve/Ed25519.cpp index dca882cf..a38eb079 100644 --- a/crypto/ellcurve/Ed25519.cpp +++ b/crypto/ellcurve/Ed25519.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Ed25519.h" diff --git a/crypto/ellcurve/Fp25519.cpp b/crypto/ellcurve/Fp25519.cpp index 393da408..7b248f64 100644 --- a/crypto/ellcurve/Fp25519.cpp +++ b/crypto/ellcurve/Fp25519.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "ellcurve/Fp25519.h" diff --git a/crypto/ellcurve/Fp25519.h b/crypto/ellcurve/Fp25519.h index 3f17a540..b6b63be5 100644 --- a/crypto/ellcurve/Fp25519.h +++ b/crypto/ellcurve/Fp25519.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "common/refcnt.hpp" diff --git a/crypto/ellcurve/Montgomery.cpp b/crypto/ellcurve/Montgomery.cpp index c523f654..ed71910d 100644 --- a/crypto/ellcurve/Montgomery.cpp +++ b/crypto/ellcurve/Montgomery.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "ellcurve/Montgomery.h" diff --git a/crypto/ellcurve/Montgomery.h b/crypto/ellcurve/Montgomery.h index d40e8f8d..94d852c0 100644 --- a/crypto/ellcurve/Montgomery.h +++ b/crypto/ellcurve/Montgomery.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/ellcurve/TwEdwards.cpp b/crypto/ellcurve/TwEdwards.cpp index 6bcb42c2..eb131f70 100644 --- a/crypto/ellcurve/TwEdwards.cpp +++ b/crypto/ellcurve/TwEdwards.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "ellcurve/TwEdwards.h" #include diff --git a/crypto/ellcurve/TwEdwards.h b/crypto/ellcurve/TwEdwards.h index b226c291..c720ecca 100644 --- a/crypto/ellcurve/TwEdwards.h +++ b/crypto/ellcurve/TwEdwards.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/fift/Dictionary.cpp b/crypto/fift/Dictionary.cpp index 3298132a..34a4b246 100644 --- a/crypto/fift/Dictionary.cpp +++ b/crypto/fift/Dictionary.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Dictionary.h" diff --git a/crypto/fift/Dictionary.h b/crypto/fift/Dictionary.h index 34cdb832..4da390ca 100644 --- a/crypto/fift/Dictionary.h +++ b/crypto/fift/Dictionary.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/fift/Fift.cpp b/crypto/fift/Fift.cpp index 5a4439ef..a2feee59 100644 --- a/crypto/fift/Fift.cpp +++ b/crypto/fift/Fift.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Fift.h" diff --git a/crypto/fift/Fift.h b/crypto/fift/Fift.h index bd3c8023..a57eef0e 100644 --- a/crypto/fift/Fift.h +++ b/crypto/fift/Fift.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/fift/IntCtx.cpp b/crypto/fift/IntCtx.cpp index a091c049..d77a14a2 100644 --- a/crypto/fift/IntCtx.cpp +++ b/crypto/fift/IntCtx.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "IntCtx.h" diff --git a/crypto/fift/IntCtx.h b/crypto/fift/IntCtx.h index b2725cda..7d2e0967 100644 --- a/crypto/fift/IntCtx.h +++ b/crypto/fift/IntCtx.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/fift/SourceLookup.cpp b/crypto/fift/SourceLookup.cpp index 50cd8c31..cd80e314 100644 --- a/crypto/fift/SourceLookup.cpp +++ b/crypto/fift/SourceLookup.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "SourceLookup.h" diff --git a/crypto/fift/SourceLookup.h b/crypto/fift/SourceLookup.h index 7d51396c..816ad667 100644 --- a/crypto/fift/SourceLookup.h +++ b/crypto/fift/SourceLookup.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/fift/utils.cpp b/crypto/fift/utils.cpp index 3ed11c31..fc2b2753 100644 --- a/crypto/fift/utils.cpp +++ b/crypto/fift/utils.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "utils.h" #include "words.h" diff --git a/crypto/fift/utils.h b/crypto/fift/utils.h index 0dcc629f..11f1e4a3 100644 --- a/crypto/fift/utils.h +++ b/crypto/fift/utils.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/func/func.cpp b/crypto/func/func.cpp index 5b937c83..d3eaf160 100644 --- a/crypto/func/func.cpp +++ b/crypto/func/func.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "func.h" #include "parser/srcread.h" diff --git a/crypto/func/parse-func.cpp b/crypto/func/parse-func.cpp index 6e97cc39..3aad90ef 100644 --- a/crypto/func/parse-func.cpp +++ b/crypto/func/parse-func.cpp @@ -63,7 +63,7 @@ inline bool is_special_ident(sym_idx_t idx) { */ // TE ::= TA | TA -> TE -// TA ::= int | ... | cont | var | _ | () | ( TE { , TE } ) +// TA ::= int | ... | cont | var | _ | () | ( TE { , TE } ) | [ TE { , TE } ] TypeExpr* parse_type(Lexer& lex); TypeExpr* parse_type1(Lexer& lex) { @@ -113,7 +113,7 @@ TypeExpr* parse_type1(Lexer& lex) { return c == ')' ? TypeExpr::new_unit() : TypeExpr::new_tuple({}); } auto t1 = parse_type(lex); - if (lex.tp() != ',') { + if (lex.tp() == ')') { lex.expect(c); return t1; } @@ -346,7 +346,7 @@ Expr* parse_expr100(Lexer& lex, CodeBlob& code, bool nv) { return res; } Expr* res = parse_expr(lex, code, nv); - if (lex.tp() != ',') { + if (lex.tp() == ')') { lex.expect(clbr); return res; } diff --git a/crypto/func/unify-types.cpp b/crypto/func/unify-types.cpp index 0a101416..517299e9 100644 --- a/crypto/func/unify-types.cpp +++ b/crypto/func/unify-types.cpp @@ -334,7 +334,7 @@ std::string UnifyError::message() const { void check_width_compat(TypeExpr* te1, TypeExpr* te2) { if (te1->minw > te2->maxw || te2->minw > te1->maxw) { - std::ostringstream os{"cannot unify types of widths "}; + std::ostringstream os{"cannot unify types of widths ", std::ios_base::ate}; te1->show_width(os); os << " and "; te2->show_width(os); diff --git a/crypto/openssl/rand.cpp b/crypto/openssl/rand.cpp index 9e9c546d..57f5c05f 100644 --- a/crypto/openssl/rand.cpp +++ b/crypto/openssl/rand.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "openssl/rand.hpp" diff --git a/crypto/openssl/rand.hpp b/crypto/openssl/rand.hpp index 91064e07..6ead2be7 100644 --- a/crypto/openssl/rand.hpp +++ b/crypto/openssl/rand.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/openssl/residue.cpp b/crypto/openssl/residue.cpp index 809ccd5a..20c81e24 100644 --- a/crypto/openssl/residue.cpp +++ b/crypto/openssl/residue.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "residue.h" diff --git a/crypto/openssl/residue.h b/crypto/openssl/residue.h index 00670838..adea1de7 100644 --- a/crypto/openssl/residue.h +++ b/crypto/openssl/residue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "bignum.h" diff --git a/crypto/parser/lexer.cpp b/crypto/parser/lexer.cpp index d8029340..87c63c3f 100644 --- a/crypto/parser/lexer.cpp +++ b/crypto/parser/lexer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "lexer.h" #include "symtable.h" diff --git a/crypto/parser/lexer.h b/crypto/parser/lexer.h index 803560e1..12556e46 100644 --- a/crypto/parser/lexer.h +++ b/crypto/parser/lexer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "srcread.h" diff --git a/crypto/parser/symtable.cpp b/crypto/parser/symtable.cpp index 939bb29c..a8843da9 100644 --- a/crypto/parser/symtable.cpp +++ b/crypto/parser/symtable.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "symtable.h" #include diff --git a/crypto/parser/symtable.h b/crypto/parser/symtable.h index 88f683bd..81a828a8 100644 --- a/crypto/parser/symtable.h +++ b/crypto/parser/symtable.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "srcread.h" diff --git a/crypto/smartcont/CreateState.fif b/crypto/smartcont/CreateState.fif index 1022b26e..7866a840 100644 --- a/crypto/smartcont/CreateState.fif +++ b/crypto/smartcont/CreateState.fif @@ -142,12 +142,12 @@ variable special-dict { make-msg-fwd-prices 24 config! } : config.mc_fwd_prices! { make-msg-fwd-prices 25 config! } : config.fwd_prices! -// mc-cc-lifetime sh-cc-lifetime sh-val-lifetime sh-val-num -{ 4 0 reverse +// mc-cc-lifetime sh-cc-lifetime sh-val-lifetime sh-val-num mc-shuffle +{ 4 1 reverse } : make-catchain-params { make-catchain-params 28 config! } : config.catchain_params! -// round-candidates next-cand-delay-ms consensus-timeout-ms fast-attempts attempt-duration cc-max-deps max-block-size max-collated-size -{ 8 0 reverse } : make-vsession-params +// round-candidates next-cand-delay-ms consensus-timeout-ms fast-attempts attempt-duration cc-max-deps max-block-size max-collated-size new-cc-ids +{ 8 1 reverse } : make-vsession-params { make-vsession-params 29 config! } : config.consensus_params! // b [underload soft hard] -- b' diff --git a/crypto/smartcont/elector-code.fc b/crypto/smartcont/elector-code.fc index d80518ce..33436800 100644 --- a/crypto/smartcont/elector-code.fc +++ b/crypto/smartcont/elector-code.fc @@ -76,21 +76,22 @@ builder pack_complaint_status(cell complaint, cell voters, int vset_id, int weig .store_int(weight_remaining, 64); } -;; validator_complaint#ba validator_pubkey:uint256 description:^ComplaintDescr -;; severity:uint8 reward_addr:uint256 paid:Grams suggested_fine:Grams +;; validator_complaint#bc validator_pubkey:uint256 description:^ComplaintDescr +;; created_at:uint32 severity:uint8 reward_addr:uint256 paid:Grams suggested_fine:Grams ;; suggested_fine_part:uint32 = ValidatorComplaint; _ unpack_complaint(slice cs) inline_ref { - throw_unless(9, cs~load_int(8) == 0xba - 0x100); - var res = (cs~load_uint(256), cs~load_ref(), cs~load_uint(8), cs~load_uint(256), cs~load_grams(), cs~load_grams(), cs~load_uint(32)); + throw_unless(9, cs~load_int(8) == 0xbc - 0x100); + var res = (cs~load_uint(256), cs~load_ref(), cs~load_uint(32), cs~load_uint(8), cs~load_uint(256), cs~load_grams(), cs~load_grams(), cs~load_uint(32)); cs.end_parse(); return res; } -builder pack_complaint(int validator_pubkey, cell description, int severity, int reward_addr, int paid, int suggested_fine, int suggested_fine_part) inline_ref { +builder pack_complaint(int validator_pubkey, cell description, int created_at, int severity, int reward_addr, int paid, int suggested_fine, int suggested_fine_part) inline_ref { return begin_cell() - .store_int(0xba - 0x100, 8) + .store_int(0xbc - 0x100, 8) .store_uint(validator_pubkey, 256) .store_ref(description) + .store_uint(created_at, 32) .store_uint(severity, 8) .store_uint(reward_addr, 256) .store_grams(paid) @@ -459,8 +460,9 @@ int register_complaint(s_addr, complaint, msg_value) { if (expire_in <= 0) { ;; already expired return -4; } - var (validator_pubkey, description, severity, reward_addr, paid, suggested_fine, suggested_fine_part) = unpack_complaint(complaint); + var (validator_pubkey, description, created_at, severity, reward_addr, paid, suggested_fine, suggested_fine_part) = unpack_complaint(complaint); reward_addr = src_addr; + created_at = now(); ;; compute complaint storage/creation price var (deposit, bit_price, cell_price) = get_complaint_prices(); var (_, bits, refs) = slice_compute_data_size(complaint, 4096); @@ -470,7 +472,7 @@ int register_complaint(s_addr, complaint, msg_value) { return -5; } ;; re-pack modified complaint - cell complaint = pack_complaint(validator_pubkey, description, severity, reward_addr, paid, suggested_fine, suggested_fine_part).end_cell(); + cell complaint = pack_complaint(validator_pubkey, description, created_at, severity, reward_addr, paid, suggested_fine, suggested_fine_part).end_cell(); var (unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints) = unpack_past_election(fs); var (fs, f) = frozen_dict.udict_get?(256, validator_pubkey); ifnot (f) { ;; no such validator, cannot complain @@ -502,7 +504,7 @@ int register_complaint(s_addr, complaint, msg_value) { } (cell, cell, int) punish(credits, frozen, complaint) inline_ref { - var (validator_pubkey, description, severity, reward_addr, paid, suggested_fine, suggested_fine_part) = complaint.begin_parse().unpack_complaint(); + var (validator_pubkey, description, created_at, severity, reward_addr, paid, suggested_fine, suggested_fine_part) = complaint.begin_parse().unpack_complaint(); var (cs, f) = frozen.udict_get?(256, validator_pubkey); ifnot (f) { ;; no validator to punish @@ -1073,3 +1075,73 @@ int compute_returned_stake(int wallet_addr) method_id { var (val, f) = credits.udict_get?(256, wallet_addr); return f ? val~load_grams() : 0; } + +;; returns the list of past election ids +tuple past_election_ids() method_id { + var (elect, credits, past_elections, grams, active_id, active_hash) = load_data(); + var id = (1 << 32); + var list = null(); + do { + (id, var fs, var f) = past_elections.udict_get_prev?(32, id); + if (f) { + list = cons(id, list); + } + } until (~ f); + return list; +} + +tuple past_elections() method_id { + var (elect, credits, past_elections, grams, active_id, active_hash) = load_data(); + var id = (1 << 32); + var list = null(); + do { + (id, var fs, var found) = past_elections.udict_get_prev?(32, id); + if (found) { + var info = [unpack_past_election(fs)]; + list = cons(pair(id, info), list); + } + } until (~ found); + return list; +} + +_ complete_unpack_complaint(slice cs) inline_ref { + var (complaint, voters, vset_id, weight_remaining) = cs.unpack_complaint_status(); + var voters_list = null(); + var voter_id = (1 << 32); + do { + (voter_id, _, var f) = voters.udict_get_prev?(16, voter_id); + if (f) { + voters_list = cons(voter_id, voters_list); + } + } until (~ f); + return [[complaint.begin_parse().unpack_complaint()], voters_list, vset_id, weight_remaining]; +} + +cell get_past_complaints(int election_id) inline_ref { + var (elect, credits, past_elections, grams, active_id, active_hash) = load_data(); + var (fs, found?) = past_elections.udict_get?(32, election_id); + ifnot (found?) { + return null(); + } + var (unfreeze_at, stake_held, vset_hash, frozen_dict, total_stake, bonuses, complaints) = unpack_past_election(fs); + return complaints; +} + +_ show_complaint(int election_id, int chash) method_id { + var complaints = get_past_complaints(election_id); + var (cs, found) = complaints.udict_get?(256, chash); + return found ? complete_unpack_complaint(cs) : null(); +} + +tuple list_complaints(int election_id) method_id { + var complaints = get_past_complaints(election_id); + int id = (1 << 255) + ((1 << 255) - 1); + var list = null(); + do { + (id, var cs, var found?) = complaints.udict_get_prev?(256, id); + if (found?) { + list = cons(pair(id, complete_unpack_complaint(cs)), list); + } + } until (~ found?); + return list; +} diff --git a/crypto/smartcont/gen-zerostate.fif b/crypto/smartcont/gen-zerostate.fif index 1dfe8411..d98c7a26 100644 --- a/crypto/smartcont/gen-zerostate.fif +++ b/crypto/smartcont/gen-zerostate.fif @@ -25,7 +25,8 @@ hashu dup =: basestate0_rhash ."root hash=" dup 64x. space 256 u>B dup B>base64url type cr "basestate0" +suffix +".rhash" B>file -basestate0_rhash basestate0_fhash now 0 2 32 0 add-std-workchain +// root-hash file-hash start-at actual-min-split min-split-depth max-split-depth wc-id +basestate0_rhash basestate0_fhash now 0 4 8 0 add-std-workchain config.workchains! // SmartContract #1 (Simple wallet) @@ -157,7 +158,7 @@ Masterchain swap * */ // version capabilities -1 capCreateStats capBounceMsgBody or capReportVersion or capShortDeque or config.version! +1 capCreateStats capBounceMsgBody or capReportVersion or capShortDequeue or config.version! // max-validators max-main-validators min-validators // 9 4 1 config.validator_num! 1000 100 13 config.validator_num! @@ -183,15 +184,15 @@ config.special! // lump_price bit_price cell_price ihr_factor first_frac next_frac 1000000 1000 sg* 100000 sg* 3/2 sg*/ 1/3 sg*/ 1/3 sg*/ config.fwd_prices! 10000000 10000 sg* 1000000 sg* 3/2 sg*/ 1/3 sg*/ 1/3 sg*/ config.mc_fwd_prices! -// mc-cc-lifetime sh-cc-lifetime sh-val-lifetime sh-val-num -250 250 1000 7 config.catchain_params! -// round-candidates next-cand-delay-ms consensus-timeout-ms fast-attempts attempt-duration cc-max-deps max-block-size max-collated-size -3 2000 16000 3 8 4 2 *Mi 2 *Mi config.consensus_params! +// mc-cc-lifetime sh-cc-lifetime sh-val-lifetime sh-val-num mc-shuffle +250 250 1000 7 true config.catchain_params! +// round-candidates next-cand-delay-ms consensus-timeout-ms fast-attempts attempt-duration cc-max-deps max-block-size max-collated-size new-cc-ids +3 2000 16000 3 8 4 2 *Mi 2 *Mi true config.consensus_params! -128 *Ki 512 *Ki 1 *Mi triple // [ underload soft hard ] : block bytes limit -100000 500000 1000000 triple // gas limits -1000 5000 10000 triple // lt limits +128 *Ki 512 *Ki 1 *Mi triple // [ underload soft hard ] : block bytes limit +2000000 10000000 20000000 triple // gas limits +1000 5000 10000 triple // lt limits triple dup untriple config.mc_block_limits! untriple config.block_limits! diff --git a/crypto/test/Ed25519.cpp b/crypto/test/Ed25519.cpp index 5c263acf..45e8891f 100644 --- a/crypto/test/Ed25519.cpp +++ b/crypto/test/Ed25519.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "crypto/Ed25519.h" #include "td/utils/logging.h" diff --git a/crypto/test/fift.cpp b/crypto/test/fift.cpp index 694dc7a8..466ad4e7 100644 --- a/crypto/test/fift.cpp +++ b/crypto/test/fift.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "fift/words.h" #include "fift/Fift.h" diff --git a/crypto/test/test-ed25519-crypto.cpp b/crypto/test/test-ed25519-crypto.cpp index 85ae5149..3e3dab89 100644 --- a/crypto/test/test-ed25519-crypto.cpp +++ b/crypto/test/test-ed25519-crypto.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include #include diff --git a/crypto/tl/tlbc-aux.h b/crypto/tl/tlbc-aux.h index 54f72bcc..97e5082e 100644 --- a/crypto/tl/tlbc-aux.h +++ b/crypto/tl/tlbc-aux.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/tl/tlbc-gen-cpp.h b/crypto/tl/tlbc-gen-cpp.h index c84d825d..351f9257 100644 --- a/crypto/tl/tlbc-gen-cpp.h +++ b/crypto/tl/tlbc-gen-cpp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/arithops.h b/crypto/vm/arithops.h index 1395d8b4..63adcf7c 100644 --- a/crypto/vm/arithops.h +++ b/crypto/vm/arithops.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/atom.cpp b/crypto/vm/atom.cpp index 1b654fa1..a7d5486a 100644 --- a/crypto/vm/atom.cpp +++ b/crypto/vm/atom.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "atom.h" diff --git a/crypto/vm/atom.h b/crypto/vm/atom.h index 08e40632..9946a9ff 100644 --- a/crypto/vm/atom.h +++ b/crypto/vm/atom.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/vm/box.hpp b/crypto/vm/box.hpp index a448c5d8..68b131ce 100644 --- a/crypto/vm/box.hpp +++ b/crypto/vm/box.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/stack.hpp" diff --git a/crypto/vm/cellparse.hpp b/crypto/vm/cellparse.hpp index 9e411632..5ca3d290 100644 --- a/crypto/vm/cellparse.hpp +++ b/crypto/vm/cellparse.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells.h" diff --git a/crypto/vm/cells/Cell.cpp b/crypto/vm/cells/Cell.cpp index d9e392ed..1c20ba41 100644 --- a/crypto/vm/cells/Cell.cpp +++ b/crypto/vm/cells/Cell.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/cells/Cell.h" #include "vm/cells/VirtualCell.h" diff --git a/crypto/vm/cells/Cell.h b/crypto/vm/cells/Cell.h index 2f5d2cc7..03f73b14 100644 --- a/crypto/vm/cells/Cell.h +++ b/crypto/vm/cells/Cell.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "common/refcnt.hpp" diff --git a/crypto/vm/cells/CellHash.cpp b/crypto/vm/cells/CellHash.cpp index f801e2e4..038e9a9a 100644 --- a/crypto/vm/cells/CellHash.cpp +++ b/crypto/vm/cells/CellHash.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/cells/CellHash.h" diff --git a/crypto/vm/cells/CellHash.h b/crypto/vm/cells/CellHash.h index 0b5c122d..2cbc0e8b 100644 --- a/crypto/vm/cells/CellHash.h +++ b/crypto/vm/cells/CellHash.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/CellTraits.h" diff --git a/crypto/vm/cells/CellTraits.cpp b/crypto/vm/cells/CellTraits.cpp index b0ce7381..a619d86c 100644 --- a/crypto/vm/cells/CellTraits.cpp +++ b/crypto/vm/cells/CellTraits.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/cells/CellTraits.h" diff --git a/crypto/vm/cells/CellTraits.h b/crypto/vm/cells/CellTraits.h index 9e55dd67..c994e47e 100644 --- a/crypto/vm/cells/CellTraits.h +++ b/crypto/vm/cells/CellTraits.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/int_types.h" diff --git a/crypto/vm/cells/CellUsageTree.cpp b/crypto/vm/cells/CellUsageTree.cpp index 117d1c32..3f43ec6b 100644 --- a/crypto/vm/cells/CellUsageTree.cpp +++ b/crypto/vm/cells/CellUsageTree.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/cells/CellUsageTree.h" diff --git a/crypto/vm/cells/CellUsageTree.h b/crypto/vm/cells/CellUsageTree.h index b3383984..150dd2bd 100644 --- a/crypto/vm/cells/CellUsageTree.h +++ b/crypto/vm/cells/CellUsageTree.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/cells/CellWithStorage.h b/crypto/vm/cells/CellWithStorage.h index b9841e1c..1830c37d 100644 --- a/crypto/vm/cells/CellWithStorage.h +++ b/crypto/vm/cells/CellWithStorage.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/cells/DataCell.h b/crypto/vm/cells/DataCell.h index 416d1835..bec8b033 100644 --- a/crypto/vm/cells/DataCell.h +++ b/crypto/vm/cells/DataCell.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/Cell.h" diff --git a/crypto/vm/cells/ExtCell.h b/crypto/vm/cells/ExtCell.h index 72490677..401bb048 100644 --- a/crypto/vm/cells/ExtCell.h +++ b/crypto/vm/cells/ExtCell.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/Cell.h" diff --git a/crypto/vm/cells/LevelMask.cpp b/crypto/vm/cells/LevelMask.cpp index 0a6dfb36..46d73f0d 100644 --- a/crypto/vm/cells/LevelMask.cpp +++ b/crypto/vm/cells/LevelMask.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "LevelMask.h" diff --git a/crypto/vm/cells/LevelMask.h b/crypto/vm/cells/LevelMask.h index 144fe3b4..35d03d93 100644 --- a/crypto/vm/cells/LevelMask.h +++ b/crypto/vm/cells/LevelMask.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/cells/MerkleProof.cpp b/crypto/vm/cells/MerkleProof.cpp index 105c74c1..a1c4131f 100644 --- a/crypto/vm/cells/MerkleProof.cpp +++ b/crypto/vm/cells/MerkleProof.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/cells/MerkleProof.h" #include "vm/cells/CellBuilder.h" diff --git a/crypto/vm/cells/MerkleProof.h b/crypto/vm/cells/MerkleProof.h index 41788c5f..cb50f1d0 100644 --- a/crypto/vm/cells/MerkleProof.h +++ b/crypto/vm/cells/MerkleProof.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/Cell.h" diff --git a/crypto/vm/cells/MerkleUpdate.cpp b/crypto/vm/cells/MerkleUpdate.cpp index d75f1667..3cc656c0 100644 --- a/crypto/vm/cells/MerkleUpdate.cpp +++ b/crypto/vm/cells/MerkleUpdate.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/cells/MerkleUpdate.h" #include "vm/cells/MerkleProof.h" diff --git a/crypto/vm/cells/MerkleUpdate.h b/crypto/vm/cells/MerkleUpdate.h index 2978ecc6..41b4c138 100644 --- a/crypto/vm/cells/MerkleUpdate.h +++ b/crypto/vm/cells/MerkleUpdate.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/Cell.h" diff --git a/crypto/vm/cells/PrunnedCell.h b/crypto/vm/cells/PrunnedCell.h index caacf1f3..e8434ae4 100644 --- a/crypto/vm/cells/PrunnedCell.h +++ b/crypto/vm/cells/PrunnedCell.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/CellWithStorage.h" diff --git a/crypto/vm/cells/UsageCell.h b/crypto/vm/cells/UsageCell.h index 09defae2..bf15bb56 100644 --- a/crypto/vm/cells/UsageCell.h +++ b/crypto/vm/cells/UsageCell.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/Cell.h" diff --git a/crypto/vm/cells/VirtualCell.h b/crypto/vm/cells/VirtualCell.h index 8b6a1ac4..02abc1c8 100644 --- a/crypto/vm/cells/VirtualCell.h +++ b/crypto/vm/cells/VirtualCell.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells/Cell.h" diff --git a/crypto/vm/cells/VirtualizationParameters.h b/crypto/vm/cells/VirtualizationParameters.h index b2a64ffb..b83e87d2 100644 --- a/crypto/vm/cells/VirtualizationParameters.h +++ b/crypto/vm/cells/VirtualizationParameters.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/cellslice.h b/crypto/vm/cellslice.h index 4fe4dcc8..8546e1ce 100644 --- a/crypto/vm/cellslice.h +++ b/crypto/vm/cellslice.h @@ -14,6 +14,6 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/cells/CellSlice.h" diff --git a/crypto/vm/contops.h b/crypto/vm/contops.h index 5919b07e..e86a303c 100644 --- a/crypto/vm/contops.h +++ b/crypto/vm/contops.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/db/BlobView.cpp b/crypto/vm/db/BlobView.cpp index 2f0ecb0f..1a879d00 100644 --- a/crypto/vm/db/BlobView.cpp +++ b/crypto/vm/db/BlobView.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/db/BlobView.h" diff --git a/crypto/vm/db/BlobView.h b/crypto/vm/db/BlobView.h index 8ba6f215..113ccf2e 100644 --- a/crypto/vm/db/BlobView.h +++ b/crypto/vm/db/BlobView.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/buffer.h" diff --git a/crypto/vm/db/CellHashTable.h b/crypto/vm/db/CellHashTable.h index 057c9070..acb3b3fc 100644 --- a/crypto/vm/db/CellHashTable.h +++ b/crypto/vm/db/CellHashTable.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/db/CellStorage.cpp b/crypto/vm/db/CellStorage.cpp index 317fead3..a1b7365b 100644 --- a/crypto/vm/db/CellStorage.cpp +++ b/crypto/vm/db/CellStorage.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/db/CellStorage.h" #include "vm/db/DynamicBagOfCellsDb.h" diff --git a/crypto/vm/db/CellStorage.h b/crypto/vm/db/CellStorage.h index 26e02330..b705b531 100644 --- a/crypto/vm/db/CellStorage.h +++ b/crypto/vm/db/CellStorage.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/db/KeyValue.h" diff --git a/crypto/vm/db/DynamicBagOfCellsDb.cpp b/crypto/vm/db/DynamicBagOfCellsDb.cpp index 732c1691..5fcc3923 100644 --- a/crypto/vm/db/DynamicBagOfCellsDb.cpp +++ b/crypto/vm/db/DynamicBagOfCellsDb.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/db/DynamicBagOfCellsDb.h" #include "vm/db/CellStorage.h" diff --git a/crypto/vm/db/DynamicBagOfCellsDb.h b/crypto/vm/db/DynamicBagOfCellsDb.h index 54055a25..67d92ecf 100644 --- a/crypto/vm/db/DynamicBagOfCellsDb.h +++ b/crypto/vm/db/DynamicBagOfCellsDb.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells.h" diff --git a/crypto/vm/db/StaticBagOfCellsDb.cpp b/crypto/vm/db/StaticBagOfCellsDb.cpp index b69b917d..88291575 100644 --- a/crypto/vm/db/StaticBagOfCellsDb.cpp +++ b/crypto/vm/db/StaticBagOfCellsDb.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/db/StaticBagOfCellsDb.h" diff --git a/crypto/vm/db/StaticBagOfCellsDb.h b/crypto/vm/db/StaticBagOfCellsDb.h index 4a129fb7..124c868a 100644 --- a/crypto/vm/db/StaticBagOfCellsDb.h +++ b/crypto/vm/db/StaticBagOfCellsDb.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/db/TonDb.cpp b/crypto/vm/db/TonDb.cpp index f478c992..68f677a1 100644 --- a/crypto/vm/db/TonDb.cpp +++ b/crypto/vm/db/TonDb.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/db/TonDb.h" diff --git a/crypto/vm/db/TonDb.h b/crypto/vm/db/TonDb.h index 2f4ba090..dfce3110 100644 --- a/crypto/vm/db/TonDb.h +++ b/crypto/vm/db/TonDb.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cellslice.h" diff --git a/crypto/vm/dictops.h b/crypto/vm/dictops.h index d555cf7a..7d46213f 100644 --- a/crypto/vm/dictops.h +++ b/crypto/vm/dictops.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/dispatch.cpp b/crypto/vm/dispatch.cpp index 741982dc..53999c7b 100644 --- a/crypto/vm/dispatch.cpp +++ b/crypto/vm/dispatch.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "vm/dispatch.h" #include "vm/excno.hpp" diff --git a/crypto/vm/dispatch.h b/crypto/vm/dispatch.h index 509ecfca..fde0890f 100644 --- a/crypto/vm/dispatch.h +++ b/crypto/vm/dispatch.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/crypto/vm/fmt.hpp b/crypto/vm/fmt.hpp index 13096fbe..dff7290d 100644 --- a/crypto/vm/fmt.hpp +++ b/crypto/vm/fmt.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "common/refint.h" diff --git a/crypto/vm/opctable.h b/crypto/vm/opctable.h index d441fd78..f9ea7023 100644 --- a/crypto/vm/opctable.h +++ b/crypto/vm/opctable.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/dispatch.h" diff --git a/crypto/vm/stackops.h b/crypto/vm/stackops.h index 7ae940d3..27921a55 100644 --- a/crypto/vm/stackops.h +++ b/crypto/vm/stackops.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/tonops.h b/crypto/vm/tonops.h index c2809e91..5b3e14d9 100644 --- a/crypto/vm/tonops.h +++ b/crypto/vm/tonops.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/crypto/vm/tupleops.h b/crypto/vm/tupleops.h index cef8a0f4..f7d48959 100644 --- a/crypto/vm/tupleops.h +++ b/crypto/vm/tupleops.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/dht/dht-node.cpp b/dht/dht-node.cpp index f181ca86..2b366ab3 100644 --- a/dht/dht-node.cpp +++ b/dht/dht-node.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "dht-node.hpp" #include "keys/encryptor.h" diff --git a/dht/dht-node.hpp b/dht/dht-node.hpp index c34b0d01..03f8d134 100644 --- a/dht/dht-node.hpp +++ b/dht/dht-node.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/dht/dht-types.cpp b/dht/dht-types.cpp index 052f9305..89949bc1 100644 --- a/dht/dht-types.cpp +++ b/dht/dht-types.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "dht-types.h" #include "td/utils/Random.h" diff --git a/dht/dht-types.h b/dht/dht-types.h index 28bef5ce..75efee55 100644 --- a/dht/dht-types.h +++ b/dht/dht-types.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/dht/test/dht-test-ping.cpp b/dht/test/dht-test-ping.cpp index d51b34bb..669840f5 100644 --- a/dht/test/dht-test-ping.cpp +++ b/dht/test/dht-test-ping.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl-network-manager.h" #include "adnl/adnl-peer-table.h" diff --git a/example/android/native-lib.cpp b/example/android/native-lib.cpp index 26c8b5ef..5e079c04 100644 --- a/example/android/native-lib.cpp +++ b/example/android/native-lib.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include #include diff --git a/example/cpp/tonjson_example.cpp b/example/cpp/tonjson_example.cpp index c60d9fd0..a2ca01e8 100644 --- a/example/cpp/tonjson_example.cpp +++ b/example/cpp/tonjson_example.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include #include diff --git a/fec/fec.cpp b/fec/fec.cpp index 2fe360f5..b194a173 100644 --- a/fec/fec.cpp +++ b/fec/fec.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "fec.h" #include "td/utils/overloaded.h" diff --git a/fec/fec.h b/fec/fec.h index f7f37744..89bc12a2 100644 --- a/fec/fec.h +++ b/fec/fec.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/keyring/keyring.h b/keyring/keyring.h index be90ed79..044d8d29 100644 --- a/keyring/keyring.h +++ b/keyring/keyring.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/keyring/keyring.hpp b/keyring/keyring.hpp index 8493aef0..fc67bd0f 100644 --- a/keyring/keyring.hpp +++ b/keyring/keyring.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/keys/encryptor.cpp b/keys/encryptor.cpp index 9f7989e7..0b93d36f 100644 --- a/keys/encryptor.cpp +++ b/keys/encryptor.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/crypto.h" #include "td/utils/overloaded.h" diff --git a/keys/encryptor.h b/keys/encryptor.h index 22e3b30e..3035a0ce 100644 --- a/keys/encryptor.h +++ b/keys/encryptor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/keys/encryptor.hpp b/keys/encryptor.hpp index a07f6355..dbe88239 100644 --- a/keys/encryptor.hpp +++ b/keys/encryptor.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/keys/keys.cpp b/keys/keys.cpp index 97814cb3..7d6c0c2c 100644 --- a/keys/keys.cpp +++ b/keys/keys.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "keys.hpp" #include "auto/tl/ton_api.hpp" diff --git a/keys/keys.hpp b/keys/keys.hpp index 9710d9f4..cf883bbe 100644 --- a/keys/keys.hpp +++ b/keys/keys.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/lite-client/lite-client.cpp b/lite-client/lite-client.cpp index 70755c94..f1f90f42 100644 --- a/lite-client/lite-client.cpp +++ b/lite-client/lite-client.cpp @@ -156,7 +156,7 @@ bool TestNode::envelope_send_query(td::BufferSlice query, td::Promise R) mutable { + [SelfId = actor_id(this), promise = std::move(promise)](td::Result R) mutable { if (R.is_error()) { auto err = R.move_as_error(); LOG(ERROR) << "failed query: " << err; @@ -296,7 +296,7 @@ bool TestNode::dump_cached_cell(td::Slice hash_pfx, td::Slice type_name) { bool TestNode::get_server_time() { auto b = ton::serialize_tl_object(ton::create_tl_object(), true); - return envelope_send_query(std::move(b), [&, Self = actor_id(this) ](td::Result res)->void { + return envelope_send_query(std::move(b), [&, Self = actor_id(this)](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot get server time"; return; @@ -315,7 +315,7 @@ bool TestNode::get_server_time() { bool TestNode::get_server_version(int mode) { auto b = ton::serialize_tl_object(ton::create_tl_object(), true); - return envelope_send_query(std::move(b), [ Self = actor_id(this), mode ](td::Result res) { + return envelope_send_query(std::move(b), [Self = actor_id(this), mode](td::Result res) { td::actor::send_closure_later(Self, &TestNode::got_server_version, std::move(res), mode); }); }; @@ -363,7 +363,7 @@ bool TestNode::get_server_mc_block_id() { int mode = (server_capabilities_ & 2) ? 0 : -1; if (mode < 0) { auto b = ton::serialize_tl_object(ton::create_tl_object(), true); - return envelope_send_query(std::move(b), [Self = actor_id(this)](td::Result res)->void { + return envelope_send_query(std::move(b), [Self = actor_id(this)](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot get masterchain info from server"; return; @@ -383,7 +383,7 @@ bool TestNode::get_server_mc_block_id() { } else { auto b = ton::serialize_tl_object(ton::create_tl_object(mode), true); - return envelope_send_query(std::move(b), [ Self = actor_id(this), mode ](td::Result res)->void { + return envelope_send_query(std::move(b), [Self = actor_id(this), mode](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot get extended masterchain info from server"; return; @@ -456,7 +456,7 @@ void TestNode::got_server_mc_block_id_ext(ton::BlockIdExt blkid, ton::ZeroStateI bool TestNode::request_block(ton::BlockIdExt blkid) { auto b = ton::serialize_tl_object( ton::create_tl_object(ton::create_tl_lite_block_id(blkid)), true); - return envelope_send_query(std::move(b), [ Self = actor_id(this), blkid ](td::Result res)->void { + return envelope_send_query(std::move(b), [Self = actor_id(this), blkid](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot obtain block " << blkid.to_str() << " from server"; return; @@ -481,7 +481,7 @@ bool TestNode::request_block(ton::BlockIdExt blkid) { bool TestNode::request_state(ton::BlockIdExt blkid) { auto b = ton::serialize_tl_object( ton::create_tl_object(ton::create_tl_lite_block_id(blkid)), true); - return envelope_send_query(std::move(b), [ Self = actor_id(this), blkid ](td::Result res)->void { + return envelope_send_query(std::move(b), [Self = actor_id(this), blkid](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot obtain state " << blkid.to_str() << " from server"; return; @@ -1112,21 +1112,21 @@ bool TestNode::get_account_state(ton::WorkchainId workchain, ton::StdSmcAddress true); LOG(INFO) << "requesting account state for " << workchain << ":" << addr.to_hex() << " with respect to " << ref_blkid.to_str() << " with savefile `" << filename << "` and mode " << mode; - return envelope_send_query(std::move(b), [ Self = actor_id(this), workchain, addr, ref_blkid, filename, - mode ](td::Result R) { - if (R.is_error()) { - return; - } - auto F = ton::fetch_tl_object(R.move_as_ok(), true); - if (F.is_error()) { - LOG(ERROR) << "cannot parse answer to liteServer.getAccountState"; - } else { - auto f = F.move_as_ok(); - td::actor::send_closure_later(Self, &TestNode::got_account_state, ref_blkid, ton::create_block_id(f->id_), - ton::create_block_id(f->shardblk_), std::move(f->shard_proof_), - std::move(f->proof_), std::move(f->state_), workchain, addr, filename, mode); - } - }); + return envelope_send_query( + std::move(b), [Self = actor_id(this), workchain, addr, ref_blkid, filename, mode](td::Result R) { + if (R.is_error()) { + return; + } + auto F = ton::fetch_tl_object(R.move_as_ok(), true); + if (F.is_error()) { + LOG(ERROR) << "cannot parse answer to liteServer.getAccountState"; + } else { + auto f = F.move_as_ok(); + td::actor::send_closure_later(Self, &TestNode::got_account_state, ref_blkid, ton::create_block_id(f->id_), + ton::create_block_id(f->shardblk_), std::move(f->shard_proof_), + std::move(f->proof_), std::move(f->state_), workchain, addr, filename, mode); + } + }); } td::int64 TestNode::compute_method_id(std::string method) { @@ -1186,27 +1186,26 @@ bool TestNode::start_run_method(ton::WorkchainId workchain, ton::StdSmcAddress a true); LOG(INFO) << "requesting account state for " << workchain << ":" << addr.to_hex() << " with respect to " << ref_blkid.to_str() << " to run method " << method_name << " with " << params.size() << " parameters"; - return envelope_send_query(std::move(b), [ - Self = actor_id(this), workchain, addr, ref_blkid, method_name, params = std::move(params), - promise = std::move(promise) - ](td::Result R) mutable { - if (R.is_error()) { - promise.set_error(R.move_as_error()); - return; - } - auto F = ton::fetch_tl_object(R.move_as_ok(), true); - if (F.is_error()) { - LOG(ERROR) << "cannot parse answer to liteServer.getAccountState"; - promise.set_error(td::Status::Error("cannot parse answer to liteServer.getAccountState")); - } else { - auto f = F.move_as_ok(); - td::actor::send_closure_later(Self, &TestNode::run_smc_method, 0, ref_blkid, ton::create_block_id(f->id_), - ton::create_block_id(f->shardblk_), std::move(f->shard_proof_), - std::move(f->proof_), std::move(f->state_), workchain, addr, method_name, - std::move(params), td::BufferSlice(), td::BufferSlice(), td::BufferSlice(), - -0x10000, std::move(promise)); - } - }); + return envelope_send_query( + std::move(b), [Self = actor_id(this), workchain, addr, ref_blkid, method_name, params = std::move(params), + promise = std::move(promise)](td::Result R) mutable { + if (R.is_error()) { + promise.set_error(R.move_as_error()); + return; + } + auto F = ton::fetch_tl_object(R.move_as_ok(), true); + if (F.is_error()) { + LOG(ERROR) << "cannot parse answer to liteServer.getAccountState"; + promise.set_error(td::Status::Error("cannot parse answer to liteServer.getAccountState")); + } else { + auto f = F.move_as_ok(); + td::actor::send_closure_later(Self, &TestNode::run_smc_method, 0, ref_blkid, ton::create_block_id(f->id_), + ton::create_block_id(f->shardblk_), std::move(f->shard_proof_), + std::move(f->proof_), std::move(f->state_), workchain, addr, method_name, + std::move(params), td::BufferSlice(), td::BufferSlice(), td::BufferSlice(), + -0x10000, std::move(promise)); + } + }); } else { td::int64 method_id = compute_method_id(method_name); // set serialization limits @@ -1229,10 +1228,9 @@ bool TestNode::start_run_method(ton::WorkchainId workchain, ton::StdSmcAddress a LOG(INFO) << "requesting remote get-method execution for " << workchain << ":" << addr.to_hex() << " with respect to " << ref_blkid.to_str() << " to run method " << method_name << " with " << params.size() << " parameters"; - return envelope_send_query(std::move(b), [ - Self = actor_id(this), workchain, addr, ref_blkid, method_name, mode, params = std::move(params), - promise = std::move(promise) - ](td::Result R) mutable { + return envelope_send_query(std::move(b), [Self = actor_id(this), workchain, addr, ref_blkid, method_name, mode, + params = std::move(params), + promise = std::move(promise)](td::Result R) mutable { if (R.is_error()) { promise.set_error(R.move_as_error()); return; @@ -1503,7 +1501,7 @@ bool TestNode::get_one_transaction(ton::BlockIdExt blkid, ton::WorkchainId workc LOG(INFO) << "requesting transaction " << lt << " of " << workchain << ":" << addr.to_hex() << " from block " << blkid.to_str(); return envelope_send_query( - std::move(b), [ Self = actor_id(this), workchain, addr, lt, blkid, dump ](td::Result R)->void { + std::move(b), [Self = actor_id(this), workchain, addr, lt, blkid, dump](td::Result R) -> void { if (R.is_error()) { return; } @@ -1529,7 +1527,7 @@ bool TestNode::get_last_transactions(ton::WorkchainId workchain, ton::StdSmcAddr LOG(INFO) << "requesting " << count << " last transactions from " << lt << ":" << hash.to_hex() << " of " << workchain << ":" << addr.to_hex(); return envelope_send_query( - std::move(b), [ Self = actor_id(this), workchain, addr, lt, hash, count, dump ](td::Result R) { + std::move(b), [Self = actor_id(this), workchain, addr, lt, hash, count, dump](td::Result R) { if (R.is_error()) { return; } @@ -1649,8 +1647,8 @@ void TestNode::run_smc_method(int mode, ton::BlockIdExt ref_blk, ton::BlockIdExt std::vector params, td::BufferSlice remote_c7, td::BufferSlice remote_libs, td::BufferSlice remote_result, int remote_exit_code, td::Promise> promise) { - LOG(INFO) << "got (partial) account state with mode=" << mode << " for " << workchain << ":" << addr.to_hex() - << " with respect to blocks " << blk.to_str() + LOG(INFO) << "got (partial) account state (" << state.size() << " bytes) with mode=" << mode << " for " << workchain + << ":" << addr.to_hex() << " with respect to blocks " << blk.to_str() << (shard_blk == blk ? "" : std::string{" and "} + shard_blk.to_str()); auto out = td::TerminalIO::out(); try { @@ -2077,7 +2075,7 @@ bool TestNode::get_block_transactions(ton::BlockIdExt blkid, int mode, unsigned true); LOG(INFO) << "requesting " << count << " transactions from block " << blkid.to_str() << " starting from account " << acc_addr.to_hex() << " lt " << lt; - return envelope_send_query(std::move(b), [ Self = actor_id(this), mode ](td::Result R) { + return envelope_send_query(std::move(b), [Self = actor_id(this), mode](td::Result R) { if (R.is_error()) { return; } @@ -2125,7 +2123,7 @@ bool TestNode::get_all_shards(std::string filename, bool use_last, ton::BlockIdE auto b = ton::serialize_tl_object( ton::create_tl_object(ton::create_tl_lite_block_id(blkid)), true); LOG(INFO) << "requesting recent shard configuration"; - return envelope_send_query(std::move(b), [ Self = actor_id(this), filename ](td::Result R)->void { + return envelope_send_query(std::move(b), [Self = actor_id(this), filename](td::Result R) -> void { if (R.is_error()) { return; } @@ -2224,9 +2222,8 @@ bool TestNode::get_config_params(ton::BlockIdExt blkid, td::Promise do true); LOG(INFO) << "requesting " << params.size() << " configuration parameters with respect to masterchain block " << blkid.to_str(); - return envelope_send_query(std::move(b), [ - Self = actor_id(this), mode, filename, blkid, params = std::move(params), do_after = std::move(do_after) - ](td::Result R) mutable { + return envelope_send_query(std::move(b), [Self = actor_id(this), mode, filename, blkid, params = std::move(params), + do_after = std::move(do_after)](td::Result R) mutable { if (R.is_error()) { do_after.set_error(R.move_as_error()); return; @@ -2355,7 +2352,7 @@ bool TestNode::get_block(ton::BlockIdExt blkid, bool dump) { auto b = ton::serialize_tl_object( ton::create_tl_object(ton::create_tl_lite_block_id(blkid)), true); return envelope_send_query( - std::move(b), [ Self = actor_id(this), blkid, dump ](td::Result res)->void { + std::move(b), [Self = actor_id(this), blkid, dump](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot obtain block " << blkid.to_str() << " from server : " << res.move_as_error().to_string(); @@ -2384,7 +2381,7 @@ bool TestNode::get_state(ton::BlockIdExt blkid, bool dump) { auto b = ton::serialize_tl_object( ton::create_tl_object(ton::create_tl_lite_block_id(blkid)), true); return envelope_send_query( - std::move(b), [ Self = actor_id(this), blkid, dump ](td::Result res)->void { + std::move(b), [Self = actor_id(this), blkid, dump](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot obtain state " << blkid.to_str() << " from server : " << res.move_as_error().to_string(); @@ -2524,7 +2521,7 @@ bool TestNode::get_block_header(ton::BlockIdExt blkid, int mode) { LOG(INFO) << "got block header request for " << blkid.to_str() << " with mode " << mode; auto b = ton::serialize_tl_object( ton::create_tl_object(ton::create_tl_lite_block_id(blkid), mode), true); - return envelope_send_query(std::move(b), [ Self = actor_id(this), blkid ](td::Result res)->void { + return envelope_send_query(std::move(b), [Self = actor_id(this), blkid](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot obtain block header for " << blkid.to_str() << " from server : " << res.move_as_error().to_string(); @@ -2555,7 +2552,7 @@ bool TestNode::lookup_block(ton::ShardIdFull shard, int mode, td::uint64 arg) { mode, ton::create_tl_lite_block_id_simple(id), arg, (td::uint32)arg), true); return envelope_send_query( - std::move(b), [ Self = actor_id(this), id, mode, arg ](td::Result res)->void { + std::move(b), [Self = actor_id(this), id, mode, arg](td::Result res) -> void { if (res.is_error()) { LOG(ERROR) << "cannot look up block header for " << id.to_str() << " with mode " << mode << " and argument " << arg << " from server : " << res.move_as_error().to_string(); @@ -2673,7 +2670,7 @@ bool TestNode::get_block_proof(ton::BlockIdExt from, ton::BlockIdExt to, int mod ton::serialize_tl_object(ton::create_tl_object( mode & 0xfff, ton::create_tl_lite_block_id(from), ton::create_tl_lite_block_id(to)), true); - return envelope_send_query(std::move(b), [ Self = actor_id(this), from, to, mode ](td::Result res) { + return envelope_send_query(std::move(b), [Self = actor_id(this), from, to, mode](td::Result res) { if (res.is_error()) { LOG(ERROR) << "cannot obtain block proof for " << ((mode & 1) ? to.to_str() : "last masterchain block") << " starting from " << from.to_str() << " from server : " << res.move_as_error().to_string(); @@ -2749,8 +2746,8 @@ bool TestNode::get_creator_stats(ton::BlockIdExt blkid, int mode, unsigned req_c LOG(INFO) << "requesting up to " << req_count << " block creator stats records with respect to masterchain block " << blkid.to_str() << " starting from validator public key " << start_after.to_hex() << " created after " << min_utime << " (mode=" << mode << ")"; - return envelope_send_query(std::move(b), [ Self = actor_id(this), mode, blkid, req_count, start_after, - min_utime ](td::Result R) { + return envelope_send_query(std::move(b), [Self = actor_id(this), mode, blkid, req_count, start_after, + min_utime](td::Result R) { if (R.is_error()) { return; } @@ -2900,14 +2897,12 @@ int main(int argc, char* argv[]) { return td::Status::OK(); }); p.add_option('d', "daemonize", "set SIGHUP", [&]() { - td::set_signal_handler(td::SignalType::HangUp, - [](int sig) { + td::set_signal_handler(td::SignalType::HangUp, [](int sig) { #if TD_DARWIN || TD_LINUX - close(0); - setsid(); + close(0); + setsid(); #endif - }) - .ensure(); + }).ensure(); return td::Status::OK(); }); #if TD_DARWIN || TD_LINUX diff --git a/memprof/memprof/memprof.cpp b/memprof/memprof/memprof.cpp index b1b7dc44..ce2554e1 100644 --- a/memprof/memprof/memprof.cpp +++ b/memprof/memprof/memprof.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #undef NDEBUG #include "memprof/memprof.h" diff --git a/memprof/memprof/memprof.h b/memprof/memprof/memprof.h index 3374dfed..280f1d26 100644 --- a/memprof/memprof/memprof.h +++ b/memprof/memprof/memprof.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlay-broadcast.cpp b/overlay/overlay-broadcast.cpp index 3e926133..bade50e7 100644 --- a/overlay/overlay-broadcast.cpp +++ b/overlay/overlay-broadcast.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "overlay-broadcast.hpp" #include "overlay.hpp" diff --git a/overlay/overlay-broadcast.hpp b/overlay/overlay-broadcast.hpp index a5a8ffd6..665c269d 100644 --- a/overlay/overlay-broadcast.hpp +++ b/overlay/overlay-broadcast.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlay-fec-broadcast.cpp b/overlay/overlay-fec-broadcast.cpp index 069433b1..e368c620 100644 --- a/overlay/overlay-fec-broadcast.cpp +++ b/overlay/overlay-fec-broadcast.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "overlay-fec-broadcast.hpp" #include "overlay.hpp" diff --git a/overlay/overlay-fec-broadcast.hpp b/overlay/overlay-fec-broadcast.hpp index 03effa51..6d30d47c 100644 --- a/overlay/overlay-fec-broadcast.hpp +++ b/overlay/overlay-fec-broadcast.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlay-fec.cpp b/overlay/overlay-fec.cpp index e88638a9..b29fce22 100644 --- a/overlay/overlay-fec.cpp +++ b/overlay/overlay-fec.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "overlay-fec.hpp" #include "overlay.hpp" diff --git a/overlay/overlay-fec.hpp b/overlay/overlay-fec.hpp index b96e95d3..a9cc3634 100644 --- a/overlay/overlay-fec.hpp +++ b/overlay/overlay-fec.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlay-id.hpp b/overlay/overlay-id.hpp index 06fd6eac..c22b0faa 100644 --- a/overlay/overlay-id.hpp +++ b/overlay/overlay-id.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlay-manager.cpp b/overlay/overlay-manager.cpp index eca78524..ae7c3dd5 100644 --- a/overlay/overlay-manager.cpp +++ b/overlay/overlay-manager.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "overlay-manager.h" #include "overlay.h" diff --git a/overlay/overlay-manager.h b/overlay/overlay-manager.h index 4ac1dfb2..574d0f91 100644 --- a/overlay/overlay-manager.h +++ b/overlay/overlay-manager.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlay-peers.cpp b/overlay/overlay-peers.cpp index 98112aa6..0539383f 100644 --- a/overlay/overlay-peers.cpp +++ b/overlay/overlay-peers.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "overlay.hpp" diff --git a/overlay/overlay.cpp b/overlay/overlay.cpp index 8d6a0412..47019c16 100644 --- a/overlay/overlay.cpp +++ b/overlay/overlay.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Random.h" diff --git a/overlay/overlay.h b/overlay/overlay.h index 6db79b17..cba15145 100644 --- a/overlay/overlay.h +++ b/overlay/overlay.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlay.hpp b/overlay/overlay.hpp index 8cc75f51..b087fc75 100644 --- a/overlay/overlay.hpp +++ b/overlay/overlay.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/overlay/overlays.h b/overlay/overlays.h index ecd03b69..90f3877e 100644 --- a/overlay/overlays.h +++ b/overlay/overlays.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/rldp-http-proxy/rldp-http-proxy.cpp b/rldp-http-proxy/rldp-http-proxy.cpp index bec81efe..2c4c208d 100644 --- a/rldp-http-proxy/rldp-http-proxy.cpp +++ b/rldp-http-proxy/rldp-http-proxy.cpp @@ -1007,7 +1007,7 @@ class RldpHttpProxy : public td::actor::Actor { } private: - td::uint16 port_; + td::uint16 port_{0}; td::IPAddress addr_; std::string global_config_; std::vector> local_hosts_; diff --git a/rldp/rldp-in.hpp b/rldp/rldp-in.hpp index c6be7b7b..196f5edc 100644 --- a/rldp/rldp-in.hpp +++ b/rldp/rldp-in.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/rldp/rldp-peer.cpp b/rldp/rldp-peer.cpp index b2e0f99f..6192d070 100644 --- a/rldp/rldp-peer.cpp +++ b/rldp/rldp-peer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "rldp-peer.hpp" #include "adnl/utils.hpp" diff --git a/rldp/rldp-peer.h b/rldp/rldp-peer.h index c0cf6262..d5457eaf 100644 --- a/rldp/rldp-peer.h +++ b/rldp/rldp-peer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/rldp/rldp-peer.hpp b/rldp/rldp-peer.hpp index ff159021..8bcac5e6 100644 --- a/rldp/rldp-peer.hpp +++ b/rldp/rldp-peer.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/rldp/rldp.cpp b/rldp/rldp.cpp index f3eacfc9..ac787ca5 100644 --- a/rldp/rldp.cpp +++ b/rldp/rldp.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "rldp-in.hpp" #include "auto/tl/ton_api.h" diff --git a/rldp/rldp.h b/rldp/rldp.h index 7fdc1ca9..edb19d7a 100644 --- a/rldp/rldp.h +++ b/rldp/rldp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/rldp/rldp.hpp b/rldp/rldp.hpp index 2d7e669a..978ae39b 100644 --- a/rldp/rldp.hpp +++ b/rldp/rldp.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/ActorId.h b/tdactor/td/actor/ActorId.h index 21c30dd3..248a5f68 100644 --- a/tdactor/td/actor/ActorId.h +++ b/tdactor/td/actor/ActorId.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/common.h" diff --git a/tdactor/td/actor/ActorOwn.h b/tdactor/td/actor/ActorOwn.h index eb343678..01ceef54 100644 --- a/tdactor/td/actor/ActorOwn.h +++ b/tdactor/td/actor/ActorOwn.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/common.h" diff --git a/tdactor/td/actor/ActorShared.h b/tdactor/td/actor/ActorShared.h index 208840da..ffc4176b 100644 --- a/tdactor/td/actor/ActorShared.h +++ b/tdactor/td/actor/ActorShared.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/common.h" diff --git a/tdactor/td/actor/MultiPromise.cpp b/tdactor/td/actor/MultiPromise.cpp index 781362ff..7ef534cd 100644 --- a/tdactor/td/actor/MultiPromise.cpp +++ b/tdactor/td/actor/MultiPromise.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/actor/MultiPromise.h" diff --git a/tdactor/td/actor/MultiPromise.h b/tdactor/td/actor/MultiPromise.h index e12e6ff2..954ec8d5 100644 --- a/tdactor/td/actor/MultiPromise.h +++ b/tdactor/td/actor/MultiPromise.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/PromiseFuture.h" diff --git a/tdactor/td/actor/PromiseFuture.h b/tdactor/td/actor/PromiseFuture.h index 9805a76c..022a98e3 100644 --- a/tdactor/td/actor/PromiseFuture.h +++ b/tdactor/td/actor/PromiseFuture.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/Closure.h" diff --git a/tdactor/td/actor/actor.h b/tdactor/td/actor/actor.h index b4eb6f6d..5f699588 100644 --- a/tdactor/td/actor/actor.h +++ b/tdactor/td/actor/actor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/common.h" diff --git a/tdactor/td/actor/common.h b/tdactor/td/actor/common.h index 3a29b473..33e259a2 100644 --- a/tdactor/td/actor/common.h +++ b/tdactor/td/actor/common.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/core/Actor.h" diff --git a/tdactor/td/actor/core/Actor.h b/tdactor/td/actor/core/Actor.h index 704405ed..3d581fe5 100644 --- a/tdactor/td/actor/core/Actor.h +++ b/tdactor/td/actor/core/Actor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/core/ActorInfo.h" diff --git a/tdactor/td/actor/core/ActorExecuteContext.h b/tdactor/td/actor/core/ActorExecuteContext.h index 17cda3ca..37f7d856 100644 --- a/tdactor/td/actor/core/ActorExecuteContext.h +++ b/tdactor/td/actor/core/ActorExecuteContext.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/ActorExecutor.cpp b/tdactor/td/actor/core/ActorExecutor.cpp index 88942662..8c5fde62 100644 --- a/tdactor/td/actor/core/ActorExecutor.cpp +++ b/tdactor/td/actor/core/ActorExecutor.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/actor/core/ActorExecutor.h" diff --git a/tdactor/td/actor/core/ActorExecutor.h b/tdactor/td/actor/core/ActorExecutor.h index 53fc1e11..9a2c5d29 100644 --- a/tdactor/td/actor/core/ActorExecutor.h +++ b/tdactor/td/actor/core/ActorExecutor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/ActorInfoCreator.h b/tdactor/td/actor/core/ActorInfoCreator.h index 60ee8f0e..49c7611a 100644 --- a/tdactor/td/actor/core/ActorInfoCreator.h +++ b/tdactor/td/actor/core/ActorInfoCreator.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/core/ActorInfo.h" diff --git a/tdactor/td/actor/core/ActorLocker.h b/tdactor/td/actor/core/ActorLocker.h index 2374fdfc..f0811bea 100644 --- a/tdactor/td/actor/core/ActorLocker.h +++ b/tdactor/td/actor/core/ActorLocker.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/ActorMailbox.h b/tdactor/td/actor/core/ActorMailbox.h index e66813a9..9e8b0309 100644 --- a/tdactor/td/actor/core/ActorMailbox.h +++ b/tdactor/td/actor/core/ActorMailbox.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/ActorMessage.h b/tdactor/td/actor/core/ActorMessage.h index 8368f00b..e8a1b659 100644 --- a/tdactor/td/actor/core/ActorMessage.h +++ b/tdactor/td/actor/core/ActorMessage.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/ActorSignals.h b/tdactor/td/actor/core/ActorSignals.h index 6cab610c..c6247843 100644 --- a/tdactor/td/actor/core/ActorSignals.h +++ b/tdactor/td/actor/core/ActorSignals.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/ActorState.h b/tdactor/td/actor/core/ActorState.h index 079f0789..5719b816 100644 --- a/tdactor/td/actor/core/ActorState.h +++ b/tdactor/td/actor/core/ActorState.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/Context.h b/tdactor/td/actor/core/Context.h index c8c2a888..bb32f668 100644 --- a/tdactor/td/actor/core/Context.h +++ b/tdactor/td/actor/core/Context.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/IoWorker.cpp b/tdactor/td/actor/core/IoWorker.cpp index 91c28155..d1f10c63 100644 --- a/tdactor/td/actor/core/IoWorker.cpp +++ b/tdactor/td/actor/core/IoWorker.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/actor/core/IoWorker.h" diff --git a/tdactor/td/actor/core/IoWorker.h b/tdactor/td/actor/core/IoWorker.h index c4a30b98..529a01f8 100644 --- a/tdactor/td/actor/core/IoWorker.h +++ b/tdactor/td/actor/core/IoWorker.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/td/actor/core/SchedulerContext.h b/tdactor/td/actor/core/SchedulerContext.h index 6f99e109..49cbf63d 100644 --- a/tdactor/td/actor/core/SchedulerContext.h +++ b/tdactor/td/actor/core/SchedulerContext.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/core/Context.h" diff --git a/tdactor/td/actor/core/SchedulerMessage.h b/tdactor/td/actor/core/SchedulerMessage.h index 75c339ae..936d965d 100644 --- a/tdactor/td/actor/core/SchedulerMessage.h +++ b/tdactor/td/actor/core/SchedulerMessage.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdactor/test/actors_promise.cpp b/tdactor/test/actors_promise.cpp index 9fb4526c..5921f725 100644 --- a/tdactor/test/actors_promise.cpp +++ b/tdactor/test/actors_promise.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/actor/actor.h" #include "td/actor/PromiseFuture.h" diff --git a/tddb/td/db/KeyValue.h b/tddb/td/db/KeyValue.h index 494f076e..088958f6 100644 --- a/tddb/td/db/KeyValue.h +++ b/tddb/td/db/KeyValue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/Status.h" diff --git a/tddb/td/db/KeyValueAsync.h b/tddb/td/db/KeyValueAsync.h index e2e0c396..98d2ec3b 100644 --- a/tddb/td/db/KeyValueAsync.h +++ b/tddb/td/db/KeyValueAsync.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tddb/td/db/MemoryKeyValue.cpp b/tddb/td/db/MemoryKeyValue.cpp index dd98578d..473ee780 100644 --- a/tddb/td/db/MemoryKeyValue.cpp +++ b/tddb/td/db/MemoryKeyValue.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/db/MemoryKeyValue.h" diff --git a/tddb/td/db/MemoryKeyValue.h b/tddb/td/db/MemoryKeyValue.h index f2c04713..ee6fd36d 100644 --- a/tddb/td/db/MemoryKeyValue.h +++ b/tddb/td/db/MemoryKeyValue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/db/KeyValue.h" diff --git a/tddb/td/db/RocksDb.h b/tddb/td/db/RocksDb.h index 77ed46b3..3745701b 100644 --- a/tddb/td/db/RocksDb.h +++ b/tddb/td/db/RocksDb.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tddb/td/db/binlog/Binlog.cpp b/tddb/td/db/binlog/Binlog.cpp index be59b4e7..7c60b113 100644 --- a/tddb/td/db/binlog/Binlog.cpp +++ b/tddb/td/db/binlog/Binlog.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Binlog.h" diff --git a/tddb/td/db/binlog/Binlog.h b/tddb/td/db/binlog/Binlog.h index cde44450..86eb3691 100644 --- a/tddb/td/db/binlog/Binlog.h +++ b/tddb/td/db/binlog/Binlog.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tddb/td/db/binlog/BinlogReaderHelper.cpp b/tddb/td/db/binlog/BinlogReaderHelper.cpp index 2ea0e613..5ea45f64 100644 --- a/tddb/td/db/binlog/BinlogReaderHelper.cpp +++ b/tddb/td/db/binlog/BinlogReaderHelper.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "BinlogReaderHelper.h" #include "BinlogReaderInterface.h" diff --git a/tddb/td/db/binlog/BinlogReaderHelper.h b/tddb/td/db/binlog/BinlogReaderHelper.h index 3086f3a4..19f6a586 100644 --- a/tddb/td/db/binlog/BinlogReaderHelper.h +++ b/tddb/td/db/binlog/BinlogReaderHelper.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tddb/td/db/binlog/BinlogReaderInterface.h b/tddb/td/db/binlog/BinlogReaderInterface.h index 41701a5a..2cea8f6f 100644 --- a/tddb/td/db/binlog/BinlogReaderInterface.h +++ b/tddb/td/db/binlog/BinlogReaderInterface.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tddb/td/db/utils/ChainBuffer.cpp b/tddb/td/db/utils/ChainBuffer.cpp index 73e34068..7478eed8 100644 --- a/tddb/td/db/utils/ChainBuffer.cpp +++ b/tddb/td/db/utils/ChainBuffer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "ChainBuffer.h" diff --git a/tddb/td/db/utils/ChainBuffer.h b/tddb/td/db/utils/ChainBuffer.h index b80c2a43..af690693 100644 --- a/tddb/td/db/utils/ChainBuffer.h +++ b/tddb/td/db/utils/ChainBuffer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/common.h" diff --git a/tddb/td/db/utils/CyclicBuffer.cpp b/tddb/td/db/utils/CyclicBuffer.cpp index 36a083cc..ea3b2c6c 100644 --- a/tddb/td/db/utils/CyclicBuffer.cpp +++ b/tddb/td/db/utils/CyclicBuffer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "CyclicBuffer.h" diff --git a/tddb/td/db/utils/CyclicBuffer.h b/tddb/td/db/utils/CyclicBuffer.h index 5439205b..c82a1e5b 100644 --- a/tddb/td/db/utils/CyclicBuffer.h +++ b/tddb/td/db/utils/CyclicBuffer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tddb/td/db/utils/FileSyncState.cpp b/tddb/td/db/utils/FileSyncState.cpp index 1ab07d70..667c70c0 100644 --- a/tddb/td/db/utils/FileSyncState.cpp +++ b/tddb/td/db/utils/FileSyncState.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "FileSyncState.h" diff --git a/tddb/td/db/utils/FileSyncState.h b/tddb/td/db/utils/FileSyncState.h index a110f26b..fcd23514 100644 --- a/tddb/td/db/utils/FileSyncState.h +++ b/tddb/td/db/utils/FileSyncState.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/tddb/td/db/utils/FileToStreamActor.cpp b/tddb/td/db/utils/FileToStreamActor.cpp index 209c4328..bef5b94f 100644 --- a/tddb/td/db/utils/FileToStreamActor.cpp +++ b/tddb/td/db/utils/FileToStreamActor.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "FileToStreamActor.h" diff --git a/tddb/td/db/utils/FileToStreamActor.h b/tddb/td/db/utils/FileToStreamActor.h index 4762114d..0d09392e 100644 --- a/tddb/td/db/utils/FileToStreamActor.h +++ b/tddb/td/db/utils/FileToStreamActor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tddb/td/db/utils/StreamInterface.cpp b/tddb/td/db/utils/StreamInterface.cpp index fd9cacc5..923d7be2 100644 --- a/tddb/td/db/utils/StreamInterface.cpp +++ b/tddb/td/db/utils/StreamInterface.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "StreamInterface.h" namespace td { diff --git a/tddb/td/db/utils/StreamInterface.h b/tddb/td/db/utils/StreamInterface.h index 17cb11b4..68b853c4 100644 --- a/tddb/td/db/utils/StreamInterface.h +++ b/tddb/td/db/utils/StreamInterface.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/buffer.h" diff --git a/tddb/td/db/utils/StreamToFileActor.cpp b/tddb/td/db/utils/StreamToFileActor.cpp index d3ab7f66..24202da4 100644 --- a/tddb/td/db/utils/StreamToFileActor.cpp +++ b/tddb/td/db/utils/StreamToFileActor.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "StreamToFileActor.h" diff --git a/tddb/td/db/utils/StreamToFileActor.h b/tddb/td/db/utils/StreamToFileActor.h index aaa58d2c..2037cc43 100644 --- a/tddb/td/db/utils/StreamToFileActor.h +++ b/tddb/td/db/utils/StreamToFileActor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "StreamInterface.h" diff --git a/tddb/test/binlog.cpp b/tddb/test/binlog.cpp index d2cd3522..d3cc6c9b 100644 --- a/tddb/test/binlog.cpp +++ b/tddb/test/binlog.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" diff --git a/tddb/test/io-bench.cpp b/tddb/test/io-bench.cpp index 7ce3e487..084e7c6c 100644 --- a/tddb/test/io-bench.cpp +++ b/tddb/test/io-bench.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/OptionsParser.h" #include "td/utils/filesystem.h" diff --git a/tdfec/benchmark/benchmark.cpp b/tdfec/benchmark/benchmark.cpp index 4be7af82..db7b33a1 100644 --- a/tdfec/benchmark/benchmark.cpp +++ b/tdfec/benchmark/benchmark.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/benchmark.h" #include "td/utils/format.h" diff --git a/tdfec/td/fec/algebra/BeliefPropagationDecoding.cpp b/tdfec/td/fec/algebra/BeliefPropagationDecoding.cpp index baebae98..9567eaba 100644 --- a/tdfec/td/fec/algebra/BeliefPropagationDecoding.cpp +++ b/tdfec/td/fec/algebra/BeliefPropagationDecoding.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/algebra/BeliefPropagationDecoding.h" diff --git a/tdfec/td/fec/algebra/BeliefPropagationDecoding.h b/tdfec/td/fec/algebra/BeliefPropagationDecoding.h index e18cf5b5..b152e5d3 100644 --- a/tdfec/td/fec/algebra/BeliefPropagationDecoding.h +++ b/tdfec/td/fec/algebra/BeliefPropagationDecoding.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/buffer.h" diff --git a/tdfec/td/fec/algebra/GaussianElimination.cpp b/tdfec/td/fec/algebra/GaussianElimination.cpp index d891cee3..63c25b4b 100644 --- a/tdfec/td/fec/algebra/GaussianElimination.cpp +++ b/tdfec/td/fec/algebra/GaussianElimination.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/algebra/GaussianElimination.h" namespace td { diff --git a/tdfec/td/fec/algebra/GaussianElimination.h b/tdfec/td/fec/algebra/GaussianElimination.h index 9c895cce..f066f7b2 100644 --- a/tdfec/td/fec/algebra/GaussianElimination.h +++ b/tdfec/td/fec/algebra/GaussianElimination.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdfec/td/fec/algebra/InactivationDecoding.cpp b/tdfec/td/fec/algebra/InactivationDecoding.cpp index 9bf2b56a..34adff6e 100644 --- a/tdfec/td/fec/algebra/InactivationDecoding.cpp +++ b/tdfec/td/fec/algebra/InactivationDecoding.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/algebra/InactivationDecoding.h" diff --git a/tdfec/td/fec/algebra/InactivationDecoding.h b/tdfec/td/fec/algebra/InactivationDecoding.h index dd9799b8..06a50e0b 100644 --- a/tdfec/td/fec/algebra/InactivationDecoding.h +++ b/tdfec/td/fec/algebra/InactivationDecoding.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdfec/td/fec/algebra/MatrixGF2.cpp b/tdfec/td/fec/algebra/MatrixGF2.cpp index a83e1a96..abf9b06c 100644 --- a/tdfec/td/fec/algebra/MatrixGF2.cpp +++ b/tdfec/td/fec/algebra/MatrixGF2.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/algebra/MatrixGF2.h" char disable_linker_warning_about_empty_file_matrixgf2_cpp TD_UNUSED; diff --git a/tdfec/td/fec/algebra/MatrixGF2.h b/tdfec/td/fec/algebra/MatrixGF2.h index 369f5ea1..6f0accad 100644 --- a/tdfec/td/fec/algebra/MatrixGF2.h +++ b/tdfec/td/fec/algebra/MatrixGF2.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/algebra/MatrixGF256.h" diff --git a/tdfec/td/fec/algebra/MatrixGF256.cpp b/tdfec/td/fec/algebra/MatrixGF256.cpp index ed1de809..ceb75664 100644 --- a/tdfec/td/fec/algebra/MatrixGF256.cpp +++ b/tdfec/td/fec/algebra/MatrixGF256.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/algebra/MatrixGF256.h" char disable_linker_warning_about_empty_file_matrixgf256_cpp TD_UNUSED; diff --git a/tdfec/td/fec/algebra/MatrixGF256.h b/tdfec/td/fec/algebra/MatrixGF256.h index 6edecd79..43f20155 100644 --- a/tdfec/td/fec/algebra/MatrixGF256.h +++ b/tdfec/td/fec/algebra/MatrixGF256.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/algebra/Octet.h" diff --git a/tdfec/td/fec/algebra/Octet.cpp b/tdfec/td/fec/algebra/Octet.cpp index bafb5524..b003c944 100644 --- a/tdfec/td/fec/algebra/Octet.cpp +++ b/tdfec/td/fec/algebra/Octet.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/algebra/Octet.h" namespace td { diff --git a/tdfec/td/fec/algebra/Octet.h b/tdfec/td/fec/algebra/Octet.h index 40f158fa..405352dd 100644 --- a/tdfec/td/fec/algebra/Octet.h +++ b/tdfec/td/fec/algebra/Octet.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/logging.h" diff --git a/tdfec/td/fec/algebra/Simd.h b/tdfec/td/fec/algebra/Simd.h index 0210b366..58e0ac03 100644 --- a/tdfec/td/fec/algebra/Simd.h +++ b/tdfec/td/fec/algebra/Simd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/misc.h" diff --git a/tdfec/td/fec/algebra/SparseMatrixGF2.cpp b/tdfec/td/fec/algebra/SparseMatrixGF2.cpp index 96ab0b30..0f7f6326 100644 --- a/tdfec/td/fec/algebra/SparseMatrixGF2.cpp +++ b/tdfec/td/fec/algebra/SparseMatrixGF2.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/algebra/SparseMatrixGF2.h" char disable_linker_warning_about_empty_file_sparsematrixgf2_cpp TD_UNUSED; diff --git a/tdfec/td/fec/algebra/SparseMatrixGF2.h b/tdfec/td/fec/algebra/SparseMatrixGF2.h index f689b2ef..18f84d12 100644 --- a/tdfec/td/fec/algebra/SparseMatrixGF2.h +++ b/tdfec/td/fec/algebra/SparseMatrixGF2.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/algebra/MatrixGF2.h" diff --git a/tdfec/td/fec/common/SymbolRef.h b/tdfec/td/fec/common/SymbolRef.h index 26ca7ad7..c57e0043 100644 --- a/tdfec/td/fec/common/SymbolRef.h +++ b/tdfec/td/fec/common/SymbolRef.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/Slice.h" diff --git a/tdfec/td/fec/common/SymbolsView.cpp b/tdfec/td/fec/common/SymbolsView.cpp index 3a9a60ff..52202aa8 100644 --- a/tdfec/td/fec/common/SymbolsView.cpp +++ b/tdfec/td/fec/common/SymbolsView.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/common/SymbolsView.h" namespace td { diff --git a/tdfec/td/fec/common/SymbolsView.h b/tdfec/td/fec/common/SymbolsView.h index 65effb05..2400f16a 100644 --- a/tdfec/td/fec/common/SymbolsView.h +++ b/tdfec/td/fec/common/SymbolsView.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/common/SymbolRef.h" diff --git a/tdfec/td/fec/fec.cpp b/tdfec/td/fec/fec.cpp index 5f7b4b05..c9ac1311 100644 --- a/tdfec/td/fec/fec.cpp +++ b/tdfec/td/fec/fec.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/fec.h" diff --git a/tdfec/td/fec/fec.h b/tdfec/td/fec/fec.h index 01db7efc..dd50dde9 100644 --- a/tdfec/td/fec/fec.h +++ b/tdfec/td/fec/fec.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdfec/td/fec/online/Decoder.cpp b/tdfec/td/fec/online/Decoder.cpp index 4389806d..5c62428a 100644 --- a/tdfec/td/fec/online/Decoder.cpp +++ b/tdfec/td/fec/online/Decoder.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/online/Decoder.h" diff --git a/tdfec/td/fec/online/Decoder.h b/tdfec/td/fec/online/Decoder.h index 00ee2f49..bd7533d9 100644 --- a/tdfec/td/fec/online/Decoder.h +++ b/tdfec/td/fec/online/Decoder.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/online/Rfc.h" diff --git a/tdfec/td/fec/online/Encoder.cpp b/tdfec/td/fec/online/Encoder.cpp index 6372c4d8..df289726 100644 --- a/tdfec/td/fec/online/Encoder.cpp +++ b/tdfec/td/fec/online/Encoder.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/online/Encoder.h" diff --git a/tdfec/td/fec/online/Encoder.h b/tdfec/td/fec/online/Encoder.h index e0ff0300..d2d2343a 100644 --- a/tdfec/td/fec/online/Encoder.h +++ b/tdfec/td/fec/online/Encoder.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/online/Rfc.h" diff --git a/tdfec/td/fec/online/Rfc.cpp b/tdfec/td/fec/online/Rfc.cpp index 25e7bf5f..37583c69 100644 --- a/tdfec/td/fec/online/Rfc.cpp +++ b/tdfec/td/fec/online/Rfc.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/online/Rfc.h" namespace td { diff --git a/tdfec/td/fec/online/Rfc.h b/tdfec/td/fec/online/Rfc.h index 7dc02b13..a254bc4e 100644 --- a/tdfec/td/fec/online/Rfc.h +++ b/tdfec/td/fec/online/Rfc.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/tdfec/td/fec/raptorq/Decoder.cpp b/tdfec/td/fec/raptorq/Decoder.cpp index 4959f088..4702cc51 100644 --- a/tdfec/td/fec/raptorq/Decoder.cpp +++ b/tdfec/td/fec/raptorq/Decoder.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/raptorq/Decoder.h" diff --git a/tdfec/td/fec/raptorq/Decoder.h b/tdfec/td/fec/raptorq/Decoder.h index 335446bd..2288b3e4 100644 --- a/tdfec/td/fec/raptorq/Decoder.h +++ b/tdfec/td/fec/raptorq/Decoder.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/raptorq/Solver.h" diff --git a/tdfec/td/fec/raptorq/Encoder.cpp b/tdfec/td/fec/raptorq/Encoder.cpp index add2f9f5..dde48438 100644 --- a/tdfec/td/fec/raptorq/Encoder.cpp +++ b/tdfec/td/fec/raptorq/Encoder.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/raptorq/Encoder.h" diff --git a/tdfec/td/fec/raptorq/Encoder.h b/tdfec/td/fec/raptorq/Encoder.h index 41dd3d99..64e9b415 100644 --- a/tdfec/td/fec/raptorq/Encoder.h +++ b/tdfec/td/fec/raptorq/Encoder.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/fec/raptorq/RawEncoder.h" diff --git a/tdfec/td/fec/raptorq/RawEncoder.cpp b/tdfec/td/fec/raptorq/RawEncoder.cpp index 9ab44679..f130f0ea 100644 --- a/tdfec/td/fec/raptorq/RawEncoder.cpp +++ b/tdfec/td/fec/raptorq/RawEncoder.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/raptorq/RawEncoder.h" diff --git a/tdfec/td/fec/raptorq/RawEncoder.h b/tdfec/td/fec/raptorq/RawEncoder.h index 83e6cf2d..4222a540 100644 --- a/tdfec/td/fec/raptorq/RawEncoder.h +++ b/tdfec/td/fec/raptorq/RawEncoder.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdfec/td/fec/raptorq/Rfc.cpp b/tdfec/td/fec/raptorq/Rfc.cpp index 8393d584..df390e19 100644 --- a/tdfec/td/fec/raptorq/Rfc.cpp +++ b/tdfec/td/fec/raptorq/Rfc.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/raptorq/Rfc.h" diff --git a/tdfec/td/fec/raptorq/Rfc.h b/tdfec/td/fec/raptorq/Rfc.h index 13b03664..1f5c27f0 100644 --- a/tdfec/td/fec/raptorq/Rfc.h +++ b/tdfec/td/fec/raptorq/Rfc.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/Status.h" diff --git a/tdfec/td/fec/raptorq/Solver.cpp b/tdfec/td/fec/raptorq/Solver.cpp index 4b679a5c..02d8102f 100644 --- a/tdfec/td/fec/raptorq/Solver.cpp +++ b/tdfec/td/fec/raptorq/Solver.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/fec/raptorq/Solver.h" #include "td/fec/algebra/GaussianElimination.h" diff --git a/tdfec/td/fec/raptorq/Solver.h b/tdfec/td/fec/raptorq/Solver.h index 9facb719..a1b993c2 100644 --- a/tdfec/td/fec/raptorq/Solver.h +++ b/tdfec/td/fec/raptorq/Solver.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/Slice.h" diff --git a/tdfec/test/LibRaptorQ.cpp b/tdfec/test/LibRaptorQ.cpp index de30577f..e4e926d2 100644 --- a/tdfec/test/LibRaptorQ.cpp +++ b/tdfec/test/LibRaptorQ.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "LibRaptorQ.h" #include "RaptorQ/RaptorQ_v1_hdr.hpp" diff --git a/tdfec/test/LibRaptorQ.h b/tdfec/test/LibRaptorQ.h index 8642816f..6d48b3d0 100644 --- a/tdfec/test/LibRaptorQ.h +++ b/tdfec/test/LibRaptorQ.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdfec/test/fec-test.cpp b/tdfec/test/fec-test.cpp index 2e5c71fc..16879847 100644 --- a/tdfec/test/fec-test.cpp +++ b/tdfec/test/fec-test.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ //#include "fec.h" //#include "raptorq/Solver.h" diff --git a/tdnet/example/tcp_ping_pong.cpp b/tdnet/example/tcp_ping_pong.cpp index 7cbfe253..9bcbee99 100644 --- a/tdnet/example/tcp_ping_pong.cpp +++ b/tdnet/example/tcp_ping_pong.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/actor/actor.h" diff --git a/tdnet/example/udp_ping_pong.cpp b/tdnet/example/udp_ping_pong.cpp index c3c23972..069380a7 100644 --- a/tdnet/example/udp_ping_pong.cpp +++ b/tdnet/example/udp_ping_pong.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/actor/actor.h" diff --git a/tdnet/td/net/FdListener.cpp b/tdnet/td/net/FdListener.cpp index 24057d1d..a807408c 100644 --- a/tdnet/td/net/FdListener.cpp +++ b/tdnet/td/net/FdListener.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/net/FdListener.h" diff --git a/tdnet/td/net/FdListener.h b/tdnet/td/net/FdListener.h index 9b2b0d9d..261d7e37 100644 --- a/tdnet/td/net/FdListener.h +++ b/tdnet/td/net/FdListener.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdnet/td/net/TcpListener.cpp b/tdnet/td/net/TcpListener.cpp index 5e187342..7b7364ba 100644 --- a/tdnet/td/net/TcpListener.cpp +++ b/tdnet/td/net/TcpListener.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/net/TcpListener.h" diff --git a/tdnet/td/net/TcpListener.h b/tdnet/td/net/TcpListener.h index d83030eb..fc11f8bc 100644 --- a/tdnet/td/net/TcpListener.h +++ b/tdnet/td/net/TcpListener.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdnet/td/net/UdpServer.cpp b/tdnet/td/net/UdpServer.cpp index 7dff5e76..a1c53aa6 100644 --- a/tdnet/td/net/UdpServer.cpp +++ b/tdnet/td/net/UdpServer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/net/UdpServer.h" #include "td/net/FdListener.h" diff --git a/tdnet/td/net/UdpServer.h b/tdnet/td/net/UdpServer.h index ed73c8eb..f6d0d268 100644 --- a/tdnet/td/net/UdpServer.h +++ b/tdnet/td/net/UdpServer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdnet/test/net-test.cpp b/tdnet/test/net-test.cpp index fb3d0595..bb084a67 100644 --- a/tdnet/test/net-test.cpp +++ b/tdnet/test/net-test.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/actor/actor.h" #include "td/net/UdpServer.h" diff --git a/tdtl/td/tl/tl_config.cpp b/tdtl/td/tl/tl_config.cpp index 78b02e9b..cc1b0f42 100644 --- a/tdtl/td/tl/tl_config.cpp +++ b/tdtl/td/tl/tl_config.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_config.h" diff --git a/tdtl/td/tl/tl_config.h b/tdtl/td/tl/tl_config.h index 2e567120..2fe6469f 100644 --- a/tdtl/td/tl/tl_config.h +++ b/tdtl/td/tl/tl_config.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_core.cpp b/tdtl/td/tl/tl_core.cpp index d38b0385..93aaf881 100644 --- a/tdtl/td/tl/tl_core.cpp +++ b/tdtl/td/tl/tl_core.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_core.h" diff --git a/tdtl/td/tl/tl_core.h b/tdtl/td/tl/tl_core.h index 8554ad02..f45db000 100644 --- a/tdtl/td/tl/tl_core.h +++ b/tdtl/td/tl/tl_core.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_file_outputer.cpp b/tdtl/td/tl/tl_file_outputer.cpp index 9fb347a5..1cda2222 100644 --- a/tdtl/td/tl/tl_file_outputer.cpp +++ b/tdtl/td/tl/tl_file_outputer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_file_outputer.h" diff --git a/tdtl/td/tl/tl_file_outputer.h b/tdtl/td/tl/tl_file_outputer.h index c8aeb919..45694595 100644 --- a/tdtl/td/tl/tl_file_outputer.h +++ b/tdtl/td/tl/tl_file_outputer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_file_utils.cpp b/tdtl/td/tl/tl_file_utils.cpp index 86d982c2..d604447e 100644 --- a/tdtl/td/tl/tl_file_utils.cpp +++ b/tdtl/td/tl/tl_file_utils.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_file_utils.h" diff --git a/tdtl/td/tl/tl_file_utils.h b/tdtl/td/tl/tl_file_utils.h index 9dcd93a9..44782ae8 100644 --- a/tdtl/td/tl/tl_file_utils.h +++ b/tdtl/td/tl/tl_file_utils.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_generate.cpp b/tdtl/td/tl/tl_generate.cpp index a4886e8f..9e149aae 100644 --- a/tdtl/td/tl/tl_generate.cpp +++ b/tdtl/td/tl/tl_generate.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_generate.h" diff --git a/tdtl/td/tl/tl_generate.h b/tdtl/td/tl/tl_generate.h index 0561f1ef..508c104f 100644 --- a/tdtl/td/tl/tl_generate.h +++ b/tdtl/td/tl/tl_generate.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_outputer.cpp b/tdtl/td/tl/tl_outputer.cpp index 8f6613c9..081fb311 100644 --- a/tdtl/td/tl/tl_outputer.cpp +++ b/tdtl/td/tl/tl_outputer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_outputer.h" diff --git a/tdtl/td/tl/tl_outputer.h b/tdtl/td/tl/tl_outputer.h index 3f07e007..fc2fe6d4 100644 --- a/tdtl/td/tl/tl_outputer.h +++ b/tdtl/td/tl/tl_outputer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_simple.h b/tdtl/td/tl/tl_simple.h index 8cd06b4e..5a0af816 100644 --- a/tdtl/td/tl/tl_simple.h +++ b/tdtl/td/tl/tl_simple.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_simple_parser.h b/tdtl/td/tl/tl_simple_parser.h index fa705ab5..58518ba3 100644 --- a/tdtl/td/tl/tl_simple_parser.h +++ b/tdtl/td/tl/tl_simple_parser.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_string_outputer.cpp b/tdtl/td/tl/tl_string_outputer.cpp index f2fbc408..9faca7f7 100644 --- a/tdtl/td/tl/tl_string_outputer.cpp +++ b/tdtl/td/tl/tl_string_outputer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_string_outputer.h" diff --git a/tdtl/td/tl/tl_string_outputer.h b/tdtl/td/tl/tl_string_outputer.h index ceffe369..9c87c257 100644 --- a/tdtl/td/tl/tl_string_outputer.h +++ b/tdtl/td/tl/tl_string_outputer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdtl/td/tl/tl_writer.cpp b/tdtl/td/tl/tl_writer.cpp index 3f18c362..5c672f26 100644 --- a/tdtl/td/tl/tl_writer.cpp +++ b/tdtl/td/tl/tl_writer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_writer.h" diff --git a/tdtl/td/tl/tl_writer.h b/tdtl/td/tl/tl_writer.h index 402dd5e6..acdd77ae 100644 --- a/tdtl/td/tl/tl_writer.h +++ b/tdtl/td/tl/tl_writer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/generate/generate_mime_types_gperf.cpp b/tdutils/generate/generate_mime_types_gperf.cpp index 9048e024..03edb535 100644 --- a/tdutils/generate/generate_mime_types_gperf.cpp +++ b/tdutils/generate/generate_mime_types_gperf.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include #include diff --git a/tdutils/td/utils/AesCtrByteFlow.h b/tdutils/td/utils/AesCtrByteFlow.h index 510ee561..8ce35b49 100644 --- a/tdutils/td/utils/AesCtrByteFlow.h +++ b/tdutils/td/utils/AesCtrByteFlow.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/BigNum.h b/tdutils/td/utils/BigNum.h index a521bc77..73e3e21e 100644 --- a/tdutils/td/utils/BigNum.h +++ b/tdutils/td/utils/BigNum.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/BufferedReader.h b/tdutils/td/utils/BufferedReader.h index 43d5ea1c..da639b3d 100644 --- a/tdutils/td/utils/BufferedReader.h +++ b/tdutils/td/utils/BufferedReader.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/BufferedUdp.cpp b/tdutils/td/utils/BufferedUdp.cpp index 56dc9d7b..2f9add2e 100644 --- a/tdutils/td/utils/BufferedUdp.cpp +++ b/tdutils/td/utils/BufferedUdp.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/BufferedUdp.h" diff --git a/tdutils/td/utils/BufferedUdp.h b/tdutils/td/utils/BufferedUdp.h index b723b365..8a966c0b 100644 --- a/tdutils/td/utils/BufferedUdp.h +++ b/tdutils/td/utils/BufferedUdp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/ByteFlow.h b/tdutils/td/utils/ByteFlow.h index 1edfe4bd..db30ce4d 100644 --- a/tdutils/td/utils/ByteFlow.h +++ b/tdutils/td/utils/ByteFlow.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/CancellationToken.h b/tdutils/td/utils/CancellationToken.h index 08f413c4..9f30d204 100644 --- a/tdutils/td/utils/CancellationToken.h +++ b/tdutils/td/utils/CancellationToken.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/ChangesProcessor.h b/tdutils/td/utils/ChangesProcessor.h index e7f1d67a..16c37dd3 100644 --- a/tdutils/td/utils/ChangesProcessor.h +++ b/tdutils/td/utils/ChangesProcessor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Closure.h b/tdutils/td/utils/Closure.h index d08ce03b..3b2fc9de 100644 --- a/tdutils/td/utils/Closure.h +++ b/tdutils/td/utils/Closure.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/ConcurrentHashTable.h b/tdutils/td/utils/ConcurrentHashTable.h index 389c3c74..95661e94 100644 --- a/tdutils/td/utils/ConcurrentHashTable.h +++ b/tdutils/td/utils/ConcurrentHashTable.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Container.h b/tdutils/td/utils/Container.h index fc329abc..e235f21f 100644 --- a/tdutils/td/utils/Container.h +++ b/tdutils/td/utils/Container.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Context.h b/tdutils/td/utils/Context.h index 5c8c9ad3..c15a568c 100644 --- a/tdutils/td/utils/Context.h +++ b/tdutils/td/utils/Context.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/DecTree.h b/tdutils/td/utils/DecTree.h index 0baf1b33..786dc0b0 100644 --- a/tdutils/td/utils/DecTree.h +++ b/tdutils/td/utils/DecTree.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Destructor.h b/tdutils/td/utils/Destructor.h index 872b385b..fadeb89b 100644 --- a/tdutils/td/utils/Destructor.h +++ b/tdutils/td/utils/Destructor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Enumerator.h b/tdutils/td/utils/Enumerator.h index ccd01d47..d7bfe512 100644 --- a/tdutils/td/utils/Enumerator.h +++ b/tdutils/td/utils/Enumerator.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/EpochBasedMemoryReclamation.h b/tdutils/td/utils/EpochBasedMemoryReclamation.h index 2f14c65d..e1122ea2 100644 --- a/tdutils/td/utils/EpochBasedMemoryReclamation.h +++ b/tdutils/td/utils/EpochBasedMemoryReclamation.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/FloodControlFast.h b/tdutils/td/utils/FloodControlFast.h index ff05edb6..36bae44f 100644 --- a/tdutils/td/utils/FloodControlFast.h +++ b/tdutils/td/utils/FloodControlFast.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/FloodControlStrict.h b/tdutils/td/utils/FloodControlStrict.h index 714acb85..2aa2d020 100644 --- a/tdutils/td/utils/FloodControlStrict.h +++ b/tdutils/td/utils/FloodControlStrict.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/GitInfo.cpp b/tdutils/td/utils/GitInfo.cpp index 419b6c72..0811e640 100644 --- a/tdutils/td/utils/GitInfo.cpp +++ b/tdutils/td/utils/GitInfo.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/GitInfo.h" diff --git a/tdutils/td/utils/GitInfo.h b/tdutils/td/utils/GitInfo.h index a3ace64c..868e054e 100644 --- a/tdutils/td/utils/GitInfo.h +++ b/tdutils/td/utils/GitInfo.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Gzip.cpp b/tdutils/td/utils/Gzip.cpp index 4cb615d9..00af4451 100644 --- a/tdutils/td/utils/Gzip.cpp +++ b/tdutils/td/utils/Gzip.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Gzip.h" diff --git a/tdutils/td/utils/Gzip.h b/tdutils/td/utils/Gzip.h index 3dcfdf1c..0b890c75 100644 --- a/tdutils/td/utils/Gzip.h +++ b/tdutils/td/utils/Gzip.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/GzipByteFlow.cpp b/tdutils/td/utils/GzipByteFlow.cpp index 2b56fb42..4d61a222 100644 --- a/tdutils/td/utils/GzipByteFlow.cpp +++ b/tdutils/td/utils/GzipByteFlow.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/GzipByteFlow.h" diff --git a/tdutils/td/utils/GzipByteFlow.h b/tdutils/td/utils/GzipByteFlow.h index 5dba470c..ba78fef4 100644 --- a/tdutils/td/utils/GzipByteFlow.h +++ b/tdutils/td/utils/GzipByteFlow.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Hash.h b/tdutils/td/utils/Hash.h index 0478176f..4a56fee6 100644 --- a/tdutils/td/utils/Hash.h +++ b/tdutils/td/utils/Hash.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/HashMap.h b/tdutils/td/utils/HashMap.h index b3c30aab..9646bef9 100644 --- a/tdutils/td/utils/HashMap.h +++ b/tdutils/td/utils/HashMap.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/HashSet.h b/tdutils/td/utils/HashSet.h index 486e2a15..b00d5a92 100644 --- a/tdutils/td/utils/HashSet.h +++ b/tdutils/td/utils/HashSet.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/HazardPointers.h b/tdutils/td/utils/HazardPointers.h index 95f42b5e..41849221 100644 --- a/tdutils/td/utils/HazardPointers.h +++ b/tdutils/td/utils/HazardPointers.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Heap.h b/tdutils/td/utils/Heap.h index 6349ff65..37be5e07 100644 --- a/tdutils/td/utils/Heap.h +++ b/tdutils/td/utils/Heap.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Hints.cpp b/tdutils/td/utils/Hints.cpp index e3b2b11e..b21a93dd 100644 --- a/tdutils/td/utils/Hints.cpp +++ b/tdutils/td/utils/Hints.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Hints.h" diff --git a/tdutils/td/utils/Hints.h b/tdutils/td/utils/Hints.h index 59049541..8081d778 100644 --- a/tdutils/td/utils/Hints.h +++ b/tdutils/td/utils/Hints.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/HttpUrl.cpp b/tdutils/td/utils/HttpUrl.cpp index 7b15f2cb..2a73f228 100644 --- a/tdutils/td/utils/HttpUrl.cpp +++ b/tdutils/td/utils/HttpUrl.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/HttpUrl.h" diff --git a/tdutils/td/utils/HttpUrl.h b/tdutils/td/utils/HttpUrl.h index dbe23c4f..a4e0ab6f 100644 --- a/tdutils/td/utils/HttpUrl.h +++ b/tdutils/td/utils/HttpUrl.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/JsonBuilder.cpp b/tdutils/td/utils/JsonBuilder.cpp index 82aead47..7a844740 100644 --- a/tdutils/td/utils/JsonBuilder.cpp +++ b/tdutils/td/utils/JsonBuilder.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/JsonBuilder.h" diff --git a/tdutils/td/utils/JsonBuilder.h b/tdutils/td/utils/JsonBuilder.h index be089ca6..d67af283 100644 --- a/tdutils/td/utils/JsonBuilder.h +++ b/tdutils/td/utils/JsonBuilder.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/List.h b/tdutils/td/utils/List.h index 63c26438..4f3c3889 100644 --- a/tdutils/td/utils/List.h +++ b/tdutils/td/utils/List.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/MemoryLog.h b/tdutils/td/utils/MemoryLog.h index b9a01db9..92bb0d76 100644 --- a/tdutils/td/utils/MemoryLog.h +++ b/tdutils/td/utils/MemoryLog.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/MimeType.cpp b/tdutils/td/utils/MimeType.cpp index 405cd501..ad873d1c 100644 --- a/tdutils/td/utils/MimeType.cpp +++ b/tdutils/td/utils/MimeType.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/MimeType.h" diff --git a/tdutils/td/utils/MimeType.h b/tdutils/td/utils/MimeType.h index 7f0cf9c0..583bd659 100644 --- a/tdutils/td/utils/MimeType.h +++ b/tdutils/td/utils/MimeType.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/MovableValue.h b/tdutils/td/utils/MovableValue.h index 5d658531..64001a5d 100644 --- a/tdutils/td/utils/MovableValue.h +++ b/tdutils/td/utils/MovableValue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/MpmcQueue.cpp b/tdutils/td/utils/MpmcQueue.cpp index 3d51bb10..9fe7f550 100644 --- a/tdutils/td/utils/MpmcQueue.cpp +++ b/tdutils/td/utils/MpmcQueue.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/MpmcQueue.h" diff --git a/tdutils/td/utils/MpscLinkQueue.h b/tdutils/td/utils/MpscLinkQueue.h index 6f88ddf2..831616de 100644 --- a/tdutils/td/utils/MpscLinkQueue.h +++ b/tdutils/td/utils/MpscLinkQueue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/MpscPollableQueue.h b/tdutils/td/utils/MpscPollableQueue.h index 8a058779..cdace8d1 100644 --- a/tdutils/td/utils/MpscPollableQueue.h +++ b/tdutils/td/utils/MpscPollableQueue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Named.h b/tdutils/td/utils/Named.h index 49b3324c..70fadc07 100644 --- a/tdutils/td/utils/Named.h +++ b/tdutils/td/utils/Named.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/ObjectPool.h b/tdutils/td/utils/ObjectPool.h index 44cd67b5..12fb5f6b 100644 --- a/tdutils/td/utils/ObjectPool.h +++ b/tdutils/td/utils/ObjectPool.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Observer.h b/tdutils/td/utils/Observer.h index a246d4e8..32097f3b 100644 --- a/tdutils/td/utils/Observer.h +++ b/tdutils/td/utils/Observer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/OptionsParser.cpp b/tdutils/td/utils/OptionsParser.cpp index fc5e474a..4712b5ed 100644 --- a/tdutils/td/utils/OptionsParser.cpp +++ b/tdutils/td/utils/OptionsParser.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/OptionsParser.h" diff --git a/tdutils/td/utils/OptionsParser.h b/tdutils/td/utils/OptionsParser.h index 2a9e568c..a6173784 100644 --- a/tdutils/td/utils/OptionsParser.h +++ b/tdutils/td/utils/OptionsParser.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/OrderedEventsProcessor.h b/tdutils/td/utils/OrderedEventsProcessor.h index b167c804..ac223614 100644 --- a/tdutils/td/utils/OrderedEventsProcessor.h +++ b/tdutils/td/utils/OrderedEventsProcessor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Parser.h b/tdutils/td/utils/Parser.h index ed26c442..3d28132f 100644 --- a/tdutils/td/utils/Parser.h +++ b/tdutils/td/utils/Parser.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/PathView.h b/tdutils/td/utils/PathView.h index a313ea2d..f131dc79 100644 --- a/tdutils/td/utils/PathView.h +++ b/tdutils/td/utils/PathView.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Random.cpp b/tdutils/td/utils/Random.cpp index d5be75a0..252f2f85 100644 --- a/tdutils/td/utils/Random.cpp +++ b/tdutils/td/utils/Random.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Random.h" diff --git a/tdutils/td/utils/Random.h b/tdutils/td/utils/Random.h index 5ca74d62..96761c70 100644 --- a/tdutils/td/utils/Random.h +++ b/tdutils/td/utils/Random.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/ScopeGuard.h b/tdutils/td/utils/ScopeGuard.h index 6ed0c684..6e787e71 100644 --- a/tdutils/td/utils/ScopeGuard.h +++ b/tdutils/td/utils/ScopeGuard.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/SharedSlice.cpp b/tdutils/td/utils/SharedSlice.cpp index 30f034b6..08a46e7f 100644 --- a/tdutils/td/utils/SharedSlice.cpp +++ b/tdutils/td/utils/SharedSlice.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/SharedSlice.h" diff --git a/tdutils/td/utils/SharedSlice.h b/tdutils/td/utils/SharedSlice.h index ab941cb5..5f0a466c 100644 --- a/tdutils/td/utils/SharedSlice.h +++ b/tdutils/td/utils/SharedSlice.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Slice-decl.h b/tdutils/td/utils/Slice-decl.h index 5f86c337..e224fae1 100644 --- a/tdutils/td/utils/Slice-decl.h +++ b/tdutils/td/utils/Slice-decl.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Slice.cpp b/tdutils/td/utils/Slice.cpp index 734b1246..800987f2 100644 --- a/tdutils/td/utils/Slice.cpp +++ b/tdutils/td/utils/Slice.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Slice.h" #if TD_HAVE_OPENSSL diff --git a/tdutils/td/utils/Slice.h b/tdutils/td/utils/Slice.h index 2bd02c89..2aa46276 100644 --- a/tdutils/td/utils/Slice.h +++ b/tdutils/td/utils/Slice.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/SpinLock.h b/tdutils/td/utils/SpinLock.h index cec2185d..b5bb62db 100644 --- a/tdutils/td/utils/SpinLock.h +++ b/tdutils/td/utils/SpinLock.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/StackAllocator.cpp b/tdutils/td/utils/StackAllocator.cpp index 2d4e499d..76f0dbdf 100644 --- a/tdutils/td/utils/StackAllocator.cpp +++ b/tdutils/td/utils/StackAllocator.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/StackAllocator.h" diff --git a/tdutils/td/utils/StackAllocator.h b/tdutils/td/utils/StackAllocator.h index 18e2a35c..b654b1b1 100644 --- a/tdutils/td/utils/StackAllocator.h +++ b/tdutils/td/utils/StackAllocator.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Status.cpp b/tdutils/td/utils/Status.cpp index a6871d73..0dc4071e 100644 --- a/tdutils/td/utils/Status.cpp +++ b/tdutils/td/utils/Status.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Status.h" diff --git a/tdutils/td/utils/Storer.h b/tdutils/td/utils/Storer.h index 31178f43..be40a110 100644 --- a/tdutils/td/utils/Storer.h +++ b/tdutils/td/utils/Storer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/StorerBase.h b/tdutils/td/utils/StorerBase.h index f952f024..b7a33f7f 100644 --- a/tdutils/td/utils/StorerBase.h +++ b/tdutils/td/utils/StorerBase.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/StringBuilder.cpp b/tdutils/td/utils/StringBuilder.cpp index 3481bbe7..f713ab0d 100644 --- a/tdutils/td/utils/StringBuilder.cpp +++ b/tdutils/td/utils/StringBuilder.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/StringBuilder.h" diff --git a/tdutils/td/utils/ThreadLocalStorage.h b/tdutils/td/utils/ThreadLocalStorage.h index c3509824..48f48ffa 100644 --- a/tdutils/td/utils/ThreadLocalStorage.h +++ b/tdutils/td/utils/ThreadLocalStorage.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/ThreadSafeCounter.h b/tdutils/td/utils/ThreadSafeCounter.h index 52102b3d..4df48868 100644 --- a/tdutils/td/utils/ThreadSafeCounter.h +++ b/tdutils/td/utils/ThreadSafeCounter.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/ThreadLocalStorage.h" diff --git a/tdutils/td/utils/Time.cpp b/tdutils/td/utils/Time.cpp index 21fa4144..ca4a5e46 100644 --- a/tdutils/td/utils/Time.cpp +++ b/tdutils/td/utils/Time.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Time.h" diff --git a/tdutils/td/utils/Time.h b/tdutils/td/utils/Time.h index b3d47732..42fef730 100644 --- a/tdutils/td/utils/Time.h +++ b/tdutils/td/utils/Time.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/TimedStat.h b/tdutils/td/utils/TimedStat.h index 1d56bc0c..599ab68f 100644 --- a/tdutils/td/utils/TimedStat.h +++ b/tdutils/td/utils/TimedStat.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/Timer.cpp b/tdutils/td/utils/Timer.cpp index dd2a3a61..da717e95 100644 --- a/tdutils/td/utils/Timer.cpp +++ b/tdutils/td/utils/Timer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Timer.h" diff --git a/tdutils/td/utils/Timer.h b/tdutils/td/utils/Timer.h index ed5afa74..7dec45cf 100644 --- a/tdutils/td/utils/Timer.h +++ b/tdutils/td/utils/Timer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/UInt.h b/tdutils/td/utils/UInt.h index f42a40e8..550eab09 100644 --- a/tdutils/td/utils/UInt.h +++ b/tdutils/td/utils/UInt.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/VectorQueue.h b/tdutils/td/utils/VectorQueue.h index e3850c4f..549d2304 100644 --- a/tdutils/td/utils/VectorQueue.h +++ b/tdutils/td/utils/VectorQueue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/as.h b/tdutils/td/utils/as.h index 0c2b86b1..9b93b675 100644 --- a/tdutils/td/utils/as.h +++ b/tdutils/td/utils/as.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/benchmark.h b/tdutils/td/utils/benchmark.h index 8bb198dd..d2cd9b3c 100644 --- a/tdutils/td/utils/benchmark.h +++ b/tdutils/td/utils/benchmark.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/bits.h b/tdutils/td/utils/bits.h index 1197b9db..88816810 100644 --- a/tdutils/td/utils/bits.h +++ b/tdutils/td/utils/bits.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/buffer.cpp b/tdutils/td/utils/buffer.cpp index 32caacc6..07cd4857 100644 --- a/tdutils/td/utils/buffer.cpp +++ b/tdutils/td/utils/buffer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/buffer.h" diff --git a/tdutils/td/utils/buffer.h b/tdutils/td/utils/buffer.h index 51f26618..73d6f8fb 100644 --- a/tdutils/td/utils/buffer.h +++ b/tdutils/td/utils/buffer.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/check.cpp b/tdutils/td/utils/check.cpp index 3935a148..a4676d07 100644 --- a/tdutils/td/utils/check.cpp +++ b/tdutils/td/utils/check.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/check.h" diff --git a/tdutils/td/utils/check.h b/tdutils/td/utils/check.h index 93832323..29f18c69 100644 --- a/tdutils/td/utils/check.h +++ b/tdutils/td/utils/check.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/common.h b/tdutils/td/utils/common.h index dcfb7677..79d3dc52 100644 --- a/tdutils/td/utils/common.h +++ b/tdutils/td/utils/common.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/filesystem.cpp b/tdutils/td/utils/filesystem.cpp index 0d6a21a8..18fb5717 100644 --- a/tdutils/td/utils/filesystem.cpp +++ b/tdutils/td/utils/filesystem.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/filesystem.h" diff --git a/tdutils/td/utils/filesystem.h b/tdutils/td/utils/filesystem.h index a0b36e53..4cd3cdca 100644 --- a/tdutils/td/utils/filesystem.h +++ b/tdutils/td/utils/filesystem.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/find_boundary.cpp b/tdutils/td/utils/find_boundary.cpp index 632af14e..d1d21f75 100644 --- a/tdutils/td/utils/find_boundary.cpp +++ b/tdutils/td/utils/find_boundary.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/find_boundary.h" diff --git a/tdutils/td/utils/find_boundary.h b/tdutils/td/utils/find_boundary.h index e7a978f8..35a02630 100644 --- a/tdutils/td/utils/find_boundary.h +++ b/tdutils/td/utils/find_boundary.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/format.h b/tdutils/td/utils/format.h index 3d9cdda5..dda67869 100644 --- a/tdutils/td/utils/format.h +++ b/tdutils/td/utils/format.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/int_types.h b/tdutils/td/utils/int_types.h index b7fb0115..9a6c49e6 100644 --- a/tdutils/td/utils/int_types.h +++ b/tdutils/td/utils/int_types.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/invoke.h b/tdutils/td/utils/invoke.h index 63b30ba2..3eb79da8 100644 --- a/tdutils/td/utils/invoke.h +++ b/tdutils/td/utils/invoke.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/logging.cpp b/tdutils/td/utils/logging.cpp index 44479368..cf98b2f5 100644 --- a/tdutils/td/utils/logging.cpp +++ b/tdutils/td/utils/logging.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/logging.h" diff --git a/tdutils/td/utils/logging.h b/tdutils/td/utils/logging.h index 04d17992..0cccadc1 100644 --- a/tdutils/td/utils/logging.h +++ b/tdutils/td/utils/logging.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/misc.cpp b/tdutils/td/utils/misc.cpp index 827d223c..c3e9ff94 100644 --- a/tdutils/td/utils/misc.cpp +++ b/tdutils/td/utils/misc.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/misc.h" diff --git a/tdutils/td/utils/overloaded.h b/tdutils/td/utils/overloaded.h index 176f0efe..492dbc3e 100644 --- a/tdutils/td/utils/overloaded.h +++ b/tdutils/td/utils/overloaded.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/Clocks.cpp b/tdutils/td/utils/port/Clocks.cpp index 9c0543a5..bd856a8d 100644 --- a/tdutils/td/utils/port/Clocks.cpp +++ b/tdutils/td/utils/port/Clocks.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/Clocks.h" diff --git a/tdutils/td/utils/port/Clocks.h b/tdutils/td/utils/port/Clocks.h index d64db3e4..d1e12aa3 100644 --- a/tdutils/td/utils/port/Clocks.h +++ b/tdutils/td/utils/port/Clocks.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/CxCli.h b/tdutils/td/utils/port/CxCli.h index cac9493e..1a38977c 100644 --- a/tdutils/td/utils/port/CxCli.h +++ b/tdutils/td/utils/port/CxCli.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/EventFd.h b/tdutils/td/utils/port/EventFd.h index 63dad159..99e70cdf 100644 --- a/tdutils/td/utils/port/EventFd.h +++ b/tdutils/td/utils/port/EventFd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/EventFdBase.h b/tdutils/td/utils/port/EventFdBase.h index 5112ae48..86bdfe6e 100644 --- a/tdutils/td/utils/port/EventFdBase.h +++ b/tdutils/td/utils/port/EventFdBase.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/FileFd.cpp b/tdutils/td/utils/port/FileFd.cpp index 37e26274..057da729 100644 --- a/tdutils/td/utils/port/FileFd.cpp +++ b/tdutils/td/utils/port/FileFd.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/FileFd.h" diff --git a/tdutils/td/utils/port/FileFd.h b/tdutils/td/utils/port/FileFd.h index a69a4aba..cec3d018 100644 --- a/tdutils/td/utils/port/FileFd.h +++ b/tdutils/td/utils/port/FileFd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/IPAddress.cpp b/tdutils/td/utils/port/IPAddress.cpp index 9862091d..d6aea705 100644 --- a/tdutils/td/utils/port/IPAddress.cpp +++ b/tdutils/td/utils/port/IPAddress.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #define _WINSOCK_DEPRECATED_NO_WARNINGS // we need to use inet_addr instead of inet_pton diff --git a/tdutils/td/utils/port/IPAddress.h b/tdutils/td/utils/port/IPAddress.h index aecbfe7f..17386582 100644 --- a/tdutils/td/utils/port/IPAddress.h +++ b/tdutils/td/utils/port/IPAddress.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/IoSlice.h b/tdutils/td/utils/port/IoSlice.h index 12e97489..1ace3bfd 100644 --- a/tdutils/td/utils/port/IoSlice.h +++ b/tdutils/td/utils/port/IoSlice.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/MemoryMapping.cpp b/tdutils/td/utils/port/MemoryMapping.cpp index ae33cb64..8a1edb54 100644 --- a/tdutils/td/utils/port/MemoryMapping.cpp +++ b/tdutils/td/utils/port/MemoryMapping.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/MemoryMapping.h" diff --git a/tdutils/td/utils/port/MemoryMapping.h b/tdutils/td/utils/port/MemoryMapping.h index 23ad6252..0b4afc61 100644 --- a/tdutils/td/utils/port/MemoryMapping.h +++ b/tdutils/td/utils/port/MemoryMapping.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/Poll.h b/tdutils/td/utils/port/Poll.h index 35b7e46f..339ae678 100644 --- a/tdutils/td/utils/port/Poll.h +++ b/tdutils/td/utils/port/Poll.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/PollBase.h b/tdutils/td/utils/port/PollBase.h index 27357702..b57a7680 100644 --- a/tdutils/td/utils/port/PollBase.h +++ b/tdutils/td/utils/port/PollBase.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/PollFlags.cpp b/tdutils/td/utils/port/PollFlags.cpp index 092e0e86..5e8b141a 100644 --- a/tdutils/td/utils/port/PollFlags.cpp +++ b/tdutils/td/utils/port/PollFlags.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/PollFlags.h" diff --git a/tdutils/td/utils/port/PollFlags.h b/tdutils/td/utils/port/PollFlags.h index f920d537..685a74a4 100644 --- a/tdutils/td/utils/port/PollFlags.h +++ b/tdutils/td/utils/port/PollFlags.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/RwMutex.h b/tdutils/td/utils/port/RwMutex.h index abe3a6a2..93ea82b5 100644 --- a/tdutils/td/utils/port/RwMutex.h +++ b/tdutils/td/utils/port/RwMutex.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/ServerSocketFd.cpp b/tdutils/td/utils/port/ServerSocketFd.cpp index 2aba2315..00035640 100644 --- a/tdutils/td/utils/port/ServerSocketFd.cpp +++ b/tdutils/td/utils/port/ServerSocketFd.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/ServerSocketFd.h" diff --git a/tdutils/td/utils/port/ServerSocketFd.h b/tdutils/td/utils/port/ServerSocketFd.h index c13c3c6e..1ed389fb 100644 --- a/tdutils/td/utils/port/ServerSocketFd.h +++ b/tdutils/td/utils/port/ServerSocketFd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/SocketFd.cpp b/tdutils/td/utils/port/SocketFd.cpp index 090b9672..c1fd515c 100644 --- a/tdutils/td/utils/port/SocketFd.cpp +++ b/tdutils/td/utils/port/SocketFd.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/SocketFd.h" diff --git a/tdutils/td/utils/port/SocketFd.h b/tdutils/td/utils/port/SocketFd.h index c19957c4..8dc8a5ea 100644 --- a/tdutils/td/utils/port/SocketFd.h +++ b/tdutils/td/utils/port/SocketFd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/Stat.cpp b/tdutils/td/utils/port/Stat.cpp index 1e57ef22..45d09129 100644 --- a/tdutils/td/utils/port/Stat.cpp +++ b/tdutils/td/utils/port/Stat.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/Stat.h" diff --git a/tdutils/td/utils/port/Stat.h b/tdutils/td/utils/port/Stat.h index 5f8c002b..b3e6a74e 100644 --- a/tdutils/td/utils/port/Stat.h +++ b/tdutils/td/utils/port/Stat.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/StdStreams.cpp b/tdutils/td/utils/port/StdStreams.cpp index f3d15013..fd360514 100644 --- a/tdutils/td/utils/port/StdStreams.cpp +++ b/tdutils/td/utils/port/StdStreams.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/StdStreams.h" diff --git a/tdutils/td/utils/port/StdStreams.h b/tdutils/td/utils/port/StdStreams.h index 28d3cd19..68e48b0f 100644 --- a/tdutils/td/utils/port/StdStreams.h +++ b/tdutils/td/utils/port/StdStreams.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/UdpSocketFd.cpp b/tdutils/td/utils/port/UdpSocketFd.cpp index 390cbc02..0d7c6f94 100644 --- a/tdutils/td/utils/port/UdpSocketFd.cpp +++ b/tdutils/td/utils/port/UdpSocketFd.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/UdpSocketFd.h" diff --git a/tdutils/td/utils/port/UdpSocketFd.h b/tdutils/td/utils/port/UdpSocketFd.h index 7f50c2ff..840576f3 100644 --- a/tdutils/td/utils/port/UdpSocketFd.h +++ b/tdutils/td/utils/port/UdpSocketFd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/config.h b/tdutils/td/utils/port/config.h index cdc7c6d5..2bd671b0 100644 --- a/tdutils/td/utils/port/config.h +++ b/tdutils/td/utils/port/config.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/Epoll.h b/tdutils/td/utils/port/detail/Epoll.h index 8a915420..a8e25e3a 100644 --- a/tdutils/td/utils/port/detail/Epoll.h +++ b/tdutils/td/utils/port/detail/Epoll.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/EventFdBsd.cpp b/tdutils/td/utils/port/detail/EventFdBsd.cpp index 4afa1b84..12bf4828 100644 --- a/tdutils/td/utils/port/detail/EventFdBsd.cpp +++ b/tdutils/td/utils/port/detail/EventFdBsd.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/EventFdBsd.h" diff --git a/tdutils/td/utils/port/detail/EventFdBsd.h b/tdutils/td/utils/port/detail/EventFdBsd.h index c7b29700..18a3a260 100644 --- a/tdutils/td/utils/port/detail/EventFdBsd.h +++ b/tdutils/td/utils/port/detail/EventFdBsd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/EventFdLinux.cpp b/tdutils/td/utils/port/detail/EventFdLinux.cpp index 8b4384a1..641f5565 100644 --- a/tdutils/td/utils/port/detail/EventFdLinux.cpp +++ b/tdutils/td/utils/port/detail/EventFdLinux.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/EventFdLinux.h" diff --git a/tdutils/td/utils/port/detail/EventFdLinux.h b/tdutils/td/utils/port/detail/EventFdLinux.h index 56c41bae..6fa748d9 100644 --- a/tdutils/td/utils/port/detail/EventFdLinux.h +++ b/tdutils/td/utils/port/detail/EventFdLinux.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/EventFdWindows.cpp b/tdutils/td/utils/port/detail/EventFdWindows.cpp index 4f675e64..e4656b44 100644 --- a/tdutils/td/utils/port/detail/EventFdWindows.cpp +++ b/tdutils/td/utils/port/detail/EventFdWindows.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/EventFdWindows.h" diff --git a/tdutils/td/utils/port/detail/EventFdWindows.h b/tdutils/td/utils/port/detail/EventFdWindows.h index 4f77a6ab..442020bd 100644 --- a/tdutils/td/utils/port/detail/EventFdWindows.h +++ b/tdutils/td/utils/port/detail/EventFdWindows.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/Iocp.cpp b/tdutils/td/utils/port/detail/Iocp.cpp index ef8e4a99..af97d2c8 100644 --- a/tdutils/td/utils/port/detail/Iocp.cpp +++ b/tdutils/td/utils/port/detail/Iocp.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/Iocp.h" diff --git a/tdutils/td/utils/port/detail/Iocp.h b/tdutils/td/utils/port/detail/Iocp.h index c366d99c..6947d85e 100644 --- a/tdutils/td/utils/port/detail/Iocp.h +++ b/tdutils/td/utils/port/detail/Iocp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/KQueue.cpp b/tdutils/td/utils/port/detail/KQueue.cpp index 97114206..3ed0a3ad 100644 --- a/tdutils/td/utils/port/detail/KQueue.cpp +++ b/tdutils/td/utils/port/detail/KQueue.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/KQueue.h" diff --git a/tdutils/td/utils/port/detail/KQueue.h b/tdutils/td/utils/port/detail/KQueue.h index 80e6572b..f5a8c693 100644 --- a/tdutils/td/utils/port/detail/KQueue.h +++ b/tdutils/td/utils/port/detail/KQueue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/NativeFd.cpp b/tdutils/td/utils/port/detail/NativeFd.cpp index 3f52159e..a21cc281 100644 --- a/tdutils/td/utils/port/detail/NativeFd.cpp +++ b/tdutils/td/utils/port/detail/NativeFd.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/NativeFd.h" diff --git a/tdutils/td/utils/port/detail/NativeFd.h b/tdutils/td/utils/port/detail/NativeFd.h index 76284e92..fac6b4ed 100644 --- a/tdutils/td/utils/port/detail/NativeFd.h +++ b/tdutils/td/utils/port/detail/NativeFd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/Poll.cpp b/tdutils/td/utils/port/detail/Poll.cpp index 25f6f4cb..f43804ee 100644 --- a/tdutils/td/utils/port/detail/Poll.cpp +++ b/tdutils/td/utils/port/detail/Poll.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/Poll.h" diff --git a/tdutils/td/utils/port/detail/Poll.h b/tdutils/td/utils/port/detail/Poll.h index 5ad03123..81ffd6eb 100644 --- a/tdutils/td/utils/port/detail/Poll.h +++ b/tdutils/td/utils/port/detail/Poll.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/PollableFd.h b/tdutils/td/utils/port/detail/PollableFd.h index 4fd517a3..73c6dd7d 100644 --- a/tdutils/td/utils/port/detail/PollableFd.h +++ b/tdutils/td/utils/port/detail/PollableFd.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/Select.cpp b/tdutils/td/utils/port/detail/Select.cpp index 1f328f25..eab58e7e 100644 --- a/tdutils/td/utils/port/detail/Select.cpp +++ b/tdutils/td/utils/port/detail/Select.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/Select.h" diff --git a/tdutils/td/utils/port/detail/Select.h b/tdutils/td/utils/port/detail/Select.h index a40f7b7f..a50c26e9 100644 --- a/tdutils/td/utils/port/detail/Select.h +++ b/tdutils/td/utils/port/detail/Select.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/ThreadIdGuard.cpp b/tdutils/td/utils/port/detail/ThreadIdGuard.cpp index 6ec68a17..8e4b89ed 100644 --- a/tdutils/td/utils/port/detail/ThreadIdGuard.cpp +++ b/tdutils/td/utils/port/detail/ThreadIdGuard.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/ThreadIdGuard.h" diff --git a/tdutils/td/utils/port/detail/ThreadIdGuard.h b/tdutils/td/utils/port/detail/ThreadIdGuard.h index d74694d1..7b64b833 100644 --- a/tdutils/td/utils/port/detail/ThreadIdGuard.h +++ b/tdutils/td/utils/port/detail/ThreadIdGuard.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/ThreadPthread.h b/tdutils/td/utils/port/detail/ThreadPthread.h index 9dad700b..5d45d5a3 100644 --- a/tdutils/td/utils/port/detail/ThreadPthread.h +++ b/tdutils/td/utils/port/detail/ThreadPthread.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/ThreadStl.h b/tdutils/td/utils/port/detail/ThreadStl.h index 0bd5c21c..d7928f17 100644 --- a/tdutils/td/utils/port/detail/ThreadStl.h +++ b/tdutils/td/utils/port/detail/ThreadStl.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/detail/WineventPoll.cpp b/tdutils/td/utils/port/detail/WineventPoll.cpp index ef62fad5..f93b2606 100644 --- a/tdutils/td/utils/port/detail/WineventPoll.cpp +++ b/tdutils/td/utils/port/detail/WineventPoll.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/detail/WineventPoll.h" diff --git a/tdutils/td/utils/port/detail/WineventPoll.h b/tdutils/td/utils/port/detail/WineventPoll.h index fc6d0439..7bca8d47 100644 --- a/tdutils/td/utils/port/detail/WineventPoll.h +++ b/tdutils/td/utils/port/detail/WineventPoll.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/path.cpp b/tdutils/td/utils/port/path.cpp index 36cb2ed2..2d9c11b0 100644 --- a/tdutils/td/utils/port/path.cpp +++ b/tdutils/td/utils/port/path.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/path.h" diff --git a/tdutils/td/utils/port/path.h b/tdutils/td/utils/port/path.h index aa6c2d5d..99daa368 100644 --- a/tdutils/td/utils/port/path.h +++ b/tdutils/td/utils/port/path.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/platform.h b/tdutils/td/utils/port/platform.h index 821685e2..783dd399 100644 --- a/tdutils/td/utils/port/platform.h +++ b/tdutils/td/utils/port/platform.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/signals.cpp b/tdutils/td/utils/port/signals.cpp index ef5b5a1e..fc49b628 100644 --- a/tdutils/td/utils/port/signals.cpp +++ b/tdutils/td/utils/port/signals.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/signals.h" diff --git a/tdutils/td/utils/port/signals.h b/tdutils/td/utils/port/signals.h index 2b8d826f..50d59bb4 100644 --- a/tdutils/td/utils/port/signals.h +++ b/tdutils/td/utils/port/signals.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/sleep.cpp b/tdutils/td/utils/port/sleep.cpp index 22f3401e..7351e608 100644 --- a/tdutils/td/utils/port/sleep.cpp +++ b/tdutils/td/utils/port/sleep.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/sleep.h" diff --git a/tdutils/td/utils/port/sleep.h b/tdutils/td/utils/port/sleep.h index ad850a28..e1630a40 100644 --- a/tdutils/td/utils/port/sleep.h +++ b/tdutils/td/utils/port/sleep.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/stacktrace.cpp b/tdutils/td/utils/port/stacktrace.cpp index 6429de33..d2bfafa5 100644 --- a/tdutils/td/utils/port/stacktrace.cpp +++ b/tdutils/td/utils/port/stacktrace.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/stacktrace.h" diff --git a/tdutils/td/utils/port/stacktrace.h b/tdutils/td/utils/port/stacktrace.h index ec1969ec..ed9117bf 100644 --- a/tdutils/td/utils/port/stacktrace.h +++ b/tdutils/td/utils/port/stacktrace.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/thread.h b/tdutils/td/utils/port/thread.h index d24e13ba..d7955c55 100644 --- a/tdutils/td/utils/port/thread.h +++ b/tdutils/td/utils/port/thread.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/thread_local.cpp b/tdutils/td/utils/port/thread_local.cpp index d75c3397..3ac552dd 100644 --- a/tdutils/td/utils/port/thread_local.cpp +++ b/tdutils/td/utils/port/thread_local.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/thread_local.h" diff --git a/tdutils/td/utils/port/thread_local.h b/tdutils/td/utils/port/thread_local.h index 4751f642..eb5ca77d 100644 --- a/tdutils/td/utils/port/thread_local.h +++ b/tdutils/td/utils/port/thread_local.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/port/wstring_convert.cpp b/tdutils/td/utils/port/wstring_convert.cpp index 62fca856..0e0515d5 100644 --- a/tdutils/td/utils/port/wstring_convert.cpp +++ b/tdutils/td/utils/port/wstring_convert.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/port/wstring_convert.h" diff --git a/tdutils/td/utils/port/wstring_convert.h b/tdutils/td/utils/port/wstring_convert.h index 3b2bc000..18b008c7 100644 --- a/tdutils/td/utils/port/wstring_convert.h +++ b/tdutils/td/utils/port/wstring_convert.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/queue.h b/tdutils/td/utils/queue.h index c52b0d02..f1d9f58c 100644 --- a/tdutils/td/utils/queue.h +++ b/tdutils/td/utils/queue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/tests.cpp b/tdutils/td/utils/tests.cpp index 054f8113..6263c60b 100644 --- a/tdutils/td/utils/tests.cpp +++ b/tdutils/td/utils/tests.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" diff --git a/tdutils/td/utils/tests.h b/tdutils/td/utils/tests.h index 464fa0ea..d7a6e343 100644 --- a/tdutils/td/utils/tests.h +++ b/tdutils/td/utils/tests.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/tl_helpers.h b/tdutils/td/utils/tl_helpers.h index df89ed1a..b44ac6c4 100644 --- a/tdutils/td/utils/tl_helpers.h +++ b/tdutils/td/utils/tl_helpers.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/tl_parsers.cpp b/tdutils/td/utils/tl_parsers.cpp index 26212beb..af660964 100644 --- a/tdutils/td/utils/tl_parsers.cpp +++ b/tdutils/td/utils/tl_parsers.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tl_parsers.h" diff --git a/tdutils/td/utils/tl_parsers.h b/tdutils/td/utils/tl_parsers.h index e0fc4194..8f13492c 100644 --- a/tdutils/td/utils/tl_parsers.h +++ b/tdutils/td/utils/tl_parsers.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/tl_storers.h b/tdutils/td/utils/tl_storers.h index 5e0e10a5..3190fb05 100644 --- a/tdutils/td/utils/tl_storers.h +++ b/tdutils/td/utils/tl_storers.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/translit.cpp b/tdutils/td/utils/translit.cpp index 9a5537ac..f63e0e91 100644 --- a/tdutils/td/utils/translit.cpp +++ b/tdutils/td/utils/translit.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/translit.h" diff --git a/tdutils/td/utils/translit.h b/tdutils/td/utils/translit.h index 2dcfb34b..dd8a1f72 100644 --- a/tdutils/td/utils/translit.h +++ b/tdutils/td/utils/translit.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/type_traits.h b/tdutils/td/utils/type_traits.h index c11316c8..f9ced606 100644 --- a/tdutils/td/utils/type_traits.h +++ b/tdutils/td/utils/type_traits.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/uint128.h b/tdutils/td/utils/uint128.h index 08ba97b8..8e17493a 100644 --- a/tdutils/td/utils/uint128.h +++ b/tdutils/td/utils/uint128.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/unicode.cpp b/tdutils/td/utils/unicode.cpp index 997ec7fc..6e98592d 100644 --- a/tdutils/td/utils/unicode.cpp +++ b/tdutils/td/utils/unicode.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/unicode.h" diff --git a/tdutils/td/utils/unicode.h b/tdutils/td/utils/unicode.h index b2a92499..dd96a980 100644 --- a/tdutils/td/utils/unicode.h +++ b/tdutils/td/utils/unicode.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/unique_ptr.h b/tdutils/td/utils/unique_ptr.h index eed4cb65..1ec629a8 100644 --- a/tdutils/td/utils/unique_ptr.h +++ b/tdutils/td/utils/unique_ptr.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/td/utils/utf8.cpp b/tdutils/td/utils/utf8.cpp index f616cff7..9872143e 100644 --- a/tdutils/td/utils/utf8.cpp +++ b/tdutils/td/utils/utf8.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/utf8.h" diff --git a/tdutils/td/utils/utf8.h b/tdutils/td/utils/utf8.h index e338e1b7..7dd7e379 100644 --- a/tdutils/td/utils/utf8.h +++ b/tdutils/td/utils/utf8.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tdutils/test/Enumerator.cpp b/tdutils/test/Enumerator.cpp index fa0409c6..2bc8ea25 100644 --- a/tdutils/test/Enumerator.cpp +++ b/tdutils/test/Enumerator.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Enumerator.h" #include "td/utils/tests.h" diff --git a/tdutils/test/EpochBasedMemoryReclamation.cpp b/tdutils/test/EpochBasedMemoryReclamation.cpp index f7e4725f..5e8e2986 100644 --- a/tdutils/test/EpochBasedMemoryReclamation.cpp +++ b/tdutils/test/EpochBasedMemoryReclamation.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/common.h" #include "td/utils/EpochBasedMemoryReclamation.h" diff --git a/tdutils/test/HazardPointers.cpp b/tdutils/test/HazardPointers.cpp index 1c47158b..49e28819 100644 --- a/tdutils/test/HazardPointers.cpp +++ b/tdutils/test/HazardPointers.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/common.h" #include "td/utils/HazardPointers.h" diff --git a/tdutils/test/MpmcQueue.cpp b/tdutils/test/MpmcQueue.cpp index 2f88177b..5ede9af5 100644 --- a/tdutils/test/MpmcQueue.cpp +++ b/tdutils/test/MpmcQueue.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/common.h" #include "td/utils/logging.h" diff --git a/tdutils/test/MpscLinkQueue.cpp b/tdutils/test/MpscLinkQueue.cpp index c7243ce0..e8f78802 100644 --- a/tdutils/test/MpscLinkQueue.cpp +++ b/tdutils/test/MpscLinkQueue.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/common.h" #include "td/utils/format.h" diff --git a/tdutils/test/OrderedEventsProcessor.cpp b/tdutils/test/OrderedEventsProcessor.cpp index 487a70c0..434fcabe 100644 --- a/tdutils/test/OrderedEventsProcessor.cpp +++ b/tdutils/test/OrderedEventsProcessor.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/OrderedEventsProcessor.h" #include "td/utils/Random.h" diff --git a/tdutils/test/SharedObjectPool.cpp b/tdutils/test/SharedObjectPool.cpp index b6d42ebe..868438fb 100644 --- a/tdutils/test/SharedObjectPool.cpp +++ b/tdutils/test/SharedObjectPool.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/common.h" #include "td/utils/SharedObjectPool.h" diff --git a/tdutils/test/SharedSlice.cpp b/tdutils/test/SharedSlice.cpp index af1b2ad6..b9b6ea3f 100644 --- a/tdutils/test/SharedSlice.cpp +++ b/tdutils/test/SharedSlice.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" #include "td/utils/SharedSlice.h" diff --git a/tdutils/test/buffer.cpp b/tdutils/test/buffer.cpp index ff3af4b1..0d691da3 100644 --- a/tdutils/test/buffer.cpp +++ b/tdutils/test/buffer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" diff --git a/tdutils/test/crypto.cpp b/tdutils/test/crypto.cpp index b965b428..e958878b 100644 --- a/tdutils/test/crypto.cpp +++ b/tdutils/test/crypto.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/base64.h" #include "td/utils/benchmark.h" diff --git a/tdutils/test/filesystem.cpp b/tdutils/test/filesystem.cpp index 3abdb54f..ab9b2d84 100644 --- a/tdutils/test/filesystem.cpp +++ b/tdutils/test/filesystem.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/filesystem.h" #include "td/utils/tests.h" diff --git a/tdutils/test/gzip.cpp b/tdutils/test/gzip.cpp index c1e9306e..3e27ae67 100644 --- a/tdutils/test/gzip.cpp +++ b/tdutils/test/gzip.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/buffer.h" #include "td/utils/ByteFlow.h" diff --git a/tdutils/test/heap.cpp b/tdutils/test/heap.cpp index 1eef4330..8a20216b 100644 --- a/tdutils/test/heap.cpp +++ b/tdutils/test/heap.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" diff --git a/tdutils/test/json.cpp b/tdutils/test/json.cpp index 80ffa2e9..c7f34688 100644 --- a/tdutils/test/json.cpp +++ b/tdutils/test/json.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" diff --git a/tdutils/test/port.cpp b/tdutils/test/port.cpp index b8e38907..88217d00 100644 --- a/tdutils/test/port.cpp +++ b/tdutils/test/port.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/common.h" #include "td/utils/logging.h" diff --git a/tdutils/test/pq.cpp b/tdutils/test/pq.cpp index bfe2e1e1..e9009e2e 100644 --- a/tdutils/test/pq.cpp +++ b/tdutils/test/pq.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" diff --git a/tdutils/test/variant.cpp b/tdutils/test/variant.cpp index 961d8298..5fbbde16 100644 --- a/tdutils/test/variant.cpp +++ b/tdutils/test/variant.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/Slice.h" #include "td/utils/StringBuilder.h" diff --git a/test/ed25519_crypto.cpp b/test/ed25519_crypto.cpp index 7b5fbc21..371b7247 100644 --- a/test/ed25519_crypto.cpp +++ b/test/ed25519_crypto.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include #include diff --git a/test/test-catchain.cpp b/test/test-catchain.cpp index 2281cc48..d43e17d5 100644 --- a/test/test-catchain.cpp +++ b/test/test-catchain.cpp @@ -131,7 +131,7 @@ class CatChainInst : public td::actor::Actor { } catchain_ = ton::catchain::CatChain::create(make_callback(), opts, keyring_, adnl_, overlay_manager_, std::move(nodes), - nodes_[idx_].id, unique_hash_, std::string(""), false); + nodes_[idx_].id, unique_hash_, std::string(""), "", false); } CatChainInst(td::actor::ActorId keyring, td::actor::ActorId adnl, diff --git a/test/test-ext-client.cpp b/test/test-ext-client.cpp index 6f216769..da0f6729 100644 --- a/test/test-ext-client.cpp +++ b/test/test-ext-client.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl.h" #include "adnl/utils.hpp" diff --git a/test/test-ext-server.cpp b/test/test-ext-server.cpp index 758abd29..aa6c9132 100644 --- a/test/test-ext-server.cpp +++ b/test/test-ext-server.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl.h" #include "adnl/utils.hpp" diff --git a/test/test-hello-world.cpp b/test/test-hello-world.cpp index 3a659f57..71d4ba01 100644 --- a/test/test-hello-world.cpp +++ b/test/test-hello-world.cpp @@ -23,7 +23,7 @@ from all source files in the program, then also delete it here. along with TON Blockchain. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include diff --git a/test/test-node.cpp b/test/test-node.cpp index 86596ab3..51c23777 100644 --- a/test/test-node.cpp +++ b/test/test-node.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl.h" #include "adnl/utils.hpp" diff --git a/test/test-td-main.cpp b/test/test-td-main.cpp index ce9976a7..0ceb8bd5 100644 --- a/test/test-td-main.cpp +++ b/test/test-td-main.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/tests.h" #include "td/utils/misc.h" diff --git a/test/test-ton-collator.cpp b/test/test-ton-collator.cpp index 1fd6c091..8c0a50f7 100644 --- a/test/test-ton-collator.cpp +++ b/test/test-ton-collator.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl.h" #include "adnl/utils.hpp" diff --git a/test/test-validator-session-state.cpp b/test/test-validator-session-state.cpp index 5c28380e..819c1cc2 100644 --- a/test/test-validator-session-state.cpp +++ b/test/test-validator-session-state.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl.h" diff --git a/test/test-validator-session.cpp b/test/test-validator-session.cpp index f496500b..2878a7b1 100644 --- a/test/test-validator-session.cpp +++ b/test/test-validator-session.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl.h" #include "rldp/rldp.h" diff --git a/test/test-validator.cpp b/test/test-validator.cpp index a6e49f43..473b29fe 100644 --- a/test/test-validator.cpp +++ b/test/test-validator.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "adnl/adnl.h" #include "rldp/rldp.h" diff --git a/tl-utils/common-utils.hpp b/tl-utils/common-utils.hpp index 388202b6..fbda82ce 100644 --- a/tl-utils/common-utils.hpp +++ b/tl-utils/common-utils.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "tl/tl_object_parse.h" diff --git a/tl-utils/lite-utils.cpp b/tl-utils/lite-utils.cpp index fd8f1620..cd2ace0a 100644 --- a/tl-utils/lite-utils.cpp +++ b/tl-utils/lite-utils.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl-utils.hpp" #include "tl/tl_object_store.h" diff --git a/tl-utils/lite-utils.hpp b/tl-utils/lite-utils.hpp index e09099ac..520ff710 100644 --- a/tl-utils/lite-utils.hpp +++ b/tl-utils/lite-utils.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl-utils/tl-utils.cpp b/tl-utils/tl-utils.cpp index df165be1..dc2c2ec0 100644 --- a/tl-utils/tl-utils.cpp +++ b/tl-utils/tl-utils.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl-utils.hpp" #include "tl/tl_object_store.h" diff --git a/tl-utils/tl-utils.hpp b/tl-utils/tl-utils.hpp index 94c359ba..e46d6f96 100644 --- a/tl-utils/tl-utils.hpp +++ b/tl-utils/tl-utils.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/generate_common.cpp b/tl/generate/generate_common.cpp index dff61f91..cf6e89a4 100644 --- a/tl/generate/generate_common.cpp +++ b/tl/generate/generate_common.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_writer_cpp.h" #include "tl_writer_h.h" diff --git a/tl/generate/generate_java.cpp b/tl/generate/generate_java.cpp index d63c7d47..8f2bc31b 100644 --- a/tl/generate/generate_java.cpp +++ b/tl/generate/generate_java.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_writer_java.h" diff --git a/tl/generate/scheme/ton_api.tl b/tl/generate/scheme/ton_api.tl index 3886e962..2dae941e 100644 --- a/tl/generate/scheme/ton_api.tl +++ b/tl/generate/scheme/ton_api.tl @@ -303,6 +303,8 @@ validatorSession.candidate src:int256 round:int root_hash:int256 data:bytes coll validatorSession.config catchain_idle_timeout:double catchain_max_deps:int round_candidates:int next_candidate_delay:double round_attempt_duration:int max_round_attempts:int max_block_size:int max_collated_data_size:int = validatorSession.Config; +validatorSession.configNew catchain_idle_timeout:double catchain_max_deps:int round_candidates:int next_candidate_delay:double round_attempt_duration:int + max_round_attempts:int max_block_size:int max_collated_data_size:int new_catchain_ids:Bool = validatorSession.Config; ---functions--- @@ -515,6 +517,7 @@ db.files.package.value package_id:int key:Bool temp:Bool firstblocks:(vector db. validator.groupMember public_key_hash:int256 adnl:int256 weight:long = engine.validator.GroupMember; validator.group workchain:int shard:long catchain_seqno:int config_hash:int256 members:(vector validator.groupMember) = validator.Group; validator.groupEx workchain:int shard:long vertical_seqno:int catchain_seqno:int config_hash:int256 members:(vector validator.groupMember) = validator.Group; +validator.groupNew workchain:int shard:long vertical_seqno:int last_key_block_seqno:int catchain_seqno:int config_hash:int256 members:(vector validator.groupMember) = validator.Group; ---functions--- diff --git a/tl/generate/scheme/ton_api.tlo b/tl/generate/scheme/ton_api.tlo index 77ebc34f32dddb73a593c9ce0229680e48f41339..b26e1fa0424e67c6ed4124ffca7ccd4b975b6505 100644 GIT binary patch delta 295 zcmbPph55oQ<_#qZqC%56Yxv6&b23vBOY)2K+>7!{3z#Q5if>+^Ai>BIA9Bud@*YKr zi4GE*-zZ8jGHP#TRd%1i0@5`(VDl9SLt~2yRAkE^Ly!~$6kL_#it%0OJVOX!K|06+ zztnODkh+`4gnZa1e@yb8ykLt4zerAEaY=l3YGr&j%!|)VDW1HsTOMKs%WesM0D}x_z5oCK delta 120 zcmca`i+Ro!<_#qZBJsvvPx#9cb23vBOY)2K+>7!{3nn^9Y+j%s!N_v>Z{oJedlV%m zw+KmWexoSC$f&uQRoQ(43rN@GfX!DR42>-+P?0Tvz>Li+wi&R1b#K12s|I4uW{Z6i F`T%JxGH3t* diff --git a/tl/generate/tl_json_converter.cpp b/tl/generate/tl_json_converter.cpp index d993cb5d..97d372f4 100644 --- a/tl/generate/tl_json_converter.cpp +++ b/tl/generate/tl_json_converter.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_json_converter.h" diff --git a/tl/generate/tl_json_converter.h b/tl/generate/tl_json_converter.h index 7b69bc03..5ac9fe81 100644 --- a/tl/generate/tl_json_converter.h +++ b/tl/generate/tl_json_converter.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/tl_writer_cpp.cpp b/tl/generate/tl_writer_cpp.cpp index 32974312..6aff5d68 100644 --- a/tl/generate/tl_writer_cpp.cpp +++ b/tl/generate/tl_writer_cpp.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_writer_cpp.h" diff --git a/tl/generate/tl_writer_cpp.h b/tl/generate/tl_writer_cpp.h index 025dc1e3..2698161b 100644 --- a/tl/generate/tl_writer_cpp.h +++ b/tl/generate/tl_writer_cpp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/tl_writer_h.cpp b/tl/generate/tl_writer_h.cpp index 559e5ddd..cc3f4e48 100644 --- a/tl/generate/tl_writer_h.cpp +++ b/tl/generate/tl_writer_h.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_writer_h.h" diff --git a/tl/generate/tl_writer_h.h b/tl/generate/tl_writer_h.h index 70b24da7..00c9a79d 100644 --- a/tl/generate/tl_writer_h.h +++ b/tl/generate/tl_writer_h.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/tl_writer_hpp.cpp b/tl/generate/tl_writer_hpp.cpp index d7fd15cc..028aa927 100644 --- a/tl/generate/tl_writer_hpp.cpp +++ b/tl/generate/tl_writer_hpp.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_writer_hpp.h" diff --git a/tl/generate/tl_writer_hpp.h b/tl/generate/tl_writer_hpp.h index 4c435fde..f892e428 100644 --- a/tl/generate/tl_writer_hpp.h +++ b/tl/generate/tl_writer_hpp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/tl_writer_java.h b/tl/generate/tl_writer_java.h index ea58412e..e1f11c31 100644 --- a/tl/generate/tl_writer_java.h +++ b/tl/generate/tl_writer_java.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/tl_writer_jni_cpp.h b/tl/generate/tl_writer_jni_cpp.h index b04eede9..f9cc8fed 100644 --- a/tl/generate/tl_writer_jni_cpp.h +++ b/tl/generate/tl_writer_jni_cpp.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/tl_writer_jni_h.h b/tl/generate/tl_writer_jni_h.h index a4194eb2..0d0f7f85 100644 --- a/tl/generate/tl_writer_jni_h.h +++ b/tl/generate/tl_writer_jni_h.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/generate/tl_writer_td.h b/tl/generate/tl_writer_td.h index ae7885b1..53a297b1 100644 --- a/tl/generate/tl_writer_td.h +++ b/tl/generate/tl_writer_td.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/tl/TlObject.h b/tl/tl/TlObject.h index b98996b0..a781187a 100644 --- a/tl/tl/TlObject.h +++ b/tl/tl/TlObject.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/tl/tl_jni_object.cpp b/tl/tl/tl_jni_object.cpp index ab6add81..7f98ed40 100644 --- a/tl/tl/tl_jni_object.cpp +++ b/tl/tl/tl_jni_object.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tl_jni_object.h" diff --git a/tl/tl/tl_jni_object.h b/tl/tl/tl_jni_object.h index 24af4462..4ab385f3 100644 --- a/tl/tl/tl_jni_object.h +++ b/tl/tl/tl_jni_object.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/tl/tl_json.h b/tl/tl/tl_json.h index b39ac35e..b171ecba 100644 --- a/tl/tl/tl_json.h +++ b/tl/tl/tl_json.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/tl/tl_object_parse.h b/tl/tl/tl_object_parse.h index f3efd47c..aa621d89 100644 --- a/tl/tl/tl_object_parse.h +++ b/tl/tl/tl_object_parse.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tl/tl/tl_object_store.h b/tl/tl/tl_object_store.h index c484923b..fef7eec5 100644 --- a/tl/tl/tl_object_store.h +++ b/tl/tl/tl_object_store.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/ton/lite-tl.hpp b/ton/lite-tl.hpp index 649b621b..024748fd 100644 --- a/ton/lite-tl.hpp +++ b/ton/lite-tl.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/ton/ton-io.hpp b/ton/ton-io.hpp index a6e0610e..1905dc5f 100644 --- a/ton/ton-io.hpp +++ b/ton/ton-io.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/ton/ton-shard.h b/ton/ton-shard.h index 188ea8a3..b68d3ec0 100644 --- a/ton/ton-shard.h +++ b/ton/ton-shard.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/ton/ton-tl.hpp b/ton/ton-tl.hpp index 99edcc87..6d676ea8 100644 --- a/ton/ton-tl.hpp +++ b/ton/ton-tl.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/ton/ton-types.h b/ton/ton-types.h index a5163ec5..e65086b1 100644 --- a/ton/ton-types.h +++ b/ton/ton-types.h @@ -460,6 +460,8 @@ struct ValidatorSessionConfig { td::uint32 max_block_size = (4 << 20); td::uint32 max_collated_data_size = (4 << 20); + + bool new_catchain_ids = false; }; } // namespace ton diff --git a/tonlib/tonlib/Client.cpp b/tonlib/tonlib/Client.cpp index 83b41ad2..b4839ca6 100644 --- a/tonlib/tonlib/Client.cpp +++ b/tonlib/tonlib/Client.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Client.h" diff --git a/tonlib/tonlib/Client.h b/tonlib/tonlib/Client.h index 42da243e..c715aa56 100644 --- a/tonlib/tonlib/Client.h +++ b/tonlib/tonlib/Client.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "auto/tl/tonlib_api.h" diff --git a/tonlib/tonlib/ClientActor.cpp b/tonlib/tonlib/ClientActor.cpp index d93ab1b9..ab2bc125 100644 --- a/tonlib/tonlib/ClientActor.cpp +++ b/tonlib/tonlib/ClientActor.cpp @@ -14,5 +14,5 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ diff --git a/tonlib/tonlib/ClientActor.h b/tonlib/tonlib/ClientActor.h index b7637150..592589cd 100644 --- a/tonlib/tonlib/ClientActor.h +++ b/tonlib/tonlib/ClientActor.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/ClientJson.cpp b/tonlib/tonlib/ClientJson.cpp index b1113441..cbe71805 100644 --- a/tonlib/tonlib/ClientJson.cpp +++ b/tonlib/tonlib/ClientJson.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tonlib/ClientJson.h" diff --git a/tonlib/tonlib/ClientJson.h b/tonlib/tonlib/ClientJson.h index f08bb7c4..fa640372 100644 --- a/tonlib/tonlib/ClientJson.h +++ b/tonlib/tonlib/ClientJson.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/Config.cpp b/tonlib/tonlib/Config.cpp index 4b04d1f1..8d48327e 100644 --- a/tonlib/tonlib/Config.cpp +++ b/tonlib/tonlib/Config.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Config.h" #include "adnl/adnl-node-id.hpp" diff --git a/tonlib/tonlib/Config.h b/tonlib/tonlib/Config.h index 746fee4e..01831542 100644 --- a/tonlib/tonlib/Config.h +++ b/tonlib/tonlib/Config.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "adnl/adnl-node-id.hpp" diff --git a/tonlib/tonlib/ExtClient.cpp b/tonlib/tonlib/ExtClient.cpp index 6981078e..8c8b5d07 100644 --- a/tonlib/tonlib/ExtClient.cpp +++ b/tonlib/tonlib/ExtClient.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tonlib/ExtClient.h" diff --git a/tonlib/tonlib/ExtClient.h b/tonlib/tonlib/ExtClient.h index b3cbbaf0..882b4794 100644 --- a/tonlib/tonlib/ExtClient.h +++ b/tonlib/tonlib/ExtClient.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "adnl/adnl-ext-client.h" diff --git a/tonlib/tonlib/ExtClientLazy.cpp b/tonlib/tonlib/ExtClientLazy.cpp index cd83e3ab..1ab7a24f 100644 --- a/tonlib/tonlib/ExtClientLazy.cpp +++ b/tonlib/tonlib/ExtClientLazy.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "ExtClientLazy.h" #include "TonlibError.h" diff --git a/tonlib/tonlib/ExtClientLazy.h b/tonlib/tonlib/ExtClientLazy.h index 441b4c9e..6014abd3 100644 --- a/tonlib/tonlib/ExtClientLazy.h +++ b/tonlib/tonlib/ExtClientLazy.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/actor.h" diff --git a/tonlib/tonlib/ExtClientOutbound.cpp b/tonlib/tonlib/ExtClientOutbound.cpp index ee6ddc4f..fcccc4d4 100644 --- a/tonlib/tonlib/ExtClientOutbound.cpp +++ b/tonlib/tonlib/ExtClientOutbound.cpp @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "ExtClientOutbound.h" #include "TonlibError.h" diff --git a/tonlib/tonlib/ExtClientOutbound.h b/tonlib/tonlib/ExtClientOutbound.h index 3635fd1a..7bab4903 100644 --- a/tonlib/tonlib/ExtClientOutbound.h +++ b/tonlib/tonlib/ExtClientOutbound.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/actor.h" diff --git a/tonlib/tonlib/LastBlock.cpp b/tonlib/tonlib/LastBlock.cpp index a2f94787..bc2b74ba 100644 --- a/tonlib/tonlib/LastBlock.cpp +++ b/tonlib/tonlib/LastBlock.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tonlib/LastBlock.h" #include "tonlib/LastConfig.h" diff --git a/tonlib/tonlib/LastBlock.h b/tonlib/tonlib/LastBlock.h index e01a7fde..9ee1e699 100644 --- a/tonlib/tonlib/LastBlock.h +++ b/tonlib/tonlib/LastBlock.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/actor.h" diff --git a/tonlib/tonlib/LastBlockStorage.cpp b/tonlib/tonlib/LastBlockStorage.cpp index dff4265d..53c4456e 100644 --- a/tonlib/tonlib/LastBlockStorage.cpp +++ b/tonlib/tonlib/LastBlockStorage.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "LastBlockStorage.h" diff --git a/tonlib/tonlib/LastBlockStorage.h b/tonlib/tonlib/LastBlockStorage.h index df5dd12c..b87d9634 100644 --- a/tonlib/tonlib/LastBlockStorage.h +++ b/tonlib/tonlib/LastBlockStorage.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/LastConfig.cpp b/tonlib/tonlib/LastConfig.cpp index 7207b6f0..d07482ce 100644 --- a/tonlib/tonlib/LastConfig.cpp +++ b/tonlib/tonlib/LastConfig.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tonlib/LastConfig.h" diff --git a/tonlib/tonlib/Logging.cpp b/tonlib/tonlib/Logging.cpp index a17b03eb..4a52c88f 100644 --- a/tonlib/tonlib/Logging.cpp +++ b/tonlib/tonlib/Logging.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Logging.h" #include "utils.h" diff --git a/tonlib/tonlib/Logging.h b/tonlib/tonlib/Logging.h index 9dbda9d3..708836b9 100644 --- a/tonlib/tonlib/Logging.h +++ b/tonlib/tonlib/Logging.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/TonlibCallback.h b/tonlib/tonlib/TonlibCallback.h index 9ff010ab..cf9ac520 100644 --- a/tonlib/tonlib/TonlibCallback.h +++ b/tonlib/tonlib/TonlibCallback.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/TonlibClient.cpp b/tonlib/tonlib/TonlibClient.cpp index 532cc73f..5ad49560 100644 --- a/tonlib/tonlib/TonlibClient.cpp +++ b/tonlib/tonlib/TonlibClient.cpp @@ -408,8 +408,8 @@ class AccountState { if (o_revision) { wallet_type_ = WalletType::HighloadWalletV2; wallet_revision_ = o_revision.value(); - set_new_state( - {ton::HighloadWalletV2::get_init_code(wallet_revision_), ton::WalletV3::get_init_data(key, wallet_id_)}); + set_new_state({ton::HighloadWalletV2::get_init_code(wallet_revision_), + ton::HighloadWalletV2::get_init_data(key, wallet_id_)}); return wallet_type_; } o_revision = ton::HighloadWallet::guess_revision(address_, key, wallet_id_); @@ -417,7 +417,7 @@ class AccountState { wallet_type_ = WalletType::HighloadWalletV1; wallet_revision_ = o_revision.value(); set_new_state( - {ton::HighloadWallet::get_init_code(wallet_revision_), ton::WalletV3::get_init_data(key, wallet_id_)}); + {ton::HighloadWallet::get_init_code(wallet_revision_), ton::HighloadWallet::get_init_data(key, wallet_id_)}); return wallet_type_; } o_revision = ton::ManualDns::guess_revision(address_, key, wallet_id_); diff --git a/tonlib/tonlib/keys/DecryptedKey.cpp b/tonlib/tonlib/keys/DecryptedKey.cpp index 7aadf635..105a38da 100644 --- a/tonlib/tonlib/keys/DecryptedKey.cpp +++ b/tonlib/tonlib/keys/DecryptedKey.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "DecryptedKey.h" diff --git a/tonlib/tonlib/keys/DecryptedKey.h b/tonlib/tonlib/keys/DecryptedKey.h index bf53bc02..101fb6b3 100644 --- a/tonlib/tonlib/keys/DecryptedKey.h +++ b/tonlib/tonlib/keys/DecryptedKey.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include diff --git a/tonlib/tonlib/keys/EncryptedKey.cpp b/tonlib/tonlib/keys/EncryptedKey.cpp index 893b9587..e4384076 100644 --- a/tonlib/tonlib/keys/EncryptedKey.cpp +++ b/tonlib/tonlib/keys/EncryptedKey.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "EncryptedKey.h" diff --git a/tonlib/tonlib/keys/EncryptedKey.h b/tonlib/tonlib/keys/EncryptedKey.h index 6eb16270..1148b927 100644 --- a/tonlib/tonlib/keys/EncryptedKey.h +++ b/tonlib/tonlib/keys/EncryptedKey.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/keys/Mnemonic.cpp b/tonlib/tonlib/keys/Mnemonic.cpp index 9cddd862..cc026d6c 100644 --- a/tonlib/tonlib/keys/Mnemonic.cpp +++ b/tonlib/tonlib/keys/Mnemonic.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "Mnemonic.h" diff --git a/tonlib/tonlib/keys/Mnemonic.h b/tonlib/tonlib/keys/Mnemonic.h index 27d6a833..99805b89 100644 --- a/tonlib/tonlib/keys/Mnemonic.h +++ b/tonlib/tonlib/keys/Mnemonic.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/keys/bip39.cpp b/tonlib/tonlib/keys/bip39.cpp index bbd6fa22..39eba624 100644 --- a/tonlib/tonlib/keys/bip39.cpp +++ b/tonlib/tonlib/keys/bip39.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tonlib/keys/bip39.h" namespace tonlib { diff --git a/tonlib/tonlib/keys/bip39.h b/tonlib/tonlib/keys/bip39.h index da894dcb..18f89e5a 100644 --- a/tonlib/tonlib/keys/bip39.h +++ b/tonlib/tonlib/keys/bip39.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/utils/Slice.h" diff --git a/tonlib/tonlib/tonlib_client_json.cpp b/tonlib/tonlib/tonlib_client_json.cpp index f2aa82df..243abce2 100644 --- a/tonlib/tonlib/tonlib_client_json.cpp +++ b/tonlib/tonlib/tonlib_client_json.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tonlib/tonlib_client_json.h" diff --git a/tonlib/tonlib/tonlib_client_json.h b/tonlib/tonlib/tonlib_client_json.h index 0e08d784..d1784a1f 100644 --- a/tonlib/tonlib/tonlib_client_json.h +++ b/tonlib/tonlib/tonlib_client_json.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/tonlib/tonlib/utils.cpp b/tonlib/tonlib/utils.cpp index fec91443..1ca50227 100644 --- a/tonlib/tonlib/utils.cpp +++ b/tonlib/tonlib/utils.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "tonlib/utils.h" #include "td/utils/misc.h" diff --git a/tonlib/tonlib/utils.h b/tonlib/tonlib/utils.h index 8bcf9ab9..a6bb184f 100644 --- a/tonlib/tonlib/utils.h +++ b/tonlib/tonlib/utils.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells.h" diff --git a/utils/json2tlo.cpp b/utils/json2tlo.cpp index 856f7c87..430465b3 100644 --- a/utils/json2tlo.cpp +++ b/utils/json2tlo.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include #include diff --git a/utils/pack-viewer.cpp b/utils/pack-viewer.cpp index 3897bf18..b629c3f2 100644 --- a/utils/pack-viewer.cpp +++ b/utils/pack-viewer.cpp @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include #include diff --git a/validator-engine-console/validator-engine-console.h b/validator-engine-console/validator-engine-console.h index 5722c1e7..7a551a02 100644 --- a/validator-engine-console/validator-engine-console.h +++ b/validator-engine-console/validator-engine-console.h @@ -23,7 +23,7 @@ exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "adnl/adnl-ext-client.h" diff --git a/validator-engine/validator-engine.cpp b/validator-engine/validator-engine.cpp index c3d739de..e02c0005 100644 --- a/validator-engine/validator-engine.cpp +++ b/validator-engine/validator-engine.cpp @@ -1202,10 +1202,6 @@ td::Status ValidatorEngine::load_global_config() { validator_options_.write().add_unsafe_resync_catchain(seq); } - if (zero_state.file_hash.to_hex() == "5E994FCF4D425C0A6CE6A792594B7173205F740A39CD56F537DEFD28B48A0F6E") { - validator_options_.write().add_unsafe_catchain_rotate(3081761, 48452, 1); - } - std::vector h; for (auto &x : conf.validator_->hardforks_) { auto b = ton::create_block_id(x); diff --git a/validator-session/persistent-vector.cpp b/validator-session/persistent-vector.cpp index 007d3e31..b3a40e2c 100644 --- a/validator-session/persistent-vector.cpp +++ b/validator-session/persistent-vector.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "persistent-vector.h" diff --git a/validator-session/persistent-vector.h b/validator-session/persistent-vector.h index de5de338..77852f80 100644 --- a/validator-session/persistent-vector.h +++ b/validator-session/persistent-vector.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator-session/validator-session-description.h b/validator-session/validator-session-description.h index 3a2529a5..60e006d0 100644 --- a/validator-session/validator-session-description.h +++ b/validator-session/validator-session-description.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator-session/validator-session-state.h b/validator-session/validator-session-state.h index 9ed0ade1..37708cba 100644 --- a/validator-session/validator-session-state.h +++ b/validator-session/validator-session-state.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator-session/validator-session-types.h b/validator-session/validator-session-types.h index 721a7936..45e94b59 100644 --- a/validator-session/validator-session-types.h +++ b/validator-session/validator-session-types.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once @@ -51,6 +51,8 @@ struct ValidatorSessionOptions { td::uint32 max_block_size = 4 << 20; td::uint32 max_collated_data_size = 4 << 20; + bool new_catchain_ids = false; + td::Bits256 get_hash() const; }; diff --git a/validator-session/validator-session.cpp b/validator-session/validator-session.cpp index a65eb4b8..e59b27b6 100644 --- a/validator-session/validator-session.cpp +++ b/validator-session/validator-session.cpp @@ -510,6 +510,11 @@ void ValidatorSessionImpl::try_approve_block(const SentBlock *block) { auto P = td::PromiseCreator::lambda([round = cur_round_, hash = block_id, root_hash = block->get_root_hash(), file_hash = block->get_file_hash(), timer = std::move(timer), SelfId = actor_id(this)](td::Result res) { + if (res.is_error()) { + LOG(ERROR) << "round " << round << " failed to validate candidate " << hash << ": " << res.move_as_error(); + return; + } + auto R = res.move_as_ok(); if (R.is_ok()) { td::actor::send_closure(SelfId, &ValidatorSessionImpl::candidate_decision_ok, round, hash, root_hash, @@ -815,10 +820,11 @@ ValidatorSessionImpl::ValidatorSessionImpl(catchain::CatChainSessionId session_i td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId rldp, td::actor::ActorId overlays, std::string db_root, - bool allow_unsafe_self_blocks_resync) + std::string db_suffix, bool allow_unsafe_self_blocks_resync) : unique_hash_(session_id) , callback_(std::move(callback)) , db_root_(db_root) + , db_suffix_(db_suffix) , keyring_(keyring) , adnl_(adnl) , rldp_(rldp) @@ -836,7 +842,7 @@ void ValidatorSessionImpl::start() { catchain_ = catchain::CatChain::create( make_catchain_callback(), catchain::CatChainOptions{description().opts().catchain_idle_timeout, description().opts().catchain_max_deps}, - keyring_, adnl_, overlay_manager_, std::move(w), local_id(), unique_hash_, db_root_, + keyring_, adnl_, overlay_manager_, std::move(w), local_id(), unique_hash_, db_root_, db_suffix_, allow_unsafe_self_blocks_resync_); check_all(); @@ -868,16 +874,22 @@ td::actor::ActorOwn ValidatorSession::create( std::vector nodes, std::unique_ptr callback, td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId rldp, td::actor::ActorId overlays, std::string db_root, - bool allow_unsafe_self_blocks_resync) { + std::string db_suffix, bool allow_unsafe_self_blocks_resync) { return td::actor::create_actor("session", session_id, std::move(opts), local_id, std::move(nodes), std::move(callback), keyring, adnl, rldp, - overlays, db_root, allow_unsafe_self_blocks_resync); + overlays, db_root, db_suffix, allow_unsafe_self_blocks_resync); } td::Bits256 ValidatorSessionOptions::get_hash() const { - return create_hash_tl_object( - catchain_idle_timeout, catchain_max_deps, round_candidates, next_candidate_delay, round_attempt_duration, - max_round_attempts, max_block_size, max_collated_data_size); + if (!new_catchain_ids) { + return create_hash_tl_object( + catchain_idle_timeout, catchain_max_deps, round_candidates, next_candidate_delay, round_attempt_duration, + max_round_attempts, max_block_size, max_collated_data_size); + } else { + return create_hash_tl_object( + catchain_idle_timeout, catchain_max_deps, round_candidates, next_candidate_delay, round_attempt_duration, + max_round_attempts, max_block_size, max_collated_data_size, new_catchain_ids); + } } ValidatorSessionOptions::ValidatorSessionOptions(const ValidatorSessionConfig &conf) { @@ -890,6 +902,7 @@ ValidatorSessionOptions::ValidatorSessionOptions(const ValidatorSessionConfig &c next_candidate_delay = conf.next_candidate_delay; round_attempt_duration = conf.round_attempt_duration; round_candidates = conf.round_candidates; + new_catchain_ids = conf.new_catchain_ids; } } // namespace validatorsession diff --git a/validator-session/validator-session.h b/validator-session/validator-session.h index 8a4d6f52..0e6f8c29 100644 --- a/validator-session/validator-session.h +++ b/validator-session/validator-session.h @@ -96,7 +96,7 @@ class ValidatorSession : public td::actor::Actor { std::vector nodes, std::unique_ptr callback, td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId rldp, td::actor::ActorId overlays, std::string db_root, - bool allow_unsafe_self_blocks_resync); + std::string db_suffix, bool allow_unsafe_self_blocks_resync); virtual ~ValidatorSession() = default; }; diff --git a/validator-session/validator-session.hpp b/validator-session/validator-session.hpp index 7693df76..f9c94a2f 100644 --- a/validator-session/validator-session.hpp +++ b/validator-session/validator-session.hpp @@ -79,6 +79,7 @@ class ValidatorSessionImpl : public ValidatorSession { std::unique_ptr callback_; std::string db_root_; + std::string db_suffix_; td::actor::ActorId keyring_; td::actor::ActorId adnl_; @@ -157,7 +158,7 @@ class ValidatorSessionImpl : public ValidatorSession { std::vector nodes, std::unique_ptr callback, td::actor::ActorId keyring, td::actor::ActorId adnl, td::actor::ActorId rldp, td::actor::ActorId overlays, - std::string db_root, bool allow_unsafe_self_blocks_resync); + std::string db_root, std::string db_suffix, bool allow_unsafe_self_blocks_resync); void start_up() override; void alarm() override; diff --git a/validator/apply-block.hpp b/validator/apply-block.hpp index b64ccce1..67ee3911 100644 --- a/validator/apply-block.hpp +++ b/validator/apply-block.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/block-handle.cpp b/validator/block-handle.cpp index e1b0e514..f7749e0c 100644 --- a/validator/block-handle.cpp +++ b/validator/block-handle.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "block-handle.hpp" #include "adnl/utils.hpp" diff --git a/validator/block-handle.hpp b/validator/block-handle.hpp index 06bd1613..4e97f2b5 100644 --- a/validator/block-handle.hpp +++ b/validator/block-handle.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/db/archiver.cpp b/validator/db/archiver.cpp index 5b0d1a8a..88094e3c 100644 --- a/validator/db/archiver.cpp +++ b/validator/db/archiver.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "archiver.hpp" #include "rootdb.hpp" diff --git a/validator/db/archiver.hpp b/validator/db/archiver.hpp index 054ab42b..859f269c 100644 --- a/validator/db/archiver.hpp +++ b/validator/db/archiver.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/db/celldb.cpp b/validator/db/celldb.cpp index a470ee19..189e1a13 100644 --- a/validator/db/celldb.cpp +++ b/validator/db/celldb.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "celldb.hpp" #include "rootdb.hpp" diff --git a/validator/db/celldb.hpp b/validator/db/celldb.hpp index b34db2af..691d8848 100644 --- a/validator/db/celldb.hpp +++ b/validator/db/celldb.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/db/fileref.hpp b/validator/db/fileref.hpp index 9b012dc8..14424a65 100644 --- a/validator/db/fileref.hpp +++ b/validator/db/fileref.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/db/files-async.hpp b/validator/db/files-async.hpp index f2009fcd..1f2ab5ce 100644 --- a/validator/db/files-async.hpp +++ b/validator/db/files-async.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/db/rootdb.cpp b/validator/db/rootdb.cpp index 6dfb971e..ea417643 100644 --- a/validator/db/rootdb.cpp +++ b/validator/db/rootdb.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "rootdb.hpp" #include "validator/fabric.h" diff --git a/validator/db/rootdb.hpp b/validator/db/rootdb.hpp index 7c4b7fa9..380c568a 100644 --- a/validator/db/rootdb.hpp +++ b/validator/db/rootdb.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/db/statedb.cpp b/validator/db/statedb.cpp index 7add44e3..14764929 100644 --- a/validator/db/statedb.cpp +++ b/validator/db/statedb.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "statedb.hpp" #include "ton/ton-tl.hpp" diff --git a/validator/db/statedb.hpp b/validator/db/statedb.hpp index 7da435db..1ad411c4 100644 --- a/validator/db/statedb.hpp +++ b/validator/db/statedb.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/db/staticfilesdb.cpp b/validator/db/staticfilesdb.cpp index e6b22319..9485f154 100644 --- a/validator/db/staticfilesdb.cpp +++ b/validator/db/staticfilesdb.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "staticfilesdb.hpp" #include "files-async.hpp" diff --git a/validator/db/staticfilesdb.hpp b/validator/db/staticfilesdb.hpp index be2e7047..c56deb9d 100644 --- a/validator/db/staticfilesdb.hpp +++ b/validator/db/staticfilesdb.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/downloaders/download-state.cpp b/validator/downloaders/download-state.cpp index de5eec08..ccce8f77 100644 --- a/validator/downloaders/download-state.cpp +++ b/validator/downloaders/download-state.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "download-state.hpp" #include "validator/fabric.h" diff --git a/validator/downloaders/download-state.hpp b/validator/downloaders/download-state.hpp index be545b1f..02984c53 100644 --- a/validator/downloaders/download-state.hpp +++ b/validator/downloaders/download-state.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/downloaders/wait-block-data-disk.cpp b/validator/downloaders/wait-block-data-disk.cpp index 357b8544..719420cc 100644 --- a/validator/downloaders/wait-block-data-disk.cpp +++ b/validator/downloaders/wait-block-data-disk.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "wait-block-data-disk.hpp" #include "fabric.h" diff --git a/validator/downloaders/wait-block-data-disk.hpp b/validator/downloaders/wait-block-data-disk.hpp index 0a4ab599..492e62d2 100644 --- a/validator/downloaders/wait-block-data-disk.hpp +++ b/validator/downloaders/wait-block-data-disk.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/downloaders/wait-block-data.cpp b/validator/downloaders/wait-block-data.cpp index def64ea2..c40dba48 100644 --- a/validator/downloaders/wait-block-data.cpp +++ b/validator/downloaders/wait-block-data.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "wait-block-data.hpp" #include "fabric.h" diff --git a/validator/downloaders/wait-block-data.hpp b/validator/downloaders/wait-block-data.hpp index 88b342b2..73097d30 100644 --- a/validator/downloaders/wait-block-data.hpp +++ b/validator/downloaders/wait-block-data.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/downloaders/wait-block-state-merge.cpp b/validator/downloaders/wait-block-state-merge.cpp index 94b18047..2b196161 100644 --- a/validator/downloaders/wait-block-state-merge.cpp +++ b/validator/downloaders/wait-block-state-merge.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "wait-block-state-merge.hpp" #include "wait-block-state.hpp" diff --git a/validator/downloaders/wait-block-state-merge.hpp b/validator/downloaders/wait-block-state-merge.hpp index cd05f023..6695a80f 100644 --- a/validator/downloaders/wait-block-state-merge.hpp +++ b/validator/downloaders/wait-block-state-merge.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/downloaders/wait-block-state.cpp b/validator/downloaders/wait-block-state.cpp index fd4d7e1d..1b4e03da 100644 --- a/validator/downloaders/wait-block-state.cpp +++ b/validator/downloaders/wait-block-state.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "wait-block-state.hpp" #include "validator/fabric.h" diff --git a/validator/downloaders/wait-block-state.hpp b/validator/downloaders/wait-block-state.hpp index 6e1a98a5..b2390917 100644 --- a/validator/downloaders/wait-block-state.hpp +++ b/validator/downloaders/wait-block-state.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/fabric.h b/validator/fabric.h index 55f4bfd3..779c8fee 100644 --- a/validator/fabric.h +++ b/validator/fabric.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/full-node-master.cpp b/validator/full-node-master.cpp index a5eaefac..bd0bea46 100644 --- a/validator/full-node-master.cpp +++ b/validator/full-node-master.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/SharedSlice.h" #include "full-node-master.hpp" diff --git a/validator/full-node-master.h b/validator/full-node-master.h index ae7cc491..04c66acc 100644 --- a/validator/full-node-master.h +++ b/validator/full-node-master.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/full-node-master.hpp b/validator/full-node-master.hpp index 00e6e1f7..9b703992 100644 --- a/validator/full-node-master.hpp +++ b/validator/full-node-master.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/full-node-shard.cpp b/validator/full-node-shard.cpp index e82b0905..ec56e5a3 100644 --- a/validator/full-node-shard.cpp +++ b/validator/full-node-shard.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "td/utils/SharedSlice.h" #include "full-node-shard.hpp" @@ -512,7 +512,11 @@ void FullNodeShardImpl::process_broadcast(PublicKeyHash src, ton_api::tonNode_bl std::move(query.data_), std::move(query.proof_)}; - auto P = td::PromiseCreator::lambda([](td::Result R) {}); + auto P = td::PromiseCreator::lambda([](td::Result R) { + if (R.is_error()) { + LOG(INFO) << "dropped broadcast: " << R.move_as_error(); + } + }); td::actor::send_closure(validator_manager_, &ValidatorManagerInterface::prevalidate_block, std::move(B), std::move(P)); } diff --git a/validator/full-node-shard.h b/validator/full-node-shard.h index 3487a867..40a422e0 100644 --- a/validator/full-node-shard.h +++ b/validator/full-node-shard.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/full-node-shard.hpp b/validator/full-node-shard.hpp index 875c4b53..854be55e 100644 --- a/validator/full-node-shard.hpp +++ b/validator/full-node-shard.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/full-node.cpp b/validator/full-node.cpp index 5531df2c..691a8b36 100644 --- a/validator/full-node.cpp +++ b/validator/full-node.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "full-node.hpp" #include "ton/ton-shard.h" diff --git a/validator/full-node.h b/validator/full-node.h index 13239742..d2c2d58d 100644 --- a/validator/full-node.h +++ b/validator/full-node.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/full-node.hpp b/validator/full-node.hpp index e4eab04a..e9b64f57 100644 --- a/validator/full-node.hpp +++ b/validator/full-node.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/get-next-key-blocks.cpp b/validator/get-next-key-blocks.cpp index e81aadb9..ff7ae192 100644 --- a/validator/get-next-key-blocks.cpp +++ b/validator/get-next-key-blocks.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "get-next-key-blocks.h" diff --git a/validator/get-next-key-blocks.h b/validator/get-next-key-blocks.h index c3946165..3d05a1b3 100644 --- a/validator/get-next-key-blocks.h +++ b/validator/get-next-key-blocks.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/impl/accept-block.cpp b/validator/impl/accept-block.cpp index 18cc0472..31aa7420 100644 --- a/validator/impl/accept-block.cpp +++ b/validator/impl/accept-block.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "accept-block.hpp" #include "adnl/utils.hpp" diff --git a/validator/impl/accept-block.hpp b/validator/impl/accept-block.hpp index a0c7e576..0b8cf2c3 100644 --- a/validator/impl/accept-block.hpp +++ b/validator/impl/accept-block.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/impl/block.cpp b/validator/impl/block.cpp index bfbadf10..8a8433f1 100644 --- a/validator/impl/block.cpp +++ b/validator/impl/block.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "block.hpp" diff --git a/validator/impl/block.hpp b/validator/impl/block.hpp index 94858d36..108c871d 100644 --- a/validator/impl/block.hpp +++ b/validator/impl/block.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "ton/ton-types.h" diff --git a/validator/impl/check-proof.cpp b/validator/impl/check-proof.cpp index aa6c2748..1bf8e276 100644 --- a/validator/impl/check-proof.cpp +++ b/validator/impl/check-proof.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "check-proof.hpp" #include "adnl/utils.hpp" diff --git a/validator/impl/check-proof.hpp b/validator/impl/check-proof.hpp index d8b19c6c..4461b5e1 100644 --- a/validator/impl/check-proof.hpp +++ b/validator/impl/check-proof.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/impl/collate-query-impl.h b/validator/impl/collate-query-impl.h index d84f6311..83832646 100644 --- a/validator/impl/collate-query-impl.h +++ b/validator/impl/collate-query-impl.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/impl/collator-impl.h b/validator/impl/collator-impl.h index 214cdf28..7af5b785 100644 --- a/validator/impl/collator-impl.h +++ b/validator/impl/collator-impl.h @@ -40,7 +40,7 @@ using td::Ref; class Collator final : public td::actor::Actor { static constexpr int supported_version() { - return 2; + return 3; } static constexpr long long supported_capabilities() { return ton::capCreateStatsEnabled | ton::capBounceMsgBody | ton::capReportVersion | ton::capShortDequeue; diff --git a/validator/impl/collator.cpp b/validator/impl/collator.cpp index 85799ce5..20053ada 100644 --- a/validator/impl/collator.cpp +++ b/validator/impl/collator.cpp @@ -177,7 +177,7 @@ void Collator::start_up() { LOG(DEBUG) << "sending wait_block_state() query #" << i << " for " << prev_blocks[i].to_str() << " to Manager"; ++pending; td::actor::send_closure_later(manager, &ValidatorManager::wait_block_state_short, prev_blocks[i], priority(), - timeout, [ self = get_self(), i ](td::Result> res) { + timeout, [self = get_self(), i](td::Result> res) { LOG(DEBUG) << "got answer to wait_block_state query #" << i; td::actor::send_closure_later(std::move(self), &Collator::after_get_shard_state, i, std::move(res)); @@ -188,7 +188,7 @@ void Collator::start_up() { LOG(DEBUG) << "sending wait_block_data() query #" << i << " for " << prev_blocks[i].to_str() << " to Manager"; ++pending; td::actor::send_closure_later(manager, &ValidatorManager::wait_block_data_short, prev_blocks[i], priority(), - timeout, [ self = get_self(), i ](td::Result> res) { + timeout, [self = get_self(), i](td::Result> res) { LOG(DEBUG) << "got answer to wait_block_data query #" << i; td::actor::send_closure_later(std::move(self), &Collator::after_get_block_data, i, std::move(res)); @@ -198,8 +198,8 @@ void Collator::start_up() { // 4. load external messages LOG(DEBUG) << "sending get_external_messages() query to Manager"; ++pending; - td::actor::send_closure_later(manager, &ValidatorManager::get_external_messages, - shard, [self = get_self()](td::Result>> res)->void { + td::actor::send_closure_later(manager, &ValidatorManager::get_external_messages, shard, + [self = get_self()](td::Result>> res) -> void { LOG(DEBUG) << "got answer to get_external_messages() query"; td::actor::send_closure_later(std::move(self), &Collator::after_get_external_messages, std::move(res)); @@ -209,8 +209,8 @@ void Collator::start_up() { LOG(DEBUG) << "sending get_shard_blocks() query to Manager"; ++pending; td::actor::send_closure_later( - manager, &ValidatorManager::get_shard_blocks, - prev_blocks[0], [self = get_self()](td::Result>> res)->void { + manager, &ValidatorManager::get_shard_blocks, prev_blocks[0], + [self = get_self()](td::Result>> res) -> void { LOG(DEBUG) << "got answer to get_shard_blocks() query"; td::actor::send_closure_later(std::move(self), &Collator::after_get_shard_blocks, std::move(res)); }); @@ -327,7 +327,7 @@ bool Collator::request_aux_mc_state(BlockSeqno seqno, Ref& st LOG(DEBUG) << "sending auxiliary wait_block_state() query for " << blkid.to_str() << " to Manager"; ++pending; td::actor::send_closure_later(manager, &ValidatorManager::wait_block_state_short, blkid, priority(), timeout, - [ self = get_self(), blkid ](td::Result> res) { + [self = get_self(), blkid](td::Result> res) { LOG(DEBUG) << "got answer to wait_block_state query for " << blkid.to_str(); td::actor::send_closure_later(std::move(self), &Collator::after_get_aux_shard_state, blkid, std::move(res)); @@ -415,8 +415,8 @@ void Collator::after_get_mc_state(td::Result, Bl // NB. it is needed only for creating a correct ExtBlkRef reference to it, which requires start_lt and end_lt LOG(DEBUG) << "sending wait_block_data() query #-1 for " << mc_block_id_.to_str() << " to Manager"; ++pending; - td::actor::send_closure_later(manager, &ValidatorManager::wait_block_data_short, mc_block_id_, priority(), - timeout, [self = get_self()](td::Result> res) { + td::actor::send_closure_later(manager, &ValidatorManager::wait_block_data_short, mc_block_id_, priority(), timeout, + [self = get_self()](td::Result> res) { LOG(DEBUG) << "got answer to wait_block_data query #-1"; td::actor::send_closure_later(std::move(self), &Collator::after_get_block_data, -1, std::move(res)); @@ -569,7 +569,7 @@ bool Collator::request_neighbor_msg_queues() { LOG(DEBUG) << "neighbor #" << i << " : " << descr.blk_.to_str(); ++pending; send_closure_later(manager, &ValidatorManager::wait_block_message_queue_short, descr.blk_, priority(), timeout, - [ self = get_self(), i ](td::Result> res) { + [self = get_self(), i](td::Result> res) { td::actor::send_closure(std::move(self), &Collator::got_neighbor_out_queue, i, std::move(res)); }); ++i; @@ -2202,7 +2202,7 @@ Ref Collator::create_ordinary_transaction(Ref msg_root) { fatal_error("cannot create credit phase of a new transaction for smart contract "s + addr.to_hex()); return {}; } - if (!trans->prepare_storage_phase(storage_phase_cfg_, true)) { + if (!trans->prepare_storage_phase(storage_phase_cfg_, true, true)) { fatal_error("cannot create storage phase of a new transaction for smart contract "s + addr.to_hex()); return {}; } @@ -3014,24 +3014,24 @@ bool Collator::update_shard_config(const block::WorkchainSet& wc_set, const bloc WorkchainId wc_id{ton::workchainInvalid}; Ref wc_info; ton::BlockSeqno& min_seqno = min_ref_mc_seqno_; - return shard_conf_->process_sibling_shard_hashes([ - &wc_set, &wc_id, &wc_info, &ccvc, &min_seqno, now = now_, update_cc - ](block::McShardHash & cur, const block::McShardHash* sibling) { - if (!cur.is_valid()) { - return -2; - } - if (wc_id != cur.workchain()) { - wc_id = cur.workchain(); - auto it = wc_set.find(wc_id); - if (it == wc_set.end()) { - wc_info.clear(); - } else { - wc_info = it->second; - } - } - min_seqno = std::min(min_seqno, cur.min_ref_mc_seqno_); - return update_one_shard(cur, sibling, wc_info.get(), now, ccvc, update_cc); - }); + return shard_conf_->process_sibling_shard_hashes( + [&wc_set, &wc_id, &wc_info, &ccvc, &min_seqno, now = now_, update_cc](block::McShardHash& cur, + const block::McShardHash* sibling) { + if (!cur.is_valid()) { + return -2; + } + if (wc_id != cur.workchain()) { + wc_id = cur.workchain(); + auto it = wc_set.find(wc_id); + if (it == wc_set.end()) { + wc_info.clear(); + } else { + wc_info = it->second; + } + } + min_seqno = std::min(min_seqno, cur.min_ref_mc_seqno_); + return update_one_shard(cur, sibling, wc_info.get(), now, ccvc, update_cc); + }); } bool Collator::create_mc_state_extra() { @@ -3897,7 +3897,7 @@ bool Collator::create_block_candidate() { // 4. save block candidate LOG(INFO) << "saving new BlockCandidate"; td::actor::send_closure_later(manager, &ValidatorManager::set_block_candidate, block_candidate->id, - block_candidate->clone(), [self = get_self()](td::Result saved)->void { + block_candidate->clone(), [self = get_self()](td::Result saved) -> void { LOG(DEBUG) << "got answer to set_block_candidate"; td::actor::send_closure_later(std::move(self), &Collator::return_block_candidate, std::move(saved)); diff --git a/validator/impl/collator.h b/validator/impl/collator.h index fb0e5ab1..c92fa80e 100644 --- a/validator/impl/collator.h +++ b/validator/impl/collator.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "td/actor/actor.h" diff --git a/validator/impl/config.cpp b/validator/impl/config.cpp index 8f496caa..1afac315 100644 --- a/validator/impl/config.cpp +++ b/validator/impl/config.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "config.hpp" diff --git a/validator/impl/config.hpp b/validator/impl/config.hpp index 68982ed9..34361314 100644 --- a/validator/impl/config.hpp +++ b/validator/impl/config.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "validator/interfaces/config.h" diff --git a/validator/impl/fabric.cpp b/validator/impl/fabric.cpp index 42737480..073a24a6 100644 --- a/validator/impl/fabric.cpp +++ b/validator/impl/fabric.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "fabric.h" #include "collator-impl.h" diff --git a/validator/impl/ihr-message.cpp b/validator/impl/ihr-message.cpp index 3dd19646..4327b5dd 100644 --- a/validator/impl/ihr-message.cpp +++ b/validator/impl/ihr-message.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "ihr-message.hpp" #include "vm/boc.h" diff --git a/validator/impl/ihr-message.hpp b/validator/impl/ihr-message.hpp index 46b1b979..0ec60600 100644 --- a/validator/impl/ihr-message.hpp +++ b/validator/impl/ihr-message.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/impl/message-queue.cpp b/validator/impl/message-queue.cpp index 76dfba44..90243438 100644 --- a/validator/impl/message-queue.cpp +++ b/validator/impl/message-queue.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "message-queue.hpp" diff --git a/validator/impl/message-queue.hpp b/validator/impl/message-queue.hpp index 3b7576f4..d9f076cf 100644 --- a/validator/impl/message-queue.hpp +++ b/validator/impl/message-queue.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "interfaces/message-queue.h" diff --git a/validator/impl/proof.cpp b/validator/impl/proof.cpp index 2abff149..225a82de 100644 --- a/validator/impl/proof.cpp +++ b/validator/impl/proof.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "proof.hpp" #include "block/block-parse.h" diff --git a/validator/impl/proof.hpp b/validator/impl/proof.hpp index 150efe97..b6a41be5 100644 --- a/validator/impl/proof.hpp +++ b/validator/impl/proof.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "interfaces/proof.h" diff --git a/validator/impl/shard.cpp b/validator/impl/shard.cpp index a617eb3c..6931ce12 100644 --- a/validator/impl/shard.cpp +++ b/validator/impl/shard.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "shard.hpp" #include "message-queue.hpp" diff --git a/validator/impl/shard.hpp b/validator/impl/shard.hpp index 2e4b368a..862b0fc5 100644 --- a/validator/impl/shard.hpp +++ b/validator/impl/shard.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "interfaces/shard.h" diff --git a/validator/impl/signature-set.cpp b/validator/impl/signature-set.cpp index f68b9fce..c7298216 100644 --- a/validator/impl/signature-set.cpp +++ b/validator/impl/signature-set.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "signature-set.hpp" #include "auto/tl/ton_api.hpp" diff --git a/validator/impl/signature-set.hpp b/validator/impl/signature-set.hpp index b089d67a..3ff0069c 100644 --- a/validator/impl/signature-set.hpp +++ b/validator/impl/signature-set.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/impl/top-shard-descr.cpp b/validator/impl/top-shard-descr.cpp index e4c1328b..c6e00edf 100644 --- a/validator/impl/top-shard-descr.cpp +++ b/validator/impl/top-shard-descr.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "top-shard-descr.hpp" #include "common/errorcode.h" diff --git a/validator/impl/top-shard-descr.hpp b/validator/impl/top-shard-descr.hpp index c2e9cccc..5c866a6e 100644 --- a/validator/impl/top-shard-descr.hpp +++ b/validator/impl/top-shard-descr.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/impl/validate-query.cpp b/validator/impl/validate-query.cpp index 5905eaf9..e9067c73 100644 --- a/validator/impl/validate-query.cpp +++ b/validator/impl/validate-query.cpp @@ -264,7 +264,7 @@ void ValidateQuery::start_up() { LOG(DEBUG) << "sending wait_block_state() query #" << i << " for " << prev_blocks[i].to_str() << " to Manager"; ++pending; td::actor::send_closure_later(manager, &ValidatorManager::wait_block_state_short, prev_blocks[i], priority(), - timeout, [ self = get_self(), i ](td::Result> res)->void { + timeout, [self = get_self(), i](td::Result> res) -> void { LOG(DEBUG) << "got answer to wait_block_state_short query #" << i; td::actor::send_closure_later( std::move(self), &ValidateQuery::after_get_shard_state, i, std::move(res)); @@ -278,16 +278,16 @@ void ValidateQuery::start_up() { // 5. request masterchain state referred to in the block if (!is_masterchain()) { ++pending; - td::actor::send_closure_later(manager, &ValidatorManager::wait_block_state_short, mc_blkid_, priority(), - timeout, [self = get_self()](td::Result> res) { + td::actor::send_closure_later(manager, &ValidatorManager::wait_block_state_short, mc_blkid_, priority(), timeout, + [self = get_self()](td::Result> res) { LOG(DEBUG) << "got answer to wait_block_state() query for masterchain block"; td::actor::send_closure_later(std::move(self), &ValidateQuery::after_get_mc_state, std::move(res)); }); // 5.1. request corresponding block handle ++pending; - td::actor::send_closure_later(manager, &ValidatorManager::get_block_handle, mc_blkid_, - true, [self = get_self()](td::Result res) { + td::actor::send_closure_later(manager, &ValidatorManager::get_block_handle, mc_blkid_, true, + [self = get_self()](td::Result res) { LOG(DEBUG) << "got answer to get_block_handle() query for masterchain block"; td::actor::send_closure_later(std::move(self), &ValidateQuery::got_mc_handle, std::move(res)); @@ -1213,7 +1213,7 @@ bool ValidateQuery::request_neighbor_queues() { LOG(DEBUG) << "requesting outbound queue of neighbor #" << i << " : " << descr.blk_.to_str(); ++pending; send_closure_later(manager, &ValidatorManager::wait_block_message_queue_short, descr.blk_, priority(), timeout, - [ self = get_self(), i ](td::Result> res) { + [self = get_self(), i](td::Result> res) { td::actor::send_closure(std::move(self), &ValidateQuery::got_neighbor_out_queue, i, std::move(res)); }); @@ -1333,12 +1333,13 @@ bool ValidateQuery::request_aux_mc_state(BlockSeqno seqno, Ref> res) { - LOG(DEBUG) << "got answer to wait_block_state query for " << blkid.to_str(); - td::actor::send_closure_later(std::move(self), &ValidateQuery::after_get_aux_shard_state, blkid, std::move(res)); - }); + td::actor::send_closure_later(manager, &ValidatorManager::wait_block_state_short, blkid, priority(), timeout, + [self = get_self(), blkid](td::Result> res) { + LOG(DEBUG) << "got answer to wait_block_state query for " << blkid.to_str(); + td::actor::send_closure_later(std::move(self), + &ValidateQuery::after_get_aux_shard_state, blkid, + std::move(res)); + }); state.clear(); return true; } @@ -1683,8 +1684,8 @@ bool ValidateQuery::check_shard_layout() { WorkchainId wc_id{ton::workchainInvalid}; Ref wc_info; - if (!new_shard_conf_->process_sibling_shard_hashes([ self = this, &wc_set, &wc_id, &wc_info, &ccvc ]( - block::McShardHash & cur, const block::McShardHash* sibling) { + if (!new_shard_conf_->process_sibling_shard_hashes([self = this, &wc_set, &wc_id, &wc_info, &ccvc]( + block::McShardHash& cur, const block::McShardHash* sibling) { if (!cur.is_valid()) { return -2; } @@ -2342,14 +2343,14 @@ bool ValidateQuery::precheck_account_updates() { LOG(INFO) << "pre-checking all Account updates between the old and the new state"; try { CHECK(ps_.account_dict_ && ns_.account_dict_); - if (!ps_.account_dict_->scan_diff(*ns_.account_dict_, - [this](td::ConstBitPtr key, int key_len, Ref old_val_extra, - Ref new_val_extra) { - CHECK(key_len == 256); - return precheck_one_account_update(key, std::move(old_val_extra), - std::move(new_val_extra)); - }, - 3 /* check augmentation of changed nodes */)) { + if (!ps_.account_dict_->scan_diff( + *ns_.account_dict_, + [this](td::ConstBitPtr key, int key_len, Ref old_val_extra, + Ref new_val_extra) { + CHECK(key_len == 256); + return precheck_one_account_update(key, std::move(old_val_extra), std::move(new_val_extra)); + }, + 3 /* check augmentation of changed nodes */)) { return reject_query("invalid ShardAccounts dictionary in the new state"); } } catch (vm::VmError& err) { @@ -2728,14 +2729,14 @@ bool ValidateQuery::precheck_message_queue_update() { try { CHECK(ps_.out_msg_queue_ && ns_.out_msg_queue_); CHECK(out_msg_dict_); - if (!ps_.out_msg_queue_->scan_diff(*ns_.out_msg_queue_, - [this](td::ConstBitPtr key, int key_len, Ref old_val_extra, - Ref new_val_extra) { - CHECK(key_len == 352); - return precheck_one_message_queue_update(key, std::move(old_val_extra), - std::move(new_val_extra)); - }, - 3 /* check augmentation of changed nodes */)) { + if (!ps_.out_msg_queue_->scan_diff( + *ns_.out_msg_queue_, + [this](td::ConstBitPtr key, int key_len, Ref old_val_extra, + Ref new_val_extra) { + CHECK(key_len == 352); + return precheck_one_message_queue_update(key, std::move(old_val_extra), std::move(new_val_extra)); + }, + 3 /* check augmentation of changed nodes */)) { return reject_query("invalid OutMsgQueue dictionary in the new state"); } } catch (vm::VmError& err) { @@ -4444,7 +4445,7 @@ bool ValidateQuery::check_one_transaction(block::Account& account, ton::LogicalT return reject_query(PSTRING() << "cannot re-create credit phase of transaction " << lt << " for smart contract " << addr.to_hex()); } - if (!trs->prepare_storage_phase(storage_phase_cfg_, true)) { + if (!trs->prepare_storage_phase(storage_phase_cfg_, true, need_credit_phase)) { return reject_query(PSTRING() << "cannot re-create storage phase of transaction " << lt << " for smart contract " << addr.to_hex()); } @@ -4757,27 +4758,28 @@ bool ValidateQuery::check_one_library_update(td::ConstBitPtr key, Ref(vm::DictNonEmpty(), std::move(old_value), 256); } else { old_publishers = std::make_unique(256); } - if (!old_publishers->scan_diff(*new_publishers, - [ this, lib_key = key ](td::ConstBitPtr key, int key_len, Ref old_val, - Ref new_val) { - CHECK(key_len == 256); - if (old_val.not_null() && !old_val->empty_ext()) { - return false; - } - if (new_val.not_null() && !new_val->empty_ext()) { - return false; - } - CHECK(old_val.not_null() != new_val.not_null()); - lib_publishers2_.emplace_back(lib_key, key, new_val.not_null()); - return true; - }, - 3 /* check augmentation of changed nodes */)) { + if (!old_publishers->scan_diff( + *new_publishers, + [this, lib_key = key](td::ConstBitPtr key, int key_len, Ref old_val, + Ref new_val) { + CHECK(key_len == 256); + if (old_val.not_null() && !old_val->empty_ext()) { + return false; + } + if (new_val.not_null() && !new_val->empty_ext()) { + return false; + } + CHECK(old_val.not_null() != new_val.not_null()); + lib_publishers2_.emplace_back(lib_key, key, new_val.not_null()); + return true; + }, + 3 /* check augmentation of changed nodes */)) { return reject_query("invalid publishers set for shard library with hash "s + key.to_hex(256)); } return true; @@ -5099,14 +5101,15 @@ bool ValidateQuery::check_mc_state_extra() { try { vm::AugmentedDictionary old_prev_dict{old_extra.r1.prev_blocks, 32, block::tlb::aug_OldMcBlocksInfo}; vm::AugmentedDictionary new_prev_dict{new_extra.r1.prev_blocks, 32, block::tlb::aug_OldMcBlocksInfo}; - if (!old_prev_dict.scan_diff(new_prev_dict, - [this](td::ConstBitPtr key, int key_len, Ref old_val_extra, - Ref new_val_extra) { - CHECK(key_len == 32); - return check_one_prev_dict_update( - (unsigned)key.get_uint(32), std::move(old_val_extra), std::move(new_val_extra)); - }, - 3 /* check augmentation of changed nodes */)) { + if (!old_prev_dict.scan_diff( + new_prev_dict, + [this](td::ConstBitPtr key, int key_len, Ref old_val_extra, + Ref new_val_extra) { + CHECK(key_len == 32); + return check_one_prev_dict_update((unsigned)key.get_uint(32), std::move(old_val_extra), + std::move(new_val_extra)); + }, + 3 /* check augmentation of changed nodes */)) { return reject_query("invalid previous block dictionary in the new state"); } td::BitArray<32> key; diff --git a/validator/impl/validate-query.hpp b/validator/impl/validate-query.hpp index c0d9c171..2aef04af 100644 --- a/validator/impl/validate-query.hpp +++ b/validator/impl/validate-query.hpp @@ -108,7 +108,7 @@ inline ErrorCtxSet ErrorCtx::set_guard(std::vector str_list) { class ValidateQuery : public td::actor::Actor { static constexpr int supported_version() { - return 2; + return 3; } static constexpr long long supported_capabilities() { return ton::capCreateStatsEnabled | ton::capBounceMsgBody | ton::capReportVersion | ton::capShortDequeue; diff --git a/validator/impl/validator-set.hpp b/validator/impl/validator-set.hpp index 501cdc7d..3141f36c 100644 --- a/validator/impl/validator-set.hpp +++ b/validator/impl/validator-set.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/block-handle.h b/validator/interfaces/block-handle.h index a0ed5f2a..ee1a2258 100644 --- a/validator/interfaces/block-handle.h +++ b/validator/interfaces/block-handle.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/block.h b/validator/interfaces/block.h index 8c2e7649..45903ea8 100644 --- a/validator/interfaces/block.h +++ b/validator/interfaces/block.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "vm/cells.h" diff --git a/validator/interfaces/config.h b/validator/interfaces/config.h index 06368e4b..fa458d06 100644 --- a/validator/interfaces/config.h +++ b/validator/interfaces/config.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/db.h b/validator/interfaces/db.h index 704272e8..6b393b04 100644 --- a/validator/interfaces/db.h +++ b/validator/interfaces/db.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/external-message.h b/validator/interfaces/external-message.h index 9a125fc7..f6d9d600 100644 --- a/validator/interfaces/external-message.h +++ b/validator/interfaces/external-message.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/ihr-message.h b/validator/interfaces/ihr-message.h index 7287ab4d..aa234b3a 100644 --- a/validator/interfaces/ihr-message.h +++ b/validator/interfaces/ihr-message.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/message-queue.h b/validator/interfaces/message-queue.h index 2f9c31cd..816ce066 100644 --- a/validator/interfaces/message-queue.h +++ b/validator/interfaces/message-queue.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/proof.h b/validator/interfaces/proof.h index 5830f467..99471a1f 100644 --- a/validator/interfaces/proof.h +++ b/validator/interfaces/proof.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/shard-block.h b/validator/interfaces/shard-block.h index bb6dd136..e88a970b 100644 --- a/validator/interfaces/shard-block.h +++ b/validator/interfaces/shard-block.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/shard.h b/validator/interfaces/shard.h index eab36399..0cfbda43 100644 --- a/validator/interfaces/shard.h +++ b/validator/interfaces/shard.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/signature-set.h b/validator/interfaces/signature-set.h index 7d5cdbfe..2176c33f 100644 --- a/validator/interfaces/signature-set.h +++ b/validator/interfaces/signature-set.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/validator-full-id.h b/validator/interfaces/validator-full-id.h index c7fc6366..0e1fa739 100644 --- a/validator/interfaces/validator-full-id.h +++ b/validator/interfaces/validator-full-id.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/validator-manager.h b/validator/interfaces/validator-manager.h index 405efdfb..a09eaba5 100644 --- a/validator/interfaces/validator-manager.h +++ b/validator/interfaces/validator-manager.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/interfaces/validator-set.h b/validator/interfaces/validator-set.h index 962e335c..b71c0bfe 100644 --- a/validator/interfaces/validator-set.h +++ b/validator/interfaces/validator-set.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/invariants.hpp b/validator/invariants.hpp index d10495a7..7847da27 100644 --- a/validator/invariants.hpp +++ b/validator/invariants.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/manager-disk.h b/validator/manager-disk.h index 64d107b4..2a1740c0 100644 --- a/validator/manager-disk.h +++ b/validator/manager-disk.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "validator/validator.h" diff --git a/validator/manager-init.cpp b/validator/manager-init.cpp index 0e77ef94..2d38c189 100644 --- a/validator/manager-init.cpp +++ b/validator/manager-init.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "manager-init.hpp" #include "td/utils/filesystem.h" diff --git a/validator/manager-init.h b/validator/manager-init.h index 44f012b9..d60efb31 100644 --- a/validator/manager-init.h +++ b/validator/manager-init.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/manager-init.hpp b/validator/manager-init.hpp index 49e7562c..8b1b75ae 100644 --- a/validator/manager-init.hpp +++ b/validator/manager-init.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/manager.cpp b/validator/manager.cpp index c55f4ce3..762e3be5 100644 --- a/validator/manager.cpp +++ b/validator/manager.cpp @@ -1379,6 +1379,7 @@ void ValidatorManagerImpl::start_up() { lite_server_cache_ = create_liteserver_cache_actor(actor_id(this), db_root_); token_manager_ = td::actor::create_actor("tokenmanager"); td::mkdir(db_root_ + "/tmp/").ensure(); + td::mkdir(db_root_ + "/catchains/").ensure(); auto Q = td::PromiseCreator::lambda([SelfId = actor_id(this)](td::Result> R) { @@ -1714,6 +1715,8 @@ void ValidatorManagerImpl::update_shards() { force_recover = r > 0; } + BlockSeqno key_seqno = last_key_block_handle_->id().seqno(); + if (allow_validate_) { for (auto &desc : new_shards) { auto shard = desc.first; @@ -1730,7 +1733,7 @@ void ValidatorManagerImpl::update_shards() { auto validator_id = get_validator(shard, val_set); if (!validator_id.is_zero()) { - auto val_group_id = get_validator_set_id(shard, val_set, opts_hash); + auto val_group_id = get_validator_set_id(shard, val_set, opts_hash, key_seqno, opts); if (force_recover) { auto r = opts_->check_unsafe_catchain_rotate(last_masterchain_seqno_, val_set->get_catchain_seqno()); @@ -1744,14 +1747,6 @@ void ValidatorManagerImpl::update_shards() { val_group_id = sha256_bits256(td::Slice(b, 36)); } } - // DIRTY. But we don't want to create hardfork now - // TODO! DELETE IT LATER - //if (last_masterchain_seqno_ >= 2904932 && val_set->get_catchain_seqno() == 44896) { - // if (opts_->zero_block_id().file_hash.to_hex() == - // "5E994FCF4D425C0A6CE6A792594B7173205F740A39CD56F537DEFD28B48A0F6E") { - // val_group_id[0] = !val_group_id[0]; - // } - //} VLOG(VALIDATOR_DEBUG) << "validating group " << val_group_id; auto it = validator_groups_.find(val_group_id); @@ -1785,7 +1780,7 @@ void ValidatorManagerImpl::update_shards() { auto validator_id = get_validator(shard, val_set); if (!validator_id.is_zero()) { - auto val_group_id = get_validator_set_id(shard, val_set, opts_hash); + auto val_group_id = get_validator_set_id(shard, val_set, opts_hash, key_seqno, opts); auto it = next_validator_groups_.find(val_group_id); if (it != next_validator_groups_.end()) { //CHECK(!it->second.empty()); @@ -1869,7 +1864,8 @@ void ValidatorManagerImpl::update_shard_blocks() { } ValidatorSessionId ValidatorManagerImpl::get_validator_set_id(ShardIdFull shard, td::Ref val_set, - td::Bits256 opts_hash) { + td::Bits256 opts_hash, BlockSeqno last_key_block_seqno, + const validatorsession::ValidatorSessionOptions &opts) { std::vector> vec; auto v = val_set->export_vector(); auto vert_seqno = opts_->get_maximal_vertical_seqno(); @@ -1878,12 +1874,18 @@ ValidatorSessionId ValidatorManagerImpl::get_validator_set_id(ShardIdFull shard, vec.push_back( create_tl_object(pub_key.compute_short_id().bits256_value(), n.addr, n.weight)); } - if (vert_seqno == 0) { - return create_hash_tl_object(shard.workchain, shard.shard, val_set->get_catchain_seqno(), - opts_hash, std::move(vec)); - } else { - return create_hash_tl_object(shard.workchain, shard.shard, vert_seqno, + if (!opts.new_catchain_ids) { + if (vert_seqno == 0) { + return create_hash_tl_object(shard.workchain, shard.shard, val_set->get_catchain_seqno(), opts_hash, std::move(vec)); + } else { + return create_hash_tl_object( + shard.workchain, shard.shard, vert_seqno, val_set->get_catchain_seqno(), opts_hash, std::move(vec)); + } + } else { + return create_hash_tl_object(shard.workchain, shard.shard, vert_seqno, + last_key_block_seqno, val_set->get_catchain_seqno(), + opts_hash, std::move(vec)); } } diff --git a/validator/manager.h b/validator/manager.h index eb841d8e..4fe2037f 100644 --- a/validator/manager.h +++ b/validator/manager.h @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once #include "validator/validator.h" diff --git a/validator/manager.hpp b/validator/manager.hpp index fdb53670..6b5fb69c 100644 --- a/validator/manager.hpp +++ b/validator/manager.hpp @@ -215,7 +215,9 @@ class ValidatorManagerImpl : public ValidatorManager { private: // VALIDATOR GROUPS - ValidatorSessionId get_validator_set_id(ShardIdFull shard, td::Ref val_set, td::Bits256 opts_hash); + ValidatorSessionId get_validator_set_id(ShardIdFull shard, td::Ref val_set, td::Bits256 opts_hash, + BlockSeqno last_key_block_seqno, + const validatorsession::ValidatorSessionOptions &opts); td::actor::ActorOwn create_validator_group(ValidatorSessionId session_id, ShardIdFull shard, td::Ref validator_set, validatorsession::ValidatorSessionOptions opts, diff --git a/validator/net/download-archive-slice.hpp b/validator/net/download-archive-slice.hpp index 018650ad..6ef11d1a 100644 --- a/validator/net/download-archive-slice.hpp +++ b/validator/net/download-archive-slice.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/net/download-block-new.cpp b/validator/net/download-block-new.cpp index 145a0818..ef5ed7e5 100644 --- a/validator/net/download-block-new.cpp +++ b/validator/net/download-block-new.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "download-block-new.hpp" #include "ton/ton-tl.hpp" diff --git a/validator/net/download-block-new.hpp b/validator/net/download-block-new.hpp index 8a5f91a2..d2a0e136 100644 --- a/validator/net/download-block-new.hpp +++ b/validator/net/download-block-new.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/net/download-block.cpp b/validator/net/download-block.cpp index 60155dcb..5e7c0be9 100644 --- a/validator/net/download-block.cpp +++ b/validator/net/download-block.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "download-block.hpp" #include "ton/ton-tl.hpp" diff --git a/validator/net/download-block.hpp b/validator/net/download-block.hpp index 54a5a6c0..b1847d58 100644 --- a/validator/net/download-block.hpp +++ b/validator/net/download-block.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/net/download-next-block.cpp b/validator/net/download-next-block.cpp index 95e37ac8..18472d4b 100644 --- a/validator/net/download-next-block.cpp +++ b/validator/net/download-next-block.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "download-next-block.hpp" #include "ton/ton-tl.hpp" diff --git a/validator/net/download-next-block.hpp b/validator/net/download-next-block.hpp index c7646d49..840bb121 100644 --- a/validator/net/download-next-block.hpp +++ b/validator/net/download-next-block.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/net/download-proof.cpp b/validator/net/download-proof.cpp index b8513c9c..dffcff9f 100644 --- a/validator/net/download-proof.cpp +++ b/validator/net/download-proof.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "download-proof.hpp" #include "ton/ton-tl.hpp" diff --git a/validator/net/download-proof.hpp b/validator/net/download-proof.hpp index e72c6c2e..69bbd25e 100644 --- a/validator/net/download-proof.hpp +++ b/validator/net/download-proof.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/net/download-state.cpp b/validator/net/download-state.cpp index abda77a9..0c71133b 100644 --- a/validator/net/download-state.cpp +++ b/validator/net/download-state.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "download-state.hpp" #include "ton/ton-tl.hpp" diff --git a/validator/net/download-state.hpp b/validator/net/download-state.hpp index a12f3577..d965e3c7 100644 --- a/validator/net/download-state.hpp +++ b/validator/net/download-state.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/net/get-next-key-blocks.cpp b/validator/net/get-next-key-blocks.cpp index 02c3a668..5fe35566 100644 --- a/validator/net/get-next-key-blocks.cpp +++ b/validator/net/get-next-key-blocks.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "get-next-key-blocks.hpp" #include "download-proof.hpp" diff --git a/validator/net/get-next-key-blocks.hpp b/validator/net/get-next-key-blocks.hpp index 12f7ad32..074289e2 100644 --- a/validator/net/get-next-key-blocks.hpp +++ b/validator/net/get-next-key-blocks.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/shard-client.cpp b/validator/shard-client.cpp index 662ba172..5cafd3ca 100644 --- a/validator/shard-client.cpp +++ b/validator/shard-client.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "shard-client.hpp" #include "ton/ton-io.hpp" diff --git a/validator/shard-client.hpp b/validator/shard-client.hpp index 960f2514..455b67e7 100644 --- a/validator/shard-client.hpp +++ b/validator/shard-client.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/state-serializer.cpp b/validator/state-serializer.cpp index cc40626f..802159c0 100644 --- a/validator/state-serializer.cpp +++ b/validator/state-serializer.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "state-serializer.hpp" #include "td/utils/Random.h" diff --git a/validator/state-serializer.hpp b/validator/state-serializer.hpp index e5efdbe0..3b8d7052 100644 --- a/validator/state-serializer.hpp +++ b/validator/state-serializer.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/token-manager.cpp b/validator/token-manager.cpp index 51732950..2cca02ed 100644 --- a/validator/token-manager.cpp +++ b/validator/token-manager.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "token-manager.h" diff --git a/validator/validate-broadcast.cpp b/validator/validate-broadcast.cpp index 1aa025e3..59cb1fac 100644 --- a/validator/validate-broadcast.cpp +++ b/validator/validate-broadcast.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "validate-broadcast.hpp" #include "fabric.h" diff --git a/validator/validate-broadcast.hpp b/validator/validate-broadcast.hpp index ff42f635..8a6fb149 100644 --- a/validator/validate-broadcast.hpp +++ b/validator/validate-broadcast.hpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #pragma once diff --git a/validator/validator-full-id.cpp b/validator/validator-full-id.cpp index b5fdb011..5cca11c2 100644 --- a/validator/validator-full-id.cpp +++ b/validator/validator-full-id.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "interfaces/validator-full-id.h" #include "adnl/utils.hpp" diff --git a/validator/validator-group.cpp b/validator/validator-group.cpp index 0989a110..480a580f 100644 --- a/validator/validator-group.cpp +++ b/validator/validator-group.cpp @@ -30,6 +30,10 @@ void ValidatorGroup::generate_block_candidate(td::uint32 round_id, td::Promise last_known_round_id_) { last_known_round_id_ = round_id; } + if (!started_) { + promise.set_error(td::Status::Error(ErrorCode::notready, "cannot collate block: group not started")); + return; + } run_collate_query(shard_, min_ts_, min_masterchain_block_id_, prev_block_ids_, Ed25519_PublicKey{local_id_full_.ed25519_value().raw()}, validator_set_, manager_, td::Timestamp::in(10.0), std::move(promise)); @@ -66,6 +70,10 @@ void ValidatorGroup::validate_block_candidate(td::uint32 round_id, BlockCandidat })); } }); + if (!started_) { + P.set_error(td::Status::Error(ErrorCode::notready, "validator group not started")); + return; + } auto next_block_id = create_next_block_id(block.id.root_hash, block.id.file_hash); VLOG(VALIDATOR_DEBUG) << "validating block candidate " << next_block_id; block.id = next_block_id; @@ -85,6 +93,12 @@ void ValidatorGroup::accept_block_candidate(td::uint32 round_id, PublicKeyHash s validator_set_->check_signatures(root_hash, file_hash, sig_set).ensure(); auto approve_sig_set = create_signature_set(std::move(approve_signatures)); validator_set_->check_approve_signatures(root_hash, file_hash, approve_sig_set).ensure(); + + if (!started_) { + postoned_accept_.push_back(PostponedAccept{root_hash, file_hash, std::move(block_data), std::move(sig_set), + std::move(approve_sig_set), std::move(promise)}); + return; + } auto next_block_id = create_next_block_id(root_hash, file_hash); auto block = block_data.size() > 0 ? create_block(next_block_id, std::move(block_data)).move_as_ok() : td::Ref{}; @@ -240,10 +254,19 @@ void ValidatorGroup::create_session() { } CHECK(found); - session_ = validatorsession::ValidatorSession::create(session_id_, config_, local_id_, std::move(vec), - make_validator_session_callback(), keyring_, adnl_, rldp_, - overlays_, db_root_, allow_unsafe_self_blocks_resync_); - if (prev_block_ids_.size() > 0) { + if (!config_.new_catchain_ids) { + session_ = validatorsession::ValidatorSession::create(session_id_, config_, local_id_, std::move(vec), + make_validator_session_callback(), keyring_, adnl_, rldp_, + overlays_, db_root_, "-", allow_unsafe_self_blocks_resync_); + } else { + session_ = validatorsession::ValidatorSession::create( + session_id_, config_, local_id_, std::move(vec), make_validator_session_callback(), keyring_, adnl_, rldp_, + overlays_, db_root_ + "/catchains/", + PSTRING() << "." << shard_.workchain << "." << shard_.shard << "." << validator_set_->get_catchain_seqno() + << ".", + allow_unsafe_self_blocks_resync_); + } + if (started_) { td::actor::send_closure(session_, &validatorsession::ValidatorSession::start); } } @@ -252,16 +275,29 @@ void ValidatorGroup::start(std::vector prev, BlockIdExt min_masterch prev_block_ids_ = prev; min_masterchain_block_id_ = min_masterchain_block_id; min_ts_ = min_ts; + started_ = true; if (init_) { td::actor::send_closure(session_, &validatorsession::ValidatorSession::start); } + + for (auto &p : postoned_accept_) { + auto next_block_id = create_next_block_id(p.root_hash, p.file_hash); + + auto block = + p.block.size() > 0 ? create_block(next_block_id, std::move(p.block)).move_as_ok() : td::Ref{}; + retry_accept_block_query(next_block_id, std::move(block), prev_block_ids_, std::move(p.sigs), + std::move(p.approve_sigs), std::move(p.promise)); + prev_block_ids_ = std::vector{next_block_id}; + } + postoned_accept_.clear(); } void ValidatorGroup::destroy() { if (!session_.empty()) { - td::actor::send_closure(session_, &validatorsession::ValidatorSession::destroy); - session_.release(); + auto ses = session_.release(); + delay_action([ses]() mutable { td::actor::send_closure(ses, &validatorsession::ValidatorSession::destroy); }, + td::Timestamp::in(10.0)); } stop(); } diff --git a/validator/validator-group.hpp b/validator/validator-group.hpp index 431745e9..407a8f18 100644 --- a/validator/validator-group.hpp +++ b/validator/validator-group.hpp @@ -79,6 +79,17 @@ class ValidatorGroup : public td::actor::Actor { private: std::unique_ptr make_validator_session_callback(); + struct PostponedAccept { + RootHash root_hash; + FileHash file_hash; + td::BufferSlice block; + td::Ref sigs; + td::Ref approve_sigs; + td::Promise promise; + }; + + std::list postoned_accept_; + ShardIdFull shard_; PublicKeyHash local_id_; PublicKey local_id_full_; @@ -100,6 +111,7 @@ class ValidatorGroup : public td::actor::Actor { td::actor::ActorOwn session_; bool init_ = false; + bool started_ = false; bool allow_unsafe_self_blocks_resync_; td::uint32 last_known_round_id_ = 0; }; diff --git a/validator/validator-options.cpp b/validator/validator-options.cpp index 8dcc6a80..e267e9fa 100644 --- a/validator/validator-options.cpp +++ b/validator/validator-options.cpp @@ -14,7 +14,7 @@ You should have received a copy of the GNU Lesser General Public License along with TON Blockchain Library. If not, see . - Copyright 2017-2019 Telegram Systems LLP + Copyright 2017-2020 Telegram Systems LLP */ #include "validator-options.hpp"