Sign Amino
A web application may also request Adena to sign and send the transaction without broadcasting it directly on Adena via the
Sign
method. Upon receiving the request, Adena will prompt the user to sign the transaction.If the user proceeds to sign the transaction, Adena will return the signed transaction data on the console for the web application to broadcast it by itself.
adena.Sign({
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
"/vm.m_addpkg" for adding packages |
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 | Signed Amino Model |
Key | Type | Description |
---|---|---|
signed | StdSignDoc | Signed transaction document |
signature | StdSignature | Signature |
checkTx | object | Only returns on successful transactions |
deliverTx | object | Only returns on successful transactions |
await adena.Sign(
{
messages: [{
type: "/bank.MsgSend",
value: {
from_address: "g1ffzxha57dh0qgv9ma5v393ur0zexfvp6lsjpae", // your address
to_address: "g122n67es9vzs0rmharsggfr4sdkd45aysnuzf7m", // recipient's address
amount: "5000000ugnot" // sending amount. 1GNOT = 1000000ugnot
}
}],
gasFee: 1,
gasWanted: 1000000,
memo: "12313"
}
)
{
"code": 0,
"status": "success",
"type": "SIGN_SUCCESS",
"message": "Signed data has been successfully returned.",
"data": {
"signed": {
"msgs": [
{
"type": "/bank.MsgSend",
"value": {
"from_address": "g1ffzxha57dh0qgv9ma5v393ur0zexfvp6lsjpae", // your Adena address
"to_address": "g122n67es9vzs0rmharsggfr4sdkd45aysnuzf7m", // sending address
"amount": "5000000ugnot"
}
}
],
"fee": {
"amount": [
{
"amount": "1",
"denom": "ugnot"
}
],
"gas": "1000000"
},
"chain_id": "test3",
"memo": "12313",
"account_number": "656760",
"sequence": "177"
},
"signature": {
"pub_key": {
"type": "tendermint/PubKeySecp256k1",
"value": "A09whvkfsR4pCSEYMMt/do4mD9Zf76Dzs9/kOirITiy0"
},
"signature": "rfEQWvD2aXEZsZyJ7JFxGNP0CWbMKdg+6RNULtZTMLwz3Yi+cNwYOMG5XYh10Gexj9rbpC3jI6s3ww0TyZx8mm=="
}
}
}
await adena.Sign(
{
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
}
)
{
"code": 0,
"message": "Sign amino.",
"type": "SIGN_AMINO",
"status": "success",
"data": {
"document": {
"msgs": [
{
"type": "/vm.m_call",
"value": {
"caller": "g1ffzxha57dh0qgv9ma5v393ur0zexfvp6lsjpae",
"send": "",
"pkg_path": "gno.land/r/demo/foo20",
"func": "Transfer",
"args": [
"g122n67es9vzs0rmharsggfr4sdkd45aysnuzf7m",
"1"
]
}
}
],
"fee": {
"amount": [
{
"amount": "1",
"denom": "ugnot"
}
],
"gas": "10000000"
},
"chain_id": "test3",
"memo": "",
"account_number": "656760",
"sequence": "307"
},
"signature": {
"pub_key": {
"type": "tendermint/PubKeySecp256k1",
"value": "A09whvkfsR4pCSEYMMt/do4mD9Zf76Dzs9/kOirITiy0"
},
"signature": "2WQXvhmVZqR1+l/16CSDBxOQupQOXTZj6aCbYtXcnOQ37nn3xVGdpdUbgkK7pbigMea138pPm+onsYkfZv1MuA=="
}
}
}
await adena.Sign({
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
});
{
"code": 0,
"message": "Sign amino.",
"type": "SIGN_AMINO",
"status": "success",
"data": {
"document": {
"msgs": [
{
"type": "/vm.m_addpkg",
"value": {
"creator": "g1ffzxha57dh0qgv9ma5v393ur0zexfvp6lsjpae",
"deposit": "1ugnot",
"package": {
"Name": "hello",
"Path": "gno.land/r/demo/hello",
"Files": [
{
"Name": "hello.gno",
"Body": "package hello\n\nfunc Hello() string {\n\treturn \"Hello() called\"\n}\n\nfunc Render() string {\n\treturn \"Render() called\"\n}"
}
]
}
}
}
],
"fee": {
"amount": [
{
"amount": "1",
"denom": "ugnot"
}
],
"gas": "2000000"
},
"chain_id": "test3",
"memo": "",
"account_number": "656760",
"sequence": "307"
},
"signature": {
"pub_key": {
"type": "tendermint/PubKeySecp256k1",
"value": "A09whvkfsR4pCSEYMMt/do4mD9Zf76Dzs9/kOirITiy0"
},
"signature": "YkB/GmmTDIG9LUOoH44OWWeiyrafv6AI4a8AqKWM+KAZlgrFXP7DAmPl1yaR1ec0QfJ9RsTWV80Yn2JhpP/1QQ=="
}
}
}
Last modified 18d ago