Skip to content

Commit

Permalink
fix: token_info nil de-reference fixed, SetNodeAccountID to SetNodeAc…
Browse files Browse the repository at this point in the history
…countIDs
  • Loading branch information
andrix10 authored and janaakhterov committed Oct 29, 2020
1 parent e2fe93f commit 65bc24b
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 37 deletions.
3 changes: 1 addition & 2 deletions token_associate_transaction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ func TestTokenAssociateTransaction_Execute(t *testing.T) {
var err error
client, err = ClientFromJsonFile(os.Getenv("CONFIG_FILE"))


if err != nil {
client = ClientForTestnet()
}
Expand Down Expand Up @@ -72,7 +71,7 @@ func TestTokenAssociateTransaction_Execute(t *testing.T) {
SetKycKey(operatorKey.PublicKey()).
SetSupplyKey(operatorKey.PublicKey()).
SetFreezeDefault(false).
SetExpirationTime(uint64(time.Now().Unix() + 86400 * 90)).
SetExpirationTime(uint64(time.Now().Unix() + 86400*90)).
Execute(client)
assert.NoError(t, err)

Expand Down
2 changes: 1 addition & 1 deletion token_dissociate_transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ func (transaction *TokenDissociateTransaction) GetNodeAccountIDs() []AccountID {
}

// SetNodeTokenID sets the node TokenID for this TokenDissociateTransaction.
func (transaction *TokenDissociateTransaction) SetNodeAccountID(nodeID []AccountID) *TokenDissociateTransaction {
func (transaction *TokenDissociateTransaction) SetNodeAccountIDs(nodeID []AccountID) *TokenDissociateTransaction {
transaction.requireNotFrozen()
transaction.Transaction.SetNodeAccountIDs(nodeID)
return transaction
Expand Down
77 changes: 46 additions & 31 deletions token_info.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,55 +22,70 @@ type TokenInfo struct {
}

func freezeStatusFromProtobuf(pb *proto.TokenFreezeStatus) *bool {
var freezeStatus *bool
var freezeStatus bool
switch pb.Number() {
case 1:
*freezeStatus = true
freezeStatus = true
case 2:
*freezeStatus = false
freezeStatus = false
default:
freezeStatus = nil
return nil
}

return freezeStatus
return &freezeStatus
}

func kycStatusFromProtobuf(pb *proto.TokenKycStatus) *bool {
var kycStatus *bool
var kycStatus bool
switch pb.Number() {
case 1:
*kycStatus = true
kycStatus = true
case 2:
*kycStatus = false
kycStatus = false
default:
kycStatus = nil
return nil
}
return kycStatus
return &kycStatus
}

func tokenInfoFromProtobuf(tokenInfo *proto.TokenInfo) TokenInfo {
var adminKey PublicKey
if tokenInfo.AdminKey != nil {
adminKey = PublicKey{keyData: tokenInfo.AdminKey.GetEd25519()}
}

var kycKey PublicKey
if tokenInfo.KycKey != nil {
kycKey = PublicKey{keyData: tokenInfo.KycKey.GetEd25519()}
}

var freezeKey PublicKey
if tokenInfo.FreezeKey != nil {
freezeKey = PublicKey{keyData: tokenInfo.FreezeKey.GetEd25519()}
}

var wipeKey PublicKey
if tokenInfo.WipeKey != nil {
wipeKey = PublicKey{keyData: tokenInfo.WipeKey.GetEd25519()}
}

var supplyKey PublicKey
if tokenInfo.SupplyKey != nil {
supplyKey = PublicKey{keyData: tokenInfo.SupplyKey.GetEd25519()}
}

return TokenInfo{
TokenID: tokenIDFromProtobuf(tokenInfo.TokenId),
Name: tokenInfo.Name,
Symbol: tokenInfo.Symbol,
Decimals: tokenInfo.Decimals,
TotalSupply: tokenInfo.TotalSupply,
Treasury: accountIDFromProtobuf(tokenInfo.Treasury),
AdminKey: PublicKey{
keyData: tokenInfo.AdminKey.GetEd25519(),
},
KycKey: PublicKey{
keyData: tokenInfo.KycKey.GetEd25519(),
},
FreezeKey: PublicKey{
keyData: tokenInfo.FreezeKey.GetEd25519(),
},
WipeKey: PublicKey{
keyData: tokenInfo.WipeKey.GetEd25519(),
},
SupplyKey: PublicKey{
keyData: tokenInfo.SupplyKey.GetEd25519(),
},
TokenID: tokenIDFromProtobuf(tokenInfo.TokenId),
Name: tokenInfo.Name,
Symbol: tokenInfo.Symbol,
Decimals: tokenInfo.Decimals,
TotalSupply: tokenInfo.TotalSupply,
Treasury: accountIDFromProtobuf(tokenInfo.Treasury),
AdminKey: adminKey,
KycKey: kycKey,
FreezeKey: freezeKey,
WipeKey: wipeKey,
SupplyKey: supplyKey,
DefaultFreezeStatus: freezeStatusFromProtobuf(&tokenInfo.DefaultFreezeStatus),
DefaultKycStatus: kycStatusFromProtobuf(&tokenInfo.DefaultKycStatus),
IsDelete: tokenInfo.IsDeleted,
Expand Down
5 changes: 2 additions & 3 deletions token_transfer_transaction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ func TestTokenTransferTransaction_Execute(t *testing.T) {
var err error
client, err = ClientFromJsonFile(os.Getenv("CONFIG_FILE"))


if err != nil {
client = ClientForTestnet()
}
Expand Down Expand Up @@ -60,7 +59,7 @@ func TestTokenTransferTransaction_Execute(t *testing.T) {
assert.NoError(t, err)

accountID := *receipt.AccountID

println("2")
resp, err = NewTokenCreateTransaction().
SetName("ffff").
Expand All @@ -74,7 +73,7 @@ func TestTokenTransferTransaction_Execute(t *testing.T) {
SetKycKey(operatorKey.PublicKey()).
SetSupplyKey(operatorKey.PublicKey()).
SetFreezeDefault(false).
SetExpirationTime(uint64(time.Now().Unix() + 86400 * 90)).
SetExpirationTime(uint64(time.Now().Unix() + 86400*90)).
Execute(client)
assert.NoError(t, err)

Expand Down

0 comments on commit 65bc24b

Please sign in to comment.