diff --git a/schedule_create_transaction.go b/schedule_create_transaction.go index d1d4dbfd5..6e7e5df75 100644 --- a/schedule_create_transaction.go +++ b/schedule_create_transaction.go @@ -64,14 +64,14 @@ func (transaction *ScheduleCreateTransaction) GetAdminKey() *Key { return &key } -func (transaction *ScheduleCreateTransaction) SetMemo(memo string) *ScheduleCreateTransaction { +func (transaction *ScheduleCreateTransaction) SetScheduleMemo(memo string) *ScheduleCreateTransaction { transaction.requireNotFrozen() transaction.pb.Memo = memo return transaction } -func (transaction *ScheduleCreateTransaction) GetMemo() string { +func (transaction *ScheduleCreateTransaction) GetScheduleMemo() string { return transaction.pb.GetMemo() } @@ -81,80 +81,6 @@ func (transaction *ScheduleCreateTransaction) SetScheduledTransaction(tx ITransa return transaction.setSchedulableTransactionBody(tx.constructScheduleProtobuf()), nil } -//func (transaction *ScheduleCreateTransaction) GetScheduledSignatures() (map[*PublicKey][]byte, error) { -// signMap := make(map[*PublicKey][]byte, len(transaction.pb.GetSigMap().GetSigPair())) -// -// for _, sigPair := range transaction.pb.GetSigMap().GetSigPair() { -// key, err := PublicKeyFromBytes(sigPair.PubKeyPrefix) -// if err != nil { -// return make(map[*PublicKey][]byte, 0), err -// } -// switch sigPair.Signature.(type) { -// case *proto.SignaturePair_Contract: -// signMap[&key] = sigPair.GetContract() -// case *proto.SignaturePair_Ed25519: -// signMap[&key] = sigPair.GetEd25519() -// case *proto.SignaturePair_RSA_3072: -// signMap[&key] = sigPair.GetRSA_3072() -// case *proto.SignaturePair_ECDSA_384: -// signMap[&key] = sigPair.GetECDSA_384() -// } -// } -// -// return signMap, nil -//} -// -//func (transaction *ScheduleCreateTransaction) SignScheduled(key PrivateKey) *ScheduleCreateTransaction { -// return transaction.SignScheduledWith(key.PublicKey(), key.Sign) -//} -// -//func (transaction *ScheduleCreateTransaction) SignScheduledWithOperator(client *Client) (*ScheduleCreateTransaction, error) { -// if client == nil { -// return nil, errNoClientProvided -// } else if client.operator == nil { -// return nil, errClientOperatorSigning -// } -// -// return transaction.SignScheduledWith(client.operator.publicKey, client.operator.signer), nil -//} -// -//func (transaction *ScheduleCreateTransaction) SignScheduledWith(publicKey PublicKey, signer TransactionSigner) *ScheduleCreateTransaction { -// transaction.requireNotFrozen() -// -// if transaction.scheduledKeyAlreadySigned(publicKey) { -// return transaction -// } -// -// signature := signer(transaction.pb.TransactionBody) -// -// if transaction.pb.SigMap == nil { -// transaction.pb.SigMap = &proto.SignatureMap{} -// } -// -// if len(transaction.pb.SigMap.SigPair) > 0 { -// transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature)) -// } else { -// transaction.pb.SigMap.SigPair = []*proto.SignaturePair{} -// transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature)) -// } -// -// return transaction -//} -// -//func (transaction *ScheduleCreateTransaction) scheduledKeyAlreadySigned(pk PublicKey) bool { -// if transaction.pb.SigMap != nil { -// if len(transaction.pb.SigMap.SigPair) > 0 { -// for _, pair := range transaction.pb.SigMap.SigPair { -// if bytes.HasPrefix(pk.keyData, pair.PubKeyPrefix) { -// return true -// } -// } -// } -// } -// -// return false -//} - func (transaction *ScheduleCreateTransaction) constructScheduleProtobuf() *proto.SchedulableTransactionBody { return &proto.SchedulableTransactionBody{ TransactionFee: transaction.pbBody.GetTransactionFee(), diff --git a/schedule_create_transaction_test.go b/schedule_create_transaction_test.go index 70e85dcac..176339af2 100644 --- a/schedule_create_transaction_test.go +++ b/schedule_create_transaction_test.go @@ -48,8 +48,6 @@ func TestScheduleCreateTransaction_Execute(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, infoTx) - println(info.Executed.String()) - tx2, err := NewScheduleDeleteTransaction(). SetScheduleID(*receipt.ScheduleID). FreezeWith(client) @@ -62,7 +60,7 @@ func TestScheduleCreateTransaction_Execute(t *testing.T) { _, err = resp.GetReceipt(client) assert.Error(t, err) - if err != nil{ + if err != nil { assert.Equal(t, fmt.Sprintf("exceptional precheck status SCHEDULE_ALREADY_EXECUTED"), err.Error()) } } @@ -114,7 +112,7 @@ func TestScheduleCreateTransaction_SetTransaction_Execute(t *testing.T) { _, err = resp.GetReceipt(client) assert.Error(t, err) - if err != nil{ + if err != nil { assert.Equal(t, fmt.Sprintf("exceptional precheck status SCHEDULE_ALREADY_EXECUTED"), err.Error()) } } @@ -247,7 +245,8 @@ func TestScheduleCreateTransaction_Delete_Execute(t *testing.T) { transfer, err := info.GetTransaction() assert.NoError(t, err) assert.NotNil(t, transfer) - assert.True(t, info.Executed.IsZero()) + assert.Nil(t, info.Executed) + assert.Nil(t, info.Deleted) tx2, err := NewScheduleDeleteTransaction(). SetScheduleID(scheduleID). @@ -313,7 +312,7 @@ func TestScheduleCreateTransaction_CheckValidGetTransaction_Execute(t *testing.T assert.NotNil(t, infoTx) - switch createTx := infoTx.(type){ + switch createTx := infoTx.(type) { case AccountCreateTransaction: assert.Equal(t, createTx.pbBody.GetCryptoCreateAccount().InitialBalance, uint64(NewHbar(1).tinybar)) } @@ -330,7 +329,7 @@ func TestScheduleCreateTransaction_CheckValidGetTransaction_Execute(t *testing.T _, err = resp.GetReceipt(client) assert.Error(t, err) - if err != nil{ + if err != nil { assert.Equal(t, fmt.Sprintf("exceptional precheck status SCHEDULE_ALREADY_EXECUTED"), err.Error()) } } diff --git a/schedule_info.go b/schedule_info.go index af06452b9..486aefd4c 100644 --- a/schedule_info.go +++ b/schedule_info.go @@ -9,8 +9,8 @@ type ScheduleInfo struct { ScheduleID ScheduleID CreatorAccountID AccountID PayerAccountID AccountID - Executed time.Time - Deleted time.Time + Executed *time.Time + Deleted *time.Time ExpirationTime time.Time ScheduledTransactionBody *SchedulableTransactionBody Signers *KeyList @@ -35,13 +35,15 @@ func scheduleInfoFromProtobuf(pb *proto.ScheduleInfo) ScheduleInfo { scheduledTransactionID = transactionIDFromProtobuf(pb.ScheduledTransactionID) } - var executed time.Time - var deleted time.Time + var executed *time.Time + var deleted *time.Time switch t := pb.Data.(type) { case *proto.ScheduleInfo_ExecutionTime: - executed = timeFromProtobuf(t.ExecutionTime) + time := timeFromProtobuf(t.ExecutionTime) + executed = &time case *proto.ScheduleInfo_DeletionTime: - deleted = timeFromProtobuf(t.DeletionTime) + time := timeFromProtobuf(t.DeletionTime) + deleted = &time } return ScheduleInfo{ @@ -82,13 +84,13 @@ func (scheduleInfo *ScheduleInfo) toProtobuf() *proto.ScheduleInfo { ScheduledTransactionID: scheduleInfo.ScheduledTransactionID.toProtobuf(), } - if scheduleInfo.Executed.IsZero() { + if scheduleInfo.Executed != nil { info.Data = &proto.ScheduleInfo_DeletionTime{ - DeletionTime: timeToProtobuf(scheduleInfo.Deleted), + DeletionTime: timeToProtobuf(*scheduleInfo.Deleted), } - } else { + } else if scheduleInfo.Deleted != nil { info.Data = &proto.ScheduleInfo_ExecutionTime{ - ExecutionTime: timeToProtobuf(scheduleInfo.Executed), + ExecutionTime: timeToProtobuf(*scheduleInfo.Executed), } } diff --git a/schedule_sign_transaction.go b/schedule_sign_transaction.go index 63e510439..915e971c4 100644 --- a/schedule_sign_transaction.go +++ b/schedule_sign_transaction.go @@ -42,60 +42,6 @@ func (transaction *ScheduleSignTransaction) GetScheduleID() ScheduleID { return scheduleIDFromProtobuf(transaction.pb.ScheduleID) } -//func (transaction *ScheduleSignTransaction) AddScheduleSignature(publicKey PublicKey, signature []byte) *ScheduleSignTransaction { -// transaction.requireOneNodeAccountID() -// -// if transaction.pb.SigMap != nil { -// if transaction.pb.SigMap.SigPair != nil { -// transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature)) -// } else { -// transaction.pb.SigMap.SigPair = make([]*proto.SignaturePair, 0) -// transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature)) -// } -// } else { -// transaction.pb.SigMap = &proto.SignatureMap{ -// SigPair: make([]*proto.SignaturePair, 0), -// } -// transaction.pb.SigMap.SigPair = append(transaction.pb.SigMap.SigPair, publicKey.toSignaturePairProtobuf(signature)) -// } -// -// return transaction -//} -// -//func (transaction *ScheduleSignTransaction) GetScheduleSignatures() (map[*PublicKey][]byte, error) { -// signMap := make(map[*PublicKey][]byte, len(transaction.pb.GetSigMap().GetSigPair())) -// -// for _, sigPair := range transaction.pb.GetSigMap().GetSigPair() { -// key, err := PublicKeyFromBytes(sigPair.PubKeyPrefix) -// if err != nil { -// return make(map[*PublicKey][]byte, 0), err -// } -// switch sigPair.Signature.(type) { -// case *proto.SignaturePair_Contract: -// signMap[&key] = sigPair.GetContract() -// case *proto.SignaturePair_Ed25519: -// signMap[&key] = sigPair.GetEd25519() -// case *proto.SignaturePair_RSA_3072: -// signMap[&key] = sigPair.GetRSA_3072() -// case *proto.SignaturePair_ECDSA_384: -// signMap[&key] = sigPair.GetECDSA_384() -// } -// } -// -// return signMap, nil -//} -// -//func (transaction *ScheduleSignTransaction) Schedule() (*ScheduleCreateTransaction, error) { -// transaction.requireNotFrozen() -// -// txBytes, err := protobuf.Marshal(transaction.constructProtobuf()) -// if err != nil { -// return &ScheduleCreateTransaction{}, err -// } -// -// return NewScheduleCreateTransaction().setTransactionBodyBytes(txBytes), nil -//} - func (transaction *ScheduleSignTransaction) constructScheduleProtobuf() *proto.SchedulableTransactionBody { return &proto.SchedulableTransactionBody{ TransactionFee: transaction.pbBody.GetTransactionFee(), diff --git a/topic_create_transaction_test.go b/topic_create_transaction_test.go index e415c179a..357d63d84 100644 --- a/topic_create_transaction_test.go +++ b/topic_create_transaction_test.go @@ -31,7 +31,7 @@ func TestTopicCreateTransaction_Execute(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, topicMemo, info.Memo) + assert.Equal(t, topicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, client.GetOperatorPublicKey().String(), info.AdminKey.String()) @@ -88,7 +88,7 @@ func Test_TopicCreate_DifferentKeys(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, topicMemo, info.Memo) + assert.Equal(t, topicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, pubKeys[0].String(), info.AdminKey.String()) diff --git a/topic_info_query_test.go b/topic_info_query_test.go index f4004bba5..6f28dbf37 100644 --- a/topic_info_query_test.go +++ b/topic_info_query_test.go @@ -39,7 +39,7 @@ func TestTopicInfoQuery_Execute(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, topicMemo, info.Memo) + assert.Equal(t, topicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, client.GetOperatorPublicKey().String(), info.AdminKey.String()) @@ -227,7 +227,7 @@ func TestTopicInfoQuery_Threshold_Execute(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, topicMemo, info.Memo) + assert.Equal(t, topicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, client.GetOperatorPublicKey().String(), info.AdminKey.String()) assert.NotEmpty(t, info.SubmitKey.String()) diff --git a/topic_update_transaction_test.go b/topic_update_transaction_test.go index 4bfe44bc7..715aa6e99 100644 --- a/topic_update_transaction_test.go +++ b/topic_update_transaction_test.go @@ -32,7 +32,7 @@ func TestTopicUpdateTransaction_Execute(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, oldTopicMemo, info.Memo) + assert.Equal(t, oldTopicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, client.GetOperatorPublicKey().String(), info.AdminKey.String()) @@ -56,7 +56,7 @@ func TestTopicUpdateTransaction_Execute(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, newTopicMemo, info.Memo) + assert.Equal(t, newTopicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, client.GetOperatorPublicKey().String(), info.AdminKey.String()) @@ -96,7 +96,7 @@ func Test_TopicUpdate_NoMemo(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, oldTopicMemo, info.Memo) + assert.Equal(t, oldTopicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, client.GetOperatorPublicKey().String(), info.AdminKey.String()) @@ -144,7 +144,7 @@ func Test_TopicUpdate_NoTopicID(t *testing.T) { assert.NoError(t, err) assert.NotNil(t, info) - assert.Equal(t, oldTopicMemo, info.Memo) + assert.Equal(t, oldTopicMemo, info.TopicMemo) assert.Equal(t, uint64(0), info.SequenceNumber) assert.Equal(t, client.GetOperatorPublicKey().String(), info.AdminKey.String()) diff --git a/transaction_id.go b/transaction_id.go index e26b11fd5..53d68052e 100644 --- a/transaction_id.go +++ b/transaction_id.go @@ -120,7 +120,6 @@ func TransactionIdFromString(data string) (TransactionID, error) { temp2 := time.Unix(sec, nano) validStart = &temp2 - return TransactionID{ AccountID: accountId, ValidStart: validStart, diff --git a/utilities_for_test.go b/utilities_for_test.go index ab62e166f..060055fe8 100644 --- a/utilities_for_test.go +++ b/utilities_for_test.go @@ -64,6 +64,7 @@ func newTestClient(t *testing.T, token bool) *Client { var err error if os.Getenv("HEDERA_NETWORK") == "previewnet" { + println("here") client = ClientForPreviewnet() } else { client, err = ClientFromConfigFile(os.Getenv("CONFIG_FILE"))