mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-19 21:31:37 +00:00
Fixed unit test for new randomize smc.
This commit is contained in:
parent
b53a7a111a
commit
7892d7c162
3 changed files with 66 additions and 50 deletions
|
|
@ -246,7 +246,7 @@ func (a UnprefixedAddress) MarshalText() ([]byte, error) {
|
|||
|
||||
// Extract validators from byte array.
|
||||
func RemoveItemFromArray(array []Address, items []Address) []Address {
|
||||
if items == nil || len(items) == 0 {
|
||||
if items == nil {
|
||||
return array
|
||||
}
|
||||
for i, value := range array {
|
||||
|
|
|
|||
|
|
@ -155,6 +155,6 @@ func TestRemoveItemInArray(t *testing.T) {
|
|||
remove := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
|
||||
array = RemoveItemFromArray(array, remove)
|
||||
if len(array) != 2 {
|
||||
t.Error("fail remove item from array addres ")
|
||||
t.Error("fail remove item from array address")
|
||||
}
|
||||
}
|
||||
|
|
@ -70,56 +70,72 @@ func TestSendTxRandomizeSecretAndOpening(t *testing.T) {
|
|||
}
|
||||
backend.Commit()
|
||||
|
||||
nonce := uint64(1)
|
||||
randomizeKeyValue := contracts.RandStringByte(32)
|
||||
tx, err := contracts.BuildTxSecretRandomize(nonce, randomizeAddr, epocNumber, randomizeKeyValue)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't create tx randomize secret: %v", err)
|
||||
}
|
||||
tx, err = types.SignTx(tx, signer, acc1Key)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't sign tx randomize secret: %v", err)
|
||||
}
|
||||
|
||||
err = backend.SendTransaction(ctx, tx)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't send tx for create randomize secret: %v", err)
|
||||
}
|
||||
backend.Commit()
|
||||
// Increment nonce.
|
||||
nonce++
|
||||
// Set opening.
|
||||
tx, err = contracts.BuildTxOpeningRandomize(nonce, randomizeAddr, randomizeKeyValue)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't create tx randomize opening: %v", err)
|
||||
}
|
||||
tx, err = types.SignTx(tx, signer, acc1Key)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't sign tx randomize opening: %v", err)
|
||||
}
|
||||
for i := 1; i <= 900; i++ {
|
||||
nonce := uint64(i)
|
||||
switch i {
|
||||
case 800:
|
||||
tx, err := contracts.BuildTxSecretRandomize(nonce, randomizeAddr, epocNumber, randomizeKeyValue)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't create tx randomize secret: %v", err)
|
||||
}
|
||||
tx, err = types.SignTx(tx, signer, acc1Key)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't sign tx randomize secret: %v", err)
|
||||
}
|
||||
err = backend.SendTransaction(ctx, tx)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't send tx for create randomize secret: %v", err)
|
||||
}
|
||||
break
|
||||
case 850:
|
||||
// Set opening.
|
||||
tx, err := contracts.BuildTxOpeningRandomize(nonce, randomizeAddr, randomizeKeyValue)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't create tx randomize opening: %v", err)
|
||||
}
|
||||
tx, err = types.SignTx(tx, signer, acc1Key)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't sign tx randomize opening: %v", err)
|
||||
}
|
||||
err = backend.SendTransaction(ctx, tx)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't send tx for create randomize opening: %v", err)
|
||||
}
|
||||
break
|
||||
|
||||
err = backend.SendTransaction(ctx, tx)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't send tx for create randomize opening: %v", err)
|
||||
}
|
||||
backend.Commit()
|
||||
|
||||
// Get randomize secret from SC.
|
||||
secrets, err := randomizeContract.GetSecret(acc1Addr)
|
||||
if err != nil {
|
||||
t.Error("Fail get secrets from randomize", err)
|
||||
}
|
||||
if len(secrets) <= 0 {
|
||||
t.Error("Empty get secrets from SC", err)
|
||||
}
|
||||
// Decrypt randomize from SC.
|
||||
opening, err := randomizeContract.GetOpening(acc1Addr)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't get secret from SC: %v", err)
|
||||
}
|
||||
randomize, err := contracts.DecryptRandomizeFromSecretsAndOpening(secrets, opening)
|
||||
t.Log("randomize", randomize)
|
||||
if err != nil {
|
||||
t.Error("Can't decrypt secret and opening", err)
|
||||
case 900:
|
||||
// Get randomize secret from SC.
|
||||
secrets, err := randomizeContract.GetSecret(acc1Addr)
|
||||
if err != nil {
|
||||
t.Error("Fail get secrets from randomize", err)
|
||||
}
|
||||
if len(secrets) <= 0 {
|
||||
t.Error("Empty get secrets from SC", err)
|
||||
}
|
||||
// Decrypt randomize from SC.
|
||||
opening, err := randomizeContract.GetOpening(acc1Addr)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't get secret from SC: %v", err)
|
||||
}
|
||||
randomize, err := contracts.DecryptRandomizeFromSecretsAndOpening(secrets, opening)
|
||||
t.Log("randomize", randomize)
|
||||
if err != nil {
|
||||
t.Error("Can't decrypt secret and opening", err)
|
||||
}
|
||||
break
|
||||
default:
|
||||
tx, err := types.SignTx(types.NewTransaction(nonce, common.Address{}, new(big.Int), 21000, new(big.Int), nil), signer, acc1Key)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't sign tx randomize: %v", err)
|
||||
}
|
||||
err = backend.SendTransaction(ctx, tx)
|
||||
if err != nil {
|
||||
t.Fatalf("Can't send tx for create randomize: %v", err)
|
||||
}
|
||||
break
|
||||
}
|
||||
backend.Commit()
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue