diff --git a/rpc/v0/methods.go b/rpc/v0/methods.go index cc0a040aed6c92ecaf60fd8522f178457458ec3e..a29086dfaf0b5511a95a545295282f2ca22e1e1d 100644 --- a/rpc/v0/methods.go +++ b/rpc/v0/methods.go @@ -359,12 +359,13 @@ func (erisDbMethods *ErisDbMethods) CallCode(request *rpc.RPCRequest, requester } func (erisDbMethods *ErisDbMethods) BroadcastTx(request *rpc.RPCRequest, requester interface{}) (interface{}, int, error) { - param := &txs.CallTx{} + // Accept all transaction types as parameter for broadcast. + param := new(txs.Tx) err := erisDbMethods.codec.DecodeBytes(param, request.Params) if err != nil { return nil, rpc.INVALID_PARAMS, err } - receipt, errC := erisDbMethods.pipe.Transactor().BroadcastTx(param) + receipt, errC := erisDbMethods.pipe.Transactor().BroadcastTx(*param) if errC != nil { return nil, rpc.INTERNAL_ERROR, errC }