Adena Docs
Search
⌃K

Sign & Send a Transaction

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
message.value
object
Values (must match the type's format)
gasFee
number
Actual network fee to pay in ugnot
gasWanted
number
Gas limit
memo
string
Transaction memo (tag)

Response

Key
Type
Description
code
number
Account number
status
string
Returns success or failure
type
string
Response type
message
string
Descriptive message of the result
data
object
Transaction Result Model

Transaction Result Model

Key
Type
Description
hash
string
Transaction hash
height
string
Block height
checkTx
object
Only returns on successful transactions
deliverTx
object
Only returns on successful transactions

Sample Request

await adena.DoContract({
messages: [
{
type: "/bank.MsgSend",
value: {
from_address: "g1ffzxha57dh0qgv9ma5v393ur0zexfvp6lsjpae",
to_address: "g15aqqnlhfupy6m3yma99c067jvnsgtltsh2gl4c",
amount: "2000000ugnot"
}
}
],
// denom is set to ugnot
gasFee: 1,
gasWanted: 60000
})

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": {}
}
}