n8n-nodes-ronin 1.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 (152) hide show
  1. package/LICENSE +46 -0
  2. package/README.md +355 -0
  3. package/dist/credentials/MavisHub.credentials.d.ts +14 -0
  4. package/dist/credentials/MavisHub.credentials.d.ts.map +1 -0
  5. package/dist/credentials/MavisHub.credentials.js +78 -0
  6. package/dist/credentials/MavisHub.credentials.js.map +1 -0
  7. package/dist/credentials/RoninApi.credentials.d.ts +14 -0
  8. package/dist/credentials/RoninApi.credentials.d.ts.map +1 -0
  9. package/dist/credentials/RoninApi.credentials.js +82 -0
  10. package/dist/credentials/RoninApi.credentials.js.map +1 -0
  11. package/dist/credentials/RoninNetwork.credentials.d.ts +14 -0
  12. package/dist/credentials/RoninNetwork.credentials.d.ts.map +1 -0
  13. package/dist/credentials/RoninNetwork.credentials.js +96 -0
  14. package/dist/credentials/RoninNetwork.credentials.js.map +1 -0
  15. package/dist/index.d.ts +23 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +39 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/nodes/Ronin/Ronin.node.d.ts +6 -0
  20. package/dist/nodes/Ronin/Ronin.node.d.ts.map +1 -0
  21. package/dist/nodes/Ronin/Ronin.node.js +199 -0
  22. package/dist/nodes/Ronin/Ronin.node.js.map +1 -0
  23. package/dist/nodes/Ronin/RoninTrigger.node.d.ts +6 -0
  24. package/dist/nodes/Ronin/RoninTrigger.node.d.ts.map +1 -0
  25. package/dist/nodes/Ronin/RoninTrigger.node.js +370 -0
  26. package/dist/nodes/Ronin/RoninTrigger.node.js.map +1 -0
  27. package/dist/nodes/Ronin/actions/axie/index.d.ts +5 -0
  28. package/dist/nodes/Ronin/actions/axie/index.d.ts.map +1 -0
  29. package/dist/nodes/Ronin/actions/axie/index.js +381 -0
  30. package/dist/nodes/Ronin/actions/axie/index.js.map +1 -0
  31. package/dist/nodes/Ronin/actions/axs/index.d.ts +5 -0
  32. package/dist/nodes/Ronin/actions/axs/index.d.ts.map +1 -0
  33. package/dist/nodes/Ronin/actions/axs/index.js +136 -0
  34. package/dist/nodes/Ronin/actions/axs/index.js.map +1 -0
  35. package/dist/nodes/Ronin/actions/battle/index.d.ts +5 -0
  36. package/dist/nodes/Ronin/actions/battle/index.d.ts.map +1 -0
  37. package/dist/nodes/Ronin/actions/battle/index.js +137 -0
  38. package/dist/nodes/Ronin/actions/battle/index.js.map +1 -0
  39. package/dist/nodes/Ronin/actions/block/index.d.ts +5 -0
  40. package/dist/nodes/Ronin/actions/block/index.d.ts.map +1 -0
  41. package/dist/nodes/Ronin/actions/block/index.js +212 -0
  42. package/dist/nodes/Ronin/actions/block/index.js.map +1 -0
  43. package/dist/nodes/Ronin/actions/breeding/index.d.ts +5 -0
  44. package/dist/nodes/Ronin/actions/breeding/index.d.ts.map +1 -0
  45. package/dist/nodes/Ronin/actions/breeding/index.js +186 -0
  46. package/dist/nodes/Ronin/actions/breeding/index.js.map +1 -0
  47. package/dist/nodes/Ronin/actions/bridge/index.d.ts +5 -0
  48. package/dist/nodes/Ronin/actions/bridge/index.d.ts.map +1 -0
  49. package/dist/nodes/Ronin/actions/bridge/index.js +152 -0
  50. package/dist/nodes/Ronin/actions/bridge/index.js.map +1 -0
  51. package/dist/nodes/Ronin/actions/collection/index.d.ts +5 -0
  52. package/dist/nodes/Ronin/actions/collection/index.d.ts.map +1 -0
  53. package/dist/nodes/Ronin/actions/collection/index.js +130 -0
  54. package/dist/nodes/Ronin/actions/collection/index.js.map +1 -0
  55. package/dist/nodes/Ronin/actions/contract/index.d.ts +5 -0
  56. package/dist/nodes/Ronin/actions/contract/index.d.ts.map +1 -0
  57. package/dist/nodes/Ronin/actions/contract/index.js +175 -0
  58. package/dist/nodes/Ronin/actions/contract/index.js.map +1 -0
  59. package/dist/nodes/Ronin/actions/katana/index.d.ts +5 -0
  60. package/dist/nodes/Ronin/actions/katana/index.d.ts.map +1 -0
  61. package/dist/nodes/Ronin/actions/katana/index.js +194 -0
  62. package/dist/nodes/Ronin/actions/katana/index.js.map +1 -0
  63. package/dist/nodes/Ronin/actions/land/index.d.ts +8 -0
  64. package/dist/nodes/Ronin/actions/land/index.d.ts.map +1 -0
  65. package/dist/nodes/Ronin/actions/land/index.js +142 -0
  66. package/dist/nodes/Ronin/actions/land/index.js.map +1 -0
  67. package/dist/nodes/Ronin/actions/marketplace/index.d.ts +8 -0
  68. package/dist/nodes/Ronin/actions/marketplace/index.d.ts.map +1 -0
  69. package/dist/nodes/Ronin/actions/marketplace/index.js +139 -0
  70. package/dist/nodes/Ronin/actions/marketplace/index.js.map +1 -0
  71. package/dist/nodes/Ronin/actions/mavisHub/index.d.ts +8 -0
  72. package/dist/nodes/Ronin/actions/mavisHub/index.d.ts.map +1 -0
  73. package/dist/nodes/Ronin/actions/mavisHub/index.js +136 -0
  74. package/dist/nodes/Ronin/actions/mavisHub/index.js.map +1 -0
  75. package/dist/nodes/Ronin/actions/nft/index.d.ts +5 -0
  76. package/dist/nodes/Ronin/actions/nft/index.d.ts.map +1 -0
  77. package/dist/nodes/Ronin/actions/nft/index.js +269 -0
  78. package/dist/nodes/Ronin/actions/nft/index.js.map +1 -0
  79. package/dist/nodes/Ronin/actions/slp/index.d.ts +5 -0
  80. package/dist/nodes/Ronin/actions/slp/index.d.ts.map +1 -0
  81. package/dist/nodes/Ronin/actions/slp/index.js +158 -0
  82. package/dist/nodes/Ronin/actions/slp/index.js.map +1 -0
  83. package/dist/nodes/Ronin/actions/staking/index.d.ts +5 -0
  84. package/dist/nodes/Ronin/actions/staking/index.d.ts.map +1 -0
  85. package/dist/nodes/Ronin/actions/staking/index.js +270 -0
  86. package/dist/nodes/Ronin/actions/staking/index.js.map +1 -0
  87. package/dist/nodes/Ronin/actions/transaction/index.d.ts +5 -0
  88. package/dist/nodes/Ronin/actions/transaction/index.d.ts.map +1 -0
  89. package/dist/nodes/Ronin/actions/transaction/index.js +343 -0
  90. package/dist/nodes/Ronin/actions/transaction/index.js.map +1 -0
  91. package/dist/nodes/Ronin/actions/utility/index.d.ts +5 -0
  92. package/dist/nodes/Ronin/actions/utility/index.d.ts.map +1 -0
  93. package/dist/nodes/Ronin/actions/utility/index.js +472 -0
  94. package/dist/nodes/Ronin/actions/utility/index.js.map +1 -0
  95. package/dist/nodes/Ronin/actions/wallet/index.d.ts +5 -0
  96. package/dist/nodes/Ronin/actions/wallet/index.d.ts.map +1 -0
  97. package/dist/nodes/Ronin/actions/wallet/index.js +292 -0
  98. package/dist/nodes/Ronin/actions/wallet/index.js.map +1 -0
  99. package/dist/nodes/Ronin/constants/axieData.d.ts +159 -0
  100. package/dist/nodes/Ronin/constants/axieData.d.ts.map +1 -0
  101. package/dist/nodes/Ronin/constants/axieData.js +172 -0
  102. package/dist/nodes/Ronin/constants/axieData.js.map +1 -0
  103. package/dist/nodes/Ronin/constants/contracts.d.ts +59 -0
  104. package/dist/nodes/Ronin/constants/contracts.d.ts.map +1 -0
  105. package/dist/nodes/Ronin/constants/contracts.js +166 -0
  106. package/dist/nodes/Ronin/constants/contracts.js.map +1 -0
  107. package/dist/nodes/Ronin/constants/networks.d.ts +51 -0
  108. package/dist/nodes/Ronin/constants/networks.d.ts.map +1 -0
  109. package/dist/nodes/Ronin/constants/networks.js +92 -0
  110. package/dist/nodes/Ronin/constants/networks.js.map +1 -0
  111. package/dist/nodes/Ronin/constants/tokens.d.ts +56 -0
  112. package/dist/nodes/Ronin/constants/tokens.d.ts.map +1 -0
  113. package/dist/nodes/Ronin/constants/tokens.js +178 -0
  114. package/dist/nodes/Ronin/constants/tokens.js.map +1 -0
  115. package/dist/nodes/Ronin/ronin.svg +17 -0
  116. package/dist/nodes/Ronin/transport/bridgeClient.d.ts +177 -0
  117. package/dist/nodes/Ronin/transport/bridgeClient.d.ts.map +1 -0
  118. package/dist/nodes/Ronin/transport/bridgeClient.js +228 -0
  119. package/dist/nodes/Ronin/transport/bridgeClient.js.map +1 -0
  120. package/dist/nodes/Ronin/transport/marketplaceClient.d.ts +211 -0
  121. package/dist/nodes/Ronin/transport/marketplaceClient.d.ts.map +1 -0
  122. package/dist/nodes/Ronin/transport/marketplaceClient.js +318 -0
  123. package/dist/nodes/Ronin/transport/marketplaceClient.js.map +1 -0
  124. package/dist/nodes/Ronin/transport/mavisClient.d.ts +277 -0
  125. package/dist/nodes/Ronin/transport/mavisClient.d.ts.map +1 -0
  126. package/dist/nodes/Ronin/transport/mavisClient.js +163 -0
  127. package/dist/nodes/Ronin/transport/mavisClient.js.map +1 -0
  128. package/dist/nodes/Ronin/transport/roninClient.d.ts +143 -0
  129. package/dist/nodes/Ronin/transport/roninClient.d.ts.map +1 -0
  130. package/dist/nodes/Ronin/transport/roninClient.js +295 -0
  131. package/dist/nodes/Ronin/transport/roninClient.js.map +1 -0
  132. package/dist/nodes/Ronin/transport/skynetApi.d.ts +188 -0
  133. package/dist/nodes/Ronin/transport/skynetApi.d.ts.map +1 -0
  134. package/dist/nodes/Ronin/transport/skynetApi.js +349 -0
  135. package/dist/nodes/Ronin/transport/skynetApi.js.map +1 -0
  136. package/dist/nodes/Ronin/utils/addressUtils.d.ts +99 -0
  137. package/dist/nodes/Ronin/utils/addressUtils.d.ts.map +1 -0
  138. package/dist/nodes/Ronin/utils/addressUtils.js +190 -0
  139. package/dist/nodes/Ronin/utils/addressUtils.js.map +1 -0
  140. package/dist/nodes/Ronin/utils/axieUtils.d.ts +132 -0
  141. package/dist/nodes/Ronin/utils/axieUtils.d.ts.map +1 -0
  142. package/dist/nodes/Ronin/utils/axieUtils.js +264 -0
  143. package/dist/nodes/Ronin/utils/axieUtils.js.map +1 -0
  144. package/dist/nodes/Ronin/utils/geneUtils.d.ts +120 -0
  145. package/dist/nodes/Ronin/utils/geneUtils.d.ts.map +1 -0
  146. package/dist/nodes/Ronin/utils/geneUtils.js +253 -0
  147. package/dist/nodes/Ronin/utils/geneUtils.js.map +1 -0
  148. package/dist/nodes/Ronin/utils/unitConverter.d.ts +140 -0
  149. package/dist/nodes/Ronin/utils/unitConverter.d.ts.map +1 -0
  150. package/dist/nodes/Ronin/utils/unitConverter.js +241 -0
  151. package/dist/nodes/Ronin/utils/unitConverter.js.map +1 -0
  152. package/package.json +89 -0
