From f71d392b9b6fa9b9fe8fb9ffbfc32b2930e1ff8d Mon Sep 17 00:00:00 2001 From: Ivan Ivanov Date: Tue, 9 Jul 2024 15:27:06 +0300 Subject: [PATCH] chore: fix approve + transferFrom func Signed-off-by: Ivan Ivanov --- max_auto_associations_e2e_test.go | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/max_auto_associations_e2e_test.go b/max_auto_associations_e2e_test.go index 327077d49..b6bd8ebfb 100644 --- a/max_auto_associations_e2e_test.go +++ b/max_auto_associations_e2e_test.go @@ -81,7 +81,7 @@ func createAccountHelper(t *testing.T, env *IntegrationTestEnv, maxAutoAssociati accountCreate1, err := NewAccountCreateTransaction(). SetKey(newKey). SetNodeAccountIDs(env.NodeAccountIDs). - SetInitialBalance(NewHbar(0)). + SetInitialBalance(NewHbar(3)). SetMaxAutomaticTokenAssociations(maxAutoAssociations). Execute(env.Client) require.NoError(t, err) @@ -217,7 +217,7 @@ func TestLimitedMaxAutoAssociationsNFTsManualAssociate(t *testing.T) { serials := receipt.SerialNumbers - // account create with 1 max auto associations + // account create with 0 max auto associations receiver, key := createAccountHelper(t, &env, 0) frozenAssociateTxn, err := NewTokenAssociateTransaction().SetAccountID(receiver).AddTokenID(nftID1).FreezeWith(env.Client) @@ -387,19 +387,23 @@ func TestUnlimitedMaxAutoAssociationsAllowsToTransferFromFungibleTokens(t *testi require.NoError(t, err) // transferFrom some token1 and token2 tokens + env.Client.SetOperator(spender, spenderKey) tokenTransferTransactionFrozen, err := NewTransferTransaction(). - AddTokenTransfer(tokenID1, env.Client.GetOperatorAccountID(), -1000). + AddApprovedTokenTransfer(tokenID1, env.OperatorID, -1000, true). AddTokenTransfer(tokenID1, accountID, 1000). - AddTokenTransfer(tokenID2, env.Client.GetOperatorAccountID(), -1000). + AddApprovedTokenTransfer(tokenID2, env.OperatorID, -1000, true). AddTokenTransfer(tokenID2, accountID, 1000). FreezeWith(env.Client) require.NoError(t, err) tokenTransferTransaction, err := tokenTransferTransactionFrozen.Sign(spenderKey).Execute(env.Client) + require.NoError(t, err) _, err = tokenTransferTransaction.SetValidateStatus(true).GetReceipt(env.Client) require.NoError(t, err) + env.Client.SetOperator(env.OperatorID, env.OperatorKey) + // verify the balance of the receiver is 1000 tokenBalance, err := NewAccountBalanceQuery().SetAccountID(accountID).Execute(env.Client) require.NoError(t, err) @@ -512,7 +516,7 @@ func TestUnlimitedMaxAutoAssociationsAllowsToTransferFromNFTs(t *testing.T) { // approve the spender approve, err := NewAccountAllowanceApproveTransaction(). AddAllTokenNftApproval(nftID1, spender). - AddAllTokenNftApproval(nftID1, spender). + AddAllTokenNftApproval(nftID2, spender). Execute(env.Client) require.NoError(t, err) @@ -520,11 +524,12 @@ func TestUnlimitedMaxAutoAssociationsAllowsToTransferFromNFTs(t *testing.T) { require.NoError(t, err) // transferFrom some nft1 nfts + env.Client.SetOperator(spender, spenderKey) tokenTransferTransactionFrozen, err := NewTransferTransaction(). - AddNftTransfer(nftID1.Nft(serials[0]), env.OperatorID, accountID). - AddNftTransfer(nftID1.Nft(serials[1]), env.OperatorID, accountID). - AddNftTransfer(nftID2.Nft(serials[0]), env.OperatorID, accountID). - AddNftTransfer(nftID2.Nft(serials[1]), env.OperatorID, accountID). + AddApprovedNftTransfer(nftID1.Nft(serials[0]), env.OperatorID, accountID, true). + AddApprovedNftTransfer(nftID1.Nft(serials[1]), env.OperatorID, accountID, true). + AddApprovedNftTransfer(nftID2.Nft(serials[0]), env.OperatorID, accountID, true). + AddApprovedNftTransfer(nftID2.Nft(serials[1]), env.OperatorID, accountID, true). FreezeWith(env.Client) require.NoError(t, err) @@ -533,6 +538,8 @@ func TestUnlimitedMaxAutoAssociationsAllowsToTransferFromNFTs(t *testing.T) { _, err = tokenTransferTransaction.SetValidateStatus(true).GetReceipt(env.Client) require.NoError(t, err) + env.Client.SetOperator(env.OperatorID, env.OperatorKey) + // verify the balance of the receiver is 2 tokenBalance, err := NewAccountBalanceQuery().SetAccountID(accountID).Execute(env.Client) require.NoError(t, err)