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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/AGENTS.md +75 -0
  3. data/API_COVERAGE.md +143 -0
  4. data/CHANGELOG.md +112 -0
  5. data/README.md +375 -0
  6. data/docs/agent/cli.md +149 -0
  7. data/docs/agent/cookbook.md +152 -0
  8. data/examples/blaze.rb +43 -0
  9. data/examples/config.yml.example +21 -0
  10. data/lib/mixin_bot/address.rb +43 -3
  11. data/lib/mixin_bot/api/app.rb +7 -0
  12. data/lib/mixin_bot/api/asset.rb +114 -3
  13. data/lib/mixin_bot/api/auth.rb +19 -10
  14. data/lib/mixin_bot/api/blaze.rb +81 -0
  15. data/lib/mixin_bot/api/chain.rb +94 -0
  16. data/lib/mixin_bot/api/code.rb +16 -0
  17. data/lib/mixin_bot/api/computer_api.rb +60 -0
  18. data/lib/mixin_bot/api/conversation.rb +7 -1
  19. data/lib/mixin_bot/api/deposit.rb +12 -0
  20. data/lib/mixin_bot/api/encrypted_message.rb +1 -1
  21. data/lib/mixin_bot/api/fiat.rb +12 -0
  22. data/lib/mixin_bot/api/inscription.rb +2 -2
  23. data/lib/mixin_bot/api/legacy_collectible.rb +26 -27
  24. data/lib/mixin_bot/api/legacy_multisig.rb +20 -21
  25. data/lib/mixin_bot/api/legacy_output.rb +10 -3
  26. data/lib/mixin_bot/api/legacy_payment.rb +2 -0
  27. data/lib/mixin_bot/api/legacy_snapshot.rb +16 -0
  28. data/lib/mixin_bot/api/legacy_transaction.rb +28 -13
  29. data/lib/mixin_bot/api/legacy_transfer.rb +11 -8
  30. data/lib/mixin_bot/api/legacy_user.rb +51 -0
  31. data/lib/mixin_bot/api/me.rb +99 -3
  32. data/lib/mixin_bot/api/message.rb +18 -27
  33. data/lib/mixin_bot/api/multisig.rb +19 -0
  34. data/lib/mixin_bot/api/network.rb +17 -0
  35. data/lib/mixin_bot/api/network_asset.rb +27 -0
  36. data/lib/mixin_bot/api/output.rb +1 -1
  37. data/lib/mixin_bot/api/pin.rb +16 -3
  38. data/lib/mixin_bot/api/pin_payload.rb +26 -0
  39. data/lib/mixin_bot/api/session.rb +14 -0
  40. data/lib/mixin_bot/api/snapshot.rb +6 -0
  41. data/lib/mixin_bot/api/tip.rb +74 -1
  42. data/lib/mixin_bot/api/transaction.rb +106 -17
  43. data/lib/mixin_bot/api/transfer.rb +141 -14
  44. data/lib/mixin_bot/api/turn.rb +12 -0
  45. data/lib/mixin_bot/api/user.rb +148 -45
  46. data/lib/mixin_bot/api/withdraw.rb +24 -23
  47. data/lib/mixin_bot/api.rb +248 -3
  48. data/lib/mixin_bot/bot_auth.rb +71 -0
  49. data/lib/mixin_bot/cli/api.rb +224 -143
  50. data/lib/mixin_bot/cli/base.rb +77 -0
  51. data/lib/mixin_bot/cli/call.rb +71 -0
  52. data/lib/mixin_bot/cli/errors.rb +56 -0
  53. data/lib/mixin_bot/cli/node.rb +9 -2
  54. data/lib/mixin_bot/cli/output.rb +196 -0
  55. data/lib/mixin_bot/cli/schema.rb +274 -0
  56. data/lib/mixin_bot/cli/schema_command.rb +21 -0
  57. data/lib/mixin_bot/cli/utils.rb +114 -18
  58. data/lib/mixin_bot/cli.rb +124 -48
  59. data/lib/mixin_bot/client/error_mapper.rb +40 -0
  60. data/lib/mixin_bot/client.rb +94 -64
  61. data/lib/mixin_bot/computer.rb +132 -0
  62. data/lib/mixin_bot/configuration.rb +108 -1
  63. data/lib/mixin_bot/errors.rb +102 -0
  64. data/lib/mixin_bot/models/address.rb +11 -0
  65. data/lib/mixin_bot/models/api_envelope.rb +67 -0
  66. data/lib/mixin_bot/models/asset.rb +11 -0
  67. data/lib/mixin_bot/models/ghost_keys.rb +14 -0
  68. data/lib/mixin_bot/models/output.rb +11 -0
  69. data/lib/mixin_bot/models/safe_multisig_request.rb +11 -0
  70. data/lib/mixin_bot/models/sequencer_transaction_request.rb +11 -0
  71. data/lib/mixin_bot/models/user.rb +11 -0
  72. data/lib/mixin_bot/models.rb +10 -0
  73. data/lib/mixin_bot/monitor.rb +77 -0
  74. data/lib/mixin_bot/transaction/buffer.rb +34 -0
  75. data/lib/mixin_bot/transaction/decoder.rb +227 -0
  76. data/lib/mixin_bot/transaction/encoder.rb +255 -0
  77. data/lib/mixin_bot/transaction.rb +6 -475
  78. data/lib/mixin_bot/url_scheme.rb +63 -0
  79. data/lib/mixin_bot/utils/address.rb +17 -80
  80. data/lib/mixin_bot/utils/crypto.rb +173 -1
  81. data/lib/mixin_bot/utils/decoder.rb +1 -1
  82. data/lib/mixin_bot/utils/encoder.rb +13 -0
  83. data/lib/mixin_bot/utils.rb +45 -0
  84. data/lib/mixin_bot/uuid.rb +78 -1
  85. data/lib/mixin_bot/version.rb +11 -1
  86. data/lib/mixin_bot.rb +172 -18
  87. data/lib/mvm/bridge.rb +46 -0
  88. data/lib/mvm/client.rb +60 -0
  89. data/lib/mvm/nft.rb +4 -2
  90. data/lib/mvm/registry.rb +2 -1
  91. data/lib/mvm.rb +93 -0
  92. data/lib/tasks/api_coverage.rake +20 -0
  93. data/llms.txt +29 -0
  94. 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, abi: File.read(File.expand_path('./abis/mirror.json', __dir__))
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, abi: File.read(File.expand_path('./abis/erc721.json', __dir__))
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, abi: File.read(File.expand_path('./abis/registry.json', __dir__))
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: 1.4.0
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: 1980-01-02 00:00:00.000000000 Z
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: '0.5'
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.5'
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 Nexwork
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.6.9
391
+ rubygems_version: 3.5.22
392
+ signing_key:
325
393
  specification_version: 4
326
- summary: A Ruby SDK for Mixin Nexwork
394
+ summary: A Ruby SDK for Mixin Network
327
395
  test_files: []