Added functions to Hash & Address
* Set, SetString, SetBytes * StringTo*, BytesTo*
This commit is contained in:
		
							parent
							
								
									dc864ee3a5
								
							
						
					
					
						commit
						20b7162a62
					
				| @ -5,6 +5,25 @@ type ( | ||||
| 	Address [20]byte | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	zeroHash    Hash | ||||
| 	zeroAddress Address | ||||
| ) | ||||
| 
 | ||||
| func BytesToHash(b []byte) Hash { | ||||
| 	var h Hash | ||||
| 	h.SetBytes(b) | ||||
| 	return h | ||||
| } | ||||
| func StringToHash(s string) Hash { return BytesToHash([]byte(s)) } | ||||
| 
 | ||||
| func BytesToAddress(b []byte) Address { | ||||
| 	var a Address | ||||
| 	a.SetBytes(b) | ||||
| 	return a | ||||
| } | ||||
| func StringToAddress(s string) Address { return BytesToAddress([]byte(s)) } | ||||
| 
 | ||||
| // Don't use the default 'String' method in case we want to overwrite
 | ||||
| 
 | ||||
| // Get the string representation of the underlying hash
 | ||||
| @ -24,8 +43,16 @@ func (h Hash) SetBytes(b []byte) { | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Set string `s` to h. If s is larger than len(h) it will panic
 | ||||
| func (h Hash) SetString(s string) { h.SetBytes([]byte(s)) } | ||||
| 
 | ||||
| // Sets h to other
 | ||||
| func (h Hash) Set(other Hash) { | ||||
| 	for i, v := range other { | ||||
| 		h[i] = v | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // Get the string representation of the underlying address
 | ||||
| func (a Address) Str() string { | ||||
| 	return string(a[:]) | ||||
| @ -42,4 +69,13 @@ func (a Address) SetBytes(b []byte) { | ||||
| 		a[i] = b[i] | ||||
| 	} | ||||
| } | ||||
| func (a Address) SetString(s string) { h.SetBytes([]byte(a)) } | ||||
| 
 | ||||
| // Set string `s` to a. If s is larger than len(a) it will panic
 | ||||
| func (a Address) SetString(s string) { a.SetBytes([]byte(s)) } | ||||
| 
 | ||||
| // Sets a to other
 | ||||
| func (a Address) Set(other Address) { | ||||
| 	for i, v := range other { | ||||
| 		a[i] = v | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user