Table of Contents
Table of Contents |
---|
maxLevel | 6 |
---|
minLevel | 1 | maxLevel | 6 |
---|
include | |
---|
outline | false |
---|
indent | |
---|
exclude | |
---|
type | list |
---|
printable | false |
---|
class |
---|
printable | false |
---|
|
Overview
Alternative Authentication methods are ways to authenticated into the FIO App and sign FIO transactions without the need to use Account based on /wiki/spaces/DAO/pages/151879691.
Metamask SNAP
...
High-level Specification
Metamask SNAP
Overview
Metamask Snap is an extension of Metamask browser plug-in, which allows for new functionality, e.g. ability to sign transactions on a non-EVM chain.
The FIO Snap allows Metamask users to gain access to the FIO App and execute transactions without having to create an account, which requires email and password.
Sign-in Flow
Zenuml sequence macro lite |
---|
uuid | 1c980fc8-f67d-4ea9-8bec-e96c54f76514 |
---|
customContentId | 799244302 |
---|
updatedAt | 2024-01-09T16:42:48Z |
---|
|
|
Sign Transaction Flow
Zenuml sequence macro lite |
---|
uuid | a8e67555-ec07-4772-98af-2b9dab781332 |
---|
customContentId | 743571457 |
---|
updatedAt | 2023-10-12T20:24:18Z |
---|
|
|
Inside SNAP Functionality
Visual | Functionality |
---|
Image Added | Code Block |
---|
| "endowment:name-lookup": {
"chains": [
"eip155:1",
"eip155:10",
"eip155:56",
"eip155:61",
"eip155:137",
"eip155:324",
"eip155:1101",
"eip155:5000",
"eip155:8453",
"eip155:42161",
"eip155:42220",
"eip155:43114",
"eip155:59144",
"eip155:7777777"
]
} |
Look-up logic Verify that the string received matches the FIO Handle format Convert chainId to chain_code and token_code based on the following (chainId, chain_code, token_code) Code Block |
---|
eip155:1,ETH,ETH
eip155:10,OP,ETH
eip155:56,BSC,BNB
eip155:61,ETC,ETC
eip155:137,POL,POL
eip155:324,ZKSYNC,ETH
eip155:1101,POLZK,ETH
eip155:5000,MNT,MNT
eip155:8453,BASE,ETH
eip155:42161,ARB,ETH
eip155:42220,CELO,CELO
eip155:43114,AVAX,AVAX
eip155:59144,LINEA,ETH
eip155:7777777,ZORA,ETH |
Execute /get_pub_address Return public address Example OnNameLookupHandler
Code Block |
---|
| export const onNameLookup: OnNameLookupHandler = async (request) => {
const { chainId, address, domain } = request;
if (domain) {
const resolvedAddress = '0xc0ffee254729296a45a3885639AC7E10F9d54979';
return {
resolvedAddresses: [{
protocol: 'FIO Handle',
resolvedAddress: resolvedAddress,
domainName: domain,
}]
};
}
return null;
}; |
DEV NOTE: specification: https://metamask.github.io/SIPs/SIPS/sip-12 |
SNAP Home PageImage AddedImage Added | |
Inside FIO App Functionality
Visual | Functionality |
---|
Image Added | |
Image Added Image Added | |
Decrypt Content | |
Image Added | |