Skip to content
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

Merged
merged 1 commit into from
Oct 3, 2024
Merged

Implement multisig example #1581

merged 1 commit into from
Oct 3, 2024

Conversation

richardpringle
Copy link
Contributor

I still need to fix the gas stuff for the mock

  • Use repr(packed) with state-keys
  • Implement basic multisig example

Copy link
Contributor

@iFrostizz iFrostizz left a 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.

Comment on lines 82 to 84
// TODO: fix this
// let remaining_fuel = ctx.remaining_fuel();
let remaining_fuel = 0;
Copy link
Contributor

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

Comment on lines +57 to +93
if !voters.contains(actor) || votes_remaining == 0 {
return None;
}
Copy link
Contributor

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 ?

Copy link
Contributor Author

@richardpringle richardpringle Sep 20, 2024

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

Copy link
Contributor Author

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.

Copy link
Contributor

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

Suggested change
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.

x/contracts/examples/multisig/src/lib.rs Show resolved Hide resolved
x/contracts/examples/multisig/src/lib.rs Show resolved Hide resolved
x/contracts/examples/multisig/src/lib.rs Outdated Show resolved Hide resolved
@richardpringle richardpringle force-pushed the multisig branch 7 times, most recently from 67ff55e to 85f4402 Compare September 24, 2024 19:38
@richardpringle richardpringle marked this pull request as ready for review September 24, 2024 19:38
Copy link
Contributor

@iFrostizz iFrostizz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 🚀 🚀

Comment on lines +57 to +93
if !voters.contains(actor) || votes_remaining == 0 {
return None;
}
Copy link
Contributor

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

Suggested change
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.

samliok
samliok previously approved these changes Sep 25, 2024

pub type ProposalId = usize;

state_schema! {
Copy link
Contributor

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)
Copy link
Contributor

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?

Copy link
Contributor

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

Copy link
Contributor Author

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 {
Copy link
Contributor

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

@richardpringle
Copy link
Contributor Author

@samliok changes since your last review:
3a0adb4

(I'm going to squash them though)

samliok
samliok previously approved these changes Oct 3, 2024
@richardpringle richardpringle merged commit 2ea784a into main Oct 3, 2024
17 checks passed
@richardpringle richardpringle deleted the multisig branch October 3, 2024 16:58
joshua-kim added a commit that referenced this pull request Oct 10, 2024
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]>
joshua-kim added a commit that referenced this pull request Nov 4, 2024
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]>
joshua-kim added a commit that referenced this pull request Nov 4, 2024
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]>
joshua-kim added a commit that referenced this pull request Nov 4, 2024
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants