-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add block indexing to Indexer API #1606
Conversation
type GetBlockResponse struct { | ||
Block *chain.ExecutedBlock `json:"block"` | ||
BlockBytes codec.Bytes `json:"blockBytes"` | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternative here is to include the requested encoding in the request
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might create a mess. There aren't that many methods. It's fine to duplicate unless we plan to increase the number of methods.
1. GetBlock improvements{
"jsonrpc": "2.0",
"result": {
"block": {
"blockID": "2NmFKR118wRQc88qgmgeLqjz125UWxRb7jsv9nFNj6ygfedKyL",
"block": {
"parent": "qsFoFWSJkFgXgtWmh8MtyVgdTtzv77qNyjJPB7Fc43UXeUUKj",
"timestamp": 1727846356939,
"height": 3420,
"txs": [
{
// 1.4 Transaction ID
"base": {
"timestamp": 1727846413000,
"chainId": "2gdnF9MkpFFBsmFQHSpDrnXT5N3DGKXPmBJfradUyE3kzHc4QE",
"maxFee": 10000000
},
"actions": [
{// 1.2 Action names or IDs
"to": "0x0000000000000000000000000000000000000000000000000000000000deadc0de",
"value": 123456789,
"memo": "THVpZ2k="
}
],
"auth": {
"signer": [ // 1.3 Auth.* should be hex
70,
220,
217,
//... more bytes here
],
"signature": [ // 1.3 Auth.* should be hex
103,
151,
155,
//... more bytes here
]
}
}
],
"stateRoot": "28TpB5nFDvBYZWfEZesFpDA8zLic4MnXYwniEFDKvpkWkiBKYD"
},
"results": [
{ // 1.6 Result fields should be lowercase
"Success": true,
"Error": "",// 1.5 Transaction error should be a Unicode string
"Outputs": [
"aW52YWxpZCBiYWxhbmNlOiBjb...."
],
// 1.1 Units and unit prices should be an array or object
"Units": "(Bandwidth=197, Compute=7, Storage(Read)=14, Storage(Allocate)=50, Storage(Write)=26)",
"Fee": 29400
}
],
// 1.1 Units and unit prices should be an array or object
"unitPrices": "(Bandwidth=100, Compute=100, Storage(Read)=100, Storage(Allocate)=100, Storage(Write)=100)"
},
"blockBytes": "000001196ef5112686d9fcfc4b3a3d2f2d439e1" //shortened
},
"id": 2652924454900838
}
|
2. GetTX improvements{
"jsonrpc": "2.0",
"result": {
// 2.1 Error field
"timestamp": 1727848107595,
"success": false,
"units": "(Bandwidth=197, Compute=7, Storage(Read)=14, Storage(Allocate)=50, Storage(Write)=26)", // 2.2 Units format
"fee": 29400,
"result": []
// 2.3 Sender address
},
"id": 9669870267519104
} 2.1 Error fieldAlthough this transaction failed, there is no error field in the JSON. Unicode would be better, than base64 too. 2.2 Units and unit prices formatSame as 1.1 above, it should be formatted as an array or object. 2.3 Sender addressIn |
Ok here are the changes I'm planning to make as a follow on to this PR: Tx JSON Marshalling
Results
Side note (out of scope for this PR): we currently use an error string for the result. There's a weird edge case here where if we or a developer changes an error string that is actually part of chain processing. This should be clear, but I've found that it's easy to forget this and think we could make it more explicit. We could, for example, include errors as possible return values in the ABI. Added here #1627 Block Requests
Note: golang clients can use binary representation, so that it can decode with |
"github.com/ava-labs/hypersdk/internal/pebble" | ||
) | ||
|
||
const maxBlockWindow uint64 = 1_000_000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we limit it? If someone wants to run an indexer that stores all transactions and they have 20TB of NVMe, why should we stop them?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't maintain a blockID -> height mapping on disk to avoid using hashes as keys. This means we iterate over all the data on startup, so we set a reasonable guardrail.
If you want to store all transactions, you need to scale horizontally rather than writing to a single pebbledb instance. This won't work at scale, so I'd prefer to set a reasonable guardrail than allow users to try and scale something that wasn't meant to.
// Use a separate type that only decodes the block bytes because we cannot decode block JSON | ||
// due to Actions/Auth interfaces included in the block's transactions. | ||
type GetBlockClientResponse struct { | ||
BlockBytes codec.Bytes `json:"blockBytes"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What prevents a Block from being unmarshalled from JSON? It's the Auth and Action interfaces, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why even have this separate type? If we're only going to use the block bytes from the response since we can't unmarshal the actual block type why don't we just drop the block field from the server-side response struct entirely and get rid of this second struct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to support clients (JS) that prefer to handle JSON than the binary representation. For golang, we actually cannot handle the JSON using the current requester because it will simply unmarshal the json into the struct and we can't unmarshal JSON directly into the block type due to the Action
and Auth
interfaces.
Have a note here #1606 (comment) to add an encoding parameter that we could block this PR on if you prefer.
fee uint64, | ||
outputs [][]byte, | ||
) error { | ||
outputLength := consts.ByteLen // Single byte containing number of outputs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would either store the entire transaction or just the result. There's no need for a custom marshaler in this case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree and think storing the entire tx + result makes sense here #1626
This is not changed in this PR though, so don't think it needs to be in scope
api/indexer/indexer_test.go
Outdated
"github.com/ava-labs/hypersdk/fees" | ||
) | ||
|
||
func TestBlockIndex(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test feels like it's testing a lot of different cases which is making it complex to read/debug/add to. I feel like testing more targeted code edge-cases instead of a single god-test would make sense here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved a helper to generate a sequence of empty executed blocks to chaintest
and separated out the restart portion of the test.
commit fee360f Author: Tsachi Herman <[email protected]> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 Author: Joshua Kim <[email protected]> Date: Wed Oct 2 12:38:34 2024 -0400 Replace usage of `internal/network` with `p2p` (#1613) Signed-off-by: Joshua Kim <[email protected]> commit 79f363e Author: containerman17 <[email protected]> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 Author: Joshua Kim <[email protected]> Date: Tue Oct 1 20:02:30 2024 -0400 Update to [email protected] (#1614) Signed-off-by: Joshua Kim <[email protected]> commit 59c84d7 Author: aaronbuchwald <[email protected]> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 Author: Tsachi Herman <[email protected]> Date: Tue Oct 1 09:26:32 2024 -0400 validate buffer length prior to calling Uint64 (#1588) commit c24f0d8 Author: rodrigo <[email protected]> Date: Tue Oct 1 09:25:18 2024 -0400 Fix VM-With-Contracts Unit Tests (#1602) commit 8ab9d83 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <[email protected]> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e Author: Franfran <[email protected]> Date: Mon Sep 30 16:42:00 2024 +0200 Write FIFO cache unit tests (#1201) * write FIFO cache unit tests * invert expected / actual * add limit parameter and cache fail on 0 size * simplify test table and create new test for empty cache * simpler tests by having a limit of 2 * fix test cases * typos * backout uselesss change * add a "not an LRU" test case * use switch in fifo unit tests commit f1150a1 Author: aaronbuchwald <[email protected]> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 Author: Joshua Kim <[email protected]> Date: Thu Sep 26 15:44:56 2024 -0400 Remove usage of mockgen (#1591) Signed-off-by: Joshua Kim <[email protected]> commit 49376bd Author: rodrigo <[email protected]> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <[email protected]> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b Author: containerman17 <[email protected]> Date: Tue Sep 24 23:19:18 2024 +0900 Remove special cases for Bytes, add arrays support (#1587) commit 3410599 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <[email protected]> Date: Thu Sep 19 07:58:39 2024 -0400 Separate proposer monitor from vm into internal package (#1574) Signed-off-by: Joshua Kim <[email protected]>
commit b2ad4d3 Author: Tsachi Herman <[email protected]> Date: Sun Nov 3 16:01:37 2024 -0500 support procedural test style for VM-defined workloads (#1667) Signed-off-by: Tsachi Herman <[email protected]> commit dbcc6c9 Author: Richard Pringle <[email protected]> Date: Thu Oct 31 16:42:44 2024 -0400 Update wasmtime-go (#1705) commit 1015ae1 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 31 12:47:45 2024 -0400 Remove HRP + Decimals dead code (#1703) commit 24bacf8 Author: Sam Liokumovich <[email protected]> Date: Wed Oct 30 10:31:38 2024 -0400 Action Test Reusing Store (#1700) commit 1ce6ad8 Author: Richard Pringle <[email protected]> Date: Tue Oct 29 13:23:56 2024 -0400 Don't benchmark serializing parameters (#1697) commit 1c43f7e Author: Sam Liokumovich <[email protected]> Date: Tue Oct 29 13:16:34 2024 -0400 Call Contract Benchmarks (#1696) commit 7bd1a49 Author: nathan haim <[email protected]> Date: Sat Oct 26 20:41:26 2024 +0200 state: Make state.Keys JSON human readable (#1661) Signed-off-by: nathan haim <[email protected]> commit c592a1d Author: rodrigo <[email protected]> Date: Fri Oct 25 14:02:08 2024 -0400 Add `balance` cmd to CLI (#1691) commit 7fac7fa Author: Sam Liokumovich <[email protected]> Date: Fri Oct 25 13:28:52 2024 -0400 Default Contract Manager Implementation (#1687) commit 0459bd4 Author: rodrigo <[email protected]> Date: Fri Oct 25 12:23:04 2024 -0400 Add Getter to `BalanceHandler` (#1685) commit 960b790 Author: containerman17 <[email protected]> Date: Sat Oct 26 00:14:29 2024 +0900 Universal CLI (#1662) Creates a single binary that can be used with any HyperSDK VM, as long as the VM uses standard functionality. Signed-off-by: containerman17 <[email protected]> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Aaron Buchwald <[email protected]> commit ef66271 Author: Richard Pringle <[email protected]> Date: Thu Oct 24 15:45:17 2024 -0400 Move vmwithcontracts out of examples (#1676) commit 3895ff5 Author: Richard Pringle <[email protected]> Date: Thu Oct 24 14:59:57 2024 -0400 Implement NFT example (#1684) commit 82dc621 Author: rodrigo <[email protected]> Date: Thu Oct 24 09:54:31 2024 -0400 Add back `actionID` to `StateKeys()` (#1683) commit cf6d48a Author: Richard Pringle <[email protected]> Date: Wed Oct 23 15:11:25 2024 -0400 Force test-context to be initialized with an actor (#1682) commit 1a3c670 Author: Sam Liokumovich <[email protected]> Date: Wed Oct 23 14:26:09 2024 -0400 Refactor Workload (#1668) Signed-off-by: Sam Liokumovich <[email protected]> Co-authored-by: aaronbuchwald <[email protected]> commit 403bfb3 Author: rodrigo <[email protected]> Date: Tue Oct 22 21:56:25 2024 -0400 Decouple State Manager (#1658) commit 61993f8 Author: Richard Pringle <[email protected]> Date: Mon Oct 21 14:25:25 2024 -0400 Revert "Make Morpheus build script take optional path (#1671)" (#1673) commit 87cf88a Author: aaronbuchwald <[email protected]> Date: Mon Oct 21 12:39:13 2024 -0400 Update min go version to go1.22.8 (#1672) commit 22241f5 Author: Richard Pringle <[email protected]> Date: Fri Oct 18 14:18:53 2024 -0400 Make Morpheus build script take optional path (#1671) commit 0658976 Author: Richard Pringle <[email protected]> Date: Wed Oct 16 18:37:50 2024 -0400 Move runtime tests into contracts-ci (#1666) commit e3d911a Author: Sam Liokumovich <[email protected]> Date: Sun Oct 13 17:45:32 2024 -0400 Remove global variables from spam script (#1659) commit bca7739 Author: Tsachi Herman <[email protected]> Date: Fri Oct 11 11:41:27 2024 -0400 Create SignedTransaction out of the existing Transaction (#1640) commit 6f15b2f Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 20:47:49 2024 -0400 Include Spam Config Defaults (#1657) commit b3713a1 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 20:16:23 2024 -0400 Separate Spam Broadcast Functionality (#1653) commit 182e023 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 18:19:44 2024 -0400 Decouple Spam Functionality from CLI into Throughput Package (#1636) commit b8104ac Author: aaronbuchwald <[email protected]> Date: Thu Oct 10 14:44:08 2024 -0400 Fix incorrect naming of stateless block (#1652) commit 725a589 Author: aaronbuchwald <[email protected]> Date: Thu Oct 10 10:12:59 2024 -0400 Use CreateActionID to give simulated actions unique actionID (#1644) commit 0a2d991 Author: aaronbuchwald <[email protected]> Date: Thu Oct 10 09:57:25 2024 -0400 Update ActionRegistry to ActionCodec (#1650) commit 829b991 Author: containerman17 <[email protected]> Date: Thu Oct 10 22:42:19 2024 +0900 Reflect Marshaler (#1592) Signed-off-by: containerman17 <[email protected]> commit b3c991f Author: Tsachi Herman <[email protected]> Date: Thu Oct 10 09:36:21 2024 -0400 add simulateTransaction endpoint (#1610) Signed-off-by: Tsachi Herman <[email protected]> commit cbb6a33 Author: containerman17 <[email protected]> Date: Thu Oct 10 22:24:22 2024 +0900 Add boolean support to the ABI spec (#1648) Signed-off-by: containerman17 <[email protected]> commit 5d8c590 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 09:21:46 2024 -0400 Remove marshaling from transfer action (#1647) commit b934dbd Author: Joshua Kim <[email protected]> Date: Wed Oct 9 16:52:29 2024 -0400 Remove type alias for Action + Auth + Output Registry (#1547) Signed-off-by: Joshua Kim <[email protected]> commit b5407c9 Author: containerman17 <[email protected]> Date: Thu Oct 10 00:45:38 2024 +0900 Simulate a chain of actions (#1635) commit fee360f Author: Tsachi Herman <[email protected]> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 Author: Joshua Kim <[email protected]> Date: Wed Oct 2 12:38:34 2024 -0400 Replace usage of `internal/network` with `p2p` (#1613) Signed-off-by: Joshua Kim <[email protected]> commit 79f363e Author: containerman17 <[email protected]> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 Author: Joshua Kim <[email protected]> Date: Tue Oct 1 20:02:30 2024 -0400 Update to [email protected] (#1614) Signed-off-by: Joshua Kim <[email protected]> commit 59c84d7 Author: aaronbuchwald <[email protected]> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 Author: Tsachi Herman <[email protected]> Date: Tue Oct 1 09:26:32 2024 -0400 validate buffer length prior to calling Uint64 (#1588) commit c24f0d8 Author: rodrigo <[email protected]> Date: Tue Oct 1 09:25:18 2024 -0400 Fix VM-With-Contracts Unit Tests (#1602) commit 8ab9d83 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <[email protected]> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e Author: Franfran <[email protected]> Date: Mon Sep 30 16:42:00 2024 +0200 Write FIFO cache unit tests (#1201) * write FIFO cache unit tests * invert expected / actual * add limit parameter and cache fail on 0 size * simplify test table and create new test for empty cache * simpler tests by having a limit of 2 * fix test cases * typos * backout uselesss change * add a "not an LRU" test case * use switch in fifo unit tests commit f1150a1 Author: aaronbuchwald <[email protected]> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 Author: Joshua Kim <[email protected]> Date: Thu Sep 26 15:44:56 2024 -0400 Remove usage of mockgen (#1591) Signed-off-by: Joshua Kim <[email protected]> commit 49376bd Author: rodrigo <[email protected]> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <[email protected]> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b Author: containerman17 <[email protected]> Date: Tue Sep 24 23:19:18 2024 +0900 Remove special cases for Bytes, add arrays support (#1587) commit 3410599 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <[email protected]> Date: Thu Sep 19 07:58:39 2024 -0400 Separate proposer monitor from vm into internal package (#1574) Signed-off-by: Joshua Kim <[email protected]>
commit b2ad4d3 Author: Tsachi Herman <[email protected]> Date: Sun Nov 3 16:01:37 2024 -0500 support procedural test style for VM-defined workloads (#1667) Signed-off-by: Tsachi Herman <[email protected]> commit dbcc6c9 Author: Richard Pringle <[email protected]> Date: Thu Oct 31 16:42:44 2024 -0400 Update wasmtime-go (#1705) commit 1015ae1 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 31 12:47:45 2024 -0400 Remove HRP + Decimals dead code (#1703) commit 24bacf8 Author: Sam Liokumovich <[email protected]> Date: Wed Oct 30 10:31:38 2024 -0400 Action Test Reusing Store (#1700) commit 1ce6ad8 Author: Richard Pringle <[email protected]> Date: Tue Oct 29 13:23:56 2024 -0400 Don't benchmark serializing parameters (#1697) commit 1c43f7e Author: Sam Liokumovich <[email protected]> Date: Tue Oct 29 13:16:34 2024 -0400 Call Contract Benchmarks (#1696) commit 7bd1a49 Author: nathan haim <[email protected]> Date: Sat Oct 26 20:41:26 2024 +0200 state: Make state.Keys JSON human readable (#1661) Signed-off-by: nathan haim <[email protected]> commit c592a1d Author: rodrigo <[email protected]> Date: Fri Oct 25 14:02:08 2024 -0400 Add `balance` cmd to CLI (#1691) commit 7fac7fa Author: Sam Liokumovich <[email protected]> Date: Fri Oct 25 13:28:52 2024 -0400 Default Contract Manager Implementation (#1687) commit 0459bd4 Author: rodrigo <[email protected]> Date: Fri Oct 25 12:23:04 2024 -0400 Add Getter to `BalanceHandler` (#1685) commit 960b790 Author: containerman17 <[email protected]> Date: Sat Oct 26 00:14:29 2024 +0900 Universal CLI (#1662) Creates a single binary that can be used with any HyperSDK VM, as long as the VM uses standard functionality. Signed-off-by: containerman17 <[email protected]> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Aaron Buchwald <[email protected]> commit ef66271 Author: Richard Pringle <[email protected]> Date: Thu Oct 24 15:45:17 2024 -0400 Move vmwithcontracts out of examples (#1676) commit 3895ff5 Author: Richard Pringle <[email protected]> Date: Thu Oct 24 14:59:57 2024 -0400 Implement NFT example (#1684) commit 82dc621 Author: rodrigo <[email protected]> Date: Thu Oct 24 09:54:31 2024 -0400 Add back `actionID` to `StateKeys()` (#1683) commit cf6d48a Author: Richard Pringle <[email protected]> Date: Wed Oct 23 15:11:25 2024 -0400 Force test-context to be initialized with an actor (#1682) commit 1a3c670 Author: Sam Liokumovich <[email protected]> Date: Wed Oct 23 14:26:09 2024 -0400 Refactor Workload (#1668) Signed-off-by: Sam Liokumovich <[email protected]> Co-authored-by: aaronbuchwald <[email protected]> commit 403bfb3 Author: rodrigo <[email protected]> Date: Tue Oct 22 21:56:25 2024 -0400 Decouple State Manager (#1658) commit 61993f8 Author: Richard Pringle <[email protected]> Date: Mon Oct 21 14:25:25 2024 -0400 Revert "Make Morpheus build script take optional path (#1671)" (#1673) commit 87cf88a Author: aaronbuchwald <[email protected]> Date: Mon Oct 21 12:39:13 2024 -0400 Update min go version to go1.22.8 (#1672) commit 22241f5 Author: Richard Pringle <[email protected]> Date: Fri Oct 18 14:18:53 2024 -0400 Make Morpheus build script take optional path (#1671) commit 0658976 Author: Richard Pringle <[email protected]> Date: Wed Oct 16 18:37:50 2024 -0400 Move runtime tests into contracts-ci (#1666) commit e3d911a Author: Sam Liokumovich <[email protected]> Date: Sun Oct 13 17:45:32 2024 -0400 Remove global variables from spam script (#1659) commit bca7739 Author: Tsachi Herman <[email protected]> Date: Fri Oct 11 11:41:27 2024 -0400 Create SignedTransaction out of the existing Transaction (#1640) commit 6f15b2f Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 20:47:49 2024 -0400 Include Spam Config Defaults (#1657) commit b3713a1 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 20:16:23 2024 -0400 Separate Spam Broadcast Functionality (#1653) commit 182e023 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 18:19:44 2024 -0400 Decouple Spam Functionality from CLI into Throughput Package (#1636) commit b8104ac Author: aaronbuchwald <[email protected]> Date: Thu Oct 10 14:44:08 2024 -0400 Fix incorrect naming of stateless block (#1652) commit 725a589 Author: aaronbuchwald <[email protected]> Date: Thu Oct 10 10:12:59 2024 -0400 Use CreateActionID to give simulated actions unique actionID (#1644) commit 0a2d991 Author: aaronbuchwald <[email protected]> Date: Thu Oct 10 09:57:25 2024 -0400 Update ActionRegistry to ActionCodec (#1650) commit 829b991 Author: containerman17 <[email protected]> Date: Thu Oct 10 22:42:19 2024 +0900 Reflect Marshaler (#1592) Signed-off-by: containerman17 <[email protected]> commit b3c991f Author: Tsachi Herman <[email protected]> Date: Thu Oct 10 09:36:21 2024 -0400 add simulateTransaction endpoint (#1610) Signed-off-by: Tsachi Herman <[email protected]> commit cbb6a33 Author: containerman17 <[email protected]> Date: Thu Oct 10 22:24:22 2024 +0900 Add boolean support to the ABI spec (#1648) Signed-off-by: containerman17 <[email protected]> commit 5d8c590 Author: Sam Liokumovich <[email protected]> Date: Thu Oct 10 09:21:46 2024 -0400 Remove marshaling from transfer action (#1647) commit b934dbd Author: Joshua Kim <[email protected]> Date: Wed Oct 9 16:52:29 2024 -0400 Remove type alias for Action + Auth + Output Registry (#1547) Signed-off-by: Joshua Kim <[email protected]> commit b5407c9 Author: containerman17 <[email protected]> Date: Thu Oct 10 00:45:38 2024 +0900 Simulate a chain of actions (#1635) commit fee360f Author: Tsachi Herman <[email protected]> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 Author: Joshua Kim <[email protected]> Date: Wed Oct 2 12:38:34 2024 -0400 Replace usage of `internal/network` with `p2p` (#1613) Signed-off-by: Joshua Kim <[email protected]> commit 79f363e Author: containerman17 <[email protected]> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 Author: Joshua Kim <[email protected]> Date: Tue Oct 1 20:02:30 2024 -0400 Update to [email protected] (#1614) Signed-off-by: Joshua Kim <[email protected]> commit 59c84d7 Author: aaronbuchwald <[email protected]> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 Author: Tsachi Herman <[email protected]> Date: Tue Oct 1 09:26:32 2024 -0400 validate buffer length prior to calling Uint64 (#1588) commit c24f0d8 Author: rodrigo <[email protected]> Date: Tue Oct 1 09:25:18 2024 -0400 Fix VM-With-Contracts Unit Tests (#1602) commit 8ab9d83 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <[email protected]> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e Author: Franfran <[email protected]> Date: Mon Sep 30 16:42:00 2024 +0200 Write FIFO cache unit tests (#1201) * write FIFO cache unit tests * invert expected / actual * add limit parameter and cache fail on 0 size * simplify test table and create new test for empty cache * simpler tests by having a limit of 2 * fix test cases * typos * backout uselesss change * add a "not an LRU" test case * use switch in fifo unit tests commit f1150a1 Author: aaronbuchwald <[email protected]> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 Author: Joshua Kim <[email protected]> Date: Thu Sep 26 15:44:56 2024 -0400 Remove usage of mockgen (#1591) Signed-off-by: Joshua Kim <[email protected]> commit 49376bd Author: rodrigo <[email protected]> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <[email protected]> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b Author: containerman17 <[email protected]> Date: Tue Sep 24 23:19:18 2024 +0900 Remove special cases for Bytes, add arrays support (#1587) commit 3410599 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <[email protected]> Date: Thu Sep 19 07:58:39 2024 -0400 Separate proposer monitor from vm into internal package (#1574) Signed-off-by: Joshua Kim <[email protected]>
commit fee360f Author: Tsachi Herman <[email protected]> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <[email protected]> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <[email protected]> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <[email protected]> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 Author: Joshua Kim <[email protected]> Date: Wed Oct 2 12:38:34 2024 -0400 Replace usage of `internal/network` with `p2p` (#1613) Signed-off-by: Joshua Kim <[email protected]> commit 79f363e Author: containerman17 <[email protected]> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 Author: Joshua Kim <[email protected]> Date: Tue Oct 1 20:02:30 2024 -0400 Update to [email protected] (#1614) Signed-off-by: Joshua Kim <[email protected]> commit 59c84d7 Author: aaronbuchwald <[email protected]> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 Author: Tsachi Herman <[email protected]> Date: Tue Oct 1 09:26:32 2024 -0400 validate buffer length prior to calling Uint64 (#1588) commit c24f0d8 Author: rodrigo <[email protected]> Date: Tue Oct 1 09:25:18 2024 -0400 Fix VM-With-Contracts Unit Tests (#1602) commit 8ab9d83 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <[email protected]> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <[email protected]> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e Author: Franfran <[email protected]> Date: Mon Sep 30 16:42:00 2024 +0200 Write FIFO cache unit tests (#1201) * write FIFO cache unit tests * invert expected / actual * add limit parameter and cache fail on 0 size * simplify test table and create new test for empty cache * simpler tests by having a limit of 2 * fix test cases * typos * backout uselesss change * add a "not an LRU" test case * use switch in fifo unit tests commit f1150a1 Author: aaronbuchwald <[email protected]> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 Author: Joshua Kim <[email protected]> Date: Thu Sep 26 15:44:56 2024 -0400 Remove usage of mockgen (#1591) Signed-off-by: Joshua Kim <[email protected]> commit 49376bd Author: rodrigo <[email protected]> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <[email protected]> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b Author: containerman17 <[email protected]> Date: Tue Sep 24 23:19:18 2024 +0900 Remove special cases for Bytes, add arrays support (#1587) commit 3410599 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <[email protected]> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <[email protected]> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <[email protected]> Date: Thu Sep 19 07:58:39 2024 -0400 Separate proposer monitor from vm into internal package (#1574) Signed-off-by: Joshua Kim <[email protected]>
This PR adds block indexing to the indexer API.
The new API serves both the block JSON and the
ExecutedBlock
bytes to support both #1513 and decoding the response in the golang indexer client.We can't unmarshal the block's JSON as is because it requires unmarshalling into the
Action
andAuth
interfaces within the transaction. This PR includes both the JSON and binary in the response to support both cases.