Hydro
  • Getting Started
  • Raindrop
    • Raindrop Overview
    • Client Side Raindrop
      • Client-Side Raindrop Overview
      • Handling User Signatures
      • Recognizing Users
      • User Account Management
        • Check if Username is Taken
        • Creating HydroIDs
        • Creating HydroIDs (delegated)
        • Deleting Users
      • Verifying signatures
    • Server Side Raindrop
  • Snowflake
    • Snowflake Overview
      • Setting Up Snowflake
      • Naming Conventions
      • Handling User Signatures
    • Address Management
      • Adding Addresses
      • Removing Addresses
    • Provider Management
      • Add Providers
      • Upgrade Providers
    • Resolver Management
      • Adding Resolvers
      • Adding Resolvers (delegated)
      • Removing Resolvers
    • Allowances in Snowflake
      • User Hydro Balances and the Allowance Structure
      • Allowance management logic
      • Setting Initial DApp Allowances
      • Changing DApp Allowances
      • Change DApp Allowances (Delegated)
    • Payments in Snowflake
      • Self-Initiated Payments
      • Resolver-Initiated Payments
        • EIN - EIN Transfer
        • EIN - Address Withdrawal
      • Resolver-Initiated Via Payments
        • EIN - Via - EIN Transfer
        • EIN - Via - Address Withdrawals
      • Resolver-As-Escrow Payments
        • Resolver - EIN Transfer
        • Resolver - Address Withdrawal
      • Resolver-As-Escrow Via Payments
        • Resolver - Via - EIN Transfer
        • Resolver - Via - Address Withdrawal
    • Building a Resolver
      • Smart Contract
      • React Front-End
    • Building a Via Contract
  • Ice
    • Untitled
  • Tide
    • Untitled
Powered by GitBook
On this page

Was this helpful?

  1. Snowflake
  2. Resolver Management

Adding Resolvers (delegated)

This provides an approach to adding a resolver for an EIN leveraging meta-transactions.

Adding Resolvers on Behalf of an Identity

Delegated addition of resolvers follows the same pattern and provides the same functionality as Adding Resolvers, but accepts a signature to allow for meta-transactions. Call the addResolverFor function with the following:

ARGUMENTS

Parameter

Type

Description

approvingAddress

address

Associated Address signing the necessary message in the function call.

resolver

address

Ethereum Address of the Resolver to be set in the function call.

isSnowflake

bool

Boolean indicating whether the Resolver calls onSignup functions through Snowflake.

withDrawalAllowance

uint

An array of uints corresponding with user-set allowances for each Resolver being added. See Allowances section for more detail.

extraData

bytes

Arbitrary data to trigger function calls when the Resolver is set for an EIN.

r, s, v signature

bytes32, bytes32, uint8

Signed message as required in the format below

See [Adding Resolvers](adding-resolvers) for an example of when to use the extraData argument.

Signatures should follow the example format:


keccak256(
  abi.encodePacked(
  byte(0x19), byte(0), address(this),
  "I authorize that this resolver be added to my Identity.",
  ein, resolver, isSnowflake, withdrawAllowance, extraData, timestamp
  )
)

PreviousAdding ResolversNextRemoving Resolvers

Last updated 6 years ago

Was this helpful?