From 6f7f7f608fd45c785629ab6d79c34952e75019f5 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Mon, 3 Apr 2023 23:53:59 -0400 Subject: [PATCH 01/34] Draft timestamp offset in dev mode --- data/pools/transactionPool.go | 14 +++++++++++++- node/node.go | 22 +++++++++++++++++----- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index 1c567f2bae..f7a820b775 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -96,6 +96,10 @@ type TransactionPool struct { // stateproofOverflowed indicates that a stateproof transaction was allowed to // exceed the txPoolMaxSize. This flag is reset to false OnNewBlock stateproofOverflowed bool + + // devModeTimeStampOffset adds an offset to the timestamp in the + // blockheader in dev mode. + devModeTimeStampOffset time.Duration } // BlockEvaluator defines the block evaluator interface exposed by the ledger package. @@ -700,6 +704,13 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact if hint < 0 || int(knownCommitted) < 0 { hint = 0 } + + // If dev mode timestamp offset is configured, add the offset to current + // block timestamp. + if pool.devModeTimeStampOffset != 0 { + next.BlockHeader.TimeStamp += int64(pool.devModeTimeStampOffset) + } + pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) if err != nil { // The pendingBlockEvaluator is an interface, and in case of an evaluator error @@ -985,11 +996,12 @@ func (pool *TransactionPool) assembleEmptyBlock(round basics.Round) (assembled * } // AssembleDevModeBlock assemble a new block from the existing transaction pool. The pending evaluator is being -func (pool *TransactionPool) AssembleDevModeBlock() (assembled *ledgercore.ValidatedBlock, err error) { +func (pool *TransactionPool) AssembleDevModeBlock(offset time.Duration) (assembled *ledgercore.ValidatedBlock, err error) { pool.mu.Lock() defer pool.mu.Unlock() // drop the current block evaluator and start with a new one. + pool.devModeTimeStampOffset = offset pool.recomputeBlockEvaluator(nil, 0) // The above was already pregenerating the entire block, diff --git a/node/node.go b/node/node.go index 0009e02128..991614cd0a 100644 --- a/node/node.go +++ b/node/node.go @@ -129,10 +129,11 @@ type AlgorandFullNode struct { indexer *indexer.Indexer - rootDir string - genesisID string - genesisHash crypto.Digest - devMode bool // is this node operates in a developer mode ? ( benign agreement, broadcasting transaction generates a new block ) + rootDir string + genesisID string + genesisHash crypto.Digest + devMode bool // is this node operating in a developer mode ? ( benign agreement, broadcasting transaction generates a new block ) + devModeTimeStampOffset time.Duration log logging.Logger @@ -464,7 +465,7 @@ func (node *AlgorandFullNode) Ledger() *data.Ledger { // writeDevmodeBlock generates a new block for a devmode, and write it to the ledger. func (node *AlgorandFullNode) writeDevmodeBlock() (err error) { var vb *ledgercore.ValidatedBlock - vb, err = node.transactionPool.AssembleDevModeBlock() + vb, err = node.transactionPool.AssembleDevModeBlock(node.devModeTimeStampOffset) if err != nil || vb == nil { return } @@ -1418,3 +1419,14 @@ func (node *AlgorandFullNode) GetSyncRound() uint64 { // UnsetSyncRound no-ops func (node *AlgorandFullNode) UnsetSyncRound() { } + +func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset time.Duration) { + if !node.devMode { + return + } + node.devModeTimeStampOffset = offset +} + +func (node *AlgorandFullNode) GetBlockTimeStampOffset() time.Duration { + return node.devModeTimeStampOffset +} From 22e6432fe8cb60e8861bc371f43f02ee2cbade6b Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 4 Apr 2023 15:54:07 -0400 Subject: [PATCH 02/34] Temp handlers for block timestamp offset --- daemon/algod/api/algod.oas2.json | 105 +++++ daemon/algod/api/algod.oas3.yml | 19 + daemon/algod/api/server/v2/errors.go | 1 + .../api/server/v2/generated/data/routes.go | 272 ++++++------ .../v2/generated/experimental/routes.go | 256 ++++++------ .../api/server/v2/generated/model/types.go | 6 + .../nonparticipating/private/routes.go | 265 ++++++------ .../nonparticipating/public/routes.go | 391 +++++++++--------- .../generated/participating/private/routes.go | 339 +++++++-------- .../generated/participating/public/routes.go | 286 ++++++------- daemon/algod/api/server/v2/handlers.go | 28 ++ data/pools/transactionPool.go | 12 +- 12 files changed, 1075 insertions(+), 905 deletions(-) diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index 9c82d14c77..9536c4dfa9 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -2431,6 +2431,96 @@ } } }, + "/v2/devmode/blocks/offset": { + "get": { + "tags": [ + "public", + "nonparticipating" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "http" + ], + "summary": "Returns the timestamp offset if devmode API is enabled.", + "operationId": "GetBlockTimeStampOffset", + "responses": { + "200": { + "description": "OK", + "$ref": "#/responses/GetBlockTimeStampOffsetResponse" + }, + "400": { + "description": "TimeStamp offset not set.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Devmode API not enabled" + }, + "default": { + "description": "Unknown Error" + } + } + } + }, + "/v2/devmode/blocks/offset/{offset}": { + "post": { + "description": "Sets the timestamp offset (seconds) for blocks in devmode.", + "tags": [ + "public", + "nonparticipating" + ], + "schemes": [ + "http" + ], + "summary": "Given a timestamp offset in seconds, adds the offset to every block header's timestamp.", + "operationId": "SetBlockTimeStampOffset", + "parameters": [ + { + "type": "integer", + "description": "The timestamp offset for blocks in devmode.", + "name": "offset", + "in": "path", + "required": true, + "minimum": 0 + } + ], + "responses": { + "200": { + "type": "object" + }, + "400": { + "description": "Cannot set timestamp offset to a negative integer.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Invalid API Token", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "503": { + "description": "Service Temporarily Unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Unknown Error" + } + } + } + }, "definitions": { "LedgerStateDelta": { "description": "Ledger StateDelta object", @@ -3695,6 +3785,21 @@ } }, "responses": { + "GetBlockTimeStampOffsetResponse": { + "description": "Response containing the timestamp offset in seconds", + "schema": { + "type": "object", + "required": [ + "offset" + ], + "properties": { + "offset": { + "description": "Timestamp offset in seconds.", + "type": "integer" + } + } + } + }, "GetSyncRoundResponse": { "description": "Response containing the ledger's minimum sync round", "schema": { diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index 687c0c8a6a..692c925d14 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -497,6 +497,25 @@ }, "description": "DryrunResponse contains per-txn debug information from a dryrun." }, + "GetBlockTimeStampOffsetResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "offset": { + "description": "Timestamp offset in seconds.", + "type": "integer" + } + }, + "required": [ + "offset" + ], + "type": "object" + } + } + }, + "description": "Response containing the timestamp offset in seconds" + }, "GetSyncRoundResponse": { "content": { "application/json": { diff --git a/daemon/algod/api/server/v2/errors.go b/daemon/algod/api/server/v2/errors.go index 947a38fa97..f1ec19adbf 100644 --- a/daemon/algod/api/server/v2/errors.go +++ b/daemon/algod/api/server/v2/errors.go @@ -28,6 +28,7 @@ var ( errFailedRetrievingNodeStatus = "failed retrieving node status" errFailedRetrievingLatestBlockHeaderStatus = "failed retrieving latests block header" errFailedRetrievingSyncRound = "failed retrieving sync round from ledger" + errFailedRetrievingTimeStampOffset = "failed retrieving timestamp offset from node" errFailedSettingSyncRound = "failed to set sync round on the ledger" errFailedParsingFormatOption = "failed to parse the format option" errFailedToParseAddress = "failed to parse the address" diff --git a/daemon/algod/api/server/v2/generated/data/routes.go b/daemon/algod/api/server/v2/generated/data/routes.go index 3400c168d6..3e00e5b113 100644 --- a/daemon/algod/api/server/v2/generated/data/routes.go +++ b/daemon/algod/api/server/v2/generated/data/routes.go @@ -179,142 +179,142 @@ var swaggerSpec = []string{ "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", - "/12EssOexwAA", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/experimental/routes.go b/daemon/algod/api/server/v2/generated/experimental/routes.go index 5978473978..e946bed398 100644 --- a/daemon/algod/api/server/v2/generated/experimental/routes.go +++ b/daemon/algod/api/server/v2/generated/experimental/routes.go @@ -109,134 +109,134 @@ var swaggerSpec = []string{ "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", - "+h8qR7YAAA==", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/model/types.go b/daemon/algod/api/server/v2/generated/model/types.go index ccf5419425..55993c07b2 100644 --- a/daemon/algod/api/server/v2/generated/model/types.go +++ b/daemon/algod/api/server/v2/generated/model/types.go @@ -874,6 +874,12 @@ type DryrunResponse struct { Txns []DryrunTxnResult `json:"txns"` } +// GetBlockTimeStampOffsetResponse defines model for GetBlockTimeStampOffsetResponse. +type GetBlockTimeStampOffsetResponse struct { + // Offset Timestamp offset in seconds. + Offset uint64 `json:"offset"` +} + // GetSyncRoundResponse defines model for GetSyncRoundResponse. type GetSyncRoundResponse struct { // Round The minimum sync round for the ledger. diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go index 4644cf9f12..a1a5149cb2 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go @@ -165,138 +165,139 @@ var swaggerSpec = []string{ "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", - "5ZLqRb3+eP0/AQAA//8BfTNVqMAAAA==", + "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", + "G/d/fcUXCygP3ItN9qfLx4derTj85Nxy19u+HYbFzw8/tbyX2Y6eWBz58JOv+bO9dauojvPaBh1GYrGt", + "2eEMU4nHNgUdNB6eCl429OEnVJcHfz90+ZXxj3htof1w6F388ZYtKn0ya4trp0fKTbqsisNP+B/kz2sS", + "GDnEHPqUlshZ03zKhGF8pkostmPSpZURvsqH0EHLCXItMfxpZhnd9npJGPh6XlTg9Ph933yCgJiHhFLB", + "snyzaVsjNXLZlBWENTfrU6fVvjl73h8lLz5+ejR9dHT9F3u2uD+fPbkeGZnzsobLzuqDY2TDj1giA40y", + "uJcfHx3d4vHYExmQnxYpeKO4V3WKVmLYguuWqgOI1cTYkcrfAR97je56Onm654y32pJasdaRV+W+5hnz", + "mbo49qPPN/apxLgoK+MZnWHX08mzzzn7U2lZnucMWwa1mfpL/5O8kOpK+pZW4ahWK15u/DbWLaHA3GLj", + "scYXGv1ipbjkqOdJJVsPzkw+oi82li09IG+04TeQN2e217/lzeeSN7hIdyFv2oDuWN483nPP//ln/G8J", + "+2eTsGck7m4lYZ3CRwlqfQ0U1gWUYgWSymS5X6nAxCG9gd//eSPT6I998N232GI/H35qvwXQ0pz1sjKZ", + "uqLqJ9GjAgve8txVx0MzaX3lMop5AE3QNvvRJVXlG7QNiwwYx2oPqjLNndh2rr3ltdfCQmjeaVwIiQOg", + "+RlHoTKQPAiH1JAqSa+adY4lh9kblUH/WMKD57cKyk1z8jgcJ9OWXHKMFSm6eGsx3xcj1/uxHZrJycfT", + "Z476KbPW34dXXBh7eLnoaaRov7MBnh+6ugCdX5tUvN4XzC8Mfgxd/tFfD+u6xdGP3Sto7Ku7gg008lVd", + "/OfGHBWad5AlasPO+492ZbEqnuOWxlpxfHiIEYlLpc3h5Hr6qWPJCD9+rBfTl0uqF/X64/X/BAAA//+c", + "IhrMusEAAA==", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go index 92f483a663..29e1bb8460 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go @@ -607,201 +607,202 @@ var swaggerSpec = []string{ "S50e/YsnXlHZHjc1jhK1zGFFq/5QVgFqRSDbjJh2fay10YyrDgCOOZxnYDi5RTuxun0D2nOmjIS1mt3I", "ZgwhrGhmKYiDpICdxLTv8pppNvES5UbWN/GUBSmFTOjX8IhpkYsyuwCpmEhYU165FsS18OJt1f3dQksu", "qSJmblT91hwFigRl6TUfz/ft0Gdr3uBmK+e3602szs07Zl/ayPeaREUqkJlec1LArF60XkJzKVaEkgI7", - "4h39HejTDc9Rq3YTRDr8TFsxjip+teF59GYzG1VCsWhtwvXfZl2seP2cneqOSoBj0PECP+Oz/jmUmt64", - "/NKdIAX7M7+RFlhSmIb4Cn7BFksdCZivpBDzm4cxNUsKUPxgxfPS9OkL6S9FAWaxtbqBy7gZrKF1s6cx", - "hdOZqDWhhIsCUKNSq/Q1PWC5R5MhWjp1fPPrpZW4Z2AIKae1WW1dEbTj9ThH0zGjuaXeDFGjBqwYwfxk", - "W9nprFW4lEAL86oHTsTMmQqcEQMXSdEIqf1F54SExFlqwVVJkYNSUGRORbETNN/OMhG9BU8IOAIcZiFK", - "kDmV1wb2/GInnOewydBkrsjd739W9z4BvFpoWu5ALLZJoTc8+Jw9qA/1uOm3EVx38pjsqATiea55XRoG", - "UYKGIRTuhZPB/etC1NvF66PlAiRaZj4oxftJrkdAAdQPTO/XhbauBhzB3EPnjK1Qb8cpFwpywQuVHKyk", - "Sme72LJp1HqNmRVEnDDFiXHgAaHkBVXaWhMZL1AJYq8TnMcKKGaKYYAHBVIz8s9eFu2PnZt7kKtaBcFU", - "1VUlpIYitQYO6y1zvYR1mEvMo7GD9KsFqRXsGnkIS9H4Dll2JRZBVAeluzO39xeHqmlzz2+SqGwB0SBi", - "GyCnvlWE3dgZZgAQphpEW8JhqkM5wQNnOlFaVJXhFjqreeg3hKZT2/pY/9S07RMX1c29XQhQ6IPj2jvI", - "Ly1mrRvUkponNI5MVvTcyB74ILZmzz7M5jBmivEcsm2Ub47lqWkVH4Gdh7SuFpIWkBVQ0k1/0J/sZ2I/", - "bxsAd7x5+AgNmfVnSW96Q8nefWDL0ALHUynhkeAXkpsjaF4eDYG43jtGLgDHTjEnR0d3wlA4V3KL/Hi4", - "bLvViRHxNrwQ2uy4owcE2XH0MQAP4CEMfXVUYOeseZd1p/gHKDdBkCP2n2QDamgJzfh7LWBAm+ZchaPz", - "0mHvHQ6cZJuDbGwHHxk6sgOqvVdUapazCt8638Pmxp9+3QmSBidSgKashIJEH+wzsIr7E+uJ0R3zak/B", - "UVqYPvg9NUxiOSVTKPK0gT+HDb65X1kXv7PIMfAG3rKJUc39RDlBQL3jkBHB4yawprkuN0ZQ00vYkEuQ", - "QFQ9WzGtretu+6mrRZXFAyQ13FtmdOYc6x7nd2CMfekUh4qW19+K6cS+CbbDd9Z5GLTQ4d4ClRDlCO1R", - "DxlJCEZZ/kklzK4z50Xs/Ug9JbWAdEwbbXnh+r+jWmjGFZB/iJrklOOTq9YQZBohUVBAAdLMYESwMKez", - "8TcYghJWYF+S+OX+/e7C7993e84UmcOld703DbvouH8f9TivhNKtw3UDukJz3E4S1weq/s3F514hXZ6y", - "28bsRh6zk686gwd7gTlTSjnCNcu/NgPonMz1mLXHNDLOvo7jjtLqR0On1o37fspWdUn1Tdgvtgqk4UHB", - "VisoGNVQbkglIQfrXm0kLGVhMaAR63iVLylfoGAtRb1wnj92HGSMtbIqDFnz3hBJ4UOvebaQoq5SjNJ5", - "e3oPeyN2ADVPnwiR2NkK+pc0zOeCKsbcYB7h0e58Z8YcMitMJ4MvQ4PUi+ZlaJHTDhNIYwHjHjJV5zlA", - "0gc49eYKS+2EQzYBLm5AIzbU0jpBEZrrmpYx1ZGTOaF8046TpKxUhgsyRbCd6dw41k7t2nwQy5yW1jib", - "iKqIT0pL4ot2vkFpFxUjDQ9IJEYa6lNGTIDmeBky/jBK/GboFJT9iSOvq+bjkOOVeYCXmxsQg+xAREIl", - "QeGlFSuulP0q5nHwk7vV1EZpWPV1+7brrwOM5vXgC1LwknHIVoLDJhnvyzj8gB+TjAMvzoHOKMIM9e2+", - "Slrwd8BqzzOGGq+LX9ztiBe9Ch6HN7D53XE7Zp047AvVllBWhJK8ZKjUFFxpWef6DaeoNokOW8Izw78P", - "hxVpz3yTtOYuoVhzQ73hFL1ygjIlaU2eQ0Jz8C2A16eperEA1eGfZA7whrtWjJOaM41zrcx+ZXbDKpDo", - "HnFgW67oxrBA1Pv9DlKQWa3bPBlDT5Q27NLamMw0RMzfcKpJCeZN/QPjZ2sczttoPc1w0JdCngcspK+Q", - "BXBQTGVpD5Lv7Fd07nPLXzpHPwwVtp+tVcKM38SnbFCr0oS//r93/+vol+Ps/2j2+4Psy/84fPvuyft7", - "93s/Pnr/1Vf/X/unx++/uvdf/57aKQ97KjDCQX7y3D3WTp6jRN6YJXqwfzSV9IrxLElksfG9Q1vkLgYB", - "OgK619bX6CW84XrNDSFd0JIVRuS6Cjl0WVzvLNrT0aGa1kZ09DN+rXvKudfgMiTBZDqs8crXeN/pKh2C", - "hHYyF1WE52Vec7uVXtC1Hvbe+UXMpyHMzGagOCIYg7Sk3nPL/fno6ReTaRM7FL5PphP39W2CklmxTkqH", - "sE49X9wBwYNxR5GKbhQMCKAIe9LPx7obxMOuwLx71ZJVH59TKM1maQ7n/ZadGmTNT7h1KDbnB61uG6fM", - "F/OPD7eWRg6v9DIVmd6SFLBVs5sAHU+ISooL4FPCDuCgq4YozNPMeRyVQOcYIY0PPTEmDiOcA0tonioi", - "rMcLGfXWT9EPCreOW7+fTtzlr25cHncDp+DqzhlMbP5vLcid7745I4eOYao7NljRDh2FlyVerS6CouUj", - "Y7iZzcdhozXf8Df8OcwZZ+b70RteUE0PZ1SxXB3WCuTXtKQ8h4OFIEc+KOM51fQN70lagylzonAYUtWz", - "kuXkPJaIG/K0aRD6I7x58wstF+LNm7c9d4G+/OqmSvIXO0F2yfRS1DpzQdyZhEsqU+YYFYJ4cWSbpWHb", - "rFPixras2AWJu/HTPI9WleoG8/WXX1WlWX5EhsqFqpktI0oL6WURI6BYaHB/Xwp3MUh66VUYtQJFflvR", - "6hfG9VuSvakfPHgMpBXd9pu78g1NbioYrcgYDDbs6i9w4fZdA2staVbRRcrq8+bNLxpohbuP8vIKH9ll", - "SbBbK6rOew3jUM0CPD6GN8DCsXeEEC7u1PbyCXvSS8BPuIXYxogbjS36qvsVxdldebs6sXq9Xar1MjNn", - "O7kqZUjc70zI47EwQpZ3EFBsgU6YLuXJDEi+hPzc5aKAVaU301Z374PiBE3POpiyWUpslAzGyaPOfAak", - "rgrqRPGuBmm2IQq09l6gr+EcNmeiCbPfJ0K5HTCrhg4qUmokXRpijY+tG6O7+c7RCVVcVeXjTjEAyZPF", - "UaAL32f4IFuR9wYOcYooWgGdQ4igMoEIS/wDKLjCQs141yL91PLMK2Nmb75ExhLP+4lr0jyenE9SvBpU", - "cNvvK8CUR+JSkRk1crtw2XpsUGjExWpFFzAgIcdmi5Ghly1TBw6y695L3nRi3r3QevdNEmTbODNrTlIK", - "mC+GVPAx0/FE8zNZy5gzAmASPoewWYliUnDZs0yHypb5yGYVGwItTcAgeSNweDDaGIklmyVVPpEQ5lvy", - "Z3mUDPABg5y3pbaIFfpRUqWgX/c8t3tOe69Ll+DCZ7XwqSzip+WItBRGwke/7dR2CI4CUAElLOzCbWNP", - "KE3AdbNBBo4f5/OScSBZyh+LKiVyZjNBNdeMmwOMfHyfEKsCJqNHSJFxBDZafHFg8lLEZ5Mv9gGSu4Bx", - "6sdGW3H0N6RjW6yHshF5RGVYOBswIOWeA1DnxBfur44rKQ5DGJ8Sw+YuaGnYnHvxNYP0Miyg2NrJp+B8", - "Du4NibNbNPD2YtlrTfYquspqYpnJA50W6LZAPBPrzAa3JSXe2Xpm6D3ptI2hdqmDaXNZ3FFkJtbox4JX", - "i3US3gHLMBwejOiFv2YK6RX7Dd3mFpht026XplJUqJBknDovkMuQODFm6gEJZohc7kbpKa4EQEfZ0eR6", - "dY/fnY/UtnjSv8ybW23apF3y8TCp4z90hJK7NIC/vhYmJJR41ZVYknqKtjtGO5dGJEKmiN6wib6Rpm8K", - "UlACPgqylhCVnadMd+ZtA3jjnPpukfICM3ZQvrkX+fhIWDCloVGie5eET6GepJgoTIj58Op0Jedmfa+F", - "CNeUzUSDHVvL/OgrQCfZOZNKZ2iBSC7BNPpW4aP6W9M0LSu1vYhsWk1WpHkDTnsOm6xgZZ2mVzfv98/N", - "tC8DS1T1DPkt49Y3ZIZpYJO+hVumtu6nWxf8wi74Bb2x9Y47DaapmVgacmnP8Zmciw7n3cYOEgSYIo7+", - "rg2idAuDjGJC+9wxkpvs4cSY0INt2tfeYSr82DvdRnxk6tAdZUdKriVSGGxdBUMzkRFLmI6yqPaDNQfO", - "AK0qVqw7ulA76uCLme6l8PC5pzpYwN11g+3AQKT3TMWLSFDtNGONgG/z4bayfByMwsxZOxlYzBDiqZjy", - "2dz7iArxZLtwdQa0/B42P5u2uJzJ++nkeqrTFK7diDtw/SpsbxLPaJq3qrSWJWRPlNOqkuKClplTMA+R", - "phQXjjSxuddHf2RWl1Zjnn1z/OKVA//9dJKXQGUWRIXBVWG76rNZlc1oNnBAfLZo8+bzMrsVJaPND2mY", - "YqX05RJc2t1IGu3lB2wMDtFRdErqedpDaKfK2dlG7BK32EigCiaSRn1nLSRtqwi9oKz0ejMP7YA3Dy5u", - "XJLJJFeIB7i2dSUykmU3ym56pzt9Ohrq2sGT4rm2JAZe2dzXigjeNaGje/Gmclb3FcXsflYr0mdOvF6h", - "JiFTJcvTOlY+U4Y4uLWdmcYEGw8Io2bEmg2YYnnNorFMMzXiodsBMpojiUyfKXIIdzPh6prUnP2rBsIK", - "4Np8kngqOwcV0yk6bXv/OjWyQ38uN7DV0DfDX0fGiDNbdm88BGK7gBFb6nrgPg9PZr/QoJFCd+vGJLGH", - "wT+esXclbjHWO/pw1GydF5dti1tchqTP/wxh2HzUu2ug+MerS7E5MEeypglT2VyK3yH9zsPncSIUx+fy", - "ZOjl8jvwET7njXanKc3SzD643UPSTayFajspDFA97nxklsOkgl5DTbndaltioOXrliaY2Kv00I7fEIyD", - "ueeJW9LLGU1lXDRChoHpuDEAt3TpWhDf2eNehcAGOzuJbMmhLbNh1hXIJkqun7LligKDnXa0qNBIBki1", - "sUwwtfa/UonEMDW/pNxWqjD97FFyvRVY5ZfpdSkkJklQabV/ATlb0TItORR5X8VbsAWzRRhqBVGWfzeQ", - "LXBjqchVSgjhOg41J3PyYBqVGnG7UbALptisBGzx0LaYUYWcPCiiQhezPOB6qbD5oxHNlzUvJBR6qSxi", - "lSBBqMPnTTBezUBfAnDyANs9/JLcRbOdYhdwz2DR3c+To4dfotLV/vEgdQG4IhrbuEmB7OR/HDtJ0zHa", - "Le0YhnG7UQ+S8eS2itYw49pymmzXMWcJWzpet/ssrSinC0h7iqx2wGT74m6iIq2DF17YEjBKS7EhTKfn", - "B00NfxrwPjfsz4JBcrFaMb1yxh0lVoaemhT+dlI/nK0n47Kverj8R7SRVt5E1HlEflylqb3fUqtGS/ZL", - "uoI2WqeE2swYJWu8F3xOaHLiE+9gOtqQhdbixsxllo5iDjozzEklGdf4sKj1PPsbyZdU0tywv4MhcLPZ", - "F08SKXjbqSD5foB/dLxLUCAv0qiXA2TvZQjXl9zlgmcrw1GKe020R3QqB425abPdkO1w+9BjhTIzSjZI", - "bnWL3GjEqa9FeHzLgNckxbCevehx75V9dMqsZZo8aG126KfXL5yUsRIylU2vOe5O4pCgJYML9N1Lb5IZ", - "85p7IctRu3Ad6D+t5cGLnJFY5s9y6iHwtUi8Tn1a6KBJd77qCe3A0DE1HwwZzNxQU9JOwfvxjX5e+dw3", - "PpkvHlb8owvsJ95SRLJfwcAmRunBk9tZhO+R/ZuSr8V67KZ2Tojf2D8AapIoqVlZ/NxEZXayr0vK82XS", - "njUzHX9t6kSFxdn7KZm0bkk5hzI5nJUFf/UyY0Kq/acYO8+K8ZFtuwnh7XI7i2sAb4PpgfITGvQyXZoJ", - "Yqy2A96CQ3W5EAXBeZoMaQ337BcSiNI9/6sGpVPBQ/jBOnWh3tK8d222YQK8wNfiAfnOloJdAmmlv8FX", - "Wsgi4HLfWoV6XZWCFlNM5HD2zfELYme1fWy1E5vteIGPlPYqOvqqKPnjOPdgX7gkHbowfpztvtRm1Upj", - "Niql6apKBYeaFme+AUagxjp8fL7E2Dkgz6OijjaO1Axh6GHO5Mq8uMJoVnZBmjD/0ZrmS3yStVjqMMmP", - "T9PtqVJFpfFCiZuQERHPnYHbZeq2ibqnRJh38yVTtgIoXEA7HjUEZzuVgI9PbS9P1pxbSknKHtuSB1wF", - "7R4466jh1fxJyDqI31Mgt1nu981afoq9kgmauinQezXxbHRjKF3iKzvnlAvOckyPlLqaXanQMTawEZmk", - "ukpWf8TdCU0crmTi9eAm57A4mIrdM0KHuL4SPvpqNtVSh/1TY03KJdVkAVo5zgbF1NcPcHpAxhW4DJdY", - "WDbik0K27IrIIZOm6iyYNPYkIwyLGXjYfWu+vXTPfvQXP2ccBXyHNueabjV1WMlQm1cB02QhQLn1tGOD", - "1S+mzwGGyRawfnvgKx/abDBoljPLtjbo/lDH3iLtLMCm7TPT1uUJCj+3PJDtpMdV5SYdri6RlAf0mg8i", - "OGFZzLxpJ0JuGD8ebQu5bXUlwfvUEBpcoCEaKryHe4QRKi10qvgYodVSFLYg1oUrmcGA8QQYLxiHpi5n", - "4oLIk1cCbgye14F+KpdUWxFwFE87A1qi9TnF0JR2pofrDtXNJWRQgmv0cwxvY1MkYoBxhAaN4Eb5JpQD", - "NdQdCRPPsA6xQ2S/5ANKVU6IKjCioFMEIsU4DOP2ZWbaF0D/GPRlIttdS2pPzj430VCQ6KwuFqAzWhSp", - "jFRf41eCX31yKVhDXofElFVFcsyJ0k4S06c2N1EuuKpXW+byDa45XVRVJUENcWUXv8MYhDLb4L+prIzD", - "O+OcMPZ2A/QeF64MxZ5yc3ukntRraDpTbJGNxwTeKddHRzP11Qi96X+jlF6KRRuQj5waYhuXi/coxd++", - "MRdHnDmhl2rUXi0hsQE63QlfCw+fjSEkt82V8Crr5R5FY0+otbVdATFcNWuKl9+A622UEIPa+9VaD4cc", - "cPNBf3GqXeSapmQrCxqMBrLeOzbuB6FIa06HPHasw4753Os9TjLsydk49laEelewPkDfez9TUlHmTOMN", - "s+hj1nmkD6sLtx26ZoO7i3B+3oMau+8vhnyyiWJ8UQLB7906Q+fgwtlDoXm7Vu+V5J+E9ldX59WOF7zi", - "k+vveyfgVJ9WDTqotD1zOe3tMt2b/PufrQ8bAa7l5g+gwu1teq9KU1/ateqppgkJ6ZBHpUdu3YrpgkvD", - "+Y+anEdIT5VQrEnBnarENNLX7QyLKUX5m/pjeUeTC8g15l1vDOgSYJ9sTmayqMrfbR6kgbdjcAl06Y+2", - "5TzqJ1vfcaH1wpKi0DqbqPpgfIaf4+AmhUwJM+AugLtCe+2Ag9Fuz/M55Jpd7AgD+58l8CjEaOqVELZg", - "bhQVxoIbLWYR2V/F1gC0LUprKzxRNr9rgzMUBHIOmzuKtKghmTl76u+VqySQQAwgd8gMiQiVckOwWlNn", - "GWYqUAZiwbv92O7QpOIaLLoTBTVecS5PkubGbQIdt0yZrvoxai7Tda/wX/QIHYoU6xcNGBa2n2ONBhUK", - "4vkEFPGTlJz00/RdugQWGLQXDAU+lQUo/5uP0LWzlOwc4rJAaJa5pLLwLZJ6Bq/CyLbcR73wLp/wvgv0", - "PMzMGifNfkBPIvETuuLmpTDyVzbkz9z2i4yr56P3h035jR6fBq45SFc+DYW9UijItPBOndvg2IYKV+n9", - "KkhQg8kWLXCDKVBeNzleMOksxZQn1Hm2xAskElbUQCejTCzDc25D9jP73Uew+KSjO9UpgV53J5r37rlM", - "9ZAYU/2cuNtyd2TMVTQrjHNbrFWl0rJwg8pY9V9JUdS5vaDjgxG0T6OTHm1hJUmlRN5fZe99WWIKsBdR", - "nOE5bA6t6O9T9futjKG3IpRdQxTX39ntG1U6pd/X5cIuYHEjcH5Kxc10UglRZgO6/pN+dpnuGThn+TkU", - "xNwd3rFtoGwJuYsq5mDMvVxufDaVqgIOxb0DQo65dSX2dt12euPO5PyO3jb/GmctapvwyemUDt7wtE8m", - "pmKS1+RvfpjtXE2BYX7XnMoOsiN3yXogs42kl4kiPgdjH6V9S2u3sEpDVBaKlJSyo4RFworsayL4Chs+", - "YkWLFcv7VRSSJovtFgJbRWg21k4Q8nn25h7MHZnttBy0YBhlP9gXjDlW5cpoAskn4SKbtoomsk4BE59r", - "yZaryKkVZM0jirKyluAiKGz5oE5ZgYrqpSdj07wvbhrRBRSGN9jU9FTZx5F/pLnaRV3+IKqshAtoGVRc", - "WEed56AUu4C47pHtTAqAClUW3Ys0ZSmIz1eHl7q1Z5GueQx2k8zVItbuFNnBOQeq0mf2mKixR8lAdMGK", - "mrbwp65RkmZkkfsY1pGcYm8mkV7cNhax07aHNJ88lzxt2oujisI7CWcrgj7FEmFzslVFL/mwFJF4igZ7", - "0/XXQXAwojpRfgO+jFhwJwvpAFOqcBeQ5InfzNgUB+qI2FERnzDmQDnTQD/XEWcHiTJNk1dLwzLqJPWt", - "IglmExXu2a67i7M0Ne7f0hrX8K3v+VX3MPzQ8LFxJYR8hx3gxSrdqIiQl6UdOJ/YR/uHgJRoKYOU0Fr+", - "Li2xW2DD+KMtsreeWabNmWf9+9r7EpkA1LOgWR+q7NVVwGNKJsExTV1fca/Q2IrZ7mPCMQddXtDy4yvf", - "MVfXMeLDlUpOLzTW3sZItqhUV3OUfEFHzR1pam9uav4KjQX/A2aPklZyN5S7UYKU5W2LyDJpaZh4qJGI", - "Q5JLHNOa1R9+QWYuyKuSkDPVvakufSLuoKzEuhRNBe3t2tFd6/xZ6GuQ8dwLfuRlk9RXC7wxGgibI/qJ", - "mcrAyU1SeYr6emSRwF+KR8XZVnZcF+cte7tNkt5xJBUSbtjuHnnQ7Wl37+eRGbs8a1s2l06toL/O0bd1", - "C7eJi7pZ21inkT5yt2V+HePrkU7obLqjs4lFCGZDJwgq+e3hb0TCHMsdCXL/Pk5w//7UNf3tUfuzOc73", - "76cLdX8sNxOLIzeGmzdFMT8PBR5Y5/qBGJfOftSsLHYRRitiqSkYhjE5v7qYxU9SsuxXaw3sH1VXNmYf", - "B7fuJiBiEmttTR5NFcUijQhDct0SQUeoV8tryfQGUyn55xz7NekQ812wNzt/hZB8w919WpxDSMbVWKdr", - "5W/X7wQt8T4yMjW6F2oszvzNmq6qEtxB+erO7D/h8d+eFA8eP/zP2d8ePH2Qw5OnXz54QL98Qh9++fgh", - "PPrb0ycP4OH8iy9nj4pHTx7Nnjx68sXTL/PHTx7Onnzx5X/eMXzIgGwBnfjA/cn/Yl2/7PjVSXZmgG1w", - "QisWarIbMvbFiWiOJxFWlJWTI//T/+NP2EEuVs3w/teJiwueLLWu1NHh4eXl5UHc5XCB5qhMizpfHvp5", - "+rWwX52E2C77KMcdtWE7XtniSeEYv73+5vSMHL86OYhqrR5NHhw8OHiIpTgr4LRik6PJY/wJT88S9/3Q", - "Edvk6N376eRwCbRE7w3zxwq0ZLn/JIEWG/d/dUkXC5AHrmKT+eni0aEXKw7fObPcezPDIpVwykasRWFK", - "/UJGzsSPugEbkdYqDKBcnvppKBfhdD+8wEAia+kybC4g7qRo8iKfNEzLZ4ey6TKPfknUsZyzhXlTt+rz", - "dir/mlf4f5/++JIISdzz5hXNz4MTFjmZ20wfUlwwjE8poqAm0/PA0++/apCbhr4c54tTQfrs/y7qZ6UW", - "VdtFvpGqUuXpU0WjcGZDFhFhByN6w7i0rCGGpGHDhrU+yL58++7p395PRgCCHh0KMFHIb7Qsf7P1hmGN", - "6h6fasulUpkmMt2jND1tjLLYodnJKfr4h69xMaPQph1Z9hsXHH4b2gYHWHIfaFmahoJDag/eYioLJBY8", - "c48ePLixKmghmNIqzcMoniSuMFCfIdlPicLGvhjaQFXjJze40LYr9LWX2x2ut+ivaYEFZkBpu5SHn+1S", - "Tjg6VZkLgtgL8P108vQz3psTbngOLQm2jPJE9S+an/g5F5fctzTCT71aUblB0SaqgtUJ1KYLhfY5ZJH2", - "bLfq3kzevh+89Q7jsh6H71p+OcW17sReRaOT5zuuyTtqiHP2s6x2qoaY76EoBHpuuNIoWKZC3Tsg38W9", - "kXtj0hKbEqSWHArvVuNvvZCFzed2a2C7o+J8LslLO1IX397fn/r+Pm4rO1qZPFPAtE7BVph6vn3XvUD7", - "lqtOXcgr1V2M6ndcIQv6By1O1Xlr2pnepp6COxn1Le4GcDckJkXwBompXXflw7NmH/8SbpLWlfEBGfdn", - "LvT9QEtDJ9FyO7kBbHrbW2HwLyMMBndvW97ZZ3S/nniItZ0O3/mUxTcgErqUzSOEwfhZHfWNUure7bCT", - "ewc2/3Dc5mo8w/l37xTzMJH0rYD3BxDw+knaU2A0qbc/nVCHMCybLO771GZuFV3bK9v8ZyrF/YWRNSi2", - "GUh3C2xXYJ89Ycwx6w/GVv+UQphD2q349ZcWv0LU1bUEsFaZBRfHF5mxrqW962rnmA6SWDvyLuJsoai1", - "O8LTpiSUYTGYpcsnaFFT/zJEc6p9NNrNmvbejX0R6zuIH6hfb06e75KuPiM9z+hskYlbIL03H5qXJs0O", - "rz+O2WEcb3ry4MnHgyDehZdCk2/xFv/AHPKDsrQ0We3LwrZxpMOZzWO9jSvxDltCRtHkp454FJYBiXNg", - "W++Mu674apxX5N4B8dmyVaj94eJrFoKWjWs/lQvbyfA4gwRyx/95hOPfOSDfYlyFVlN0MtOuMAS5w7g+", - "evjo8RPXRNJL68PVbTf74snR8VdfuWZNbnT7vuk1V1oeLaEshevg7ob+uObD0f/+4/8ODg7u7GSnYv31", - "5qVNRPhH4anTVGxB2Pih3frMNyn1SncJInei7qOY7b8W6yT3F+vb2+eT3T4G+3+KW2fWJiP3AA0azFb2", - "hhu8hewx2ecemvpc44bvhMvkgLwULpFOXVJJhCxAumJJi5pKyjVAceApFWP/lE0ckpcMuDYPRiz/IjPF", - "CrD5Bxa1hIKUbIX1kSVcoG88To9v+RYEuxk9etD+YZn8D3QdJdeYhWtaC7dkVHeu6NoXoMISK0LiT199", - "RR5Mm1dLWZoBsoCYFHNd0fXkI2r7ArGN8jtv14jY6ZiLY4/RHDXSTwhljBPS/7U592crsVtydxt7Q5xz", - "b4NPY9CJ9QcuXc1WzYEV7Gx5KqyXtGmCoo2U50WoNIszM4xVCvyBbQM7VdLJx2cXvbeH+Pbxfy1W0iWo", - "PdkGRpuqw3doy4h5Ru/cYrTcX8tMGtmMpFh5o5Egc9D50gXqdlCfYE++QsUwb9pWn/SmpRrcxX7ygThb", - "KNbNHJl+JoqhRMMdyAQR/+iTRZvPbG7zfPjqI74ML5qkmK9MF4rSudKdTHk/fh/Pa3ZxLyifNZP3BTJE", - "y03YPW8RvB+Ce8zxG18BDTHmFvFn8PT3T8mMvBRNuLgrvvFnNDl+yJv9Qy/opeBgbetG8rW0eGtGDWIH", - "qvARKT5PiH2/hDToVxZBDn0tv61yyN9tJb2tssiY29tM9lle4X9PVslu3TJmbQc7kyA0o41hzqahTUbU", - "zlX+CV8xn4Sf/gGfNp+CY30cFoOH1PMZJxbwm2U6mHrHEvNhSFM9xIHSmf9HcyMtgvtZMln/DErBF+qP", - "yYq2UUcaLwkqCTUR0oUP/npn9xlm9TFPXuv56PI8KcZzsLUqscxOk4TNQvi3jwehZiuf2ZXHMaufmLs8", - "ffD4401/CvKC5UDOYFUJSSUrN+QnHuqKXofbYVmHkHfNa4OTlTzQ2tTOB5bHyYuuzgRbLmvv9JoV73cz", - "wyh73558kPGID8a5BmlVAZVXZ4C7TVdnnRlPnsdewa1qAyGTVgIUg6I9HeP/YzJS74Th7mLuLr+aW0B9", - "1i/HJpzLrphPg3OMkQLE/Ii84feJWtKnDx/9+ujpF/7PR0+/GNCcmXlcsp6+7qwZyHy2w4xRoH3W6sCb", - "ldoDfo8+9m7vt4nTCSvWyezjTYWhXu5hJ5bdUaSim8GiBdWOCknxsE21pI+f5FBpNlsm31f++RNqKJ/w", - "r8Mr2Gbic4WFbisjDQRNRHzGEFpTIilgfXu1pC3SZIcsQ1maj/04bYIL7EXnkSc7d84nFXT1p3qkZvhG", - "Be4FmzZaPp1MiRnyp5G5O1SlR9+VuqqE1OF0q4NR4h4Mme1a0t4Q4e4lzOVU58u6OnyH/8HMXu+bgANb", - "Bzay87nfYV2BZEZ0xDJQ7tcSC+UdWtv+Nunv1La45k3ZEbOtR0EnT71PPef8DcSc/MByKY6xHIO7hNRG", - "aVj18gO6rr8ORIb5ZJ79C0vwknHIVoKnstb9iF9/wI/Jgg9C03KoM9YVGOrbYZlt+DtgtecZwy+vi98/", - "yAP9WoqlzmolmMPd1NCz9L/nAfSHZsPz/kna8Lx/+FqF/AZ+PnzX+tN59riWalnrQlxGffFZaDnUGKN+", - "lE17vDY9vJQ6WakVKUAZov38VFcRHlInJnxN5CeLcqYPpij7iyqz5owXHSJBOTMXFyBVUHNI74Rzq9H6", - "82i0Ru/7XjzW5uPcxdFqdbMSyUtRgB23nQ43FUTKRQEubWhfEAmSWVoL4G+lpl3nXZbTerHUpK6IFqkX", - "YNMxo7llsrbUp9pVG9G28pVsLoDQEpOxkhkAJ2JmFt2uMUuoQgd6/4x08me6xF8DVyVFDkpBkfmg2V2g", - "hWSs+OjUW/CEgCPAYRaiBJlTeW1gzy92whmSmSty9/uf1b1PAK8VBbcj1rrtJtAbXIOctNeHetz02wiu", - "O3lMdlQC8aIBar3EqirB6b0SKNwLJ4P714Wot4vXRwsqhtgHpng/yfUIKID6gen9utDWVWbu70QRUvv1", - "jK1QEuOUCwW54IUaLhW8iy1jQZFoLcqsIOKEKU6MAw88OF9QpV87E0hcMS0qXGKm2FLbeChpvhn555Ay", - "vzd2bu5DrmoV8uo7tUa6ahmH9Za5XsI6zIU2KD920JtoQWoFu0YewlI0vkOWiosV68h4hGVF+ovDTCfU", - "KSj6qGwB0SBiGyCnvlWrHF9j2BgAhKkG0aF2WJtyogJaSouqwoqAWc1DvyE0ndrWx/qnpm2fuFxpI7y3", - "CwEq1mk5yC8tZhWGciypIg4OsqLnTu21cJmgEkW/2AoyNFdn2yjfHMtT0yo+AjsPaV0tJC2wiC1NqFJ+", - "sp+J/bxtANxxT55YITybwTxZpsRsekPJclBFFIYWOJ5KCY9YUFyR3BzBOdbN8QTieu8YuYCBauZnUYVV", - "1xznSm6RHw+Xbbd6qNzlhUBFp6MHBNlx9DEAD+AhDH11VGDnrFEfdKf4Byg3QZAj9p9kA2poCc34ey2g", - "q86LL7DWTdFh7x0OnGSbg2xsBx8ZOrIpBeJnGevXteZ+QFe1tgI1egAeXOVxe3hJmc7mQlpBOqNzDTKh", - "y+tUOqBM+1BCa1fRwjlSEBzB3ZtuHFfsv8nH4biIBYH4EqhslUjvY6b6VshR8UBtrzfKNKm5ZmUUEx2e", - "yn88heGtEuBWCXCrBLhVAtwqAW6VALdKgFslwK0S4FYJcKsEuFUC/HWVAJ8qwi/zEof3e+aCZxwWVLML", - "CKF/t0mJ/lQRMeGu8koJVGNcUqZdik9CvRyAX64XEKiBlogDViKTrYQazJ2ExaGVqGUOJDcQMk6qkpq3", - "Aax1SDjXTmXqkyu78tCYHZUqePyInP792DvuL52Debvt3WOXpFzpTQn3XEqHUL/V53YAbpDuUjtQfyf4", - "xHQuTR8rgSiD3m+w9XO4gFJUIK1PMNGyTqh8zoCWzxxudmh8WiU3zWi/TVuKJoe2Fa2iMvi4VqoItdEc", - "7YqZc1qq4ZKZdrwVrVK54cLNZ3VByE2+FlhiNj4hZtcOcQPbZ6Nx32ecyk0idKd3InqkoYXhV46w+sqs", - "9zceZNIn2j6Z7aKwlLguQSXP8TYqT0ZXhA3rDWWDgOYdOkmWl+6GFEwCgGNcYA09+z0hr22/TxvCjhC5", - "I9Yw8z+M52C7ZWAa2Na8Ihzr+VzjzT3ik6cXz/7UEHZR50CYVsTHqey+XqaTdWZGWgDPHAPKZqLYZC32", - "NWndQgVTVClYzXbfRDH/dNmQ3eVjvmy/pz7NNfI8Wtw2nhwTzTpzDHiAO280jObNAVs4omPPEcY/NIse", - "YqMxCMTxp5RWqVuDZk+m10yzuWV8t4wvOo0diYBxF9fXZSIHH5DxyY2s+TDP+2YNeW2Ai0/yXVTPo00O", - "1rpl2CxgVi8WmNW5Z6QzSwMcjwn+iVihXe5YLrgfBdnBQ6bP6yaX6g7X5y5RDNtdIclCirq6Z8tX8Q1a", - "M1YV5Rtv84VMsVVdWhzahHg3y2ht6F3fEwDtsU75N6TWfuV1fpHy1l217d8tWsglVcTuLxSk5oWLHeoF", - "6K75+IzSduizNW/Y9Nac0na9idW5ecdcEX6XXZBLsHNXIDO95vZAtdO+20Bge3IPbrPZ/jWujVc2E8MA", - "g+0HtTYM4YZuDxnxNbw+otQlTTBcuwaXrRA4FDoS5zGxLW/Ue6Q3fNuJJKrPZ42kUFaE+lIDueBKyzrX", - "bzhFI020sIO+g4nXRg/zt2e+SdpOmDDjuaHecIqZ6IPpJsnn5pCwU3wL4NmoqhcLUIZXxkQyB3jDXSvG", - "Sc3NS0vMyYrlUmQ2ENWcISOfHNiWK7ohc1qilfF3kILMzM0e7bpVGCvNytJ5tJhpiJi/4VSTEqjS5Adm", - "uKwZzucYC65coC+FPA9YSKe1WAAHxVSWVr58Z79i5gi3fK/kQ4Wl/dxEfH/clBEedlYMQn7y3MBNMUlO", - "yZRunCB6sH80A/iK8SxJZGdLIM4nrEtb5C7mkHEEdK9tHdJLeMPNDacFQa5O9dXIoWvm6Z1Fezo6VNPa", - "iI41yK911BPvRrgMSTCZW9PKnyg0M6IDb77EjccaNd2939OMsrXsZeqryzQ20Mg9ElqKsPbFfepanLVA", - "/vNmqX97U1qz8TaNJSDPDDr+mLNqQcIefVjN2Vafkiar3GoFBaMayg2pJOSAuVzQ2aZ5cB7YqH2SLylf", - "4L0jRb1wBaHtOJcgISTgMm+87hDpnB9rnqGgm3AcOCZWWefJyxw9LHkYoxM7W+5sHpUetTalwphnY+I4", - "fGfGHHpFTieDUqJB6kXj3GWR0z4jaSxcirosMlXnOaQ8NE6SblNhqW0BDseyspsbEApS1NLWxiY01zVW", - "oZlhZkxhi05Rvmlf/1i9S8gogyahRLEFp7qWMLVrQ1exGRA0OB4k/Gc6l3vrmo52vkFpFxU3UWDg9hjc", - "HoM/3zHoXTqvHZHMO6oESxkxAf6pSkM0ueOOXZGNbna028r0f+iSCh/ykfChV/Oh3hyeGStCsW5vfJ47", - "WRHt8aaKMO143gwIXNCyRp7o8r67l/gBOWs4ZnD2rpVLR5ovKeMuC00IS0A4tEuZrH2OxptSS9JLveZO", - "K2mZH6ojDTYgryXTG3yO0Ir9eg7m/2+NPG/riNqXSi3LydFkqXV1dHiIpfeXQunDyftp/E11Pr4N4L/z", - "j4xKsgusxPP2/f8fAAD//3fZs+vZSwEA", + "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", + "///+tuNi60wBAA==", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/private/routes.go b/daemon/algod/api/server/v2/generated/participating/private/routes.go index e36f4942e9..f1d21f1013 100644 --- a/daemon/algod/api/server/v2/generated/participating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/private/routes.go @@ -158,175 +158,176 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "rnCkcP3x+v8FAAD//z3oiHHSywAA", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/public/routes.go b/daemon/algod/api/server/v2/generated/participating/public/routes.go index d510355028..ac4f032da9 100644 --- a/daemon/algod/api/server/v2/generated/participating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/public/routes.go @@ -212,149 +212,149 @@ var swaggerSpec = []string{ "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", - "AP//DNixnk/ZAAA=", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 0bf02974d1..59403db64b 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -113,6 +113,8 @@ type NodeInterface interface { SetSyncRound(rnd uint64) error GetSyncRound() uint64 UnsetSyncRound() + GetBlockTimeStampOffset() time.Duration + SetBlockTimeStampOffset(offset time.Duration) error } func roundToPtrOrNil(value basics.Round) *uint64 { @@ -1668,3 +1670,29 @@ func (v2 *Handlers) TealDisassemble(ctx echo.Context) error { func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { return ctx.JSON(http.StatusOK, true) } + +// GetTimeStampOffset gets the timestamp offset. +// (GET /v2/devmode/blocks/offset) +func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { + offset := v2.Node.GetBlockTimeStampOffset() + if offset == 0 { + return notFound(ctx, fmt.Errorf("timestamp offset is not set"), errFailedRetrievingTimeStampOffset, v2.Log) + } + return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(offset.Seconds())}) +} + +// SetSyncRound sets the sync round on the ledger. +// (POST /v2/devmode/blocks/offset/{offset}) +func (v2 *Handlers) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error { + timeOffset := time.Duration(offset) * time.Second + err := v2.Node.SetBlockTimeStampOffset(timeOffset) + if err != nil { + switch err { + case catchup.ErrSyncRoundInvalid: + return badRequest(ctx, err, errFailedSettingSyncRound, v2.Log) + default: + return internalError(ctx, err, errFailedSettingSyncRound, v2.Log) + } + } + return ctx.NoContent(http.StatusOK) +} diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index f7a820b775..74b0e46c10 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -28,6 +28,7 @@ import ( "github.com/algorand/go-algorand/config" "github.com/algorand/go-algorand/data/basics" "github.com/algorand/go-algorand/data/bookkeeping" + "github.com/algorand/go-algorand/data/committee" "github.com/algorand/go-algorand/data/transactions" "github.com/algorand/go-algorand/ledger" "github.com/algorand/go-algorand/ledger/ledgercore" @@ -97,6 +98,9 @@ type TransactionPool struct { // exceed the txPoolMaxSize. This flag is reset to false OnNewBlock stateproofOverflowed bool + // devMode indicates whether we are in dev mode and whether we should + // manually change certain fields in the block header such as block seed. + devMode bool // devModeTimeStampOffset adds an offset to the timestamp in the // blockheader in dev mode. devModeTimeStampOffset time.Duration @@ -707,8 +711,11 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact // If dev mode timestamp offset is configured, add the offset to current // block timestamp. - if pool.devModeTimeStampOffset != 0 { - next.BlockHeader.TimeStamp += int64(pool.devModeTimeStampOffset) + if pool.devMode { + next.BlockHeader.Seed = committee.Seed(pool.PendingTxIDs()[0]) + if pool.devModeTimeStampOffset != 0 { + next.BlockHeader.TimeStamp += int64(pool.devModeTimeStampOffset) + } } pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) @@ -1001,6 +1008,7 @@ func (pool *TransactionPool) AssembleDevModeBlock(offset time.Duration) (assembl defer pool.mu.Unlock() // drop the current block evaluator and start with a new one. + pool.devMode = true pool.devModeTimeStampOffset = offset pool.recomputeBlockEvaluator(nil, 0) From d45b1d1c9bde776ce3234fa411fea08099fb209b Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 4 Apr 2023 16:07:56 -0400 Subject: [PATCH 03/34] Fix node handler function signatures --- node/follower_node.go | 8 ++++++++ node/node.go | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/node/follower_node.go b/node/follower_node.go index 46b9136785..a1179442e7 100644 --- a/node/follower_node.go +++ b/node/follower_node.go @@ -447,3 +447,11 @@ func (node *AlgorandFollowerNode) GetSyncRound() uint64 { func (node *AlgorandFollowerNode) UnsetSyncRound() { node.catchupService.UnsetDisableSyncRound() } + +func (node *AlgorandFollowerNode) SetBlockTimeStampOffset(offset time.Duration) error { + return nil +} + +func (node *AlgorandFollowerNode) GetBlockTimeStampOffset() time.Duration { + return time.Duration(0) +} diff --git a/node/node.go b/node/node.go index 991614cd0a..d9bb870758 100644 --- a/node/node.go +++ b/node/node.go @@ -1420,11 +1420,13 @@ func (node *AlgorandFullNode) GetSyncRound() uint64 { func (node *AlgorandFullNode) UnsetSyncRound() { } -func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset time.Duration) { +func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset time.Duration) error { if !node.devMode { - return + // TODO: return error here? + return nil } node.devModeTimeStampOffset = offset + return nil } func (node *AlgorandFullNode) GetBlockTimeStampOffset() time.Duration { From a0a0ae8abf9cbe300599861fbfb471ca1a89c50f Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 5 Apr 2023 00:56:14 -0400 Subject: [PATCH 04/34] Regenerate routes --- daemon/algod/api/algod.oas2.json | 166 +++--- daemon/algod/api/algod.oas3.yml | 121 +++++ .../api/server/v2/generated/data/routes.go | 323 +++++------ .../v2/generated/experimental/routes.go | 325 ++++++------ .../nonparticipating/private/routes.go | 12 +- .../nonparticipating/public/routes.go | 502 ++++++++++-------- .../generated/participating/private/routes.go | 340 ++++++------ .../generated/participating/public/routes.go | 25 +- 8 files changed, 989 insertions(+), 825 deletions(-) diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index 9536c4dfa9..966932f178 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -2429,94 +2429,94 @@ } } } - } - }, - "/v2/devmode/blocks/offset": { - "get": { - "tags": [ - "public", - "nonparticipating" - ], - "produces": [ - "application/json" - ], - "schemes": [ - "http" - ], - "summary": "Returns the timestamp offset if devmode API is enabled.", - "operationId": "GetBlockTimeStampOffset", - "responses": { - "200": { - "description": "OK", - "$ref": "#/responses/GetBlockTimeStampOffsetResponse" - }, - "400": { - "description": "TimeStamp offset not set.", - "schema": { - "$ref": "#/definitions/ErrorResponse" + }, + "/v2/devmode/blocks/offset": { + "get": { + "tags": [ + "public", + "nonparticipating" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "http" + ], + "summary": "Returns the timestamp offset if devmode API is enabled.", + "operationId": "GetBlockTimeStampOffset", + "responses": { + "200": { + "description": "OK", + "$ref": "#/responses/GetBlockTimeStampOffsetResponse" + }, + "400": { + "description": "TimeStamp offset not set.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Devmode API not enabled" + }, + "default": { + "description": "Unknown Error" } - }, - "404": { - "description": "Devmode API not enabled" - }, - "default": { - "description": "Unknown Error" } } - } - }, - "/v2/devmode/blocks/offset/{offset}": { - "post": { - "description": "Sets the timestamp offset (seconds) for blocks in devmode.", - "tags": [ - "public", - "nonparticipating" - ], - "schemes": [ - "http" - ], - "summary": "Given a timestamp offset in seconds, adds the offset to every block header's timestamp.", - "operationId": "SetBlockTimeStampOffset", - "parameters": [ - { - "type": "integer", - "description": "The timestamp offset for blocks in devmode.", - "name": "offset", - "in": "path", - "required": true, - "minimum": 0 - } - ], - "responses": { - "200": { - "type": "object" - }, - "400": { - "description": "Cannot set timestamp offset to a negative integer.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "401": { - "description": "Invalid API Token", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "500": { - "description": "Internal Error", - "schema": { - "$ref": "#/definitions/ErrorResponse" + }, + "/v2/devmode/blocks/offset/{offset}": { + "post": { + "description": "Sets the timestamp offset (seconds) for blocks in devmode.", + "tags": [ + "public", + "nonparticipating" + ], + "schemes": [ + "http" + ], + "summary": "Given a timestamp offset in seconds, adds the offset to every block header's timestamp.", + "operationId": "SetBlockTimeStampOffset", + "parameters": [ + { + "type": "integer", + "description": "The timestamp offset for blocks in devmode.", + "name": "offset", + "in": "path", + "required": true, + "minimum": 0 } - }, - "503": { - "description": "Service Temporarily Unavailable", - "schema": { - "$ref": "#/definitions/ErrorResponse" + ], + "responses": { + "200": { + "type": "object" + }, + "400": { + "description": "Cannot set timestamp offset to a negative integer.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Invalid API Token", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "503": { + "description": "Service Temporarily Unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Unknown Error" } - }, - "default": { - "description": "Unknown Error" } } } diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index 692c925d14..b264e3bbdf 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -3870,6 +3870,127 @@ ] } }, + "/v2/devmode/blocks/offset": { + "get": { + "operationId": "GetBlockTimeStampOffset", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "offset": { + "description": "Timestamp offset in seconds.", + "type": "integer" + } + }, + "required": [ + "offset" + ], + "type": "object" + } + } + }, + "description": "Response containing the timestamp offset in seconds" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "description": "TimeStamp offset not set." + }, + "404": { + "content": {}, + "description": "Devmode API not enabled" + }, + "default": { + "content": {}, + "description": "Unknown Error" + } + }, + "summary": "Returns the timestamp offset if devmode API is enabled.", + "tags": [ + "public", + "nonparticipating" + ] + } + }, + "/v2/devmode/blocks/offset/{offset}": { + "post": { + "description": "Sets the timestamp offset (seconds) for blocks in devmode.", + "operationId": "SetBlockTimeStampOffset", + "parameters": [ + { + "description": "The timestamp offset for blocks in devmode.", + "in": "path", + "name": "offset", + "required": true, + "schema": { + "minimum": 0, + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": {} + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "description": "Cannot set timestamp offset to a negative integer." + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "description": "Invalid API Token" + }, + "500": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "description": "Internal Error" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + }, + "description": "Service Temporarily Unavailable" + }, + "default": { + "content": {}, + "description": "Unknown Error" + } + }, + "summary": "Given a timestamp offset in seconds, adds the offset to every block header's timestamp.", + "tags": [ + "public", + "nonparticipating" + ] + } + }, "/v2/experimental": { "get": { "operationId": "ExperimentalCheck", diff --git a/daemon/algod/api/server/v2/generated/data/routes.go b/daemon/algod/api/server/v2/generated/data/routes.go index 3e00e5b113..ec1cc4e329 100644 --- a/daemon/algod/api/server/v2/generated/data/routes.go +++ b/daemon/algod/api/server/v2/generated/data/routes.go @@ -145,176 +145,177 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "fwAAAP//rixmG/fIAAA=", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/experimental/routes.go b/daemon/algod/api/server/v2/generated/experimental/routes.go index e946bed398..c939cccd99 100644 --- a/daemon/algod/api/server/v2/generated/experimental/routes.go +++ b/daemon/algod/api/server/v2/generated/experimental/routes.go @@ -75,168 +75,169 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "AAAA//8wqAqFoLcAAA==", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go index a1a5149cb2..fb9e742eda 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go @@ -292,12 +292,12 @@ var swaggerSpec = []string{ "uJcfHx3d4vHYExmQnxYpeKO4V3WKVmLYguuWqgOI1cTYkcrfAR97je56Onm654y32pJasdaRV+W+5hnz", "mbo49qPPN/apxLgoK+MZnWHX08mzzzn7U2lZnucMWwa1mfpL/5O8kOpK+pZW4ahWK15u/DbWLaHA3GLj", "scYXGv1ipbjkqOdJJVsPzkw+oi82li09IG+04TeQN2e217/lzeeSN7hIdyFv2oDuWN483nPP//ln/G8J", - "+2eTsGck7m4lYZ3CRwlqfQ0U1gWUYgWSymS5X6nAxCG9gd//eSPT6I998N232GI/H35qvwXQ0pz1sjKZ", - "uqLqJ9GjAgve8txVx0MzaX3lMop5AE3QNvvRJVXlG7QNiwwYx2oPqjLNndh2rr3ltdfCQmjeaVwIiQOg", - "+RlHoTKQPAiH1JAqSa+adY4lh9kblUH/WMKD57cKyk1z8jgcJ9OWXHKMFSm6eGsx3xcj1/uxHZrJycfT", - "Z476KbPW34dXXBh7eLnoaaRov7MBnh+6ugCdX5tUvN4XzC8Mfgxd/tFfD+u6xdGP3Sto7Ku7gg008lVd", - "/OfGHBWad5AlasPO+492ZbEqnuOWxlpxfHiIEYlLpc3h5Hr6qWPJCD9+rBfTl0uqF/X64/X/BAAA//+c", - "IhrMusEAAA==", + "+2eTsGck7m4lYZ3CRwlqfQ00g8uVysCrkGo+p6qy2z4ffqJ/AzCwLqAUK5BUbcv9SnUqDukp/f7PG5lG", + "f+xj2X3SLfbz4af2kwItBVwvK5OpKyqiEj1xsG4uz12RPbS21jc3o5gH0MR+sx9dbla+QROzyIBxLBqh", + "KtNcrW3n2uleOz8shOa5x4WQOABasXEUqibJg6hKDamS9Dha53RzmL1RGfRPNzy/fqug3DQHmMNxMm2J", + "N8efkdqNtz4t+tLoej/uRWs7uYr6zFG/iNb6+/CKC2PPQBeEjRTtdzbA80NXXqDza5PR1/uCaYrBj2Hk", + "QPTXw7r8cfRj9yYb++pucgONfHEY/7mxaoVWImSJ2j70/qNdWSyu57ilMXocHx5iYONSaXM4uZ5+6hhE", + "wo8f68X0VZfqRb3+eP0/AQAA//+RGIWYAcIAAA==", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go index 29e1bb8460..662ba5cdcd 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go @@ -54,6 +54,12 @@ type ServerInterface interface { // Get a proof for a transaction in a block. // (GET /v2/blocks/{round}/transactions/{txid}/proof) GetTransactionProof(ctx echo.Context, round uint64, txid string, params GetTransactionProofParams) error + // Returns the timestamp offset if devmode API is enabled. + // (GET /v2/devmode/blocks/offset) + GetBlockTimeStampOffset(ctx echo.Context) error + // Given a timestamp offset in seconds, adds the offset to every block header's timestamp. + // (POST /v2/devmode/blocks/offset/{offset}) + SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error // Get the current supply reported by the ledger. // (GET /v2/ledger/supply) GetSupply(ctx echo.Context) error @@ -387,6 +393,35 @@ func (w *ServerInterfaceWrapper) GetTransactionProof(ctx echo.Context) error { return err } +// GetBlockTimeStampOffset converts echo context to params. +func (w *ServerInterfaceWrapper) GetBlockTimeStampOffset(ctx echo.Context) error { + var err error + + ctx.Set(Api_keyScopes, []string{""}) + + // Invoke the callback with all the unmarshalled arguments + err = w.Handler.GetBlockTimeStampOffset(ctx) + return err +} + +// SetBlockTimeStampOffset converts echo context to params. +func (w *ServerInterfaceWrapper) SetBlockTimeStampOffset(ctx echo.Context) error { + var err error + // ------------- Path parameter "offset" ------------- + var offset uint64 + + err = runtime.BindStyledParameterWithLocation("simple", false, "offset", runtime.ParamLocationPath, ctx.Param("offset"), &offset) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter offset: %s", err)) + } + + ctx.Set(Api_keyScopes, []string{""}) + + // Invoke the callback with all the unmarshalled arguments + err = w.Handler.SetBlockTimeStampOffset(ctx, offset) + return err +} + // GetSupply converts echo context to params. func (w *ServerInterfaceWrapper) GetSupply(ctx echo.Context) error { var err error @@ -557,6 +592,8 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL router.GET(baseURL+"/v2/blocks/:round/hash", wrapper.GetBlockHash, m...) router.GET(baseURL+"/v2/blocks/:round/lightheader/proof", wrapper.GetLightBlockHeaderProof, m...) router.GET(baseURL+"/v2/blocks/:round/transactions/:txid/proof", wrapper.GetTransactionProof, m...) + router.GET(baseURL+"/v2/devmode/blocks/offset", wrapper.GetBlockTimeStampOffset, m...) + router.POST(baseURL+"/v2/devmode/blocks/offset/:offset", wrapper.SetBlockTimeStampOffset, m...) router.GET(baseURL+"/v2/ledger/supply", wrapper.GetSupply, m...) router.GET(baseURL+"/v2/stateproofs/:round", wrapper.GetStateProof, m...) router.GET(baseURL+"/v2/status", wrapper.GetStatus, m...) @@ -572,237 +609,240 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "H4sIAAAAAAAC/+y9a3Mbt5IA+ldQ3K3yYzmSn9kTVaX2KnaSo43juCwlu2dj3wScaZI4GgJzAIxExtf/", - "/RYaj8HMYMihJNtxok+2OHg0Go1Go5/vJrlYVYID12py9G5SUUlXoEHiXzTPRc11xgrzVwEql6zSTPDJ", - "kf9GlJaMLybTCTO/VlQvJ9MJpyto2pj+04mEf9VMQjE50rKG6UTlS1hRM7DeVKZ1GGmdLUTmhji2Q5w8", - "n7zf8oEWhQSl+lD+yMsNYTwv6wKIlpQrmptPilwyvSR6yRRxnQnjRHAgYk70stWYzBmUhTrwi/xXDXIT", - "rdJNPryk9w2ImRQl9OF8JlYzxsFDBQGosCFEC1LAHBstqSZmBgOrb6gFUUBlviRzIXeAaoGI4QVeryZH", - "v0wU8AIk7lYO7AL/O5cAv0OmqVyAnrydphY31yAzzVaJpZ047EtQdakVwba4xgW7AE5MrwPyQ600mQGh", - "nLz+9hl5/Pjxl2YhK6o1FI7IBlfVzB6vyXafHE0KqsF/7tMaLRdCUl5kof3rb5/h/KdugWNbUaUgfViO", - "zRdy8nxoAb5jgoQY17DAfWhRv+mROBTNzzOYCwkj98Q2vtFNief/pLuSU50vK8G4TuwLwa/Efk7ysKj7", - "Nh4WAGi1rwympBn0lwfZl2/fPZw+fPD+3345zv7P/fn08fuRy38Wxt2BgWTDvJYSeL7JFhIonpYl5X18", - "vHb0oJaiLguypBe4+XSFrN71JaavZZ0XtKwNnbBciuNyIRShjowKmNO61MRPTGpeGjZlRnPUTpgilRQX", - "rIBiarjv5ZLlS5JTZYfAduSSlaWhwVpBMURr6dVtOUzvY5QYuK6ED1zQHxcZzbp2YALWyA2yvBQKMi12", - "XE/+xqG8IPGF0txVar/LipwtgeDk5oO9bBF33NB0WW6Ixn0tCFWEEn81TQmbk42oySVuTsnOsb9bjcHa", - "ihik4ea07lFzeIfQ10NGAnkzIUqgHJHnz10fZXzOFrUERS6XoJfuzpOgKsEVEDH7J+TabPt/n/74kghJ", - "fgCl6AJe0fycAM9FAcUBOZkTLnREGo6WEIem59A6HFypS/6fShiaWKlFRfPz9I1eshVLrOoHumarekV4", - "vZqBNFvqrxAtiARdSz4EkB1xBymu6Lo/6ZmseY7730zbkuUMtTFVlXSDCFvR9VcPpg4cRWhZkgp4wfiC", - "6DUflOPM3LvBy6SoeTFCzNFmT6OLVVWQszmDgoRRtkDiptkFD+P7wdMIXxE4fpBBcMIsO8DhsE7QjDnd", - "5gup6AIikjkgPznmhl+1OAceCJ3MNvipknDBRK1CpwEYcertEjgXGrJKwpwlaOzUocMwGNvGceCVk4Fy", - "wTVlHArDnBFoocEyq0GYogm3v3f6t/iMKvjiydAd33wduftz0d31rTs+arexUWaPZOLqNF/dgU1LVq3+", - "I96H8dyKLTL7c28j2eLM3DZzVuJN9E+zfx4NtUIm0EKEv5sUW3CqawlHb/h98xfJyKmmvKCyML+s7E8/", - "1KVmp2xhfirtTy/EguWnbDGAzABr8sGF3Vb2HzNemh3rdfJd8UKI87qKF5S3Hq6zDTl5PrTJdsx9CfM4", - "vHbjh8fZ2j9G9u2h12EjB4AcxF1FTcNz2Egw0NJ8jv+s50hPdC5/N/9UVWl662qeQq2hY3clo/rAqRWO", - "q6pkOTVIfO0+m6+GCYB9SNCmxSFeqEfvIhArKSqQmtlBaVVlpchpmSlNNY707xLmk6PJvx02+pdD210d", - "RpO/ML1OsZMRWa0YlNGq2mOMV0b0UVuYhWHQ+AnZhGV7KDQxbjfRkBIzLLiEC8r1QfNkafGDcIB/cTM1", - "+LbSjsV35wk2iHBiG85AWQnYNryjSIR6gmgliFYUSBelmIUf7h5XVYNB/H5cVRYfKD0CQ8EM1kxpdQ+X", - "T5uTFM9z8vyAfBePjaK44OXGXA5W1DB3w9zdWu4WC7olt4ZmxDuK4HYKeWC2xqPBiPk3QXH4rFiK0kg9", - "O2nFNP67axuTmfl9VOfPg8Ri3A4TFz60HObsGwd/iR43dzuU0yccp+45IMfdvlcjGzNKmmCuRCtb99OO", - "uwWPAYWXklYWQPfF3qWM4yPNNrKwXpObjmR0SZijMxzRGkJ15bO28zwkIUFS6MDwdSny879TtbyBMz/z", - "Y/WPH05DlkALkGRJ1fJgkpIy4uPVjDbmiJmG+MAns2iqg7DEm1rejqUVVNNoaQ7etFhiUY/9kOmBTLxd", - "fsT/0JKYz+ZsG9Zvhz0gZ8jAlD3OzshQmNe+fSDYmUwD1EIIsrIPfGJe3XtB+ayZPL1Po/boG6tTcDvk", - "FoE7JNY3fgy+FusUDF+Lde8IiDWom6APMw6KkRpWagR8zx1kAvffoY9KSTd9JOPYY5BsFmhEV4Wngcc3", - "vpmlUc4ez4S8GvfpsBVOGpUzoWbUiPlOO0jCpnWVOVJMqK1sg85AjZVvO9PoDp/CWAsLp5p+ACwoM+pN", - "YKE90E1jQawqVsINkP4yyfRnVMHjR+T078dPHz769dHTLwxJVlIsJF2R2UaDInfd24wovSnhXn9l+Dqq", - "S50e/YsnXlHZHjc1jhK1zGFFq/5QVgFqRSDbjJh2fay10YyrDgCOOZxnYDi5RTuxun0D2nOmjIS1mt3I", - "ZgwhrGhmKYiDpICdxLTv8pppNvES5UbWN/GUBSmFTOjX8IhpkYsyuwCpmEhYU165FsS18OJt1f3dQksu", - "qSJmblT91hwFigRl6TUfz/ft0Gdr3uBmK+e3602szs07Zl/ayPeaREUqkJlec1LArF60XkJzKVaEkgI7", - "4h39HWgUBc7YCk41XVU/zuc381QUOFDiycZWoMxMxLYwcr2CXHDrCbHjdeZGHYOeLmK8ik4PA+Awcrrh", - "OeoZb+LYDj9cV4yj0UNteB69Yg2MJRSLFlle/7U6hA471R2VAMeg4wV+RkXHcyg1vXGJrjtBCvZnnrQt", - "sKQwDXG3XrDFUkci9yspxPzmYUzNkgIUP9gHS2n69J8tL0VhDpqu1Q2IJ81gzek3exqfeToTtSaUcFEA", - "6phqlRZcBnwZ0IiKtl8dy0J6ad8gMzCElNParLauCFo2e7y06ZjR3FJvhqhRA3adYJCzrex01k5eSqDF", - "hswAOBEzZzxxZh1cJEWzrPZXvxObEmepBVclRQ5KQZE5pc1O0Hw7y1b1Fjwh4AhwmIUoQeZUXhvY84ud", - "cJ7DJkMnAkXufv+zuvcJ4NVC03IHYrFNCr3hCewsZH2ox02/jeC6k8dkRyUQz3PNe9swiBI0DKFwL5wM", - "7l8Xot4uXh8tFyDRVvVBKd5Pcj0CCqB+YHq/LrR1NeAa555+RvoxG8YpF17oSA1WUqWzXWzZNGq9T80K", - "Ik6Y4sQ48IBQ8oIqbe2rjBeoFrLXCc5jBRQzxTDAgyK6GflnL533x87NPchVrYKoruqqElJDkVoDh/WW", - "uV7COswl5tHY4T2gBakV7Bp5CEvR+A5ZdiUWQVQHM4RzQOgvDpX15p7fJFHZAqJBxDZATn2rCLuxe9AA", - "IEw1iLaEw1SHcoJP0nSitKgqwy10VvPQbwhNp7b1sf6padsnLqqbe7sQoNArybV3kF9azFrHsCVVxMFB", - "VvTcyB6oIrCG4D7M5jBmivEcsm2Uj88f0yo+AjsPaV0tJC0gK6Ckm/6gP9nPxH7eNgDuePMUFBoy6+GT", - "3vSGkr1DxZahBY6nUsIjwS8kN0fQvDwaAnG9d4xcAI6dYk6Oju6EoXCu5Bb58XDZdqsTI+JteCG02XFH", - "Dwiy4+hjAB7AQxj66qjAzlnzLutO8Q9QboIgR+w/yQbU0BKa8fdawIB+0TlPR+elw947HDjJNgfZ2A4+", - "MnRkB5Sdr6jULGcVvnW+h82NP/26EyRNcKQATVkJBYk+2GdgFfcn1jelO+bVnoKj9FJ98HuKqcRySqZQ", - "5GkDfw4bfHO/sk6PZ5Gr5A28ZROjmvuJcoKAelcqI4LHTWBNc11ujKCml7AhlyCBqHq2YlpbZ+b2U1eL", - "KosHSOr8t8zoDFzWYdDvwBiL2ykOFS2vvxXTiX0TbIfvrPMwaKHDvQUqIcoR2qMeMpIQjPKFIJUwu86c", - "X7X3rPWU1ALSMW20bobr/45qoRlXQP4hapJTjk+uWkOQaYREQQEFSDODEcHCnM7rocEQlLAC+5LEL/fv", - "dxd+/77bc6bIHC59MIJp2EXH/fuox3kllG4drhvQFZrjdpK4PtAYYi4+9wrp8pTdVnc38pidfNUZPFhQ", - "zJlSyhGuWf61GUDnZK7HrD2mkXEeBzjuKDtHNHRq3bjvp2xVl1TfhEVnq0AaHhRstYKCUQ3lhlQScrAO", - "50bCUhYWAxqxrmj5kvIFCtZS1AvnC2XHQcZYK6vCkDXvDZEUPvSaZwsp6irFKJ3/q485MGIHUPP0iRCJ", - "na2gf0nDfC7MZMwN5hEe7c53ZswhQ8t0MvgyNEi9aF6GFjntwIk0FjASJFN1ngMkvaJTb66w1E6AaBPy", - "4wY0YkMtrVsYobmuaRlTHTmZE8o37chRykpluCBTBNuZzo2r8dSuzYf1zGlpzdWJOJP4pLQkvmjnG5R2", - "UTHS8IBEYqShPmXEBGiOlyHjD6PEb4ZOQdmfOPJDaz4OuaKZB3i5uQExyA5EJFQSFF5aseJK2a9iHoeD", - "uVtNbZSGVV+3b7v+OsBoXg++IAUvGYdsJThskhHQjMMP+DHJOPDiHOiMIsxQ3+6rpAV/B6z2PGOo8br4", - "xd2OeNGr4IN5A5vfHbdj1okD4VBtCWVFKMlLhkpNwZWWda7fcIpqk+iwJXxV/PtwWJH2zDdJa+4SijU3", - "1BtO0U8pKFOS9vU5JDQH3wJ4fZqqFwtQHf5J5gBvuGvFOKk50zjXyuxXZjesAokOIwe25YpuDAtEvd/v", - "IAWZ1brNkzEYR2nDLq2NyUxDxPwNp5qUYN7UPzB+tsbhvI3W0wwHfSnkecBC+gpZAAfFVJb2qfnOfkV3", - "R7f8pXN9xOBp+9laJcz4TcTOBrUqTUDw/3v3v45+Oc7+j2a/P8i+/I/Dt++evL93v/fjo/dfffX/tX96", - "/P6re//176md8rCnQkUc5CfP3WPt5DlK5I1Zogf7R1NJrxjPkkQWG987tEXuYlikI6B7bX2NXsIbrtfc", - "ENIFLVlhRK6rkEOXxfXOoj0dHappbURHP+PXuqecew0uQxJMpsMar3yN993Q0kFZaCdzcVZ4XuY1t1vp", - "BV0bc+DdgcR8GgLvbE6OI4JRWUvqfdncn4+efjGZNtFU4ftkOnFf3yYomRXrpHQI69TzxR0QPBh3FKno", - "RsGAAIqwJz2frLtBPOwKzLtXLVn18TmF0myW5nDek9upQdb8hFsXa3N+0Oq2ccp8Mf/4cGtp5PBKL1Ox", - "+i1JAVs1uwnQ8YSopLgAPiXsAA66aojCPM2cD1YJdI4x4/jQE2MiU8I5sITmqSLCeryQUW/9FP2gcOu4", - "9fvpxF3+6sblcTdwCq7unMHE5v/Wgtz57pszcugYprpjwzft0FHAXeLV6mJKWj4yhpvZDCU2fvUNf8Of", - "w5xxZr4fveEF1fRwRhXL1WGtQH5NS8pzOFgIcuTDVJ5TTd/wnqQ1mEQoChAiVT0rWU7OY4m4IU+bGKI/", - "wps3v9ById68edtzF+jLr26qJH+xE2SXTC9FrTMX1p5JuKQyZY5RIawZR7Z5K7bNOiVubMuKXdi8Gz/N", - "82hVqW54Y3/5VVWa5UdkqFzwntkyorSQXhYxAoqFBvf3pXAXg6SXXoVRK1DktxWtfmFcvyXZm/rBg8dA", - "WvF+v7kr39DkpoLRiozB8Muu/gIXbt81sNaSZhVdpKw+b978ooFWuPsoL6/wkV2WBLu14gy9HzUO1SzA", - "42N4Aywce8dM4eJObS+fwii9BPyEW4htjLjR2KKvul9R5OGVt6sTvdjbpVovM3O2k6tShsT9zoTMJgsj", - "ZHkHAcUW6ITpksDMgORLyM9ddg5YVXozbXX3PihO0PSsgymbt8XGDWHmANSZz4DUVUGdKN7VIM02RIHW", - "3gv0NZzD5kw0iQf2idluhxCroYOKlBpJl4ZY42PrxuhuvnN0QhVXVflIXAzJ8mRxFOjC9xk+yFbkvYFD", - "nCKKVojrECKoTCDCEv8ACq6wUDPetUg/tTzzypjZmy+Rw8XzfuKaNI8n55MUrwYV3Pb7CjAJlLhUZEaN", - "3C5c/iIbJhtxsVrRBQxIyLHZYmQwasvUgYPsuveSN52Ydy+03n2TBNk2zsyak5QC5oshFXzMdDzR/EzW", - "MuaMAJiW0CFsVqKYFFz2LNOhsmU+snnWhkBLEzBI3ggcHow2RmLJZkmVT62EGaj8WR4lA3zAsO9tyT5i", - "hX6UZiro1z3P7Z7T3uvSpfzweT58co/4aTkiUYeR8NFvO7UdgqMAVEAJC7tw29gTShOC3myQgePH+bxk", - "HEiW8seiSomc2dxYzTXj5gAjH98nxKqAyegRUmQcgY0WXxyYvBTx2eSLfYDkLoSe+rHRVhz9DeloH+uh", - "bEQeURkWzgYMSLnnANQ58YX7q+NKisMQxqfEsLkLWho25158zSC9nBMotnYyTDifg3tD4uwWDby9WPZa", - "k72KrrKaWGbyQKcFui0Qz8Q6s+F+SYl3tp4Zek86bWPwYepg2uwedxSZiTX6seDVYp2Ed8AyDIcHI3rh", - "r5lCesV+Q7e5BWbbtNulqRQVKiQZp84L5DIkToyZekCCGSKXu1HCjisB0FF2NNlv3eN35yO1LZ70L/Pm", - "Vps2iah8PEzq+A8doeQuDeCvr4UJKTZedSWWpJ6i7Y7Rzi4SiZApojdsom+k6ZuCFJSAj4KsJURl5ynT", - "nXnbAN44p75bpLzAHCaUb+5FPj4SFkxpaJTo3iXhU6gnKaZOE2I+vDpdyblZ32shwjVlc/Ngx9YyP/oK", - "0El2zqTSGVogkkswjb5V+Kj+1jRNy0ptLyKbaJQVad6A057DJitYWafp1c37/XMz7cvAElU9Q37LuPUN", - "mWFi3KRv4Zaprfvp1gW/sAt+QW9sveNOg2lqJpaGXNpzfCbnosN5t7GDBAGmiKO/a4Mo3cIgo5jQPneM", - "5CZ7ODEm9GCb9rV3mAo/9k63ER+ZOnRH2ZGSa4kUBltXwdBMZMQSpqO8sv1gzYEzQKuKFeuOLtSOOvhi", - "pnspPHw2rg4WcHfdYDswEOk9U/EiElQ78Voj4NsMwa28JwejMHPWTo8WM4R4KqZ8fvs+okI82S5cnQEt", - "v4fNz6YtLmfyfjq5nuo0hWs34g5cvwrbm8QzmuatKq1lCdkT5bSqpLigZeYUzEOkKcWFI01s7vXRH5nV", - "pdWYZ98cv3jlwH8/neQlUJkFUWFwVdiu+mxWZXO8DRwQnz/bvPm8zG5FyWjzQ2KqWCl9uQSXiDiSRnsZ", - "ExuDQ3QUnZJ6nvYQ2qlydrYRu8QtNhKogomkUd9ZC0nbKkIvKCu93sxDO+DNg4sbl3YzyRXiAa5tXYmM", - "ZNmNspve6U6fjoa6dvCkeK4tqZJXNhu4IoJ3TejoXrypnNV9RTHfodWK9JkTr1eoSchUyfK0jpXPlCEO", - "bm1npjHBxgPCqBmxZgOmWF6zaCzTbExGkw6Q0RxJZKpkUpUGdzPhKr3UnP2rBsIK4Np8kngqOwcVE0w6", - "bXv/OjWyQ38uN7DV0DfDX0fGiHN9dm88BGK7gBFb6nrgPg9PZr/QoJFCd+vGJLGHwT+esXclbjHWO/pw", - "1GydF5dti1tcmKXP/wxh2Azdu6vC+MerSzo6MEeyygtT2VyK3yH9zsPncSIUx2c3Zejl8jvwET7njXan", - "KVbTzD643UPSTayFajspDFA97nxklsM0i15DTbndalt0oeXrliaY2Kv00I7fEIyDueeJW9LLGU3loDRC", - "hoHpuDEAt3TpWhDf2eNehcAGOzuJbMmhLbNh1hXIJkqun7LligKDnXa0qNBIBki1sUwwtfa/UonEMDW/", - "pNzW7jD97FFyvRVY5ZfpdSkkJklQabV/ATlb0TItORR5X8VbsAWzZSlqBVHdAzeQLfljqcjVjgjhOg41", - "J3PyYBoVX3G7UbALptisBGzx0LaYUYWcPCiiQhezPOB6qbD5oxHNlzUvJBR6qSxilSBBqMPnTTBezUBf", - "AnDyANs9/JLcRbOdYhdwz2DR3c+To4dfotLV/vEgdQG4siLbuEmB7OR/HDtJ0zHaLe0YhnG7UQ+S8eS2", - "rtgw49pymmzXMWcJWzpet/ssrSinC0h7iqx2wGT74m6iIq2DF17YojhKS7EhTKfnB00NfxrwPjfsz4JB", - "crFaMb1yxh0lVoaemqIGdlI/nK2w4/LRerj8R7SRVt5E1HlEflylqb3fUqtGS/ZLuoI2WqeE2swYJWu8", - "F3yWbHLiE+9ggt6Ql9fixsxllo5iDjozzEklGdf4sKj1PPsbyZdU0tywv4MhcLPZF08SSYnbyTH5foB/", - "dLxLUCAv0qiXA2TvZQjXl9zlgmcrw1GKe020R3QqB425abPdkO1w+9BjhTIzSjZIbnWL3GjEqa9FeHzL", - "gNckxbCevehx75V9dMqsZZo8aG126KfXL5yUsRIylU2vOe5O4pCgJYML9N1Lb5IZ85p7IctRu3Ad6D+t", - "5cGLnJFY5s9y6iHwtUi8Tn2i7KBJd77qCe3A0DE1HwwZzNxQU9JOSvzxjX5e+dw3PpkvHlb8owvsJ95S", - "RLJfwcAmRgnTk9tZhO+R/ZuSr8V67KZ2Tojf2D8AapIoqVlZ/NxEZXby0UvK82XSnjUzHX9tKmeFxdn7", - "KZm0bkk5hzI5nJUFf/UyY0Kq/acYO8+K8ZFtuyny7XI7i2sAb4PpgfITGvQyXZoJYqy2A96CQ3W5EAXB", - "eZoMaQ337JdWiBJg/6sGpVPBQ/jBOnWh3tK8d23+ZQK8wNfiAfnOFsddAmmlv8FXWsgi4HLfWoV6XZWC", - "FlNM5HD2zfELYme1fWz9F5v/eYGPlPYqOvqqKPnjOPdgX8olHbowfpztvtRm1UpnIV1zKjjUtGgSSrOO", - "Dh+fLzF2DsjzqMyljSM1Qxh6mDO5Mi+uMJqVXZAmzH+0pvkSn2QtljpM8uMTl3uqVFGxwFD0J2RExHNn", - "4Ha5y23q8ikR5t18yZStiQoX0I5HDcHZTiXg41Pby5M155ZSkrLHtuQBV0G7B846ang1fxKyDuL3FMht", - "3v9987ifYq9kgqZuUvhelUAb3RiKufha1znlgrMc0yOlrmZXPHWMDWxEJqmuktUfcXdCE4crmYo+uMk5", - "LA4mp/eM0CGur4SPvppNtdRh/9RYpXNJNVmAVo6zQTH1FRWcHpBxBS7DJZbajfikkC27InLIpKk6CyaN", - "PckIw2IGHnbfmm8v3bMf/cXPGUcB36HNuaZbTR3WdtTmVcA0WQhQbj3t2GD1i+lzgGGyBazfHvhakDYb", - "DJrlzLKtDbo/1LG3SDsLsGn7zLR1eYLCzy0PZDvpcVW5SYfrbSTlAb3mgwhOWBYzb9qJkBvGj0fbQm5b", - "XUnwPjWEBhdoiIYK7+EeYYTaE526RkZotRSFLYh14UpmMGA8AcYLxqGpVJq4IPLklYAbg+d1oJ/KJdVW", - "BBzF086Almh9TjE0pZ3p4bpDdXMJGZTgGv0cw9vYlM0YYByhQSO4Ub4JBVINdUfCxDOszOwQ2S+CgVKV", - "E6IKjCjolMVIMQ7DuH3hnfYF0D8GfZnIdteS2pOzz000FCQ6q4sF6IwWRSoj1df4leBXn1wK1pDXITFl", - "VZEcc6K0k8T0qc1NlAuu6tWWuXyDa04X1ZlJUENc68bvMAahzDb4byor4/DOOCeMvd0AvceFK0Oxp9zc", - "Hqkn9RqazhRbZOMxgXfK9dHRTH01Qm/63yill2LRBuQjp4bYxuXiPUrxt2/MxRFnTuilGrVXS0hsgE53", - "wlcHxGdjCMltcyW8ynq5R9HYE6qPbVdADNcRm+LlN+B6GyXEoPZ+tdbDIQfcfNBfnGoXuaYp2cqCBqOB", - "rPeOjftBKNKa0yGPHeuwYz73eo+TDHtyNo69FaHeFawP0Pfez5RUlDnTeMMs+ph1HunD6sJth67Z4O4i", - "nJ/3oMbu+4shn2yiGF+UQPB7t87QObhw9lB6367VeyX5J6H91VW+teMFr/jk+vveCTjVp1WDDiptz1xO", - "e7tM9yb//mfrw0aAa7n5A6hwe5veq9LUl3ateqppQkI65FHpkVu3Yrrg0nD+oybnEdJTJRRrUnCnKjGN", - "9HU7w2JKUf6m/lje0eQCco151xsDugTYJ5uTmSyqe3ibB2ng7RhcAl36o205j/rJ1ndcaL2wpCi0ziaq", - "Phif4ec4uEkhU8IMuAvgrvRgO+BgtNvzfA65Zhc7wsD+Zwk8CjGaeiWELSEcRYWx4EaLWUT2V7E1AG2L", - "0toKT5TN79rgDAWBnMPmjiItakhmzp76e+UqCSQQA8gdMkMiQqXcEKzW1FmGmQqUgVjwbj+2OzSpuAaL", - "7kRBjVecy5OkuXGbQMctU6arfoyay3TdK/wXPUKHIsX6RQOGhe3nWKNBhYJ4PgFF/CQlJ/00fZcugQUG", - "7QVDgU9lAcr/5iN07SwlO4e4LBCaZS6pLHyLpJ7BqzCyLfdRL7zLJ7zvAj0PM7PGSbMf0JNI/ISuuHkp", - "jPyVDfkzt/0ig1PBHWW9P2zKb/T4NHDNQbryaSjslUJBpoV36twGxzZUuNr3V0GCGky2aIEbTIHyusnx", - "gklnKaY8oc6zJV4gkbCiBjoZZWIZnnMbsp/Z7z6CxScd3alOCfS6O9G8d89lqofEmOrnxN2WuyNjrqJZ", - "YZzb8rUqlZaFG1TGqv9KiqLO7QUdH4ygfRqd9GgLK0kqJfL+KnvvyxJTgL2I4gzPYXNoRX+fqt9vZQy9", - "FaHsGqK4/s5u36jSKf2+Lhd2AYsbgfNTKm6mk0qIMhvQ9Z/0s8t0z8A5y8+hIObu8I5tA2VLyF1UMQdj", - "7uVy47OpVBVwKO4dEHLMrSuxt+u20xt3Jud39Lb51zhrUduET06ndPCGp30yMRWTvCZ/88Ns52oKDPO7", - "5lR2kB25S9YDmW0kvUwU8TkY+yjtW1q7hVUaorJQpKSUHSUsElZkXxPBV9jwEStarFjer6KQNFlstxDY", - "KkKzsXaCkM+zN/dg7shsp+WgBcMo+8G+YMyxKldGE0g+CRfZtFU0kXUKmPhcS7ZcRU6tIGseUZSVtQQX", - "QWHLB3XKClRULz0Zm+Z9cdOILqAwvMGmpqfKPo78I83VLuryB1FlJVxAy6DiwjrqPAel2AXEdY9sZ1IA", - "VKiy6F6kKUtBfL46vNStPYt0zWOwm2SuFrF2p8gOzjlQpz+zx0SNPUoGogtW1LSFP3WNkjQjy/7HsI7k", - "FHszifTitrGInbY9pPnkueRp014cVRTeSThbEfQplgibk60qesmHpYjEUzTYm66/DoKDEdWJ8hvwZcSC", - "O1lIB5hShbuAJE/8ZsamOFBHxI6K+IQxB8qZBvq5jjg7SJRpmrxaGpZRJ6lvFUkwm6hwz3bdXZylqXH/", - "lta4hm99z6+6h+GHho+NKyHkO+wAL1bpRkWEvCztwPnEPto/BKRESxmkhNbyd2mJ3QIbxh9tkb31zDJt", - "zjzr39fel8gEoJ4FzfpQZa+uAh5TMgmOaer6inuFxlbMdh8Tjjno8oKWH1/5jrm6jhEfrlRyeqGx9jZG", - "skWlupqj5As6au5IU3tzU/NXaCz4HzB7lLSSu6HcjRKkLG9bRJZJS8PEQ41EHJJc4pjWrP7wCzJzQV6V", - "hJyp7k116RNxB2Ul1qVoKmhv147uWufPQl+DjOde8CMvm6S+WuCN0UDYHNFPzFQGTm6SylPU1yOLBP5S", - "PCrOtrLjujhv2dttkvSOI6mQcMN298iDbk+7ez+PzNjlWduyuXRqBf11jr6tW7hNXNTN2sY6jfSRuy3z", - "6xhfj3RCZ9MdnU0sQjAbOkFQyW8PfyMS5ljuSJD793GC+/enrulvj9qfzXG+fz9dqPtjuZlYHLkx3Lwp", - "ivl5KPDAOtcPxLh09qNmZbGLMFoRS03BMIzJ+dXFLH6SkmW/Wmtg/6i6sjH7OLh1NwERk1hra/JoqigW", - "aUQYkuuWCDpCvVpeS6Y3mErJP+fYr0mHmO+Cvdn5K4TkG+7u0+IcQjKuxjpdK3+7fidoifeRkanRvVBj", - "ceZv1nRVleAOyld3Zv8Jj//2pHjw+OF/zv724OmDHJ48/fLBA/rlE/rwy8cP4dHfnj55AA/nX3w5e1Q8", - "evJo9uTRky+efpk/fvJw9uSLL//zjuFDBmQL6MQH7k/+F+v6ZcevTrIzA2yDE1qxUJPdkLEvTkRzPImw", - "oqycHPmf/h9/wg5ysWqG979OXFzwZKl1pY4ODy8vLw/iLocLNEdlWtT58tDP06+F/eokxHbZRznuqA3b", - "8coWTwrH+O31N6dn5PjVyUFUa/Vo8uDgwcFDLMVZAacVmxxNHuNPeHqWuO+HjtgmR+/eTyeHS6Alem+Y", - "P1agJcv9Jwm02Lj/q0u6WIA8cBWbzE8Xjw69WHH4zpnl3psZFqmEUzZiLQpT6hcyciZ+1A3YiLRWYQDl", - "8tRPQ7kIp/vhBQYSWUuXYXMBcSdFkxf5pGFaPjuUTZd59EuijuWcLcybulWft1P517zC//v0x5dESOKe", - "N69ofh6csMjJ3Gb6kOKCYXxKEQU1mZ4Hnn7/VYPcNPTlOF+cCtJn/3dRPyu1qNou8o1UlSpPnyoahTMb", - "sogIOxjRG8alZQ0xJA0bNqz1Qfbl23dP//Z+MgIQ9OhQgIlCfqNl+ZutNwxrVPf4VFsulco0kekepelp", - "Y5TFDs1OTtHHP3yNixmFNu3Ist+44PDb0DY4wJL7QMvSNBQcUnvwFlNZILHgmXv04MGNVUELwZRWaR5G", - "8SRxhYH6DMl+ShQ29sXQBqoaP7nBhbZdoa+93O5wvUV/TQssMANK26U8/GyXcsLRqcpcEMRegO+nk6ef", - "8d6ccMNzaEmwZZQnqn/R/MTPubjkvqURfurVisoNijZRFaxOoDZdKLTPIYu0Z7tV92by9v3grXcYl/U4", - "fNfyyymudSf2KhqdPN9xTd5RQ5yzn2W1UzXEfA9FIdBzw5VGwTIV6t4B+S7ujdwbk5bYlCC15FB4txp/", - "64UsbD63WwPbHRXnc0le2pG6+Pb+/tT393Fb2dHK5JkCpnUKtsLU8+277gXat1x16kJeqe5iVL/jClnQ", - "P2hxqs5b0870NvUU3Mmob3E3gLshMSmCN0hM7borH541+/iXcJO0rowPyLg/c6HvB1oaOomW28kNYNPb", - "3gqDfxlhMLh72/LOPqP79cRDrO10+M6nLL4BkdClbB4hDMbP6qhvlFL3boed3Duw+YfjNlfjGc6/e6eY", - "h4mkbwW8P4CA10/SngKjSb396YQ6hGHZZHHfpzZzq+jaXtnmP1Mp7i+MrEGxzUC6W2C7AvvsCWOOWX8w", - "tvqnFMIc0m7Fr7+0+BWirq4lgLXKLLg4vsiMdS3tXVc7x3SQxNqRdxFnC0Wt3RGeNiWhDIvBLF0+QYua", - "+pchmlPto9Fu1rT3buyLWN9B/ED9enPyfJd09RnpeUZni0zcAum9+dC8NGl2eP1xzA7jeNOTB08+HgTx", - "LrwUmnyLt/gH5pAflKWlyWpfFraNIx3ObB7rbVyJd9gSMoomP3XEo7AMSJwD23pn3HXFV+O8IvcOiM+W", - "rULtDxdfsxC0bFz7qVzYTobHGSSQO/7PIxz/zgH5FuMqtJqik5l2hSHIHcb10cNHj5+4JpJeWh+ubrvZ", - "F0+Ojr/6yjVrcqPb902vudLyaAllKVwHdzf0xzUfjv73H/93cHBwZyc7FeuvNy9tIsI/Ck+dpmILwsYP", - "7dZnvkmpV7pLELkTdR/FbP+1WCe5v1jf3j6f7PYx2P9T3DqzNhm5B2jQYLayN9zgLWSPyT730NTnGjd8", - "J1wmB+SlcIl06pJKImQB0hVLWtRUUq4BigNPqRj7p2zikLxkwLV5MGL5F5kpVoDNP7CoJRSkZCusjyzh", - "An3jcXp8y7cg2M3o0YP2D8vkf6DrKLnGLFzTWrglo7pzRde+ABWWWBESf/rqK/Jg2rxaytIMkAXEpJjr", - "iq4nH1HbF4htlN95u0bETsdcHHuM5qiRfkIoY5yQ/q/NuT9bid2Su9vYG+Kcext8GoNOrD9w6Wq2ag6s", - "YGfLU2G9pE0TFG2kPC9CpVmcmWGsUuAPbBvYqZJOPj676L09xLeP/2uxki5B7ck2MNpUHb5DW0bMM3rn", - "FqPl/lpm0shmJMXKG40EmYPOly5Qt4P6BHvyFSqGedO2+qQ3LdXgLvaTD8TZQrFu5sj0M1EMJRruQCaI", - "+EefLNp8ZnOb58NXH/FleNEkxXxlulCUzpXuZMr78ft4XrOLe0H5rJm8L5AhWm7C7nmL4P0Q3GOO3/gK", - "aIgxt4g/g6e/f0pm5KVowsVd8Y0/o8nxQ97sH3pBLwUHa1s3kq+lxVszahA7UIWPSPF5Quz7JaRBv7II", - "cuhr+W2VQ/5uK+ltlUXG3N5mss/yCv97skp265YxazvYmQShGW0MczYNbTKidq7yT/iK+ST89A/4tPkU", - "HOvjsBg8pJ7POLGA3yzTwdQ7lpgPQ5rqIQ6Uzvw/mhtpEdzPksn6Z1AKvlB/TFa0jTrSeElQSaiJkC58", - "8Nc7u88wq4958lrPR5fnSTGeg61ViWV2miRsFsK/fTwINVv5zK48jln9xNzl6YPHH2/6U5AXLAdyBqtK", - "SCpZuSE/8VBX9DrcDss6hLxrXhucrOSB1qZ2PrA8Tl50dSbYcll7p9eseL+bGUbZ+/bkg4xHfDDONUir", - "Cqi8OgPcbbo668x48jz2Cm5VGwiZtBKgGBTt6Rj/H5OReicMdxdzd/nV3ALqs345NuFcdsV8GpxjjBQg", - "5kfkDb9P1JI+ffjo10dPv/B/Pnr6xYDmzMzjkvX0dWfNQOazHWaMAu2zVgferNQe8Hv0sXd7v02cTlix", - "TmYfbyoM9XIPO7HsjiIV3QwWLah2VEiKh22qJX38JIdKs9ky+b7yz59QQ/mEfx1ewTYTnyssdFsZaSBo", - "IuIzhtCaEkkB69urJW2RJjtkGcrSfOzHaRNcYC86jzzZuXM+qaCrP9UjNcM3KnAv2LTR8ulkSsyQP43M", - "3aEqPfqu1FUlpA6nWx2MEvdgyGzXkvaGCHcvYS6nOl/W1eE7/A9m9nrfBBzYOrCRnc/9DusKJDOiI5aB", - "cr+WWCjv0Nr2t0l/p7bFNW/KjphtPQo6eep96jnnbyDm5AeWS3GM5RjcJaQ2SsOqlx/Qdf11IDLMJ/Ps", - "X1iCl4xDthI8lbXuR/z6A35MFnwQmpZDnbGuwFDfDstsw98Bqz3PGH55Xfz+QR7o11IsdVYrwRzupoae", - "pf89D6A/NBue90/Shuf9w9cq5Dfw8+G71p/Os8e1VMtaF+Iy6ovPQsuhxhj1o2za47Xp4aXUyUqtSAHK", - "EO3np7qK8JA6MeFrIj9ZlDN9MEXZX1SZNWe86BAJypm5uACpgppDeiecW43Wn0ejNXrf9+KxNh/nLo5W", - "q5uVSF6KAuy47XS4qSBSLgpwaUP7gkiQzNJaAH8rNe0677Kc1oulJnVFtEi9AJuOGc0tk7WlPtWu2oi2", - "la9kcwGElpiMlcwAOBEzs+h2jVlCFTrQ+2ekkz/TJf4auCopclAKiswHze4CLSRjxUen3oInBBwBDrMQ", - "JcicymsDe36xE86QzFyRu9//rO59AnitKLgdsdZtN4He4BrkpL0+1OOm30Zw3cljsqMSiBcNUOslVlUJ", - "Tu+VQOFeOBncvy5EvV28PlpQMcQ+MMX7Sa5HQAHUD0zv14W2rjJzfyeKkNqvZ2yFkhinXCjIBS/UcKng", - "XWwZC4pEa1FmBREnTHFiHHjgwfmCKv3amUDiimlR4RIzxZbaxkNJ883IP4eU+b2xc3MfclWrkFffqTXS", - "Vcs4rLfM9RLWYS60Qfmxg95EC1Ir2DXyEJai8R2yVFysWEfGIywr0l8cZjqhTkHRR2ULiAYR2wA59a1a", - "5fgaw8YAIEw1iA61w9qUExXQUlpUFVYEzGoe+g2h6dS2PtY/NW37xOVKG+G9XQhQsU7LQX5pMaswlGNJ", - "FXFwkBU9d2qvhcsElSj6xVaQobk620b55liemlbxEdh5SOtqIWmBRWxpQpXyk/1M7OdtA+COe/LECuHZ", - "DObJMiVm0xtKloMqojC0wPFUSnjEguKK5OYIzrFujicQ13vHyAUMVDM/iyqsuuY4V3KL/Hi4bLvVQ+Uu", - "LwQqOh09IMiOo48BeAAPYeirowI7Z436oDvFP0C5CYIcsf8kG1BDS2jG32sBXXVefIG1booOe+9w4CTb", - "HGRjO/jI0JFNKRA/y1i/rjX3A7qqtRWo0QPw4CqP28NLynQ2F9IK0hmda5AJXV6n0gFl2ocSWruKFs6R", - "guAI7t5047hi/00+DsdFLAjEl0Blq0R6HzPVt0KOigdqe71RpknNNSujmOjwVP7jKQxvlQC3SoBbJcCt", - "EuBWCXCrBLhVAtwqAW6VALdKgFslwK0S4K+rBPhUEX6Zlzi83zMXPOOwoJpdQAj9u01K9KeKiAl3lVdK", - "oBrjkjLtUnwS6uUA/HK9gEANtEQcsBKZbCXUYO4kLA6tRC1zILmBkHFSldS8DWCtQ8K5dipTn1zZlYfG", - "7KhUweNH5PTvx95xf+kczNtt7x67JOVKb0q451I6hPqtPrcDcIN0l9qB+jvBJ6ZzafpYCUQZ9H6DrZ/D", - "BZSiAml9gomWdULlcwa0fOZws0Pj0yq5aUb7bdpSNDm0rWgVlcHHtVJFqI3maFfMnNNSDZfMtOOtaJXK", - "DRduPqsLQm7ytcASs/EJMbt2iBvYPhuN+z7jVG4SoTu9E9EjDS0Mv3KE1Vdmvb/xIJM+0fbJbBeFpcR1", - "CSp5jrdReTK6ImxYbygbBDTv0EmyvHQ3pGASABzjAmvo2e8JeW37fdoQdoTIHbGGmf9hPAfbLQPTwLbm", - "FeFYz+cab+4Rnzy9ePanhrCLOgfCtCI+TmX39TKdrDMz0gJ45hhQNhPFJmuxr0nrFiqYokrBarb7Jor5", - "p8uG7C4f82X7PfVprpHn0eK28eSYaNaZY8AD3HmjYTRvDtjCER17jjD+oVn0EBuNQSCOP6W0St0aNHsy", - "vWaazS3ju2V80WnsSASMu7i+LhM5+ICMT25kzYd53jdryGsDXHyS76J6Hm1ysNYtw2YBs3qxwKzOPSOd", - "WRrgeEzwT8QK7XLHcsH9KMgOHjJ9Xje5VHe4PneJYtjuCkkWUtTVPVu+im/QmrGqKN94my9kiq3q0uLQ", - "JsS7WUZrQ+/6ngBoj3XKvyG19iuv84uUt+6qbf9u0UIuqSJ2f6EgNS9c7FAvQHfNx2eUtkOfrXnDprfm", - "lLbrTazOzTvmivC77IJcgp27ApnpNbcHqp323QYC25N7cJvN9q9xbbyymRgGGGw/qLVhCDd0e8iIr+H1", - "EaUuaYLh2jW4bIXAodCROI+JbXmj3iO94dtOJFF9PmskhbIi1JcayAVXWta5fsMpGmmihR30HUy8NnqY", - "vz3zTdJ2woQZzw31hlPMRB9MN0k+N4eEneJbAM9GVb1YgDK8MiaSOcAb7loxTmpuXlpiTlYslyKzgajm", - "DBn55MC2XNENmdMSrYy/gxRkZm72aNetwlhpVpbOo8VMQ8T8DaealECVJj8ww2XNcD7HWHDlAn0p5HnA", - "QjqtxQI4KKaytPLlO/sVM0e45XslHyos7ecm4vvjpozwsLNiEPKT5wZuiklySqZ04wTRg/2jGcBXjGdJ", - "IjtbAnE+YV3aIncxh4wjoHtt65BewhtubjgtCHJ1qq9GDl0zT+8s2tPRoZrWRnSsQX6to554N8JlSILJ", - "3JpW/kShmREdePMlbjzWqOnu/Z5mlK1lL1NfXaaxgUbukdBShLUv7lPX4qwF8p83S/3bm9KajbdpLAF5", - "ZtDxx5xVCxL26MNqzrb6lDRZ5VYrKBjVUG5IJSEHzOWCzjbNg/PARu2TfEn5Au8dKeqFKwhtx7kECSEB", - "l3njdYdI5/xY8wwF3YTjwDGxyjpPXuboYcnDGJ3Y2XJn86j0qLUpFcY8GxPH4Tsz5tArcjoZlBINUi8a", - "5y6LnPYZSWPhUtRlkak6zyHloXGSdJsKS20LcDiWld3cgFCQopa2Njahua6xCs0MM2MKW3SK8k37+sfq", - "XUJGGTQJJYotONW1hKldG7qKzYCgwfEg4T/Tudxb13S08w1Ku6i4iQIDt8fg9hj8+Y5B79J57Yhk3lEl", - "WMqICfBPVRqiyR137IpsdLOj3Vam/0OXVPiQj4QPvZoP9ebwzFgRinV74/PcyYpojzdVhGnH82ZA4IKW", - "NfJEl/fdvcQPyFnDMYOzd61cOtJ8SRl3WWhCWALCoV3KZO1zNN6UWpJe6jV3WknL/FAdabABeS2Z3uBz", - "hFbs13Mw/39r5HlbR9S+VGpZTo4mS62ro8NDLL2/FEofTt5P42+q8/FtAP+df2RUkl1gJZ637///AAAA", - "///+tuNi60wBAA==", + "H4sIAAAAAAAC/+x9a3Mbt5LoX0Fxt8qP5VB+Zk9Uldor23loYzsuS8nuObFvAs40SRwNgTkDjETG1//9", + "FhqPwcxgyKFES7GjT7Y4eDQajUajnx9GqVgWggNXcnT4YVTQki5BQYl/0TQVFVcJy/RfGci0ZIVigo8O", + "3TciVcn4fDQeMf1rQdViNB5xuoS6je4/HpXwr4qVkI0OVVnBeCTTBSypHlitC93aj7RK5iKxQxyZIY5f", + "jD5u+ECzrAQpu1D+xPM1YTzNqwyIKimXNNWfJLlgakHUgkliOxPGieBAxIyoRaMxmTHIMzlxi/xXBeU6", + "WKWdvH9JH2sQk1Lk0IXzuVhOGQcHFXig/IYQJUgGM2y0oIroGTSsrqESRAIt0wWZiXILqAaIEF7g1XJ0", + "+OtIAs+gxN1KgZ3jf2clwB+QKFrOQY3ej2OLmykoE8WWkaUdW+yXIKtcSYJtcY1zdg6c6F4T8qqSikyB", + "UE7efvecPH78+Gu9kCVVCjJLZL2rqmcP12S6jw5HGVXgPndpjeZzUVKeJb792++e4/wndoFDW1EpIX5Y", + "jvQXcvyibwGuY4SEGFcwx31oUL/uETkU9c9TmIkSBu6JabzXTQnnv9FdSalKF4VgXEX2heBXYj5HeVjQ", + "fRMP8wA02hcaU6Ue9NcHydfvPzwcP3zw8d9+PUr+Yf98+vjjwOU/9+NuwUC0YVqVJfB0ncxLoHhaFpR3", + "8fHW0oNciCrPyIKe4+bTJbJ625fovoZ1ntO80nTC0lIc5XMhCbVklMGMVrkibmJS8VyzKT2apXbCJClK", + "cc4yyMaa+14sWLogKZVmCGxHLlieaxqsJGR9tBZf3YbD9DFEiYbrUvjABf15kVGvawsmYIXcIElzISFR", + "Ysv15G4cyjMSXij1XSV3u6zI6QIITq4/mMsWccc1Tef5mijc14xQSShxV9OYsBlZi4pc4Obk7Az729Vo", + "rC2JRhpuTuMe1Ye3D30dZESQNxUiB8oRee7cdVHGZ2xelSDJxQLUwt55JchCcAlETP8JqdLb/t8nP70m", + "oiSvQEo6hzc0PSPAU5FBNiHHM8KFCkjD0hLiUPfsW4eFK3bJ/1MKTRNLOS9oeha/0XO2ZJFVvaIrtqyW", + "hFfLKZR6S90VogQpQVUl7wPIjLiFFJd01Z30tKx4ivtfT9uQ5TS1MVnkdI0IW9LVNw/GFhxJaJ6TAnjG", + "+JyoFe+V4/Tc28FLSlHxbICYo/SeBherLCBlMwYZ8aNsgMROsw0exneDpxa+AnDcIL3g+Fm2gMNhFaEZ", + "fbr1F1LQOQQkMyE/W+aGX5U4A+4JnUzX+Kko4ZyJSvpOPTDi1JslcC4UJEUJMxahsROLDs1gTBvLgZdW", + "BkoFV5RxyDRzRqCFAsOsemEKJtz83une4lMq4asnfXd8/XXg7s9Ee9c37vig3cZGiTmSkatTf7UHNi5Z", + "NfoPeB+Gc0s2T8zPnY1k81N928xYjjfRP/X+OTRUEplAAxHubpJszqmqSjh8x+/rv0hCThTlGS0z/cvS", + "/PSqyhU7YXP9U25+einmLD1h8x5kelijDy7stjT/6PHi7Fitou+Kl0KcVUW4oLTxcJ2uyfGLvk02Y+5K", + "mEf+tRs+PE5X7jGyaw+18hvZA2Qv7gqqG57BugQNLU1n+M9qhvREZ+Uf+p+iyHVvVcxiqNV0bK9kVB9Y", + "tcJRUeQspRqJb+1n/VUzATAPCVq3OMAL9fBDAGJRigJKxcygtCiSXKQ0T6SiCkf69xJmo8PRvx3U+pcD", + "010eBJO/1L1OsJMWWY0YlNCi2GGMN1r0kRuYhWbQ+AnZhGF7KDQxbjZRkxLTLDiHc8rVpH6yNPiBP8C/", + "2plqfBtpx+C79QTrRTgxDacgjQRsGt6RJEA9QbQSRCsKpPNcTP0Pd4+KosYgfj8qCoMPlB6BoWAGKyaV", + "vIfLp/VJCuc5fjEh34djoygueL7Wl4MRNfTdMLO3lr3FvG7JrqEe8Y4kuJ2inOitcWjQYv4+KA6fFQuR", + "a6lnK63oxj/YtiGZ6d8Hdf48SCzEbT9x4UPLYs68cfCX4HFzt0U5XcKx6p4JOWr3vRzZ6FHiBHMpWtm4", + "n2bcDXj0KLwoaWEAtF/MXco4PtJMIwPrFbnpQEYXhTk4wwGtIVSXPmtbz0MUEiSFFgzPcpGe/UDlYg9n", + "furG6h4/nIYsgGZQkgWVi8koJmWEx6sebcgR0w3xgU+mwVQTv8R9LW/L0jKqaLA0C29cLDGox37I9KCM", + "vF1+wv/QnOjP+mxr1m+GnZBTZGDSHGdrZMj0a988EMxMugFqIQRZmgc+0a/unaB8Xk8e36dBe/St0SnY", + "HbKLwB0Sq70fg2diFYPhmVh1joBYgdwHfehxUIxUsJQD4HthIRO4/xZ9tCzpuotkHHsIkvUCtegq8TTw", + "8MbXs9TK2aOpKC/HfVpshZNa5UyoHjVgvuMWkrBpVSSWFCNqK9OgNVBt5dvMNNrDxzDWwMKJop8AC1KP", + "ug8sNAfaNxbEsmA57IH0F1GmP6USHj8iJz8cPX346LdHT7/SJFmUYl7SJZmuFUhy177NiFTrHO51V4av", + "oypX8dG/euIUlc1xY+NIUZUpLGnRHcooQI0IZJoR3a6LtSaacdUewCGH8xQ0JzdoJ0a3r0F7waSWsJbT", + "vWxGH8KyepaMWEgy2EpMuy6vnmYdLrFcl9U+nrJQlqKM6NfwiCmRijw5h1IyEbGmvLEtiG3hxNui/buB", + "llxQSfTcqPqtOAoUEcpSKz6c75uhT1e8xs1Gzm/WG1mdnXfIvjSR7zSJkhRQJmrFSQbTat54Cc1KsSSU", + "ZNgR7+jvQaEocMqWcKLosvhpNtvPU1HgQJEnG1uC1DMR00LL9RJSwY0nxJbXmR11CHraiHEqOtUPgMXI", + "yZqnqGfcx7Htf7guGUejh1zzNHjFahhzyOYNsrz6a7UPHWaqOzICjkbHS/yMio4XkCu6d4muPUEM9ueO", + "tA2wJNMNcbdesvlCBSL3m1KI2f5hjM0SAxQ/mAdLrvt0ny2vRaYPmqrkHsSTerD69Os9Dc88nYpKEUq4", + "yAB1TJWMCy49vgxoREXbrwplIbUwb5ApaEJKaaVXWxUELZsdXlp3TGhqqDdB1Mgeu443yJlWZjpjJ89L", + "oNmaTAE4EVNrPLFmHVwkRbOscle/FZsiZ6kBV1GKFKSELLFKm62guXaGraoNeELAEWA/C5GCzGh5ZWDP", + "zrfCeQbrBJ0IJLn74y/y3g3Aq4Si+RbEYpsYev0T2FrIulAPm34TwbUnD8mOlkAcz9Xvbc0gclDQh8Kd", + "cNK7f22IOrt4dbScQ4m2qk9K8W6SqxGQB/UT0/tVoa2KHtc4+/TT0o/eME65cEJHbLCcSpVsY8u6UeN9", + "qlcQcMIYJ8aBe4SSl1QqY19lPEO1kLlOcB4joOgp+gHuFdH1yL846bw7dqrvQS4r6UV1WRWFKBVksTVw", + "WG2Y6zWs/FxiFozt3wNKkErCtpH7sBSMb5FlVmIQRJU3Q1gHhO7iUFmv7/l1FJUNIGpEbALkxLUKsBu6", + "B/UAwmSNaEM4TLYox/skjUdSiaLQ3EIlFff9+tB0YlofqZ/rtl3ioqq+tzMBEr2SbHsL+YXBrHEMW1BJ", + "LBxkSc+07IEqAmMI7sKsD2MiGU8h2UT5+PzRrcIjsPWQVsW8pBkkGeR03R30Z/OZmM+bBsAdr5+CQkFi", + "PHzim15TsnOo2DC0wPFkTHgk+IWk+gjql0dNILb3lpEzwLFjzMnS0R0/FM4V3SI3Hi7bbHVkRLwNz4XS", + "O27pAUG2HH0IwD148ENfHhXYOanfZe0p/g7STuDliN0nWYPsW0I9/k4L6NEvWufp4Ly02HuLA0fZZi8b", + "28JH+o5sj7LzDS0VS1mBb50fYb33p197gqgJjmSgKMshI8EH8wwswv7E+Ka0x7zcU3CQXqoLfkcxFVlO", + "ziSKPE3gz2CNb+43xunxNHCV3MNbNjKqvp8oJwioc6XSInjYBFY0VflaC2pqAWtyASUQWU2XTCnjzNx8", + "6ipRJOEAUZ3/hhmtgcs4DLodGGJxO8GhguV1t2I8Mm+CzfCdth4GDXTYt0AhRD5Ae9RBRhSCQb4QpBB6", + "15n1q3aetY6SGkBapo3WTX/935ENNOMKyN9FRVLK8clVKfAyjShRUEABUs+gRTA/p/V6qDEEOSzBvCTx", + "y/377YXfv2/3nEkygwsXjKAbttFx/z7qcd4IqRqHaw+6Qn3cjiPXBxpD9MVnXyFtnrLd6m5HHrKTb1qD", + "ewuKPlNSWsLVy78yA2idzNWQtYc0MszjAMcdZOcIho6tG/f9hC2rnKp9WHQ2CqT+QcGWS8gYVZCvSVFC", + "CsbhXEtY0sCiQSPGFS1dUD5HwboU1dz6QplxkDFW0qgwyop3hogKH2rFk3kpqiLGKK3/q4s50GIHUP30", + "CRCJnY2gf0H9fDbMZMgN5hAe7M73esw+Q8t41Psy1Eg9r1+GBjnNwIk4FjASJJFVmgJEvaJjby6/1FaA", + "aB3yYwfUYkNVGrcwQlNV0TykOnI8I5Svm5GjlOVSc0EmCbbTnWtX47FZmwvrmdHcmKsjcSbhSWlIfMHO", + "1yhto2Kg4QGJREtDXcoICVAfL03Gn0aJXw8dg7I7ceCHVn/sc0XTD/B8vQcxyAxESihKkHhphYorab6K", + "WRgOZm81uZYKll3dvun6Ww+jedv7ghQ8ZxySpeCwjkZAMw6v8GOUceDF2dMZRZi+vu1XSQP+FljNeYZQ", + "41Xxi7sd8KI33gdzD5vfHrdl1gkD4VBtCXlBKElzhkpNwaUqq1S94xTVJsFhi/iquPdhvyLtuWsS19xF", + "FGt2qHecop+SV6ZE7esziGgOvgNw+jRZzecgW/yTzADecduKcVJxpnCupd6vxGxYASU6jExMyyVdaxaI", + "er8/oBRkWqkmT8ZgHKk0uzQ2Jj0NEbN3nCqSg35Tv2L8dIXDORutoxkO6kKUZx4L8StkDhwkk0ncp+Z7", + "8xXdHe3yF9b1EYOnzWdjldDj1xE7a9Sq1AHB//fufx3+epT8gyZ/PEi+/o+D9x+efLx3v/Pjo4/ffPP/", + "mj89/vjNvf/699hOOdhjoSIW8uMX9rF2/AIl8tos0YH92lTSS8aTKJGFxvcWbZG7GBZpCeheU1+jFvCO", + "qxXXhHROc5Zpkesy5NBmcZ2zaE5Hi2oaG9HSz7i17ijnXoHLkAiTabHGS1/jXTe0eFAW2slsnBWel1nF", + "zVY6QdfEHDh3IDEb+8A7k5PjkGBU1oI6Xzb756OnX43GdTSV/z4aj+zX9xFKZtkqKh3CKvZ8sQcED8Yd", + "SQq6ltAjgCLsUc8n424QDrsE/e6VC1ZcP6eQik3jHM55cls1yIofc+Nirc8PWt3WVpkvZtcPtyq1HF6o", + "RSxWvyEpYKt6NwFanhBFKc6BjwmbwKSthsj008z6YOVAZxgzjg89MSQyxZ8DQ2iOKgKshwsZ9NaP0Q8K", + "t5ZbfxyP7OUv9y6P24FjcLXn9CY297cS5M73356SA8sw5R0TvmmGDgLuIq9WG1PS8JHR3MxkKDHxq+/4", + "O/4CZowz/f3wHc+oogdTKlkqDyoJ5TOaU57CZC7IoQtTeUEVfcc7klZvEqEgQIgU1TRnKTkLJeKaPE1i", + "iO4I7979SvO5ePfufcddoCu/2qmi/MVMkFwwtRCVSmxYe1LCBS1j5hjpw5pxZJO3YtOsY2LHNqzYhs3b", + "8eM8jxaFbIc3dpdfFLlefkCG0gbv6S0jUonSySJaQDHQ4P6+FvZiKOmFU2FUEiT5fUmLXxlX70nyrnrw", + "4DGQRrzf7/bK1zS5LmCwIqM3/LKtv8CFm3cNrFRJk4LOY1afd+9+VUAL3H2Ul5f4yM5zgt0acYbOjxqH", + "qhfg8NG/AQaOnWOmcHEnppdLYRRfAn7CLcQ2WtyobdGX3a8g8vDS29WKXuzsUqUWiT7b0VVJTeJuZ3xm", + "k7kWspyDgGRzdMK0SWCmQNIFpGc2OwcsC7UeN7o7HxQraDrWwaTJ22LihjBzAOrMp0CqIqNWFG9rkKZr", + "IkEp5wX6Fs5gfSrqxAO7xGw3Q4hl30FFSg2kS02s4bG1Y7Q33zo6oYqrKFwkLoZkObI49HTh+vQfZCPy", + "7uEQx4iiEeLahwhaRhBhiL8HBZdYqB7vSqQfW55+ZUzNzRfJ4eJ4P7FN6seT9UkKV4MKbvN9CZgESlxI", + "MqVabhc2f5EJkw24WCXpHHok5NBsMTAYtWHqwEG23XvRm07M2hda576JgmwaJ3rNUUoB/UWTCj5mWp5o", + "biZjGbNGAExLaBE2zVFM8i57hunQsmE+MnnW+kCLEzCUvBY4HBhNjISSzYJKl1oJM1C5szxIBviEYd+b", + "kn2ECv0gzZTXrzue2z6nndelTfnh8ny45B7h03JAog4t4aPfdmw7BEcBKIMc5mbhprEjlDoEvd4gDcdP", + "s1nOOJAk5o9FpRQpM7mx6mvGzgFaPr5PiFEBk8EjxMg4ABstvjgweS3Cs8nnuwDJbQg9dWOjrTj4G+LR", + "PsZDWYs8otAsnPUYkFLHAah14vP3V8uVFIchjI+JZnPnNNdszr746kE6OSdQbG1lmLA+B/f6xNkNGnhz", + "sey0JnMVXWY1oczkgI4LdBsgnopVYsL9ohLvdDXV9B512sbgw9jBNNk97kgyFSv0Y8GrxTgJb4GlHw4H", + "RvDCXzGJ9Ir9+m5zA8ymaTdLUzEqlEgyVp3nyaVPnBgydY8E00cud4OEHZcCoKXsqLPf2sfv1kdqUzzp", + "Xub1rTauE1G5eJjY8e87QtFd6sFfVwvjU2y8aUssUT1F0x2jmV0kECFjRK/ZRNdI0zUFScgBHwVJQ4hK", + "zmKmO/22AbxxTly3QHmBOUwoX98LfHxKmDOpoFaiO5eEm1BPUkydJsSsf3WqKGd6fW+F8NeUyc2DHRvL", + "vPYVoJPsjJVSJWiBiC5BN/pO4qP6O900Lis1vYhMolGWxXkDTnsG6yRjeRWnVzvvjy/0tK89S5TVFPkt", + "48Y3ZIqJcaO+hRumNu6nGxf80iz4Jd3beoedBt1UT1xqcmnO8Zmcixbn3cQOIgQYI47urvWidAODDGJC", + "u9wxkJvM4cSY0Mkm7WvnMGVu7K1uIy4yte+OMiNF1xIoDDaugqGZSIslTAV5ZbvBmj1ngBYFy1YtXagZ", + "tffFTHdSeLhsXC0s4O7awbZgINB7xuJFSpDNxGu1gG8yBDfynkwGYea0mR4tZAjhVEy6/PZdRPl4sm24", + "OgWa/wjrX3RbXM7o43h0NdVpDNd2xC24fuO3N4pnNM0bVVrDErIjymlRlOKc5olVMPeRZinOLWlic6eP", + "vmZWF1djnn579PKNBf/jeJTmQMvEiwq9q8J2xWezKpPjreeAuPzZ+s3nZHYjSgab7xNThUrpiwXYRMSB", + "NNrJmFgbHIKjaJXUs7iH0FaVs7WNmCVusJFA4U0ktfrOWEiaVhF6Tlnu9GYO2h5vHlzcsLSbUa4QDnBl", + "60pgJEv2ym46pzt+Omrq2sKTwrk2pEpemmzgkgjeNqGje/G6sFb3JcV8h0Yr0mVOvFqiJiGROUvjOlY+", + "lZo4uLGd6cYEG/cIo3rEivWYYnnFgrF0syEZTVpABnNEkSmjSVVq3E2FrfRScfavCgjLgCv9qcRT2Tqo", + "mGDSatu716mWHbpz2YGNhr4e/ioyRpjrs33jIRCbBYzQUtcB94V/MruFeo0UulvXJokdDP7hjJ0rcYOx", + "3tKHpWbjvLhoWtzCwixd/qcJw2To3l4Vxj1ebdLRnjmiVV6YTGal+APi7zx8HkdCcVx2U4ZeLn8AH+Bz", + "Xmt36mI19ey9290n3YRaqKaTQg/V484HZjlMs+g01JSbrTZFFxq+bnGCCb1KD8z4NcFYmDueuDm9mNJY", + "DkotZGiYjmoDcEOXrgRxnR3upQ9sMLOTwJbs2zITZl1AWUfJdVO2XFJgMNMOFhVqyQCpNpQJxsb+l0sR", + "GabiF5Sb2h26nzlKtrcEo/zSvS5EiUkSZFztn0HKljSPSw5Z2lXxZmzOTFmKSkJQ98AOZEr+GCqytSN8", + "uI5FzfGMPBgHxVfsbmTsnEk2zQFbPDQtplQiJ/eKKN9FLw+4Wkhs/mhA80XFsxIytZAGsVIQL9Th88Yb", + "r6agLgA4eYDtHn5N7qLZTrJzuKexaO/n0eHDr1Hpav54ELsAbFmRTdwkQ3byP5adxOkY7ZZmDM247aiT", + "aDy5qSvWz7g2nCbTdchZwpaW120/S0vK6RziniLLLTCZvribqEhr4YVnpiiOVKVYE6bi84Oimj/1eJ9r", + "9mfAIKlYLplaWuOOFEtNT3VRAzOpG85U2LH5aB1c7iPaSAtnImo9Iq9XaWrut9iq0ZL9mi6hidYxoSYz", + "Rs5q7wWXJZscu8Q7mKDX5+U1uNFz6aWjmIPODDNSlIwrfFhUapb8jaQLWtJUs79JH7jJ9KsnkaTEzeSY", + "fDfArx3vJUgoz+OoL3vI3skQti+5ywVPlpqjZPfqaI/gVPYac+Nmuz7b4eahhwplepSkl9yqBrnRgFNf", + "ifD4hgGvSIp+PTvR484ru3bKrMo4edBK79DPb19aKWMpylg2vfq4W4mjBFUyOEffvfgm6TGvuBdlPmgX", + "rgL9zVoenMgZiGXuLMceAs9E5HXqEmV7Tbr1VY9oB/qOqf6gyWBqhxqTZlLi6zf6OeVz1/ikvzhY8Y82", + "sDe8pYhkt4KeTQwSpke3M/PfA/s3Jc/Eauimtk6I29g/AWqiKKlYnv1SR2W28tGXlKeLqD1rqjv+VlfO", + "8osz91M0ad2Ccg55dDgjC/7mZMaIVPtPMXSeJeMD27ZT5JvlthZXA94E0wHlJtToZSrXE4RYbQa8eYfq", + "fC4ygvPUGdJq7tktrRAkwP5XBVLFgofwg3HqQr2lfu+a/MsEeIavxQn53hTHXQBppL/BV5rPImBz3xqF", + "elXkgmZjTORw+u3RS2JmNX1M/ReT/3mOj5TmKlr6qiD54zD3YFfKJR66MHyczb7UetVSJT5dcyw4VLeo", + "E0qzlg4fny8hdibkRVDm0sSR6iE0PcxYudQvLj+akV2QJvR/lKLpAp9kDZbaT/LDE5c7qpRBsUBf9Mdn", + "RMRzp+G2uctN6vIxEfrdfMGkqYkK59CMR/XB2VYl4OJTm8srK84NpURlj03JAy6DdgeccdRwav4oZC3E", + "7yiQm7z/u+ZxP8Fe0QRN7aTwnSqBJrrRF3Nxta5TygVnKaZHil3NtnjqEBvYgExSbSWrO+L2hEYOVzQV", + "vXeTs1jsTU7vGKFFXFcJH3zVm2qow/ypsErngioyByUtZ4Ns7CoqWD0g4xJshksstRvwSVE27IrIIaOm", + "6sSbNHYkIwyL6XnYfae/vbbPfvQXP2McBXyLNuuabjR1WNtR6VcBU2QuQNr1NGOD5a+6zwTDZDNYvZ+4", + "WpAmGwya5fSyjQ26O9SRs0hbC7Bu+1y3tXmC/M8ND2Qz6VFR2En7621E5QG14r0IjlgWE2faCZDrxw9H", + "20BuG11J8D7VhAbnaIiGAu/hDmH42hOtukZaaDUUhS2IceGKZjBgPALGS8ahrlQauSDS6JWAG4Pntaef", + "TEuqjAg4iKedAs3R+hxjaFJZ08NVh2rnEtIowTW6Ofq3sS6b0cM4fINacKN87QukauoOhInnWJnZIrJb", + "BAOlKitEZRhR0CqLEWMcmnG7wjvNC6B7DLoykemuSmpOzi43UV+Q6LTK5qASmmWxjFTP8CvBry65FKwg", + "rXxiyqIgKeZEaSaJ6VKbnSgVXFbLDXO5BlecLqgzE6GGsNaN22EMQpmu8d9YVsb+nbFOGDu7ATqPC1uG", + "Yke5uTlSR+rVNJ1INk+GYwLvlKujo576coRe998rpedi3gTkmlNDbOJy4R7F+Nu3+uIIMyd0Uo2aq8Un", + "NkCnO+GqA+Kz0YfkNrkSXmWd3KNo7PHVxzYrIPrriI3x8utxvQ0SYlBzvxrrYZ8DbtrrL06VjVxTlGxk", + "Qb3RQMZ7x8T9IBRxzWmfx45x2NGfO72HSYYdORvH3ohQ5wrWBehH52dKCsqsabxmFl3MWo/0fnXhpkNX", + "b3B7EdbPu1dj9+N5n082kYzPcyD4vV1n6AxsOLsvvW/W6ryS3JPQ/Gor35rxvFd8dP1d7wSc6mbVoL1K", + "21Ob094s077Jf/zF+LAR4Kpc/wlUuJ1N71Rp6kq7Rj1VNyE+HfKg9MiNWzFecKk//1Gd8wjpqRCS1Sm4", + "Y5WYBvq6nWIxpSB/U3cs52hyDqnCvOu1Ab0E2CWbk54sqHt4mwep5+3oXQJt+qNNOY+6yda3XGidsKQg", + "tM4kqp4Mz/Bz5N2kkClhBtw5cFt6sBlwMNjteTaDVLHzLWFg/7MAHoQYjZ0SwpQQDqLCmHejxSwiu6vY", + "aoA2RWlthCfI5ndlcPqCQM5gfUeSBjVEM2eP3b1ymQQSiAHkDokmESFjbghGa2otw0x6ykAsOLcf0x3q", + "VFy9RXeCoMZLzuVIUt+4daDjhinjVT8GzaW77hT+ix6hfZFi3aIB/cL2C6zRIH1BPJeAInySkuNumr4L", + "m8ACg/a8ocClsgDpfnMRumaWnJ1BWBYIzTIXtMxci6iewakwkg33USe8yyW8bwM98zOz2kmzG9ATSfyE", + "rrhpLrT8lfT5Mzf9Ir1TwR1pvD9Mym/0+NRwzaC05dNQ2MuFhEQJ59S5CY5NqLC17y+DBNmbbNEA15sC", + "5W2d4wWTzlJMeUKtZ0u4QFLCkmroyiATS/+cm5D93Hx3ESwu6ehWdYqn1+2J5p17LpMdJIZUPyP2ttwe", + "GXMZzQrj3JSvlbG0LFyjMlT9F6XIqtRc0OHB8NqnwUmPNrCSqFIi7a6y877MMQXYyyDO8AzWB0b0d6n6", + "3VaG0BsRyqwhiOtv7fZelU7x93U+NwuY7wXOm1TcjEeFEHnSo+s/7maXaZ+BM5aeQUb03eEc23rKlpC7", + "qGL2xtyLxdplUykK4JDdmxByxI0rsbPrNtMbtybnd9Sm+Vc4a1aZhE9WpzR5x+M+mZiKqbwif3PDbOZq", + "EjTzu+JUZpAtuUtWPZltSnoRKeIzGfoo7Vpa24VVaqIyUMSklC0lLCJWZFcTwVXYcBErSixZ2q2iEDVZ", + "bLYQmCpC06F2Ap/PszN3b+7IZKvloAHDIPvBrmDMsCpXQiNIPvYX2bhRNJG1Cpi4XEumXEVKjSCrH1GU", + "5VUJNoLClA9qlRUoqFo4MtbNu+KmFl1AYniDSU1PpXkcuUearV3U5g+iSHI4h4ZBxYZ1VGkKUrJzCOse", + "mc4kAyhQZdG+SGOWgvB8tXipXXsS6JqHYDfKXA1izU6RLZyzp05/Yo6JHHqUNETnLKtoA3/yCiVpBpb9", + "D2EdyCl2ZhLxxW1iEVtte0jz0XPJ46a9MKrIv5NwtszrUwwR1idbFvSC90sRkaeotzddfR0EByOyFeXX", + "48uIBXcSnw4wpgq3AUmO+PWMdXGglogdFPHxY/aUM/X0cxVxtpco4zR5uTQsg05S1yoSYTZB4Z7Nursw", + "S1Pt/l0a4xq+9R2/ah+GVzUfG1ZCyHXYAl6o0g2KCDlZ2oJzwz7arzxSgqX0UkJj+du0xHaBNeMPtsjc", + "enqZJmee8e9r7ktgApDPvWa9r7JXWwGPKZkExzR1XcW9RGMrZrsPCUcf9PKc5tevfMdcXUeID1sqOb7Q", + "UHsbItmgUl7OUfIlHTR3oKnd39T8DRoL/gf0HkWt5HYoe6N4KcvZFpFl0lwzcV8jEYckFzimMas//IpM", + "bZBXUULKZPumunCJuL2yEutS1BW0N2tHt63zF6GuQMYzJ/iR13VSXyXwxqghrI/oDTOVnpMbpfIY9XXI", + "IoK/GI8Ks61suS7OGvZ2kyS95UgqStiz3T3woNvR7t7NIzN0eca2rC+dSkJ3nYNv6wZuIxd1vbahTiNd", + "5G7K/DrE1yOe0Fl3R2cTgxDMhk4QVPL7w99JCTMsdyTI/fs4wf37Y9v090fNz/o4378fL9R9XW4mBkd2", + "DDtvjGJ+6Qs8MM71PTEurf2oWJ5tI4xGxFJdMAxjcn6zMYs3UrLsN2MN7B5VWzZmFwe39iYgYiJrbUwe", + "TBXEIg0IQ7LdIkFHqFdLq5KpNaZScs859lvUIeZ7b2+2/go++Ya9+5Q4A5+Mq7ZOV9Ldrt8LmuN9pGVq", + "dC9UWJz52xVdFjnYg/LNnel/wuO/PckePH74n9O/PXj6IIUnT79+8IB+/YQ+/PrxQ3j0t6dPHsDD2Vdf", + "Tx9lj548mj559OSrp1+nj588nD756uv/vKP5kAbZADpygfuj/8W6fsnRm+PkVANb44QWzNdk12TsihPR", + "FE8iLCnLR4fup//jTtgkFct6ePfryMYFjxZKFfLw4ODi4mISdjmYozkqUaJKFwdunm4t7DfHPrbLPMpx", + "R03YjlO2OFI4wm9vvz05JUdvjidBrdXD0YPJg8lDLMVZAKcFGx2OHuNPeHoWuO8HlthGhx8+jkcHC6A5", + "em/oP5agSpa6TyXQbG3/Ly/ofA7lxFZs0j+dPzpwYsXBB2uW+6hnmMcSTpmItSBMqVvIyJr4UTdgItIa", + "hQGkzVM/9uUirO6HZxhIZCxdms15xB1ndV7k45ppuexQJl3m4a+ROpYzNtdv6kZ93lblX/0K/++Tn14T", + "URL7vHlD0zPvhEWOZybTRynOGcanZEFQk+45cfT7rwrKdU1flvOFqSBd9n8b9bOU86LpIl9LVbHy9LGi", + "UTizJouAsL0RvWZcqqwghKRmw5q1Pki+fv/h6d8+jgYAgh4dEjBRyO80z3839YZhheoel2rLplIZRzLd", + "ozQ9ro2y2KHeyTH6+PuvYTEj36YZWfY7Fxx+79sGC1h0H2ie64aCQ2wP3mMqCyQWPHOPHjzYWxU0H0xp", + "lOZ+FEcSlxioy5DMp0hhY1cMraeq8ZM9LrTpCn3l5baH6yz6Gc2wwAxIZZby8LNdyjFHpyp9QRBzAX4c", + "j55+xntzzDXPoTnBlkGeqO5F8zM/4+KCu5Za+KmWS1quUbQJqmC1ArXpXKJ9DlmkOduNujej9x97b72D", + "sKzHwYeGX052pTuxU9Ho+MWWa/KO7OOc3Syrraoh+rsvCoGeG7Y0CpapkPcm5PuwN3JvTFpiUoJUJYfM", + "udW4W89nYXO53WrY7sgwn0v00g7Uxbf3903f30dNZUcjk2cMmMYp2AhTx7fvqhdo13LVqgt5qbqLQf2O", + "S2RB/6TFqVpvTTPT+9hTcCujvsVdD+76xKQAXi8xNeuufHrW7OJf/E3SuDI+IeP+zIW+VzTXdBIst5Ub", + "wKS3vRUG/zLCoHf3NuWdXUb3q4mHWNvp4INLWbwHkdCmbB4gDIbP6qBvkFL3boud3JuY/MNhm8vxDOvf", + "vVXMw0TStwLen0DA6yZpj4FRp96+OaEOYVjUWdx3qc3cKLq2U7b5z1SK+wsjq1ds05BuF9guwT47wphl", + "1p+MrX6RQphF2q349ZcWv3zU1ZUEsEaZBRvHF5ixrqS9a2vnmPKSWDPyLuBsvqi1PcLjuiSUZjGYpcsl", + "aJFj9zJEc6p5NJrNGnfejV0R63sIH6jP1scvtklXn5GeZ3C2yMgtEN+bT81Lo2aHt9djdhjGm548eHJ9", + "EIS78Foo8h3e4p+YQ35SlhYnq11Z2CaOdDA1eaw3cSXeYkvIKOr81AGPwjIgYQ5s451x1xZfDfOK3JsQ", + "ly1b+tofNr5mLmheu/bTcm46aR6nkUDuuD8Pcfw7E/IdxlUoOUYnM2ULQ5A7jKvDh48eP7FNSnphfLja", + "7aZfPTk8+uYb26zOjW7eN53mUpWHC8hzYTvYu6E7rv5w+L9//8dkMrmzlZ2K1bP1a5OI8M/CU8ex2AK/", + "8X279ZlvUuyVbhNEbkXdtZjtn4lVlPuL1e3tc2O3j8b+F3HrTJtkZB+gXoPZyN6wx1vIHJNd7qGxyzWu", + "+Y6/TCbktbCJdKqclkSUGZS2WNK8oiXlCiCbOErF2D9pEoekOQOu9IMRy7+UiWQZmPwD86qEjORsifWR", + "SzhH33icHt/yDQi2M3r0oP3TMvlXdBUk15j6a1oJu2RUdy7pyhWgwhIrosSfvvmGPBjXr5Y81wMkHjEx", + "5rqkq9E1avs8sQ3yO2/WiNjqmItjD9Ec1dKPD2UME9L/tTn3ZyuxG3K3G7snzrmzwac26IT6A5uuZqPm", + "wAh2pjwV1kta10HRWspzIlScxekZhioF/sS2ga0q6ejjs43e20N8+/i/EitpE9SObAOjTeXBB7RlhDyj", + "c24xWu6vZSYNbEalWDqjkSAzUOnCBuq2UB9hT65CRT9v2lSfdN9SDe5iN/lAmC0U62YOTD8TxFCi4Q7K", + "CBH/5JJF689sZvJ8uOojrgwvmqSYq0zni9LZ0p1MOj9+F8+rd3EnKJ/Xk3cFMkTLPuyetwjeDcEd5vit", + "q4CGGLOL+BI8/d1TMiGvRR0ubotvfIkmx095s3/qBb0WHIxtXUu+hhZvzahe7EAVPiLF5Qkx7xefBv3S", + "IsiBq+W3UQ75wVTS2yiLDLm99WSf5RX+Q7RKduOW0WubbE2CUI82hDnrhiYZUTNX+Q2+Ym6En/4JnzY3", + "wbGuh8XgIXV8xooFfL9MB1PvGGI+8Gmq+zhQPPP/YG6khHc/iybrn0Iu+Fz+OVnRJuqI4yVCJb4mQrzw", + "wV/v7D7HrD76yWs8H22eJ8l4CqZWJZbZqZOwGQj/dn0QKrZ0mV15GLN6w9zl6YPH1zf9CZTnLAVyCstC", + "lLRk+Zr8zH1d0atwOyzr4POuOW1wtJIHWpua+cDSMHnR5Zlgw2Xtg1qx7ON2Zhhk79uRDzIe8MEw1yAt", + "CqDl5RngdtPVaWvG4xehV3Cj2oDPpBUBRaNoR8f4/xgN1DthuLuY2cuv4gZQl/XLsgnrsitmY+8co6UA", + "MTsk7/h9Ihf06cNHvz16+pX789HTr3o0Z3oem6ynqzurB9KfzTBDFGiftTpwv1K7x+/hde/2bps4HrFs", + "Fc0+XlcY6uQetmLZHUkKuu4tWlBsqZAUDltXS7r+JIdSseki+r5yzx9fQ/mYP/OvYJOJzxYWuq2M1BM0", + "EfAZTWh1iSSP9c3VkjZIky2y9GVprvtxWgcXmIvOIa9s3Tk3Kuiqm3qkJvhGBe4EmyZabk6mxAz548Dc", + "7avSo+9KVRSiVP50y8kgcQ/6zHYNaa+PcHcS5lKq0kVVHHzA/2Bmr491wIGpAxvY+fzv50uRgRMFxWxm", + "I642qt9O2RJOFF0WP5n2e70paxha96QrBE9MC40qCangmRzAd+yoQxiKj9BqlYdU/QBcO4/xO+BgsQ5W", + "k+BIt2tL4U7j4deNgetHS3bpV8vbwJu7i5kZyYL5mHTT7UjUUfI8+GD+RXN1IWQs8zyoHsju2h0zIXNm", + "XL2Rdqauy8pJL81vfed0Ju+dMvK4EPXR2qOm57rp9DnlljK72FCCUMJhThU7B6fAndy6ln0xeg3raLaB", + "b44JzTJzUmuigHMo1w21xx1ZD7IjB4FVASVbAldY59D+mmMl2APjvLbpujsxLa54wbXwbVzmWoVYXG5V", + "61AnZuQVS0txhPWG7CtLrqWCZScBru36W0/os8tW3X2RCZ4zDslS8Fha1p/w6yv8GK1oJBTN+zpj4Zy+", + "vq27uQl/C6zmPEPu76vi90/Cgq5kOWmttgQtvdZFYg3973iU3KFZ87R7ktY87UqXjUq1PT8ffGj8aV1X", + "bUu5qFQmLoK+qPc0IvgQr7WgXMRwc7FXBbbKLkiSgdRE+/nZZgI8xE6M/xpJwBkUBenNwfkXtdbMGM9a", + "RIKKlFScQym9Hr90Xqa3Jpsvx2QzeN934rEm4fQ2jlbJ/Uokr0UGZtxmvvdYlgSuH3XSAdESRLzqIa7m", + "drdS3a6leExpNV8oUhVEiZiKs+6Y0NQwWVPLWm4r/mufXbZU2zkQmmO2cTIF4ERM9aKbRdQJlRgh5vSk", + "VsESr2Fbw1WUIgUpIUtcVohtoPls46hVVRvwhIAjwH4WIgWZ0fLKwJ6db4XTV+uQ5O6Pv+gX9LXDa0TB", + "zYg1cSkR9HrfVyvtdaEeNv0mgmtPHpIdLYE40QDNOmJZ5GANOxEU7oST3v1rQ9TZxaujBS0f7BNTvJvk", + "agTkQf3E9H5VaKsi0fd3pMq2+XrKliiJccqF00H21sLfxpaxYlawFqlXEHDCGCfGgXsenC+pVG+tjT8s", + "CRpU5tJTbCje31cVRo/8i68J0xk71fchl5X0hWOs3j5elpPDasNcr2Hl50InCze2NwwoQSoJ20buw1Iw", + "vkWWDKvxq8A7AutmdReHqbyoVVB0UdkAokbEJkBOXKtGvdnact8DCJM1on1xzCblBBUipRJFgSVvk4r7", + "fn1oOjGtj9TPddsucdnafXhvZwJkaLSxkF8YzEqMVVxQSSwcZEnPrF1nblMdRqpasiUk6I+VbKJ8VBLr", + "VuER2HpIq2Je0gyrtNOIKuVn85mYz5sGwB135JmcCwXJFGbROlx602tKLntVRH5ogePJmPBI8AtJ9RGc", + "YWE4RyC295aRM8CxY8ypLiFum+Nc0S1y4+GyzVb31XM+F2jJs/SAIFuOPgTgHjz4oS+PCuyc1OqD9hR/", + "B2kn8HLE7pOsQfYtoR5/pwW01XnhBda4KVrsvcWBo2yzl41t4SN9RzamQPwsLQ5td6VP6IvdVKAGD8DJ", + "ZR63BxeUqWQmSiNIJ3SmoIzo8lqlfChTLlbemAaUsJ6CBEew96YdB5l8mHDKchEDAnE1vtkyYvHTU30n", + "ykEBr023bsoUqbhieZD0wz+V/3wKw1slwK0S4FYJcKsEuFUC3CoBbpUAt0qAWyXArRLgVglwqwT46yoB", + "biqEPXEShwvs4YInbddIcusa+UWFfPq7yiklUI1xQZmyOawJdXIAfrlaxLsCmiMOWA79jtPGZ/P026OX", + "RIqqTIGkGkLGSZFT/TaAlfIZVZu5ul31AJOW2aT/phIePyInPxy5yLSFjaBqtr17ZKtwSLXO4Z7NWeQL", + "lLvkRdaH3OQuou5OcJlXbR5algORGr3fYusXcA65KKA0QS9ElVVE5XMKNH9ucbNF49OoKa1H+33cUDRZ", + "tC1p4eR8t1YqCTXhis2S0DOay/6a0Ga8JS1iyU/9zWd0QchNngmsoR6eEL1rB7iBzbNRx6cxTst1JDa1", + "G3jQJg0lNL+yhNVVZn3cexRll2i7ZLaNwmLiegkyeo43UXk0fNBvWGcoE+U6a9HJKJZ2rB0zN/IADnGB", + "1fTs9oS8Nf1uNkcLQmSPWM3M/zSeg51YGcM0YtEyn2NCFYf46OnFsz/WhJ1VKRCmJHGBmNuvl/FoleiR", + "5sATy4CSqcjWSYN9jRq3UMYklRKW0+03Ucg/bbp/e/noL5vvqZu5Rl4Ei9vEk0OiWSWWAfdw57WCwbzZ", + "YwtHtOw5wPinZtF9bDQEgVj+FNMqtYus7cj06mnWt4zvlvEFp7ElETBuA9fbTGTyCRlfuS4r3s/zvl1B", + "WmngwpN8F9XzaJODlWoYNjOYVvM5li3oGOn00gDHY4LfECs0yx3KBXejIDO4T2V91eyJ7eG63CUI0r4r", + "SjIvRVXcM/UZ+RqtGcuC8rWz+UIi2bLKDQ5Nxtf9MloTW971BEB7rFX+9am13zidX6C8tVdt83eDFnJB", + "JTH7CxmpeGZjhzoZKFZ8eMkEM/TpitdsemPRBLPeyOrsvEOuCLfLzQBvSQooE7Xi5kA165qYTBfm5E5u", + "07X/Na6NNybVUA+D7WZtqBnCnm6PMuBreH0EubnqYLhmkUlTArcvdCRM1GVa7tV7pDN804kkKEBrjKSQ", + "F4S6Wjqp4FKVVarecYpGmmBhk66DidNG9/O3565J3E4YMePZod5xiqVWvOkmyudmELFTfAfg2Kis5nOQ", + "mleGRDIDeMdtK8ZJxfVLS8zIkqWlSEwgqj5DWj6ZmJZLuiYzmqOV8Q8oBZnqmz3YdaMwlorlufVo0dMQ", + "MXvHqSI5UKnIK6a5rB7OJdH0rlygLkR55rEQz9s0Bw6SySSufPnefMXUSHb5TsmHCkvzuU5pcr05kRzs", + "LOuF/PiFhptiFricSVU7QXRgvzYD+JLxJEpkpwsg1iesTVvkLiZJswR0r2kdUgt4x/UNpwRBrk7V5cih", + "bebpnEVzOlpU09iIljXIrXXQE28vXIZEmMytaeULCs0M6MCZL3HjsQhbe+93NKNsrOsc+2pTafY0so+E", + "hiKslYDGtjhtgPzllmF5vy+t2XCbxgKQZ3odf8hZlSB+jz6t5myjT0mdNnW5hIxRBfmaFCWkkJn8VEyS", + "+sE5MVH7JF1QPsd7pxTVfGGamXEuoASfYVK/8dpDxHN+rHiCgm7EceCIGGWdIy999LCmb4hO7Gy4s35U", + "OtSalApDno2R4/C9HrPvFTke9UqJGqnntXOXQU7zjMSxcCGqPEtklaYQ89A4jrpN+aU2BTgcy8hudkDI", + "SFZhMUrKCU1VhWXWppj6WZiqipSvm9c/lqcUZZAimlAi2ZxTVZUwNmtDV7EpEDQ4TiL+M63LvXFNBztf", + "o7SNin1U0Lk9BrfH4Ms7BrEsg0gks5YqwVBGSIBfVO2jOjnqka0i1U7/+cXVQfqyagZ9ykfCp17Np3pz", + "OGYsCcXC9OF5bqX9NcebSsKU5XlTIHBO8wp5oi1sYl/iE3Jac0zv7F1Jm287XVDGbRYaH5aAcChbE0C5", + "JMT7UkvSC7XiVitpmB+qIzU2IK1Kptb4HKEF++0M9P/fa3neFMo2L5WqzEeHo4VSxeHBQS5Smi+EVAej", + "j+Pwm2x9fO/B/+AeGUXJzrHU3PuP/z8AAP//ckcKtMxTAQA=", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/private/routes.go b/daemon/algod/api/server/v2/generated/participating/private/routes.go index f1d21f1013..df3eb56f60 100644 --- a/daemon/algod/api/server/v2/generated/participating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/private/routes.go @@ -158,176 +158,176 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "rnCkcP3x+v8FAAD//z3oiHHSywAA", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/public/routes.go b/daemon/algod/api/server/v2/generated/participating/public/routes.go index ac4f032da9..8d731dc0df 100644 --- a/daemon/algod/api/server/v2/generated/participating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/public/routes.go @@ -343,18 +343,19 @@ var swaggerSpec = []string{ "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", + "9x//XwAAAP//DRKaUKjaAAA=", } // GetSwagger returns the content of the embedded swagger specification file From eaec94a0af1ba474d3e699494ebd07cead7567a9 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 5 Apr 2023 01:15:39 -0400 Subject: [PATCH 05/34] Dont try changing block header timestamp in pool --- data/pools/transactionPool.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index 74b0e46c10..ef9887bdaf 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -713,9 +713,9 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact // block timestamp. if pool.devMode { next.BlockHeader.Seed = committee.Seed(pool.PendingTxIDs()[0]) - if pool.devModeTimeStampOffset != 0 { - next.BlockHeader.TimeStamp += int64(pool.devModeTimeStampOffset) - } + // if pool.devModeTimeStampOffset != 0 { + // next.BlockHeader.TimeStamp += int64(pool.devModeTimeStampOffset) + // } } pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) From 77d2f757539fe365dff713b2ccb50fb19361ad6c Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 5 Apr 2023 15:18:03 -0400 Subject: [PATCH 06/34] Try testing timestamps by changing up params --- data/pools/transactionPool.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index ef9887bdaf..2e4077f06b 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -713,9 +713,12 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact // block timestamp. if pool.devMode { next.BlockHeader.Seed = committee.Seed(pool.PendingTxIDs()[0]) - // if pool.devModeTimeStampOffset != 0 { - // next.BlockHeader.TimeStamp += int64(pool.devModeTimeStampOffset) - // } + if pool.devModeTimeStampOffset != 0 { + offset := int64(pool.devModeTimeStampOffset) + params := config.Consensus[next.BlockHeader.CurrentProtocol] + params.MaxTimestampIncrement = offset + 1 + next.BlockHeader.TimeStamp = prev.TimeStamp + offset + } } pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) From db8d99ad237aa555247fde547699a7f897c88421 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 5 Apr 2023 16:37:00 -0400 Subject: [PATCH 07/34] Use dev mode evaluator with validation turned off --- data/pools/transactionPool.go | 6 +++++- ledger/ledger.go | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index 2e4077f06b..78e707f1f0 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -711,6 +711,7 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact // If dev mode timestamp offset is configured, add the offset to current // block timestamp. + pool.pendingBlockEvaluator = nil if pool.devMode { next.BlockHeader.Seed = committee.Seed(pool.PendingTxIDs()[0]) if pool.devModeTimeStampOffset != 0 { @@ -719,9 +720,12 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact params.MaxTimestampIncrement = offset + 1 next.BlockHeader.TimeStamp = prev.TimeStamp + offset } + pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorDev(next.BlockHeader, hint, 0) + } else { + pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) } - pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) + // pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) if err != nil { // The pendingBlockEvaluator is an interface, and in case of an evaluator error // we want to remove the interface itself rather then keeping an interface diff --git a/ledger/ledger.go b/ledger/ledger.go index 8ad2cb9ce9..bb00d3b455 100644 --- a/ledger/ledger.go +++ b/ledger/ledger.go @@ -843,6 +843,18 @@ func (l *Ledger) StartEvaluator(hdr bookkeeping.BlockHeader, paysetHint, maxTxnB }) } +// StartEvaluatorDev is a dev only evaluator that does not validate blocks +// TODO: Remove +func (l *Ledger) StartEvaluatorDev(hdr bookkeeping.BlockHeader, paysetHint, maxTxnBytesPerBlock int) (*eval.BlockEvaluator, error) { + return eval.StartEvaluator(l, hdr, + eval.EvaluatorOptions{ + PaysetHint: paysetHint, + Generate: true, + Validate: false, + MaxTxnBytesPerBlock: maxTxnBytesPerBlock, + }) +} + // FlushCaches flushes any pending data in caches so that it is fully available during future lookups. func (l *Ledger) FlushCaches() { l.accts.flushCaches() From bd36d99a43d5409370c0004bfddb76b4961b064e Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Thu, 6 Apr 2023 16:36:55 -0400 Subject: [PATCH 08/34] Some fixes in outputting timestamps as seconds --- daemon/algod/api/algod.oas2.json | 2 +- daemon/algod/api/algod.oas3.yml | 2 +- .../nonparticipating/public/routes.go | 86 +++++++++---------- daemon/algod/api/server/v2/handlers.go | 10 +-- data/pools/transactionPool.go | 9 +- node/follower_node.go | 10 ++- node/node.go | 10 ++- 7 files changed, 67 insertions(+), 62 deletions(-) diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index 966932f178..e52756ac34 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -2466,7 +2466,7 @@ }, "/v2/devmode/blocks/offset/{offset}": { "post": { - "description": "Sets the timestamp offset (seconds) for blocks in devmode.", + "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value.", "tags": [ "public", "nonparticipating" diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index b264e3bbdf..f791e709e1 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -3921,7 +3921,7 @@ }, "/v2/devmode/blocks/offset/{offset}": { "post": { - "description": "Sets the timestamp offset (seconds) for blocks in devmode.", + "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value.", "operationId": "SetBlockTimeStampOffset", "parameters": [ { diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go index 662ba5cdcd..f426b2fc73 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go @@ -800,49 +800,49 @@ var swaggerSpec = []string{ "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 59403db64b..7f3ddaf720 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -113,8 +113,8 @@ type NodeInterface interface { SetSyncRound(rnd uint64) error GetSyncRound() uint64 UnsetSyncRound() - GetBlockTimeStampOffset() time.Duration - SetBlockTimeStampOffset(offset time.Duration) error + GetBlockTimeStampOffset() int64 + SetBlockTimeStampOffset(int64) error } func roundToPtrOrNil(value basics.Round) *uint64 { @@ -1678,14 +1678,14 @@ func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { if offset == 0 { return notFound(ctx, fmt.Errorf("timestamp offset is not set"), errFailedRetrievingTimeStampOffset, v2.Log) } - return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(offset.Seconds())}) + return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(offset)}) } // SetSyncRound sets the sync round on the ledger. // (POST /v2/devmode/blocks/offset/{offset}) func (v2 *Handlers) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error { - timeOffset := time.Duration(offset) * time.Second - err := v2.Node.SetBlockTimeStampOffset(timeOffset) + // timeOffset := time.Duration(offset) * time.Second + err := v2.Node.SetBlockTimeStampOffset(int64(offset)) if err != nil { switch err { case catchup.ErrSyncRoundInvalid: diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index 78e707f1f0..fbbbd179ff 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -103,7 +103,7 @@ type TransactionPool struct { devMode bool // devModeTimeStampOffset adds an offset to the timestamp in the // blockheader in dev mode. - devModeTimeStampOffset time.Duration + devModeTimeStampOffset int64 } // BlockEvaluator defines the block evaluator interface exposed by the ledger package. @@ -715,10 +715,7 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact if pool.devMode { next.BlockHeader.Seed = committee.Seed(pool.PendingTxIDs()[0]) if pool.devModeTimeStampOffset != 0 { - offset := int64(pool.devModeTimeStampOffset) - params := config.Consensus[next.BlockHeader.CurrentProtocol] - params.MaxTimestampIncrement = offset + 1 - next.BlockHeader.TimeStamp = prev.TimeStamp + offset + next.BlockHeader.TimeStamp = prev.TimeStamp + pool.devModeTimeStampOffset } pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorDev(next.BlockHeader, hint, 0) } else { @@ -1010,7 +1007,7 @@ func (pool *TransactionPool) assembleEmptyBlock(round basics.Round) (assembled * } // AssembleDevModeBlock assemble a new block from the existing transaction pool. The pending evaluator is being -func (pool *TransactionPool) AssembleDevModeBlock(offset time.Duration) (assembled *ledgercore.ValidatedBlock, err error) { +func (pool *TransactionPool) AssembleDevModeBlock(offset int64) (assembled *ledgercore.ValidatedBlock, err error) { pool.mu.Lock() defer pool.mu.Unlock() diff --git a/node/follower_node.go b/node/follower_node.go index a1179442e7..387851c5bc 100644 --- a/node/follower_node.go +++ b/node/follower_node.go @@ -448,10 +448,14 @@ func (node *AlgorandFollowerNode) UnsetSyncRound() { node.catchupService.UnsetDisableSyncRound() } -func (node *AlgorandFollowerNode) SetBlockTimeStampOffset(offset time.Duration) error { +// SetBlockTimeStampOffset sets a timestamp offset in the block header. +// This is only available in dev mode. +func (node *AlgorandFollowerNode) SetBlockTimeStampOffset(offset int64) error { return nil } -func (node *AlgorandFollowerNode) GetBlockTimeStampOffset() time.Duration { - return time.Duration(0) +// GetBlockTimeStampOffset gets a timestamp offset. +// This is only available in dev mode. +func (node *AlgorandFollowerNode) GetBlockTimeStampOffset() int64 { + return 0 } diff --git a/node/node.go b/node/node.go index d9bb870758..b37934d4de 100644 --- a/node/node.go +++ b/node/node.go @@ -133,7 +133,7 @@ type AlgorandFullNode struct { genesisID string genesisHash crypto.Digest devMode bool // is this node operating in a developer mode ? ( benign agreement, broadcasting transaction generates a new block ) - devModeTimeStampOffset time.Duration + devModeTimeStampOffset int64 log logging.Logger @@ -1420,7 +1420,9 @@ func (node *AlgorandFullNode) GetSyncRound() uint64 { func (node *AlgorandFullNode) UnsetSyncRound() { } -func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset time.Duration) error { +// SetBlockTimeStampOffset sets a timestamp offset in the block header. +// This is only available in dev mode. +func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { if !node.devMode { // TODO: return error here? return nil @@ -1429,6 +1431,8 @@ func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset time.Duration) erro return nil } -func (node *AlgorandFullNode) GetBlockTimeStampOffset() time.Duration { +// GetBlockTimeStampOffset gets a timestamp offset. +// This is only available in dev mode. +func (node *AlgorandFullNode) GetBlockTimeStampOffset() int64 { return node.devModeTimeStampOffset } From b16188f3e5ba83b23a415389adcffb607af0ab02 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Fri, 7 Apr 2023 16:15:13 -0400 Subject: [PATCH 09/34] Refactoring state changes in block header --- daemon/algod/api/server/v2/handlers.go | 1 - data/bookkeeping/block.go | 55 ++++++++++++++++++++++++++ data/pools/transactionPool.go | 6 +-- node/node.go | 4 ++ 4 files changed, 60 insertions(+), 6 deletions(-) diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 7f3ddaf720..0e9522767d 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -1684,7 +1684,6 @@ func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { // SetSyncRound sets the sync round on the ledger. // (POST /v2/devmode/blocks/offset/{offset}) func (v2 *Handlers) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error { - // timeOffset := time.Duration(offset) * time.Second err := v2.Node.SetBlockTimeStampOffset(int64(offset)) if err != nil { switch err { diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index 344148afa5..ff8693cbc3 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -243,6 +243,12 @@ type ( } ) +// DevModeOpts contains fields that we might want to replace in a blockheader +// in dev mode. +type DevModeOpts struct { + TimeStampOffset int64 +} + // Hash returns the hash of a block header. // The hash of a block is the hash of its header. func (bh BlockHeader) Hash() BlockHash { @@ -516,6 +522,55 @@ func MakeBlock(prev BlockHeader) Block { return blk } +// MakeDevModeBlock constructs a new block for dev mode. +// If a valid DevModeConfigs is passed in, we also populate block header +// information, such as block seed and timestamp offsets. +func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { + upgradeVote, upgradeState, err := ProcessUpgradeParams(prev) + if err != nil { + logging.Base().Panicf("MakeBlock: error processing upgrade: %v", err) + } + + params, ok := config.Consensus[upgradeState.CurrentProtocol] + if !ok { + logging.Base().Panicf("MakeBlock: next protocol %v not supported", upgradeState.CurrentProtocol) + } + + timestamp := time.Now().Unix() + if prev.TimeStamp > 0 { + if timestamp < prev.TimeStamp { + timestamp = prev.TimeStamp + } else if configs.TimeStampOffset > 0 { + timestamp = prev.TimeStamp + configs.TimeStampOffset + } else if timestamp > prev.TimeStamp+params.MaxTimestampIncrement { + timestamp = prev.TimeStamp + params.MaxTimestampIncrement + } + } + + // the merkle root of TXs will update when fillpayset is called + blk := Block{ + BlockHeader: BlockHeader{ + Round: prev.Round + 1, + Branch: prev.Hash(), + UpgradeVote: upgradeVote, + UpgradeState: upgradeState, + TimeStamp: timestamp, + GenesisID: prev.GenesisID, + GenesisHash: prev.GenesisHash, + Seed: committee.Seed(prev.Hash()), + }, + } + blk.TxnCommitments, err = blk.PaysetCommit() + if err != nil { + logging.Base().Warnf("MakeBlock: computing empty TxnCommitments: %v", err) + } + + // We can't know the entire RewardsState yet, but we can carry over the special addresses. + blk.BlockHeader.RewardsState.FeeSink = prev.RewardsState.FeeSink + blk.BlockHeader.RewardsState.RewardsPool = prev.RewardsState.RewardsPool + return blk +} + // PaysetCommit computes the commitment to the payset, using the appropriate // commitment plan based on the block's protocol. func (block Block) PaysetCommit() (TxnCommitments, error) { diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index fbbbd179ff..cc791900c4 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -28,7 +28,6 @@ import ( "github.com/algorand/go-algorand/config" "github.com/algorand/go-algorand/data/basics" "github.com/algorand/go-algorand/data/bookkeeping" - "github.com/algorand/go-algorand/data/committee" "github.com/algorand/go-algorand/data/transactions" "github.com/algorand/go-algorand/ledger" "github.com/algorand/go-algorand/ledger/ledgercore" @@ -713,10 +712,7 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact // block timestamp. pool.pendingBlockEvaluator = nil if pool.devMode { - next.BlockHeader.Seed = committee.Seed(pool.PendingTxIDs()[0]) - if pool.devModeTimeStampOffset != 0 { - next.BlockHeader.TimeStamp = prev.TimeStamp + pool.devModeTimeStampOffset - } + next := bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorDev(next.BlockHeader, hint, 0) } else { pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) diff --git a/node/node.go b/node/node.go index b37934d4de..70ba664c9c 100644 --- a/node/node.go +++ b/node/node.go @@ -1434,5 +1434,9 @@ func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { // GetBlockTimeStampOffset gets a timestamp offset. // This is only available in dev mode. func (node *AlgorandFullNode) GetBlockTimeStampOffset() int64 { + if !node.devMode { + // TODO: return error here? + return 0 + } return node.devModeTimeStampOffset } From 4d6eb216aee41f1e2bedb41efdf6bbbd5d112a6e Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Mon, 10 Apr 2023 16:52:01 -0400 Subject: [PATCH 10/34] Add handler related tweaks and handler tests --- daemon/algod/api/server/v2/errors.go | 3 +- daemon/algod/api/server/v2/handlers.go | 11 +-- .../server/v2/test/handlers_resources_test.go | 2 +- .../algod/api/server/v2/test/handlers_test.go | 88 ++++++++++++++----- daemon/algod/api/server/v2/test/helpers.go | 18 +++- data/bookkeeping/block.go | 3 + data/pools/transactionPool.go | 2 +- ledger/ledger.go | 5 +- node/follower_node.go | 2 +- node/node.go | 4 +- 10 files changed, 98 insertions(+), 40 deletions(-) diff --git a/daemon/algod/api/server/v2/errors.go b/daemon/algod/api/server/v2/errors.go index f1ec19adbf..8b3af50286 100644 --- a/daemon/algod/api/server/v2/errors.go +++ b/daemon/algod/api/server/v2/errors.go @@ -27,8 +27,9 @@ var ( errFailedRetrievingStateDelta = "failed retrieving State Delta" errFailedRetrievingNodeStatus = "failed retrieving node status" errFailedRetrievingLatestBlockHeaderStatus = "failed retrieving latests block header" - errFailedRetrievingSyncRound = "failed retrieving sync round from ledger" errFailedRetrievingTimeStampOffset = "failed retrieving timestamp offset from node" + errFailedSettingTimeStampOffset = "failed to set timestamp offset on the node" + errFailedRetrievingSyncRound = "failed retrieving sync round from ledger" errFailedSettingSyncRound = "failed to set sync round on the ledger" errFailedParsingFormatOption = "failed to parse the format option" errFailedToParseAddress = "failed to parse the address" diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 0e9522767d..07e4487bf9 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -1676,22 +1676,17 @@ func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { offset := v2.Node.GetBlockTimeStampOffset() if offset == 0 { - return notFound(ctx, fmt.Errorf("timestamp offset is not set"), errFailedRetrievingTimeStampOffset, v2.Log) + return badRequest(ctx, fmt.Errorf("timestamp offset is not set or set to 0"), errFailedRetrievingTimeStampOffset, v2.Log) } return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(offset)}) } -// SetSyncRound sets the sync round on the ledger. +// SetBlockTimeStampOffset sets the sync round on the ledger. // (POST /v2/devmode/blocks/offset/{offset}) func (v2 *Handlers) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error { err := v2.Node.SetBlockTimeStampOffset(int64(offset)) if err != nil { - switch err { - case catchup.ErrSyncRoundInvalid: - return badRequest(ctx, err, errFailedSettingSyncRound, v2.Log) - default: - return internalError(ctx, err, errFailedSettingSyncRound, v2.Log) - } + return badRequest(ctx, err, errFailedSettingTimeStampOffset, v2.Log) } return ctx.NoContent(http.StatusOK) } diff --git a/daemon/algod/api/server/v2/test/handlers_resources_test.go b/daemon/algod/api/server/v2/test/handlers_resources_test.go index f57121473d..2b013f69b2 100644 --- a/daemon/algod/api/server/v2/test/handlers_resources_test.go +++ b/daemon/algod/api/server/v2/test/handlers_resources_test.go @@ -229,7 +229,7 @@ func setupTestForLargeResources(t *testing.T, acctSize, maxResults int, accountM acctData = accountMaker(acctSize) ml.accounts[fakeAddr] = acctData - mockNode := makeMockNode(&ml, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(&ml, t.Name(), nil, cannedStatusReportGolden, false) mockNode.config.MaxAPIResourcesPerAccount = uint64(maxResults) dummyShutdownChan := make(chan struct{}) handlers = v2.Handlers{ diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index bbb1994d99..0e3fdb4f1c 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -68,7 +68,7 @@ func setupTestForMethodGet(t *testing.T, status node.StatusReport) (v2.Handlers, numTransactions := 1 offlineAccounts := true mockLedger, rootkeys, _, stxns, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) - mockNode := makeMockNode(mockLedger, t.Name(), nil, status) + mockNode := makeMockNode(mockLedger, t.Name(), nil, status, false) dummyShutdownChan := make(chan struct{}) handler := v2.Handlers{ Node: mockNode, @@ -186,7 +186,7 @@ func TestSyncRound(t *testing.T) { numTransactions := 1 offlineAccounts := true mockLedger, _, _, _, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) dummyShutdownChan := make(chan struct{}) handler := v2.Handlers{ Node: mockNode, @@ -206,20 +206,17 @@ func TestSyncRound(t *testing.T) { require.NoError(t, err) require.Equal(t, 200, rec.Code) mockCall.Unset() - c, rec = newReq(t) // TestSetSyncRound 400 SyncRoundInvalid mockCall = mockNode.On("SetSyncRound", mock.Anything).Return(catchup.ErrSyncRoundInvalid) err = handler.SetSyncRound(c, 0) require.NoError(t, err) require.Equal(t, 400, rec.Code) mockCall.Unset() - c, rec = newReq(t) // TestSetSyncRound 500 InternalError mockCall = mockNode.On("SetSyncRound", mock.Anything).Return(fmt.Errorf("unknown error")) err = handler.SetSyncRound(c, 0) require.NoError(t, err) require.Equal(t, 500, rec.Code) - c, rec = newReq(t) // TestGetSyncRound 200 mockCall = mockNode.On("GetSyncRound").Return(2) @@ -227,13 +224,11 @@ func TestSyncRound(t *testing.T) { require.NoError(t, err) require.Equal(t, 200, rec.Code) mockCall.Unset() - c, rec = newReq(t) // TestGetSyncRound 404 NotFound mockCall = mockNode.On("GetSyncRound").Return(0) err = handler.GetSyncRound(c) require.NoError(t, err) require.Equal(t, 404, rec.Code) - c, rec = newReq(t) // TestUnsetSyncRound 200 mockCall = mockNode.On("UnsetSyncRound").Return() @@ -241,7 +236,6 @@ func TestSyncRound(t *testing.T) { require.NoError(t, err) require.Equal(t, 200, rec.Code) mockCall.Unset() - c, rec = newReq(t) mock.AssertExpectationsForObjects(t, mockNode) } @@ -338,7 +332,6 @@ func TestGetBlockHash(t *testing.T) { require.NoError(t, err) require.Equal(t, 200, rec.Code) - c, rec = newReq(t) err = handler.GetBlockHash(c, 1) require.NoError(t, err) require.Equal(t, 404, rec.Code) @@ -369,7 +362,6 @@ func TestGetBlockGetBlockHash(t *testing.T) { a.NoError(err) // Get block 2 - c, rec = newReq(t) err = handler.GetBlock(c, 2, model.GetBlockParams{Format: (*model.GetBlockParamsFormat)(&format)}) a.NoError(err) a.Equal(200, rec.Code) @@ -377,7 +369,6 @@ func TestGetBlockGetBlockHash(t *testing.T) { a.NoError(err) // Get block 1 hash - c, rec = newReq(t) err = handler.GetBlockHash(c, 1) a.NoError(err) a.Equal(200, rec.Code) @@ -721,7 +712,7 @@ func prepareTransactionTest(t *testing.T, txnToUse, expectedCode int) (handler v offlineAccounts := true mockLedger, _, _, stxns, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) handler = v2.Handlers{ Node: mockNode, @@ -914,7 +905,7 @@ func TestSimulateTransaction(t *testing.T) { mockLedger, roots, _, _, releasefunc := testingenvWithBalances(t, 999_998, 999_999, numAccounts, 1, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) handler := v2.Handlers{ Node: mockNode, Log: logging.Base(), @@ -1073,7 +1064,7 @@ func TestSimulateTransactionVerificationFailure(t *testing.T) { mockLedger, roots, _, _, releasefunc := testingenv(t, numAccounts, 1, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) handler := v2.Handlers{ Node: mockNode, Log: logging.Base(), @@ -1120,7 +1111,7 @@ func startCatchupTest(t *testing.T, catchpoint string, nodeError error, expected mockLedger, _, _, _, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nodeError, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nodeError, cannedStatusReportGolden, false) handler := v2.Handlers{Node: mockNode, Log: logging.Base(), Shutdown: dummyShutdownChan} e := echo.New() req := httptest.NewRequest(http.MethodPost, "/", nil) @@ -1161,7 +1152,7 @@ func abortCatchupTest(t *testing.T, catchpoint string, expectedCode int) { mockLedger, _, _, _, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) handler := v2.Handlers{ Node: mockNode, Log: logging.Base(), @@ -1196,7 +1187,7 @@ func tealCompileTest(t *testing.T, bytesToUse []byte, expectedCode int, mockLedger, _, _, _, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) mockNode.config.EnableDeveloperAPI = enableDeveloperAPI handler := v2.Handlers{ Node: mockNode, @@ -1267,7 +1258,7 @@ func tealDisassembleTest(t *testing.T, program []byte, expectedCode int, mockLedger, _, _, _, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) mockNode.config.EnableDeveloperAPI = enableDeveloperAPI handler := v2.Handlers{ Node: mockNode, @@ -1330,7 +1321,7 @@ func tealDryrunTest( mockLedger, _, _, _, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) mockNode.config.EnableDeveloperAPI = enableDeveloperAPI handler := v2.Handlers{ Node: mockNode, @@ -1449,7 +1440,7 @@ func TestAppendParticipationKeys(t *testing.T) { mockLedger, _, _, _, releasefunc := testingenv(t, 1, 1, true) defer releasefunc() - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) handler := v2.Handlers{ Node: mockNode, Log: logging.Base(), @@ -1533,7 +1524,7 @@ func TestAppendParticipationKeys(t *testing.T) { t.Run("Internal error", func(t *testing.T) { // Create mock node with an error. expectedErr := errors.New("expected error") - mockNode := makeMockNode(mockLedger, t.Name(), expectedErr, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), expectedErr, cannedStatusReportGolden, false) handler := v2.Handlers{ Node: mockNode, Log: logging.Base(), @@ -1925,3 +1916,58 @@ func TestExperimentalCheck(t *testing.T) { require.Equal(t, 200, rec.Code) require.Equal(t, "true\n", string(rec.Body.Bytes())) } + +func setupTestDevMode(devmode bool, t *testing.T) (v2.Handlers, echo.Context, *httptest.ResponseRecorder, []account.Root, []transactions.SignedTxn, func()) { + numAccounts := 1 + numTransactions := 1 + offlineAccounts := true + mockLedger, rootkeys, _, stxns, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, devmode) + dummyShutdownChan := make(chan struct{}) + handler := v2.Handlers{ + Node: mockNode, + Log: logging.Base(), + Shutdown: dummyShutdownChan, + } + e := echo.New() + req := httptest.NewRequest(http.MethodGet, "/", nil) + rec := httptest.NewRecorder() + c := e.NewContext(req, rec) + return handler, c, rec, rootkeys, stxns, releasefunc +} + +func TestTimestampOffsetNotInDevMode(t *testing.T) { + partitiontest.PartitionTest(t) + t.Parallel() + + handler, c, rec, _, _, releasefunc := setupTestDevMode(false, t) + defer releasefunc() + + // TestGetBlockTimeStampOffset 400 - offset is not set and mock node is + // not on dev mode + err := handler.GetBlockTimeStampOffset(c) + require.NoError(t, err) + require.Equal(t, 400, rec.Code) + // TestSetBlockTimeStampOffset 400 - cannot set timestamp offset when not + // in dev mode + err = handler.SetBlockTimeStampOffset(c, 1) + require.NoError(t, err) + require.Equal(t, 400, rec.Code) +} + +func TestTimestampOffsetInDevMode(t *testing.T) { + partitiontest.PartitionTest(t) + t.Parallel() + + handler, c, rec, _, _, releasefunc := setupTestDevMode(true, t) + defer releasefunc() + + // TestSetBlockTimeStampOffset 200 + err := handler.SetBlockTimeStampOffset(c, 1) + require.NoError(t, err) + require.Equal(t, 200, rec.Code) + // TestGetBlockTimeStampOffset 200 + err = handler.GetBlockTimeStampOffset(c) + require.NoError(t, err) + require.Equal(t, 200, rec.Code) +} diff --git a/daemon/algod/api/server/v2/test/helpers.go b/daemon/algod/api/server/v2/test/helpers.go index d0409eadac..3bc62e987e 100644 --- a/daemon/algod/api/server/v2/test/helpers.go +++ b/daemon/algod/api/server/v2/test/helpers.go @@ -98,6 +98,7 @@ type mockNode struct { keys account.StateProofKeys usertxns map[basics.Address][]node.TxnWithStatus status node.StatusReport + devmode bool } func (m *mockNode) InstallParticipationKey(partKeyBinary []byte) (account.ParticipationID, error) { @@ -135,7 +136,7 @@ func (m *mockNode) AppendParticipationKeys(id account.ParticipationID, keys acco return m.err } -func makeMockNode(ledger v2.LedgerForAPI, genesisID string, nodeError error, status node.StatusReport) *mockNode { +func makeMockNode(ledger v2.LedgerForAPI, genesisID string, nodeError error, status node.StatusReport, devMode bool) *mockNode { return &mockNode{ ledger: ledger, genesisID: genesisID, @@ -143,6 +144,7 @@ func makeMockNode(ledger v2.LedgerForAPI, genesisID string, nodeError error, sta err: nodeError, usertxns: map[basics.Address][]node.TxnWithStatus{}, status: status, + devmode: devMode, } } @@ -238,6 +240,20 @@ func (m *mockNode) AbortCatchup(catchpoint string) error { return m.err } +func (m *mockNode) SetBlockTimeStampOffset(offset int64) error { + if !m.devmode { + return fmt.Errorf("cannot set block timestamp when not in dev mode") + } + return nil +} + +func (m *mockNode) GetBlockTimeStampOffset() int64 { + if !m.devmode { + return 0 + } + return 1 +} + ////// mock ledger testing environment follows var sinkAddr = basics.Address{0x7, 0xda, 0xcb, 0x4b, 0x6d, 0x9e, 0xd1, 0x41, 0xb1, 0x75, 0x76, 0xbd, 0x45, 0x9a, 0xe6, 0x42, 0x1d, 0x48, 0x6d, 0xa3, 0xd4, 0xef, 0x22, 0x47, 0xc4, 0x9, 0xa3, 0x96, 0xb8, 0x2e, 0xa2, 0x21} diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index ff8693cbc3..e41c99c995 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -536,6 +536,9 @@ func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { logging.Base().Panicf("MakeBlock: next protocol %v not supported", upgradeState.CurrentProtocol) } + // If a timestamp offset is not set, then set this block's timestamp as + // min(time.Now, MaxTimestamIncrement). + // If a timestamp offset is set, then set it to prev ts + offset. timestamp := time.Now().Unix() if prev.TimeStamp > 0 { if timestamp < prev.TimeStamp { diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index cc791900c4..ad1e73507a 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -713,7 +713,7 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact pool.pendingBlockEvaluator = nil if pool.devMode { next := bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) - pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorDev(next.BlockHeader, hint, 0) + pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorNoValidation(next.BlockHeader, hint, 0) } else { pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) } diff --git a/ledger/ledger.go b/ledger/ledger.go index bb00d3b455..3215e8959a 100644 --- a/ledger/ledger.go +++ b/ledger/ledger.go @@ -843,9 +843,8 @@ func (l *Ledger) StartEvaluator(hdr bookkeeping.BlockHeader, paysetHint, maxTxnB }) } -// StartEvaluatorDev is a dev only evaluator that does not validate blocks -// TODO: Remove -func (l *Ledger) StartEvaluatorDev(hdr bookkeeping.BlockHeader, paysetHint, maxTxnBytesPerBlock int) (*eval.BlockEvaluator, error) { +// StartEvaluatorNoValidation is a dev only evaluator that does not validate blocks +func (l *Ledger) StartEvaluatorNoValidation(hdr bookkeeping.BlockHeader, paysetHint, maxTxnBytesPerBlock int) (*eval.BlockEvaluator, error) { return eval.StartEvaluator(l, hdr, eval.EvaluatorOptions{ PaysetHint: paysetHint, diff --git a/node/follower_node.go b/node/follower_node.go index 387851c5bc..18e495548f 100644 --- a/node/follower_node.go +++ b/node/follower_node.go @@ -451,7 +451,7 @@ func (node *AlgorandFollowerNode) UnsetSyncRound() { // SetBlockTimeStampOffset sets a timestamp offset in the block header. // This is only available in dev mode. func (node *AlgorandFollowerNode) SetBlockTimeStampOffset(offset int64) error { - return nil + return fmt.Errorf("cannot set block timestamp offset in follower mode") } // GetBlockTimeStampOffset gets a timestamp offset. diff --git a/node/node.go b/node/node.go index 70ba664c9c..b5bc4f72da 100644 --- a/node/node.go +++ b/node/node.go @@ -1424,8 +1424,7 @@ func (node *AlgorandFullNode) UnsetSyncRound() { // This is only available in dev mode. func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { if !node.devMode { - // TODO: return error here? - return nil + return fmt.Errorf("cannot set block timestamp offset when not in dev mode") } node.devModeTimeStampOffset = offset return nil @@ -1435,7 +1434,6 @@ func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { // This is only available in dev mode. func (node *AlgorandFullNode) GetBlockTimeStampOffset() int64 { if !node.devMode { - // TODO: return error here? return 0 } return node.devModeTimeStampOffset From 7e15bdd9f912991b024d9fa7c7b4a01880092790 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 11 Apr 2023 11:08:31 -0400 Subject: [PATCH 11/34] OAPI specs fixes --- daemon/algod/api/algod.oas2.json | 17 +- daemon/algod/api/algod.oas3.yml | 24 +- .../nonparticipating/public/routes.go | 411 +++++++++--------- daemon/algod/api/server/v2/handlers.go | 4 +- .../algod/api/server/v2/test/handlers_test.go | 5 + 5 files changed, 225 insertions(+), 236 deletions(-) diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index 5c2f2adb29..c9b3e9a3c2 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -2432,6 +2432,7 @@ }, "/v2/devmode/blocks/offset": { "get": { + "description": "Gets the current timestamp offset.", "tags": [ "public", "nonparticipating" @@ -2442,7 +2443,7 @@ "schemes": [ "http" ], - "summary": "Returns the timestamp offset if devmode API is enabled.", + "summary": "Returns the timestamp offset. Timestamp offsets can only be set in dev mode.", "operationId": "GetBlockTimeStampOffset", "responses": { "200": { @@ -2455,9 +2456,6 @@ "$ref": "#/definitions/ErrorResponse" } }, - "404": { - "description": "Devmode API not enabled" - }, "default": { "description": "Unknown Error" } @@ -2466,7 +2464,7 @@ }, "/v2/devmode/blocks/offset/{offset}": { "post": { - "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value.", + "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value and try to use the real clock for the timestamp.", "tags": [ "public", "nonparticipating" @@ -2474,7 +2472,7 @@ "schemes": [ "http" ], - "summary": "Given a timestamp offset in seconds, adds the offset to every block header's timestamp.", + "summary": "Given a timestamp offset in seconds, adds the offset to every subsequent block header's timestamp.", "operationId": "SetBlockTimeStampOffset", "parameters": [ { @@ -2488,6 +2486,7 @@ ], "responses": { "200": { + "description": "OK", "type": "object" }, "400": { @@ -2508,12 +2507,6 @@ "$ref": "#/definitions/ErrorResponse" } }, - "503": { - "description": "Service Temporarily Unavailable", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "default": { "description": "Unknown Error" } diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index bd2a9713e3..b60e11d829 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -3872,6 +3872,7 @@ }, "/v2/devmode/blocks/offset": { "get": { + "description": "Gets the current timestamp offset.", "operationId": "GetBlockTimeStampOffset", "responses": { "200": { @@ -3903,16 +3904,12 @@ }, "description": "TimeStamp offset not set." }, - "404": { - "content": {}, - "description": "Devmode API not enabled" - }, "default": { "content": {}, "description": "Unknown Error" } }, - "summary": "Returns the timestamp offset if devmode API is enabled.", + "summary": "Returns the timestamp offset. Timestamp offsets can only be set in dev mode.", "tags": [ "public", "nonparticipating" @@ -3921,7 +3918,7 @@ }, "/v2/devmode/blocks/offset/{offset}": { "post": { - "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value.", + "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value and try to use the real clock for the timestamp.", "operationId": "SetBlockTimeStampOffset", "parameters": [ { @@ -3937,7 +3934,8 @@ ], "responses": { "200": { - "content": {} + "content": {}, + "description": "OK" }, "400": { "content": { @@ -3969,22 +3967,12 @@ }, "description": "Internal Error" }, - "503": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - }, - "description": "Service Temporarily Unavailable" - }, "default": { "content": {}, "description": "Unknown Error" } }, - "summary": "Given a timestamp offset in seconds, adds the offset to every block header's timestamp.", + "summary": "Given a timestamp offset in seconds, adds the offset to every subsequent block header's timestamp.", "tags": [ "public", "nonparticipating" diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go index b8cd16a3ae..e3634eaad8 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go @@ -54,10 +54,10 @@ type ServerInterface interface { // Get a proof for a transaction in a block. // (GET /v2/blocks/{round}/transactions/{txid}/proof) GetTransactionProof(ctx echo.Context, round uint64, txid string, params GetTransactionProofParams) error - // Returns the timestamp offset if devmode API is enabled. + // Returns the timestamp offset. Timestamp offsets can only be set in dev mode. // (GET /v2/devmode/blocks/offset) GetBlockTimeStampOffset(ctx echo.Context) error - // Given a timestamp offset in seconds, adds the offset to every block header's timestamp. + // Given a timestamp offset in seconds, adds the offset to every subsequent block header's timestamp. // (POST /v2/devmode/blocks/offset/{offset}) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error // Get the current supply reported by the ledger. @@ -609,168 +609,168 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", @@ -780,69 +780,70 @@ var swaggerSpec = []string{ "R6PZrHHn3dgVsb6H8IH6bH38Ypt09RnpeQbnhozcAvG9+dS8NGp2eHs9ZodhvOnJgyfXB0G4C6+FIt/h", "Lf6JOeQnZWlxstqVhW3iSAdTk7V6E1fiLbaEjKLORh3wKCz6EWa8Nt4Zd22p1TCLyL0Jcbmxpa/0YeNr", "5oLmtWs/Leemk+ZxGgnkjvvzEMe/MyHfYVyFkmN0MlO2DAS5w7g6fPjo8RPbpKQXxoer3W761ZPDo2++", - "sc3qTOjmfdNpLlV5uIA8F7aDvRu64+oPh//7939MJpM7W9mpWD1bvzZpB/8sPHUciy3wG9+3W5/5JsVe", + "sc3qTOjmfdNpLlV5uIA8F7aDvRu64+oPh//7j39OJpM7W9mpWD1bvzZpB/8sPHUciy3wG9+3W5/5JsVe", "6TYd5FbUXYvZ/plYRbm/WN3ePjd2+2jsfxG3zrRJRvYB6jWYjVwNe7yFzDHZ5R4au8zimu/4y2RCXgub", "NqfKaUlEmUFpSyPNK1pSrgCyiaNUjP2TJk1ImjPgSj8YsdhLmUiWgck2MK9KyEjOllgNuYRz9I3H6fEt", "34BgO6NHD9o/LZN/RVdBKo2pv6aVsEtGdeeSrly5KSyoIkr86ZtvyINx/WrJcz1A4hETY65Luhpdo7bP", "E9sgv/NmRYitjrk49hDNUS39+FDGMP38X5tzf7YSuyF3u7F74pw7G3xqg06oP7DJaTZqDoxgZ4pRYXWk", "dR0UraU8J0LFWZyeYahS4E9sG9iqko4+PtvovT3Et4//K7GSNkHtyDYw2lQefEBbRsgzOucWo+X+WmbS", - "wGZUiqUzGgkyA5UubKBuC/UR9uTqUfTzpk3VSPct1eAudpMPhLlBsUrmwPQzQQwlGu6gjBDxTy41tP7M", + "wGZUiqUzGgkyA5UubKBuC/UR9uTqUfTzpk3VSPct1eAudpMPhLlBsUrmwPQzQQwlGu6gjBDxjy41tP7M", "ZibPh6s14oruokmKuTp0vgSdLdTJpPPjd/G8ehd3gvJ5PXlXIEO07MPueYvg3RDcYY7funpniDG7iC/B", "0989JRPyWtTh4rbUxpdocvyUN/unXtBrwcHY1rXka2jx1ozqxQ5U4SNSXJ4Q837xSc8vLYIcuMp9G+WQ", - "H0zdvI2yyJDbW0/2WV7hP0RrYjduGb22ydYkCPVoQ5izbmiSETUzk9/gK+ZG+Omf8GlzExzrelgMHlLH", - "Z6xYwPfLdDD1jiHmA5+Uuo8DxfP8D+ZGSnj3s2hq/inkgs/ln5MVbaKOOF4iVOIrIMTLHPz1zu5zzOqj", - "n7zG89HmeZKMp2AqU2JRnToJm4Hwb9cHoWJLl9mVhzGrN8xdnj54fH3Tn0B5zlIgp7AsRElLlq/Jz9xX", - "Eb0Kt8MiDj7vmtMGR+t2oLWpmQ8sDZMXXZ4JNlzWPqgVyz5uZ4ZB9r4d+SDjAR8Mcw3SogBaXp4Bbjdd", - "nbZmPH4RegU3agv4TFoRUDSKdnSM/4/RQL0ThruLmb38Km4AdVm/LJuwLrtiNvbOMVoKELND8o7fJ3JB", - "nz589Nujp1+5Px89/apHc6bnscl6urqzeiD92QwzRIH2WasD9yu1e/weXvdu77aJ4xHLVtHs43U9oU7u", - "YSuW3ZGkoOveEgXFlnpI4bB1baTrT3IoFZsuou8r9/zxFZOP+TP/CjaZ+GwZods6SD1BEwGf0YRWF0Ty", - "WN9cG2mDNNkiS1+E5rofp3VwgbnoHPLK1p1zo4KuuqlHaoJvVOBOsGmi5eZkSsyQPw7M3b4GPfquVEUh", - "SuVPt5wMEvegz2zXkPb6CHcnYS6lKl1UxcEH/A9m9vpYBxyYqq+Bnc//fr4UGThRUMxmNuJqo/rtlC3h", - "RNFl8ZNpv9ebsoahdU+6su/EtNCokpAKnskBfMeOOoSh+AitVjFI1Q/AtfMYvwMOFutgNQmOdLuSFO40", - "Hn7dGLh+tGSXfrW8Dby5u5iZkSyYj0k33Y5EHSXPgw/mXzRXF0LGMs+D6oHsrt0xEzJnxtUbaWeakBNQ", - "Pmmv7aMEeWDi5iqOf/t8vF0Pl5PeI7L1WdSBNQ5h/C0i6pO4R8XQdZP1c8otIXexoQShhMOcKnYOTt87", - "ufVE+2LUINYvbQObHROaZbJ1NOEcynVDS3JH1oPsyHBgVUDJlsAVFkG0v+ZYJvbA+Lptuh1PTIsr3oct", - "fBsPu1bdFpeK1frfiRl5xdJSHGF5Ivsok2upYNnJl2u7/tYTKe2SW3cfcILnjEOyFDyWxfUn/PoKP0YL", - "IAlF877OWGenr2/rKm/C3wKrOc+Q6/6q+P2TsKArGVpaqy1BC7t1BVlD/zseJXdo1jztnqQ1T7vCaKOM", - "bc/PBx8af1pPV9tSLiqViYugL6pJjcQ+xMktqC4x3LrsNYetKg2SZCA10X5+ppwAD7ET479G8nUGNUR6", - "U3b+RY07M8azFpGg3iUV51BKr/YvnVPqrYXny7HwDN73nXisyU+9jaNVcr8SyWuRgRm3mR4+llSB6zeg", - "dEC0BBGvqYhrxd2tVLdr6SlTWs0XilQFUSKmEa07JjQ1TNYUupbbKgPbZ5et7HYOhOaYnJxMATgRU73o", - "ZoV1QiUGlDm1qtXHxAvc1nAVpUhBSsgSl0RiG2g+OTkqYdUGPCHgCLCfhUhBZrS8MrBn51vh9MU9JLn7", - "4y/6wX3t8BpRcDNiTRhLBL3eVdZKe12oh02/ieDak4dkR0sgTjRAK5BYFjlYO1AEhTvhpHf/2hB1dvHq", - "aEFDCfvEFO8muRoBeVA/Mb1fFdqqSPT9HSnBbb6esiVKYpxy4VSWvYXyt7FlLLAVrEXqFQScMMaJceCe", - "B+dLKtVb6xIQVhANCnnpKTZU9u8rIqNH/sWXkOmMner7kMtK+jozVs0fr+LJYbVhrtew8nOhT4Yb29sR", - "lCCVhG0j92EpGN8iS4al+lXgTIFltrqLQw0mtQqKLiobQNSI2ATIiWvVKE9bG/p7AGGyRrSvpdmknKCg", - "pFSiKLBCblJx368PTSem9ZH6uW7bJS5b6g/v7UyADG08FvILg1mJoY0LKomFgyzpmTUDzW1mxEgRTLaE", - "BN23kk2Uj0pi3So8AlsPaVXMS5phCXcaUaX8bD4T83nTALjjjjyTc6EgmcIsWrZLb3pNyWWvisgPLXA8", - "GRMeCX4hqT6CM6wj5wjE9t4ycgY4dow51RXHbXOcK7pFbjxcttnqvvLP5wItApYeEGTL0YcA3IMHP/Tl", - "UYGdk1p90J7i7yDtBF6O2H2SNci+JdTj77SAtjovvMAaN0WLvbc4cJRt9rKxLXyk78jGFIifpcWh7d30", - "CV23mwrU4AE4uczj9uCCMpXMRGkE6YTOFJQRXV6r8g9lyoXWG9OAEtaxkOAI9t604yCTD/NTWS5iQCCu", - "JDhbRix+eqrvRDkoPrbpBU6ZIhVXLA9yhPin8p9PYXirBLhVAtwqAW6VALdKgFslwK0S4FYJcKsEuFUC", - "3CoBbpUAf10lwE1FvCdO4nBxQFzwpO0aSW5dI7+oCFF/VzmlBKoxLihTNuU1oU4OwC9XC5BXQHPEAcuh", - "38/a+Gyefnv0kkhRlSmQVEPIOClyqt8GsFI+AWsztbcrNmCyOJts4VTC40fk5IcjF8i2sAFXzbZ3j2zR", - "DqnWOdyzKY58PXOX68i6nJtUR9TdCS5Rq01by3IgUqP3W2z9As4hFwWUJkaGqDLm5H0KNH9ucbNF49Mo", - "Qa1H+33cUDRZtC1p4eR8t1YqCTXRjc0K0jOay/4S0ma8JS1iuVL9zWd0QchNngksuR6eEL1rB7iBzbNR", - "h7MxTst1JJS1G6fQJg0lNL+yhNVVZn3ce9Bll2i7ZLaNwmLiegkyeo43UXk02tBvWGcoExQ7a9HJKJal", - "rB1iN/IADnGB1fTs9oS8Nf1uNqULQmSPWM3M/zSeg53QGsM0YsE1n2P+FYf46OnFsz/WhJ1VKRCmJHFx", - "m9uvl/FoleiR5sATy4CSqcjWSYN9jRq3UMYklRKW0+03Ucg/bXUAe/noL5vvqZu5Rl4Ei9vEk0OiWSWW", - "Afdw57WCwbzZYwtHtOw5wPinZtF9bDQEgVj+FNMqtWuy7cj06mnWt4zvlvEFp7ElETBu49zbTGTyCRlf", - "uS4r3s/zvl1BWmngwpN8F9XzaJODlWoYNjOYVvM5VjnoGOn00gDHY4LfECs0yx3KBXejIDO4z3x91WSL", - "7eG63CWI6b4rSjIvRVXcM+Uc+RqtGcuC8rWz+UIi2bLKDQ5Ngtj9MloTit71BEB7rFX+9am13zidX6C8", - "tVdt83eDFnJBJTH7CxmpeGZjhzoJK1Z8eIUFM/TpitdsemONBbPeyOrsvEOuCLfLzXhwSQooE7Xi5kA1", - "y6CYxBjm5E5us7v/Na6NNyYzUQ+D7SZ5qBnCnm6PMuBreH0EqbzqYLhmTUpTMbcvdCTM62Va7tV7pDN8", - "04kkqFdrjKSQF4S60jup4FKVVarecYpGmmBhk66DidNG9/O3565J3E4YMePZod5xipVZvOkmyudmELFT", - "fAfg2Kis5nOQmleGRDIDeMdtK8ZJxfVLS8zIkqWlSEwgqj5DWj6ZmJZLuiYzmqOV8Q8oBZnqmz3YdaMw", - "lorlufVo0dMQMXvHqSI5UKnIK6a5rB7O5dz0rlygLkR55rEQT/M0Bw6SySSufPnefMVMSnb5TsmHCkvz", - "uc6Acr0plBzsLOuF/PiFhpti0ricSVU7QXRgvzYD+JLxJEpkpwsg1iesTVvkLuZUswR0r2kdUgt4x/UN", - "pwRBrk7V5cihbebpnEVzOlpU09iIljXIrXXQE28vXIZEmMytaeULCs0M6MCZL3HjsWZbe+93NKNsLAMd", - "+2ozb/Y0so+EhiKslYDGtjhtgPzlVm15vy+t2XCbxgKQZ3odf8hZlSB+jz6t5myjT0mdZXW5hIxRBfma", - "FCWkkJnkRkyS+sE5MVH7JF1QPsd7pxTVfGGamXEuoASfkFK/8dpDxHN+rHiCgm7EceCIGGWdIy999LAE", - "cIhO7Gy4s35UOtSalApDno2R4/C9HrPvFTke9UqJGqnntXOXQU7zjMSxcCGqPEtklaYQ89A4jrpN+aU2", - "BTgcy8hudkDISFZh7UrKCU1VhVXZppgpWpgijJSvm9c/VrMUZZBRmlAi2ZxTVZUwNmtDV7EpEDQ4TiL+", - "M63LvXFNBztfo7SNin0U3Lk9BrfH4Ms7BrGkhEgks5YqwVBGSIBfVKmkOpfqkS061c4W+sWVTfqySgx9", - "ykfCp17Np3pzOGYsCcU69uF5bmUJNsebSsKU5XlTIHBO8wp5oq2DYl/iE3Jac0zv7F1Jm547XVDGbRYa", - "H5aAcChbQkC5nMX7UkvSC7XiVitpmB+qIzU2IK1Kptb4HKEF++0M9P/fa3ne1NU2L5WqzEeHo4VSxeHB", - "QS5Smi+EVAejj+Pwm2x9fO/B/+AeGUXJzrEy3fuP/z8AAP//YowpRelTAQA=", + "v5u6eRtlkSG3t57ss7zC/x6tid24ZfTaJluTINSjDWHOuqFJRtTMTH6Dr5gb4ad/wqfNTXCs62ExeEgd", + "n7FiAd8v08HUO4aYD3xS6j4OFM/zP5gbKeHdz6Kp+aeQCz6Xf05WtIk64niJUImvgBAvc/DXO7vPMauP", + "fvIaz0eb50kynoKpTIlFdeokbAbCv10fhIotXWZXHsas3jB3efrg8fVNfwLlOUuBnMKyECUtWb4mP3Ff", + "RfQq3A6LOPi8a04bHK3bgdamZj6wNExedHkm2HBZ+6BWLPu4nRkG2ft25IOMB3wwzDVIiwJoeXkGuN10", + "ddqa8fhF6BXcqC3gM2lFQNEo2tEx/j9GA/VOGO4uZvbyq7gB1GX9smzCuuyK2dg7x2gpQMwOyTt+n8gF", + "ffrw0a+Pnn7l/nz09KsezZmexybr6erO6oH0ZzPMEAXaZ60O3K/U7vF7eN27vdsmjkcsW0Wzj9f1hDq5", + "h61YdkeSgq57SxQUW+ohhcPWtZGuP8mhVGy6iL6v3PPHV0w+5s/8K9hk4rNlhG7rIPUETQR8RhNaXRDJ", + "Y31zbaQN0mSLLH0Rmut+nNbBBeaic8grW3fOjQq66qYeqQm+UYE7waaJlpuTKTFD/jgwd/sa9Oi7UhWF", + "KJU/3XIySNyDPrNdQ9rrI9ydhLmUqnRRFQcf8D+Y2etjHXBgqr4Gdj7/+/lSZOBEQTGb2YiruOsAqGYi", + "OF+KnZieUYs/sshTtoQT3fJHM8VeL9ca7NbV2gJPY1dCKngmB7AqO+oQHuSDulr1I1U/ANfOlvwOOFis", + "T9bk0g+Xt4FDd4cSSBv5EhP4ucgzi4wMzsnS1qfbgdijZHvwwfyLZuxCyFhGekfAnY25a7fFhNKZcS2A", + "CB85AeWT+do+SpAHJp6u4vh3nacXC4SWa93EuRGXQHOSNpTmHoruuTnpPTdbn1edtcVXFH/TiPp47lPB", + "1LJX/nDt1P+cckvvXfwoQSjhMKeKnYPTJE9ufdwurdCwHmYbuN+Y0CyTrcME51CuiaymEn6vagnBqD7u", + "yOZx2YFbwKqAki2BK6xsaH/NsfbrgXFg26TiODEtrnhjtRiRcZtrFWNx16p1qhMz8oqlpTjCmkP2pSXX", + "UsGykwTXdv21J/zZZazuvsoEzxmHZCl4LDXrj/j1FX6MVjUSiuZ9nbF4Tl/f1mXbhL8FVnOeIRfyVfH7", + "Jzn9V7KetFZbgpZg67Kwhv53PEru0Kx52j1Ja552JcxGbdqenw8+NP607qu2pVxUKhMXQV/UfRoxfIjn", + "WlAyYrjJ2KsDW6UXJMlAaqL9/OwzAR5iJ8Z/jSThDAqD9Obh/ItabGaMZy0iQWVKKs6hlF6XXzpP01uz", + "zZdjthm87zvxWJN0ehtHq+R+JZLXIgMzbjPneyxTAhcZ2NzYXUHEqx/iqm53K9XtWsrHlFbzhSJVQZSI", + "qTnrjglNDZM11avltnK/9g1ky7WdA6E5ZhwnUwBOxFQvulk2nVCJUWJOV2qVLPGqtTVcRSlSkBKyxGWG", + "2AaazziOmlW1AU8IOALsZyFSkBktrwzs2flWOH3FDknu/vCzfi1fO7xGFNyMWBObEkGv93+10l4X6mHT", + "byK49uQh2dESiBMN0LQjlkUO1rgTQeFOOOndvzZEnV28OlrQ+sE+McW7Sa5GQB7UT0zvV4W2KhJ9f0fq", + "apuvp2yJkhinXDilYm/1+21sGatmBWuRegUBJ4xxYhy458H5kkr11tr5w7KgQXUuPcWGcv19lWH0yD/7", + "ujCdsVN9H3JZSV88xuru46U5Oaw2zPUaVn4udLRwY3vjgFHwbRu5D0vB+BZZMqy/rwIPCayd1V0cqh+p", + "VVB0UdkAokbEJkBOXKtGzdnaet8DCJM1on2BzCblBFUipRJFgWVvk4r7fn1oOjGtj9RPddsucdn6fXhv", + "ZwJkaLixkF8YzErUzy6oJBYOsqRn1rYzt+kOI5Ut2RIS9MlKNlE+amx1q/AIbD2kVTEvaYZ12WlElfKT", + "+UzM500D4I478kzOhYJkCrNoLS696TUll70qIj+0wPFkTHgk+IWk+gjOsDicIxDbe8vIGeDYMeZUlxG3", + "zXGu6Ba58XDZZqv7ajqfC1TnW3pAkC1HHwJwDx780JdHBXZOavVBe4p/gLQTeDli90nWIPuWUI+/0wLa", + "6rzwAmvcFC323uLAUbbZy8a28JG+IxtTIH6Wyv62y9In9MduKlCDB+DkMo/bgwvKVDITpRGkEzpTUEZ0", + "ea1yPpQpFy9vTANKWG9BgiPYe9OOg0w+TDpluYgBgbg632wZyWGnp/pOlIOCXpuu3ZQpUnHF8iDxh38q", + "//kUhrdKgFslwK0S4FYJcKsEuFUC3CoBbpUAt0qAWyXArRLgVgnw11UC3FQYe+IkDhfcwwVP2l6J5NYr", + "8YsK+/R3lVNKoBrjgjJl81gT6uQA/HK1qHcFNEccsBz6naSN++bpt0cviRRVmQJJNYSMkyKn+m0AK+Wz", + "qjbzdbsKAiY1s0kBTiU8fkRO/n7kotMWNoqq2fbuka3EIdU6h3s2b5EvUu4SGAHXSLf5i6i7E1z2VZuL", + "luXoYC7Jt9j6BZxDLgooTeALUWUVUfmcAs2fW9xs0fg06krr0X4bNxRNFm1LWjg5362VSkJNyGKzLPSM", + "5rK/LrQZb0mLWAJUf/MZXRByk2cC66iHJ0Tv2gFuYPNs1DFqjNNyHYlP7UYStElDCc2vLGF1lVkf9x5J", + "2SXaLplto7CYuF6CjJ7jTVQeDSH0G9YZykS6zlp0MoqlHmvHzY08gENcYE8x3sDsCXlr+t1snhaEyB6x", + "mpn/aTwHmy0908C2+hVhWc/n6pXvEB89vXj2x5qwsyoFwpQkLhhz+/UyHq0SPdIceGIZUDIV2TppsK9R", + "4xbKmKRSwnK6/SYK+adN+W8vH/1l8z11M9fIi2Bxm3hySDSrxDLgHu68VjCYN3ts4YiWPQcY/9Qsuo+N", + "hiAQy59iWqV2obUdmV49zfqW8d0yvuA0tiQCxm3wepuJTD4h4yvXZcX7ed63K0grDVx4ku+ieh5tcrBS", + "DcNmBtNqPsfSBR0jnV4a4HhM8BtihWa5Q7ngbhRkBvfprK+aQbE9XJe7BIHad0VJ5qWoinumRiNfozVj", + "WVC+djZfSCRbVrnBocn6ul9Ga+LLu54AaI+1yr8+tfYbp/MLlLf2qm3+btBCLqgkZn8hIxXPbOxQJwvF", + "ig8vm2CGPl3xmk1vLJxg1htZnZ13yBXhdrkZsS1JAWWiVtwcqGZtE5PtwpzcyW3K9r/GtfHGpBvqYbDd", + "zA01Q9jT7VEGfA2vjyA/Vx0M1yw0acrg9oWOhMm6TMu9eo90hm86kQRFaI2RFPKCUFdPJxVcqrJK1TtO", + "0UgTLGzSdTBx2uh+/vbcNYnbCSNmPDvUO06x3Io33UT53AwidorvABwbldV8DlLzypBIZgDvuG3FOKm4", + "fmmJGVmytBSJCUTVZ0jLJxPTcknXZEZztDL+AaUgU32zB7tuFMZSsTy3Hi16GiJm7zhVJAcqFXnFNJfV", + "w7ncA96VC9SFKM88FuK5m+bAQTKZxJUv35uvmB7JLt8p+VBhaT7XaU2uNy+Sg51lvZAfv9BwU8wElzOp", + "aieIDuzXZgBfMp5Eiex0AcT6hLVpi9zFRGmWgO41rUNqAe+4vuGUIMjVqbocObTNPJ2zaE5Hi2oaG9Gy", + "Brm1Dnri7YXLkAiTuTWtfEGhmQEdOPMlbjwWYmvv/Y5mlI21nWNfbTrNnkb2kdBQhLWywdgWpw2Qv9xS", + "LO/3pTUbbtNYAPJMr+MPOasSxO/Rp9WcbfQpqVOnLpeQMaogX5OihBQyk5mISVI/OCcmap+kC8rneO+U", + "opovTDMzzgWU4LNM6jdee4h4zo8VT1DQjTgOHBGjrHPkpY8e1vUN0YmdDXfWj0qHWpNSYcizMXIcvtdj", + "9r0ix6NeKVEj9bx27jLIaZ6ROBYuRJVniazSFGIeGsdRtym/1KYAh2MZ2c0OCBnJKixISTmhqaqw1NoU", + "0z8LU1mR8nXz+scSlaIM0kQTSiSbc6qqEsZmbegqNgWCBsdJxH+mdbk3rulg52uUtlGxjyo6t8fg9hh8", + "eccgljYQiWTWUiUYyggJ8Iuqf1QnSD2ylaTaKUC/uFpIX1bdoE/5SPjUq/lUbw7HjCWhWJw+PM+t1L/m", + "eFNJmLI8bwoEzmleIU+0xU3sS3xCTmuO6Z29K2lzbqcLyrjNQuPDEhAOZesCKJeIeF9qSXqhVtxqJQ3z", + "Q3WkxgakVcnUGp8jtGC/noH+/3stz5ti2ealUpX56HC0UKo4PDjIRUrzhZDqYPRxHH6TrY/vPfgf3COj", + "KNk5lpt7//H/BwAA//+zJsakvlMBAA==", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 5d4422eb1a..b71daedf4c 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -1674,6 +1674,7 @@ func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { } // GetTimeStampOffset gets the timestamp offset. +// This is only available in dev mode. // (GET /v2/devmode/blocks/offset) func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { offset := v2.Node.GetBlockTimeStampOffset() @@ -1683,7 +1684,8 @@ func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(offset)}) } -// SetBlockTimeStampOffset sets the sync round on the ledger. +// SetBlockTimeStampOffset sets the timestamp offset. +// This is only available in dev mode. // (POST /v2/devmode/blocks/offset/{offset}) func (v2 *Handlers) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error { err := v2.Node.SetBlockTimeStampOffset(int64(offset)) diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index 7bffd107e4..90a937d64b 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -207,17 +207,20 @@ func TestSyncRound(t *testing.T) { require.NoError(t, err) require.Equal(t, 200, rec.Code) mockCall.Unset() + c, rec = newReq(t) // TestSetSyncRound 400 SyncRoundInvalid mockCall = mockNode.On("SetSyncRound", mock.Anything).Return(catchup.ErrSyncRoundInvalid) err = handler.SetSyncRound(c, 0) require.NoError(t, err) require.Equal(t, 400, rec.Code) mockCall.Unset() + c, rec = newReq(t) // TestSetSyncRound 500 InternalError mockCall = mockNode.On("SetSyncRound", mock.Anything).Return(fmt.Errorf("unknown error")) err = handler.SetSyncRound(c, 0) require.NoError(t, err) require.Equal(t, 500, rec.Code) + c, rec = newReq(t) // TestGetSyncRound 200 mockCall = mockNode.On("GetSyncRound").Return(2) @@ -225,11 +228,13 @@ func TestSyncRound(t *testing.T) { require.NoError(t, err) require.Equal(t, 200, rec.Code) mockCall.Unset() + c, rec = newReq(t) // TestGetSyncRound 404 NotFound mockCall = mockNode.On("GetSyncRound").Return(0) err = handler.GetSyncRound(c) require.NoError(t, err) require.Equal(t, 404, rec.Code) + c, rec = newReq(t) // TestUnsetSyncRound 200 mockCall = mockNode.On("UnsetSyncRound").Return() From ccf6f2f898558c594d0b081c2c12c777ba0b8370 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 11 Apr 2023 11:12:04 -0400 Subject: [PATCH 12/34] Minor fix in new request in handler tests --- daemon/algod/api/server/v2/test/handlers_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index 90a937d64b..dc2b4efc57 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -338,6 +338,7 @@ func TestGetBlockHash(t *testing.T) { require.NoError(t, err) require.Equal(t, 200, rec.Code) + c, rec = newReq(t) err = handler.GetBlockHash(c, 1) require.NoError(t, err) require.Equal(t, 404, rec.Code) @@ -368,6 +369,7 @@ func TestGetBlockGetBlockHash(t *testing.T) { a.NoError(err) // Get block 2 + c, rec = newReq(t) err = handler.GetBlock(c, 2, model.GetBlockParams{Format: (*model.GetBlockParamsFormat)(&format)}) a.NoError(err) a.Equal(200, rec.Code) @@ -375,6 +377,7 @@ func TestGetBlockGetBlockHash(t *testing.T) { a.NoError(err) // Get block 1 hash + c, rec = newReq(t) err = handler.GetBlockHash(c, 1) a.NoError(err) a.Equal(200, rec.Code) From 3e1c3de92fbce1b69e6120dda0924fb9d74e8be7 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 11 Apr 2023 11:14:24 -0400 Subject: [PATCH 13/34] Fix comment for lint error --- daemon/algod/api/server/v2/handlers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index b71daedf4c..7d73f7b0de 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -1673,7 +1673,7 @@ func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { return ctx.JSON(http.StatusOK, true) } -// GetTimeStampOffset gets the timestamp offset. +// GetBlockTimeStampOffset gets the timestamp offset. // This is only available in dev mode. // (GET /v2/devmode/blocks/offset) func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { From b62c21250bfa4b3314d9e8a3362a45cc90b05735 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 11 Apr 2023 12:03:56 -0400 Subject: [PATCH 14/34] Fix comments and format errors more clearly --- daemon/algod/api/server/v2/errors.go | 7 ++----- daemon/algod/api/server/v2/handlers.go | 5 +++-- data/bookkeeping/block.go | 3 ++- data/pools/transactionPool.go | 1 - 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/daemon/algod/api/server/v2/errors.go b/daemon/algod/api/server/v2/errors.go index 8b3af50286..2f74335f5a 100644 --- a/daemon/algod/api/server/v2/errors.go +++ b/daemon/algod/api/server/v2/errors.go @@ -27,16 +27,13 @@ var ( errFailedRetrievingStateDelta = "failed retrieving State Delta" errFailedRetrievingNodeStatus = "failed retrieving node status" errFailedRetrievingLatestBlockHeaderStatus = "failed retrieving latests block header" - errFailedRetrievingTimeStampOffset = "failed retrieving timestamp offset from node" - errFailedSettingTimeStampOffset = "failed to set timestamp offset on the node" + errFailedRetrievingTimeStampOffset = "failed retrieving timestamp offset from node: %v" + errFailedSettingTimeStampOffset = "failed to set timestamp offset on the node: %v" errFailedRetrievingSyncRound = "failed retrieving sync round from ledger" errFailedSettingSyncRound = "failed to set sync round on the ledger" errFailedParsingFormatOption = "failed to parse the format option" errFailedToParseAddress = "failed to parse the address" errFailedToParseExclude = "failed to parse exclude" - errFailedToParseTransaction = "failed to parse transaction" - errFailedToParseBlock = "failed to parse block" - errFailedToParseCert = "failed to parse cert" errFailedToEncodeResponse = "failed to encode response" errInternalFailure = "internal failure" errNoValidTxnSpecified = "no valid transaction ID was specified" diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 7d73f7b0de..9887e12353 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -1679,7 +1679,8 @@ func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { offset := v2.Node.GetBlockTimeStampOffset() if offset == 0 { - return badRequest(ctx, fmt.Errorf("timestamp offset is not set or set to 0"), errFailedRetrievingTimeStampOffset, v2.Log) + err := fmt.Errorf("timestamp offset is not set or set to 0") + return badRequest(ctx, err, fmt.Sprintf(errFailedRetrievingTimeStampOffset, err), v2.Log) } return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(offset)}) } @@ -1690,7 +1691,7 @@ func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { func (v2 *Handlers) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error { err := v2.Node.SetBlockTimeStampOffset(int64(offset)) if err != nil { - return badRequest(ctx, err, errFailedSettingTimeStampOffset, v2.Log) + return badRequest(ctx, err, fmt.Sprintf(errFailedSettingTimeStampOffset, err), v2.Log) } return ctx.NoContent(http.StatusOK) } diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index e41c99c995..ac97b6869c 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -537,7 +537,7 @@ func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { } // If a timestamp offset is not set, then set this block's timestamp as - // min(time.Now, MaxTimestamIncrement). + // min(time.Now, MaxTimestampIncrement). // If a timestamp offset is set, then set it to prev ts + offset. timestamp := time.Now().Unix() if prev.TimeStamp > 0 { @@ -551,6 +551,7 @@ func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { } // the merkle root of TXs will update when fillpayset is called + // In dev mode, set the block seed to the previous block's hash blk := Block{ BlockHeader: BlockHeader{ Round: prev.Round + 1, diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index ad1e73507a..01e6707bde 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -718,7 +718,6 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) } - // pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) if err != nil { // The pendingBlockEvaluator is an interface, and in case of an evaluator error // we want to remove the interface itself rather then keeping an interface From 97a2828d82f9e53a7d38a7ac247e8093d53d9601 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 11 Apr 2023 12:12:06 -0400 Subject: [PATCH 15/34] Change timestamp logic in dev mode --- data/bookkeeping/block.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index ac97b6869c..7332420b71 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -536,15 +536,15 @@ func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { logging.Base().Panicf("MakeBlock: next protocol %v not supported", upgradeState.CurrentProtocol) } - // If a timestamp offset is not set, then set this block's timestamp as - // min(time.Now, MaxTimestampIncrement). // If a timestamp offset is set, then set it to prev ts + offset. + // If a timestamp offset is not set, then try to set this block's timestamp + // as min(time.Now, MaxTimestampIncrement). timestamp := time.Now().Unix() if prev.TimeStamp > 0 { - if timestamp < prev.TimeStamp { - timestamp = prev.TimeStamp - } else if configs.TimeStampOffset > 0 { + if configs.TimeStampOffset > 0 { timestamp = prev.TimeStamp + configs.TimeStampOffset + } else if timestamp < prev.TimeStamp { + timestamp = prev.TimeStamp } else if timestamp > prev.TimeStamp+params.MaxTimestampIncrement { timestamp = prev.TimeStamp + params.MaxTimestampIncrement } From 7ddce94b89c04cc33d5a4134e35237f2704cfa0d Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 11 Apr 2023 16:20:18 -0400 Subject: [PATCH 16/34] Simplify state in node/pool --- data/pools/transactionPool.go | 25 +++++++++++++++++++------ node/node.go | 25 ++++++++++++------------- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index 01e6707bde..ec68347643 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -710,12 +710,10 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact // If dev mode timestamp offset is configured, add the offset to current // block timestamp. - pool.pendingBlockEvaluator = nil + pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) if pool.devMode { - next := bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) + next = bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorNoValidation(next.BlockHeader, hint, 0) - } else { - pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) } if err != nil { @@ -1002,13 +1000,12 @@ func (pool *TransactionPool) assembleEmptyBlock(round basics.Round) (assembled * } // AssembleDevModeBlock assemble a new block from the existing transaction pool. The pending evaluator is being -func (pool *TransactionPool) AssembleDevModeBlock(offset int64) (assembled *ledgercore.ValidatedBlock, err error) { +func (pool *TransactionPool) AssembleDevModeBlock() (assembled *ledgercore.ValidatedBlock, err error) { pool.mu.Lock() defer pool.mu.Unlock() // drop the current block evaluator and start with a new one. pool.devMode = true - pool.devModeTimeStampOffset = offset pool.recomputeBlockEvaluator(nil, 0) // The above was already pregenerating the entire block, @@ -1016,3 +1013,19 @@ func (pool *TransactionPool) AssembleDevModeBlock(offset int64) (assembled *ledg assembled, err = pool.AssembleBlock(pool.pendingBlockEvaluator.Round(), time.Now().Add(pool.proposalAssemblyTime)) return } + +// SetBlockTimeStampOffset sets the timestamp offset. +// Only available in dev mode +func (pool *TransactionPool) SetBlockTimeStampOffset(offset int64) { + pool.mu.Lock() + defer pool.mu.Unlock() + pool.devModeTimeStampOffset = offset +} + +// GetBlockTimeStampOffset gets the timestamp offset. +// Only available in dev mode +func (pool *TransactionPool) GetBlockTimeStampOffset() int64 { + pool.mu.Lock() + defer pool.mu.Unlock() + return pool.devModeTimeStampOffset +} diff --git a/node/node.go b/node/node.go index b5bc4f72da..671e42663f 100644 --- a/node/node.go +++ b/node/node.go @@ -129,11 +129,10 @@ type AlgorandFullNode struct { indexer *indexer.Indexer - rootDir string - genesisID string - genesisHash crypto.Digest - devMode bool // is this node operating in a developer mode ? ( benign agreement, broadcasting transaction generates a new block ) - devModeTimeStampOffset int64 + rootDir string + genesisID string + genesisHash crypto.Digest + devMode bool // is this node operating in a developer mode ? ( benign agreement, broadcasting transaction generates a new block ) log logging.Logger @@ -465,7 +464,7 @@ func (node *AlgorandFullNode) Ledger() *data.Ledger { // writeDevmodeBlock generates a new block for a devmode, and write it to the ledger. func (node *AlgorandFullNode) writeDevmodeBlock() (err error) { var vb *ledgercore.ValidatedBlock - vb, err = node.transactionPool.AssembleDevModeBlock(node.devModeTimeStampOffset) + vb, err = node.transactionPool.AssembleDevModeBlock() if err != nil || vb == nil { return } @@ -1423,18 +1422,18 @@ func (node *AlgorandFullNode) UnsetSyncRound() { // SetBlockTimeStampOffset sets a timestamp offset in the block header. // This is only available in dev mode. func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { - if !node.devMode { - return fmt.Errorf("cannot set block timestamp offset when not in dev mode") + if node.devMode { + node.transactionPool.SetBlockTimeStampOffset(offset) + return nil } - node.devModeTimeStampOffset = offset - return nil + return fmt.Errorf("cannot set block timestamp offset when not in dev mode") } // GetBlockTimeStampOffset gets a timestamp offset. // This is only available in dev mode. func (node *AlgorandFullNode) GetBlockTimeStampOffset() int64 { - if !node.devMode { - return 0 + if node.devMode { + return node.transactionPool.GetBlockTimeStampOffset() } - return node.devModeTimeStampOffset + return 0 } From d351aac9544beb810e23f1a8e5e8572a898f98bb Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 12 Apr 2023 10:58:08 -0400 Subject: [PATCH 17/34] Refactor block evaluator --- data/pools/transactionPool.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index ec68347643..adc041e42d 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -701,19 +701,20 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact } pool.assemblyMu.Unlock() - next := bookkeeping.MakeBlock(prev) pool.numPendingWholeBlocks = 0 hint := pendingCount - int(knownCommitted) if hint < 0 || int(knownCommitted) < 0 { hint = 0 } - // If dev mode timestamp offset is configured, add the offset to current - // block timestamp. - pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) if pool.devMode { - next = bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) + // If dev mode timestamp offset is configured, add the offset to current + // block timestamp. + next := bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorNoValidation(next.BlockHeader, hint, 0) + } else { + next := bookkeeping.MakeBlock(prev) + pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) } if err != nil { From 2cf6c47b8144a2b79e34c4967e973ac442031451 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 12 Apr 2023 14:00:10 -0400 Subject: [PATCH 18/34] Comment changes based on PR feedback --- daemon/algod/api/algod.oas2.json | 4 ++-- data/bookkeeping/block.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/daemon/algod/api/algod.oas2.json b/daemon/algod/api/algod.oas2.json index c9b3e9a3c2..10611b3b5f 100644 --- a/daemon/algod/api/algod.oas2.json +++ b/daemon/algod/api/algod.oas2.json @@ -2464,7 +2464,7 @@ }, "/v2/devmode/blocks/offset/{offset}": { "post": { - "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value and try to use the real clock for the timestamp.", + "description": "Sets the timestamp offset (seconds) for blocks in dev mode. Providing an offset of 0 will unset this value and try to use the real clock for the timestamp.", "tags": [ "public", "nonparticipating" @@ -2477,7 +2477,7 @@ "parameters": [ { "type": "integer", - "description": "The timestamp offset for blocks in devmode.", + "description": "The timestamp offset for blocks in dev mode.", "name": "offset", "in": "path", "required": true, diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index 7332420b71..0d06909d59 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -523,7 +523,7 @@ func MakeBlock(prev BlockHeader) Block { } // MakeDevModeBlock constructs a new block for dev mode. -// If a valid DevModeConfigs is passed in, we also populate block header +// If a valid DevModeOpts is passed in, we also populate block header // information, such as block seed and timestamp offsets. func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { upgradeVote, upgradeState, err := ProcessUpgradeParams(prev) From d870d7ab0c3349bdc2e368965a7936751e199f60 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 12 Apr 2023 14:08:08 -0400 Subject: [PATCH 19/34] Block refactoring to use MakeBlock in MakeDevModeBlock --- data/bookkeeping/block.go | 36 ++++++------------------------------ 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index 0d06909d59..3132cc66df 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -526,15 +526,8 @@ func MakeBlock(prev BlockHeader) Block { // If a valid DevModeOpts is passed in, we also populate block header // information, such as block seed and timestamp offsets. func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { - upgradeVote, upgradeState, err := ProcessUpgradeParams(prev) - if err != nil { - logging.Base().Panicf("MakeBlock: error processing upgrade: %v", err) - } - - params, ok := config.Consensus[upgradeState.CurrentProtocol] - if !ok { - logging.Base().Panicf("MakeBlock: next protocol %v not supported", upgradeState.CurrentProtocol) - } + // Use previous block's consensus params in dev mode + params := config.Consensus[prev.CurrentProtocol] // If a timestamp offset is set, then set it to prev ts + offset. // If a timestamp offset is not set, then try to set this block's timestamp @@ -550,28 +543,11 @@ func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { } } - // the merkle root of TXs will update when fillpayset is called - // In dev mode, set the block seed to the previous block's hash - blk := Block{ - BlockHeader: BlockHeader{ - Round: prev.Round + 1, - Branch: prev.Hash(), - UpgradeVote: upgradeVote, - UpgradeState: upgradeState, - TimeStamp: timestamp, - GenesisID: prev.GenesisID, - GenesisHash: prev.GenesisHash, - Seed: committee.Seed(prev.Hash()), - }, - } - blk.TxnCommitments, err = blk.PaysetCommit() - if err != nil { - logging.Base().Warnf("MakeBlock: computing empty TxnCommitments: %v", err) - } + // Change block header values + blk := MakeBlock(prev) + blk.BlockHeader.Seed = committee.Seed(prev.Hash()) + blk.BlockHeader.TimeStamp = timestamp - // We can't know the entire RewardsState yet, but we can carry over the special addresses. - blk.BlockHeader.RewardsState.FeeSink = prev.RewardsState.FeeSink - blk.BlockHeader.RewardsState.RewardsPool = prev.RewardsState.RewardsPool return blk } From 1655206dc3dc52e7089340befc1691bef421bebb Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 12 Apr 2023 15:34:14 -0400 Subject: [PATCH 20/34] Change handler error when not in dev mode for getting offsets --- daemon/algod/api/algod.oas3.yml | 4 +- .../nonparticipating/public/routes.go | 470 +++++++++--------- daemon/algod/api/server/v2/handlers.go | 8 +- daemon/algod/api/server/v2/test/helpers.go | 7 +- node/follower_node.go | 4 +- node/node.go | 7 +- 6 files changed, 251 insertions(+), 249 deletions(-) diff --git a/daemon/algod/api/algod.oas3.yml b/daemon/algod/api/algod.oas3.yml index b60e11d829..54dbfddb0f 100644 --- a/daemon/algod/api/algod.oas3.yml +++ b/daemon/algod/api/algod.oas3.yml @@ -3918,11 +3918,11 @@ }, "/v2/devmode/blocks/offset/{offset}": { "post": { - "description": "Sets the timestamp offset (seconds) for blocks in devmode. Setting the offset to 0 will unset this value and try to use the real clock for the timestamp.", + "description": "Sets the timestamp offset (seconds) for blocks in dev mode. Providing an offset of 0 will unset this value and try to use the real clock for the timestamp.", "operationId": "SetBlockTimeStampOffset", "parameters": [ { - "description": "The timestamp offset for blocks in devmode.", + "description": "The timestamp offset for blocks in dev mode.", "in": "path", "name": "offset", "required": true, diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go index e3634eaad8..fdb05d7d7b 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go @@ -609,241 +609,241 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "KNk5lpt7//H/BwAA//+zJsakvlMBAA==", + "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", + "R0Yl2QVWnHvz7v8PAAD//8JnbiTBUwEA", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 4bd5094128..9151b59af7 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -115,7 +115,7 @@ type NodeInterface interface { SetSyncRound(rnd uint64) error GetSyncRound() uint64 UnsetSyncRound() - GetBlockTimeStampOffset() int64 + GetBlockTimeStampOffset() *int64 SetBlockTimeStampOffset(int64) error } @@ -1678,11 +1678,11 @@ func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { // (GET /v2/devmode/blocks/offset) func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { offset := v2.Node.GetBlockTimeStampOffset() - if offset == 0 { - err := fmt.Errorf("timestamp offset is not set or set to 0") + if offset == nil { + err := fmt.Errorf("cannot get timestamp offset because we are not in dev mode") return badRequest(ctx, err, fmt.Sprintf(errFailedRetrievingTimeStampOffset, err), v2.Log) } - return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(offset)}) + return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(*offset)}) } // SetBlockTimeStampOffset sets the timestamp offset. diff --git a/daemon/algod/api/server/v2/test/helpers.go b/daemon/algod/api/server/v2/test/helpers.go index 3bc62e987e..3647a27e18 100644 --- a/daemon/algod/api/server/v2/test/helpers.go +++ b/daemon/algod/api/server/v2/test/helpers.go @@ -247,11 +247,12 @@ func (m *mockNode) SetBlockTimeStampOffset(offset int64) error { return nil } -func (m *mockNode) GetBlockTimeStampOffset() int64 { +func (m *mockNode) GetBlockTimeStampOffset() *int64 { if !m.devmode { - return 0 + return nil } - return 1 + offset := int64(1) + return &offset } ////// mock ledger testing environment follows diff --git a/node/follower_node.go b/node/follower_node.go index c8cf34e23b..e2a7d2a3a7 100644 --- a/node/follower_node.go +++ b/node/follower_node.go @@ -456,6 +456,6 @@ func (node *AlgorandFollowerNode) SetBlockTimeStampOffset(offset int64) error { // GetBlockTimeStampOffset gets a timestamp offset. // This is only available in dev mode. -func (node *AlgorandFollowerNode) GetBlockTimeStampOffset() int64 { - return 0 +func (node *AlgorandFollowerNode) GetBlockTimeStampOffset() *int64 { + return nil } diff --git a/node/node.go b/node/node.go index 671e42663f..913942baf9 100644 --- a/node/node.go +++ b/node/node.go @@ -1431,9 +1431,10 @@ func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { // GetBlockTimeStampOffset gets a timestamp offset. // This is only available in dev mode. -func (node *AlgorandFullNode) GetBlockTimeStampOffset() int64 { +func (node *AlgorandFullNode) GetBlockTimeStampOffset() *int64 { if node.devMode { - return node.transactionPool.GetBlockTimeStampOffset() + offset := node.transactionPool.GetBlockTimeStampOffset() + return &offset } - return 0 + return nil } From 7558422904d687ac52f6cbb4cd169a52867dd079 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Thu, 13 Apr 2023 10:06:28 -0400 Subject: [PATCH 21/34] Update daemon/algod/api/server/v2/test/handlers_test.go Co-authored-by: shiqizng <80276844+shiqizng@users.noreply.github.com> --- daemon/algod/api/server/v2/test/handlers_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index dc2b4efc57..4a98c28e19 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -1968,7 +1968,7 @@ func TestTimestampOffsetNotInDevMode(t *testing.T) { defer releasefunc() // TestGetBlockTimeStampOffset 400 - offset is not set and mock node is - // not on dev mode + // not in dev mode err := handler.GetBlockTimeStampOffset(c) require.NoError(t, err) require.Equal(t, 400, rec.Code) From 6fd3c4569adbcb110f3b8c3a42af02b567ba03b9 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Thu, 13 Apr 2023 10:29:57 -0400 Subject: [PATCH 22/34] Test refactoring to remove some redundancy and explicit error message checks --- daemon/algod/api/server/v2/handlers.go | 2 +- .../algod/api/server/v2/test/handlers_test.go | 35 +++++++------------ 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 9151b59af7..e31e8a1541 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -1679,7 +1679,7 @@ func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { offset := v2.Node.GetBlockTimeStampOffset() if offset == nil { - err := fmt.Errorf("cannot get timestamp offset because we are not in dev mode") + err := fmt.Errorf("cannot get block timestamp offset because we are not in dev mode") return badRequest(ctx, err, fmt.Sprintf(errFailedRetrievingTimeStampOffset, err), v2.Log) } return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(*offset)}) diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index 4a98c28e19..ac5ea1e504 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -64,12 +64,12 @@ import ( const stateProofInterval = uint64(256) -func setupTestForMethodGet(t *testing.T, status node.StatusReport) (v2.Handlers, echo.Context, *httptest.ResponseRecorder, []account.Root, []transactions.SignedTxn, func()) { +func setupMockNodeForMethodGet(t *testing.T, status node.StatusReport, devmode bool) (v2.Handlers, echo.Context, *httptest.ResponseRecorder, []account.Root, []transactions.SignedTxn, func()) { numAccounts := 1 numTransactions := 1 offlineAccounts := true mockLedger, rootkeys, _, stxns, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) - mockNode := makeMockNode(mockLedger, t.Name(), nil, status, false) + mockNode := makeMockNode(mockLedger, t.Name(), nil, status, devmode) dummyShutdownChan := make(chan struct{}) handler := v2.Handlers{ Node: mockNode, @@ -83,6 +83,10 @@ func setupTestForMethodGet(t *testing.T, status node.StatusReport) (v2.Handlers, return handler, c, rec, rootkeys, stxns, releasefunc } +func setupTestForMethodGet(t *testing.T, status node.StatusReport) (v2.Handlers, echo.Context, *httptest.ResponseRecorder, []account.Root, []transactions.SignedTxn, func()) { + return setupMockNodeForMethodGet(t, status, false) +} + func numOrNil(n uint64) *uint64 { if n == 0 { return nil @@ -1941,30 +1945,11 @@ func TestExperimentalCheck(t *testing.T) { require.Equal(t, "true\n", string(rec.Body.Bytes())) } -func setupTestDevMode(devmode bool, t *testing.T) (v2.Handlers, echo.Context, *httptest.ResponseRecorder, []account.Root, []transactions.SignedTxn, func()) { - numAccounts := 1 - numTransactions := 1 - offlineAccounts := true - mockLedger, rootkeys, _, stxns, releasefunc := testingenv(t, numAccounts, numTransactions, offlineAccounts) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, devmode) - dummyShutdownChan := make(chan struct{}) - handler := v2.Handlers{ - Node: mockNode, - Log: logging.Base(), - Shutdown: dummyShutdownChan, - } - e := echo.New() - req := httptest.NewRequest(http.MethodGet, "/", nil) - rec := httptest.NewRecorder() - c := e.NewContext(req, rec) - return handler, c, rec, rootkeys, stxns, releasefunc -} - func TestTimestampOffsetNotInDevMode(t *testing.T) { partitiontest.PartitionTest(t) t.Parallel() - handler, c, rec, _, _, releasefunc := setupTestDevMode(false, t) + handler, c, rec, _, _, releasefunc := setupTestForMethodGet(t, cannedStatusReportGolden) defer releasefunc() // TestGetBlockTimeStampOffset 400 - offset is not set and mock node is @@ -1972,18 +1957,22 @@ func TestTimestampOffsetNotInDevMode(t *testing.T) { err := handler.GetBlockTimeStampOffset(c) require.NoError(t, err) require.Equal(t, 400, rec.Code) + require.Equal(t, "{\"message\":\"failed retrieving timestamp offset from node: cannot get block timestamp offset because we are not in dev mode\"}\n", rec.Body.String()) + c, rec = newReq(t) + // TestSetBlockTimeStampOffset 400 - cannot set timestamp offset when not // in dev mode err = handler.SetBlockTimeStampOffset(c, 1) require.NoError(t, err) require.Equal(t, 400, rec.Code) + require.Equal(t, "{\"message\":\"failed to set timestamp offset on the node: cannot set block timestamp when not in dev mode\"}\n", rec.Body.String()) } func TestTimestampOffsetInDevMode(t *testing.T) { partitiontest.PartitionTest(t) t.Parallel() - handler, c, rec, _, _, releasefunc := setupTestDevMode(true, t) + handler, c, rec, _, _, releasefunc := setupMockNodeForMethodGet(t, cannedStatusReportGolden, true) defer releasefunc() // TestSetBlockTimeStampOffset 200 From 6c3f01d49bb7e28923e29c11f6f4bb3812867fd4 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Thu, 13 Apr 2023 11:10:36 -0400 Subject: [PATCH 23/34] Test node setting dev mode --- node/node.go | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/node/node.go b/node/node.go index 913942baf9..2b90db4940 100644 --- a/node/node.go +++ b/node/node.go @@ -129,10 +129,11 @@ type AlgorandFullNode struct { indexer *indexer.Indexer - rootDir string - genesisID string - genesisHash crypto.Digest - devMode bool // is this node operating in a developer mode ? ( benign agreement, broadcasting transaction generates a new block ) + rootDir string + genesisID string + genesisHash crypto.Digest + devMode bool // is this node operating in a developer mode ? ( benign agreement, broadcasting transaction generates a new block ) + timestampOffset *int64 log logging.Logger @@ -469,6 +470,21 @@ func (node *AlgorandFullNode) writeDevmodeBlock() (err error) { return } + if node.timestampOffset != nil { + prevRound := vb.Block().Round() - 1 + prev, err := node.ledger.BlockHdr(prevRound) + if err != nil { + return err + } + + // Make a new validated block. + blk := vb.Block() + blk.TimeStamp = prev.TimeStamp + *node.timestampOffset + blk.BlockHeader.Seed = committee.Seed(prev.Hash()) + vb2 := ledgercore.MakeValidatedBlock(blk, vb.Delta()) + vb = &vb2 + } + // add the newly generated block to the ledger err = node.ledger.AddValidatedBlock(*vb, agreement.Certificate{Round: vb.Block().Round()}) return err @@ -1423,6 +1439,7 @@ func (node *AlgorandFullNode) UnsetSyncRound() { // This is only available in dev mode. func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { if node.devMode { + node.timestampOffset = &offset node.transactionPool.SetBlockTimeStampOffset(offset) return nil } From af392f8efd6f0f71031b3580d35e110572a8a37f Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Thu, 13 Apr 2023 12:13:34 -0400 Subject: [PATCH 24/34] Make txPool unaware of devmode --- data/pools/transactionPool.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index adc041e42d..7c98726b84 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -707,15 +707,15 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact hint = 0 } - if pool.devMode { - // If dev mode timestamp offset is configured, add the offset to current - // block timestamp. - next := bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) - pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorNoValidation(next.BlockHeader, hint, 0) - } else { - next := bookkeeping.MakeBlock(prev) - pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) - } + // if pool.devMode { + // // If dev mode timestamp offset is configured, add the offset to current + // // block timestamp. + // next := bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) + // pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorNoValidation(next.BlockHeader, hint, 0) + // } else { + next := bookkeeping.MakeBlock(prev) + pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) + // } if err != nil { // The pendingBlockEvaluator is an interface, and in case of an evaluator error From 962239ea4481486b91c01c8ede2465364aef095d Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Thu, 13 Apr 2023 12:52:03 -0400 Subject: [PATCH 25/34] Simplify txPool for dev mode --- data/bookkeeping/block.go | 29 ----------------------------- data/pools/transactionPool.go | 34 +--------------------------------- ledger/ledger.go | 11 ----------- node/node.go | 4 +--- 4 files changed, 2 insertions(+), 76 deletions(-) diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index 3132cc66df..b860a97007 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -522,35 +522,6 @@ func MakeBlock(prev BlockHeader) Block { return blk } -// MakeDevModeBlock constructs a new block for dev mode. -// If a valid DevModeOpts is passed in, we also populate block header -// information, such as block seed and timestamp offsets. -func MakeDevModeBlock(prev BlockHeader, configs DevModeOpts) Block { - // Use previous block's consensus params in dev mode - params := config.Consensus[prev.CurrentProtocol] - - // If a timestamp offset is set, then set it to prev ts + offset. - // If a timestamp offset is not set, then try to set this block's timestamp - // as min(time.Now, MaxTimestampIncrement). - timestamp := time.Now().Unix() - if prev.TimeStamp > 0 { - if configs.TimeStampOffset > 0 { - timestamp = prev.TimeStamp + configs.TimeStampOffset - } else if timestamp < prev.TimeStamp { - timestamp = prev.TimeStamp - } else if timestamp > prev.TimeStamp+params.MaxTimestampIncrement { - timestamp = prev.TimeStamp + params.MaxTimestampIncrement - } - } - - // Change block header values - blk := MakeBlock(prev) - blk.BlockHeader.Seed = committee.Seed(prev.Hash()) - blk.BlockHeader.TimeStamp = timestamp - - return blk -} - // PaysetCommit computes the commitment to the payset, using the appropriate // commitment plan based on the block's protocol. func (block Block) PaysetCommit() (TxnCommitments, error) { diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index 7c98726b84..18e5ed8dae 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -96,13 +96,6 @@ type TransactionPool struct { // stateproofOverflowed indicates that a stateproof transaction was allowed to // exceed the txPoolMaxSize. This flag is reset to false OnNewBlock stateproofOverflowed bool - - // devMode indicates whether we are in dev mode and whether we should - // manually change certain fields in the block header such as block seed. - devMode bool - // devModeTimeStampOffset adds an offset to the timestamp in the - // blockheader in dev mode. - devModeTimeStampOffset int64 } // BlockEvaluator defines the block evaluator interface exposed by the ledger package. @@ -701,22 +694,13 @@ func (pool *TransactionPool) recomputeBlockEvaluator(committedTxIds map[transact } pool.assemblyMu.Unlock() + next := bookkeeping.MakeBlock(prev) pool.numPendingWholeBlocks = 0 hint := pendingCount - int(knownCommitted) if hint < 0 || int(knownCommitted) < 0 { hint = 0 } - - // if pool.devMode { - // // If dev mode timestamp offset is configured, add the offset to current - // // block timestamp. - // next := bookkeeping.MakeDevModeBlock(prev, bookkeeping.DevModeOpts{TimeStampOffset: pool.devModeTimeStampOffset}) - // pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluatorNoValidation(next.BlockHeader, hint, 0) - // } else { - next := bookkeeping.MakeBlock(prev) pool.pendingBlockEvaluator, err = pool.ledger.StartEvaluator(next.BlockHeader, hint, 0) - // } - if err != nil { // The pendingBlockEvaluator is an interface, and in case of an evaluator error // we want to remove the interface itself rather then keeping an interface @@ -1006,27 +990,11 @@ func (pool *TransactionPool) AssembleDevModeBlock() (assembled *ledgercore.Valid defer pool.mu.Unlock() // drop the current block evaluator and start with a new one. - pool.devMode = true pool.recomputeBlockEvaluator(nil, 0) // The above was already pregenerating the entire block, // so there won't be any waiting on this call. assembled, err = pool.AssembleBlock(pool.pendingBlockEvaluator.Round(), time.Now().Add(pool.proposalAssemblyTime)) return -} -// SetBlockTimeStampOffset sets the timestamp offset. -// Only available in dev mode -func (pool *TransactionPool) SetBlockTimeStampOffset(offset int64) { - pool.mu.Lock() - defer pool.mu.Unlock() - pool.devModeTimeStampOffset = offset -} - -// GetBlockTimeStampOffset gets the timestamp offset. -// Only available in dev mode -func (pool *TransactionPool) GetBlockTimeStampOffset() int64 { - pool.mu.Lock() - defer pool.mu.Unlock() - return pool.devModeTimeStampOffset } diff --git a/ledger/ledger.go b/ledger/ledger.go index d11d89ef44..769edbe864 100644 --- a/ledger/ledger.go +++ b/ledger/ledger.go @@ -843,17 +843,6 @@ func (l *Ledger) StartEvaluator(hdr bookkeeping.BlockHeader, paysetHint, maxTxnB }) } -// StartEvaluatorNoValidation is a dev only evaluator that does not validate blocks -func (l *Ledger) StartEvaluatorNoValidation(hdr bookkeeping.BlockHeader, paysetHint, maxTxnBytesPerBlock int) (*eval.BlockEvaluator, error) { - return eval.StartEvaluator(l, hdr, - eval.EvaluatorOptions{ - PaysetHint: paysetHint, - Generate: true, - Validate: false, - MaxTxnBytesPerBlock: maxTxnBytesPerBlock, - }) -} - // FlushCaches flushes any pending data in caches so that it is fully available during future lookups. func (l *Ledger) FlushCaches() { l.accts.flushCaches() diff --git a/node/node.go b/node/node.go index 2b90db4940..7f3c4da3bb 100644 --- a/node/node.go +++ b/node/node.go @@ -1440,7 +1440,6 @@ func (node *AlgorandFullNode) UnsetSyncRound() { func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { if node.devMode { node.timestampOffset = &offset - node.transactionPool.SetBlockTimeStampOffset(offset) return nil } return fmt.Errorf("cannot set block timestamp offset when not in dev mode") @@ -1450,8 +1449,7 @@ func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { // This is only available in dev mode. func (node *AlgorandFullNode) GetBlockTimeStampOffset() *int64 { if node.devMode { - offset := node.transactionPool.GetBlockTimeStampOffset() - return &offset + return node.timestampOffset } return nil } From 0de0cb0a2f14f5647c10c74e9514494d03c566ae Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Thu, 13 Apr 2023 16:42:59 -0400 Subject: [PATCH 26/34] Create block seed even without setting offset --- data/pools/transactionPool.go | 1 - node/node.go | 22 +++++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/data/pools/transactionPool.go b/data/pools/transactionPool.go index 18e5ed8dae..1c567f2bae 100644 --- a/data/pools/transactionPool.go +++ b/data/pools/transactionPool.go @@ -996,5 +996,4 @@ func (pool *TransactionPool) AssembleDevModeBlock() (assembled *ledgercore.Valid // so there won't be any waiting on this call. assembled, err = pool.AssembleBlock(pool.pendingBlockEvaluator.Round(), time.Now().Add(pool.proposalAssemblyTime)) return - } diff --git a/node/node.go b/node/node.go index 7f3c4da3bb..69038c11e0 100644 --- a/node/node.go +++ b/node/node.go @@ -470,20 +470,20 @@ func (node *AlgorandFullNode) writeDevmodeBlock() (err error) { return } - if node.timestampOffset != nil { - prevRound := vb.Block().Round() - 1 - prev, err := node.ledger.BlockHdr(prevRound) - if err != nil { - return err - } + // Make a new validated block. + prevRound := vb.Block().Round() - 1 + prev, err := node.ledger.BlockHdr(prevRound) + if err != nil { + return err + } - // Make a new validated block. - blk := vb.Block() + blk := vb.Block() + if node.timestampOffset != nil { blk.TimeStamp = prev.TimeStamp + *node.timestampOffset - blk.BlockHeader.Seed = committee.Seed(prev.Hash()) - vb2 := ledgercore.MakeValidatedBlock(blk, vb.Delta()) - vb = &vb2 } + blk.BlockHeader.Seed = committee.Seed(prev.Hash()) + vb2 := ledgercore.MakeValidatedBlock(blk, vb.Delta()) + vb = &vb2 // add the newly generated block to the ledger err = node.ledger.AddValidatedBlock(*vb, agreement.Certificate{Round: vb.Block().Round()}) From e7f482c6d07c711389618a6330c5837fc941ef39 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Fri, 14 Apr 2023 10:59:19 -0400 Subject: [PATCH 27/34] Add error when block timestamp is never set --- daemon/algod/api/server/v2/handlers.go | 11 ++++--- .../algod/api/server/v2/test/handlers_test.go | 11 ++++++- daemon/algod/api/server/v2/test/helpers.go | 29 ++++++++++--------- node/follower_node.go | 4 +-- node/node.go | 6 ++-- 5 files changed, 38 insertions(+), 23 deletions(-) diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index e31e8a1541..7d99d91763 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -115,7 +115,7 @@ type NodeInterface interface { SetSyncRound(rnd uint64) error GetSyncRound() uint64 UnsetSyncRound() - GetBlockTimeStampOffset() *int64 + GetBlockTimeStampOffset() (*int64, error) SetBlockTimeStampOffset(int64) error } @@ -1677,10 +1677,13 @@ func (v2 *Handlers) ExperimentalCheck(ctx echo.Context) error { // This is only available in dev mode. // (GET /v2/devmode/blocks/offset) func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { - offset := v2.Node.GetBlockTimeStampOffset() - if offset == nil { - err := fmt.Errorf("cannot get block timestamp offset because we are not in dev mode") + offset, err := v2.Node.GetBlockTimeStampOffset() + if err != nil { + err = fmt.Errorf("cannot get block timestamp offset because we are not in dev mode") return badRequest(ctx, err, fmt.Sprintf(errFailedRetrievingTimeStampOffset, err), v2.Log) + } else if offset == nil { + err = fmt.Errorf("block timestamp offset was never set, using real clock for timestamps") + return notFound(ctx, err, fmt.Sprintf(errFailedRetrievingTimeStampOffset, err), v2.Log) } return ctx.JSON(http.StatusOK, model.GetBlockTimeStampOffsetResponse{Offset: uint64(*offset)}) } diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index ac5ea1e504..68adfa0a0f 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -1975,10 +1975,19 @@ func TestTimestampOffsetInDevMode(t *testing.T) { handler, c, rec, _, _, releasefunc := setupMockNodeForMethodGet(t, cannedStatusReportGolden, true) defer releasefunc() + // TestSetBlockTimeStampOffset 400 + err := handler.GetBlockTimeStampOffset(c) + require.NoError(t, err) + require.Equal(t, 404, rec.Code) + require.Equal(t, "{\"message\":\"failed retrieving timestamp offset from node: block timestamp offset was never set, using real clock for timestamps\"}\n", rec.Body.String()) + c, rec = newReq(t) + // TestSetBlockTimeStampOffset 200 - err := handler.SetBlockTimeStampOffset(c, 1) + err = handler.SetBlockTimeStampOffset(c, 1) require.NoError(t, err) require.Equal(t, 200, rec.Code) + c, rec = newReq(t) + // TestGetBlockTimeStampOffset 200 err = handler.GetBlockTimeStampOffset(c) require.NoError(t, err) diff --git a/daemon/algod/api/server/v2/test/helpers.go b/daemon/algod/api/server/v2/test/helpers.go index 3647a27e18..7f9877ad89 100644 --- a/daemon/algod/api/server/v2/test/helpers.go +++ b/daemon/algod/api/server/v2/test/helpers.go @@ -90,15 +90,16 @@ var txnPoolGolden = make([]transactions.SignedTxn, 2) // package `data` and package `node`, which themselves import `mocks` type mockNode struct { mock.Mock - ledger v2.LedgerForAPI - genesisID string - config config.Local - err error - id account.ParticipationID - keys account.StateProofKeys - usertxns map[basics.Address][]node.TxnWithStatus - status node.StatusReport - devmode bool + ledger v2.LedgerForAPI + genesisID string + config config.Local + err error + id account.ParticipationID + keys account.StateProofKeys + usertxns map[basics.Address][]node.TxnWithStatus + status node.StatusReport + devmode bool + timestampOffset *int64 } func (m *mockNode) InstallParticipationKey(partKeyBinary []byte) (account.ParticipationID, error) { @@ -244,15 +245,17 @@ func (m *mockNode) SetBlockTimeStampOffset(offset int64) error { if !m.devmode { return fmt.Errorf("cannot set block timestamp when not in dev mode") } + m.timestampOffset = &offset return nil } -func (m *mockNode) GetBlockTimeStampOffset() *int64 { +func (m *mockNode) GetBlockTimeStampOffset() (*int64, error) { if !m.devmode { - return nil + return nil, fmt.Errorf("cannot get block timestamp when not in dev mode") + } else if m.timestampOffset == nil { + return nil, nil } - offset := int64(1) - return &offset + return m.timestampOffset, nil } ////// mock ledger testing environment follows diff --git a/node/follower_node.go b/node/follower_node.go index e2a7d2a3a7..e04cbe2eb8 100644 --- a/node/follower_node.go +++ b/node/follower_node.go @@ -456,6 +456,6 @@ func (node *AlgorandFollowerNode) SetBlockTimeStampOffset(offset int64) error { // GetBlockTimeStampOffset gets a timestamp offset. // This is only available in dev mode. -func (node *AlgorandFollowerNode) GetBlockTimeStampOffset() *int64 { - return nil +func (node *AlgorandFollowerNode) GetBlockTimeStampOffset() (*int64, error) { + return nil, fmt.Errorf("cannot get block timestamp offset in follower mode") } diff --git a/node/node.go b/node/node.go index 69038c11e0..cbe2ed81b4 100644 --- a/node/node.go +++ b/node/node.go @@ -1447,9 +1447,9 @@ func (node *AlgorandFullNode) SetBlockTimeStampOffset(offset int64) error { // GetBlockTimeStampOffset gets a timestamp offset. // This is only available in dev mode. -func (node *AlgorandFullNode) GetBlockTimeStampOffset() *int64 { +func (node *AlgorandFullNode) GetBlockTimeStampOffset() (*int64, error) { if node.devMode { - return node.timestampOffset + return node.timestampOffset, nil } - return nil + return nil, fmt.Errorf("cannot get block timestamp offset when not in dev mode") } From e3d7d675079344e3249ed0d5fe5341807dd420dd Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 18 Apr 2023 11:56:23 -0400 Subject: [PATCH 28/34] Update daemon/algod/api/server/v2/test/handlers_test.go Co-authored-by: Eric Warehime --- daemon/algod/api/server/v2/test/handlers_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index 68adfa0a0f..d4c4c03817 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -1975,7 +1975,7 @@ func TestTimestampOffsetInDevMode(t *testing.T) { handler, c, rec, _, _, releasefunc := setupMockNodeForMethodGet(t, cannedStatusReportGolden, true) defer releasefunc() - // TestSetBlockTimeStampOffset 400 + // TestSetBlockTimeStampOffset 404 err := handler.GetBlockTimeStampOffset(c) require.NoError(t, err) require.Equal(t, 404, rec.Code) From 0b2d5aaa065c65ac228fdc46223177b741f084dd Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 18 Apr 2023 11:57:19 -0400 Subject: [PATCH 29/34] Remove unused type --- data/bookkeeping/block.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/data/bookkeeping/block.go b/data/bookkeeping/block.go index b860a97007..344148afa5 100644 --- a/data/bookkeeping/block.go +++ b/data/bookkeeping/block.go @@ -243,12 +243,6 @@ type ( } ) -// DevModeOpts contains fields that we might want to replace in a blockheader -// in dev mode. -type DevModeOpts struct { - TimeStampOffset int64 -} - // Hash returns the hash of a block header. // The hash of a block is the hash of its header. func (bh BlockHeader) Hash() BlockHash { From 430ff146dd11eca32859657a02723826679805b1 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Tue, 18 Apr 2023 17:44:51 -0400 Subject: [PATCH 30/34] Check for max int bounds when converting from uint --- daemon/algod/api/server/v2/handlers.go | 4 ++++ daemon/algod/api/server/v2/test/handlers_test.go | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/daemon/algod/api/server/v2/handlers.go b/daemon/algod/api/server/v2/handlers.go index 7d99d91763..584a8da388 100644 --- a/daemon/algod/api/server/v2/handlers.go +++ b/daemon/algod/api/server/v2/handlers.go @@ -1692,6 +1692,10 @@ func (v2 *Handlers) GetBlockTimeStampOffset(ctx echo.Context) error { // This is only available in dev mode. // (POST /v2/devmode/blocks/offset/{offset}) func (v2 *Handlers) SetBlockTimeStampOffset(ctx echo.Context, offset uint64) error { + if offset > math.MaxInt64 { + err := fmt.Errorf("block timestamp offset cannot be larger than max int64 value") + return badRequest(ctx, err, fmt.Sprintf(errFailedSettingTimeStampOffset, err), v2.Log) + } err := v2.Node.SetBlockTimeStampOffset(int64(offset)) if err != nil { return badRequest(ctx, err, fmt.Sprintf(errFailedSettingTimeStampOffset, err), v2.Log) diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index d4c4c03817..2c93fb1591 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -23,6 +23,7 @@ import ( "errors" "fmt" "io" + "math" "net/http" "net/http/httptest" "strings" @@ -1975,7 +1976,7 @@ func TestTimestampOffsetInDevMode(t *testing.T) { handler, c, rec, _, _, releasefunc := setupMockNodeForMethodGet(t, cannedStatusReportGolden, true) defer releasefunc() - // TestSetBlockTimeStampOffset 404 + // TestGetBlockTimeStampOffset 404 err := handler.GetBlockTimeStampOffset(c) require.NoError(t, err) require.Equal(t, 404, rec.Code) @@ -1992,4 +1993,11 @@ func TestTimestampOffsetInDevMode(t *testing.T) { err = handler.GetBlockTimeStampOffset(c) require.NoError(t, err) require.Equal(t, 200, rec.Code) + c, rec = newReq(t) + + // TestSetBlockTimeStampOffset 400 + err = handler.SetBlockTimeStampOffset(c, math.MaxUint64) + require.NoError(t, err) + require.Equal(t, 400, rec.Code) + require.Equal(t, "{\"message\":\"failed to set timestamp offset on the node: block timestamp offset cannot be larger than max int64 value\"}\n", rec.Body.String()) } From 59d20b67a950f8b1af44b50540c46b6b934e9020 Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 19 Apr 2023 10:55:44 -0400 Subject: [PATCH 31/34] Finish handling merge conflicts --- .../api/server/v2/generated/data/routes.go | 333 +++++++-------- .../v2/generated/experimental/routes.go | 259 ++++++------ .../nonparticipating/private/routes.go | 337 +++++++-------- .../nonparticipating/public/routes.go | 397 +++++++++--------- .../generated/participating/private/routes.go | 341 +++++++-------- .../generated/participating/public/routes.go | 359 ++++++++-------- 6 files changed, 1018 insertions(+), 1008 deletions(-) diff --git a/daemon/algod/api/server/v2/generated/data/routes.go b/daemon/algod/api/server/v2/generated/data/routes.go index b62c0fa89c..d10be59b64 100644 --- a/daemon/algod/api/server/v2/generated/data/routes.go +++ b/daemon/algod/api/server/v2/generated/data/routes.go @@ -145,177 +145,178 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "4er/BwAA//8yQRH0B8oAAA==", + "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", + "ZBvMkfHh6v8HAAD//8J2O3RgywAA", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/experimental/routes.go b/daemon/algod/api/server/v2/generated/experimental/routes.go index 76c05508ac..3183c03502 100644 --- a/daemon/algod/api/server/v2/generated/experimental/routes.go +++ b/daemon/algod/api/server/v2/generated/experimental/routes.go @@ -109,135 +109,136 @@ var swaggerSpec = []string{ "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", - "T/8vAAD//yOoPrWwuAAA", + "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", + "ZDeYzPHh0/8LAAD//+8NMlAJugAA", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go index 0fcdcb6950..8d0203f0f8 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/private/routes.go @@ -130,174 +130,175 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go index 487f7c7418..b15beff954 100644 --- a/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/nonparticipating/public/routes.go @@ -644,202 +644,207 @@ var swaggerSpec = []string{ "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/private/routes.go b/daemon/algod/api/server/v2/generated/participating/private/routes.go index 18916f47f7..d9527d3e5b 100644 --- a/daemon/algod/api/server/v2/generated/participating/private/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/private/routes.go @@ -158,176 +158,177 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/daemon/algod/api/server/v2/generated/participating/public/routes.go b/daemon/algod/api/server/v2/generated/participating/public/routes.go index a7111270cd..a6522fea42 100644 --- a/daemon/algod/api/server/v2/generated/participating/public/routes.go +++ b/daemon/algod/api/server/v2/generated/participating/public/routes.go @@ -177,185 +177,186 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", - "Ukh2jdlI33/8fwEAAP//LOKPVrjbAAA=", + "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", + "fQ2zr0IyKSW7xqSm7z/+vwAAAP//kA6nBhHdAAA=", } // GetSwagger returns the content of the embedded swagger specification file From 941e13fb6ffe51f9b1697905935beb1ffdb543fd Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 19 Apr 2023 11:14:48 -0400 Subject: [PATCH 32/34] Fix some tests from merge --- daemon/algod/api/server/v2/test/handlers_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/algod/api/server/v2/test/handlers_test.go b/daemon/algod/api/server/v2/test/handlers_test.go index d9ddd72510..0687279a3a 100644 --- a/daemon/algod/api/server/v2/test/handlers_test.go +++ b/daemon/algod/api/server/v2/test/handlers_test.go @@ -1132,7 +1132,7 @@ func TestSimulateTransactionMultipleGroups(t *testing.T) { mockLedger, roots, _, _, releasefunc := testingenv(t, numAccounts, 1, offlineAccounts) defer releasefunc() dummyShutdownChan := make(chan struct{}) - mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden) + mockNode := makeMockNode(mockLedger, t.Name(), nil, cannedStatusReportGolden, false) handler := v2.Handlers{ Node: mockNode, Log: logging.Base(), From 0dc2458e73b8941ba897539f69b48eda286b0cbf Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 19 Apr 2023 14:46:56 -0400 Subject: [PATCH 33/34] Don't allow timestamps to exceed MaxInt64 --- node/node.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/node/node.go b/node/node.go index cbe2ed81b4..c47405e7d2 100644 --- a/node/node.go +++ b/node/node.go @@ -21,6 +21,7 @@ import ( "context" "errors" "fmt" + "math" "os" "path/filepath" "strings" @@ -478,7 +479,10 @@ func (node *AlgorandFullNode) writeDevmodeBlock() (err error) { } blk := vb.Block() - if node.timestampOffset != nil { + + // Set block timestamp based on offset, if set. + // Make sure block timestamp is not greater than MaxInt64. + if node.timestampOffset != nil && prev.TimeStamp+*node.timestampOffset < math.MaxInt64 { blk.TimeStamp = prev.TimeStamp + *node.timestampOffset } blk.BlockHeader.Seed = committee.Seed(prev.Hash()) From cf420814a5a25db8fd22de710d478b3d052d450f Mon Sep 17 00:00:00 2001 From: algochoi <86622919+algochoi@users.noreply.github.com> Date: Wed, 19 Apr 2023 15:54:03 -0400 Subject: [PATCH 34/34] Fix overflows in int64 arithmetic --- node/node.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node/node.go b/node/node.go index c47405e7d2..d99d455774 100644 --- a/node/node.go +++ b/node/node.go @@ -482,7 +482,7 @@ func (node *AlgorandFullNode) writeDevmodeBlock() (err error) { // Set block timestamp based on offset, if set. // Make sure block timestamp is not greater than MaxInt64. - if node.timestampOffset != nil && prev.TimeStamp+*node.timestampOffset < math.MaxInt64 { + if node.timestampOffset != nil && *node.timestampOffset < math.MaxInt64-prev.TimeStamp { blk.TimeStamp = prev.TimeStamp + *node.timestampOffset } blk.BlockHeader.Seed = committee.Seed(prev.Hash())