-
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
Implement multisig example #1581
Conversation
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's looking really good, short and sweet!
The double spend test is failing and I haven't seen anything preventing it.
The contract call is probably blocked by #1417, it may also make sense to let the actor specify the max_units
. If the call fails, it will revert the transaction.
Finally, the Any
option from the Voters
enum definitely looks interesting but I'm thinking that there should at least be some kind of vesting or locked stake to avoid anyone to just spam the votes. No strong opinion here and we could leave as-is since it's just an example.
// TODO: fix this | ||
// let remaining_fuel = ctx.remaining_fuel(); | ||
let remaining_fuel = 0; |
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's my fault, I'll need to push on #1417
if !voters.contains(actor) || votes_remaining == 0 { | ||
return None; | ||
} |
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's a little weird that the actor check is done after having stored the vote, even though it should not have any security flaw what do you think about having this check before ?
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'll have to look again, but I think I fixed this ignore this
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.
Honestly, the reason I did it this way is that it's the voter that's paying for the vote, it's really up to them to ensure whether or not they can vote.
The logic flows like this
- if the voter hasn't voted, cast their vote
- if the vote affects quorum, record the change
- if a quorum is reached, execute the proposal
Doing things in this order is much simpler as you only deal with one piece of state at a time. Otherwise, there's more branching logic that I just don't care to optimize for.
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.
Makes sense! It's just a code smell, for example if someone wants to extend the code and expects the votes in the Vote
state keys to be part of the voters in order to sum the amount of votes then they might get surprised.
You might as well just write
if !voters.contains(actor) || votes_remaining == 0 { | |
return None; | |
} | |
let actor = ctx.actor(); | |
let ProposalMeta { | |
voters, | |
votes_remaining, | |
} = ctx | |
.get(ProposalVoteInfo(proposal_id)) | |
.expect("failed to deserialize") | |
.expect("proposal not found"); | |
if !voters.contains(actor) || votes_remaining == 0 { | |
return None; | |
} | |
ctx.store_by_key(Vote(proposal_id, actor), vote) | |
.expect("failed to serialize"); | |
if !vote { | |
return None; | |
} |
The suggestion diff is not perfect but essentially just moving the "effects" after the "checks", but no changes are required.
67ff55e
to
85f4402
Compare
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.
🚀 🚀 🚀
if !voters.contains(actor) || votes_remaining == 0 { | ||
return None; | ||
} |
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.
Makes sense! It's just a code smell, for example if someone wants to extend the code and expects the votes in the Vote
state keys to be part of the voters in order to sum the amount of votes then they might get surprised.
You might as well just write
if !voters.contains(actor) || votes_remaining == 0 { | |
return None; | |
} | |
let actor = ctx.actor(); | |
let ProposalMeta { | |
voters, | |
votes_remaining, | |
} = ctx | |
.get(ProposalVoteInfo(proposal_id)) | |
.expect("failed to deserialize") | |
.expect("proposal not found"); | |
if !voters.contains(actor) || votes_remaining == 0 { | |
return None; | |
} | |
ctx.store_by_key(Vote(proposal_id, actor), vote) | |
.expect("failed to serialize"); | |
if !vote { | |
return None; | |
} |
The suggestion diff is not perfect but essentially just moving the "effects" after the "checks", but no changes are required.
|
||
pub type ProposalId = usize; | ||
|
||
state_schema! { |
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.
can we add some comments to these state variables? Makes it easier for a new dev to come to the examples folder and understand how the multisig example is structured
let remaining_fuel = 1_000_000; | ||
|
||
let result: DeferDeserialization = ctx | ||
.call_contract(contract_address, &function_name, &args, remaining_fuel, 0) |
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.
thinking if there could be some re-entrancy attack here. Could an attacker create two smart contracts, one that creates a proposal and another that votes for it, and then continuously call 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.
the gas would run out, but could be a good way to test re-entrancy nonetheless
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.
Haha, yeah, I guess it would drain the gas of the quorum voter. In practice, I don't think this is a big deal because you would have to hard-code the vote, which would be an immediate red flag (assuming that you would audit the code that you're voting for).
} | ||
|
||
#[cfg(test)] | ||
mod tests { |
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.
unit and integration tests are niceeeee
85f4402
to
cb04357
Compare
3a0adb4
to
3753065
Compare
3753065
to
060c8dc
Compare
7630fbe
to
d619f73
Compare
commit fee360f Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 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 79f363e Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 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 59c84d7 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 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 c24f0d8 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 8ab9d83 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e 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 f1150a1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 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 49376bd Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <richard.pringle@avalabs.org> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b 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 3410599 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <aaron.buchwald56@gmail.com> 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>
commit b2ad4d3 Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Sun Nov 3 16:01:37 2024 -0500 support procedural test style for VM-defined workloads (#1667) Signed-off-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> commit dbcc6c9 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 31 16:42:44 2024 -0400 Update wasmtime-go (#1705) commit 1015ae1 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 31 12:47:45 2024 -0400 Remove HRP + Decimals dead code (#1703) commit 24bacf8 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Wed Oct 30 10:31:38 2024 -0400 Action Test Reusing Store (#1700) commit 1ce6ad8 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Tue Oct 29 13:23:56 2024 -0400 Don't benchmark serializing parameters (#1697) commit 1c43f7e Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Tue Oct 29 13:16:34 2024 -0400 Call Contract Benchmarks (#1696) commit 7bd1a49 Author: nathan haim <haim.nathan@icloud.com> Date: Sat Oct 26 20:41:26 2024 +0200 state: Make state.Keys JSON human readable (#1661) Signed-off-by: nathan haim <nathan.haim@free.fr> commit c592a1d Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Fri Oct 25 14:02:08 2024 -0400 Add `balance` cmd to CLI (#1691) commit 7fac7fa Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Fri Oct 25 13:28:52 2024 -0400 Default Contract Manager Implementation (#1687) commit 0459bd4 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Fri Oct 25 12:23:04 2024 -0400 Add Getter to `BalanceHandler` (#1685) commit 960b790 Author: containerman17 <8990432+containerman17@users.noreply.github.com> 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 <8990432+containerman17@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Aaron Buchwald <aaron.buchwald56@gmail.com> commit ef66271 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 24 15:45:17 2024 -0400 Move vmwithcontracts out of examples (#1676) commit 3895ff5 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 24 14:59:57 2024 -0400 Implement NFT example (#1684) commit 82dc621 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Thu Oct 24 09:54:31 2024 -0400 Add back `actionID` to `StateKeys()` (#1683) commit cf6d48a Author: Richard Pringle <richard.pringle@avalabs.org> Date: Wed Oct 23 15:11:25 2024 -0400 Force test-context to be initialized with an actor (#1682) commit 1a3c670 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Wed Oct 23 14:26:09 2024 -0400 Refactor Workload (#1668) Signed-off-by: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com> commit 403bfb3 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Tue Oct 22 21:56:25 2024 -0400 Decouple State Manager (#1658) commit 61993f8 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Mon Oct 21 14:25:25 2024 -0400 Revert "Make Morpheus build script take optional path (#1671)" (#1673) commit 87cf88a Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Oct 21 12:39:13 2024 -0400 Update min go version to go1.22.8 (#1672) commit 22241f5 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Oct 18 14:18:53 2024 -0400 Make Morpheus build script take optional path (#1671) commit 0658976 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Wed Oct 16 18:37:50 2024 -0400 Move runtime tests into contracts-ci (#1666) commit e3d911a Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Sun Oct 13 17:45:32 2024 -0400 Remove global variables from spam script (#1659) commit bca7739 Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Fri Oct 11 11:41:27 2024 -0400 Create SignedTransaction out of the existing Transaction (#1640) commit 6f15b2f Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 20:47:49 2024 -0400 Include Spam Config Defaults (#1657) commit b3713a1 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 20:16:23 2024 -0400 Separate Spam Broadcast Functionality (#1653) commit 182e023 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 18:19:44 2024 -0400 Decouple Spam Functionality from CLI into Throughput Package (#1636) commit b8104ac Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 10 14:44:08 2024 -0400 Fix incorrect naming of stateless block (#1652) commit 725a589 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 10 10:12:59 2024 -0400 Use CreateActionID to give simulated actions unique actionID (#1644) commit 0a2d991 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 10 09:57:25 2024 -0400 Update ActionRegistry to ActionCodec (#1650) commit 829b991 Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Thu Oct 10 22:42:19 2024 +0900 Reflect Marshaler (#1592) Signed-off-by: containerman17 <8990432+containerman17@users.noreply.github.com> commit b3c991f Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Thu Oct 10 09:36:21 2024 -0400 add simulateTransaction endpoint (#1610) Signed-off-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> commit cbb6a33 Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Thu Oct 10 22:24:22 2024 +0900 Add boolean support to the ABI spec (#1648) Signed-off-by: containerman17 <8990432+containerman17@users.noreply.github.com> commit 5d8c590 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 09:21:46 2024 -0400 Remove marshaling from transfer action (#1647) commit b934dbd Author: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> Date: Wed Oct 9 16:52:29 2024 -0400 Remove type alias for Action + Auth + Output Registry (#1547) Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> commit b5407c9 Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Thu Oct 10 00:45:38 2024 +0900 Simulate a chain of actions (#1635) commit fee360f Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 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 79f363e Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 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 59c84d7 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 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 c24f0d8 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 8ab9d83 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e 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 f1150a1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 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 49376bd Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <richard.pringle@avalabs.org> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b 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 3410599 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <aaron.buchwald56@gmail.com> 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>
commit b2ad4d3 Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Sun Nov 3 16:01:37 2024 -0500 support procedural test style for VM-defined workloads (#1667) Signed-off-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> commit dbcc6c9 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 31 16:42:44 2024 -0400 Update wasmtime-go (#1705) commit 1015ae1 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 31 12:47:45 2024 -0400 Remove HRP + Decimals dead code (#1703) commit 24bacf8 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Wed Oct 30 10:31:38 2024 -0400 Action Test Reusing Store (#1700) commit 1ce6ad8 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Tue Oct 29 13:23:56 2024 -0400 Don't benchmark serializing parameters (#1697) commit 1c43f7e Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Tue Oct 29 13:16:34 2024 -0400 Call Contract Benchmarks (#1696) commit 7bd1a49 Author: nathan haim <haim.nathan@icloud.com> Date: Sat Oct 26 20:41:26 2024 +0200 state: Make state.Keys JSON human readable (#1661) Signed-off-by: nathan haim <nathan.haim@free.fr> commit c592a1d Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Fri Oct 25 14:02:08 2024 -0400 Add `balance` cmd to CLI (#1691) commit 7fac7fa Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Fri Oct 25 13:28:52 2024 -0400 Default Contract Manager Implementation (#1687) commit 0459bd4 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Fri Oct 25 12:23:04 2024 -0400 Add Getter to `BalanceHandler` (#1685) commit 960b790 Author: containerman17 <8990432+containerman17@users.noreply.github.com> 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 <8990432+containerman17@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Aaron Buchwald <aaron.buchwald56@gmail.com> commit ef66271 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 24 15:45:17 2024 -0400 Move vmwithcontracts out of examples (#1676) commit 3895ff5 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 24 14:59:57 2024 -0400 Implement NFT example (#1684) commit 82dc621 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Thu Oct 24 09:54:31 2024 -0400 Add back `actionID` to `StateKeys()` (#1683) commit cf6d48a Author: Richard Pringle <richard.pringle@avalabs.org> Date: Wed Oct 23 15:11:25 2024 -0400 Force test-context to be initialized with an actor (#1682) commit 1a3c670 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Wed Oct 23 14:26:09 2024 -0400 Refactor Workload (#1668) Signed-off-by: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com> commit 403bfb3 Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Tue Oct 22 21:56:25 2024 -0400 Decouple State Manager (#1658) commit 61993f8 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Mon Oct 21 14:25:25 2024 -0400 Revert "Make Morpheus build script take optional path (#1671)" (#1673) commit 87cf88a Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Oct 21 12:39:13 2024 -0400 Update min go version to go1.22.8 (#1672) commit 22241f5 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Oct 18 14:18:53 2024 -0400 Make Morpheus build script take optional path (#1671) commit 0658976 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Wed Oct 16 18:37:50 2024 -0400 Move runtime tests into contracts-ci (#1666) commit e3d911a Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Sun Oct 13 17:45:32 2024 -0400 Remove global variables from spam script (#1659) commit bca7739 Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Fri Oct 11 11:41:27 2024 -0400 Create SignedTransaction out of the existing Transaction (#1640) commit 6f15b2f Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 20:47:49 2024 -0400 Include Spam Config Defaults (#1657) commit b3713a1 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 20:16:23 2024 -0400 Separate Spam Broadcast Functionality (#1653) commit 182e023 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 18:19:44 2024 -0400 Decouple Spam Functionality from CLI into Throughput Package (#1636) commit b8104ac Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 10 14:44:08 2024 -0400 Fix incorrect naming of stateless block (#1652) commit 725a589 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 10 10:12:59 2024 -0400 Use CreateActionID to give simulated actions unique actionID (#1644) commit 0a2d991 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 10 09:57:25 2024 -0400 Update ActionRegistry to ActionCodec (#1650) commit 829b991 Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Thu Oct 10 22:42:19 2024 +0900 Reflect Marshaler (#1592) Signed-off-by: containerman17 <8990432+containerman17@users.noreply.github.com> commit b3c991f Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Thu Oct 10 09:36:21 2024 -0400 add simulateTransaction endpoint (#1610) Signed-off-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> commit cbb6a33 Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Thu Oct 10 22:24:22 2024 +0900 Add boolean support to the ABI spec (#1648) Signed-off-by: containerman17 <8990432+containerman17@users.noreply.github.com> commit 5d8c590 Author: Sam Liokumovich <65994425+samliok@users.noreply.github.com> Date: Thu Oct 10 09:21:46 2024 -0400 Remove marshaling from transfer action (#1647) commit b934dbd Author: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> Date: Wed Oct 9 16:52:29 2024 -0400 Remove type alias for Action + Auth + Output Registry (#1547) Signed-off-by: Joshua Kim <20001595+joshua-kim@users.noreply.github.com> commit b5407c9 Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Thu Oct 10 00:45:38 2024 +0900 Simulate a chain of actions (#1635) commit fee360f Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 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 79f363e Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 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 59c84d7 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 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 c24f0d8 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 8ab9d83 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e 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 f1150a1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 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 49376bd Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <richard.pringle@avalabs.org> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b 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 3410599 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <aaron.buchwald56@gmail.com> 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>
commit fee360f Author: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com> Date: Fri Oct 4 11:23:58 2024 -0400 refactor marshalActions implementation (#1631) commit 2cb5530 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:49:12 2024 -0400 Add block indexing to Indexer API (#1606) commit f1bcc59 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 18:31:39 2024 -0400 Add JSON marshalling to Result (#1627) commit 2ea784a Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:54:10 2024 -0400 Implement multisig example (#1581) commit 6bbf236 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Thu Oct 3 12:43:41 2024 -0400 Update codeowners (#1629) commit 47849d8 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Thu Oct 3 08:34:51 2024 -0400 Re-mark pubsub tests as flaky (#1625) commit d847132 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:23:24 2024 -0400 Reduce tests.unit.sh timeout value less than CI job (#1623) commit 404e74f Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Wed Oct 2 14:07:04 2024 -0400 Add JSON marshalling for fee dimensions (#1622) commit 7e53003 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 79f363e Author: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Wed Oct 2 11:53:59 2024 +0900 Standardize decimals (#1620) commit e191c88 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 59c84d7 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Tue Oct 1 17:19:17 2024 -0400 Add ExecutedBlock type (#1601) commit 165a455 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 c24f0d8 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 8ab9d83 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 16:57:29 2024 -0400 Minor nits on pubsub implementation (#1593) commit 592cd7a Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Mon Sep 30 12:46:35 2024 -0400 Remove `StateKeysMaxChunks()` (#1607) commit 3e358c1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 30 12:46:20 2024 -0400 Update ActionBenchmark to use single ExpectedOutput (#1608) commit e78841e 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 f1150a1 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Fri Sep 27 17:46:28 2024 -0400 Update tx indexer to include tx action outputs (#1597) commit 6a3fd63 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 49376bd Author: rodrigo <77309055+RodrigoVillar@users.noreply.github.com> Date: Thu Sep 26 14:39:59 2024 -0400 Fix benchmarks (#1590) commit 77a73ba Author: Richard Pringle <richard.pringle@avalabs.org> Date: Tue Sep 24 12:38:27 2024 -0400 Ignore gas on mock-function-call (#1585) commit 1bbab7b 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 3410599 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:55 2024 -0400 Add spam cmd to morpheus readme (#1577) commit dfefd27 Author: aaronbuchwald <aaron.buchwald56@gmail.com> Date: Mon Sep 23 12:34:32 2024 -0400 Improve chain comments (#1579) commit 6c15244 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 16:10:21 2024 -0400 Series of changes that improve development (#1583) commit e0a3324 Author: Richard Pringle <richard.pringle@avalabs.org> Date: Fri Sep 20 13:12:58 2024 -0400 Use repr(packed) with state-keys (#1580) commit 75c6cfd Author: aaronbuchwald <aaron.buchwald56@gmail.com> 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>
I still need to fix the gas stuff for the mock