irys-complete-toolkit
Version:
Complete Irys SDK toolkit supporting all chains, tokens, and features
205 lines (204 loc) • 5.76 kB
JavaScript
"use strict";
/**
* Irys Toolkit Types
* Complete type definitions for all Irys functionality
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetworkError = exports.InsufficientFundsError = exports.IrysError = exports.SUPPORTED_TOKENS = void 0;
exports.SUPPORTED_TOKENS = {
ethereum: {
name: 'Ethereum',
symbol: 'ETH',
blockchain: 'Ethereum',
parameterValue: 'ethereum',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Ethereum'
},
polygon: {
name: 'Polygon',
symbol: 'MATIC',
blockchain: 'Polygon',
parameterValue: 'matic',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Matic'
},
solana: {
name: 'Solana',
symbol: 'SOL',
blockchain: 'Solana',
parameterValue: 'solana',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-solana',
className: 'Solana'
},
aptos: {
name: 'Aptos',
symbol: 'APT',
blockchain: 'Aptos',
parameterValue: 'aptos',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-aptos',
className: 'Aptos'
},
arbitrum: {
name: 'Arbitrum',
symbol: 'ETH',
blockchain: 'Arbitrum',
parameterValue: 'arbitrum',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Arbitrum'
},
avalanche: {
name: 'Avalanche C-Chain',
symbol: 'AVAX',
blockchain: 'Avalanche C-Chain',
parameterValue: 'avalanche',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Avalanche'
},
bnb: {
name: 'Binance Coin',
symbol: 'BNB',
blockchain: 'Binance Coin',
parameterValue: 'bnb',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'BNB'
},
bera: {
name: 'Berachain',
symbol: 'BERA',
blockchain: 'Berachain',
parameterValue: 'bera',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Bera'
},
chainlink: {
name: 'Chainlink',
symbol: 'LINK',
blockchain: 'Chainlink',
parameterValue: 'chainlink',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Chainlink'
},
'base-eth': {
name: 'Base Ethereum',
symbol: 'ETH',
blockchain: 'Base Ethereum',
parameterValue: 'base-eth',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'BaseEth'
},
'linea-eth': {
name: 'Linea Ethereum',
symbol: 'ETH',
blockchain: 'Linea Ethereum',
parameterValue: 'linea-eth',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'LineaEth'
},
'scroll-eth': {
name: 'Scroll Ethereum',
symbol: 'ETH',
blockchain: 'Scroll Ethereum',
parameterValue: 'scroll-eth',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'ScrollEth'
},
iotex: {
name: 'IoTeX',
symbol: 'IoTeX',
blockchain: 'IoTeX',
parameterValue: 'iotex',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Iotex'
},
near: {
name: 'Near',
symbol: 'NEAR',
blockchain: 'Near',
parameterValue: 'near',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'Near'
},
'usdc-eth': {
name: 'USDC (on Ethereum)',
symbol: 'USDC',
blockchain: 'USDC (on Ethereum)',
parameterValue: 'usdc-eth',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'USDCEth'
},
'usdc-polygon': {
name: 'USDC (on Polygon)',
symbol: 'USDC',
blockchain: 'USDC (on Polygon)',
parameterValue: 'usdc-polygon',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-ethereum',
className: 'USDCPolygon'
},
'usdc-solana': {
name: 'USDC (on Solana)',
symbol: 'USDC',
blockchain: 'USDC (on Solana)',
parameterValue: 'usdc-solana',
nodeSupport: true,
browserSupport: true,
packageName: '@irys/upload-solana',
className: 'USDCSolana'
}
};
// Error types
class IrysError extends Error {
constructor(message, code, details) {
super(message);
this.code = code;
this.details = details;
this.name = 'IrysError';
}
}
exports.IrysError = IrysError;
class InsufficientFundsError extends IrysError {
constructor(required, available) {
super(`Insufficient funds. Required: ${required}, Available: ${available}`);
this.name = 'InsufficientFundsError';
}
}
exports.InsufficientFundsError = InsufficientFundsError;
class NetworkError extends IrysError {
constructor(message, statusCode) {
super(message);
this.statusCode = statusCode;
this.name = 'NetworkError';
}
}
exports.NetworkError = NetworkError;