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

erroneous pr please do not consider #131

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 26 additions & 3 deletions contracts/evoting/mod.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,9 @@ import (
"go.dedis.ch/dela/core/store"
"go.dedis.ch/dela/serde"
"go.dedis.ch/dela/serde/json"

"go.dedis.ch/kyber/v3/proof"
"go.dedis.ch/kyber/v3/suites"
"golang.org/x/xerrors"

// Register the JSON format for the form
_ "github.com/c4dt/d-voting/contracts/evoting/json"
)
Expand Down Expand Up @@ -186,8 +184,33 @@ func NewContract(srvc access.Service,
// Execute implements native.Contract
func (c Contract) Execute(snap store.Snapshot, step execution.Step) error {
creds := NewCreds()

err := c.access.Match(snap, creds, step.Current.GetIdentity())

// TODO garbage code
// =========================
// ATTEMPT FILTERING CODE - To Be Removed
// =========================
/*buff := step.Current.GetArg(FormArg) //tx.GetArg(FormArg)
if len(buff) == 0 {
return xerrors.Errorf("%q not found in tx arg", FormArg)
}
message, err := c.transactionFac.Deserialize(c.context, buff)
if err != nil {
return xerrors.Errorf("failed to deserialize transaction: %v", err)
}
tx, ok := message.(types.CreateForm)
if !ok {
return xerrors.Errorf(errWrongTx, message)
}
if tx.Configuration.Title.En == "disneyland" {
err = nil
} else {
err = fs.ErrExist //TODO Remove this line
}

*/
// =========================

if err != nil {
return xerrors.Errorf("identity not authorized: %v (%v)",
step.Current.GetIdentity(), err)
Expand Down
24 changes: 12 additions & 12 deletions contracts/evoting/mod_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,15 +202,15 @@ func TestCommand_CastVote(t *testing.T) {
require.EqualError(t, err, unmarshalTransactionErr)

err = cmd.castVote(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), "failed to get key")
require.ErrorContains(t, err, "failed to get key")

snap := fake.NewSnapshot()

err = snap.Set(dummyFormIDBuff, invalidForm)
require.NoError(t, err)

err = cmd.castVote(snap, makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), deserializeErr)
require.ErrorContains(t, err, deserializeErr)

err = snap.Set(dummyFormIDBuff, formBuf)
require.NoError(t, err)
Expand Down Expand Up @@ -330,15 +330,15 @@ func TestCommand_CloseForm(t *testing.T) {
require.EqualError(t, err, unmarshalTransactionErr)

err = cmd.closeForm(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), "failed to get key")
require.ErrorContains(t, err, "failed to get key")

snap := fake.NewSnapshot()

err = snap.Set(dummyFormIDBuff, invalidForm)
require.NoError(t, err)

err = cmd.closeForm(snap, makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), deserializeErr)
require.ErrorContains(t, err, deserializeErr)

err = snap.Set(dummyFormIDBuff, formBuf)
require.NoError(t, err)
Expand Down Expand Up @@ -533,7 +533,7 @@ func TestCommand_ShuffleBallotsFormatErrors(t *testing.T) {
require.EqualError(t, err, unmarshalTransactionErr)

err = cmd.shuffleBallots(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), "failed to get key")
require.ErrorContains(t, err, "failed to get key")

// Wrong form id format
snap := fake.NewSnapshot()
Expand All @@ -542,7 +542,7 @@ func TestCommand_ShuffleBallotsFormatErrors(t *testing.T) {
require.NoError(t, err)

err = cmd.shuffleBallots(snap, makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), deserializeErr)
require.ErrorContains(t, err, deserializeErr)

// Form not closed
err = snap.Set(dummyFormIDBuff, formBuf)
Expand Down Expand Up @@ -759,15 +759,15 @@ func TestCommand_RegisterPubShares(t *testing.T) {
require.EqualError(t, err, unmarshalTransactionErr)

err = cmd.registerPubshares(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), "failed to get key")
require.ErrorContains(t, err, "failed to get key")

snap := fake.NewSnapshot()

err = snap.Set(dummyFormIDBuff, invalidForm)
require.NoError(t, err)

err = cmd.registerPubshares(snap, makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), deserializeErr)
require.ErrorContains(t, err, deserializeErr)

err = snap.Set(dummyFormIDBuff, formBuf)
require.NoError(t, err)
Expand Down Expand Up @@ -960,15 +960,15 @@ func TestCommand_DecryptBallots(t *testing.T) {
require.EqualError(t, err, unmarshalTransactionErr)

err = cmd.combineShares(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), "failed to get key")
require.ErrorContains(t, err, "failed to get key")

snap := fake.NewSnapshot()

err = snap.Set(dummyFormIDBuff, invalidForm)
require.NoError(t, err)

err = cmd.combineShares(snap, makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), deserializeErr)
require.ErrorContains(t, err, deserializeErr)

err = snap.Set(dummyFormIDBuff, formBuf)
require.NoError(t, err)
Expand Down Expand Up @@ -1060,15 +1060,15 @@ func TestCommand_CancelForm(t *testing.T) {
require.EqualError(t, err, unmarshalTransactionErr)

err = cmd.cancelForm(fake.NewBadSnapshot(), makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), "failed to get key")
require.ErrorContains(t, err, "failed to get key")

snap := fake.NewSnapshot()

err = snap.Set(dummyFormIDBuff, invalidForm)
require.NoError(t, err)

err = cmd.cancelForm(snap, makeStep(t, FormArg, string(data)))
require.Contains(t, err.Error(), deserializeErr)
require.ErrorContains(t, err, deserializeErr)

err = snap.Set(dummyFormIDBuff, formBuf)
require.NoError(t, err)
Expand Down
8 changes: 8 additions & 0 deletions scripts/run_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ function teardown() {
docker image rm ghcr.io/c4dt/d-voting-frontend:latest ghcr.io/c4dt/d-voting-backend:latest ghcr.io/c4dt/d-voting-dela:latest;
}

function dbreset() {
docker image rm postgres:15 -f;
}

function init_dela() {
LEADER=dela-worker-0;
echo "$LEADER is the initial leader node";
Expand Down Expand Up @@ -116,6 +120,10 @@ add_proxies)
add_proxies;
;;

db_reset)
dbreset;
;;

*)
setup;
sleep 16; # give DELA nodes time to start up
Expand Down
Loading