Skip to content

Commit

Permalink
Merge pull request #4 from maticnetwork/add-utils
Browse files Browse the repository at this point in the history
Added type utils
  • Loading branch information
0xKrishna authored Jul 26, 2022
2 parents 92431bb + 35fd3b1 commit 17ac69b
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions utils/utils.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package utils

import (
"encoding/binary"

"github.com/maticnetwork/polyproto/heimdall"
)

func ConvertH160toAddress(h160 *heimdall.H160) [20]byte {
var addr [20]byte

binary.BigEndian.PutUint64(addr[0:], h160.Hi.Hi)
binary.BigEndian.PutUint64(addr[8:], h160.Hi.Lo)
binary.BigEndian.PutUint32(addr[16:], h160.Lo)

return addr
}

func ConvertAddressToH160(addr [20]byte) *heimdall.H160 {
return &heimdall.H160{
Lo: binary.BigEndian.Uint32(addr[16:]),
Hi: &heimdall.H128{Lo: binary.BigEndian.Uint64(addr[8:]), Hi: binary.BigEndian.Uint64(addr[0:])},
}
}

func ConvertH256ToHash(h256 *heimdall.H256) [32]byte {
var hash [32]byte

binary.BigEndian.PutUint64(hash[0:], h256.Hi.Hi)
binary.BigEndian.PutUint64(hash[8:], h256.Hi.Lo)
binary.BigEndian.PutUint64(hash[16:], h256.Lo.Hi)
binary.BigEndian.PutUint64(hash[24:], h256.Lo.Lo)

return hash
}

func ConvertHashToH256(hash [32]byte) *heimdall.H256 {
return &heimdall.H256{
Lo: &heimdall.H128{Lo: binary.BigEndian.Uint64(hash[24:]), Hi: binary.BigEndian.Uint64(hash[16:])},
Hi: &heimdall.H128{Lo: binary.BigEndian.Uint64(hash[8:]), Hi: binary.BigEndian.Uint64(hash[0:])},
}
}

0 comments on commit 17ac69b

Please sign in to comment.