Class: X402::Versions::V1

Inherits:
Base
  • Object
show all
Defined in:
lib/x402/versions/v1.rb

Instance Method Summary collapse

Instance Method Details

#format_network(internal_network) ⇒ Object



22
23
24
# File 'lib/x402/versions/v1.rb', line 22

def format_network(internal_network)
  internal_network
end

#format_requirement(requirement) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/x402/versions/v1.rb', line 30

def format_requirement(requirement)
  {
    scheme: requirement[:scheme],
    network: format_network(requirement[:network]),
    maxAmountRequired: requirement[:amount].to_s,
    asset: requirement[:asset],
    payTo: requirement[:pay_to],
    resource: requirement[:resource],
    description: requirement[:description],
    maxTimeoutSeconds: requirement[:max_timeout_seconds],
    mimeType: requirement[:mime_type],
    extra: requirement[:extra]
  }.compact
end

#format_requirement_response(accepts:, resource:, error:) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/x402/versions/v1.rb', line 45

def format_requirement_response(accepts:, resource:, error:)
  {
    x402Version: 1,
    error: error,
    accepts: accepts
  }
end

#parse_network(network) ⇒ Object



26
27
28
# File 'lib/x402/versions/v1.rb', line 26

def parse_network(network)
  network
end

#payment_header_nameObject



10
11
12
# File 'lib/x402/versions/v1.rb', line 10

def payment_header_name
  "X-PAYMENT"
end

#requirement_header_nameObject



18
19
20
# File 'lib/x402/versions/v1.rb', line 18

def requirement_header_name
  nil
end

#response_header_nameObject



14
15
16
# File 'lib/x402/versions/v1.rb', line 14

def response_header_name
  "X-PAYMENT-RESPONSE"
end

#version_numberObject



6
7
8
# File 'lib/x402/versions/v1.rb', line 6

def version_number
  1
end