remitmd 0.1.3 → 0.1.5
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 +4 -4
- data/README.md +2 -2
- data/lib/remitmd/http.rb +2 -2
- data/lib/remitmd/models.rb +3 -1
- data/lib/remitmd/wallet.rb +25 -9
- data/lib/remitmd.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0ed253579479f34977bda545675b25e12f9b73333b7cf36e640ae328c6b13073
|
|
4
|
+
data.tar.gz: f49f3163a37cb08a328e17de589fcc894ae168a3a486af06a419bd2edc1c79b9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ebb1c4b3e6b91a29634e3ed89207d4d95e4de701595d33e654f41128ba9d6aba9a76344c6a6f9ad1991f87dcda32c60480cc2fb75d593ea894fd784e2aefbb27
|
|
7
|
+
data.tar.gz: ba0a10cb153c66c3ca62c919c33d19dff4d34b50c4c81f129455d1f5bc147778b985731c593bfb55525934b3baeafb2fafea3d09cddb1117d435cbc52a0944b2
|
data/README.md
CHANGED
|
@@ -194,9 +194,9 @@ wallet.return_deposit(deposit_id) # Transaction
|
|
|
194
194
|
# Webhooks
|
|
195
195
|
wallet.register_webhook(url, events, chains: nil) # Webhook
|
|
196
196
|
|
|
197
|
-
# Operator links
|
|
197
|
+
# Operator links (optional: messages: [], agent_name: "")
|
|
198
198
|
wallet.create_fund_link # LinkResponse
|
|
199
|
-
wallet.create_withdraw_link
|
|
199
|
+
wallet.create_withdraw_link(messages: ["Withdraw"], agent_name: "my-agent") # LinkResponse
|
|
200
200
|
|
|
201
201
|
# Testnet
|
|
202
202
|
wallet.mint(amount) # Hash {tx_hash, balance}
|
data/lib/remitmd/http.rb
CHANGED
|
@@ -9,8 +9,8 @@ require "openssl"
|
|
|
9
9
|
module Remitmd
|
|
10
10
|
# Chain configuration: maps chain names to (api_url, chain_id) pairs.
|
|
11
11
|
CHAIN_CONFIG = {
|
|
12
|
-
"base" => { url: "https://
|
|
13
|
-
"base_sepolia" => { url: "https://testnet.remit.md/api/
|
|
12
|
+
"base" => { url: "https://remit.md/api/v1", chain_id: 8453 },
|
|
13
|
+
"base_sepolia" => { url: "https://testnet.remit.md/api/v1", chain_id: 84532 },
|
|
14
14
|
}.freeze
|
|
15
15
|
|
|
16
16
|
# HTTP transport layer. Signs each request with EIP-712 auth headers and
|
data/lib/remitmd/models.rb
CHANGED
|
@@ -117,10 +117,12 @@ module Remitmd
|
|
|
117
117
|
@fee_calculator = h["fee_calculator"]
|
|
118
118
|
@key_registry = h["key_registry"]
|
|
119
119
|
@arbitration = h["arbitration"]
|
|
120
|
+
@relayer = h["relayer"]
|
|
120
121
|
end
|
|
121
122
|
|
|
122
123
|
attr_reader :chain_id, :usdc, :router, :escrow, :tab, :stream,
|
|
123
|
-
:bounty, :deposit, :fee_calculator, :key_registry, :arbitration
|
|
124
|
+
:bounty, :deposit, :fee_calculator, :key_registry, :arbitration,
|
|
125
|
+
:relayer
|
|
124
126
|
end
|
|
125
127
|
|
|
126
128
|
class Transaction < Model
|
data/lib/remitmd/wallet.rb
CHANGED
|
@@ -9,7 +9,7 @@ require "json"
|
|
|
9
9
|
module Remitmd
|
|
10
10
|
# Known USDC contract addresses per chain (EIP-2612 compatible).
|
|
11
11
|
USDC_ADDRESSES = {
|
|
12
|
-
"base-sepolia" => "
|
|
12
|
+
"base-sepolia" => "0x2d846325766921935f37d5b4478196d3ef93707c",
|
|
13
13
|
"base" => "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
14
14
|
"localhost" => "0x5FbDB2315678afecb367f032d93F642f64180aa3",
|
|
15
15
|
}.freeze
|
|
@@ -563,22 +563,36 @@ module Remitmd
|
|
|
563
563
|
# Generate a one-time URL for the operator to fund this wallet.
|
|
564
564
|
# @param messages [Array<Hash>, nil] chat-style messages (each with :role and :text)
|
|
565
565
|
# @param agent_name [String, nil] agent display name shown on the funding page
|
|
566
|
+
# @param permit [PermitSignature, nil] EIP-2612 permit — auto-signed if nil
|
|
566
567
|
# @return [LinkResponse]
|
|
567
|
-
def create_fund_link(messages: nil, agent_name: nil)
|
|
568
|
+
def create_fund_link(messages: nil, agent_name: nil, permit: nil)
|
|
568
569
|
body = {}
|
|
569
570
|
body[:messages] = messages if messages
|
|
570
571
|
body[:agent_name] = agent_name if agent_name
|
|
572
|
+
begin
|
|
573
|
+
resolved = permit || auto_permit("relayer", 999_999_999.0)
|
|
574
|
+
body[:permit] = resolved.to_h
|
|
575
|
+
rescue StandardError
|
|
576
|
+
# permit signing failed — proceed without permit (custodial fallback)
|
|
577
|
+
end
|
|
571
578
|
LinkResponse.new(@transport.post("/links/fund", body))
|
|
572
579
|
end
|
|
573
580
|
|
|
574
581
|
# Generate a one-time URL for the operator to withdraw funds.
|
|
575
582
|
# @param messages [Array<Hash>, nil] chat-style messages (each with :role and :text)
|
|
576
583
|
# @param agent_name [String, nil] agent display name shown on the withdraw page
|
|
584
|
+
# @param permit [PermitSignature, nil] EIP-2612 permit — auto-signed if nil
|
|
577
585
|
# @return [LinkResponse]
|
|
578
|
-
def create_withdraw_link(messages: nil, agent_name: nil)
|
|
586
|
+
def create_withdraw_link(messages: nil, agent_name: nil, permit: nil)
|
|
579
587
|
body = {}
|
|
580
588
|
body[:messages] = messages if messages
|
|
581
589
|
body[:agent_name] = agent_name if agent_name
|
|
590
|
+
begin
|
|
591
|
+
resolved = permit || auto_permit("relayer", 999_999_999.0)
|
|
592
|
+
body[:permit] = resolved.to_h
|
|
593
|
+
rescue StandardError
|
|
594
|
+
# permit signing failed — proceed without permit (custodial fallback)
|
|
595
|
+
end
|
|
582
596
|
LinkResponse.new(@transport.post("/links/withdraw", body))
|
|
583
597
|
end
|
|
584
598
|
|
|
@@ -692,12 +706,14 @@ module Remitmd
|
|
|
692
706
|
|
|
693
707
|
# Spender contract mapping for auto_permit.
|
|
694
708
|
PERMIT_SPENDER = {
|
|
695
|
-
pay:
|
|
696
|
-
create_escrow:
|
|
697
|
-
create_tab:
|
|
698
|
-
create_stream:
|
|
699
|
-
create_bounty:
|
|
700
|
-
place_deposit:
|
|
709
|
+
pay: :router,
|
|
710
|
+
create_escrow: :escrow,
|
|
711
|
+
create_tab: :tab,
|
|
712
|
+
create_stream: :stream,
|
|
713
|
+
create_bounty: :bounty,
|
|
714
|
+
place_deposit: :deposit,
|
|
715
|
+
create_fund_link: :relayer,
|
|
716
|
+
create_withdraw_link: :relayer,
|
|
701
717
|
}.freeze
|
|
702
718
|
end
|
|
703
719
|
end
|
data/lib/remitmd.rb
CHANGED
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.1.
|
|
4
|
+
version: 0.1.5
|
|
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-
|
|
11
|
+
date: 2026-03-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|