Class: Privy::Services::Earn::Ethereum::Incentive

Inherits:
Resources::Wallets::Earn::Ethereum::Incentive show all
Defined in:
lib/privy/public_api/services/earn/ethereum/incentive.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Resources::Wallets::Earn::Ethereum::Incentive

#_claim

Constructor Details

#initialize(client:, privy_client:) ⇒ Incentive

Returns a new instance of Incentive.



10
11
12
13
# File 'lib/privy/public_api/services/earn/ethereum/incentive.rb', line 10

def initialize(client:, privy_client:)
  super(client: client)
  @privy_client = privy_client
end

Instance Attribute Details

#privy_clientObject (readonly)

Returns the value of attribute privy_client.



8
9
10
# File 'lib/privy/public_api/services/earn/ethereum/incentive.rb', line 8

def privy_client
  @privy_client
end

Instance Method Details

#claim(wallet_id, earn_incentive_claim_params:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::EarnIncentiveClaimActionResponse

Claim incentive rewards for a wallet.

Examples:

Claim rewards on Base

client.wallets.earn.ethereum.incentive.claim("wallet-id", earn_incentive_claim_params: {
  chain: "base"
}, authorization_context: ctx)

Parameters:

  • wallet_id (String)

    ID of the wallet to claim rewards for.

  • earn_incentive_claim_params (Hash)

    Body parameters for the incentive claim operation.

  • authorization_context (Privy::Authorization::AuthorizationContext, nil) (defaults to: nil)

    Authorization context for owned wallets.

  • idempotency_key (String, nil) (defaults to: nil)

    Ensures the request is executed only once.

  • request_expiry (Integer, nil) (defaults to: nil)

    Absolute Unix-ms timestamp at which the request expires. Defaults to the value computed by the client’s PrivyRequestExpiryOptions.

  • request_options (Privy::RequestOptions, Hash, nil) (defaults to: nil)

    Transport-level config (timeouts, retries).

Options Hash (earn_incentive_claim_params:):

  • :chain (String)

    Blockchain network on which to perform the incentive claim.

Returns:



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/privy/public_api/services/earn/ethereum/incentive.rb', line 33

def claim(
  wallet_id,
  earn_incentive_claim_params:,
  authorization_context: nil,
  idempotency_key: nil,
  request_expiry: nil,
  request_options: nil
)
  prepared = Privy::Authorization.prepare_request(
    privy_client,
    method: :post,
    url: Privy::Authorization.signed_url(
      privy_client,
      "v1/wallets/#{wallet_id}/earn/ethereum/incentive/claim"
    ),
    body: earn_incentive_claim_params,
    authorization_context: authorization_context,
    idempotency_key: idempotency_key,
    request_expiry: privy_client.compute_request_expiry(request_expiry)
  )
  combined_params = earn_incentive_claim_params.merge(request_options: request_options)
  Privy::Authorization.merge_prepared_headers!(combined_params, prepared.headers)
  _claim(wallet_id, combined_params)
end