📃Backend (smart contract)

El contrato inteligente realiza 3 de las funciones basicas de un sistema CRUD

newPoap

Esta funcion se llena mediente un type metadataNewPOAP el cual contiene las siguentes variables

type metadataNewPOAP = {
    title : Text;
    image : Text;
    description : Text;
    isCertification : Bool;
    isOnline : Bool;
    eventUrl : Text;
    eventCity : Text;
    eventCountry : Text;
    eventDate : Text;
    mintLimit : Nat;
    code : Text;
 };

estos datos son pasados por un filtro donde rechaza el ingreso de un nuevo poap de esta manera

Esto se realiza para que los datos obligatorios no sean omitidos

Después de ese filtro los datos se dividen en certificación o POAP donde dependiendo si el evento es online o presencial se requerirá o no ciertos datos

El poap se almacena en HashMap donde el id es dado por la variable counter la cual incrementa conforme se generen nuevos poaps

mintPoap

Esta función registra a un nuevo usuario o agrega un poap nuevo a un usuario viejo, esto se realiza verificando primero si el usuario RBTree a su nombre (ID), de no ser así se genera uno nuevo en donde cada nuevo poap se guarda en un Buffer en el cual se agrega en lista, también verifica si este anteriormente ha minteado el poap o certificado, de ser así se rechaza, en caso de no existir esa id del poap o certificado se lanza un Debug.trap indicando que no existe, en el caso de haber esa id y la contraseña es incorrecta se lanza un Debug.trap

getPoapInfo y getPoapInfoForDev

Estos obtienen los datos de un poap especifico conforme su ID, la diferencia entre el comun y el "ForDev" es que el común no contiene la contraseña

getSizeListOfPoapMintedByUser

Devuelve la cantidad de POAPs y certificados obtenidos por el usuario

getPoapMintedByUserFromTheList

Obtiene un POAP o certificado de la lista de un usuario

Last updated