package/LICENSE ADDED
@@ -0,0 +1,46 @@
1
+ Business Source License 1.1
2
+
3
+ License text copyright (c) 2017 MariaDB Corporation Ab.
4
+
5
+ Licensor:
6
+ Velocity BPA, LLC
7
+ https://velobpa.com
8
+
9
+ Licensed Work:
10
+ This repository and all source code, documentation, and associated artifacts
11
+ contained herein, including all n8n community nodes published by Velocity BPA.
12
+
13
+ Additional Use Grant:
14
+ You may use, modify, and run the Licensed Work free of charge for:
15
+ - Personal use
16
+ - Educational use
17
+ - Research use
18
+ - Internal business use, provided such use does not involve resale,
19
+ redistribution, or offering the Licensed Work as part of a commercial
20
+ product or service.
21
+
22
+ Commercial Use Restriction:
23
+ Commercial Use of the Licensed Work is prohibited without a valid
24
+ Commercial License issued by the Licensor.
25
+
26
+ Commercial Use includes, but is not limited to:
27
+ - Use of the Licensed Work within any Software-as-a-Service (SaaS),
28
+ Platform-as-a-Service (PaaS), or hosted application that is sold,
29
+ licensed, or monetized in any form
30
+ - Offering the Licensed Work as part of a managed services engagement
31
+ - Bundling or redistributing the Licensed Work with a paid product
32
+ - Reselling, sublicensing, or white-labeling the Licensed Work
33
+ - Embedding the Licensed Work into any commercial automation platform,
34
+ integration product, or solution offering
35
+
36
+ Change Date:
37
+ January 1, 2030
38
+
39
+ Change License:
40
+ Apache License, Version 2.0
41
+
42
+ For commercial licensing inquiries:
43
+ licensing@velobpa.com
44
+
45
+ Business Source License 1.1 full text:
46
+ https://mariadb.com/bsl11/
package/README.md ADDED
@@ -0,0 +1,355 @@
1
+ # n8n-nodes-ronin
2
+
3
+ > [Velocity BPA Licensing Notice]
4
+ >
5
+ > This n8n node is licensed under the Business Source License 1.1 (BSL 1.1).
6
+ >
7
+ > Use of this node by for-profit organizations in production environments requires a commercial license from Velocity BPA.
8
+ >
9
+ > For licensing information, visit https://velobpa.com/licensing or contact licensing@velobpa.com.
10
+
11
+ ---
12
+
13
+ A comprehensive n8n community node for the **Ronin blockchain** and **Axie Infinity ecosystem**. This package provides complete integration with wallet operations, NFT management, Axie breeding and battles, marketplace trading, Katana DEX swaps, Ronin Bridge transfers, staking, and Mavis Hub gaming features.
14
+
15
+ ![Ronin](https://img.shields.io/badge/Ronin-Blockchain-blue)
16
+ ![n8n](https://img.shields.io/badge/n8n-Community%20Node-orange)
17
+ ![License](https://img.shields.io/badge/license-BSL--1.1-blue)
18
+ ![Version](https://img.shields.io/badge/version-1.0.0-brightgreen)
19
+
20
+ ## Features
21
+
22
+ - **18 Resource Categories** with 200+ operations
23
+ - **Wallet Management**: RON/WETH balances, transfers, transaction history
24
+ - **NFT Operations**: Get info, transfer, metadata, ownership verification
25
+ - **Axie Infinity**: Genes, stats, breeding, battles, marketplace search
26
+ - **Lunacia Land**: Coordinates, resources, ownership, adjacent plots
27
+ - **Marketplace**: List, buy, sell NFTs, offers, price history
28
+ - **Breeding**: Cost calculation, eligibility checks, offspring prediction
29
+ - **Battle System**: History, leaderboard, MMR tracking, win rates
30
+ - **Token Operations**: SLP/AXS balance, transfers, staking
31
+ - **Ronin Bridge**: Deposit/withdraw between Ethereum and Ronin
32
+ - **Katana DEX**: Token swaps, liquidity pools, price quotes
33
+ - **Staking**: Validators, delegation, rewards claiming
34
+ - **Smart Contracts**: Read/write operations, events, gas estimation
35
+ - **Real-time Triggers**: Block events, transfers, sales, breeding
36
+
37
+ ## Installation
38
+
39
+ ### Community Nodes (Recommended)
40
+
41
+ 1. Open n8n
42
+ 2. Go to **Settings** → **Community Nodes**
43
+ 3. Search for `n8n-nodes-ronin`
44
+ 4. Click **Install**
45
+
46
+ ### Manual Installation
47
+
48
+ ```bash
49
+ # Navigate to your n8n custom nodes directory
50
+ cd ~/.n8n/custom
51
+ mkdir -p ~/.n8n/custom
52
+
53
+ # Install the package
54
+ npm install n8n-nodes-ronin
55
+
56
+ # Restart n8n
57
+ n8n restart
58
+ ```
59
+
60
+ ### Development Installation
61
+
62
+ ```bash
63
+ # Clone the repository
64
+ git clone https://github.com/Velocity-BPA/n8n-nodes-ronin.git
65
+ cd n8n-nodes-ronin
66
+
67
+ # Install dependencies
68
+ npm install
69
+
70
+ # Build the project
71
+ npm run build
72
+
73
+ # Create symlink to n8n custom nodes directory
74
+ mkdir -p ~/.n8n/custom
75
+ ln -s $(pwd) ~/.n8n/custom/n8n-nodes-ronin
76
+
77
+ # Restart n8n
78
+ n8n start
79
+ ```
80
+
81
+ ## Credentials Setup
82
+
83
+ ### Ronin Network Credentials
84
+
85
+ | Field | Description | Required |
86
+ |-------|-------------|----------|
87
+ | Network | Mainnet / Testnet / Custom | Yes |
88
+ | RPC URL | Auto-populated based on network | Yes |
89
+ | Private Key | For transaction signing | For write ops |
90
+ | Chain ID | 2020 (mainnet) / 2021 (testnet) | Auto |
91
+
92
+ ### Ronin API Credentials (Optional)
93
+
94
+ | Field | Description | Required |
95
+ |-------|-------------|----------|
96
+ | API Endpoint | Skynet API URL | No |
97
+ | API Key | For enhanced rate limits | No |
98
+
99
+ ### Mavis Hub Credentials (Optional)
100
+
101
+ | Field | Description | Required |
102
+ |-------|-------------|----------|
103
+ | Hub API Endpoint | Gaming platform API | No |
104
+ | Client ID | OAuth client ID | No |
105
+ | Client Secret | OAuth client secret | No |
106
+
107
+ ## Resources & Operations
108
+
109
+ ### Wallet Resource
110
+
111
+ | Operation | Description |
112
+ |-----------|-------------|
113
+ | Get RON Balance | Get native RON token balance |
114
+ | Get WETH Balance | Get wrapped ETH balance |
115
+ | Get Token Balances | Get all token balances |
116
+ | Get Wallet NFTs | Get NFTs owned by wallet |
117
+ | Transfer RON | Send RON to another address |
118
+ | Transfer Token | Send ERC-20 tokens |
119
+ | Get Transaction History | Get wallet transactions |
120
+ | Validate Address | Validate ronin/hex address |
121
+ | Convert Address | Convert between formats |
122
+
123
+ ### NFT Resource
124
+
125
+ | Operation | Description |
126
+ |-----------|-------------|
127
+ | Get NFT Info | Get NFT details |
128
+ | Get NFT Metadata | Get NFT metadata |
129
+ | Get NFTs by Owner | Get NFTs by wallet |
130
+ | Transfer NFT | Transfer NFT to address |
131
+ | Batch Transfer | Transfer multiple NFTs |
132
+ | Verify Ownership | Check NFT ownership |
133
+
134
+ ### Axie Resource
135
+
136
+ | Operation | Description |
137
+ |-----------|-------------|
138
+ | Get Axie Info | Get Axie details |
139
+ | Get Axie Genes | Decode Axie genes |
140
+ | Get Axie Stats | Get Axie battle stats |
141
+ | Get Axie Parts | Get body parts |
142
+ | Get Axies by Owner | Get owner's Axies |
143
+ | Get Breeding Count | Get breed count |
144
+ | Search Axies | Search marketplace |
145
+
146
+ ### Marketplace Resource
147
+
148
+ | Operation | Description |
149
+ |-----------|-------------|
150
+ | Get Active Listings | Get marketplace listings |
151
+ | Get Listings by User | Get user's listings |
152
+ | Get Recent Sales | Get recent sales |
153
+ | Get Price History | Get NFT price history |
154
+ | Get Marketplace Stats | Get marketplace statistics |
155
+
156
+ ### Additional Resources
157
+
158
+ - **Land**: Lunacia land operations
159
+ - **Collection**: NFT collection stats
160
+ - **Breeding**: Axie breeding operations
161
+ - **Battle**: PvP battle tracking
162
+ - **SLP**: Smooth Love Potion operations
163
+ - **AXS**: Axie Infinity Shards operations
164
+ - **Bridge**: Ronin Bridge operations
165
+ - **Katana**: DEX swap operations
166
+ - **Staking**: RON staking operations
167
+ - **Contract**: Smart contract interactions
168
+ - **Block**: Block data retrieval
169
+ - **Transaction**: Transaction operations
170
+ - **Mavis Hub**: Gaming platform operations
171
+ - **Utility**: Helper functions
172
+
173
+ ## Trigger Node
174
+
175
+ The Ronin Trigger node monitors blockchain events in real-time:
176
+
177
+ | Event Type | Description |
178
+ |------------|-------------|
179
+ | New Block | Triggered on new blocks |
180
+ | RON Received | When RON is received |
181
+ | RON Sent | When RON is sent |
182
+ | Token Transfer | On ERC-20 transfers |
183
+ | NFT Transfer | On NFT transfers |
184
+ | Axie Bred | When Axies are bred |
185
+ | Marketplace Sale | On NFT sales |
186
+ | Contract Event | Custom contract events |
187
+
188
+ ## Usage Examples
189
+
190
+ ### Get Wallet Balance
191
+
192
+ ```javascript
193
+ // Resource: Wallet
194
+ // Operation: Get RON Balance
195
+ {
196
+ "address": "ronin:1234567890abcdef..."
197
+ }
198
+ ```
199
+
200
+ ### Transfer RON
201
+
202
+ ```javascript
203
+ // Resource: Wallet
204
+ // Operation: Transfer RON
205
+ {
206
+ "toAddress": "ronin:recipient...",
207
+ "amount": "1.5"
208
+ }
209
+ ```
210
+
211
+ ### Get Axie Information
212
+
213
+ ```javascript
214
+ // Resource: Axie
215
+ // Operation: Get Axie Info
216
+ {
217
+ "axieId": "12345"
218
+ }
219
+ ```
220
+
221
+ ### Swap on Katana DEX
222
+
223
+ ```javascript
224
+ // Resource: Katana
225
+ // Operation: Execute Swap
226
+ {
227
+ "fromToken": "WRON",
228
+ "toToken": "WETH",
229
+ "amount": "100",
230
+ "slippage": 0.5
231
+ }
232
+ ```
233
+
234
+ ## Ronin Blockchain Concepts
235
+
236
+ ### Address Formats
237
+
238
+ Ronin uses a unique address format prefixed with `ronin:` instead of `0x`:
239
+ - **Ronin format**: `ronin:1234567890abcdef...`
240
+ - **Hex format**: `0x1234567890abcdef...`
241
+
242
+ Both formats are interchangeable and this node handles conversion automatically.
243
+
244
+ ### Native Tokens
245
+
246
+ | Token | Symbol | Description |
247
+ |-------|--------|-------------|
248
+ | RON | RON | Native gas token |
249
+ | Wrapped RON | WRON | ERC-20 wrapped RON |
250
+ | Wrapped ETH | WETH | Bridged Ethereum |
251
+ | Axie Infinity Shards | AXS | Governance token |
252
+ | Smooth Love Potion | SLP | In-game currency |
253
+
254
+ ### Axie Concepts
255
+
256
+ - **Genes**: 256/512-bit genetic data encoding Axie traits
257
+ - **Parts**: Body parts (eyes, ears, mouth, horn, back, tail)
258
+ - **Class**: Beast, Bug, Bird, Plant, Aquatic, Reptile, etc.
259
+ - **Purity**: Percentage of parts matching the dominant class
260
+ - **Breed Count**: Number of times an Axie has bred (max 7)
261
+
262
+ ## Networks
263
+
264
+ | Network | Chain ID | RPC URL |
265
+ |---------|----------|---------|
266
+ | Mainnet | 2020 | https://api.roninchain.com/rpc |
267
+ | Testnet (Saigon) | 2021 | https://saigon-testnet.roninchain.com/rpc |
268
+
269
+ ## Error Handling
270
+
271
+ The node provides detailed error messages for common issues:
272
+
273
+ | Error | Cause | Solution |
274
+ |-------|-------|----------|
275
+ | Invalid address | Wrong address format | Use ronin: or 0x format |
276
+ | Insufficient balance | Not enough tokens | Check balance first |
277
+ | Transaction failed | Network/gas issues | Retry with higher gas |
278
+ | Rate limited | Too many requests | Wait and retry |
279
+
280
+ ## Security Best Practices
281
+
282
+ 1. **Never share private keys** - Store securely in n8n credentials
283
+ 2. **Use testnet first** - Test workflows on Saigon testnet
284
+ 3. **Validate addresses** - Use the Validate Address operation
285
+ 4. **Set slippage limits** - Protect against price manipulation
286
+ 5. **Monitor transactions** - Use trigger nodes for alerts
287
+
288
+ ## Development
289
+
290
+ ```bash
291
+ # Install dependencies
292
+ npm install
293
+
294
+ # Build the project
295
+ npm run build
296
+
297
+ # Run tests
298
+ npm test
299
+
300
+ # Run tests with coverage
301
+ npm run test:coverage
302
+
303
+ # Run linting
304
+ npm run lint
305
+
306
+ # Fix linting issues
307
+ npm run lint:fix
308
+
309
+ # Watch mode for development
310
+ npm run dev
311
+ ```
312
+
313
+ ## Author
314
+
315
+ **Velocity BPA**
316
+ - Website: [velobpa.com](https://velobpa.com)
317
+ - GitHub: [Velocity-BPA](https://github.com/Velocity-BPA)
318
+
319
+ ## Licensing
320
+
321
+ This n8n community node is licensed under the **Business Source License 1.1**.
322
+
323
+ ### Free Use
324
+ Permitted for personal, educational, research, and internal business use.
325
+
326
+ ### Commercial Use
327
+ Use of this node within any SaaS, PaaS, hosted platform, managed service,
328
+ or paid automation offering requires a commercial license.
329
+
330
+ For licensing inquiries:
331
+ **licensing@velobpa.com**
332
+
333
+ See [LICENSE](LICENSE), [COMMERCIAL_LICENSE.md](COMMERCIAL_LICENSE.md), and [LICENSING_FAQ.md](LICENSING_FAQ.md) for details.
334
+
335
+ ## Contributing
336
+
337
+ Contributions are welcome! Please:
338
+
339
+ 1. Fork the repository
340
+ 2. Create a feature branch
341
+ 3. Make your changes
342
+ 4. Run tests and linting
343
+ 5. Submit a pull request
344
+
345
+ ## Support
346
+
347
+ - **Issues**: [GitHub Issues](https://github.com/Velocity-BPA/n8n-nodes-ronin/issues)
348
+ - **Licensing**: licensing@velobpa.com
349
+ - **Website**: [velobpa.com](https://velobpa.com)
350
+
351
+ ## Acknowledgments
352
+
353
+ - [Ronin Network](https://roninchain.com) - Blockchain infrastructure
354
+ - [Sky Mavis](https://skymavis.com) - Axie Infinity ecosystem
355
+ - [n8n](https://n8n.io) - Workflow automation platform
@@ -0,0 +1,14 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ /**
3
+ * Mavis Hub Credentials
4
+ * Used for accessing Mavis Hub gaming platform features
5
+ */
6
+ export declare class MavisHub implements ICredentialType {
7
+ name: string;
8
+ displayName: string;
9
+ documentationUrl: string;
10
+ properties: INodeProperties[];
11
+ authenticate: IAuthenticateGeneric;
12
+ test: ICredentialTestRequest;
13
+ }
14
+ //# sourceMappingURL=MavisHub.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MavisHub.credentials.d.ts","sourceRoot":"","sources":["../../credentials/MavisHub.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,qBAAa,QAAS,YAAW,eAAe;IAC/C,IAAI,SAAc;IAClB,WAAW,SAAe;IAC1B,gBAAgB,SAA+C;IAC/D,UAAU,EAAE,eAAe,EAAE,CA+C3B;IAEF,YAAY,EAAE,oBAAoB,CAQhC;IAEF,IAAI,EAAE,sBAAsB,CAM1B;CACF"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MavisHub = void 0;
4
+ /**
5
+ * Mavis Hub Credentials
6
+ * Used for accessing Mavis Hub gaming platform features
7
+ */
8
+ class MavisHub {
9
+ name = 'mavisHub';
10
+ displayName = 'Mavis Hub';
11
+ documentationUrl = 'https://docs.skymavis.com/mavis/mavis-hub';
12
+ properties = [
13
+ {
14
+ displayName: 'Hub API Endpoint',
15
+ name: 'hubApiEndpoint',
16
+ type: 'string',
17
+ default: 'https://hub.skymavis.com/api',
18
+ description: 'Mavis Hub API endpoint',
19
+ },
20
+ {
21
+ displayName: 'Client ID',
22
+ name: 'clientId',
23
+ type: 'string',
24
+ default: '',
25
+ description: 'OAuth Client ID from Mavis Hub developer portal',
26
+ required: true,
27
+ },
28
+ {
29
+ displayName: 'Client Secret',
30
+ name: 'clientSecret',
31
+ type: 'string',
32
+ typeOptions: {
33
+ password: true,
34
+ },
35
+ default: '',
36
+ description: 'OAuth Client Secret from Mavis Hub developer portal',
37
+ required: true,
38
+ },
39
+ {
40
+ displayName: 'Access Token',
41
+ name: 'accessToken',
42
+ type: 'string',
43
+ typeOptions: {
44
+ password: true,
45
+ },
46
+ default: '',
47
+ description: 'Optional: Pre-generated access token',
48
+ },
49
+ {
50
+ displayName: 'Refresh Token',
51
+ name: 'refreshToken',
52
+ type: 'string',
53
+ typeOptions: {
54
+ password: true,
55
+ },
56
+ default: '',
57
+ description: 'Optional: Refresh token for renewing access',
58
+ },
59
+ ];
60
+ authenticate = {
61
+ type: 'generic',
62
+ properties: {
63
+ headers: {
64
+ Authorization: '=Bearer {{$credentials.accessToken}}',
65
+ 'X-Client-Id': '={{$credentials.clientId}}',
66
+ },
67
+ },
68
+ };
69
+ test = {
70
+ request: {
71
+ baseURL: '={{$credentials.hubApiEndpoint}}',
72
+ url: '/v1/health',
73
+ method: 'GET',
74
+ },
75
+ };
76
+ }
77
+ exports.MavisHub = MavisHub;
78
+ //# sourceMappingURL=MavisHub.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MavisHub.credentials.js","sourceRoot":"","sources":["../../credentials/MavisHub.credentials.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH,MAAa,QAAQ;IACpB,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,WAAW,CAAC;IAC1B,gBAAgB,GAAG,2CAA2C,CAAC;IAC/D,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,8BAA8B;YACvC,WAAW,EAAE,wBAAwB;SACrC;QACD;YACC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,IAAI;SACd;QACD;YACC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,IAAI;SACd;QACD;YACC,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,sCAAsC;SACnD;QACD;YACC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,6CAA6C;SAC1D;KACD,CAAC;IAEF,YAAY,GAAyB;QACpC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,aAAa,EAAE,sCAAsC;gBACrD,aAAa,EAAE,4BAA4B;aAC3C;SACD;KACD,CAAC;IAEF,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,kCAAkC;YAC3C,GAAG,EAAE,YAAY;YACjB,MAAM,EAAE,KAAK;SACb;KACD,CAAC;CACF;AAtED,4BAsEC"}
@@ -0,0 +1,14 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ /**
3
+ * Ronin API Credentials (Skynet API)
4
+ * Used for accessing Ronin blockchain data via REST/GraphQL APIs
5
+ */
6
+ export declare class RoninApi implements ICredentialType {
7
+ name: string;
8
+ displayName: string;
9
+ documentationUrl: string;
10
+ properties: INodeProperties[];
11
+ authenticate: IAuthenticateGeneric;
12
+ test: ICredentialTestRequest;
13
+ }
14
+ //# sourceMappingURL=RoninApi.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoninApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/RoninApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,qBAAa,QAAS,YAAW,eAAe;IAC/C,IAAI,SAAc;IAClB,WAAW,SAAwB;IACnC,gBAAgB,SAAgC;IAChD,UAAU,EAAE,eAAe,EAAE,CAoD3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAM1B;CACF"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoninApi = void 0;
4
+ /**
5
+ * Ronin API Credentials (Skynet API)
6
+ * Used for accessing Ronin blockchain data via REST/GraphQL APIs
7
+ */
8
+ class RoninApi {
9
+ name = 'roninApi';
10
+ displayName = 'Ronin API (Skynet)';
11
+ documentationUrl = 'https://docs.skymavis.com/';
12
+ properties = [
13
+ {
14
+ displayName: 'API Endpoint',
15
+ name: 'apiEndpoint',
16
+ type: 'options',
17
+ options: [
18
+ {
19
+ name: 'Skynet Mainnet',
20
+ value: 'https://api-gateway.skymavis.com',
21
+ },
22
+ {
23
+ name: 'Skynet Testnet',
24
+ value: 'https://api-gateway.skymavis.com/testnet',
25
+ },
26
+ {
27
+ name: 'Custom',
28
+ value: 'custom',
29
+ },
30
+ ],
31
+ default: 'https://api-gateway.skymavis.com',
32
+ description: 'Select the Skynet API endpoint',
33
+ },
34
+ {
35
+ displayName: 'Custom API URL',
36
+ name: 'customApiUrl',
37
+ type: 'string',
38
+ default: '',
39
+ placeholder: 'https://your-api-endpoint.com',
40
+ displayOptions: {
41
+ show: {
42
+ apiEndpoint: ['custom'],
43
+ },
44
+ },
45
+ },
46
+ {
47
+ displayName: 'API Key',
48
+ name: 'apiKey',
49
+ type: 'string',
50
+ typeOptions: {
51
+ password: true,
52
+ },
53
+ default: '',
54
+ description: 'Your Skynet API key from the Sky Mavis Developer Portal',
55
+ required: true,
56
+ },
57
+ {
58
+ displayName: 'App ID',
59
+ name: 'appId',
60
+ type: 'string',
61
+ default: '',
62
+ description: 'Your application ID from Sky Mavis',
63
+ },
64
+ ];
65
+ authenticate = {
66
+ type: 'generic',
67
+ properties: {
68
+ headers: {
69
+ 'X-API-Key': '={{$credentials.apiKey}}',
70
+ },
71
+ },
72
+ };
73
+ test = {
74
+ request: {
75
+ baseURL: '={{$credentials.apiEndpoint === "custom" ? $credentials.customApiUrl : $credentials.apiEndpoint}}',
76
+ url: '/health',
77
+ method: 'GET',
78
+ },
79
+ };
80
+ }
81
+ exports.RoninApi = RoninApi;
82
+ //# sourceMappingURL=RoninApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoninApi.credentials.js","sourceRoot":"","sources":["../../credentials/RoninApi.credentials.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH,MAAa,QAAQ;IACpB,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,oBAAoB,CAAC;IACnC,gBAAgB,GAAG,4BAA4B,CAAC;IAChD,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,kCAAkC;iBACzC;gBACD;oBACC,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,0CAA0C;iBACjD;gBACD;oBACC,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,QAAQ;iBACf;aACD;YACD,OAAO,EAAE,kCAAkC;YAC3C,WAAW,EAAE,gCAAgC;SAC7C;QACD;YACC,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,+BAA+B;YAC5C,cAAc,EAAE;gBACf,IAAI,EAAE;oBACL,WAAW,EAAE,CAAC,QAAQ,CAAC;iBACvB;aACD;SACD;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,IAAI;SACd;QACD;YACC,WAAW,EAAE,QAAQ;YACrB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,oCAAoC;SACjD;KACD,CAAC;IAEF,YAAY,GAAyB;QACpC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,WAAW,EAAE,0BAA0B;aACvC;SACD;KACD,CAAC;IAEF,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,mGAAmG;YAC5G,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,KAAK;SACb;KACD,CAAC;CACF;AA1ED,4BA0EC"}
@@ -0,0 +1,14 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ /**
3
+ * Ronin Network Credentials
4
+ * Supports Ronin Mainnet, Saigon Testnet, and custom endpoints
5
+ */
6
+ export declare class RoninNetwork implements ICredentialType {
7
+ name: string;
8
+ displayName: string;
9
+ documentationUrl: string;
10
+ properties: INodeProperties[];
11
+ authenticate: IAuthenticateGeneric;
12
+ test: ICredentialTestRequest;
13
+ }
14
+ //# sourceMappingURL=RoninNetwork.credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoninNetwork.credentials.d.ts","sourceRoot":"","sources":["../../credentials/RoninNetwork.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,qBAAa,YAAa,YAAW,eAAe;IACnD,IAAI,SAAkB;IACtB,WAAW,SAAmB;IAC9B,gBAAgB,SAAkC;IAClD,UAAU,EAAE,eAAe,EAAE,CA8D3B;IAEF,YAAY,EAAE,oBAAoB,CAGhC;IAEF,IAAI,EAAE,sBAAsB,CAc1B;CACF"}