n8n-nodes-linea 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/COMMERCIAL_LICENSE.md +31 -0
- package/LICENSE +46 -0
- package/LICENSING_FAQ.md +18 -0
- package/README.md +267 -0
- package/dist/credentials/LineaApi.credentials.d.ts +16 -0
- package/dist/credentials/LineaApi.credentials.d.ts.map +1 -0
- package/dist/credentials/LineaApi.credentials.js +116 -0
- package/dist/credentials/LineaApi.credentials.js.map +1 -0
- package/dist/credentials/LineaNetwork.credentials.d.ts +16 -0
- package/dist/credentials/LineaNetwork.credentials.d.ts.map +1 -0
- package/dist/credentials/LineaNetwork.credentials.js +146 -0
- package/dist/credentials/LineaNetwork.credentials.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/nodes/Linea/Linea.node.d.ts +18 -0
- package/dist/nodes/Linea/Linea.node.d.ts.map +1 -0
- package/dist/nodes/Linea/Linea.node.js +1376 -0
- package/dist/nodes/Linea/Linea.node.js.map +1 -0
- package/dist/nodes/Linea/LineaTrigger.node.d.ts +18 -0
- package/dist/nodes/Linea/LineaTrigger.node.d.ts.map +1 -0
- package/dist/nodes/Linea/LineaTrigger.node.js +448 -0
- package/dist/nodes/Linea/LineaTrigger.node.js.map +1 -0
- package/dist/nodes/Linea/actions/account/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/account/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/account/index.js +160 -0
- package/dist/nodes/Linea/actions/account/index.js.map +1 -0
- package/dist/nodes/Linea/actions/accountAbstraction/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/accountAbstraction/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/accountAbstraction/index.js +165 -0
- package/dist/nodes/Linea/actions/accountAbstraction/index.js.map +1 -0
- package/dist/nodes/Linea/actions/analytics/index.d.ts +10 -0
- package/dist/nodes/Linea/actions/analytics/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/analytics/index.js +202 -0
- package/dist/nodes/Linea/actions/analytics/index.js.map +1 -0
- package/dist/nodes/Linea/actions/attestation/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/attestation/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/attestation/index.js +185 -0
- package/dist/nodes/Linea/actions/attestation/index.js.map +1 -0
- package/dist/nodes/Linea/actions/block/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/block/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/block/index.js +246 -0
- package/dist/nodes/Linea/actions/block/index.js.map +1 -0
- package/dist/nodes/Linea/actions/bridge/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/bridge/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/bridge/index.js +220 -0
- package/dist/nodes/Linea/actions/bridge/index.js.map +1 -0
- package/dist/nodes/Linea/actions/contract/index.d.ts +10 -0
- package/dist/nodes/Linea/actions/contract/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/contract/index.js +305 -0
- package/dist/nodes/Linea/actions/contract/index.js.map +1 -0
- package/dist/nodes/Linea/actions/coordinator/index.d.ts +10 -0
- package/dist/nodes/Linea/actions/coordinator/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/coordinator/index.js +180 -0
- package/dist/nodes/Linea/actions/coordinator/index.js.map +1 -0
- package/dist/nodes/Linea/actions/defi/index.d.ts +10 -0
- package/dist/nodes/Linea/actions/defi/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/defi/index.js +342 -0
- package/dist/nodes/Linea/actions/defi/index.js.map +1 -0
- package/dist/nodes/Linea/actions/event/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/event/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/event/index.js +244 -0
- package/dist/nodes/Linea/actions/event/index.js.map +1 -0
- package/dist/nodes/Linea/actions/gas/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/gas/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/gas/index.js +192 -0
- package/dist/nodes/Linea/actions/gas/index.js.map +1 -0
- package/dist/nodes/Linea/actions/lxp/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/lxp/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/lxp/index.js +118 -0
- package/dist/nodes/Linea/actions/lxp/index.js.map +1 -0
- package/dist/nodes/Linea/actions/messageService/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/messageService/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/messageService/index.js +139 -0
- package/dist/nodes/Linea/actions/messageService/index.js.map +1 -0
- package/dist/nodes/Linea/actions/multicall/index.d.ts +10 -0
- package/dist/nodes/Linea/actions/multicall/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/multicall/index.js +206 -0
- package/dist/nodes/Linea/actions/multicall/index.js.map +1 -0
- package/dist/nodes/Linea/actions/nft/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/nft/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/nft/index.js +311 -0
- package/dist/nodes/Linea/actions/nft/index.js.map +1 -0
- package/dist/nodes/Linea/actions/subgraph/index.d.ts +12 -0
- package/dist/nodes/Linea/actions/subgraph/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/subgraph/index.js +265 -0
- package/dist/nodes/Linea/actions/subgraph/index.js.map +1 -0
- package/dist/nodes/Linea/actions/token/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/token/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/token/index.js +308 -0
- package/dist/nodes/Linea/actions/token/index.js.map +1 -0
- package/dist/nodes/Linea/actions/transaction/index.d.ts +9 -0
- package/dist/nodes/Linea/actions/transaction/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/transaction/index.js +273 -0
- package/dist/nodes/Linea/actions/transaction/index.js.map +1 -0
- package/dist/nodes/Linea/actions/utility/index.d.ts +12 -0
- package/dist/nodes/Linea/actions/utility/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/utility/index.js +329 -0
- package/dist/nodes/Linea/actions/utility/index.js.map +1 -0
- package/dist/nodes/Linea/actions/voyage/index.d.ts +10 -0
- package/dist/nodes/Linea/actions/voyage/index.d.ts.map +1 -0
- package/dist/nodes/Linea/actions/voyage/index.js +276 -0
- package/dist/nodes/Linea/actions/voyage/index.js.map +1 -0
- package/dist/nodes/Linea/constants/bridges.d.ts +156 -0
- package/dist/nodes/Linea/constants/bridges.d.ts.map +1 -0
- package/dist/nodes/Linea/constants/bridges.js +169 -0
- package/dist/nodes/Linea/constants/bridges.js.map +1 -0
- package/dist/nodes/Linea/constants/contracts.d.ts +176 -0
- package/dist/nodes/Linea/constants/contracts.d.ts.map +1 -0
- package/dist/nodes/Linea/constants/contracts.js +236 -0
- package/dist/nodes/Linea/constants/contracts.js.map +1 -0
- package/dist/nodes/Linea/constants/index.d.ts +6 -0
- package/dist/nodes/Linea/constants/index.d.ts.map +1 -0
- package/dist/nodes/Linea/constants/index.js +28 -0
- package/dist/nodes/Linea/constants/index.js.map +1 -0
- package/dist/nodes/Linea/constants/networks.d.ts +72 -0
- package/dist/nodes/Linea/constants/networks.d.ts.map +1 -0
- package/dist/nodes/Linea/constants/networks.js +114 -0
- package/dist/nodes/Linea/constants/networks.js.map +1 -0
- package/dist/nodes/Linea/constants/tokens.d.ts +39 -0
- package/dist/nodes/Linea/constants/tokens.d.ts.map +1 -0
- package/dist/nodes/Linea/constants/tokens.js +162 -0
- package/dist/nodes/Linea/constants/tokens.js.map +1 -0
- package/dist/nodes/Linea/constants/voyage.d.ts +184 -0
- package/dist/nodes/Linea/constants/voyage.d.ts.map +1 -0
- package/dist/nodes/Linea/constants/voyage.js +204 -0
- package/dist/nodes/Linea/constants/voyage.js.map +1 -0
- package/dist/nodes/Linea/linea.svg +23 -0
- package/dist/nodes/Linea/transport/bridgeClient.d.ts +141 -0
- package/dist/nodes/Linea/transport/bridgeClient.d.ts.map +1 -0
- package/dist/nodes/Linea/transport/bridgeClient.js +333 -0
- package/dist/nodes/Linea/transport/bridgeClient.js.map +1 -0
- package/dist/nodes/Linea/transport/lineaClient.d.ts +161 -0
- package/dist/nodes/Linea/transport/lineaClient.d.ts.map +1 -0
- package/dist/nodes/Linea/transport/lineaClient.js +303 -0
- package/dist/nodes/Linea/transport/lineaClient.js.map +1 -0
- package/dist/nodes/Linea/transport/messageClient.d.ts +99 -0
- package/dist/nodes/Linea/transport/messageClient.d.ts.map +1 -0
- package/dist/nodes/Linea/transport/messageClient.js +262 -0
- package/dist/nodes/Linea/transport/messageClient.js.map +1 -0
- package/dist/nodes/Linea/transport/veraxClient.d.ts +99 -0
- package/dist/nodes/Linea/transport/veraxClient.d.ts.map +1 -0
- package/dist/nodes/Linea/transport/veraxClient.js +230 -0
- package/dist/nodes/Linea/transport/veraxClient.js.map +1 -0
- package/dist/nodes/Linea/utils/addressUtils.d.ts +67 -0
- package/dist/nodes/Linea/utils/addressUtils.d.ts.map +1 -0
- package/dist/nodes/Linea/utils/addressUtils.js +158 -0
- package/dist/nodes/Linea/utils/addressUtils.js.map +1 -0
- package/dist/nodes/Linea/utils/bridgeUtils.d.ts +96 -0
- package/dist/nodes/Linea/utils/bridgeUtils.d.ts.map +1 -0
- package/dist/nodes/Linea/utils/bridgeUtils.js +184 -0
- package/dist/nodes/Linea/utils/bridgeUtils.js.map +1 -0
- package/dist/nodes/Linea/utils/encodingUtils.d.ts +118 -0
- package/dist/nodes/Linea/utils/encodingUtils.d.ts.map +1 -0
- package/dist/nodes/Linea/utils/encodingUtils.js +257 -0
- package/dist/nodes/Linea/utils/encodingUtils.js.map +1 -0
- package/dist/nodes/Linea/utils/gasUtils.d.ts +119 -0
- package/dist/nodes/Linea/utils/gasUtils.d.ts.map +1 -0
- package/dist/nodes/Linea/utils/gasUtils.js +192 -0
- package/dist/nodes/Linea/utils/gasUtils.js.map +1 -0
- package/dist/nodes/Linea/utils/index.d.ts +6 -0
- package/dist/nodes/Linea/utils/index.d.ts.map +1 -0
- package/dist/nodes/Linea/utils/index.js +28 -0
- package/dist/nodes/Linea/utils/index.js.map +1 -0
- package/dist/nodes/Linea/utils/messageUtils.d.ts +97 -0
- package/dist/nodes/Linea/utils/messageUtils.d.ts.map +1 -0
- package/dist/nodes/Linea/utils/messageUtils.js +193 -0
- package/dist/nodes/Linea/utils/messageUtils.js.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Commercial License
|
|
2
|
+
|
|
3
|
+
Velocity BPA, LLC offers commercial licenses for its n8n community nodes.
|
|
4
|
+
|
|
5
|
+
## When a Commercial License Is Required
|
|
6
|
+
|
|
7
|
+
A commercial license is required if you:
|
|
8
|
+
- Use this node within a SaaS, PaaS, or hosted platform that is sold or monetized
|
|
9
|
+
- Offer this node as part of a managed services or consulting engagement
|
|
10
|
+
- Bundle or redistribute this node with a paid product
|
|
11
|
+
- Resell, sublicense, or white-label this node
|
|
12
|
+
- Embed this node into a commercial automation or integration platform
|
|
13
|
+
|
|
14
|
+
## What the Commercial License Provides
|
|
15
|
+
|
|
16
|
+
- Legal authorization for commercial deployment
|
|
17
|
+
- Organization-wide usage rights
|
|
18
|
+
- Rights to deploy across multiple environments
|
|
19
|
+
- Optional priority support and maintenance
|
|
20
|
+
- Optional custom development or feature extensions
|
|
21
|
+
|
|
22
|
+
## Licensing Model
|
|
23
|
+
|
|
24
|
+
Licenses are issued on a per-organization basis.
|
|
25
|
+
|
|
26
|
+
Enterprise, OEM, and platform licensing terms are available upon request.
|
|
27
|
+
|
|
28
|
+
## Contact
|
|
29
|
+
|
|
30
|
+
Email: licensing@velobpa.com
|
|
31
|
+
Website: https://velobpa.com
|
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/LICENSING_FAQ.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
## Licensing FAQ
|
|
2
|
+
|
|
3
|
+
### Is internal SaaS infrastructure considered internal use?
|
|
4
|
+
No. If the infrastructure supports a revenue-generating service,
|
|
5
|
+
it is considered commercial use.
|
|
6
|
+
|
|
7
|
+
### What if customers never see the node?
|
|
8
|
+
Visibility is irrelevant. Revenue enablement constitutes commercial use.
|
|
9
|
+
|
|
10
|
+
### What if we are a startup?
|
|
11
|
+
Startups are commercial entities and require a commercial license.
|
|
12
|
+
|
|
13
|
+
### What if we only use one workflow?
|
|
14
|
+
Scope does not change license requirements.
|
|
15
|
+
|
|
16
|
+
### Do proof-of-concepts require a license?
|
|
17
|
+
Internal, non-customer-facing POCs are permitted.
|
|
18
|
+
Production SaaS deployments require a license.
|
package/README.md
ADDED
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
# n8n-nodes-linea
|
|
2
|
+
|
|
3
|
+
Community n8n node for interacting with the Linea blockchain network.
|
|
4
|
+
|
|
5
|
+
## License
|
|
6
|
+
|
|
7
|
+
**SPDX-License-Identifier: BSL-1.1**
|
|
8
|
+
|
|
9
|
+
Copyright (c) 2025 Velocity Business Partners Alliance
|
|
10
|
+
|
|
11
|
+
This software is licensed under the Business Source License 1.1 (BSL 1.1).
|
|
12
|
+
|
|
13
|
+
- **Change Date**: December 30, 2029
|
|
14
|
+
- **Change License**: Apache License, Version 2.0
|
|
15
|
+
|
|
16
|
+
After the Change Date, this software will be available under the Apache 2.0 license.
|
|
17
|
+
|
|
18
|
+
For commercial licensing options before the Change Date, please contact the Licensor.
|
|
19
|
+
|
|
20
|
+
See [LICENSE](./LICENSE), [COMMERCIAL_LICENSE.md](./COMMERCIAL_LICENSE.md), and [LICENSING_FAQ.md](./LICENSING_FAQ.md) for details.
|
|
21
|
+
|
|
22
|
+
## Features
|
|
23
|
+
|
|
24
|
+
### Supported Operations (150+)
|
|
25
|
+
|
|
26
|
+
| Resource | Operations |
|
|
27
|
+
|----------|------------|
|
|
28
|
+
| **Account** | getBalance, getTransactionCount, getCode, getHistory, isContract, getTokenBalances, getENS, getStorageAt, getNonce |
|
|
29
|
+
| **Transaction** | getTransaction, getReceipt, wait, send, sendETH, estimateGas, getGasPrice, getMaxPriorityFee, getL1Fee, getPending, decode, cancel, speedUp, getByBlock, getRaw |
|
|
30
|
+
| **Token** | getBalance, getTokenInfo, getAllowance, transfer, approve, transferFrom, getTransferEvents, getKnownTokens, lookupToken, getTotalSupply |
|
|
31
|
+
| **NFT** | getOwner, getBalance, getTokenURI, getApproved, isApprovedForAll, transfer, approve, setApprovalForAll |
|
|
32
|
+
| **Contract** | call, execute, getCode, getStorageAt, getABI, getSourceCode, verify, deploy, estimateGas, encodeFunction, decodeFunction, getCreationInfo |
|
|
33
|
+
| **Block** | getBlock, getLatestBlock, getBlockNumber, getBlockRange, getBlockTransactionCount, getBlockByTimestamp, getBlockReward, getBlockCountdown, getBlocksPerDay |
|
|
34
|
+
| **Event** | getLogs, getEventsBySignature, decodeEvent, watchEvents, getTransferEvents, encodeEventTopic |
|
|
35
|
+
| **Bridge** | depositETH, withdrawETH, depositToken, withdrawToken, getStatus, getDepositStatus, getWithdrawalStatus, claimWithdrawal, getMessageProof, estimateFee, getTransactions, getEstimatedTime, getTokenMapping, getBridgeContracts |
|
|
36
|
+
| **Message Service** | sendMessage, createL1Message, claimMessage, getStatus, getPendingMessages, getMinimumFee, computeMessageHash, canClaimMessage |
|
|
37
|
+
| **Coordinator** | getStatus, getFinalizationStatus, getProofStatus, getConflationInfo, getSequencerStatus, getL1DataCost, getNetworkMetrics |
|
|
38
|
+
| **Gas** | estimateGas, getGasPrice, getGasPriceTiers, estimateL1DataFee, estimateTotalFee, getBaseFee, getL1GasPrice, getDefaultGasLimits, calculateTransactionCost, getGasHistory |
|
|
39
|
+
| **DeFi** | getQuote, swap, getDexList, getLendingProtocols, getPoolInfo, getTokenPrice, getTVL, getProtocolTVL, getYieldOpportunities |
|
|
40
|
+
| **Voyage** | getXP, getTasks, getTaskStatus, getLeaderboard, getStats, getTaskCategories, getXPTiers |
|
|
41
|
+
| **LXP** | getBalance, getTokenInfo, getTotalSupply, getTierForBalance, checkEligibility |
|
|
42
|
+
| **Account Abstraction** | getNonce, getDeposit, getDepositInfo, deposit, withdraw, computeAccountAddress, createAccount, getUserOpHash, getEntryPointAddress |
|
|
43
|
+
| **Multicall** | aggregate, tryAggregate, blockAndAggregate, getEthBalance |
|
|
44
|
+
| **Attestation** | createAttestation, getAttestation, getAttestationBySchema, revokeAttestation, createSchema, getSchema, verifyAttestation |
|
|
45
|
+
| **Analytics** | getNetworkStats, getTransactionVolume, getActiveAddresses, getGasAnalytics, getTopContracts, getTopTokens, getDeFiStats, getBridgeStats, getHistoricalData, compareNetworks |
|
|
46
|
+
| **Subgraph** | query, getSchema, getEntities, subscribe |
|
|
47
|
+
| **Utility** | checksumAddress, isValidAddress, toWei, fromWei, encodeABI, decodeABI, keccak256, signMessage, verifySignature, generateWallet |
|
|
48
|
+
|
|
49
|
+
### Trigger Node
|
|
50
|
+
|
|
51
|
+
The **Linea Trigger** node supports real-time event monitoring:
|
|
52
|
+
|
|
53
|
+
- New Block
|
|
54
|
+
- Pending Transaction
|
|
55
|
+
- Contract Event (custom events)
|
|
56
|
+
- ERC20 Transfer
|
|
57
|
+
- ERC721 Transfer
|
|
58
|
+
- Address Activity
|
|
59
|
+
|
|
60
|
+
## Installation
|
|
61
|
+
|
|
62
|
+
### From npm (recommended)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npm install n8n-nodes-linea
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Local Development
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Clone the repository
|
|
72
|
+
git clone https://github.com/your-org/n8n-nodes-linea.git
|
|
73
|
+
cd n8n-nodes-linea
|
|
74
|
+
|
|
75
|
+
# Install dependencies
|
|
76
|
+
npm install
|
|
77
|
+
|
|
78
|
+
# Build the project
|
|
79
|
+
npm run build
|
|
80
|
+
|
|
81
|
+
# Link for local n8n development
|
|
82
|
+
npm link
|
|
83
|
+
cd ~/.n8n
|
|
84
|
+
npm link n8n-nodes-linea
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Configuration
|
|
88
|
+
|
|
89
|
+
### Linea Network Credentials
|
|
90
|
+
|
|
91
|
+
Configure your Linea network connection:
|
|
92
|
+
|
|
93
|
+
| Field | Description |
|
|
94
|
+
|-------|-------------|
|
|
95
|
+
| Network | Select mainnet or Sepolia testnet |
|
|
96
|
+
| Custom RPC URL | Optional custom RPC endpoint |
|
|
97
|
+
| Private Key | For signing transactions (optional) |
|
|
98
|
+
|
|
99
|
+
### Linea API Credentials
|
|
100
|
+
|
|
101
|
+
For enhanced features (Lineascan, analytics):
|
|
102
|
+
|
|
103
|
+
| Field | Description |
|
|
104
|
+
|-------|-------------|
|
|
105
|
+
| API Key | Your Lineascan API key |
|
|
106
|
+
| API URL | Base URL for the API |
|
|
107
|
+
|
|
108
|
+
## Usage Examples
|
|
109
|
+
|
|
110
|
+
### Get Account Balance
|
|
111
|
+
|
|
112
|
+
```javascript
|
|
113
|
+
// Node configuration
|
|
114
|
+
{
|
|
115
|
+
"resource": "account",
|
|
116
|
+
"operation": "getBalance",
|
|
117
|
+
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f..."
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Send ETH
|
|
122
|
+
|
|
123
|
+
```javascript
|
|
124
|
+
// Node configuration
|
|
125
|
+
{
|
|
126
|
+
"resource": "transaction",
|
|
127
|
+
"operation": "sendETH",
|
|
128
|
+
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f...",
|
|
129
|
+
"amount": "0.1" // ETH
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Bridge ETH to L1
|
|
134
|
+
|
|
135
|
+
```javascript
|
|
136
|
+
// Node configuration
|
|
137
|
+
{
|
|
138
|
+
"resource": "bridge",
|
|
139
|
+
"operation": "withdrawETH",
|
|
140
|
+
"amount": "1.0" // ETH
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Monitor ERC20 Transfers (Trigger)
|
|
145
|
+
|
|
146
|
+
```javascript
|
|
147
|
+
// Trigger configuration
|
|
148
|
+
{
|
|
149
|
+
"event": "erc20Transfer",
|
|
150
|
+
"contractAddress": "0xA219439258ca9da29E9Cc4cE5596924745e12B93", // USDC on Linea
|
|
151
|
+
"toAddress": "0xYourAddress..." // Filter to your address
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Query Subgraph
|
|
156
|
+
|
|
157
|
+
```javascript
|
|
158
|
+
// Node configuration
|
|
159
|
+
{
|
|
160
|
+
"resource": "subgraph",
|
|
161
|
+
"operation": "query",
|
|
162
|
+
"subgraphUrl": "https://api.studio.thegraph.com/query/...",
|
|
163
|
+
"query": "{ pairs(first: 10) { id token0 { symbol } token1 { symbol } } }"
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Linea-Specific Features
|
|
168
|
+
|
|
169
|
+
### L1 Data Fees
|
|
170
|
+
|
|
171
|
+
Linea, as a zkEVM L2, charges L1 data fees in addition to L2 execution fees. This node automatically calculates total fees:
|
|
172
|
+
|
|
173
|
+
```javascript
|
|
174
|
+
// Node configuration
|
|
175
|
+
{
|
|
176
|
+
"resource": "gas",
|
|
177
|
+
"operation": "estimateTotalFee",
|
|
178
|
+
"to": "0x...",
|
|
179
|
+
"data": "0x..."
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### ZK Proof Finalization
|
|
184
|
+
|
|
185
|
+
L2→L1 withdrawals require ZK proof finalization (8-16 hours):
|
|
186
|
+
|
|
187
|
+
```javascript
|
|
188
|
+
// Check withdrawal status
|
|
189
|
+
{
|
|
190
|
+
"resource": "bridge",
|
|
191
|
+
"operation": "getWithdrawalStatus",
|
|
192
|
+
"transactionHash": "0x..."
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Linea Voyage & LXP
|
|
197
|
+
|
|
198
|
+
Track Linea Voyage XP and tasks:
|
|
199
|
+
|
|
200
|
+
```javascript
|
|
201
|
+
// Get Voyage XP
|
|
202
|
+
{
|
|
203
|
+
"resource": "voyage",
|
|
204
|
+
"operation": "getXP",
|
|
205
|
+
"address": "0x..."
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Get LXP balance
|
|
209
|
+
{
|
|
210
|
+
"resource": "lxp",
|
|
211
|
+
"operation": "getBalance",
|
|
212
|
+
"address": "0x..."
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Supported Networks
|
|
217
|
+
|
|
218
|
+
| Network | Chain ID | RPC URL |
|
|
219
|
+
|---------|----------|---------|
|
|
220
|
+
| Linea Mainnet | 59144 | https://rpc.linea.build |
|
|
221
|
+
| Linea Sepolia | 59141 | https://rpc.sepolia.linea.build |
|
|
222
|
+
|
|
223
|
+
## API Integrations
|
|
224
|
+
|
|
225
|
+
- **Lineascan API**: Block explorer data, contract verification
|
|
226
|
+
- **DeFi Llama API**: Token prices, TVL, yield data
|
|
227
|
+
- **The Graph**: Subgraph queries
|
|
228
|
+
- **Verax**: Attestation registry
|
|
229
|
+
|
|
230
|
+
## Development
|
|
231
|
+
|
|
232
|
+
### Build
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
npm run build
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Test
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
npm test
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Lint
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
npm run lint
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Support
|
|
251
|
+
|
|
252
|
+
For issues and feature requests, please open an issue on GitHub.
|
|
253
|
+
|
|
254
|
+
## Contributing
|
|
255
|
+
|
|
256
|
+
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
|
|
257
|
+
|
|
258
|
+
## Changelog
|
|
259
|
+
|
|
260
|
+
### v1.0.0
|
|
261
|
+
|
|
262
|
+
- Initial release with 150+ operations
|
|
263
|
+
- Trigger node for event monitoring
|
|
264
|
+
- Full bridge support
|
|
265
|
+
- DeFi integrations
|
|
266
|
+
- Voyage/LXP tracking
|
|
267
|
+
- Account abstraction (ERC-4337)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
/**
|
|
3
|
+
* Linea API Credentials
|
|
4
|
+
*
|
|
5
|
+
* Provides API credentials for Linea ecosystem services including
|
|
6
|
+
* Lineascan block explorer, Bridge API, and Subgraph endpoints.
|
|
7
|
+
*/
|
|
8
|
+
export declare class LineaApi implements ICredentialType {
|
|
9
|
+
name: string;
|
|
10
|
+
displayName: string;
|
|
11
|
+
documentationUrl: string;
|
|
12
|
+
properties: INodeProperties[];
|
|
13
|
+
authenticate: IAuthenticateGeneric;
|
|
14
|
+
test: ICredentialTestRequest;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=LineaApi.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineaApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/LineaApi.credentials.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,QAAS,YAAW,eAAe;IAC9C,IAAI,SAAc;IAClB,WAAW,SAAe;IAC1B,gBAAgB,SAA+B;IAC/C,UAAU,EAAE,eAAe,EAAE,CA8E3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAW1B;CACH"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Velocity BPA, LLC
|
|
4
|
+
* Licensed under the Business Source License 1.1
|
|
5
|
+
* Commercial use requires a separate commercial license.
|
|
6
|
+
* See LICENSE file for details.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.LineaApi = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Linea API Credentials
|
|
12
|
+
*
|
|
13
|
+
* Provides API credentials for Linea ecosystem services including
|
|
14
|
+
* Lineascan block explorer, Bridge API, and Subgraph endpoints.
|
|
15
|
+
*/
|
|
16
|
+
class LineaApi {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.name = 'lineaApi';
|
|
19
|
+
this.displayName = 'Linea API';
|
|
20
|
+
this.documentationUrl = 'https://docs.linea.build/';
|
|
21
|
+
this.properties = [
|
|
22
|
+
{
|
|
23
|
+
displayName: 'Network',
|
|
24
|
+
name: 'network',
|
|
25
|
+
type: 'options',
|
|
26
|
+
default: 'mainnet',
|
|
27
|
+
options: [
|
|
28
|
+
{
|
|
29
|
+
name: 'Linea Mainnet',
|
|
30
|
+
value: 'mainnet',
|
|
31
|
+
description: 'Linea production network APIs',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Linea Sepolia Testnet',
|
|
35
|
+
value: 'sepolia',
|
|
36
|
+
description: 'Linea test network APIs',
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
description: 'Select the network for API access',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
displayName: 'Lineascan API Endpoint',
|
|
43
|
+
name: 'lineascanEndpoint',
|
|
44
|
+
type: 'string',
|
|
45
|
+
default: '',
|
|
46
|
+
placeholder: 'https://api.lineascan.build/api',
|
|
47
|
+
description: 'Lineascan API endpoint. Leave empty for default based on network.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
displayName: 'Lineascan API Key',
|
|
51
|
+
name: 'lineascanApiKey',
|
|
52
|
+
type: 'string',
|
|
53
|
+
typeOptions: {
|
|
54
|
+
password: true,
|
|
55
|
+
},
|
|
56
|
+
default: '',
|
|
57
|
+
required: true,
|
|
58
|
+
placeholder: 'Your Lineascan API key',
|
|
59
|
+
description: 'API key for Lineascan block explorer. Get one at https://lineascan.build/myapikey',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
displayName: 'Bridge API Endpoint',
|
|
63
|
+
name: 'bridgeApiEndpoint',
|
|
64
|
+
type: 'string',
|
|
65
|
+
default: '',
|
|
66
|
+
placeholder: 'https://bridge.linea.build/api',
|
|
67
|
+
description: 'Linea Bridge API endpoint for bridge status and transactions',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
displayName: 'Subgraph URL',
|
|
71
|
+
name: 'subgraphUrl',
|
|
72
|
+
type: 'string',
|
|
73
|
+
default: '',
|
|
74
|
+
placeholder: 'https://api.studio.thegraph.com/query/...',
|
|
75
|
+
description: 'The Graph subgraph URL for indexed Linea data queries',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
displayName: 'Voyage API Endpoint',
|
|
79
|
+
name: 'voyageApiEndpoint',
|
|
80
|
+
type: 'string',
|
|
81
|
+
default: '',
|
|
82
|
+
placeholder: 'https://voyage.linea.build/api',
|
|
83
|
+
description: 'Linea Voyage API endpoint for XP and task tracking',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
displayName: 'Verax API Endpoint',
|
|
87
|
+
name: 'veraxApiEndpoint',
|
|
88
|
+
type: 'string',
|
|
89
|
+
default: '',
|
|
90
|
+
placeholder: 'https://api.verax.dev',
|
|
91
|
+
description: 'Verax attestation registry API endpoint',
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
this.authenticate = {
|
|
95
|
+
type: 'generic',
|
|
96
|
+
properties: {
|
|
97
|
+
qs: {
|
|
98
|
+
apikey: '={{$credentials.lineascanApiKey}}',
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
this.test = {
|
|
103
|
+
request: {
|
|
104
|
+
baseURL: '={{$credentials.network === "mainnet" ? "https://api.lineascan.build/api" : "https://api-sepolia.lineascan.build/api"}}',
|
|
105
|
+
url: '',
|
|
106
|
+
qs: {
|
|
107
|
+
module: 'stats',
|
|
108
|
+
action: 'ethprice',
|
|
109
|
+
apikey: '={{$credentials.lineascanApiKey}}',
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.LineaApi = LineaApi;
|
|
116
|
+
//# sourceMappingURL=LineaApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineaApi.credentials.js","sourceRoot":"","sources":["../../credentials/LineaApi.credentials.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AASH;;;;;GAKG;AACH,MAAa,QAAQ;IAArB;QACE,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,WAAW,CAAC;QAC1B,qBAAgB,GAAG,2BAA2B,CAAC;QAC/C,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,eAAe;wBACrB,KAAK,EAAE,SAAS;wBAChB,WAAW,EAAE,+BAA+B;qBAC7C;oBACD;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,SAAS;wBAChB,WAAW,EAAE,yBAAyB;qBACvC;iBACF;gBACD,WAAW,EAAE,mCAAmC;aACjD;YACD;gBACE,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EACT,mEAAmE;aACtE;YACD;gBACE,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,wBAAwB;gBACrC,WAAW,EACT,mFAAmF;aACtF;YACD;gBACE,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,gCAAgC;gBAC7C,WAAW,EACT,8DAA8D;aACjE;YACD;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,2CAA2C;gBACxD,WAAW,EACT,uDAAuD;aAC1D;YACD;gBACE,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,gCAAgC;gBAC7C,WAAW,EACT,oDAAoD;aACvD;YACD;gBACE,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EACT,yCAAyC;aAC5C;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,MAAM,EAAE,mCAAmC;iBAC5C;aACF;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EACL,yHAAyH;gBAC3H,GAAG,EAAE,EAAE;gBACP,EAAE,EAAE;oBACF,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,mCAAmC;iBAC5C;aACF;SACF,CAAC;IACJ,CAAC;CAAA;AAzGD,4BAyGC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
/**
|
|
3
|
+
* Linea Network Credentials
|
|
4
|
+
*
|
|
5
|
+
* Provides connection credentials for Linea zkEVM blockchain networks.
|
|
6
|
+
* Supports Mainnet, Sepolia Testnet, and custom endpoints.
|
|
7
|
+
*/
|
|
8
|
+
export declare class LineaNetwork implements ICredentialType {
|
|
9
|
+
name: string;
|
|
10
|
+
displayName: string;
|
|
11
|
+
documentationUrl: string;
|
|
12
|
+
properties: INodeProperties[];
|
|
13
|
+
authenticate: IAuthenticateGeneric;
|
|
14
|
+
test: ICredentialTestRequest;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=LineaNetwork.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineaNetwork.credentials.d.ts","sourceRoot":"","sources":["../../credentials/LineaNetwork.credentials.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,eAAe;IAClD,IAAI,SAAkB;IACtB,WAAW,SAAmB;IAC9B,gBAAgB,SAA+B;IAC/C,UAAU,EAAE,eAAe,EAAE,CA4G3B;IAEF,YAAY,EAAE,oBAAoB,CAGhC;IAEF,IAAI,EAAE,sBAAsB,CAc1B;CACH"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) Velocity BPA, LLC
|
|
4
|
+
* Licensed under the Business Source License 1.1
|
|
5
|
+
* Commercial use requires a separate commercial license.
|
|
6
|
+
* See LICENSE file for details.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.LineaNetwork = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Linea Network Credentials
|
|
12
|
+
*
|
|
13
|
+
* Provides connection credentials for Linea zkEVM blockchain networks.
|
|
14
|
+
* Supports Mainnet, Sepolia Testnet, and custom endpoints.
|
|
15
|
+
*/
|
|
16
|
+
class LineaNetwork {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.name = 'lineaNetwork';
|
|
19
|
+
this.displayName = 'Linea Network';
|
|
20
|
+
this.documentationUrl = 'https://docs.linea.build/';
|
|
21
|
+
this.properties = [
|
|
22
|
+
{
|
|
23
|
+
displayName: 'Network',
|
|
24
|
+
name: 'network',
|
|
25
|
+
type: 'options',
|
|
26
|
+
default: 'mainnet',
|
|
27
|
+
options: [
|
|
28
|
+
{
|
|
29
|
+
name: 'Linea Mainnet',
|
|
30
|
+
value: 'mainnet',
|
|
31
|
+
description: 'Linea production network (Chain ID: 59144)',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Linea Sepolia Testnet',
|
|
35
|
+
value: 'sepolia',
|
|
36
|
+
description: 'Linea test network (Chain ID: 59141)',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Custom Endpoint',
|
|
40
|
+
value: 'custom',
|
|
41
|
+
description: 'Use a custom RPC endpoint',
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
description: 'Select the Linea network to connect to',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
displayName: 'RPC Endpoint URL',
|
|
48
|
+
name: 'rpcUrl',
|
|
49
|
+
type: 'string',
|
|
50
|
+
default: '',
|
|
51
|
+
placeholder: 'https://rpc.linea.build',
|
|
52
|
+
description: 'Custom RPC endpoint URL. Leave empty to use default endpoints.',
|
|
53
|
+
displayOptions: {
|
|
54
|
+
show: {
|
|
55
|
+
network: ['custom'],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
displayName: 'Private Key',
|
|
61
|
+
name: 'privateKey',
|
|
62
|
+
type: 'string',
|
|
63
|
+
typeOptions: {
|
|
64
|
+
password: true,
|
|
65
|
+
},
|
|
66
|
+
default: '',
|
|
67
|
+
placeholder: '0x...',
|
|
68
|
+
description: 'Private key for signing transactions (optional for read-only operations). Never share your private key!',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
displayName: 'Chain ID',
|
|
72
|
+
name: 'chainId',
|
|
73
|
+
type: 'number',
|
|
74
|
+
default: 59144,
|
|
75
|
+
description: 'Chain ID (59144 for Mainnet, 59141 for Sepolia). Auto-populated based on network selection.',
|
|
76
|
+
displayOptions: {
|
|
77
|
+
show: {
|
|
78
|
+
network: ['custom'],
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
displayName: 'Lineascan API Key',
|
|
84
|
+
name: 'lineascanApiKey',
|
|
85
|
+
type: 'string',
|
|
86
|
+
typeOptions: {
|
|
87
|
+
password: true,
|
|
88
|
+
},
|
|
89
|
+
default: '',
|
|
90
|
+
placeholder: 'Your Lineascan API key',
|
|
91
|
+
description: 'API key for Lineascan block explorer (optional, for enhanced API access)',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
displayName: 'WebSocket Endpoint',
|
|
95
|
+
name: 'wsUrl',
|
|
96
|
+
type: 'string',
|
|
97
|
+
default: '',
|
|
98
|
+
placeholder: 'wss://rpc.linea.build',
|
|
99
|
+
description: 'WebSocket endpoint for real-time subscriptions (optional)',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
displayName: 'Infura Project ID',
|
|
103
|
+
name: 'infuraProjectId',
|
|
104
|
+
type: 'string',
|
|
105
|
+
typeOptions: {
|
|
106
|
+
password: true,
|
|
107
|
+
},
|
|
108
|
+
default: '',
|
|
109
|
+
placeholder: 'Your Infura Project ID',
|
|
110
|
+
description: 'Infura Project ID for premium RPC access (optional)',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
displayName: 'ConsenSys API Key',
|
|
114
|
+
name: 'consensysApiKey',
|
|
115
|
+
type: 'string',
|
|
116
|
+
typeOptions: {
|
|
117
|
+
password: true,
|
|
118
|
+
},
|
|
119
|
+
default: '',
|
|
120
|
+
placeholder: 'Your ConsenSys API key',
|
|
121
|
+
description: 'ConsenSys API key for enhanced Linea features (optional)',
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
this.authenticate = {
|
|
125
|
+
type: 'generic',
|
|
126
|
+
properties: {},
|
|
127
|
+
};
|
|
128
|
+
this.test = {
|
|
129
|
+
request: {
|
|
130
|
+
baseURL: '={{$credentials.network === "mainnet" ? "https://rpc.linea.build" : $credentials.network === "sepolia" ? "https://rpc.sepolia.linea.build" : $credentials.rpcUrl}}',
|
|
131
|
+
method: 'POST',
|
|
132
|
+
headers: {
|
|
133
|
+
'Content-Type': 'application/json',
|
|
134
|
+
},
|
|
135
|
+
body: JSON.stringify({
|
|
136
|
+
jsonrpc: '2.0',
|
|
137
|
+
method: 'eth_chainId',
|
|
138
|
+
params: [],
|
|
139
|
+
id: 1,
|
|
140
|
+
}),
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.LineaNetwork = LineaNetwork;
|
|
146
|
+
//# sourceMappingURL=LineaNetwork.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineaNetwork.credentials.js","sourceRoot":"","sources":["../../credentials/LineaNetwork.credentials.ts"],"names":[],"mappings":"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"}
|