LogoLogo
impactmarket.comimpactMarket dAppBilletera Cripto LiberaSoporte
Español
Español
  • Bienvenido
    • 📜Whitepaper impactMarket
    • 1. Resumen
      • El Contexto
      • El Concepto
    • 2. Productos impactMarket
      • Microcrédito
        • Ecosistema de Microcrédito
      • Ecosistema UBI
        • Enlaces de interés
        • Todo sobre las comunidades
          • Historias inspiradoras
            • ARTÍCULOS
            • ZIMBABWE- Kunzwana Women's Association,
            • BRASIL
            • UKRAINE
            • PERU - Agape Hand Community
            • UGANDA - Women Rights Initiative
            • UGANDA - YOTU
            • VENEZUELA - San Pedro del Río
            • MALAWI - Good Hope Malawi
            • GHANA - Campo de Refugiados Krisan
          • Comunidades
          • ¿Cómo solicitar una comunidad?
      • Libera - Billetera Cripto
    • 3. Protocolo impactMarket
      • $PACT
        • impact Farming y Staking
      • Votación y Gobernanza
    • 5. Medición del Impacto
      • Informes y Estudios de Caso
  • 💼Sobre la Empresa
    • Nuestro Equipo
    • Kit de Marca y Medios
    • Alianzas Estratégicas
    • Legal
      • Política de privacidad de datos (RGPD)
      • Términos y condiciones de uso de la aplicación y el sitio web de ImpactMarket
      • Política de privacidad
  • 🕹️Desarrolladores
    • Environment
    • Contratos Inteligentes (Smart Contracts)
    • API
    • Tecnología
      • Blockchain y Criptomonedas
      • DAO
      • Herramientas que utilizamos
Con tecnología de GitBook
En esta página
  • ImpactMarket
  • CommunityFactory
  • Community
  • Functions

¿Te fue útil?

Exportar como PDF
  1. Desarrolladores

Contratos Inteligentes (Smart Contracts)

AnteriorEnvironmentSiguienteAPI

Última actualización hace 2 años

¿Te fue útil?

Actualmente, los contratos inteligentes se dividen en tres: ImpactMarket, CommunityFactory e Community.

ImpactMarket

Su única función es aceptar nuevas comunidades. Esto será reemplazado por un mecanismo (ya en desarrollo) con votación para nuevas comunidades.

CommunityFactory

Su única función es implementar nuevos contratos comunitarios. Un contrato por comunidad. Este contrato está controlado por impactMarket.

Community

Este es el contrato que utilizan las comunidades. Existe un contrato por comunidad, que permite donaciones individuales a cada una de ellas.

A continuación se enumeran los métodos públicos que se pueden llamar para obtener información sobre el contrato.

// When the beneficiary can claim again (timestamp)mapping(address => uint256) public cooldown;// What was the last interval when the user claim.// This is used to calculate the next intervalmapping(address => uint256) public lastInterval;// How much has the beneficiary claimed so far.mapping(address => uint256) public claimed;// In what state is the beneficiary (enum BeneficiaryState {NONE, Valid, Locked, Removed})mapping(address => BeneficiaryState) public beneficiaries;​// community amount per claim (in cUSD)uint256 public claimAmount;// community base interval (we have been using 1 day or 1 week) (in seconds)uint256 public baseInterval;// community increment interval (in seconds)uint256 public incrementInterval;// community maximun claim per beneficiary (in cUSD)uint256 public maxClaim;​// if the community was migrated, will have here the addressaddress public previousCommunityContract;// impactMarket contract addressaddress public impactMarketAddress;// cUSD contract addressaddress public cUSDAddress;

Functions

Nota importante: para integraciones externas, cuando un gerente intenta agregar una dirección como gerente o beneficiario, esa dirección debe registrarse primero en el sistema, de lo contrario, aparecerá un error mencionado en la sección agregar beneficiario. Para evitar esto, use endpoint / api / user / auth. Para obtener más información, consulte la sección .

/** * @dev Allow community managers to add other managers. */function addManager(address _account) external onlyManagers;​/** * @dev Allow community managers to remove other managers. */function removeManager(address _account) external onlyManagers;​/** * @dev Allow community managers to add beneficiaries. */function addBeneficiary(address _account) external onlyManagers;​/** * @dev Allow community managers to lock beneficiaries. */function lockBeneficiary(address _account) external onlyManagers;​/** * @dev Allow community managers to unlock locked beneficiaries. */function unlockBeneficiary(address _account) external onlyManagers;​/** * @dev Allow community managers to remove beneficiaries. */function removeBeneficiary(address _account) external onlyManagers;​/** * @dev Allow beneficiaries to claim. */function claim() external onlyValidBeneficiary;​/** * @dev Allow community managers to edit community variables. */function edit(    uint256 _claimAmount,    uint256 _maxClaim,    uint256 _baseInterval,    uint256 _incrementInterval) external onlyManagers;

🕹️
API