diff --git a/rpc/jsonrpc.go b/rpc/jsonrpc.go index 99162494b9bac5036d83921b1f0a061764746921..17b683beb81c67d4d9778ab15153fd9e36f6dfb8 100644 --- a/rpc/jsonrpc.go +++ b/rpc/jsonrpc.go @@ -66,6 +66,17 @@ type ( } ) +// Create a new RPC request. This is the generic struct that is passed to RPC +// methods +func NewRPCRequest(id string, method string, params json.RawMessage) *RPCRequest { + return &RPCRequest{ + JSONRPC: "2.0", + Id: id, + Method: method, + Params: params, + } +} + // NewRPCResponse creates a new response object from a result func NewRPCResponse(id string, res interface{}) RPCResponse { return RPCResponse(&RPCResultResponse{ diff --git a/rpc/v0/json_service_data_test.go b/rpc/v0/json_service_data_test.go index 0e8e1df70ff870193e65eca022fd22ce425dc5fb..258226470e6a4ae23e1695805bced88c1be80ea2 100644 --- a/rpc/v0/json_service_data_test.go +++ b/rpc/v0/json_service_data_test.go @@ -64,7 +64,7 @@ func TestCallTxJsonFormatCodec(t *testing.T) { request := &rpc.RPCRequest{} assert.NoError(t, json.Unmarshal(testBroadcastCallTxJsonRequest, request), "Provided JSON test data does not unmarshal to rpc.RPCRequest object.") - assert.NoError(t, codec.DecodeBytes(param, request.Params), + assert.NoError(t, codec.DecodeBytesPtr(param, request.Params), "RPC codec failed to decode params as transaction type.") _, ok := (*param).(*txs.CallTx) assert.True(t, ok, "Type byte 0x02 should unmarshal into CallTx.") diff --git a/rpc/v0/json_service_test.go b/rpc/v0/json_service_test.go index 14df562aa48bd2157e5374445549ee2171322224..26c7cca45d3086097a8d06e4e18f081bfd589d14 100644 --- a/rpc/v0/json_service_test.go +++ b/rpc/v0/json_service_test.go @@ -17,10 +17,10 @@ package v0 import ( "testing" - "github.com/monax/eris-db/account" - "github.com/monax/eris-db/manager/eris-mint/evm/opcodes" - "github.com/monax/eris-db/rpc" - "github.com/monax/eris-db/txs" + "github.com/monax/burrow/account" + "github.com/monax/burrow/manager/burrow-mint/evm/opcodes" + "github.com/monax/burrow/rpc" + "github.com/monax/burrow/txs" "github.com/stretchr/testify/assert" "github.com/tendermint/go-wire" @@ -29,14 +29,14 @@ import ( func TestBroadcastTx(t *testing.T) { testData := LoadTestData() pipe := NewMockPipe(testData) - methods := NewErisDbMethods(NewTCodec(), pipe) + methods := NewBurrowMethods(NewTCodec(), pipe) pubKey := account.GenPrivAccount().PubKey address := []byte{1} code := opcodes.Bytecode(opcodes.PUSH1, 1, opcodes.PUSH1, 1, opcodes.ADD) var tx txs.Tx = txs.NewCallTxWithNonce(pubKey, address, code, 10, 2, 1, 0) jsonBytes := wire.JSONBytesPretty(wrappedTx{tx}) - request := rpc.NewRPCRequest("TestBroadcastTx", "BroacastTx", jsonBytes) + request := rpc.NewRPCRequest("TestBroadcastTx", "BroadcastTx", jsonBytes) result, _, err := methods.BroadcastTx(request, "TestBroadcastTx") assert.NoError(t, err) receipt, ok := result.(*txs.Receipt)