pkg: hide it by moving to _pkg.dev
The idea here is to preserve the history of `dev` branch development and its code when merging with the `master`. Later this code could be moved into the masters code where appropriate.
This commit is contained in:
parent
bb2568cc53
commit
ddd1d92ff1
183 changed files with 0 additions and 0 deletions
62
_pkg.dev/wire/payload/transaction/util.go
Normal file
62
_pkg.dev/wire/payload/transaction/util.go
Normal file
|
@ -0,0 +1,62 @@
|
|||
package transaction
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
|
||||
"github.com/CityOfZion/neo-go/pkg/wire/payload/transaction/types"
|
||||
)
|
||||
|
||||
// FromReader returns a transaction from a bufio.Reader
|
||||
func FromReader(reader *bufio.Reader) (Transactioner, error) {
|
||||
|
||||
t, err := reader.Peek(1)
|
||||
|
||||
typ := types.TX(t[0])
|
||||
var trans Transactioner
|
||||
|
||||
switch typ {
|
||||
case types.Miner:
|
||||
miner := NewMiner(0)
|
||||
err = miner.Decode(reader)
|
||||
trans = miner
|
||||
case types.Contract:
|
||||
contract := NewContract(0)
|
||||
err = contract.Decode(reader)
|
||||
trans = contract
|
||||
case types.Invocation:
|
||||
invoc := NewInvocation(0)
|
||||
err = invoc.Decode(reader)
|
||||
trans = invoc
|
||||
case types.Claim:
|
||||
claim := NewClaim(0)
|
||||
err = claim.Decode(reader)
|
||||
trans = claim
|
||||
case types.Register:
|
||||
reg := NewRegister(0)
|
||||
err = reg.Decode(reader)
|
||||
trans = reg
|
||||
case types.Issue:
|
||||
iss := NewIssue(0)
|
||||
err = iss.Decode(reader)
|
||||
trans = iss
|
||||
case types.Publish:
|
||||
pub := NewPublish(0)
|
||||
err = pub.Decode(reader)
|
||||
trans = pub
|
||||
case types.State:
|
||||
state := NewStateTX(0)
|
||||
err = state.Decode(reader)
|
||||
trans = state
|
||||
case types.Enrollment:
|
||||
enr := NewEnrollment(0)
|
||||
err = enr.Decode(reader)
|
||||
trans = enr
|
||||
case types.Agency:
|
||||
err = errors.New("unsupported transaction type: Agency")
|
||||
default:
|
||||
err = errors.New("unsupported transaction with byte type " + hex.EncodeToString([]byte{t[0]}))
|
||||
}
|
||||
return trans, err
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue