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.
adena.DoContract({
messages: [
{
type: "string",
value: object
},
// you may add additional messages within the brackets
...
],
gasFee: number,
gasWanted: number,
memo?: string
})
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) |
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 |
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 |
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
})
{
"code": 0,
"status": "success",
"type": "TRANSACTION_SENT",
"message": "The transaction has been successfully sent.",
"data": {
"height": "4027",
"hash": "SWHSwked0XUWk7R7UmW+iD4PgVugok/Pb7fW0Yf86qE=",
"deliverTx": {},
"checkTx": {}
}
}
Last modified 1mo ago