using System; using System.Threading.Tasks; using Nethereum.Hex.HexConvertors.Extensions; using Nethereum.JsonRpc.Client; using Newtonsoft.Json.Linq; namespace Nethereum.RPC.Eth.Compilation { /// /// eth_compileSerpent /// Returns compiled serpent code. /// Parameters /// String - The source code. /// params: [ /// "/* some serpent */", /// ] /// Returns /// DATA - The compiled source code. /// Example /// Request /// curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileSerpent","params":["/* some serpent */"],"id":1}' /// Result /// { /// "id":1, /// "jsonrpc": "2.0", /// "result": /// "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056" /// // the compiled source code /// } /// public class EthCompileSerpent : RpcRequestResponseHandler, IEthCompileSerpent { public EthCompileSerpent(IClient client) : base(client, ApiMethods.eth_compileSerpent.ToString()) { } public Task SendRequestAsync(string serpentCode, object id = null) { if (serpentCode == null) throw new ArgumentNullException(nameof(serpentCode)); return base.SendRequestAsync(id, serpentCode); } public RpcRequest BuildRequest(string serpentCode, object id = null) { if (serpentCode == null) throw new ArgumentNullException(nameof(serpentCode)); return base.BuildRequest(id, serpentCode); } } }