Skip to content

Commit

Permalink
fix: Reset staked ids (#1108)
Browse files Browse the repository at this point in the history
Signed-off-by: Ivan Ivanov <[email protected]>
  • Loading branch information
0xivanov authored Oct 14, 2024
1 parent e7d0371 commit b9f9816
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
2 changes: 2 additions & 0 deletions account_create_transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ func (tx *AccountCreateTransaction) GetAccountMemo() string {
func (tx *AccountCreateTransaction) SetStakedAccountID(id AccountID) *AccountCreateTransaction {
tx._RequireNotFrozen()
tx.stakedAccountID = &id
tx.stakedNodeID = nil
return tx
}

Expand All @@ -210,6 +211,7 @@ func (tx *AccountCreateTransaction) GetStakedAccountID() AccountID {
func (tx *AccountCreateTransaction) SetStakedNodeID(id int64) *AccountCreateTransaction {
tx._RequireNotFrozen()
tx.stakedNodeID = &id
tx.stakedAccountID = nil
return tx
}

Expand Down
27 changes: 27 additions & 0 deletions account_create_transaction_e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -607,3 +607,30 @@ func TestIntegrationSerializeTransactionWithoutNodeAccountIdDeserialiseAndExecut

require.NoError(t, err)
}

func TestIntegrationAccountCreateTransactionSetStakingNodeID(t *testing.T) {
t.Parallel()
env := NewIntegrationTestEnv(t)
defer CloseIntegrationTestEnv(env, nil)

newKey, err := PrivateKeyGenerateEd25519()
require.NoError(t, err)

newBalance := NewHbar(2)

assert.Equal(t, 2*HbarUnits.Hbar._NumberOfTinybar(), newBalance.tinybar)

resp, err := NewAccountCreateTransaction().
SetKey(newKey).
SetNodeAccountIDs(env.NodeAccountIDs).
SetInitialBalance(newBalance).
SetStakedAccountID(env.OperatorID).
SetStakedNodeID(0).
SetMaxAutomaticTokenAssociations(100).
Execute(env.Client)

require.NoError(t, err)

_, err = resp.SetValidateStatus(true).GetReceipt(env.Client)
require.NoError(t, err)
}
25 changes: 25 additions & 0 deletions account_create_transaction_unit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -353,3 +353,28 @@ func TestUnitAccountCreateTransactionCoverage(t *testing.T) {
b.AddSignature(key.PublicKey(), sig)
}
}

func TestUnitAccountCreateSetStakedNodeID(t *testing.T) {
t.Parallel()

checksum := "dmqui"
account := AccountID{Account: 3, checksum: &checksum}
tx := NewAccountCreateTransaction().
SetStakedAccountID(account).
SetStakedNodeID(4)

require.Equal(t, AccountID{}, tx.GetStakedAccountID())
require.Equal(t, int64(4), tx.GetStakedNodeID())
}
func TestUnitAccountCreateSetStakedAccountID(t *testing.T) {
t.Parallel()

checksum := "dmqui"
account := AccountID{Account: 3, checksum: &checksum}
tx := NewAccountCreateTransaction().
SetStakedNodeID(4).
SetStakedAccountID(account)

require.Equal(t, int64(0), tx.GetStakedNodeID())
require.Equal(t, account, tx.GetStakedAccountID())
}

0 comments on commit b9f9816

Please sign in to comment.