mixin_bot 1.4.0 → 2.1.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 +220 -0
- data/CHANGELOG.md +108 -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 +75 -0
- data/lib/mixin_bot/api/asset.rb +114 -3
- data/lib/mixin_bot/api/auth.rb +29 -9
- data/lib/mixin_bot/api/blaze.rb +81 -0
- data/lib/mixin_bot/api/chain.rb +94 -0
- data/lib/mixin_bot/api/circle.rb +57 -0
- data/lib/mixin_bot/api/code.rb +21 -0
- data/lib/mixin_bot/api/computer_api.rb +60 -0
- data/lib/mixin_bot/api/conversation.rb +33 -10
- data/lib/mixin_bot/api/deposit.rb +19 -0
- data/lib/mixin_bot/api/encrypted_message.rb +1 -1
- data/lib/mixin_bot/api/external.rb +12 -0
- 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 +120 -3
- data/lib/mixin_bot/api/message.rb +66 -28
- 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 +29 -23
- data/lib/mixin_bot/api.rb +252 -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 +30 -0
- metadata +79 -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,30 @@
|
|
|
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.1.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/Node SDKs](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): Go parity reference
|
|
29
|
+
- [bot-api-nodejs-client](https://github.com/MixinNetwork/bot-api-nodejs-client): Node parity reference
|
|
30
|
+
- [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: 1.
|
|
4
|
+
version: 2.1.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-23 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,15 @@ 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/circle.rb
|
|
286
|
+
- lib/mixin_bot/api/code.rb
|
|
287
|
+
- lib/mixin_bot/api/computer_api.rb
|
|
255
288
|
- lib/mixin_bot/api/conversation.rb
|
|
289
|
+
- lib/mixin_bot/api/deposit.rb
|
|
256
290
|
- lib/mixin_bot/api/encrypted_message.rb
|
|
291
|
+
- lib/mixin_bot/api/external.rb
|
|
292
|
+
- lib/mixin_bot/api/fiat.rb
|
|
257
293
|
- lib/mixin_bot/api/inscription.rb
|
|
258
294
|
- lib/mixin_bot/api/legacy_collectible.rb
|
|
259
295
|
- lib/mixin_bot/api/legacy_multisig.rb
|
|
@@ -262,28 +298,58 @@ files:
|
|
|
262
298
|
- lib/mixin_bot/api/legacy_snapshot.rb
|
|
263
299
|
- lib/mixin_bot/api/legacy_transaction.rb
|
|
264
300
|
- lib/mixin_bot/api/legacy_transfer.rb
|
|
301
|
+
- lib/mixin_bot/api/legacy_user.rb
|
|
265
302
|
- lib/mixin_bot/api/me.rb
|
|
266
303
|
- lib/mixin_bot/api/message.rb
|
|
267
304
|
- lib/mixin_bot/api/multisig.rb
|
|
305
|
+
- lib/mixin_bot/api/network.rb
|
|
306
|
+
- lib/mixin_bot/api/network_asset.rb
|
|
268
307
|
- lib/mixin_bot/api/output.rb
|
|
269
308
|
- lib/mixin_bot/api/payment.rb
|
|
270
309
|
- lib/mixin_bot/api/pin.rb
|
|
310
|
+
- lib/mixin_bot/api/pin_payload.rb
|
|
271
311
|
- lib/mixin_bot/api/rpc.rb
|
|
312
|
+
- lib/mixin_bot/api/session.rb
|
|
272
313
|
- lib/mixin_bot/api/snapshot.rb
|
|
273
314
|
- lib/mixin_bot/api/tip.rb
|
|
274
315
|
- lib/mixin_bot/api/transaction.rb
|
|
275
316
|
- lib/mixin_bot/api/transfer.rb
|
|
317
|
+
- lib/mixin_bot/api/turn.rb
|
|
276
318
|
- lib/mixin_bot/api/user.rb
|
|
277
319
|
- lib/mixin_bot/api/withdraw.rb
|
|
320
|
+
- lib/mixin_bot/bot_auth.rb
|
|
278
321
|
- lib/mixin_bot/cli.rb
|
|
279
322
|
- lib/mixin_bot/cli/api.rb
|
|
323
|
+
- lib/mixin_bot/cli/base.rb
|
|
324
|
+
- lib/mixin_bot/cli/call.rb
|
|
325
|
+
- lib/mixin_bot/cli/errors.rb
|
|
280
326
|
- lib/mixin_bot/cli/node.rb
|
|
327
|
+
- lib/mixin_bot/cli/output.rb
|
|
328
|
+
- lib/mixin_bot/cli/schema.rb
|
|
329
|
+
- lib/mixin_bot/cli/schema_command.rb
|
|
281
330
|
- lib/mixin_bot/cli/utils.rb
|
|
282
331
|
- lib/mixin_bot/client.rb
|
|
332
|
+
- lib/mixin_bot/client/error_mapper.rb
|
|
333
|
+
- lib/mixin_bot/computer.rb
|
|
283
334
|
- lib/mixin_bot/configuration.rb
|
|
335
|
+
- lib/mixin_bot/errors.rb
|
|
284
336
|
- lib/mixin_bot/invoice.rb
|
|
337
|
+
- lib/mixin_bot/models.rb
|
|
338
|
+
- lib/mixin_bot/models/address.rb
|
|
339
|
+
- lib/mixin_bot/models/api_envelope.rb
|
|
340
|
+
- lib/mixin_bot/models/asset.rb
|
|
341
|
+
- lib/mixin_bot/models/ghost_keys.rb
|
|
342
|
+
- lib/mixin_bot/models/output.rb
|
|
343
|
+
- lib/mixin_bot/models/safe_multisig_request.rb
|
|
344
|
+
- lib/mixin_bot/models/sequencer_transaction_request.rb
|
|
345
|
+
- lib/mixin_bot/models/user.rb
|
|
346
|
+
- lib/mixin_bot/monitor.rb
|
|
285
347
|
- lib/mixin_bot/nfo.rb
|
|
286
348
|
- lib/mixin_bot/transaction.rb
|
|
349
|
+
- lib/mixin_bot/transaction/buffer.rb
|
|
350
|
+
- lib/mixin_bot/transaction/decoder.rb
|
|
351
|
+
- lib/mixin_bot/transaction/encoder.rb
|
|
352
|
+
- lib/mixin_bot/url_scheme.rb
|
|
287
353
|
- lib/mixin_bot/utils.rb
|
|
288
354
|
- lib/mixin_bot/utils/address.rb
|
|
289
355
|
- lib/mixin_bot/utils/crypto.rb
|
|
@@ -302,11 +368,14 @@ files:
|
|
|
302
368
|
- lib/mvm/nft.rb
|
|
303
369
|
- lib/mvm/registry.rb
|
|
304
370
|
- lib/mvm/scan.rb
|
|
371
|
+
- lib/tasks/api_coverage.rake
|
|
372
|
+
- llms.txt
|
|
305
373
|
homepage: https://github.com/an-lee/mixin_bot
|
|
306
374
|
licenses:
|
|
307
375
|
- MIT
|
|
308
376
|
metadata:
|
|
309
377
|
rubygems_mfa_required: 'true'
|
|
378
|
+
post_install_message:
|
|
310
379
|
rdoc_options: []
|
|
311
380
|
require_paths:
|
|
312
381
|
- lib
|
|
@@ -321,7 +390,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
321
390
|
- !ruby/object:Gem::Version
|
|
322
391
|
version: '0'
|
|
323
392
|
requirements: []
|
|
324
|
-
rubygems_version: 3.
|
|
393
|
+
rubygems_version: 3.5.22
|
|
394
|
+
signing_key:
|
|
325
395
|
specification_version: 4
|
|
326
|
-
summary: A Ruby SDK for Mixin
|
|
396
|
+
summary: A Ruby SDK for Mixin Network
|
|
327
397
|
test_files: []
|