finish reorganizing wallet.go
add unmarshal