mixin_bot 1.4.0 → 2.0.0
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/AGENTS.md +75 -0
- data/API_COVERAGE.md +143 -0
- data/CHANGELOG.md +112 -0
- data/README.md +375 -0
- data/docs/agent/cli.md +149 -0
- data/docs/agent/cookbook.md +152 -0
- data/examples/blaze.rb +43 -0
- data/examples/config.yml.example +21 -0
- data/lib/mixin_bot/address.rb +43 -3
- data/lib/mixin_bot/api/app.rb +7 -0
- data/lib/mixin_bot/api/asset.rb +114 -3
- data/lib/mixin_bot/api/auth.rb +19 -10
- data/lib/mixin_bot/api/blaze.rb +81 -0
- data/lib/mixin_bot/api/chain.rb +94 -0
- data/lib/mixin_bot/api/code.rb +16 -0
- data/lib/mixin_bot/api/computer_api.rb +60 -0
- data/lib/mixin_bot/api/conversation.rb +7 -1
- data/lib/mixin_bot/api/deposit.rb +12 -0
- data/lib/mixin_bot/api/encrypted_message.rb +1 -1
- data/lib/mixin_bot/api/fiat.rb +12 -0
- data/lib/mixin_bot/api/inscription.rb +2 -2
- data/lib/mixin_bot/api/legacy_collectible.rb +26 -27
- data/lib/mixin_bot/api/legacy_multisig.rb +20 -21
- data/lib/mixin_bot/api/legacy_output.rb +10 -3
- data/lib/mixin_bot/api/legacy_payment.rb +2 -0
- data/lib/mixin_bot/api/legacy_snapshot.rb +16 -0
- data/lib/mixin_bot/api/legacy_transaction.rb +28 -13
- data/lib/mixin_bot/api/legacy_transfer.rb +11 -8
- data/lib/mixin_bot/api/legacy_user.rb +51 -0
- data/lib/mixin_bot/api/me.rb +99 -3
- data/lib/mixin_bot/api/message.rb +18 -27
- data/lib/mixin_bot/api/multisig.rb +19 -0
- data/lib/mixin_bot/api/network.rb +17 -0
- data/lib/mixin_bot/api/network_asset.rb +27 -0
- data/lib/mixin_bot/api/output.rb +1 -1
- data/lib/mixin_bot/api/pin.rb +16 -3
- data/lib/mixin_bot/api/pin_payload.rb +26 -0
- data/lib/mixin_bot/api/session.rb +14 -0
- data/lib/mixin_bot/api/snapshot.rb +6 -0
- data/lib/mixin_bot/api/tip.rb +74 -1
- data/lib/mixin_bot/api/transaction.rb +106 -17
- data/lib/mixin_bot/api/transfer.rb +141 -14
- data/lib/mixin_bot/api/turn.rb +12 -0
- data/lib/mixin_bot/api/user.rb +148 -45
- data/lib/mixin_bot/api/withdraw.rb +24 -23
- data/lib/mixin_bot/api.rb +248 -3
- data/lib/mixin_bot/bot_auth.rb +71 -0
- data/lib/mixin_bot/cli/api.rb +224 -143
- data/lib/mixin_bot/cli/base.rb +77 -0
- data/lib/mixin_bot/cli/call.rb +71 -0
- data/lib/mixin_bot/cli/errors.rb +56 -0
- data/lib/mixin_bot/cli/node.rb +9 -2
- data/lib/mixin_bot/cli/output.rb +196 -0
- data/lib/mixin_bot/cli/schema.rb +274 -0
- data/lib/mixin_bot/cli/schema_command.rb +21 -0
- data/lib/mixin_bot/cli/utils.rb +114 -18
- data/lib/mixin_bot/cli.rb +124 -48
- data/lib/mixin_bot/client/error_mapper.rb +40 -0
- data/lib/mixin_bot/client.rb +94 -64
- data/lib/mixin_bot/computer.rb +132 -0
- data/lib/mixin_bot/configuration.rb +108 -1
- data/lib/mixin_bot/errors.rb +102 -0
- data/lib/mixin_bot/models/address.rb +11 -0
- data/lib/mixin_bot/models/api_envelope.rb +67 -0
- data/lib/mixin_bot/models/asset.rb +11 -0
- data/lib/mixin_bot/models/ghost_keys.rb +14 -0
- data/lib/mixin_bot/models/output.rb +11 -0
- data/lib/mixin_bot/models/safe_multisig_request.rb +11 -0
- data/lib/mixin_bot/models/sequencer_transaction_request.rb +11 -0
- data/lib/mixin_bot/models/user.rb +11 -0
- data/lib/mixin_bot/models.rb +10 -0
- data/lib/mixin_bot/monitor.rb +77 -0
- data/lib/mixin_bot/transaction/buffer.rb +34 -0
- data/lib/mixin_bot/transaction/decoder.rb +227 -0
- data/lib/mixin_bot/transaction/encoder.rb +255 -0
- data/lib/mixin_bot/transaction.rb +6 -475
- data/lib/mixin_bot/url_scheme.rb +63 -0
- data/lib/mixin_bot/utils/address.rb +17 -80
- data/lib/mixin_bot/utils/crypto.rb +173 -1
- data/lib/mixin_bot/utils/decoder.rb +1 -1
- data/lib/mixin_bot/utils/encoder.rb +13 -0
- data/lib/mixin_bot/utils.rb +45 -0
- data/lib/mixin_bot/uuid.rb +78 -1
- data/lib/mixin_bot/version.rb +11 -1
- data/lib/mixin_bot.rb +172 -18
- data/lib/mvm/bridge.rb +46 -0
- data/lib/mvm/client.rb +60 -0
- data/lib/mvm/nft.rb +4 -2
- data/lib/mvm/registry.rb +2 -1
- data/lib/mvm.rb +93 -0
- data/lib/tasks/api_coverage.rake +20 -0
- data/llms.txt +29 -0
- metadata +77 -9
data/lib/mvm/bridge.rb
CHANGED
|
@@ -1,17 +1,63 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module MVM
|
|
4
|
+
##
|
|
5
|
+
# Bridge client for MVM cross-chain operations.
|
|
6
|
+
#
|
|
7
|
+
# The Bridge facilitates communication between Mixin Network and MVM,
|
|
8
|
+
# enabling cross-chain transfers and user registration.
|
|
9
|
+
#
|
|
10
|
+
# == Usage
|
|
11
|
+
#
|
|
12
|
+
# bridge = MVM.bridge
|
|
13
|
+
# info = bridge.info
|
|
14
|
+
# user_info = bridge.user(public_key)
|
|
15
|
+
#
|
|
4
16
|
class Bridge
|
|
17
|
+
##
|
|
18
|
+
# @return [MVM::Client] the HTTP client for bridge operations
|
|
5
19
|
attr_reader :client
|
|
6
20
|
|
|
21
|
+
##
|
|
22
|
+
# Initializes a new Bridge instance.
|
|
23
|
+
#
|
|
24
|
+
# Creates an HTTP client connected to the MVM bridge service.
|
|
25
|
+
#
|
|
7
26
|
def initialize
|
|
8
27
|
@client = MVM::Client.new 'bridge.mvm.dev'
|
|
9
28
|
end
|
|
10
29
|
|
|
30
|
+
##
|
|
31
|
+
# Retrieves bridge service information.
|
|
32
|
+
#
|
|
33
|
+
# Returns general information about the bridge service including
|
|
34
|
+
# supported features, version, and status.
|
|
35
|
+
#
|
|
36
|
+
# @return [Hash] bridge information
|
|
37
|
+
#
|
|
38
|
+
# @example
|
|
39
|
+
# bridge = MVM.bridge
|
|
40
|
+
# info = bridge.info
|
|
41
|
+
# puts info
|
|
42
|
+
#
|
|
11
43
|
def info
|
|
12
44
|
client.get '/'
|
|
13
45
|
end
|
|
14
46
|
|
|
47
|
+
##
|
|
48
|
+
# Retrieves or creates user information on the bridge.
|
|
49
|
+
#
|
|
50
|
+
# Registers a user's public key with the bridge service,
|
|
51
|
+
# enabling them to perform cross-chain operations.
|
|
52
|
+
#
|
|
53
|
+
# @param public_key [String] the user's public key
|
|
54
|
+
# @return [Hash] user information including bridge address
|
|
55
|
+
#
|
|
56
|
+
# @example
|
|
57
|
+
# bridge = MVM.bridge
|
|
58
|
+
# user = bridge.user('0x1234...')
|
|
59
|
+
# puts user['contract']
|
|
60
|
+
#
|
|
15
61
|
def user(public_key)
|
|
16
62
|
path = '/users'
|
|
17
63
|
|
data/lib/mvm/client.rb
CHANGED
|
@@ -1,11 +1,51 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module MVM
|
|
4
|
+
##
|
|
5
|
+
# HTTP client for MVM services.
|
|
6
|
+
#
|
|
7
|
+
# Handles HTTP communication with MVM services including:
|
|
8
|
+
# - Bridge service
|
|
9
|
+
# - NFT service
|
|
10
|
+
# - Registry service
|
|
11
|
+
# - Scan service
|
|
12
|
+
#
|
|
13
|
+
# == Features
|
|
14
|
+
#
|
|
15
|
+
# - Automatic JSON encoding/decoding
|
|
16
|
+
# - Request retry on failures
|
|
17
|
+
# - Error handling with exceptions
|
|
18
|
+
# - Debug logging
|
|
19
|
+
#
|
|
20
|
+
# == Usage
|
|
21
|
+
#
|
|
22
|
+
# client = MVM::Client.new('bridge.mvm.dev')
|
|
23
|
+
# response = client.get('/info')
|
|
24
|
+
# response = client.post('/users', public_key: '0x...')
|
|
25
|
+
#
|
|
4
26
|
class Client
|
|
27
|
+
##
|
|
28
|
+
# The HTTPS scheme for all MVM requests.
|
|
5
29
|
SERVER_SCHEME = 'https'
|
|
6
30
|
|
|
31
|
+
##
|
|
32
|
+
# @return [String] the service host
|
|
7
33
|
attr_reader :host
|
|
8
34
|
|
|
35
|
+
##
|
|
36
|
+
# Initializes a new MVM Client.
|
|
37
|
+
#
|
|
38
|
+
# Sets up HTTP connection with:
|
|
39
|
+
# - JSON request/response handling
|
|
40
|
+
# - Automatic retry on failures
|
|
41
|
+
# - Error raising on HTTP errors
|
|
42
|
+
# - Debug logging
|
|
43
|
+
#
|
|
44
|
+
# @param host [String] the service hostname
|
|
45
|
+
#
|
|
46
|
+
# @example
|
|
47
|
+
# client = MVM::Client.new('bridge.mvm.dev')
|
|
48
|
+
#
|
|
9
49
|
def initialize(host)
|
|
10
50
|
@host = host
|
|
11
51
|
@conn = Faraday.new(url: "#{SERVER_SCHEME}://#{host}") do |f|
|
|
@@ -17,10 +57,30 @@ module MVM
|
|
|
17
57
|
end
|
|
18
58
|
end
|
|
19
59
|
|
|
60
|
+
##
|
|
61
|
+
# Performs a GET request.
|
|
62
|
+
#
|
|
63
|
+
# @param path [String] the request path
|
|
64
|
+
# @param kwargs [Hash] query parameters
|
|
65
|
+
# @return [Hash] the parsed response body
|
|
66
|
+
#
|
|
67
|
+
# @example
|
|
68
|
+
# response = client.get('/info')
|
|
69
|
+
#
|
|
20
70
|
def get(path, **)
|
|
21
71
|
@conn.get(path, **).body
|
|
22
72
|
end
|
|
23
73
|
|
|
74
|
+
##
|
|
75
|
+
# Performs a POST request.
|
|
76
|
+
#
|
|
77
|
+
# @param path [String] the request path
|
|
78
|
+
# @param kwargs [Hash] request body parameters
|
|
79
|
+
# @return [Hash] the parsed response body
|
|
80
|
+
#
|
|
81
|
+
# @example
|
|
82
|
+
# response = client.post('/users', public_key: '0x...')
|
|
83
|
+
#
|
|
24
84
|
def post(path, **)
|
|
25
85
|
@conn.post(path, **).body
|
|
26
86
|
end
|
data/lib/mvm/nft.rb
CHANGED
|
@@ -6,7 +6,8 @@ module MVM
|
|
|
6
6
|
|
|
7
7
|
def initialize(rpc_url: MVM::RPC_URL, mirror_address: MVM::MIRROR_ADDRESS)
|
|
8
8
|
@rpc = Eth::Client.create rpc_url
|
|
9
|
-
@mirror = Eth::Contract.from_abi name: 'Mirror', address: mirror_address,
|
|
9
|
+
@mirror = Eth::Contract.from_abi name: 'Mirror', address: mirror_address,
|
|
10
|
+
abi: File.read(File.expand_path('./abis/mirror.json', __dir__))
|
|
10
11
|
end
|
|
11
12
|
|
|
12
13
|
def collection_from_contract(address)
|
|
@@ -40,7 +41,8 @@ module MVM
|
|
|
40
41
|
end
|
|
41
42
|
|
|
42
43
|
def token_of_owner_by_index(contract, owner, index)
|
|
43
|
-
contract = Eth::Contract.from_abi name: 'Collectible', address: contract,
|
|
44
|
+
contract = Eth::Contract.from_abi name: 'Collectible', address: contract,
|
|
45
|
+
abi: File.read(File.expand_path('./abis/erc721.json', __dir__))
|
|
44
46
|
|
|
45
47
|
@rpc.call contract, 'tokenOfOwnerByIndex', owner, index
|
|
46
48
|
rescue IOError
|
data/lib/mvm/registry.rb
CHANGED
|
@@ -6,7 +6,8 @@ module MVM
|
|
|
6
6
|
|
|
7
7
|
def initialize(rpc_url: MVM::RPC_URL, registry_address: MVM::REGISTRY_ADDRESS)
|
|
8
8
|
@rpc = Eth::Client.create rpc_url
|
|
9
|
-
@registry = Eth::Contract.from_abi name: 'Registry', address: registry_address,
|
|
9
|
+
@registry = Eth::Contract.from_abi name: 'Registry', address: registry_address,
|
|
10
|
+
abi: File.read(File.expand_path('./abis/registry.json', __dir__))
|
|
10
11
|
end
|
|
11
12
|
|
|
12
13
|
def pid
|
data/lib/mvm.rb
CHANGED
|
@@ -9,27 +9,120 @@ require_relative 'mvm/nft'
|
|
|
9
9
|
require_relative 'mvm/registry'
|
|
10
10
|
require_relative 'mvm/scan'
|
|
11
11
|
|
|
12
|
+
##
|
|
13
|
+
# = MVM (Mixin Virtual Machine)
|
|
14
|
+
#
|
|
15
|
+
# MVM module provides integration with Mixin Virtual Machine, an Ethereum-compatible
|
|
16
|
+
# virtual machine running on Mixin Network.
|
|
17
|
+
#
|
|
18
|
+
# == Overview
|
|
19
|
+
#
|
|
20
|
+
# MVM enables smart contract execution on Mixin Network with:
|
|
21
|
+
# - EVM compatibility (Ethereum Virtual Machine)
|
|
22
|
+
# - High performance and low cost
|
|
23
|
+
# - Seamless integration with Mixin Network assets
|
|
24
|
+
# - NFT support (ERC-721, ERC-1155)
|
|
25
|
+
# - Bridge functionality for cross-chain operations
|
|
26
|
+
#
|
|
27
|
+
# == Components
|
|
28
|
+
#
|
|
29
|
+
# [MVM::Bridge] Bridge operations for cross-chain transfers
|
|
30
|
+
# [MVM::Client] HTTP client for MVM services
|
|
31
|
+
# [MVM::Nft] NFT operations (ERC-721, ERC-1155)
|
|
32
|
+
# [MVM::Registry] Contract registry operations
|
|
33
|
+
# [MVM::Scan] Blockchain explorer interface
|
|
34
|
+
#
|
|
35
|
+
# == Constants
|
|
36
|
+
#
|
|
37
|
+
# [RPC_URL] The default RPC endpoint for MVM
|
|
38
|
+
# [MIRROR_ADDRESS] The mirror contract address
|
|
39
|
+
# [REGISTRY_ADDRESS] The registry contract address
|
|
40
|
+
#
|
|
41
|
+
# == Usage
|
|
42
|
+
#
|
|
43
|
+
# Access bridge information:
|
|
44
|
+
#
|
|
45
|
+
# bridge = MVM.bridge
|
|
46
|
+
# info = bridge.info
|
|
47
|
+
#
|
|
48
|
+
# Work with NFTs:
|
|
49
|
+
#
|
|
50
|
+
# nft = MVM.nft
|
|
51
|
+
# # NFT operations...
|
|
52
|
+
#
|
|
53
|
+
# Use the blockchain scanner:
|
|
54
|
+
#
|
|
55
|
+
# scan = MVM.scan
|
|
56
|
+
# # Scan operations...
|
|
57
|
+
#
|
|
58
|
+
# Access the registry:
|
|
59
|
+
#
|
|
60
|
+
# registry = MVM.registry
|
|
61
|
+
# # Registry operations...
|
|
62
|
+
#
|
|
63
|
+
# == References
|
|
64
|
+
#
|
|
65
|
+
# - {MVM Documentation}[https://mvm.dev]
|
|
66
|
+
#
|
|
12
67
|
module MVM
|
|
68
|
+
##
|
|
69
|
+
# The default RPC URL for Mixin Virtual Machine.
|
|
13
70
|
RPC_URL = 'https://geth.mvm.dev'
|
|
71
|
+
|
|
72
|
+
##
|
|
73
|
+
# The mirror contract address for cross-chain operations.
|
|
14
74
|
MIRROR_ADDRESS = '0xC193486e6Bf3E8461cb8fcdF178676a5D75c066A'
|
|
75
|
+
|
|
76
|
+
##
|
|
77
|
+
# The registry contract address for contract management.
|
|
15
78
|
REGISTRY_ADDRESS = '0x3c84B6C98FBeB813e05a7A7813F0442883450B1F'
|
|
16
79
|
|
|
80
|
+
##
|
|
81
|
+
# Base error class for all MVM errors.
|
|
17
82
|
class Error < StandardError; end
|
|
83
|
+
|
|
84
|
+
##
|
|
85
|
+
# Raised when HTTP request to MVM service fails.
|
|
18
86
|
class HttpError < Error; end
|
|
87
|
+
|
|
88
|
+
##
|
|
89
|
+
# Raised when MVM service returns an error response.
|
|
19
90
|
class ResponseError < Error; end
|
|
20
91
|
|
|
92
|
+
##
|
|
93
|
+
# Returns a singleton Bridge instance.
|
|
94
|
+
#
|
|
95
|
+
# @return [MVM::Bridge] the bridge instance
|
|
96
|
+
#
|
|
21
97
|
def self.bridge
|
|
22
98
|
@bridge ||= MVM::Bridge.new
|
|
23
99
|
end
|
|
24
100
|
|
|
101
|
+
##
|
|
102
|
+
# Returns a singleton or new NFT instance.
|
|
103
|
+
#
|
|
104
|
+
# @param params [Hash] optional parameters for NFT operations
|
|
105
|
+
# @return [MVM::Nft] the NFT instance
|
|
106
|
+
#
|
|
25
107
|
def self.nft(**params)
|
|
26
108
|
@nft ||= MVM::Nft.new(**params)
|
|
27
109
|
end
|
|
28
110
|
|
|
111
|
+
##
|
|
112
|
+
# Returns a singleton Scan instance.
|
|
113
|
+
#
|
|
114
|
+
# @return [MVM::Scan] the scan instance
|
|
115
|
+
#
|
|
29
116
|
def self.scan
|
|
30
117
|
@scan ||= MVM::Scan.new
|
|
31
118
|
end
|
|
32
119
|
|
|
120
|
+
##
|
|
121
|
+
# Returns a singleton or new Registry instance.
|
|
122
|
+
#
|
|
123
|
+
# @param params [Hash] optional parameters for registry operations
|
|
124
|
+
# @return [MVM::Registry] the registry instance
|
|
125
|
+
#
|
|
33
126
|
def self.registry(**params)
|
|
34
127
|
@registry ||= MVM::Registry.new(**params)
|
|
35
128
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
namespace :mixin_bot do
|
|
4
|
+
desc 'Report API_COVERAGE.md missing entries (expects bot-api-go-client checkout)'
|
|
5
|
+
task :api_coverage do
|
|
6
|
+
coverage_path = File.expand_path('../../API_COVERAGE.md', __dir__)
|
|
7
|
+
unless File.exist?(coverage_path)
|
|
8
|
+
warn "Missing #{coverage_path}"
|
|
9
|
+
exit 1
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
missing = File.read(coverage_path).scan('| missing |').length
|
|
13
|
+
if missing.positive?
|
|
14
|
+
warn "API_COVERAGE: #{missing} entries still missing"
|
|
15
|
+
exit 1
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
puts 'API_COVERAGE: all entries marked done'
|
|
19
|
+
end
|
|
20
|
+
end
|
data/llms.txt
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# MixinBot
|
|
2
|
+
|
|
3
|
+
> Ruby SDK and CLI for Mixin Network: Safe UTXO transfers, REST API, Blaze messaging, transaction crypto, optional MVM helpers. Ruby >= 3.2. Gem version 2.0.0.
|
|
4
|
+
|
|
5
|
+
Important notes:
|
|
6
|
+
|
|
7
|
+
- Prefer Safe API (`create_safe_transfer`) over legacy `POST /transfers`
|
|
8
|
+
- Safe transfers require `spend_key` in config/keystore
|
|
9
|
+
- Blaze WebSocket is interactive — use Ruby API, not CLI
|
|
10
|
+
|
|
11
|
+
## Docs
|
|
12
|
+
|
|
13
|
+
- [README](README.md): Install, config, API overview, CLI summary
|
|
14
|
+
- [API coverage vs Go SDK](API_COVERAGE.md): Method parity matrix
|
|
15
|
+
- [CLI for agents](docs/agent/cli.md): Structured output, schema, examples
|
|
16
|
+
- [Agent cookbook](docs/agent/cookbook.md): Common tasks (auth, transfer, messaging)
|
|
17
|
+
- [Changelog](CHANGELOG.md): Breaking changes
|
|
18
|
+
- [AGENTS.md](AGENTS.md): Repository layout and development workflows for coding agents
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
- [Blaze WebSocket example](examples/blaze.rb): EventMachine + Blaze handlers
|
|
23
|
+
- [Config template](examples/config.yml.example): Keystore fields
|
|
24
|
+
|
|
25
|
+
## Optional
|
|
26
|
+
|
|
27
|
+
- [Mixin official docs](https://developers.mixin.one/docs): External API reference
|
|
28
|
+
- [bot-api-go-client](https://github.com/MixinNetwork/bot-api-go-client): Parity reference
|
|
29
|
+
- [Generated RDoc](doc/index.html): Full API reference (local)
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mixin_bot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- an-lee
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-05-20 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: activesupport
|
|
@@ -65,6 +66,20 @@ dependencies:
|
|
|
65
66
|
- - "~>"
|
|
66
67
|
- !ruby/object:Gem::Version
|
|
67
68
|
version: '3.1'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: benchmark
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0.4'
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0.4'
|
|
68
83
|
- !ruby/object:Gem::Dependency
|
|
69
84
|
name: blake3-rb
|
|
70
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -97,16 +112,22 @@ dependencies:
|
|
|
97
112
|
name: eth
|
|
98
113
|
requirement: !ruby/object:Gem::Requirement
|
|
99
114
|
requirements:
|
|
100
|
-
- - "
|
|
115
|
+
- - ">="
|
|
101
116
|
- !ruby/object:Gem::Version
|
|
102
|
-
version:
|
|
117
|
+
version: 0.5.17
|
|
118
|
+
- - "<"
|
|
119
|
+
- !ruby/object:Gem::Version
|
|
120
|
+
version: '0.6'
|
|
103
121
|
type: :runtime
|
|
104
122
|
prerelease: false
|
|
105
123
|
version_requirements: !ruby/object:Gem::Requirement
|
|
106
124
|
requirements:
|
|
107
|
-
- - "
|
|
125
|
+
- - ">="
|
|
126
|
+
- !ruby/object:Gem::Version
|
|
127
|
+
version: 0.5.17
|
|
128
|
+
- - "<"
|
|
108
129
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '0.
|
|
130
|
+
version: '0.6'
|
|
110
131
|
- !ruby/object:Gem::Dependency
|
|
111
132
|
name: faraday
|
|
112
133
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -233,7 +254,7 @@ dependencies:
|
|
|
233
254
|
- - "~>"
|
|
234
255
|
- !ruby/object:Gem::Version
|
|
235
256
|
version: '1.0'
|
|
236
|
-
description: An API wrapper for Mixin
|
|
257
|
+
description: An API wrapper for Mixin Network
|
|
237
258
|
email:
|
|
238
259
|
- an.lee.work@gmail.com
|
|
239
260
|
executables:
|
|
@@ -241,8 +262,16 @@ executables:
|
|
|
241
262
|
extensions: []
|
|
242
263
|
extra_rdoc_files: []
|
|
243
264
|
files:
|
|
265
|
+
- AGENTS.md
|
|
266
|
+
- API_COVERAGE.md
|
|
267
|
+
- CHANGELOG.md
|
|
244
268
|
- MIT-LICENSE
|
|
269
|
+
- README.md
|
|
245
270
|
- bin/mixinbot
|
|
271
|
+
- docs/agent/cli.md
|
|
272
|
+
- docs/agent/cookbook.md
|
|
273
|
+
- examples/blaze.rb
|
|
274
|
+
- examples/config.yml.example
|
|
246
275
|
- lib/mixin_bot.rb
|
|
247
276
|
- lib/mixin_bot/address.rb
|
|
248
277
|
- lib/mixin_bot/api.rb
|
|
@@ -252,8 +281,13 @@ files:
|
|
|
252
281
|
- lib/mixin_bot/api/attachment.rb
|
|
253
282
|
- lib/mixin_bot/api/auth.rb
|
|
254
283
|
- lib/mixin_bot/api/blaze.rb
|
|
284
|
+
- lib/mixin_bot/api/chain.rb
|
|
285
|
+
- lib/mixin_bot/api/code.rb
|
|
286
|
+
- lib/mixin_bot/api/computer_api.rb
|
|
255
287
|
- lib/mixin_bot/api/conversation.rb
|
|
288
|
+
- lib/mixin_bot/api/deposit.rb
|
|
256
289
|
- lib/mixin_bot/api/encrypted_message.rb
|
|
290
|
+
- lib/mixin_bot/api/fiat.rb
|
|
257
291
|
- lib/mixin_bot/api/inscription.rb
|
|
258
292
|
- lib/mixin_bot/api/legacy_collectible.rb
|
|
259
293
|
- lib/mixin_bot/api/legacy_multisig.rb
|
|
@@ -262,28 +296,58 @@ files:
|
|
|
262
296
|
- lib/mixin_bot/api/legacy_snapshot.rb
|
|
263
297
|
- lib/mixin_bot/api/legacy_transaction.rb
|
|
264
298
|
- lib/mixin_bot/api/legacy_transfer.rb
|
|
299
|
+
- lib/mixin_bot/api/legacy_user.rb
|
|
265
300
|
- lib/mixin_bot/api/me.rb
|
|
266
301
|
- lib/mixin_bot/api/message.rb
|
|
267
302
|
- lib/mixin_bot/api/multisig.rb
|
|
303
|
+
- lib/mixin_bot/api/network.rb
|
|
304
|
+
- lib/mixin_bot/api/network_asset.rb
|
|
268
305
|
- lib/mixin_bot/api/output.rb
|
|
269
306
|
- lib/mixin_bot/api/payment.rb
|
|
270
307
|
- lib/mixin_bot/api/pin.rb
|
|
308
|
+
- lib/mixin_bot/api/pin_payload.rb
|
|
271
309
|
- lib/mixin_bot/api/rpc.rb
|
|
310
|
+
- lib/mixin_bot/api/session.rb
|
|
272
311
|
- lib/mixin_bot/api/snapshot.rb
|
|
273
312
|
- lib/mixin_bot/api/tip.rb
|
|
274
313
|
- lib/mixin_bot/api/transaction.rb
|
|
275
314
|
- lib/mixin_bot/api/transfer.rb
|
|
315
|
+
- lib/mixin_bot/api/turn.rb
|
|
276
316
|
- lib/mixin_bot/api/user.rb
|
|
277
317
|
- lib/mixin_bot/api/withdraw.rb
|
|
318
|
+
- lib/mixin_bot/bot_auth.rb
|
|
278
319
|
- lib/mixin_bot/cli.rb
|
|
279
320
|
- lib/mixin_bot/cli/api.rb
|
|
321
|
+
- lib/mixin_bot/cli/base.rb
|
|
322
|
+
- lib/mixin_bot/cli/call.rb
|
|
323
|
+
- lib/mixin_bot/cli/errors.rb
|
|
280
324
|
- lib/mixin_bot/cli/node.rb
|
|
325
|
+
- lib/mixin_bot/cli/output.rb
|
|
326
|
+
- lib/mixin_bot/cli/schema.rb
|
|
327
|
+
- lib/mixin_bot/cli/schema_command.rb
|
|
281
328
|
- lib/mixin_bot/cli/utils.rb
|
|
282
329
|
- lib/mixin_bot/client.rb
|
|
330
|
+
- lib/mixin_bot/client/error_mapper.rb
|
|
331
|
+
- lib/mixin_bot/computer.rb
|
|
283
332
|
- lib/mixin_bot/configuration.rb
|
|
333
|
+
- lib/mixin_bot/errors.rb
|
|
284
334
|
- lib/mixin_bot/invoice.rb
|
|
335
|
+
- lib/mixin_bot/models.rb
|
|
336
|
+
- lib/mixin_bot/models/address.rb
|
|
337
|
+
- lib/mixin_bot/models/api_envelope.rb
|
|
338
|
+
- lib/mixin_bot/models/asset.rb
|
|
339
|
+
- lib/mixin_bot/models/ghost_keys.rb
|
|
340
|
+
- lib/mixin_bot/models/output.rb
|
|
341
|
+
- lib/mixin_bot/models/safe_multisig_request.rb
|
|
342
|
+
- lib/mixin_bot/models/sequencer_transaction_request.rb
|
|
343
|
+
- lib/mixin_bot/models/user.rb
|
|
344
|
+
- lib/mixin_bot/monitor.rb
|
|
285
345
|
- lib/mixin_bot/nfo.rb
|
|
286
346
|
- lib/mixin_bot/transaction.rb
|
|
347
|
+
- lib/mixin_bot/transaction/buffer.rb
|
|
348
|
+
- lib/mixin_bot/transaction/decoder.rb
|
|
349
|
+
- lib/mixin_bot/transaction/encoder.rb
|
|
350
|
+
- lib/mixin_bot/url_scheme.rb
|
|
287
351
|
- lib/mixin_bot/utils.rb
|
|
288
352
|
- lib/mixin_bot/utils/address.rb
|
|
289
353
|
- lib/mixin_bot/utils/crypto.rb
|
|
@@ -302,11 +366,14 @@ files:
|
|
|
302
366
|
- lib/mvm/nft.rb
|
|
303
367
|
- lib/mvm/registry.rb
|
|
304
368
|
- lib/mvm/scan.rb
|
|
369
|
+
- lib/tasks/api_coverage.rake
|
|
370
|
+
- llms.txt
|
|
305
371
|
homepage: https://github.com/an-lee/mixin_bot
|
|
306
372
|
licenses:
|
|
307
373
|
- MIT
|
|
308
374
|
metadata:
|
|
309
375
|
rubygems_mfa_required: 'true'
|
|
376
|
+
post_install_message:
|
|
310
377
|
rdoc_options: []
|
|
311
378
|
require_paths:
|
|
312
379
|
- lib
|
|
@@ -321,7 +388,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
321
388
|
- !ruby/object:Gem::Version
|
|
322
389
|
version: '0'
|
|
323
390
|
requirements: []
|
|
324
|
-
rubygems_version: 3.
|
|
391
|
+
rubygems_version: 3.5.22
|
|
392
|
+
signing_key:
|
|
325
393
|
specification_version: 4
|
|
326
|
-
summary: A Ruby SDK for Mixin
|
|
394
|
+
summary: A Ruby SDK for Mixin Network
|
|
327
395
|
test_files: []
|