From 864f03d3e7ac954a6855c4d8460d554c12d616e0 Mon Sep 17 00:00:00 2001 From: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> Date: Thu, 10 Oct 2024 16:52:04 -0400 Subject: [PATCH] Squashed commit of the following: commit fee360ff9631085203012d171ff56e1634aa4736 Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530322e7dbf2e3f704c7bd3d6bdf03e79181 Author: aaronbuchwald Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc5948cc85fba27fbb3e0e73f2a1a0cfc1694 Author: aaronbuchwald Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a27d015bccd101cc55187bca6abed49d79 Author: Richard Pringle Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf2364fbbbee9a989c52b584585c797713745b Author: Richard Pringle Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8c3994e3971c75fbb29635eb13494120f6 Author: aaronbuchwald Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d8471325b348a043954b97455529c6f2f454b4b1 Author: aaronbuchwald Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74fcfd1ea061e1108733f336e3c664dc2501 Author: aaronbuchwald Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003f25dd11a2ce1f48edb96025f808954a58 Author: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> Date: Wed Oct 2 12:38:34 2024 -0400 Replace usage of `internal/network` with `p2p` (#1613) Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> commit 79f363e94e37090ce5618f574aa920a6eaa3f8d7 Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88fb7b4d22ab9130d068a2daf798ae6d570 Author: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> Date: Tue Oct 1 20:02:30 2024 -0400 Update to avalanchego@v1.11.12-rc.2 (#1614) Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> commit 59c84d7e3fa2ec7c7fa4398bde8cb6269c8bd8a0 Author: aaronbuchwald Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455a7f235246830a497dccf40ded58da0752 Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Tue Oct 1 09:26:32 2024 -0400 validate buffer length prior to calling Uint64 (#1588) commit c24f0d8451a1a2350bcad444db374939ff0ba7d1 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Tue Oct 1 09:25:18 2024 -0400 Fix VM-With-Contracts Unit Tests (#1602) commit 8ab9d833695ac3ac591abafe47ec18c2207b5a54 Author: aaronbuchwald Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a82a1533ba8a70537cbec15003412ee465 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c10f6a2e31a711cc88655fb4ddfbdced37a Author: aaronbuchwald Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841eb0a3ba3165a099343ec56ec7aa668d871 Author: Franfran <51274081+iFrostizz@users.noreply.github.com> 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 f1150a1a8113d7455aaf81efe3ded0893634008e Author: aaronbuchwald Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63cad21556f91ac06ceacc695d691bfad12 Author: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> Date: Thu Sep 26 15:44:56 2024 -0400 Remove usage of mockgen (#1591) Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> commit 49376bd169fdfe4223de54d5e806e421e4d7492d Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73baff7574285cb075314f70e7e5bfe05786c Author: Richard Pringle Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b32596d984cec195fce589c529db73ba2e Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Tue Sep 24 23:19:18 2024 +0900 Remove special cases for Bytes, add arrays support (#1587) commit 34105994461c54524257734cf4f60e258e4fbefd Author: aaronbuchwald Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27fc26c6a235c78ceb582d9a0fc692db428 Author: aaronbuchwald Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244c1d93c378a94f3ae58c8dc046ee70bf6f Author: Richard Pringle Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324765fbaf422d5ea945b89f1e980ee6b30a Author: Richard Pringle Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfdd0c7be33c788d2119eb40430233bf63a2 Author: aaronbuchwald Date: Thu Sep 19 07:58:39 2024 -0400 Separate proposer monitor from vm into internal package (#1574) Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> --- examples/morpheusvm/README.md | 33 ++++++++++++++++++++++++++++++ x/contracts/vm/actions/call.go | 2 +- x/contracts/vm/actions/deploy.go | 2 +- x/contracts/vm/actions/transfer.go | 2 +- 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/examples/morpheusvm/README.md b/examples/morpheusvm/README.md index d2441b1782..def83567e8 100644 --- a/examples/morpheusvm/README.md +++ b/examples/morpheusvm/README.md @@ -320,3 +320,36 @@ height:635 txs:10 root:2W6eEZQYqD9xCsZoDPjASqtZx25fyUUobpesuKJJAxnFMU4RJi size:2 ✅ 2WXLjEXf25WeinidC9qmghZWbCeDa26F8pwwkFb53MSsEQm1NL actor: 0090dc1ecabfc7680d68bc226158095861544b9309b251eed2f3d2425bc991285f summary (*actions.Transfer): [0.000000001 RED -> 0090dc1ecabfc7680d68bc226158095861544b9309b251eed2f3d2425bc991285f ] fee (max 86.84%): 0.000029700 RED consumed: [bandwidth=200 compute=7 storage(read)=14 storage(allocate)=50 storage(write)=26] ``` + +If you are running this on a local network, you may see that all blocks are empty. +To view the same results with non-empty transactions, you can run the spam command from another window: +```bash +./build/morpheus-cli spam run ed25519 +``` + +After inputting the parameters, you'll see output from the spam command showing inflight transactions: + +``` +minimum txs to issue per second: 10 +txs to increase per second: 10 +number of clients per node: 10 +unique participants expected every 60s: 10 +distributing funds to each account: 999.978355900 RED +distributed funds to 10 accounts +initial target tps: 10 +txs seen: 10 success rate: 100.00% inflight: 10 issued/s: 21 unit prices: [bandwidth=100 compute=100 storage(read)=100 storage(allocate)=100 storage(write)=100] +``` + +The transactions will start to show up in the CLI explorer tool as well: + +``` +watching for new blocks on bsED31vJbynkhzKrjtNFtUXcg6Y78MjQLg1KBgesMw1xom8F9 👀 +height:634 txs:0 root:B6upYeCegoR5bvfUGLo9GqbymyBCgXNobpTk53HBFNBZGG4aM size:0.08KB units consumed: [bandwidth=0 compute=0 storage(read)=0 storage(allocate)=0 storage(write)=0] unit prices: [bandwidth=100 compute=100 storage(read)=100 storage(allocate)=100 storage(write)=100] +height:635 txs:10 root:2W6eEZQYqD9xCsZoDPjASqtZx25fyUUobpesuKJJAxnFMU4RJi size:2.04KB units consumed: [bandwidth=2000 compute=70 storage(read)=140 storage(allocate)=500 storage(write)=260] unit prices: [bandwidth=100 compute=100 storage(read)=100 storage(allocate)=100 storage(write)=100] [TPS:85.69 latency:81ms gap:116ms] +✅ 2QEttqwxZyMF8Lzyj44wpsEhpbVyASq8c7Z4ogh3DDrWDKgKyh actor: 0090dc1ecabfc7680d68bc226158095861544b9309b251eed2f3d2425bc991285f summary (*actions.Transfer): [0.000000001 RED -> 0090dc1ecabfc7680d68bc226158095861544b9309b251eed2f3d2425bc991285f +] fee (max 86.84%): 0.000029700 RED consumed: [bandwidth=200 compute=7 storage(read)=14 storage(allocate)=50 storage(write)=26] +✅ 2HVNY8gbeBCrNiekTReGpKZ9hqkZea8Wf4VGjbdroorwEY7s7u actor: 00bd82f4be137f29222695f693e72a9e85e83510e575a3e485eb306a8ad5999010 summary (*actions.Transfer): [0.000000001 RED -> 00bd82f4be137f29222695f693e72a9e85e83510e575a3e485eb306a8ad5999010 +] fee (max 86.84%): 0.000029700 RED consumed: [bandwidth=200 compute=7 storage(read)=14 storage(allocate)=50 storage(write)=26] +✅ 2WXLjEXf25WeinidC9qmghZWbCeDa26F8pwwkFb53MSsEQm1NL actor: 0090dc1ecabfc7680d68bc226158095861544b9309b251eed2f3d2425bc991285f summary (*actions.Transfer): [0.000000001 RED -> 0090dc1ecabfc7680d68bc226158095861544b9309b251eed2f3d2425bc991285f +] fee (max 86.84%): 0.000029700 RED consumed: [bandwidth=200 compute=7 storage(read)=14 storage(allocate)=50 storage(write)=26] +``` diff --git a/x/contracts/vm/actions/call.go b/x/contracts/vm/actions/call.go index 99e53a7009..348f8bf0eb 100644 --- a/x/contracts/vm/actions/call.go +++ b/x/contracts/vm/actions/call.go @@ -55,7 +55,7 @@ func (*Call) GetTypeID() uint8 { return mconsts.CallContractID } -func (t *Call) StateKeys(_ codec.Address, _ ids.ID) state.Keys { +func (t *Call) StateKeys(_ codec.Address) state.Keys { result := state.Keys{} for _, stateKeyPermission := range t.SpecifiedStateKeys { result.Add(stateKeyPermission.Key, stateKeyPermission.Permission) diff --git a/x/contracts/vm/actions/deploy.go b/x/contracts/vm/actions/deploy.go index f25a9e1075..3a3f6e5a3b 100644 --- a/x/contracts/vm/actions/deploy.go +++ b/x/contracts/vm/actions/deploy.go @@ -33,7 +33,7 @@ func (*Deploy) GetTypeID() uint8 { return mconsts.DeployID } -func (d *Deploy) StateKeys(_ codec.Address, _ ids.ID) state.Keys { +func (d *Deploy) StateKeys(_ codec.Address) state.Keys { if d.address == codec.EmptyAddress { d.address = storage.GetAddressForDeploy(0, d.CreationInfo) } diff --git a/x/contracts/vm/actions/transfer.go b/x/contracts/vm/actions/transfer.go index de68a110d3..1d01fb0387 100644 --- a/x/contracts/vm/actions/transfer.go +++ b/x/contracts/vm/actions/transfer.go @@ -44,7 +44,7 @@ func (*Transfer) GetTypeID() uint8 { return mconsts.TransferID } -func (t *Transfer) StateKeys(actor codec.Address, _ ids.ID) state.Keys { +func (t *Transfer) StateKeys(actor codec.Address) state.Keys { return state.Keys{ string(storage.BalanceKey(actor)): state.Read | state.Write, string(storage.BalanceKey(t.To)): state.All,