A web application may create an unsigned transaction and request Adena to sign and send the transaction with the connected account via the doContract method. Upon receiving the request, Adena will prompt the user to approve the transaction.
If the user approves the transaction, Adena will use the user's private key to sign the transaction to create a signed transaction and broadcast it immediately.
Code
adena.DoContract({ messages: [ { type:"string", value: object },// you may add additional messages within the brackets... ], gasFee: number, gasWanted: number, memo?: string})
Params
Key
Type
Description
message.type
string
"/bank.MsgSend" for transfers
"/vm.m_call" for contract calls
"/vm.m_addpkg" for adding packages
"/vm.m_run" for simulating transactions
{"code":0,"status":"success","type":"TRANSACTION_SENT","message":"The transaction has been successfully sent.","data": {"height":"4027","hash":"SWHSwked0XUWk7R7UmW+iD4PgVugok/Pb7fW0Yf86qE=","deliverTx": {},"checkTx": {} }}
/vm.m_call
Sample Request
awaitadena.DoContract( { messages: [{ type:"/vm.m_call", value: { caller:"g1ffzxha57dh0qgv9ma5v393ur0zexfvp6lsjpae",// your Adena address send:"", pkg_path:"gno.land/r/demo/foo20",// Gnoland package path func:"Transfer",// Function name args: [ // Arguments"g122n67es9vzs0rmharsggfr4sdkd45aysnuzf7m","1" ] } } ], gasFee:1, gasWanted:10000000 })
Sample Response
{"code":0,"status":"success","type":"TRANSACTION_SENT","message":"The transaction has been successfully sent.","data": {"height":"4027","hash":"SWHSwked0XUWk7R7UmW+iD4PgVugok/Pb7fW0Yf86qE=","deliverTx": {},"checkTx": {} }}
/vm.m_addpkg
Sample Request
awaitadena.DoContract({ messages: [{ type:"/vm.m_addpkg", value: { creator:"g1ffzxha57dh0qgv9ma5v393ur0zexfvp6lsjpae",// your Adena address deposit:"1ugnot",// amount of ugnot to deposit in the package (enter a blank or an amount above 1 ugnot) package: { name:"hello",// package name path:"gno.land/r/demo/hello",// package path (cannot be a duplicate from existing paths on Gnoland) files: [ // a list of files to deploy { name:"hello.gno",// file name body: "package hello\n\nfunc Hello() string {\n\treturn \"Hello() called\"\n}\n\nfunc Render() string {\n\treturn \"Render() called\"\n}", //file contents
} ] } } }], gasFee:1, gasWanted:2000000});
Sample Response
{"code":0,"status":"success","type":"TRANSACTION_SENT","message":"The transaction has been successfully sent.","data": {"height":"4027","hash":"SWHSwked0XUWk7R7UmW+iD4PgVugok/Pb7fW0Yf86qE=","deliverTx": {},"checkTx": {} }}