H4CK3R STUFF
______ __ __
/\ ___\ /\ "-./ \
\ \ \__ \ \ \ \-./\ \
\ \_____\ \ \_\ \ \_\
\/_____/ \/_/ \/_/
__ __ ______ ______ __ __ ______ ______
/\ \_\ \ /\ __ \ /\ ___\ /\ \/ / /\ ___\ /\ == \
\ \ __ \ \ \ __ \ \ \ \____ \ \ _"-. \ \ __\ \ \ __<
\ \_\ \_\ \ \_\ \_\ \ \_____\ \ \_\ \_\ \ \_____\ \ \_\ \_\
\/_/\/_/ \/_/\/_/ \/_____/ \/_/\/_/ \/_____/ \/_/ /_/
Esta guía proporciona la información esencial y los puntos de partida que necesitarán para integrar las funcionalidades de EVVM (y el MNS - Mate Name Service relacionado) en su proyecto del hackathon.
Encuentren direcciones de contratos clave, un resumen rápido del flujo de ejecución y enlaces a documentación más detallada a continuación.
Contract Address
sMate address: 0x1c928a1B1787BA6709cBF2BEb28962F124A063a3
Evvm address: 0x13AEb41589Da754424af2c7e8DceB3915DB814C0
MNS address: 0xde6E698383422bd32fa7693Cfd971e05E34e79B5
TLDR de ejecución
Muchas funciones de EVVM y MNS utilizan un sistema de paso de mensajes off-chain que involucra usuarios, firmas y "Fishers" (ejecutores/relayers). El flujo típico es:
-
Acción del Usuario (Off-Chain):
- El usuario final decide realizar una acción (ej., enviar un pago, retirar tokens, registrar un nombre de usuario).
- Prepara los parámetros necesarios (
from
,to
,amount
,nonce
,token
, detalles del puente, etc.). - Fundamentalmente, el usuario firma un mensaje que contiene estos parámetros usando su clave privada, creando una
signature
(firma) compatible con EIP-191. Esto autoriza la acción sin requerir que el usuario envíe una transacción on-chain directamente aún.
-
Envío al "Fishing Spot" (Off-Chain):
- El usuario envía el payload firmado (parámetros + firma) a un sistema intermediario, a menudo llamado "Fishing Spot".
- Esto podría ser un endpoint de API, una capa de mensajería descentralizada o cualquier sistema diseñado para recolectar estas solicitudes autorizadas.
-
Acción del Fisher (Preparación Off-Chain -> Ejecución On-Chain):
- Un "Fisher" (un bot automatizado, un operador de servicio o potencialmente otro usuario) recupera el payload firmado del Fishing Spot.
- El Fisher valida el payload y la firma del usuario.
- El Fisher debe poseer sMATE si la función objetivo requiere un ejecutor staker (ej.,
payMateStaking
,preRegistrationUsername
,makeOffer
,withdrawOffer
). - El Fisher construye una transacción on-chain, llamando a la función apropiada en el contrato EVVM o MNS.
- El Fisher actúa como el
msg.sender
para esta transacción on-chain, pasando los parámetros originales del usuario y su firma como argumentos a la función del contrato. - El Fisher paga la tarifa de gas (gas fee) por ejecutar esta transacción on-chain. Típicamente son compensados mediante
priorityFee
(Tarifas de Prioridad) incluidas en el mensaje firmado por el usuario y/o recompensas MATE distribuidas por el contrato (para funciones Mate Staking).
-
Ejecución del Contrato (On-Chain):
- El contrato EVVM o MNS recibe la llamada del Fisher (
msg.sender
). - Verifica que el
msg.sender
cumpla los requisitos (ej., ser un staker, si es necesario). - Verifica la firma del usuario (
from
) contra los parámetros proporcionados. - Revisa el nonce del usuario para protección contra repetición (replay protection).
- Si todas las verificaciones pasan, ejecuta la lógica central (ej., actualiza balances, inicia llamada al puente, registra nombre de usuario), actualiza el nonce del usuario y distribuye recompensas/tarifas al Fisher (
msg.sender
) si aplica.
- El contrato EVVM o MNS recibe la llamada del Fisher (
Para una explicación más detallada de este proceso, por favor consulten el documento Process Of A Transaction (en inglés).
Para obtener mate o sinteticos usa la funcion _addBalance
dentro de EVVM.
El address para MATE (Token nativo) es 0x0000000000000000000000000000000000000001
mientras que el de ETH es 0x0000000000000000000000000000000000000000
Enlaces Importantes de Documentación
Para profundizar más, consulten estas secciones (asegúrense de reemplazar las rutas de ejemplo con las correctas):
- Referencia de Funciones:
- Estructuras de Firmas:
ABI para conectar
EVVM
{
"inputs": [
{
"internalType": "address",
"name": "_initialOwner",
"type": "address"
},
{
"internalType": "address",
"name": "_sMateContractAddress",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" },
{ "internalType": "uint256", "name": "", "type": "uint256" }
],
"type": "error",
"name": "InvalidAmount"
},
{ "inputs": [], "type": "error", "name": "InvalidAsyncNonce" },
{ "inputs": [], "type": "error", "name": "InvalidSignature" },
{
"inputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
],
"type": "error",
"name": "LogicPay"
},
{ "inputs": [], "type": "error", "name": "NotAuthorizedOnExecutor" },
{ "inputs": [], "type": "error", "name": "invalidIdentity" },
{ "inputs": [], "stateMutability": "nonpayable", "type": "fallback" },
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "quantity", "type": "uint256" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "_addBalance"
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{ "internalType": "bytes1", "name": "answer", "type": "bytes1" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "_setPointStaker"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "acceptAdmin"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "acceptImplementation"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "addTokenToWhitelist"
},
{
"inputs": [
{ "internalType": "address", "name": "to", "type": "address" },
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "caPay"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "cancelPrepareMaxAmountToWithdraw"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "cancelPrepareTokenToBeWhitelisted"
},
{
"inputs": [
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "address", "name": "pool", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "changePool"
},
{
"inputs": [
{
"internalType": "struct EvvmTesnetStructs.DisperseCaPayMetadata[]",
"name": "toData",
"type": "tuple[]",
"components": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "toAddress",
"type": "address"
}
]
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "disperseCaPay"
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{
"internalType": "struct EvvmTesnetStructs.DispersePayMetadata[]",
"name": "toData",
"type": "tuple[]",
"components": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "to_address",
"type": "address"
},
{
"internalType": "string",
"name": "to_identity",
"type": "string"
}
]
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{ "internalType": "uint256", "name": "nonce", "type": "uint256" },
{ "internalType": "bool", "name": "priority", "type": "bool" },
{
"internalType": "address",
"name": "executor",
"type": "address"
},
{ "internalType": "bytes", "name": "signature", "type": "bytes" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "dispersePay"
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{
"internalType": "address",
"name": "addressToReceive",
"type": "address"
},
{ "internalType": "address", "name": "token", "type": "address" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{ "internalType": "bytes", "name": "signature", "type": "bytes" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "fisherWithdrawal"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getCurrentAdmin",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getCurrentImplementation",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{ "internalType": "uint256", "name": "nonce", "type": "uint256" }
],
"stateMutability": "view",
"type": "function",
"name": "getIfUsedAsyncNonce",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getMateNameServiceAddress",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getMaxAmountToWithdraw",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getNextCurrentSyncNonce",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getNextFisherDepositNonce",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getNextFisherWithdrawalNonce",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getProposalAdmin",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getProposalImplementation",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getSMateContractAddress",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getTimeToAcceptAdmin",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getTimeToAcceptImplementation",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "token", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getTokenUniswapPool",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getWhitelistTokenToBeAdded",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "isMateStaker",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{
"internalType": "address",
"name": "to_address",
"type": "address"
},
{
"internalType": "string",
"name": "to_identity",
"type": "string"
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{ "internalType": "uint256", "name": "nonce", "type": "uint256" },
{
"internalType": "address",
"name": "executor",
"type": "address"
},
{ "internalType": "bytes", "name": "signature", "type": "bytes" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "payMateStaking_async"
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{
"internalType": "address",
"name": "to_address",
"type": "address"
},
{
"internalType": "string",
"name": "to_identity",
"type": "string"
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{
"internalType": "address",
"name": "executor",
"type": "address"
},
{ "internalType": "bytes", "name": "signature", "type": "bytes" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "payMateStaking_sync"
},
{
"inputs": [
{
"internalType": "struct EvvmTesnetStructs.PayData[]",
"name": "payData",
"type": "tuple[]",
"components": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to_address",
"type": "address"
},
{
"internalType": "string",
"name": "to_identity",
"type": "string"
},
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{ "internalType": "bool", "name": "priority", "type": "bool" },
{
"internalType": "address",
"name": "executor",
"type": "address"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "payMultiple",
"outputs": [
{
"internalType": "uint256",
"name": "successfulTransactions",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "failedTransactions",
"type": "uint256"
},
{ "internalType": "bool[]", "name": "results", "type": "bool[]" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{
"internalType": "address",
"name": "to_address",
"type": "address"
},
{
"internalType": "string",
"name": "to_identity",
"type": "string"
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{ "internalType": "uint256", "name": "nonce", "type": "uint256" },
{
"internalType": "address",
"name": "executor",
"type": "address"
},
{ "internalType": "bytes", "name": "signature", "type": "bytes" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "payNoMateStaking_async"
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{
"internalType": "address",
"name": "to_address",
"type": "address"
},
{
"internalType": "string",
"name": "to_identity",
"type": "string"
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{
"internalType": "address",
"name": "executor",
"type": "address"
},
{ "internalType": "bytes", "name": "signature", "type": "bytes" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "payNoMateStaking_sync"
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{ "internalType": "bytes1", "name": "answer", "type": "bytes1" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "pointStaker"
},
{
"inputs": [
{ "internalType": "uint256", "name": "amount", "type": "uint256" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "prepareMaxAmountToWithdraw"
},
{
"inputs": [
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "address", "name": "pool", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "prepareTokenToBeWhitelisted"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newOwner",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "proposeAdmin"
},
{
"inputs": [
{ "internalType": "address", "name": "_newImpl", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "proposeImplementation"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "recalculateReward"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "rejectProposalAdmin"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "rejectUpgrade"
},
{
"inputs": [
{ "internalType": "address", "name": "token", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "removeTokenWhitelist"
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{ "internalType": "address", "name": "token", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "seeBalance",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "token", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "seeIfTokenIsWhitelisted",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "seeMateEraTokens",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "seeMateReward",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "seeMateTotalSupply",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{
"internalType": "address",
"name": "_mateNameServiceAddress",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setMNSAddress"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "setMaxAmountToWithdraw"
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{
"internalType": "address",
"name": "addressToReceive",
"type": "address"
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{ "internalType": "uint256", "name": "nonce", "type": "uint256" },
{ "internalType": "bytes", "name": "signature", "type": "bytes" },
{ "internalType": "uint8", "name": "_solutionId", "type": "uint8" },
{ "internalType": "bytes", "name": "_options", "type": "bytes" }
],
"stateMutability": "payable",
"type": "function",
"name": "withdrawalAsync"
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" },
{
"internalType": "address",
"name": "addressToReceive",
"type": "address"
},
{ "internalType": "address", "name": "token", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{
"internalType": "uint256",
"name": "priorityFee",
"type": "uint256"
},
{ "internalType": "bytes", "name": "signature", "type": "bytes" },
{ "internalType": "uint8", "name": "_solutionId", "type": "uint8" },
{ "internalType": "bytes", "name": "_options", "type": "bytes" }
],
"stateMutability": "payable",
"type": "function",
"name": "withdrawalSync"
}
SMate
{
"inputs": [
{
"internalType": "address",
"name": "initialAdmin",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{ "internalType": "uint256", "name": "code", "type": "uint256" }
],
"type": "error",
"name": "Logic"
},
{
"inputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
],
"type": "error",
"name": "Time"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "acceptNewAdmin"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "acceptNewEstimator"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "acceptNewGoldenFisher"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "acceptSetSecondsToUnlockStaking"
},
{
"inputs": [
{ "internalType": "address", "name": "_staker", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "addPresaleStaker"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_stakers",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "addPresaleStakers"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "cancelSetSecondsToUnllockFullUnstaking"
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{ "internalType": "uint256", "name": "_nonce", "type": "uint256" }
],
"stateMutability": "view",
"type": "function",
"name": "checkIfStakeNonceUsed",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "confirmSetSecondsToUnllockFullUnstaking"
},
{
"inputs": [
{ "internalType": "address", "name": "_account", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getAddressHistory",
"outputs": [
{
"internalType": "struct SMateTesnet.HistoryMetadata[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "transactionType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalStaked",
"type": "uint256"
}
]
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "_account",
"type": "address"
},
{ "internalType": "uint256", "name": "_index", "type": "uint256" }
],
"stateMutability": "view",
"type": "function",
"name": "getAddressHistoryByIndex",
"outputs": [
{
"internalType": "struct SMateTesnet.HistoryMetadata",
"name": "",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "transactionType",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalStaked",
"type": "uint256"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getEstimatorAddress",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getEstimatorProposal",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getEvvmAddress",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getGoldenFisher",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getGoldenFisherProposal",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "pure",
"type": "function",
"name": "getMateAddress",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getOwner",
"outputs": [
{ "internalType": "address", "name": "", "type": "address" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "_account", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getPresaleStaker",
"outputs": [
{ "internalType": "bool", "name": "", "type": "bool" },
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getPresaleStakerCount",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getSecondsToUnlockFullUnstaking",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getSecondsToUnlockStaking",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "_account", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getSizeOfAddressHistory",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "_account", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getTimeToUserUnlockFullUnstakingTime",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "_account", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getTimeToUserUnlockStakingTime",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "_account", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "getUserAmountStaked",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "user", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "gimmeYiel",
"outputs": [
{
"internalType": "bytes32",
"name": "epochAnswer",
"type": "bytes32"
},
{
"internalType": "address",
"name": "tokenToBeRewarded",
"type": "address"
},
{
"internalType": "uint256",
"name": "amountTotalToBeRewarded",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "idToOverwriteUserHistory",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestampToBeOverwritten",
"type": "uint256"
}
]
},
{
"inputs": [
{ "internalType": "bool", "name": "_isStaking", "type": "bool" },
{
"internalType": "uint256",
"name": "_amountOfSMate",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "_signature_Evvm",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "goldenStaking"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_secondsToUnllockFullUnstaking",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "prepareSetSecondsToUnllockFullUnstaking"
},
{
"inputs": [],
"stateMutability": "pure",
"type": "function",
"name": "priceOfSMate",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{
"internalType": "address",
"name": "_newAdmin",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "proposeAdmin"
},
{
"inputs": [
{
"internalType": "address",
"name": "_estimator",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "proposeEstimator"
},
{
"inputs": [
{
"internalType": "address",
"name": "_goldenFisher",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "proposeGoldenFisher"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_secondsToUnlockStaking",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "proposeSetSecondsToUnlockStaking"
},
{
"inputs": [
{ "internalType": "bool", "name": "_isStaking", "type": "bool" },
{ "internalType": "address", "name": "_user", "type": "address" },
{ "internalType": "uint256", "name": "_nonce", "type": "uint256" },
{
"internalType": "uint256",
"name": "_amountOfSMate",
"type": "uint256"
},
{ "internalType": "bytes", "name": "_signature", "type": "bytes" },
{
"internalType": "uint256",
"name": "_priorityFee_Evvm",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_nonce_Evvm",
"type": "uint256"
},
{
"internalType": "bool",
"name": "_priority_Evvm",
"type": "bool"
},
{
"internalType": "bytes",
"name": "_signature_Evvm",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "publicStaking"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "rejectProposalAdmin"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "rejectProposalEstimator"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "rejectProposalGoldenFisher"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "rejectProposalSetSecondsToUnlockStaking"
}
MNS
{
"type": "constructor",
"inputs": [
{
"name": "_evvmAddress",
"type": "address",
"internalType": "address"
},
{
"name": "_initialOwner",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "_setIdentityBaseMetadata",
"inputs": [
{ "name": "_identity", "type": "string", "internalType": "string" },
{
"name": "_identityBaseMetadata",
"type": "tuple",
"internalType": "struct MateNameServiceTesnet.IdentityBaseMetadata",
"components": [
{ "name": "owner", "type": "address", "internalType": "address" },
{
"name": "expireDate",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "customMetadataMaxSlots",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "offerMaxSlots",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "flagNotAUsername",
"type": "bytes1",
"internalType": "bytes1"
}
]
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "_setIdentityCustomMetadata",
"inputs": [
{ "name": "_identity", "type": "string", "internalType": "string" },
{ "name": "_numberKey", "type": "uint256", "internalType": "uint256" },
{ "name": "_customValue", "type": "string", "internalType": "string" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "acceptChangeEvvmAddress",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "acceptOffer",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_username", "type": "string", "internalType": "string" },
{ "name": "_offerID", "type": "uint256", "internalType": "uint256" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "acceptProposeAdmin",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "addCustomMetadata",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_identity", "type": "string", "internalType": "string" },
{ "name": "_value", "type": "string", "internalType": "string" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{
"name": "_nonce_Evvm_forAddCustomMetadata",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_priority_Evvm_forAddCustomMetadata",
"type": "bool",
"internalType": "bool"
},
{
"name": "_signature_Evvm_forAddCustomMetadata",
"type": "bytes",
"internalType": "bytes"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelChangeAutority",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelChangeEmailRegistery",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelChangeEvvmAddress",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelChangePhoneNumberRegistery",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelProposeAdmin",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelSetStopChangeVerificationsAddress",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "cancelWithdrawMateTokens",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "changeAutority",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "changeEmailRegistery",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "changePhoneNumberRegistery",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "checkIfMNSNonceIsAvailable",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" }
],
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "claimWithdrawMateTokens",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "flushCustomMetadata",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_identity", "type": "string", "internalType": "string" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "flushUsername",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_identity", "type": "string", "internalType": "string" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "getAdmin",
"inputs": [],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAdminFullDetails",
"inputs": [],
"outputs": [
{
"name": "currentAdmin",
"type": "address",
"internalType": "address"
},
{
"name": "proposalAdmin",
"type": "address",
"internalType": "address"
},
{
"name": "timeToAcceptAdmin",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAmountOfCustomMetadata",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAutority",
"inputs": [],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAutorityFullDetails",
"inputs": [],
"outputs": [
{
"name": "currentAutority",
"type": "address",
"internalType": "address"
},
{
"name": "proposalAutority",
"type": "address",
"internalType": "address"
},
{
"name": "timeToAcceptAutority",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getCustomMetadataMaxSlotsOfIdentity",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getEmailRegistery",
"inputs": [],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getEmailRegisteryFullDetails",
"inputs": [],
"outputs": [
{
"name": "currentEmailRegistery",
"type": "address",
"internalType": "address"
},
{
"name": "proposalEmailRegistery",
"type": "address",
"internalType": "address"
},
{
"name": "timeToAcceptEmailRegistery",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getEvvmAddress",
"inputs": [],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getEvvmAddressFullDetails",
"inputs": [],
"outputs": [
{
"name": "currentEvvmAddress",
"type": "address",
"internalType": "address"
},
{
"name": "proposalEvvmAddress",
"type": "address",
"internalType": "address"
},
{
"name": "timeToAcceptEvvmAddress",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getExpireDateOfIdentity",
"inputs": [
{ "name": "_identity", "type": "string", "internalType": "string" }
],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getFullCustomMetadataOfIdentity",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "", "type": "string[]", "internalType": "string[]" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getIdentityBasicMetadata",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "", "type": "address", "internalType": "address" },
{ "name": "", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getLengthOfOffersUsername",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "length", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getOffersOfUsername",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [
{
"name": "offers",
"type": "tuple[]",
"internalType": "struct MateNameServiceTesnet.OfferMetadata[]",
"components": [
{ "name": "offerer", "type": "address", "internalType": "address" },
{
"name": "expireDate",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "amount", "type": "uint256", "internalType": "uint256" }
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getOwnerOfIdentity",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPhoneNumberRegistery",
"inputs": [],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPhoneNumberRegisteryFullDetails",
"inputs": [],
"outputs": [
{
"name": "currentPhoneNumberRegistery",
"type": "address",
"internalType": "address"
},
{
"name": "proposalPhoneNumberRegistery",
"type": "address",
"internalType": "address"
},
{
"name": "timeToAcceptPhoneNumberRegistery",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPricePerRegistration",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPriceToAddCustomMetadata",
"inputs": [],
"outputs": [
{ "name": "price", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPriceToFlushCustomMetadata",
"inputs": [
{ "name": "_identity", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "price", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPriceToFlushUsername",
"inputs": [
{ "name": "_identity", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "price", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPriceToRemoveCustomMetadata",
"inputs": [],
"outputs": [
{ "name": "price", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getProposedWithdrawAmountFullDetails",
"inputs": [],
"outputs": [
{
"name": "proposalAmountToWithdrawTokens",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "timeToAcceptAmountToWithdrawTokens",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSingleCustomMetadataOfIdentity",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" },
{ "name": "_key", "type": "uint256", "internalType": "uint256" }
],
"outputs": [{ "name": "", "type": "string", "internalType": "string" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "getSingleOfferOfUsername",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" },
{ "name": "_offerID", "type": "uint256", "internalType": "uint256" }
],
"outputs": [
{
"name": "offer",
"type": "tuple",
"internalType": "struct MateNameServiceTesnet.OfferMetadata",
"components": [
{ "name": "offerer", "type": "address", "internalType": "address" },
{
"name": "expireDate",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "amount", "type": "uint256", "internalType": "uint256" }
]
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getStopChangeVerificationsAddressFullDetails",
"inputs": [],
"outputs": [
{ "name": "flag", "type": "bool", "internalType": "bool" },
{
"name": "timeToAcceptChange",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "hashUsername",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" },
{
"name": "_randomNumber",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
"stateMutability": "pure"
},
{
"type": "function",
"name": "isUsernameAvailable",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "makeOffer",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_username", "type": "string", "internalType": "string" },
{ "name": "_amount", "type": "uint256", "internalType": "uint256" },
{ "name": "_expireDate", "type": "uint256", "internalType": "uint256" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [
{ "name": "offerID", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "preRegistrationUsername",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{
"name": "_hashUsername",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "prepareChangeAutority",
"inputs": [
{ "name": "_newAddress", "type": "address", "internalType": "address" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "prepareChangeEmailRegistery",
"inputs": [
{ "name": "_newAddress", "type": "address", "internalType": "address" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "proposeAdmin",
"inputs": [
{
"name": "_adminToPropose",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "proposeChangeEvvmAddress",
"inputs": [
{
"name": "_newEvvmAddress",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "proposeChangePhoneNumberRegistery",
"inputs": [
{ "name": "_newAddress", "type": "address", "internalType": "address" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "proposeSetStopChangeVerificationsAddress",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "proposeWithdrawMateTokens",
"inputs": [
{ "name": "_amount", "type": "uint256", "internalType": "uint256" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "registrationUsername",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_username", "type": "string", "internalType": "string" },
{ "name": "_clowNumber", "type": "uint256", "internalType": "uint256" },
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "removeCustomMetadata",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_identity", "type": "string", "internalType": "string" },
{ "name": "_key", "type": "uint256", "internalType": "uint256" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "renewUsername",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_username", "type": "string", "internalType": "string" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "seePriceToRenew",
"inputs": [
{ "name": "_identity", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "price", "type": "uint256", "internalType": "uint256" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "setStopChangeVerificationsAddress",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "strictVerifyIfIdentityExist",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "verifyIfIdentityExists",
"inputs": [
{ "name": "_identity", "type": "string", "internalType": "string" }
],
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "verifyStrictAndGetOwnerOfIdentity",
"inputs": [
{ "name": "_username", "type": "string", "internalType": "string" }
],
"outputs": [
{ "name": "answer", "type": "address", "internalType": "address" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "withdrawOffer",
"inputs": [
{ "name": "_user", "type": "address", "internalType": "address" },
{ "name": "_nonce", "type": "uint256", "internalType": "uint256" },
{ "name": "_username", "type": "string", "internalType": "string" },
{ "name": "_offerID", "type": "uint256", "internalType": "uint256" },
{
"name": "_priorityFeeForFisher",
"type": "uint256",
"internalType": "uint256"
},
{ "name": "_signature", "type": "bytes", "internalType": "bytes" },
{ "name": "_nonce_Evvm", "type": "uint256", "internalType": "uint256" },
{ "name": "_priority_Evvm", "type": "bool", "internalType": "bool" },
{ "name": "_signature_Evvm", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{ "type": "error", "name": "HasNoCustomMetadata", "inputs": [] },
{ "type": "error", "name": "InvalidEmailOrPhoneNumber", "inputs": [] },
{ "type": "error", "name": "InvalidOwner", "inputs": [] },
{ "type": "error", "name": "InvalidSignature", "inputs": [] },
{ "type": "error", "name": "InvalidSignatureOnMNS", "inputs": [] },
{ "type": "error", "name": "InvalidUsername", "inputs": [] },
{
"type": "error",
"name": "Logic",
"inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }]
},
{ "type": "error", "name": "NonceAlreadyUsed", "inputs": [] },
{ "type": "error", "name": "OfferAlreadyWithdrawn", "inputs": [] },
{ "type": "error", "name": "OfferExpired", "inputs": [] },
{ "type": "error", "name": "UsernameAlreadyRegistered", "inputs": [] },
{ "type": "error", "name": "checkIfUsernameHasWindowTime", "inputs": [] },
{ "type": "error", "name": "checkIfUsernameOwner", "inputs": [] }
Premios Free Money
-
$500 Top fishing Spot
-
$250 Runner up
-
$500 Top MATE Service
-
$250 Runner up
-
$250 stake MATE (How... Check the docs)
¡Feliz Hackeo!