GoodDocs
  • Welcome to GoodDocs!
  • GoodDollar Ecosystem Vision
  • About the Protocol
    • Usage
    • Tokenomics
    • Sybil-Resistance
    • Protocol V3 Documentation
      • Architecture & Value Flow
      • System's Elements
      • Core Contracts & API
        • GoodDollar
        • GoodCompoundStaking V2 (DAI)
        • GoodAaveStaking V2 (USDC)
        • GoodReserveCDai
        • GoodFundManager
        • GoodMarketMaker
        • ContributionCalculation
        • UBIScheme
        • Identity
        • FirstClaimPool
        • AdminWallet
        • OneTimePayments
        • DonationsStaking
        • NameService
        • GReputation
        • CompoundVotingMachine
        • StakersDistribution
        • UniswapV2SwapHelper
        • Invites
        • GovernanceStaking
        • ClaimersDistribution
        • CompoundStakingFactory
        • AaveStakingFactory
        • ExchangeHelper
        • FuseFaucet
        • GoodDollarMintBurnWrapper
      • Previous Protocol Versions
        • Protocol V1
          • Architecture & Value Flow
          • Core Contracts & API
        • Protocol V2
          • Architecture & Value Flow
          • System's Elements
            • 1. The token (G$)
            • 2. The Reserve
            • 3. The Trust
            • 4. Staking rewards (APR)
            • 5. The Fund Manager
            • 6. The Distribution Contract (DisCo)
            • 7. Governance (DAO)
          • Core Contracts & API
            • GoodDollar
            • GoodCompoundStaking V2 (DAI)
            • GoodAaveStaking V2 (USDC)
            • GoodReserveCDai
            • GoodFundManager
            • GoodMarketMaker
            • ContributionCalculation
            • UBIScheme
            • Identity
            • FirstClaimPool
            • AdminWallet
            • OneTimePayments
            • DonationsStaking
            • NameService
            • GReputation
            • CompoundVotingMachine
            • StakersDistribution
            • UniswapV2SwapHelper
            • Invites
            • GovernanceStaking
            • ClaimersDistribution
            • CompoundStakingFactory
            • AaveStakingFactory
            • ExchangeHelper
            • FuseFaucet
  • User Guides
    • Buy & Sell G$
    • Stake to create UBI
    • Claim GOOD and G$X
    • Bridge GoodDollars
    • Connect another wallet address to identity
  • Liquidity
  • Wallet and Products
    • GoodWallet
    • GoodDapp
    • New GoodWallet
    • GoodCollective
    • GoodID & GoodOffers
    • 3rd Party Partners and Integrations
  • Frequently Asked Questions
    • Web3 basic knowledge and security tips - by Consensys
    • About GoodDollar
    • GoodDollar Protocol & G$ Token
    • Using GoodDollar
    • GoodDollar Community
    • Troubleshooting
  • For Developers
    • Contributing to GoodDollar
    • GoodDapp Developer Guides
      • Deploy your own GoodDapp UI
    • APIs & SDKs
      • Claim UBI
      • React Hooks Setup
      • Login With GoodDollar
      • Sybil Resistance
        • Identity (Ethers v5 / React)
        • Identity (Viem/Wagmi)
  • Useful Links
    • GoodDollar.org
    • GoodDapp
    • GoodWallet
    • GoodDollar User Guides
    • Statistics Dashboard
    • GoodDollar Whitepaper
    • GoodDollar Litepaper
    • GoodDollar Litepaper - Español
Powered by GitBook
On this page
  • Events
  • isWhitelisted
  • lastAuthenticated
  • authenticationPeriod
  • addrToDID

Was this helpful?

  1. About the Protocol
  2. Protocol V3 Documentation
  3. Previous Protocol Versions
  4. Protocol V2
  5. Core Contracts & API

Identity

The Identity contract controls addresses that are whitelisted to "Claim" UBI.

  • Face Verification GoodDollar currently whitelists users based on a user proving "uniqueness" by signing up with a live and unique face. All image data and details are anonymized in order to allow the user to create a new account in case he is unable to recover his wallet. Facial details are deleted after authenticationPeriod and users are required to perform face verification again every authenticationPeriod days.

  • Social Profile Each blockchain address is linked to the user's public profile as created in the wallet. The DID is the node id in the public p2p GunDB database. Mappings from wallet address to DID are held in addrToDID.

Events

BlacklistAdded

Emitted when the address is added to blacklist.

Parameter name
Annotation

account

The address of the account to add.

event BlacklistAdded(address indexed account);

BlacklistRemoved

Emitted when the address is removed from blacklist.

Parameter name
Annotation

account

The address of the account to remove.

event BlacklistRemoved(address indexed account);

WhitelistedRemoved

Emitted when the address is removed from whitelist.

Parameter name
Annotation

account

The address of the account to remove.

event WhitelistedRemoved(address indexed account);

WhitelistedAdded

Emitted when the address is added to whitelist.

Parameter name
Annotation

account

The address of the account to add.

event WhitelistedAdded(address indexed account);

ContractAdded

Emitted when the contract address is added to whitelist.

Parameter name
Annotation

account

The address of the contract to add.

event ContractAdded(address indexed account);

ContractRemoved

Emitted when the contract address is removed from whitelist.

Parameter name
Annotation

account

The address of the contract to add.

event ContractRemoved(address indexed account);

isWhitelisted

The function checks if given address has been added to whitelist.

Parameter name
Annotation

account

The address to check.

Returns: a boolean indicating weather the address is present in whitelist.

function isWhitelisted(address account) public view returns (bool);

lastAuthenticated

Function that gives the date the given user was added.

Parameter name
Annotation

account

The address to check.

Returns: the date the address was added.

function lastAuthenticated(address account) public view returns (uint256);

authenticationPeriod

Field that contains the number of days an authentication is valid for.

Returns: a time duration in days.

function authenticationPeriod() external view returns (uint256);

addrToDID

Function that gives the DID representation for given address.

Parameter name
Annotation

account

The address to check.

Returns: the string representation of DID

function addrToDID(address account) external view returns (string memory);

PreviousUBISchemeNextFirstClaimPool

Last updated 3 years ago

Was this helpful?