n8n-nodes-oasys 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.
- package/LICENSE +46 -0
- package/README.md +424 -0
- package/dist/credentials/OasysApi.credentials.d.ts +20 -0
- package/dist/credentials/OasysApi.credentials.d.ts.map +1 -0
- package/dist/credentials/OasysApi.credentials.js +109 -0
- package/dist/credentials/OasysApi.credentials.js.map +1 -0
- package/dist/credentials/OasysNetwork.credentials.d.ts +19 -0
- package/dist/credentials/OasysNetwork.credentials.d.ts.map +1 -0
- package/dist/credentials/OasysNetwork.credentials.js +201 -0
- package/dist/credentials/OasysNetwork.credentials.js.map +1 -0
- package/dist/credentials/VerseCredentials.credentials.d.ts +19 -0
- package/dist/credentials/VerseCredentials.credentials.d.ts.map +1 -0
- package/dist/credentials/VerseCredentials.credentials.js +133 -0
- package/dist/credentials/VerseCredentials.credentials.js.map +1 -0
- package/dist/nodes/Oasys/Oasys.node.d.ts +16 -0
- package/dist/nodes/Oasys/Oasys.node.d.ts.map +1 -0
- package/dist/nodes/Oasys/Oasys.node.js +1521 -0
- package/dist/nodes/Oasys/Oasys.node.js.map +1 -0
- package/dist/nodes/Oasys/OasysTrigger.node.d.ts +16 -0
- package/dist/nodes/Oasys/OasysTrigger.node.d.ts.map +1 -0
- package/dist/nodes/Oasys/OasysTrigger.node.js +484 -0
- package/dist/nodes/Oasys/OasysTrigger.node.js.map +1 -0
- package/dist/nodes/Oasys/constants/contracts.d.ts +68 -0
- package/dist/nodes/Oasys/constants/contracts.d.ts.map +1 -0
- package/dist/nodes/Oasys/constants/contracts.js +162 -0
- package/dist/nodes/Oasys/constants/contracts.js.map +1 -0
- package/dist/nodes/Oasys/constants/networks.d.ts +85 -0
- package/dist/nodes/Oasys/constants/networks.d.ts.map +1 -0
- package/dist/nodes/Oasys/constants/networks.js +111 -0
- package/dist/nodes/Oasys/constants/networks.js.map +1 -0
- package/dist/nodes/Oasys/constants/partners.d.ts +66 -0
- package/dist/nodes/Oasys/constants/partners.d.ts.map +1 -0
- package/dist/nodes/Oasys/constants/partners.js +206 -0
- package/dist/nodes/Oasys/constants/partners.js.map +1 -0
- package/dist/nodes/Oasys/constants/validators.d.ts +61 -0
- package/dist/nodes/Oasys/constants/validators.d.ts.map +1 -0
- package/dist/nodes/Oasys/constants/validators.js +144 -0
- package/dist/nodes/Oasys/constants/validators.js.map +1 -0
- package/dist/nodes/Oasys/constants/verses.d.ts +80 -0
- package/dist/nodes/Oasys/constants/verses.d.ts.map +1 -0
- package/dist/nodes/Oasys/constants/verses.js +202 -0
- package/dist/nodes/Oasys/constants/verses.js.map +1 -0
- package/dist/nodes/Oasys/oasys.svg +16 -0
- package/dist/nodes/Oasys/transport/apiClient.d.ts +330 -0
- package/dist/nodes/Oasys/transport/apiClient.d.ts.map +1 -0
- package/dist/nodes/Oasys/transport/apiClient.js +309 -0
- package/dist/nodes/Oasys/transport/apiClient.js.map +1 -0
- package/dist/nodes/Oasys/transport/bridgeClient.d.ts +151 -0
- package/dist/nodes/Oasys/transport/bridgeClient.d.ts.map +1 -0
- package/dist/nodes/Oasys/transport/bridgeClient.js +340 -0
- package/dist/nodes/Oasys/transport/bridgeClient.js.map +1 -0
- package/dist/nodes/Oasys/transport/hubClient.d.ts +251 -0
- package/dist/nodes/Oasys/transport/hubClient.d.ts.map +1 -0
- package/dist/nodes/Oasys/transport/hubClient.js +473 -0
- package/dist/nodes/Oasys/transport/hubClient.js.map +1 -0
- package/dist/nodes/Oasys/transport/verseClient.d.ts +212 -0
- package/dist/nodes/Oasys/transport/verseClient.d.ts.map +1 -0
- package/dist/nodes/Oasys/transport/verseClient.js +386 -0
- package/dist/nodes/Oasys/transport/verseClient.js.map +1 -0
- package/dist/nodes/Oasys/utils/bridgeUtils.d.ts +108 -0
- package/dist/nodes/Oasys/utils/bridgeUtils.d.ts.map +1 -0
- package/dist/nodes/Oasys/utils/bridgeUtils.js +204 -0
- package/dist/nodes/Oasys/utils/bridgeUtils.js.map +1 -0
- package/dist/nodes/Oasys/utils/layerUtils.d.ts +77 -0
- package/dist/nodes/Oasys/utils/layerUtils.d.ts.map +1 -0
- package/dist/nodes/Oasys/utils/layerUtils.js +258 -0
- package/dist/nodes/Oasys/utils/layerUtils.js.map +1 -0
- package/dist/nodes/Oasys/utils/unitConverter.d.ts +74 -0
- package/dist/nodes/Oasys/utils/unitConverter.d.ts.map +1 -0
- package/dist/nodes/Oasys/utils/unitConverter.js +150 -0
- package/dist/nodes/Oasys/utils/unitConverter.js.map +1 -0
- package/dist/nodes/Oasys/utils/validatorUtils.d.ts +116 -0
- package/dist/nodes/Oasys/utils/validatorUtils.d.ts.map +1 -0
- package/dist/nodes/Oasys/utils/validatorUtils.js +190 -0
- package/dist/nodes/Oasys/utils/validatorUtils.js.map +1 -0
- 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,424 @@
|
|
|
1
|
+
# n8n-nodes-oasys
|
|
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
|
+
A comprehensive n8n community node package for the **Oasys blockchain** - a gaming-focused Layer 1/Layer 2 blockchain with Hub and Verse architecture, featuring partnerships with major game studios including SEGA, Bandai Namco, and Ubisoft.
|
|
12
|
+
|
|
13
|
+
[](https://www.npmjs.com/package/n8n-nodes-oasys)
|
|
14
|
+
[](https://mariadb.com/bsl11/)
|
|
15
|
+
|
|
16
|
+
## Features
|
|
17
|
+
|
|
18
|
+
### Action Node: Oasys
|
|
19
|
+
Complete blockchain interactions with 16 resources and 100+ operations:
|
|
20
|
+
|
|
21
|
+
| Resource | Operations |
|
|
22
|
+
|----------|------------|
|
|
23
|
+
| **Wallet** | Get balance, transfer OAS/tokens, NFT queries, cross-layer balances |
|
|
24
|
+
| **Hub** | Network info, blocks, transactions, validators, staking, epochs |
|
|
25
|
+
| **Verse** | Verse info, status, blocks, transactions, gas prices |
|
|
26
|
+
| **Bridge** | Deposit/withdraw between Hub and Verse, status tracking |
|
|
27
|
+
| **NFT** | Get info, metadata, transfers (ERC721/ERC1155) |
|
|
28
|
+
| **Collection** | Collection info, stats, floor prices |
|
|
29
|
+
| **Staking** | Stake/unstake OAS, validator delegation, rewards |
|
|
30
|
+
| **Validator** | Validator info, performance, delegators |
|
|
31
|
+
| **Contract** | Read/write contracts, events, gas estimation |
|
|
32
|
+
| **Gaming** | Game info, player stats, partner integrations |
|
|
33
|
+
| **Partner** | Game studio information and partnerships |
|
|
34
|
+
| **Block** | Block queries for Hub and Verse |
|
|
35
|
+
| **Transaction** | Send transactions, status, receipts |
|
|
36
|
+
| **Token** | ERC20 token operations |
|
|
37
|
+
| **Events** | Contract event queries |
|
|
38
|
+
| **Utility** | Unit conversion, address validation, signing |
|
|
39
|
+
|
|
40
|
+
### Trigger Node: Oasys Trigger
|
|
41
|
+
Real-time event monitoring for:
|
|
42
|
+
- Wallet events (balance changes, transfers)
|
|
43
|
+
- Hub events (new blocks, epoch changes)
|
|
44
|
+
- Verse events (blocks, status changes)
|
|
45
|
+
- Bridge events (deposits, withdrawals)
|
|
46
|
+
- NFT events (transfers, mints, burns)
|
|
47
|
+
- Staking events (stake changes, rewards)
|
|
48
|
+
- Contract events (custom event monitoring)
|
|
49
|
+
|
|
50
|
+
## Installation
|
|
51
|
+
|
|
52
|
+
### Community Nodes (Recommended)
|
|
53
|
+
|
|
54
|
+
1. Open n8n
|
|
55
|
+
2. Go to **Settings** > **Community Nodes**
|
|
56
|
+
3. Click **Install a community node**
|
|
57
|
+
4. Enter `n8n-nodes-oasys`
|
|
58
|
+
5. Click **Install**
|
|
59
|
+
|
|
60
|
+
### Manual Installation
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Clone the repository
|
|
64
|
+
git clone https://github.com/Velocity-BPA/n8n-nodes-oasys.git
|
|
65
|
+
cd n8n-nodes-oasys
|
|
66
|
+
|
|
67
|
+
# Install dependencies
|
|
68
|
+
npm install
|
|
69
|
+
|
|
70
|
+
# Build the project
|
|
71
|
+
npm run build
|
|
72
|
+
|
|
73
|
+
# Link to n8n
|
|
74
|
+
npm link
|
|
75
|
+
|
|
76
|
+
# In your n8n installation directory
|
|
77
|
+
npm link n8n-nodes-oasys
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Development Installation
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# 1. Extract the zip file
|
|
84
|
+
unzip n8n-nodes-oasys.zip
|
|
85
|
+
cd n8n-nodes-oasys
|
|
86
|
+
|
|
87
|
+
# 2. Install dependencies
|
|
88
|
+
npm install
|
|
89
|
+
|
|
90
|
+
# 3. Build the project
|
|
91
|
+
npm run build
|
|
92
|
+
|
|
93
|
+
# 4. Create symlink to n8n custom nodes directory
|
|
94
|
+
# For Linux/macOS:
|
|
95
|
+
mkdir -p ~/.n8n/custom
|
|
96
|
+
ln -s $(pwd) ~/.n8n/custom/n8n-nodes-oasys
|
|
97
|
+
|
|
98
|
+
# For Windows (run as Administrator):
|
|
99
|
+
# mklink /D %USERPROFILE%\.n8n\custom\n8n-nodes-oasys %CD%
|
|
100
|
+
|
|
101
|
+
# 5. Restart n8n
|
|
102
|
+
n8n start
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Credentials Setup
|
|
106
|
+
|
|
107
|
+
### Oasys Network Credentials
|
|
108
|
+
|
|
109
|
+
| Field | Description |
|
|
110
|
+
|-------|-------------|
|
|
111
|
+
| **Layer** | Hub Mainnet, Hub Testnet, Verse, or Custom |
|
|
112
|
+
| **Verse** | Select from available Verses (if Layer 2) |
|
|
113
|
+
| **Private Key** | Your wallet private key (securely stored) |
|
|
114
|
+
| **WebSocket URL** | Optional, for real-time subscriptions |
|
|
115
|
+
|
|
116
|
+
### Oasys API Credentials (Optional)
|
|
117
|
+
|
|
118
|
+
| Field | Description |
|
|
119
|
+
|-------|-------------|
|
|
120
|
+
| **Explorer API Key** | For enhanced explorer queries |
|
|
121
|
+
| **Gaming API Endpoint** | For game integrations |
|
|
122
|
+
|
|
123
|
+
## Resources & Operations
|
|
124
|
+
|
|
125
|
+
### Wallet Resource
|
|
126
|
+
- `getBalance` - Get OAS balance for an address
|
|
127
|
+
- `getTokenBalance` - Get ERC20 token balance
|
|
128
|
+
- `transfer` - Transfer OAS to another address
|
|
129
|
+
- `transferToken` - Transfer ERC20 tokens
|
|
130
|
+
- `getNfts` - Get NFTs owned by an address
|
|
131
|
+
- `getCrossLayerBalances` - Get balances across Hub and Verses
|
|
132
|
+
|
|
133
|
+
### Hub Resource
|
|
134
|
+
- `getInfo` - Get Hub network information
|
|
135
|
+
- `getBlock` - Get block by number or hash
|
|
136
|
+
- `getTransaction` - Get transaction details
|
|
137
|
+
- `getValidators` - Get list of validators
|
|
138
|
+
- `getStakingInfo` - Get staking information
|
|
139
|
+
- `getEpochInfo` - Get current epoch information
|
|
140
|
+
- `getGasPrice` - Get current gas price
|
|
141
|
+
|
|
142
|
+
### Verse Resource
|
|
143
|
+
- `getInfo` - Get Verse information
|
|
144
|
+
- `getList` - Get list of all Verses
|
|
145
|
+
- `getStatus` - Get Verse status
|
|
146
|
+
- `getBlock` - Get Verse block
|
|
147
|
+
- `getTransaction` - Get Verse transaction
|
|
148
|
+
- `getGasPrice` - Get Verse gas price (often 0 for gasless)
|
|
149
|
+
|
|
150
|
+
### Bridge Resource
|
|
151
|
+
- `deposit` - Deposit OAS from Hub to Verse
|
|
152
|
+
- `withdraw` - Withdraw OAS from Verse to Hub
|
|
153
|
+
- `getStatus` - Get bridge transaction status
|
|
154
|
+
- `getPending` - Get pending bridge transactions
|
|
155
|
+
- `getHistory` - Get bridge transaction history
|
|
156
|
+
|
|
157
|
+
### Staking Resource
|
|
158
|
+
- `stake` - Stake OAS to a validator
|
|
159
|
+
- `unstake` - Unstake OAS from a validator
|
|
160
|
+
- `delegate` - Delegate to a validator
|
|
161
|
+
- `getRewards` - Get staking rewards
|
|
162
|
+
- `claimRewards` - Claim pending rewards
|
|
163
|
+
- `getAPY` - Get current staking APY
|
|
164
|
+
|
|
165
|
+
### Contract Resource
|
|
166
|
+
- `read` - Read contract state
|
|
167
|
+
- `write` - Write to contract
|
|
168
|
+
- `getEvents` - Get contract events
|
|
169
|
+
- `estimateGas` - Estimate gas for transaction
|
|
170
|
+
|
|
171
|
+
## Trigger Node
|
|
172
|
+
|
|
173
|
+
The Oasys Trigger node monitors blockchain events in real-time:
|
|
174
|
+
|
|
175
|
+
| Category | Events |
|
|
176
|
+
|----------|--------|
|
|
177
|
+
| **Wallet** | Balance changes, incoming/outgoing transfers |
|
|
178
|
+
| **Hub** | New blocks, epoch changes, validator updates |
|
|
179
|
+
| **Verse** | New blocks, status changes |
|
|
180
|
+
| **Bridge** | Deposit/withdrawal initiated, completed |
|
|
181
|
+
| **NFT** | Transfers, mints, burns |
|
|
182
|
+
| **Staking** | Stake changes, reward distributions |
|
|
183
|
+
| **Contract** | Custom contract events |
|
|
184
|
+
|
|
185
|
+
## Usage Examples
|
|
186
|
+
|
|
187
|
+
### Get Wallet Balance
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
// Node Configuration
|
|
191
|
+
{
|
|
192
|
+
"resource": "wallet",
|
|
193
|
+
"operation": "getBalance",
|
|
194
|
+
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f1e9a2"
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Stake OAS to Validator
|
|
199
|
+
|
|
200
|
+
```javascript
|
|
201
|
+
// Node Configuration
|
|
202
|
+
{
|
|
203
|
+
"resource": "staking",
|
|
204
|
+
"operation": "stake",
|
|
205
|
+
"validator": "0x...",
|
|
206
|
+
"amount": "1000" // In OAS
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Bridge OAS from Hub to Verse
|
|
211
|
+
|
|
212
|
+
```javascript
|
|
213
|
+
// Node Configuration
|
|
214
|
+
{
|
|
215
|
+
"resource": "bridge",
|
|
216
|
+
"operation": "deposit",
|
|
217
|
+
"verse": "homeVerse",
|
|
218
|
+
"amount": "100" // In OAS
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Monitor New Blocks
|
|
223
|
+
|
|
224
|
+
```javascript
|
|
225
|
+
// Trigger Configuration
|
|
226
|
+
{
|
|
227
|
+
"category": "hub",
|
|
228
|
+
"event": "newBlock",
|
|
229
|
+
"pollInterval": 15
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Oasys Blockchain Concepts
|
|
234
|
+
|
|
235
|
+
### Two-Layer Architecture
|
|
236
|
+
|
|
237
|
+
Oasys uses a unique two-layer architecture optimized for gaming:
|
|
238
|
+
|
|
239
|
+
- **Hub (Layer 1)**: The main Proof-of-Stake chain for security, staking, and validator operations. Chain ID: 248 (mainnet), 9372 (testnet).
|
|
240
|
+
|
|
241
|
+
- **Verse (Layer 2)**: Gaming-optimized rollups offering fast, gasless transactions. Each Verse is operated by a game studio or partner.
|
|
242
|
+
|
|
243
|
+
### Key Partners
|
|
244
|
+
|
|
245
|
+
Major gaming companies operating as validators and Verse operators:
|
|
246
|
+
- **SEGA** - Global gaming company
|
|
247
|
+
- **Bandai Namco** - Entertainment conglomerate
|
|
248
|
+
- **Ubisoft** - Major gaming publisher
|
|
249
|
+
- **double jump.tokyo** - Blockchain gaming pioneers
|
|
250
|
+
- **Netmarble**, **Com2uS**, **Wemade** - Leading game developers
|
|
251
|
+
|
|
252
|
+
### Staking
|
|
253
|
+
|
|
254
|
+
- **Minimum Validator Stake**: 10,000,000 OAS
|
|
255
|
+
- **Minimum Delegation**: 1 OAS
|
|
256
|
+
- **Epoch Duration**: ~24 hours (5,760 blocks)
|
|
257
|
+
- **Unbonding Period**: 10 epochs
|
|
258
|
+
- **Default Commission**: 10%
|
|
259
|
+
|
|
260
|
+
### Bridging
|
|
261
|
+
|
|
262
|
+
- **Deposit Time**: ~15 minutes (64 Hub confirmations)
|
|
263
|
+
- **Withdrawal Time**: 7 days (challenge period)
|
|
264
|
+
- **Minimum Amount**: 0.001 OAS
|
|
265
|
+
- **Maximum Amount**: 100,000 OAS per transaction
|
|
266
|
+
|
|
267
|
+
## Networks
|
|
268
|
+
|
|
269
|
+
### Hub (Layer 1)
|
|
270
|
+
|
|
271
|
+
| Network | Chain ID | RPC URL |
|
|
272
|
+
|---------|----------|---------|
|
|
273
|
+
| Mainnet | 248 | https://rpc.mainnet.oasys.games |
|
|
274
|
+
| Testnet | 9372 | https://rpc.testnet.oasys.games |
|
|
275
|
+
|
|
276
|
+
### Available Verses (Layer 2)
|
|
277
|
+
|
|
278
|
+
| Verse | Chain ID | Features |
|
|
279
|
+
|-------|----------|----------|
|
|
280
|
+
| HOME Verse | 19011 | Official Oasys Verse, Gasless |
|
|
281
|
+
| MCH Verse | 29548 | My Crypto Heroes, Gasless |
|
|
282
|
+
| TCG Verse | 2400 | Trading Card Games, Gasless |
|
|
283
|
+
| Saakuru Verse | 7225878 | Saakuru Games |
|
|
284
|
+
| Chain Verse | 5555 | Chain Games |
|
|
285
|
+
| DeFi Verse | 16116 | DeFi Applications |
|
|
286
|
+
| Yooldo Verse | 50006 | Yooldo Games |
|
|
287
|
+
| GEEK Verse | 75512 | GEEK Games |
|
|
288
|
+
|
|
289
|
+
## Error Handling
|
|
290
|
+
|
|
291
|
+
The node provides detailed error messages for common issues:
|
|
292
|
+
|
|
293
|
+
| Error | Cause | Solution |
|
|
294
|
+
|-------|-------|----------|
|
|
295
|
+
| `INSUFFICIENT_FUNDS` | Not enough OAS for transaction | Add more OAS to your wallet |
|
|
296
|
+
| `INVALID_ADDRESS` | Malformed Ethereum address | Check address format (0x...) |
|
|
297
|
+
| `BRIDGE_LIMIT_EXCEEDED` | Amount exceeds bridge limits | Reduce amount or split transaction |
|
|
298
|
+
| `VALIDATOR_NOT_FOUND` | Invalid validator address | Verify validator is active |
|
|
299
|
+
| `NETWORK_ERROR` | RPC connection failed | Check network and RPC URL |
|
|
300
|
+
|
|
301
|
+
## Security Best Practices
|
|
302
|
+
|
|
303
|
+
1. **Never share private keys** - Store securely in n8n credentials
|
|
304
|
+
2. **Use test wallets** - Test operations with small amounts first
|
|
305
|
+
3. **Verify addresses** - Double-check all addresses before transactions
|
|
306
|
+
4. **Monitor bridge operations** - Track deposits and withdrawals
|
|
307
|
+
5. **Use gasless Verses** - Leverage Verse L2 for free transactions
|
|
308
|
+
|
|
309
|
+
## Development
|
|
310
|
+
|
|
311
|
+
### Build Commands
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
# Install dependencies
|
|
315
|
+
npm install
|
|
316
|
+
|
|
317
|
+
# Build the project
|
|
318
|
+
npm run build
|
|
319
|
+
|
|
320
|
+
# Development mode (watch)
|
|
321
|
+
npm run dev
|
|
322
|
+
|
|
323
|
+
# Run linting
|
|
324
|
+
npm run lint
|
|
325
|
+
|
|
326
|
+
# Fix linting issues
|
|
327
|
+
npm run lint:fix
|
|
328
|
+
|
|
329
|
+
# Run tests
|
|
330
|
+
npm test
|
|
331
|
+
|
|
332
|
+
# Run tests with coverage
|
|
333
|
+
npm run test:coverage
|
|
334
|
+
|
|
335
|
+
# Format code
|
|
336
|
+
npm run format
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Project Structure
|
|
340
|
+
|
|
341
|
+
```
|
|
342
|
+
n8n-nodes-oasys/
|
|
343
|
+
├── credentials/
|
|
344
|
+
│ ├── OasysNetwork.credentials.ts
|
|
345
|
+
│ ├── OasysApi.credentials.ts
|
|
346
|
+
│ └── VerseCredentials.credentials.ts
|
|
347
|
+
├── nodes/
|
|
348
|
+
│ └── Oasys/
|
|
349
|
+
│ ├── Oasys.node.ts
|
|
350
|
+
│ ├── OasysTrigger.node.ts
|
|
351
|
+
│ ├── oasys.svg
|
|
352
|
+
│ ├── constants/
|
|
353
|
+
│ │ ├── networks.ts
|
|
354
|
+
│ │ ├── verses.ts
|
|
355
|
+
│ │ ├── contracts.ts
|
|
356
|
+
│ │ ├── validators.ts
|
|
357
|
+
│ │ └── partners.ts
|
|
358
|
+
│ ├── transport/
|
|
359
|
+
│ │ ├── hubClient.ts
|
|
360
|
+
│ │ ├── verseClient.ts
|
|
361
|
+
│ │ ├── bridgeClient.ts
|
|
362
|
+
│ │ └── apiClient.ts
|
|
363
|
+
│ └── utils/
|
|
364
|
+
│ ├── unitConverter.ts
|
|
365
|
+
│ ├── layerUtils.ts
|
|
366
|
+
│ ├── bridgeUtils.ts
|
|
367
|
+
│ └── validatorUtils.ts
|
|
368
|
+
├── test/
|
|
369
|
+
│ ├── unit/
|
|
370
|
+
│ └── integration/
|
|
371
|
+
├── scripts/
|
|
372
|
+
│ ├── test.sh
|
|
373
|
+
│ ├── build.sh
|
|
374
|
+
│ └── install-local.sh
|
|
375
|
+
├── package.json
|
|
376
|
+
├── tsconfig.json
|
|
377
|
+
├── LICENSE
|
|
378
|
+
├── COMMERCIAL_LICENSE.md
|
|
379
|
+
├── LICENSING_FAQ.md
|
|
380
|
+
└── README.md
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
## Author
|
|
384
|
+
|
|
385
|
+
**Velocity BPA**
|
|
386
|
+
- Website: [velobpa.com](https://velobpa.com)
|
|
387
|
+
- GitHub: [Velocity-BPA](https://github.com/Velocity-BPA)
|
|
388
|
+
|
|
389
|
+
## Licensing
|
|
390
|
+
|
|
391
|
+
This n8n community node is licensed under the **Business Source License 1.1**.
|
|
392
|
+
|
|
393
|
+
### Free Use
|
|
394
|
+
Permitted for personal, educational, research, and internal business use.
|
|
395
|
+
|
|
396
|
+
### Commercial Use
|
|
397
|
+
Use of this node within any SaaS, PaaS, hosted platform, managed service, or paid automation offering requires a commercial license.
|
|
398
|
+
|
|
399
|
+
For licensing inquiries:
|
|
400
|
+
**licensing@velobpa.com**
|
|
401
|
+
|
|
402
|
+
See [LICENSE](LICENSE), [COMMERCIAL_LICENSE.md](COMMERCIAL_LICENSE.md), and [LICENSING_FAQ.md](LICENSING_FAQ.md) for details.
|
|
403
|
+
|
|
404
|
+
## Contributing
|
|
405
|
+
|
|
406
|
+
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
|
|
407
|
+
|
|
408
|
+
1. Fork the repository
|
|
409
|
+
2. Create a feature branch
|
|
410
|
+
3. Make your changes
|
|
411
|
+
4. Run tests: `npm test`
|
|
412
|
+
5. Submit a pull request
|
|
413
|
+
|
|
414
|
+
## Support
|
|
415
|
+
|
|
416
|
+
- **Issues**: [GitHub Issues](https://github.com/Velocity-BPA/n8n-nodes-oasys/issues)
|
|
417
|
+
- **Documentation**: [Oasys Docs](https://docs.oasys.games)
|
|
418
|
+
- **Licensing**: [licensing@velobpa.com](mailto:licensing@velobpa.com)
|
|
419
|
+
|
|
420
|
+
## Acknowledgments
|
|
421
|
+
|
|
422
|
+
- [Oasys](https://oasys.games) - For building the gaming-focused blockchain
|
|
423
|
+
- [n8n](https://n8n.io) - For the workflow automation platform
|
|
424
|
+
- SEGA, Bandai Namco, Ubisoft - For pioneering blockchain gaming adoption
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
/**
|
|
3
|
+
* Oasys API Credentials
|
|
4
|
+
*
|
|
5
|
+
* Used for accessing Oasys REST APIs, Explorer APIs, and other services.
|
|
6
|
+
* These credentials provide access to:
|
|
7
|
+
* - Block Explorer APIs
|
|
8
|
+
* - Gaming APIs
|
|
9
|
+
* - Partner APIs
|
|
10
|
+
* - Statistics and Analytics
|
|
11
|
+
*/
|
|
12
|
+
export declare class OasysApi implements ICredentialType {
|
|
13
|
+
name: string;
|
|
14
|
+
displayName: string;
|
|
15
|
+
documentationUrl: string;
|
|
16
|
+
properties: INodeProperties[];
|
|
17
|
+
authenticate: IAuthenticateGeneric;
|
|
18
|
+
test: ICredentialTestRequest;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=OasysApi.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OasysApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/OasysApi.credentials.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;GASG;AACH,qBAAa,QAAS,YAAW,eAAe;IAC/C,IAAI,SAAc;IAClB,WAAW,SAAe;IAC1B,gBAAgB,SAA+B;IAE/C,UAAU,EAAE,eAAe,EAAE,CAuE3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAM1B;CACF"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OasysApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Oasys API Credentials
|
|
6
|
+
*
|
|
7
|
+
* Used for accessing Oasys REST APIs, Explorer APIs, and other services.
|
|
8
|
+
* These credentials provide access to:
|
|
9
|
+
* - Block Explorer APIs
|
|
10
|
+
* - Gaming APIs
|
|
11
|
+
* - Partner APIs
|
|
12
|
+
* - Statistics and Analytics
|
|
13
|
+
*/
|
|
14
|
+
class OasysApi {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.name = 'oasysApi';
|
|
17
|
+
this.displayName = 'Oasys API';
|
|
18
|
+
this.documentationUrl = 'https://docs.oasys.games/';
|
|
19
|
+
this.properties = [
|
|
20
|
+
{
|
|
21
|
+
displayName: 'Hub Explorer API URL',
|
|
22
|
+
name: 'hubExplorerUrl',
|
|
23
|
+
type: 'string',
|
|
24
|
+
default: 'https://explorer.oasys.games/api',
|
|
25
|
+
description: 'Oasys Hub Block Explorer API endpoint',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
displayName: 'Hub Explorer API Key',
|
|
29
|
+
name: 'hubExplorerApiKey',
|
|
30
|
+
type: 'string',
|
|
31
|
+
typeOptions: {
|
|
32
|
+
password: true,
|
|
33
|
+
},
|
|
34
|
+
default: '',
|
|
35
|
+
description: 'API key for Hub Explorer (optional for basic queries)',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
displayName: 'Verse Explorer API URL',
|
|
39
|
+
name: 'verseExplorerUrl',
|
|
40
|
+
type: 'string',
|
|
41
|
+
default: 'https://scan.oasys.games/api',
|
|
42
|
+
description: 'Oasys Verse Block Explorer API endpoint',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
displayName: 'Verse Explorer API Key',
|
|
46
|
+
name: 'verseExplorerApiKey',
|
|
47
|
+
type: 'string',
|
|
48
|
+
typeOptions: {
|
|
49
|
+
password: true,
|
|
50
|
+
},
|
|
51
|
+
default: '',
|
|
52
|
+
description: 'API key for Verse Explorer (optional for basic queries)',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
displayName: 'Gaming API URL',
|
|
56
|
+
name: 'gamingApiUrl',
|
|
57
|
+
type: 'string',
|
|
58
|
+
default: '',
|
|
59
|
+
placeholder: 'https://api.game.oasys.games',
|
|
60
|
+
description: 'Gaming platform API endpoint',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
displayName: 'Gaming API Key',
|
|
64
|
+
name: 'gamingApiKey',
|
|
65
|
+
type: 'string',
|
|
66
|
+
typeOptions: {
|
|
67
|
+
password: true,
|
|
68
|
+
},
|
|
69
|
+
default: '',
|
|
70
|
+
description: 'API key for Gaming platform access',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
displayName: 'Partner API URL',
|
|
74
|
+
name: 'partnerApiUrl',
|
|
75
|
+
type: 'string',
|
|
76
|
+
default: '',
|
|
77
|
+
placeholder: 'https://partner-api.oasys.games',
|
|
78
|
+
description: 'Partner API endpoint for game studios',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
displayName: 'Partner API Key',
|
|
82
|
+
name: 'partnerApiKey',
|
|
83
|
+
type: 'string',
|
|
84
|
+
typeOptions: {
|
|
85
|
+
password: true,
|
|
86
|
+
},
|
|
87
|
+
default: '',
|
|
88
|
+
description: 'API key for Partner access',
|
|
89
|
+
},
|
|
90
|
+
];
|
|
91
|
+
this.authenticate = {
|
|
92
|
+
type: 'generic',
|
|
93
|
+
properties: {
|
|
94
|
+
headers: {
|
|
95
|
+
'X-API-Key': '={{$credentials.hubExplorerApiKey}}',
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
this.test = {
|
|
100
|
+
request: {
|
|
101
|
+
baseURL: '={{$credentials.hubExplorerUrl}}',
|
|
102
|
+
url: '?module=stats&action=tokensupply',
|
|
103
|
+
method: 'GET',
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.OasysApi = OasysApi;
|
|
109
|
+
//# sourceMappingURL=OasysApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OasysApi.credentials.js","sourceRoot":"","sources":["../../credentials/OasysApi.credentials.ts"],"names":[],"mappings":";;;AAaA;;;;;;;;;GASG;AACH,MAAa,QAAQ;IAArB;QACC,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,WAAW,CAAC;QAC1B,qBAAgB,GAAG,2BAA2B,CAAC;QAE/C,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,kCAAkC;gBAC3C,WAAW,EAAE,uCAAuC;aACpD;YACD;gBACC,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,uDAAuD;aACpE;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8BAA8B;gBACvC,WAAW,EAAE,yCAAyC;aACtD;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,yDAAyD;aACtE;YACD;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,8BAA8B;gBAC3C,WAAW,EAAE,8BAA8B;aAC3C;YACD;gBACC,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,oCAAoC;aACjD;YACD;gBACC,WAAW,EAAE,iBAAiB;gBAC9B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EAAE,uCAAuC;aACpD;YACD;gBACC,WAAW,EAAE,iBAAiB;gBAC9B,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,4BAA4B;aACzC;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,qCAAqC;iBAClD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,kCAAkC;gBAC3C,GAAG,EAAE,kCAAkC;gBACvC,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA9FD,4BA8FC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
/**
|
|
3
|
+
* Oasys Network Credentials
|
|
4
|
+
*
|
|
5
|
+
* Oasys uses a two-layer architecture:
|
|
6
|
+
* - Hub (Layer 1): The main PoS chain for security and staking
|
|
7
|
+
* - Verse (Layer 2): Gaming-optimized rollup chains with gasless transactions
|
|
8
|
+
*
|
|
9
|
+
* This credential supports connecting to both layers and their testnets.
|
|
10
|
+
*/
|
|
11
|
+
export declare class OasysNetwork implements ICredentialType {
|
|
12
|
+
name: string;
|
|
13
|
+
displayName: string;
|
|
14
|
+
documentationUrl: string;
|
|
15
|
+
properties: INodeProperties[];
|
|
16
|
+
authenticate: IAuthenticateGeneric;
|
|
17
|
+
test: ICredentialTestRequest;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=OasysNetwork.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OasysNetwork.credentials.d.ts","sourceRoot":"","sources":["../../credentials/OasysNetwork.credentials.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,eAAe;IACnD,IAAI,SAAkB;IACtB,WAAW,SAAmB;IAC9B,gBAAgB,SAA+B;IAE/C,UAAU,EAAE,eAAe,EAAE,CAgK3B;IAEF,YAAY,EAAE,oBAAoB,CAGhC;IAEF,IAAI,EAAE,sBAAsB,CAc1B;CACF"}
|