remitmd 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75be0a5249f87323f7c007b13b7b89f9e2153557b355381000b7d3d007adcfc0
4
- data.tar.gz: e0f9b80bc11f7eb9888f037cba3589548a3344bdba9f621994142f5b20a3b14d
3
+ metadata.gz: 89e33624f2d762d529c1f727720f3a7b9a5ba39df81bbdbda192ca73c95c5d32
4
+ data.tar.gz: 00bcf98a0cfa530fcf3089427b03de8ce52547507f938789d6a3ca3c042d92ea
5
5
  SHA512:
6
- metadata.gz: 5198b515870956a99eccee4152e991d4fc32f6f03acd5a91a499b9c853b57da2c0b3cad4657381e1524553f10d021415b1d9202ce35848eb06331e5420758c73
7
- data.tar.gz: 5bcaab9bc1d75389f524ad3ab36920a02bf9dbacf68792c6492f8bc04a6ebb2197725a73342191a26c2debf7dceddf31a3247968e82f470c228fe76203a51df0
6
+ metadata.gz: 7525dfa5051c771825bb88fec51670af753664e694b1de97192ec1049f7766bbdd0b161277014033e2e18ae69207d1ba6d997cbeaa23e7f294e7668caf31ccb9
7
+ data.tar.gz: 7b2db9d35227e187ef67d809e175f4a329032764082ea97ace71896adafdf9a460524f9e808a1400ed18607549613b33125ac823c8ee262188463cde78de0840
data/lib/remitmd/a2a.rb CHANGED
@@ -188,23 +188,26 @@ module Remitmd
188
188
  # @param memo [String] optional memo
189
189
  # @param mandate [IntentMandate, nil] optional intent mandate
190
190
  # @return [A2ATask]
191
- def send(to:, amount:, memo: "", mandate: nil)
191
+ def send(to:, amount:, memo: "", mandate: nil, permit: nil)
192
192
  nonce = SecureRandom.hex(16)
193
193
  message_id = SecureRandom.hex(16)
194
194
 
195
+ data = {
196
+ model: "direct",
197
+ to: to,
198
+ amount: format("%.2f", amount),
199
+ memo: memo,
200
+ nonce: nonce,
201
+ }
202
+ data[:permit] = permit_to_h(permit) if permit
203
+
195
204
  message = {
196
205
  messageId: message_id,
197
206
  role: "user",
198
207
  parts: [
199
208
  {
200
209
  kind: "data",
201
- data: {
202
- model: "direct",
203
- to: to,
204
- amount: format("%.2f", amount),
205
- memo: memo,
206
- nonce: nonce,
207
- },
210
+ data: data,
208
211
  },
209
212
  ],
210
213
  }
@@ -230,6 +233,16 @@ module Remitmd
230
233
 
231
234
  private
232
235
 
236
+ def permit_to_h(permit)
237
+ {
238
+ value: permit.value.to_s,
239
+ deadline: permit.deadline.to_s,
240
+ v: permit.v,
241
+ r: permit.r,
242
+ s: permit.s,
243
+ }
244
+ end
245
+
233
246
  def rpc(method, params, call_id)
234
247
  body = { jsonrpc: "2.0", id: call_id, method: method, params: params }
235
248
  data = @transport.post(@path, body)
@@ -169,7 +169,7 @@ module Remitmd
169
169
  class Reputation < Model
170
170
  def initialize(attrs)
171
171
  h = attrs.transform_keys(&:to_s)
172
- @address = h["address"]
172
+ @address = h["wallet"] || h["address"]
173
173
  @score = h["score"].to_i
174
174
  @total_paid = decimal(h["total_paid"])
175
175
  @total_received = decimal(h["total_received"])
@@ -335,7 +335,7 @@ module Remitmd
335
335
  )
336
336
 
337
337
  # Encode tabId as bytes32: ASCII bytes right-padded with zeroes
338
- tab_id_bytes = tab_id.b.ljust(32, "\x00".b)
338
+ tab_id_bytes = tab_id.b[0, 32].ljust(32, "\x00".b)
339
339
 
340
340
  struct_data = type_hash + tab_id_bytes + abi_uint256(total_charged_base_units) + abi_uint256(call_count)
341
341
  struct_hash = keccak256_raw(struct_data)
data/lib/remitmd.rb CHANGED
@@ -26,5 +26,5 @@ require_relative "remitmd/x402_paywall"
26
26
  # mock.was_paid?("0x0000000000000000000000000000000000000001", 1.00) # => true
27
27
  #
28
28
  module Remitmd
29
- VERSION = "0.2.1"
29
+ VERSION = "0.2.2"
30
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remitmd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - remit.md
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-27 00:00:00.000000000 Z
11
+ date: 2026-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec