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 7043199e4..c86f3f7e7 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 d7bf9fd72..f9d61eb27 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 077279fd7..0f4937457 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 1d10283b2..9602b521e 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 bd60f202d..b9a5d570a 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 d58247fcc..a4df818e7 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 ffae186b1..06926f4d1 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 0b7f10120..ce3c29b3c 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 a23d8610d..ed04469cb 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 10e0ca9cc..618b2fb4d 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 7ffa9e69d..b4604a76d 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 4e09429a3..0d7129783 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 fe14f0ed4..4bf080a89 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 509e64f55..0fc6c2cf0 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 6043d2877..b12493e77 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 d2f0f52d4..5bc767d2b 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 3c0ebf065..6e24a49fe 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 edb7efb38..251715be8 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 3ca06f159..91e3bed0c 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 51ecbb8e9..166be5aa1 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 1ba0e920c..c5ef75304 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 593f12261..0e1f2ebc8 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 9fe93bb16..cb05f3969 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 e0008260a..50aec2efb 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 ce7a713f9..0ce52af6e 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 10c04eb79..f4e76674e 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 c6e10348c..8d66d3c15 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 711ee29cb..7a17d3eeb 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 fc1d55229..8a5dfa904 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 914fa91ce..27f9ec61f 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 f30b9d64a..af9834021 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 3f49c1368..b9b0373f0 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 ab04b3127..c3bae8e02 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 c1789f3e4..b41c8af03 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 217ef7530..cb95135e3 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 4ddbf3c42..abbc8b5cf 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 65182c1e4..6e832e49f 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 5e0158734..2a1bc6080 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 440d93596..ff6922395 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 111a9f358..9b98c58e5 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 71eee62b6..b95e7fc2b 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 3dfcf9c87..a06166986 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 ed2330007..884bfc4d6 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 c222e95a4..e328636f9 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 ddcdbfb9d..dacc7ee53 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 ac1f14159..b774e6931 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 f5b660602..64142fe80 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 ba9d22cda..755d4218a 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 48346e77f..904f4c732 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 868206d84..07869ca95 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 f2018b808..2be1f5800 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 755403c18..cd9498fbf 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 ee85d6f67..1744a071b 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 203345826..e192ad819 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 d0c51b5ac..f51b42622 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 981f1f95e..1084bb1a8 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 942ca7c8b..bf3d85868 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 e04badb55..0e3ad5f26 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 5214a1b6a..e7191e07c 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 91ad73347..e82bcda49 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 cdc7c778d..365f0595b 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 d58c82243..54dee48aa 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 3229e6815..41780fb9b 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 5b95c8f3e..a90414f87 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 08a584124..7625ff7a9 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 dca882cf8..a38eb079e 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 393da408b..7b248f64a 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 3f17a5409..b6b63be5e 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 c523f6544..ed71910d5 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 d40e8f8d7..94d852c06 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 6bcb42c20..eb131f702 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 b226c2916..c720ecca9 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 3298132a9..34a4b2464 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 34cdb8325..4da390ca2 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 5a4439ef7..a2feee590 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 bd3c80237..a57eef0e2 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 a091c0495..d77a14a2d 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 b2725cdae..7d2e0967e 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 50cd8c314..cd80e3140 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 7d51396cb..816ad6679 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 3ed11c31b..fc2b27533 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 0dcc629f9..11f1e4a34 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 5b937c833..d3eaf1600 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 6e97cc397..3aad90ef4 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 0a1014162..517299e90 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 9e9c546dd..57f5c05f6 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 91064e079..6ead2be7f 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 809ccd5a4..20c81e244 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 006708383..adea1de78 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 d80293402..87c63c3f1 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 803560e14..12556e46b 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 939bb29ca..a8843da90 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 88f683bd3..81a828a8f 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 1022b26e4..7866a840f 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 d80518ce6..334368004 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 1dfe8411d..d98c7a263 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 5c263acf6..45e8891f4 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 694dc7a83..466ad4e7a 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 85ae51499..3e3dab896 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 54f72bccc..97e5082e8 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 c84d825dd..351f92573 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 1395d8b43..63adcf7c5 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 1b654fa1f..a7d5486a1 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 08e406324..9946a9ff3 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 a448c5d89..68b131ce6 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 9e411632d..5ca3d2909 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 d9e392eda..1c20ba41a 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 2f5d2cc74..03f73b14e 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 f801e2e44..038e9a9a0 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 0b5c122da..2cbc0e8b3 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 b0ce73810..a619d86c2 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 9e55dd673..c994e47e2 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 117d1c329..3f43ec6bd 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 b3383984b..150dd2bda 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 b9841e1cd..1830c37d2 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 416d18357..bec8b0335 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 72490677f..401bb0483 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 0a6dfb360..46d73f0df 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 144fe3b4c..35d03d937 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 105c74c16..a1c4131fc 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 41788c5f7..cb50f1d09 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 d75f16675..3cc656c01 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 2978ecc69..41b4c138f 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 caacf1f34..e8434ae47 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 09defae21..bf15bb56f 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 8b6a1ac4d..02abc1c88 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 b2a64ffb8..b83e87d23 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 4fe4dcc8c..8546e1ce4 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 5919b07ec..e86a303c4 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 2f0ecb0f6..1a879d003 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 8ba6f215f..113ccf2e6 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 057c9070f..acb3b3fc8 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 317fead33..a1b7365b5 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 26e023304..b705b5311 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 732c1691b..5fcc3923f 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 54055a256..67d92ecf9 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 b69b917de..882915758 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 4a129fb7a..124c868ae 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 f478c9923..68f677a1e 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 2f4ba090a..dfce31104 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 d555cf7a6..7d46213f3 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 741982dce..53999c7b8 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 509ecfca5..fde0890f9 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 13096fbef..dff7290da 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 d441fd780..f9ea70235 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 7ae940d3f..27921a556 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 c2809e917..5b3e14d99 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 cef8a0f4b..f7d489590 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 f181ca868..2b366ab3d 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 c34b0d01f..03f8d134a 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 052f93057..89949bc12 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 28bef5ced..75efee553 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 d51b34bb9..669840f5a 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 26c8b5ef7..5e079c042 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 c60d9fd08..a2ca01e80 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 2fe360f53..b194a1735 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 f7f37744e..89bc12a2f 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 be90ed795..044d8d29d 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 8493aef0c..fc67bd0fe 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 9f7989e7c..0b93d36fc 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 22e3b30ed..3035a0cec 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 a07f63550..dbe882398 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 97814cb3f..7d6c0c2c4 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 9710d9f4d..cf883bbe6 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 70755c94b..f1f90f427 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 b1b7dc445..ce2554e1e 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 3374dfed2..280f1d26e 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 3e926133a..bade50e70 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 a5a8ffd66..665c269d2 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 069433b1b..e368c6208 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 03effa51a..6d30d47cc 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 e88638a9a..b29fce229 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 b96e95d3f..a9cc36346 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 06fd6eac5..c22b0faa7 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 eca78524a..ae7c3dd5a 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 4ac1dfb2d..574d0f914 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 98112aa68..0539383f9 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 8d6a04125..47019c16c 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 6db79b178..cba151453 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 8cc75f51b..b087fc754 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 ecd03b69a..90f3877ed 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 bec81efeb..2c4c208dd 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 c6be7b7b1..196f5edcb 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 b2e0f99f9..6192d0706 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 c0cf62626..d5457eaf8 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 ff159021f..8bcac5e66 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 f3eacfc91..ac787ca52 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 7fdc1ca93..edb19d7a4 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 2d7e669a3..978ae39b1 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 21c30dd34..248a5f68c 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 eb343678a..01ceef549 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 208840da1..ffc4176bf 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 781362ff8..7ef534cdf 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 e12e6ff2b..954ec8d55 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 9805a76cb..022a98e32 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 b4eb6f6d6..5f6995887 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 3a29b4736..33e259a27 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 704405ed1..3d581fe5e 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 17cda3caa..37f7d856c 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 889426620..8c5fde622 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 53fc1e11a..9a2c5d29e 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 60ee8f0e9..49c7611ae 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 2374fdfc7..f0811bea9 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 e66813a9a..9e8b03091 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 8368f00b3..e8a1b659a 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 6cab610cf..c62478430 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 079f0789f..5719b816a 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 c8c2a8882..bb32f6689 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 91c281555..d1f10c633 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 c4a30b983..529a01f81 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 6f99e109d..49cbf63d0 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 75c339aef..936d965da 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 9fb4526c9..5921f725f 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 494f076e4..088958f6b 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 e2e0c3963..98d2ec3b5 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 dd98578d3..473ee7800 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 f2c047138..ee6fd36df 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 77ed46b34..3745701b2 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 be59b4e71..7c60b1135 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 cde44450a..86eb36914 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 2ea0e613f..5ea45f64a 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 3086f3a40..19f6a5867 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 41701a5a6..2cea8f6fe 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 73e34068a..7478eed8c 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 b80c2a430..af6906930 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 36a083cca..ea3b2c6c3 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 5439205b7..c82a1e5be 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 1ab07d703..667c70c06 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 a110f26b5..fcd23514f 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 209c43280..bef5b94fd 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 4762114d2..0d09392e5 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 fd9cacc55..923d7be29 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 17cb11b4e..68b853c4a 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 d3ab7f665..24202da41 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 aaa58d2c9..2037cc43a 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 d2cd35225..d3cc6c9b0 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 7ce3e4870..084e7c6c2 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 4be7af825..db7b33a1b 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 baebae98c..9567eaba0 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 e18cf5b55..b152e5d3f 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 d891cee33..63c25b4b2 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 9c895cced..f066f7b27 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 9bf2b56a6..34adff6ef 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 dd9799b8d..06a50e0bb 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 a83e1a965..abf9b06c7 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 369f5ea16..6f0accad8 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 ed1de8092..ceb756643 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 6edecd790..43f20155c 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 bafb55248..b003c9446 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 40f158fa5..405352dd6 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 0210b3665..58e0ac030 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 96ab0b307..0f7f63269 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 f689b2ef9..18f84d123 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 26ca7ad74..c57e0043c 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 3a9a60ff0..52202aa82 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 65effb057..2400f16a1 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 5f7b4b05f..c9ac13115 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 01db7efca..dd50dde96 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 4389806de..5c62428a7 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 00ee2f497..bd7533d95 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 6372c4d81..df289726f 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 e0ff0300d..d2d2343ad 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 25e7bf5f4..37583c697 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 7dc02b132..a254bc4e1 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 4959f0880..4702cc51b 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 335446bdb..2288b3e4c 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 add2f9f5a..dde484383 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 41dd3d990..64e9b4156 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 9ab44679a..f130f0ead 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 83e6cf2dc..4222a5408 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 8393d5843..df390e192 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 13b03664f..1f5c27f01 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 4b679a5c5..02d8102fe 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 9facb719b..a1b993c2f 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 de30577fb..e4e926d2e 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 8642816f7..6d48b3d02 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 2e5c71fc9..16879847c 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 7cbfe2539..9bcbee990 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 c3c23972e..069380a71 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 24057d1d1..a807408cb 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 9b2b0d9d4..261d7e37c 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 5e187342b..7b7364bae 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 d83030eb0..fc11f8bc6 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 7dff5e761..a1c53aa63 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 ed73c8eb2..f6d0d268e 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 fb3d0595c..bb084a677 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 78b02e9bb..cc1b0f421 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 2e5671207..2fe6469f3 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 d38b0385e..93aaf8814 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 8554ad02a..f45db0008 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 9fb347a50..1cda2222a 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 c8aeb919a..456945953 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 86d982c2a..d604447e1 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 9dcd93a9c..44782ae8d 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 a4886e8f1..9e149aaea 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 0561f1efd..508c104fe 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 8f6613c91..081fb3113 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 3f07e0071..fc2fe6d47 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 8cd06b4ee..5a0af816b 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 fa705ab5a..58518ba3b 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 f2fbc4082..9faca7f70 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 ceffe3690..9c87c257c 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 3f18c362e..5c672f264 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 402dd5e61..acdd77aeb 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 9048e024a..03edb535c 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 510ee5611..8ce35b49e 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 a521bc779..73e3e21e7 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 43d5ea1c1..da639b3d7 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 56dc9d7b6..2f9add2ea 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 b723b365a..8a966c0b2 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 1edfe4bdc..db30ce4dc 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 08f413c4b..9f30d204c 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 e7f1d67a4..16c37dd3a 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 d08ce03bb..3b2fc9de5 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 389c3c745..95661e94d 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 fc329abc3..e235f21f6 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 5c8c9ad3e..c15a568c7 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 0baf1b330..786dc0b09 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 872b385bb..fadeb89b8 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 ccd01d475..d7bfe5125 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 2f14c65d1..e1122ea22 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 ff05edb66..36bae44f9 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 714acb857..2aa2d0206 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 419b6c72f..0811e6407 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 a3ace64c1..868e054e1 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 4cb615d95..00af44513 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 3dcfdf1c5..0b890c757 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 2b56fb42f..4d61a222e 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 5dba470c6..ba78fef46 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 0478176f8..4a56fee6c 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 b3c30aab2..9646bef90 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 486e2a154..b00d5a922 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 95f42b5e1..418492215 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 6349ff65f..37be5e07f 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 e3b2b11e4..b21a93ddb 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 59049541b..8081d778b 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 7b15f2cb8..2a73f2286 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 dbe23c4f6..a4e0ab6f2 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 82aead473..7a8447401 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 be089ca6c..d67af2834 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 63c26438d..4f3c38895 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 b9a01db92..92bb0d76f 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 405cd5013..ad873d1c0 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 7f0cf9c0f..583bd6599 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 5d658531c..64001a5df 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 3d51bb10a..9fe7f5502 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 6f88ddf2e..831616ded 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 8a0587794..cdace8d12 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 49b3324c2..70fadc077 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 44cd67b59..12fb5f6ba 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 a246d4e81..32097f3b4 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 fc5e474a6..4712b5edc 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 2a9e568c0..a6173784e 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 b167c804a..ac2236141 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 ed26c4427..3d28132fc 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 a313ea2d2..f131dc79d 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 d5be75a02..252f2f857 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 5ca74d62c..96761c70f 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 6ed0c6849..6e787e717 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 30f034b61..08a46e7f0 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 ab941cb58..5f0a466c1 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 5f86c3379..e224fae1e 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 734b1246f..800987f2e 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 2bd02c89f..2aa462763 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 cec2185d5..b5bb62dbf 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 2d4e499dc..76f0dbdfa 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 18e2a35cf..b654b1b1e 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 a6871d73f..0dc4071e1 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 31178f435..be40a110c 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 f952f0245..b7a33f7f1 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 3481bbe7e..f713ab0d6 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 c3509824f..48f48ffa3 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 52102b3d4..4df488683 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 21fa41449..ca4a5e46c 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 b3d477329..42fef730a 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 1d56bc0cb..599ab68f7 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 dd2a3a618..da717e954 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 ed5afa746..7dec45cfe 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 f42a40e8d..550eab092 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 e3850c4fb..549d23043 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 0c2b86b1f..9b93b675d 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 8bb198ddf..d2cd9b3c7 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 1197b9db2..888168100 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 32caacc6b..07cd48578 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 51f266187..73d6f8fb3 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 3935a1484..a4676d078 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 938323236..29f18c698 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 dcfb76774..79d3dc52a 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 0d6a21a83..18fb57177 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 a0b36e53b..4cd3cdca1 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 632af14eb..d1d21f75f 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 e7a978f86..35a02630e 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 3d9cdda56..dda678698 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 b7fb0115c..9a6c49e6f 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 63b30ba25..3eb79da8e 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 44479368a..cf98b2f59 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 04d17992a..0cccadc1d 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 827d223c3..c3e9ff945 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 176f0efe0..492dbc3e3 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 9c0543a50..bd856a8db 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 d64db3e40..d1e12aa3e 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 cac9493ed..1a38977c7 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 63dad1599..99e70cdfd 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 5112ae489..86bdfe6e4 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 37e26274c..057da7296 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 a69a4aba1..cec3d0186 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 9862091db..d6aea7056 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 aecbfe7fc..173865820 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 12e974895..1ace3bfd7 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 ae33cb649..8a1edb545 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 23ad62528..0b4afc618 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 35b7e46ff..339ae6782 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 273577029..b57a76807 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 092e0e861..5e8b141a1 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 f920d537d..685a74a49 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 abe3a6a29..93ea82b53 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 2aba23151..000356403 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 c13c3c6e4..1ed389fbc 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 090b9672f..c1fd515cd 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 c19957c40..8dc8a5ea3 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 1e57ef227..45d09129b 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 5f8c002bd..b3e6a74e3 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 f3d150139..fd3605140 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 28d3cd196..68e48b0f0 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 390cbc028..0d7c6f946 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 7f50c2ff0..840576f3b 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 cdc7c6d54..2bd671b01 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 8a915420d..a8e25e3a9 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 4afa1b841..12bf4828d 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 c7b29700b..18a3a2608 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 8b4384a1b..641f55652 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 56c41baec..6fa748d9f 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 4f675e642..e4656b443 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 4f77a6ab4..442020bd6 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 ef8e4a99c..af97d2c8c 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 c366d99c1..6947d85e1 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 971142066..3ed0a3add 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 80e6572b1..f5a8c6934 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 3f52159e2..a21cc2817 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 76284e92e..fac6b4ed9 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 25f6f4cb2..f43804ee8 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 5ad03123c..81ffd6eb9 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 4fd517a36..73c6dd7d6 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 1f328f251..eab58e7ee 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 a40f7b7f3..a50c26e93 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 6ec68a173..8e4b89edc 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 d74694d18..7b64b833b 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 9dad700b1..5d45d5a30 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 0bd5c21c1..d7928f174 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 ef62fad51..f93b26061 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 fc6d04390..7bca8d47d 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 36cb2ed2a..2d9c11b02 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 aa6c2d5df..99daa3681 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 821685e29..783dd399f 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 ef5b5a1ea..fc49b628a 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 2b8d826f6..50d59bb4b 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 22f3401e9..7351e608c 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 ad850a28a..e1630a40d 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 6429de331..d2bfafa52 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 ec1969ec9..ed9117bf2 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 d24e13ba6..d7955c553 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 d75c33975..3ac552ddb 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 4751f6422..eb5ca77d8 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 62fca856a..0e0515d5b 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 3b2bc0004..18b008c7c 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 c52b0d026..f1d9f58c5 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 054f8113d..6263c60b9 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 464fa0ea8..d7a6e3431 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 df89ed1a7..b44ac6c44 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 26212beb1..af6609646 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 e0fc41944..8f13492c5 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 5e0e10a5b..3190fb057 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 9a5537acb..f63e0e918 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 2dcfb34b0..dd8a1f723 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 c11316c8f..f9ced6069 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 08ba97b8c..8e17493a0 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 997ec7fc1..6e98592d9 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 b2a924991..dd96a980d 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 eed4cb65e..1ec629a83 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 f616cff73..9872143ef 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 e338e1b70..7dd7e3791 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 fa0409c64..2bc8ea257 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 f7e4725f9..5e8e2986f 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 1c47158b5..49e288191 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 2f88177bd..5ede9af50 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 c7243ce0b..e8f788025 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 487a70c04..434fcabed 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 b6d42ebe6..868438fbd 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 af1b2ad60..b9b6ea3f7 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 ff3af4b1b..0d691da34 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 b965b428e..e958878b9 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 3abdb54f5..ab9b2d84c 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 c1e9306e4..3e27ae675 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 1eef4330b..8a20216bb 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 80ffa2e9f..c7f346885 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 b8e38907a..88217d008 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 bfe2e1e16..e9009e2ea 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 961d82986..5fbbde169 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 7b5fbc212..371b72471 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 2281cc48f..d43e17d53 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 6f2167696..da0f6729e 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 758abd299..aa6c91325 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 3a659f578..71d4ba011 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 86596ab33..51c237770 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 ce9976a71..0ceb8bd5e 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 1fd6c091a..8c0a50f70 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 5c28380e9..819c1cc2d 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 f496500b9..2878a7b16 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 a6e49f439..473b29fe4 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 388202b67..fbda82cea 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 fd8f1620b..cd2ace0a3 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 e09099ac7..520ff7104 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 df165be19..dc2c2ec05 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 94c359ba3..e46d6f960 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 dff61f911..cf6e89a40 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 d63c7d47d..8f2bc31b4 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 3886e9629..2dae941e7 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 d993cb5df..97d372f4d 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 7b69bc037..5ac9fe814 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 329743127..6aff5d68c 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 025dc1e30..2698161b5 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 559e5dddd..cc3f4e485 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 70b24da7d..00c9a79de 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 d7fd15cc1..028aa9270 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 4c435fdee..f892e4280 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 ea58412e9..e1f11c316 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 b04eede9b..f9cc8fed8 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 a4194eb28..0d0f7f85d 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 ae7885b1e..53a297b15 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 b98996b04..a781187a2 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 ab6add81e..7f98ed407 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 24af44626..4ab385f3c 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 b39ac35ef..b171ecba2 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 f3efd47c7..aa621d89d 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 c484923b4..fef7eec5a 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 649b621b1..024748fd8 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 a6e0610e4..1905dc5fd 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 188ea8a3a..b68d3ec00 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 99edcc877..6d676ea8d 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 a5163ec52..e65086b1a 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 83b41ad2f..b4839ca6a 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 42da243ef..c715aa560 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 d93ab1b9a..ab2bc125c 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 b76371500..592589cd2 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 b1113441d..cbe718050 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 f08bb7c48..fa640372c 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 4b04d1f1a..8d48327ee 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 746fee4ed..018315423 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 6981078ef..8c8b5d074 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 b3cbbaf09..882b4794a 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 cd83e3abd..1ab7a24f8 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 441b4c9ee..6014abd3d 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 ee6ddc4fa..fcccc4d4b 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 3635fd1a0..7bab49030 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 a2f94787b..bc2b74ba8 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 e01a7fde7..9ee1e6999 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 dff4265d6..53c4456e4 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 df5dd12c9..b87d9634d 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 7207b6f0e..d07482cec 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 a17b03ebe..4a52c88f6 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 9dbda9d36..708836b92 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 9ff010ab7..cf9ac520c 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 532cc73fc..5ad49560e 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 7aadf6358..105a38dae 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 bf53bc021..101fb6b3c 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 893b95871..e43840766 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 6eb162700..1148b9273 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 9cddd862c..cc026d6cc 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 27d6a8337..99805b89d 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 bbd6fa22d..39eba624f 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 da894dcb2..18f89e5a2 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 f2aa82df8..243abce29 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 0e08d7845..d1784a1fa 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 fec914431..1ca502277 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 8bcf9ab9b..a6bb184f9 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 856f7c874..430465b3d 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 3897bf184..b629c3f26 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 5722c1e75..7a551a024 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 c3d739deb..e02c0005a 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 007d3e31d..b3a40e2ce 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 de5de3385..77852f80a 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 3a2529a5c..60e006d08 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 9ed0ade1c..37708cba9 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 721a79365..45e94b593 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 a65eb4b8c..e59b27b6c 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 8a4d6f521..0e6f8c29e 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 7693df765..f9c94a2fd 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 b64ccce15..67ee3911e 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 e1b0e514c..f7749e0c7 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 06bd16137..4e97f2b50 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 5b0d1a8a3..88094e3cb 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 054ab42bd..859f269cd 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 a470ee194..189e1a134 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 b34db2af6..691d88487 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 9b012dc8e..14424a653 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 f2009fcd5..1f2ab5cef 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 6dfb971e1..ea417643e 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 7c4b7fa97..380c568a6 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 7add44e33..147649297 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 7da435db5..1ad411c42 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 e6b22319a..9485f1540 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 be2e7047e..c56deb9d0 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 de5eec08e..ccce8f772 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 be545b1fb..02984c53c 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 357b85448..719420ccc 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 0a4ab5997..492e62d2e 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 def64ea2d..c40dba487 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 88b342b20..73097d300 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 94b18047a..2b1961610 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 cd05f023c..6695a80fc 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 fd4d7e1d6..1b4e03dab 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 6e1a98a55..b23909173 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 55f4bfd3e..779c8fee8 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 a5eaefac1..bd0bea465 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 ae7cc491b..04c66accf 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 00e6e1f79..9b7039926 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 e82b0905a..ec56e5a3a 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 3487a867f..40a422e09 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 875c4b53f..854be55e3 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 5531df2c8..691a8b362 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 132397425..d2c2d58dd 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 e4eab04a6..e9b64f573 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 e81aadb9f..ff7ae192d 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 c39461659..3d05a1b33 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 18cc0472e..31aa74202 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 a0c7e576e..0b8cf2c32 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 bfbadf107..8a8433f1d 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 94858d36c..108c871d9 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 aa6c27485..1bf8e2767 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 d8b19c6ce..4461b5e16 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 d84f6311d..838326468 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 214cdf28d..7af5b7859 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 85799ce56..20053ada5 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 fb0e5ab14..c92fa80e3 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 8f496caa7..1afac3156 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 68982ed9f..34361314e 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 427374805..073a24a67 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 3dd19646b..4327b5dd3 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 46b1b9796..0ec606003 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 76dfba445..902434381 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 3b7576f47..d9f076cf0 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 2abff1493..225a82de8 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 150efe97d..b6a41be58 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 a617eb3c5..6931ce124 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 2e4b368a4..862b0fc5c 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 f68b9fcec..c72982167 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 b089d67a7..3ff0069ca 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 e4c1328bd..c6e00edf3 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 c2e9cccc9..5c866a6e3 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 5905eaf91..e9067c734 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 c0d9c1710..2aef04afa 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 501cdc7d5..3141f36c5 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 a0ed5f2ae..ee1a22583 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 8c2e76492..45903ea84 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 06368e4b5..fa458d069 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 704272e89..6b393b040 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 9a125fc7b..f6d9d600d 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 7287ab4de..aa234b3ae 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 2f9c31cd4..816ce0668 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 5830f467d..99471a1ff 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 bb6dd1366..e88a970bb 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 eab363997..0cfbda43c 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 7d5cdbfe1..2176c33f7 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 c7fc63663..0e1fa7392 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 405efdfbc..a09eaba5d 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 962e335ca..b71c0bfea 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 d10495a77..7847da277 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 64d107b46..2a1740c04 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 0e77ef948..2d38c189b 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 44f012b92..d60efb31d 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 49e7562c4..8b1b75ae8 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 c55f4ce32..762e3be55 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 eb841d8ea..4fe2037fc 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 fdb53670e..6b5fb69c5 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 018650ad2..6ef11d1a6 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 145a0818a..ef5ed7e54 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 8a5f91a2a..d2a0e1363 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 60155dcb1..5e7c0be93 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 54a5a6c08..b1847d586 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 95e37ac83..18472d4ba 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 c7646d49a..840bb1216 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 b8513c9cd..dffcff9fd 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 e72c6c2ef..69bbd25e0 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 abda77a94..0c71133be 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 a12f3577e..d965e3c71 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 02c3a6681..5fe355661 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 12f7ad32e..074289e21 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 662ba1721..5cafd3ca4 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 960f2514f..455b67e7c 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 cc40626fd..802159c0b 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 e5efdbe09..3b8d7052e 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 51732950d..2cca02edc 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 1aa025e3a..59cb1faca 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 ff42f6354..8a6fb1494 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 b5fdb0113..5cca11c20 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 0989a110c..480a580f5 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 431745e9a..407a8f18b 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 8dcc6a80e..e267e9fa8 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"