├── .dockerignore
├── .editorconfig
├── .eslintrc.json
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── README.md
├── docs
│ ├── Application_configurations.md
│ ├── Application_features.md
│ ├── Channel_backups.md
│ ├── Contributing.md
│ ├── Core_lightning_setup.md
│ ├── Eclair_setup.md
│ ├── Multi_node_setup.md
│ ├── RTL_SSL_setup.md
│ ├── RTL_TOR_setup.md
│ ├── RTL_setups.md
│ └── Roadmap.md
├── product management
│ ├── Channels Details.png
│ ├── Channels Lookup.png
│ ├── Channels.png
│ ├── Home Page.png
│ ├── Node Lookup.png
│ ├── Peers.png
│ ├── Start.png
│ ├── Unlock Wallet.png
│ └── roadmap.md
├── screenshots
│ ├── Directions
│ ├── LND-Channel-Management.png
│ ├── LND-Circular-Rebalancing.png
│ ├── LND-Dashboard-Merchant.png
│ ├── LND-Loop-In.png
│ ├── LND-Loop-Out.png
│ ├── Loop-In-info.png
│ ├── Loop-Out-info.png
│ ├── RTL-CLN-Arch-2.png
│ ├── RTL-CLN-Arch-3.png
│ ├── RTL-CLN-Arch.png
│ ├── RTL-CLN-Dashboard.png
│ ├── RTL-CLN-Home.png
│ ├── RTL-ECL-Dashboard.png
│ ├── RTL-LND-Arch-2.png
│ ├── RTL-LND-Arch.png
│ ├── RTL-LND-Dashboard.png
│ ├── RTL_Arch.png
│ ├── RTL_Home.png
│ ├── Settings.png
│ ├── angular-build.jpg
│ ├── angular-server-dev.jpg
│ ├── localhost-ui-dev.jpg
│ └── node-server-dev.jpg
└── workflows
│ ├── checks.yml
│ ├── ci.yml
│ └── docker-release.yml
├── .gitignore
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── Sample-RTL-Config.json
├── angular.json
├── backend
├── controllers
│ ├── cln
│ │ ├── channels.js
│ │ ├── getInfo.js
│ │ ├── invoices.js
│ │ ├── network.js
│ │ ├── offers.js
│ │ ├── onchain.js
│ │ ├── payments.js
│ │ ├── peers.js
│ │ ├── utility.js
│ │ └── webSocketClient.js
│ ├── eclair
│ │ ├── channels.js
│ │ ├── fees.js
│ │ ├── getInfo.js
│ │ ├── invoices.js
│ │ ├── network.js
│ │ ├── onchain.js
│ │ ├── payments.js
│ │ ├── peers.js
│ │ └── webSocketClient.js
│ ├── lnd
│ │ ├── balance.js
│ │ ├── channels.js
│ │ ├── channelsBackup.js
│ │ ├── fees.js
│ │ ├── getInfo.js
│ │ ├── graph.js
│ │ ├── invoices.js
│ │ ├── message.js
│ │ ├── newAddress.js
│ │ ├── payments.js
│ │ ├── peers.js
│ │ ├── switch.js
│ │ ├── transactions.js
│ │ ├── wallet.js
│ │ └── webSocketClient.js
│ └── shared
│ │ ├── RTLConf.js
│ │ ├── authenticate.js
│ │ ├── boltz.js
│ │ ├── loop.js
│ │ └── pageSettings.js
├── models
│ ├── config.model.js
│ ├── database.model.js
│ └── ecl.model.js
├── routes
│ ├── cln
│ │ ├── channels.js
│ │ ├── getInfo.js
│ │ ├── index.js
│ │ ├── invoices.js
│ │ ├── network.js
│ │ ├── offers.js
│ │ ├── onchain.js
│ │ ├── payments.js
│ │ ├── peers.js
│ │ └── utility.js
│ ├── eclair
│ │ ├── channels.js
│ │ ├── fees.js
│ │ ├── getInfo.js
│ │ ├── index.js
│ │ ├── invoices.js
│ │ ├── network.js
│ │ ├── onchain.js
│ │ ├── payments.js
│ │ └── peers.js
│ ├── lnd
│ │ ├── balance.js
│ │ ├── channels.js
│ │ ├── channelsBackup.js
│ │ ├── fees.js
│ │ ├── getInfo.js
│ │ ├── graph.js
│ │ ├── index.js
│ │ ├── invoices.js
│ │ ├── message.js
│ │ ├── newAddress.js
│ │ ├── payments.js
│ │ ├── peers.js
│ │ ├── switch.js
│ │ ├── transactions.js
│ │ └── wallet.js
│ └── shared
│ │ ├── RTLConf.js
│ │ ├── authenticate.js
│ │ ├── boltz.js
│ │ ├── index.js
│ │ ├── loop.js
│ │ └── pageSettings.js
└── utils
│ ├── app.js
│ ├── authCheck.js
│ ├── common.js
│ ├── config.js
│ ├── cors.js
│ ├── csrf.js
│ ├── database.js
│ ├── logger.js
│ └── webSocketServer.js
├── docker
├── .env
├── README.md
├── bin
│ ├── b-cli
│ └── ln-cli
├── bitcoind
│ ├── Dockerfile
│ └── bitcoin.conf
├── docker-compose.yml
└── lnd
│ ├── Dockerfile
│ └── lnd.conf
├── eslint.config.js
├── frontend
├── 17.6fa7154eb6e447e2.js
├── 190.03f035c34a56c8be.js
├── 193.0e1a81316bbc29da.js
├── 3rdpartylicenses.txt
├── 853.50b06a24091d386f.js
├── Roboto-Black.2eaa390d458c877d.woff2
├── Roboto-Black.b25f67ad8583da68.woff
├── Roboto-BlackItalic.7dc03ee444552bc5.woff2
├── Roboto-BlackItalic.c8dc642467cb3099.woff
├── Roboto-Bold.447291a88c067396.woff2
├── Roboto-Bold.fc482e6133cf5e26.woff
├── Roboto-BoldItalic.1b15168ef6fa4e16.woff2
├── Roboto-BoldItalic.e26ba339b06f09f7.woff
├── Roboto-Light.0e01b6cd13b3857f.woff2
├── Roboto-Light.603ca9a537b88428.woff
├── Roboto-LightItalic.1b5e142f787151c8.woff
├── Roboto-LightItalic.232ef4b20215f720.woff2
├── Roboto-Medium.457532032ceb0168.woff2
├── Roboto-Medium.6e1ae5f0b324a0aa.woff
├── Roboto-MediumItalic.872f7060602d55d2.woff2
├── Roboto-MediumItalic.e06fb533801cbb08.woff
├── Roboto-Regular.475ba9e4e2d63456.woff2
├── Roboto-Regular.bcefbfee882bc1cb.woff
├── Roboto-RegularItalic.0668fae6af0cf8c2.woff
├── Roboto-RegularItalic.e3a9ebdaac06bbc4.woff2
├── Roboto-Thin.c13c157cb81e8ebb.woff
├── Roboto-Thin.f7a95c9c5999532c.woff2
├── Roboto-ThinItalic.1111028df6cea564.woff
├── Roboto-ThinItalic.b0e084abf689f393.woff2
├── assets
│ └── images
│ │ ├── RTL-Horse-BY.pdf
│ │ ├── RTL-Horse-BY.svg
│ │ ├── RTL-Horse-Dark-BY.svg
│ │ ├── RTL-Horse-with-text-BY.svg
│ │ ├── favicon-dark
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── mstile-150x150.png
│ │ ├── safari-pinned-tab.svg
│ │ └── site.webmanifest
│ │ └── favicon-light
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── mstile-150x150.png
│ │ ├── safari-pinned-tab.svg
│ │ └── site.webmanifest
├── index.html
├── main.89468e89473d89c7.js
├── material-icons-outlined.78a93b2079680a08.woff
├── material-icons-outlined.f86cb7b0aa53f0fe.woff2
├── material-icons-round.92dc7ca2f4c591e7.woff
├── material-icons-round.b10ec9db5b7fbc74.woff2
├── material-icons-sharp.3885863ee4746422.woff2
├── material-icons-sharp.a71cb2bf66c604de.woff
├── material-icons-two-tone.588d63134de807a7.woff
├── material-icons-two-tone.675bd578bd14533e.woff2
├── material-icons.4ad034d2c499d9b6.woff
├── material-icons.59322316b3fd6063.woff2
├── polyfills.2fc68655e9a361e8.js
├── runtime.8f43557e02af97f0.js
└── styles.6286abca7d059982.css
├── package-lock.json
├── package.json
├── rtl.js
├── server
├── controllers
│ ├── cln
│ │ ├── channels.ts
│ │ ├── getInfo.ts
│ │ ├── invoices.ts
│ │ ├── network.ts
│ │ ├── offers.ts
│ │ ├── onchain.ts
│ │ ├── payments.ts
│ │ ├── peers.ts
│ │ ├── utility.ts
│ │ └── webSocketClient.ts
│ ├── eclair
│ │ ├── channels.ts
│ │ ├── fees.ts
│ │ ├── getInfo.ts
│ │ ├── invoices.ts
│ │ ├── network.ts
│ │ ├── onchain.ts
│ │ ├── payments.ts
│ │ ├── peers.ts
│ │ └── webSocketClient.ts
│ ├── lnd
│ │ ├── balance.ts
│ │ ├── channels.ts
│ │ ├── channelsBackup.ts
│ │ ├── fees.ts
│ │ ├── getInfo.ts
│ │ ├── graph.ts
│ │ ├── invoices.ts
│ │ ├── message.ts
│ │ ├── newAddress.ts
│ │ ├── payments.ts
│ │ ├── peers.ts
│ │ ├── switch.ts
│ │ ├── transactions.ts
│ │ ├── wallet.ts
│ │ └── webSocketClient.ts
│ └── shared
│ │ ├── RTLConf.ts
│ │ ├── authenticate.ts
│ │ ├── boltz.ts
│ │ ├── loop.ts
│ │ └── pageSettings.ts
├── models
│ ├── config.model.ts
│ ├── database.model.ts
│ └── ecl.model.ts
├── routes
│ ├── cln
│ │ ├── channels.ts
│ │ ├── getInfo.ts
│ │ ├── index.ts
│ │ ├── invoices.ts
│ │ ├── network.ts
│ │ ├── offers.ts
│ │ ├── onchain.ts
│ │ ├── payments.ts
│ │ ├── peers.ts
│ │ └── utility.ts
│ ├── eclair
│ │ ├── channels.ts
│ │ ├── fees.ts
│ │ ├── getInfo.ts
│ │ ├── index.ts
│ │ ├── invoices.ts
│ │ ├── network.ts
│ │ ├── onchain.ts
│ │ ├── payments.ts
│ │ └── peers.ts
│ ├── lnd
│ │ ├── balance.ts
│ │ ├── channels.ts
│ │ ├── channelsBackup.ts
│ │ ├── fees.ts
│ │ ├── getInfo.ts
│ │ ├── graph.ts
│ │ ├── index.ts
│ │ ├── invoices.ts
│ │ ├── message.ts
│ │ ├── newAddress.ts
│ │ ├── payments.ts
│ │ ├── peers.ts
│ │ ├── switch.ts
│ │ ├── transactions.ts
│ │ └── wallet.ts
│ └── shared
│ │ ├── RTLConf.ts
│ │ ├── authenticate.ts
│ │ ├── boltz.ts
│ │ ├── index.ts
│ │ ├── loop.ts
│ │ └── pageSettings.ts
├── tsconfig.server.json
└── utils
│ ├── app.ts
│ ├── authCheck.ts
│ ├── common.ts
│ ├── config.ts
│ ├── cors.ts
│ ├── csrf.ts
│ ├── database.ts
│ ├── logger.ts
│ └── webSocketServer.ts
├── src
├── app
│ ├── app.component.html
│ ├── app.component.scss
│ ├── app.component.ts
│ ├── app.module.ts
│ ├── app.routing.ts
│ ├── cln
│ │ ├── cln-root.component.html
│ │ ├── cln-root.component.scss
│ │ ├── cln-root.component.ts
│ │ ├── cln.module.ts
│ │ ├── cln.routing.ts
│ │ ├── graph
│ │ │ ├── graph.component.html
│ │ │ ├── graph.component.scss
│ │ │ ├── graph.component.spec.ts
│ │ │ ├── graph.component.ts
│ │ │ ├── lookups
│ │ │ │ ├── channel-lookup
│ │ │ │ │ ├── channel-lookup.component.html
│ │ │ │ │ ├── channel-lookup.component.scss
│ │ │ │ │ ├── channel-lookup.component.spec.ts
│ │ │ │ │ └── channel-lookup.component.ts
│ │ │ │ ├── lookups.component.html
│ │ │ │ ├── lookups.component.scss
│ │ │ │ ├── lookups.component.spec.ts
│ │ │ │ ├── lookups.component.ts
│ │ │ │ └── node-lookup
│ │ │ │ │ ├── node-lookup.component.html
│ │ │ │ │ ├── node-lookup.component.scss
│ │ │ │ │ ├── node-lookup.component.spec.ts
│ │ │ │ │ └── node-lookup.component.ts
│ │ │ └── query-routes
│ │ │ │ ├── query-routes.component.html
│ │ │ │ ├── query-routes.component.scss
│ │ │ │ ├── query-routes.component.spec.ts
│ │ │ │ └── query-routes.component.ts
│ │ ├── home
│ │ │ ├── balances-info
│ │ │ │ ├── balances-info.component.html
│ │ │ │ ├── balances-info.component.scss
│ │ │ │ ├── balances-info.component.spec.ts
│ │ │ │ └── balances-info.component.ts
│ │ │ ├── channel-capacity-info
│ │ │ │ ├── channel-capacity-info.component.html
│ │ │ │ ├── channel-capacity-info.component.scss
│ │ │ │ ├── channel-capacity-info.component.spec.ts
│ │ │ │ └── channel-capacity-info.component.ts
│ │ │ ├── channel-liquidity-info
│ │ │ │ ├── channel-liquidity-info.component.html
│ │ │ │ ├── channel-liquidity-info.component.scss
│ │ │ │ ├── channel-liquidity-info.component.spec.ts
│ │ │ │ └── channel-liquidity-info.component.ts
│ │ │ ├── channel-status-info
│ │ │ │ ├── channel-status-info.component.html
│ │ │ │ ├── channel-status-info.component.scss
│ │ │ │ ├── channel-status-info.component.spec.ts
│ │ │ │ └── channel-status-info.component.ts
│ │ │ ├── fee-info
│ │ │ │ ├── fee-info.component.html
│ │ │ │ ├── fee-info.component.scss
│ │ │ │ ├── fee-info.component.spec.ts
│ │ │ │ └── fee-info.component.ts
│ │ │ ├── home.component.html
│ │ │ ├── home.component.scss
│ │ │ ├── home.component.spec.ts
│ │ │ ├── home.component.ts
│ │ │ └── node-info
│ │ │ │ ├── node-info.component.html
│ │ │ │ ├── node-info.component.scss
│ │ │ │ ├── node-info.component.spec.ts
│ │ │ │ └── node-info.component.ts
│ │ ├── liquidity-ads
│ │ │ ├── liquidity-ads-list
│ │ │ │ ├── liquidity-ads-list.component.html
│ │ │ │ ├── liquidity-ads-list.component.scss
│ │ │ │ ├── liquidity-ads-list.component.spec.ts
│ │ │ │ └── liquidity-ads-list.component.ts
│ │ │ └── open-liquidity-channel-modal
│ │ │ │ ├── open-liquidity-channel-modal.component.html
│ │ │ │ ├── open-liquidity-channel-modal.component.scss
│ │ │ │ ├── open-liquidity-channel-modal.component.spec.ts
│ │ │ │ └── open-liquidity-channel-modal.component.ts
│ │ ├── network-info
│ │ │ ├── fee-rates
│ │ │ │ ├── fee-rates.component.html
│ │ │ │ ├── fee-rates.component.scss
│ │ │ │ ├── fee-rates.component.spec.ts
│ │ │ │ └── fee-rates.component.ts
│ │ │ ├── network-info.component.html
│ │ │ ├── network-info.component.scss
│ │ │ ├── network-info.component.spec.ts
│ │ │ ├── network-info.component.ts
│ │ │ └── on-chain-fee-estimates
│ │ │ │ ├── on-chain-fee-estimates.component.html
│ │ │ │ ├── on-chain-fee-estimates.component.scss
│ │ │ │ ├── on-chain-fee-estimates.component.spec.ts
│ │ │ │ └── on-chain-fee-estimates.component.ts
│ │ ├── on-chain
│ │ │ ├── on-chain-receive
│ │ │ │ ├── on-chain-receive.component.html
│ │ │ │ ├── on-chain-receive.component.scss
│ │ │ │ ├── on-chain-receive.component.spec.ts
│ │ │ │ └── on-chain-receive.component.ts
│ │ │ ├── on-chain-send-modal
│ │ │ │ ├── on-chain-send-modal.component.html
│ │ │ │ ├── on-chain-send-modal.component.scss
│ │ │ │ ├── on-chain-send-modal.component.spec.ts
│ │ │ │ └── on-chain-send-modal.component.ts
│ │ │ ├── on-chain-send
│ │ │ │ ├── on-chain-send.component.html
│ │ │ │ ├── on-chain-send.component.scss
│ │ │ │ ├── on-chain-send.component.spec.ts
│ │ │ │ └── on-chain-send.component.ts
│ │ │ ├── on-chain.component.html
│ │ │ ├── on-chain.component.scss
│ │ │ ├── on-chain.component.spec.ts
│ │ │ ├── on-chain.component.ts
│ │ │ └── utxo-tables
│ │ │ │ ├── utxo-tables.component.html
│ │ │ │ ├── utxo-tables.component.scss
│ │ │ │ ├── utxo-tables.component.spec.ts
│ │ │ │ ├── utxo-tables.component.ts
│ │ │ │ └── utxos
│ │ │ │ ├── utxos.component.html
│ │ │ │ ├── utxos.component.scss
│ │ │ │ ├── utxos.component.spec.ts
│ │ │ │ └── utxos.component.ts
│ │ ├── peers-channels
│ │ │ ├── channels
│ │ │ │ ├── bump-fee-modal
│ │ │ │ │ ├── bump-fee.component.html
│ │ │ │ │ ├── bump-fee.component.scss
│ │ │ │ │ ├── bump-fee.component.spec.ts
│ │ │ │ │ └── bump-fee.component.ts
│ │ │ │ ├── channel-information-modal
│ │ │ │ │ ├── channel-information.component.html
│ │ │ │ │ ├── channel-information.component.scss
│ │ │ │ │ ├── channel-information.component.spec.ts
│ │ │ │ │ └── channel-information.component.ts
│ │ │ │ ├── channels-tables
│ │ │ │ │ ├── channel-active-htlcs-table
│ │ │ │ │ │ ├── channel-active-htlcs-table.component.html
│ │ │ │ │ │ ├── channel-active-htlcs-table.component.scss
│ │ │ │ │ │ ├── channel-active-htlcs-table.component.spec.ts
│ │ │ │ │ │ └── channel-active-htlcs-table.component.ts
│ │ │ │ │ ├── channel-open-table
│ │ │ │ │ │ ├── channel-open-table.component.html
│ │ │ │ │ │ ├── channel-open-table.component.scss
│ │ │ │ │ │ ├── channel-open-table.component.spec.ts
│ │ │ │ │ │ └── channel-open-table.component.ts
│ │ │ │ │ ├── channel-pending-table
│ │ │ │ │ │ ├── channel-pending-table.component.html
│ │ │ │ │ │ ├── channel-pending-table.component.scss
│ │ │ │ │ │ ├── channel-pending-table.component.spec.ts
│ │ │ │ │ │ └── channel-pending-table.component.ts
│ │ │ │ │ ├── channels-tables.component.html
│ │ │ │ │ ├── channels-tables.component.scss
│ │ │ │ │ ├── channels-tables.component.spec.ts
│ │ │ │ │ └── channels-tables.component.ts
│ │ │ │ └── open-channel-modal
│ │ │ │ │ ├── open-channel.component.html
│ │ │ │ │ ├── open-channel.component.scss
│ │ │ │ │ ├── open-channel.component.spec.ts
│ │ │ │ │ └── open-channel.component.ts
│ │ │ ├── connect-peer
│ │ │ │ ├── connect-peer.component.html
│ │ │ │ ├── connect-peer.component.scss
│ │ │ │ ├── connect-peer.component.spec.ts
│ │ │ │ └── connect-peer.component.ts
│ │ │ ├── connections.component.html
│ │ │ ├── connections.component.scss
│ │ │ ├── connections.component.spec.ts
│ │ │ ├── connections.component.ts
│ │ │ └── peers
│ │ │ │ ├── peers.component.html
│ │ │ │ ├── peers.component.scss
│ │ │ │ ├── peers.component.spec.ts
│ │ │ │ └── peers.component.ts
│ │ ├── reports
│ │ │ ├── reports.component.html
│ │ │ ├── reports.component.scss
│ │ │ ├── reports.component.spec.ts
│ │ │ ├── reports.component.ts
│ │ │ ├── routing
│ │ │ │ ├── routing-report.component.html
│ │ │ │ ├── routing-report.component.scss
│ │ │ │ ├── routing-report.component.spec.ts
│ │ │ │ └── routing-report.component.ts
│ │ │ └── transactions
│ │ │ │ ├── transactions-report.component.html
│ │ │ │ ├── transactions-report.component.scss
│ │ │ │ ├── transactions-report.component.spec.ts
│ │ │ │ └── transactions-report.component.ts
│ │ ├── routing
│ │ │ ├── failed-transactions
│ │ │ │ ├── failed-transactions.component.html
│ │ │ │ ├── failed-transactions.component.scss
│ │ │ │ ├── failed-transactions.component.spec.ts
│ │ │ │ └── failed-transactions.component.ts
│ │ │ ├── forwarding-history
│ │ │ │ ├── forwarding-history.component.html
│ │ │ │ ├── forwarding-history.component.scss
│ │ │ │ ├── forwarding-history.component.spec.ts
│ │ │ │ └── forwarding-history.component.ts
│ │ │ ├── local-failed-transactions
│ │ │ │ ├── local-failed-transactions.component.html
│ │ │ │ ├── local-failed-transactions.component.scss
│ │ │ │ ├── local-failed-transactions.component.spec.ts
│ │ │ │ └── local-failed-transactions.component.ts
│ │ │ ├── routing-peers
│ │ │ │ ├── routing-peers.component.html
│ │ │ │ ├── routing-peers.component.scss
│ │ │ │ ├── routing-peers.component.spec.ts
│ │ │ │ └── routing-peers.component.ts
│ │ │ ├── routing.component.html
│ │ │ ├── routing.component.scss
│ │ │ ├── routing.component.spec.ts
│ │ │ └── routing.component.ts
│ │ ├── sign-verify-message
│ │ │ ├── sign-verify-message.component.html
│ │ │ ├── sign-verify-message.component.scss
│ │ │ ├── sign-verify-message.component.spec.ts
│ │ │ ├── sign-verify-message.component.ts
│ │ │ ├── sign
│ │ │ │ ├── sign.component.html
│ │ │ │ ├── sign.component.scss
│ │ │ │ ├── sign.component.spec.ts
│ │ │ │ └── sign.component.ts
│ │ │ └── verify
│ │ │ │ ├── verify.component.html
│ │ │ │ ├── verify.component.scss
│ │ │ │ ├── verify.component.spec.ts
│ │ │ │ └── verify.component.ts
│ │ ├── store
│ │ │ ├── cln.actions.ts
│ │ │ ├── cln.effects.ts
│ │ │ ├── cln.reducers.ts
│ │ │ ├── cln.selector.ts
│ │ │ └── cln.state.ts
│ │ └── transactions
│ │ │ ├── invoices
│ │ │ ├── create-invoice-modal
│ │ │ │ ├── create-invoice.component.html
│ │ │ │ ├── create-invoice.component.scss
│ │ │ │ └── create-invoice.component.ts
│ │ │ ├── invoice-information-modal
│ │ │ │ ├── invoice-information.component.html
│ │ │ │ ├── invoice-information.component.scss
│ │ │ │ ├── invoice-information.component.spec.ts
│ │ │ │ └── invoice-information.component.ts
│ │ │ └── invoices-table
│ │ │ │ ├── lightning-invoices-table.component.html
│ │ │ │ ├── lightning-invoices-table.component.scss
│ │ │ │ └── lightning-invoices-table.component.ts
│ │ │ ├── offers
│ │ │ ├── create-offer-modal
│ │ │ │ ├── create-offer.component.html
│ │ │ │ ├── create-offer.component.scss
│ │ │ │ └── create-offer.component.ts
│ │ │ ├── offer-bookmarks-table
│ │ │ │ ├── offer-bookmarks-table.component.html
│ │ │ │ ├── offer-bookmarks-table.component.scss
│ │ │ │ └── offer-bookmarks-table.component.ts
│ │ │ ├── offer-information-modal
│ │ │ │ ├── offer-information.component.html
│ │ │ │ ├── offer-information.component.scss
│ │ │ │ ├── offer-information.component.spec.ts
│ │ │ │ └── offer-information.component.ts
│ │ │ └── offers-table
│ │ │ │ ├── offers-table.component.html
│ │ │ │ ├── offers-table.component.scss
│ │ │ │ └── offers-table.component.ts
│ │ │ ├── payments
│ │ │ ├── lightning-payments.component.html
│ │ │ ├── lightning-payments.component.scss
│ │ │ └── lightning-payments.component.ts
│ │ │ ├── send-payment-modal
│ │ │ ├── send-payment.component.html
│ │ │ ├── send-payment.component.scss
│ │ │ └── send-payment.component.ts
│ │ │ ├── transactions.component.html
│ │ │ ├── transactions.component.scss
│ │ │ ├── transactions.component.spec.ts
│ │ │ └── transactions.component.ts
│ ├── eclair
│ │ ├── ecl-root.component.html
│ │ ├── ecl-root.component.scss
│ │ ├── ecl-root.component.ts
│ │ ├── ecl.module.ts
│ │ ├── ecl.routing.ts
│ │ ├── graph
│ │ │ ├── graph.component.html
│ │ │ ├── graph.component.scss
│ │ │ ├── graph.component.spec.ts
│ │ │ ├── graph.component.ts
│ │ │ ├── lookups
│ │ │ │ ├── lookups.component.html
│ │ │ │ ├── lookups.component.scss
│ │ │ │ ├── lookups.component.spec.ts
│ │ │ │ ├── lookups.component.ts
│ │ │ │ └── node-lookup
│ │ │ │ │ ├── node-lookup.component.html
│ │ │ │ │ ├── node-lookup.component.scss
│ │ │ │ │ ├── node-lookup.component.spec.ts
│ │ │ │ │ └── node-lookup.component.ts
│ │ │ └── query-routes
│ │ │ │ ├── query-routes.component.html
│ │ │ │ ├── query-routes.component.scss
│ │ │ │ ├── query-routes.component.spec.ts
│ │ │ │ └── query-routes.component.ts
│ │ ├── home
│ │ │ ├── balances-info
│ │ │ │ ├── balances-info.component.html
│ │ │ │ ├── balances-info.component.scss
│ │ │ │ ├── balances-info.component.spec.ts
│ │ │ │ └── balances-info.component.ts
│ │ │ ├── channel-capacity-info
│ │ │ │ ├── channel-capacity-info.component.html
│ │ │ │ ├── channel-capacity-info.component.scss
│ │ │ │ ├── channel-capacity-info.component.spec.ts
│ │ │ │ └── channel-capacity-info.component.ts
│ │ │ ├── channel-liquidity-info
│ │ │ │ ├── channel-liquidity-info.component.html
│ │ │ │ ├── channel-liquidity-info.component.scss
│ │ │ │ ├── channel-liquidity-info.component.spec.ts
│ │ │ │ └── channel-liquidity-info.component.ts
│ │ │ ├── channel-status-info
│ │ │ │ ├── channel-status-info.component.html
│ │ │ │ ├── channel-status-info.component.scss
│ │ │ │ ├── channel-status-info.component.spec.ts
│ │ │ │ └── channel-status-info.component.ts
│ │ │ ├── fee-info
│ │ │ │ ├── fee-info.component.html
│ │ │ │ ├── fee-info.component.scss
│ │ │ │ ├── fee-info.component.spec.ts
│ │ │ │ └── fee-info.component.ts
│ │ │ ├── home.component.html
│ │ │ ├── home.component.scss
│ │ │ ├── home.component.spec.ts
│ │ │ ├── home.component.ts
│ │ │ └── node-info
│ │ │ │ ├── node-info.component.html
│ │ │ │ ├── node-info.component.scss
│ │ │ │ ├── node-info.component.spec.ts
│ │ │ │ └── node-info.component.ts
│ │ ├── on-chain
│ │ │ ├── on-chain-receive
│ │ │ │ ├── on-chain-receive.component.html
│ │ │ │ ├── on-chain-receive.component.scss
│ │ │ │ ├── on-chain-receive.component.spec.ts
│ │ │ │ └── on-chain-receive.component.ts
│ │ │ ├── on-chain-send-modal
│ │ │ │ ├── on-chain-send-modal.component.html
│ │ │ │ ├── on-chain-send-modal.component.scss
│ │ │ │ ├── on-chain-send-modal.component.spec.ts
│ │ │ │ └── on-chain-send-modal.component.ts
│ │ │ ├── on-chain-send
│ │ │ │ ├── on-chain-send.component.html
│ │ │ │ ├── on-chain-send.component.scss
│ │ │ │ ├── on-chain-send.component.spec.ts
│ │ │ │ └── on-chain-send.component.ts
│ │ │ ├── on-chain-transaction-history
│ │ │ │ ├── on-chain-transaction-history.component.html
│ │ │ │ ├── on-chain-transaction-history.component.scss
│ │ │ │ ├── on-chain-transaction-history.component.spec.ts
│ │ │ │ └── on-chain-transaction-history.component.ts
│ │ │ ├── on-chain.component.html
│ │ │ ├── on-chain.component.scss
│ │ │ ├── on-chain.component.spec.ts
│ │ │ └── on-chain.component.ts
│ │ ├── peers-channels
│ │ │ ├── channels
│ │ │ │ ├── channel-information-modal
│ │ │ │ │ ├── channel-information.component.html
│ │ │ │ │ ├── channel-information.component.scss
│ │ │ │ │ ├── channel-information.component.spec.ts
│ │ │ │ │ └── channel-information.component.ts
│ │ │ │ ├── channel-rebalance-infographics
│ │ │ │ │ ├── channel-rebalance-infographics.component.html
│ │ │ │ │ ├── channel-rebalance-infographics.component.scss
│ │ │ │ │ ├── channel-rebalance-infographics.component.spec.ts
│ │ │ │ │ └── channel-rebalance-infographics.component.ts
│ │ │ │ ├── channel-rebalance-modal
│ │ │ │ │ ├── channel-rebalance.component.html
│ │ │ │ │ ├── channel-rebalance.component.scss
│ │ │ │ │ ├── channel-rebalance.component.spec.ts
│ │ │ │ │ └── channel-rebalance.component.ts
│ │ │ │ ├── channels-tables
│ │ │ │ │ ├── channel-inactive-table
│ │ │ │ │ │ ├── channel-inactive-table.component.html
│ │ │ │ │ │ ├── channel-inactive-table.component.scss
│ │ │ │ │ │ ├── channel-inactive-table.component.spec.ts
│ │ │ │ │ │ └── channel-inactive-table.component.ts
│ │ │ │ │ ├── channel-open-table
│ │ │ │ │ │ ├── channel-open-table.component.html
│ │ │ │ │ │ ├── channel-open-table.component.scss
│ │ │ │ │ │ ├── channel-open-table.component.spec.ts
│ │ │ │ │ │ └── channel-open-table.component.ts
│ │ │ │ │ ├── channel-pending-table
│ │ │ │ │ │ ├── channel-pending-table.component.html
│ │ │ │ │ │ ├── channel-pending-table.component.scss
│ │ │ │ │ │ ├── channel-pending-table.component.spec.ts
│ │ │ │ │ │ └── channel-pending-table.component.ts
│ │ │ │ │ ├── channels-tables.component.html
│ │ │ │ │ ├── channels-tables.component.scss
│ │ │ │ │ ├── channels-tables.component.spec.ts
│ │ │ │ │ └── channels-tables.component.ts
│ │ │ │ └── open-channel-modal
│ │ │ │ │ ├── open-channel.component.html
│ │ │ │ │ ├── open-channel.component.scss
│ │ │ │ │ ├── open-channel.component.spec.ts
│ │ │ │ │ └── open-channel.component.ts
│ │ │ ├── connect-peer
│ │ │ │ ├── connect-peer.component.html
│ │ │ │ ├── connect-peer.component.scss
│ │ │ │ ├── connect-peer.component.spec.ts
│ │ │ │ └── connect-peer.component.ts
│ │ │ ├── connections.component.html
│ │ │ ├── connections.component.scss
│ │ │ ├── connections.component.spec.ts
│ │ │ ├── connections.component.ts
│ │ │ └── peers
│ │ │ │ ├── peers.component.html
│ │ │ │ ├── peers.component.scss
│ │ │ │ ├── peers.component.spec.ts
│ │ │ │ └── peers.component.ts
│ │ ├── reports
│ │ │ ├── reports.component.html
│ │ │ ├── reports.component.scss
│ │ │ ├── reports.component.spec.ts
│ │ │ ├── reports.component.ts
│ │ │ ├── routing
│ │ │ │ ├── routing-report.component.html
│ │ │ │ ├── routing-report.component.scss
│ │ │ │ ├── routing-report.component.spec.ts
│ │ │ │ └── routing-report.component.ts
│ │ │ └── transactions
│ │ │ │ ├── transactions-report.component.html
│ │ │ │ ├── transactions-report.component.scss
│ │ │ │ ├── transactions-report.component.spec.ts
│ │ │ │ └── transactions-report.component.ts
│ │ ├── routing
│ │ │ ├── forwarding-history
│ │ │ │ ├── forwarding-history.component.html
│ │ │ │ ├── forwarding-history.component.scss
│ │ │ │ ├── forwarding-history.component.spec.ts
│ │ │ │ └── forwarding-history.component.ts
│ │ │ ├── routing-peers
│ │ │ │ ├── routing-peers.component.html
│ │ │ │ ├── routing-peers.component.scss
│ │ │ │ ├── routing-peers.component.spec.ts
│ │ │ │ └── routing-peers.component.ts
│ │ │ ├── routing.component.html
│ │ │ ├── routing.component.scss
│ │ │ ├── routing.component.spec.ts
│ │ │ └── routing.component.ts
│ │ ├── store
│ │ │ ├── ecl.actions.ts
│ │ │ ├── ecl.effects.ts
│ │ │ ├── ecl.reducers.ts
│ │ │ ├── ecl.selector.ts
│ │ │ └── ecl.state.ts
│ │ └── transactions
│ │ │ ├── create-invoice-modal
│ │ │ ├── create-invoice.component.html
│ │ │ ├── create-invoice.component.scss
│ │ │ └── create-invoice.component.ts
│ │ │ ├── invoice-information-modal
│ │ │ ├── invoice-information.component.html
│ │ │ ├── invoice-information.component.scss
│ │ │ ├── invoice-information.component.spec.ts
│ │ │ └── invoice-information.component.ts
│ │ │ ├── invoices
│ │ │ ├── lightning-invoices.component.html
│ │ │ ├── lightning-invoices.component.scss
│ │ │ └── lightning-invoices.component.ts
│ │ │ ├── payment-information-modal
│ │ │ ├── payment-information.component.html
│ │ │ ├── payment-information.component.scss
│ │ │ ├── payment-information.component.spec.ts
│ │ │ └── payment-information.component.ts
│ │ │ ├── payments
│ │ │ ├── lightning-payments.component.html
│ │ │ ├── lightning-payments.component.scss
│ │ │ └── lightning-payments.component.ts
│ │ │ ├── send-payment-modal
│ │ │ ├── send-payment.component.html
│ │ │ ├── send-payment.component.scss
│ │ │ └── send-payment.component.ts
│ │ │ ├── transactions.component.html
│ │ │ ├── transactions.component.scss
│ │ │ ├── transactions.component.spec.ts
│ │ │ └── transactions.component.ts
│ ├── lnd
│ │ ├── backup
│ │ │ ├── backup.component.html
│ │ │ ├── backup.component.scss
│ │ │ ├── backup.component.spec.ts
│ │ │ ├── backup.component.ts
│ │ │ ├── channel-backup-table
│ │ │ │ ├── channel-backup-table.component.html
│ │ │ │ ├── channel-backup-table.component.scss
│ │ │ │ ├── channel-backup-table.component.spec.ts
│ │ │ │ └── channel-backup-table.component.ts
│ │ │ └── channel-restore-table
│ │ │ │ ├── channel-restore-table.component.html
│ │ │ │ ├── channel-restore-table.component.scss
│ │ │ │ ├── channel-restore-table.component.spec.ts
│ │ │ │ └── channel-restore-table.component.ts
│ │ ├── graph
│ │ │ ├── graph.component.html
│ │ │ ├── graph.component.scss
│ │ │ ├── graph.component.spec.ts
│ │ │ ├── graph.component.ts
│ │ │ ├── lookups
│ │ │ │ ├── channel-lookup
│ │ │ │ │ ├── channel-lookup.component.html
│ │ │ │ │ ├── channel-lookup.component.scss
│ │ │ │ │ ├── channel-lookup.component.spec.ts
│ │ │ │ │ └── channel-lookup.component.ts
│ │ │ │ ├── lookups.component.html
│ │ │ │ ├── lookups.component.scss
│ │ │ │ ├── lookups.component.spec.ts
│ │ │ │ ├── lookups.component.ts
│ │ │ │ └── node-lookup
│ │ │ │ │ ├── node-lookup.component.html
│ │ │ │ │ ├── node-lookup.component.scss
│ │ │ │ │ ├── node-lookup.component.spec.ts
│ │ │ │ │ └── node-lookup.component.ts
│ │ │ └── query-routes
│ │ │ │ ├── query-routes.component.html
│ │ │ │ ├── query-routes.component.scss
│ │ │ │ ├── query-routes.component.spec.ts
│ │ │ │ └── query-routes.component.ts
│ │ ├── home
│ │ │ ├── balances-info
│ │ │ │ ├── balances-info.component.html
│ │ │ │ ├── balances-info.component.scss
│ │ │ │ ├── balances-info.component.spec.ts
│ │ │ │ └── balances-info.component.ts
│ │ │ ├── channel-capacity-info
│ │ │ │ ├── channel-capacity-info.component.html
│ │ │ │ ├── channel-capacity-info.component.scss
│ │ │ │ ├── channel-capacity-info.component.spec.ts
│ │ │ │ └── channel-capacity-info.component.ts
│ │ │ ├── channel-liquidity-info
│ │ │ │ ├── channel-liquidity-info.component.html
│ │ │ │ ├── channel-liquidity-info.component.scss
│ │ │ │ ├── channel-liquidity-info.component.spec.ts
│ │ │ │ └── channel-liquidity-info.component.ts
│ │ │ ├── channel-status-info
│ │ │ │ ├── channel-status-info.component.html
│ │ │ │ ├── channel-status-info.component.scss
│ │ │ │ ├── channel-status-info.component.spec.ts
│ │ │ │ └── channel-status-info.component.ts
│ │ │ ├── fee-info
│ │ │ │ ├── fee-info.component.html
│ │ │ │ ├── fee-info.component.scss
│ │ │ │ ├── fee-info.component.spec.ts
│ │ │ │ └── fee-info.component.ts
│ │ │ ├── home.component.html
│ │ │ ├── home.component.scss
│ │ │ ├── home.component.spec.ts
│ │ │ ├── home.component.ts
│ │ │ └── node-info
│ │ │ │ ├── node-info.component.html
│ │ │ │ ├── node-info.component.scss
│ │ │ │ ├── node-info.component.spec.ts
│ │ │ │ └── node-info.component.ts
│ │ ├── lnd-root.component.html
│ │ ├── lnd-root.component.scss
│ │ ├── lnd-root.component.ts
│ │ ├── lnd.module.ts
│ │ ├── lnd.routing.ts
│ │ ├── network-info
│ │ │ ├── network-info.component.html
│ │ │ ├── network-info.component.scss
│ │ │ ├── network-info.component.spec.ts
│ │ │ └── network-info.component.ts
│ │ ├── on-chain
│ │ │ ├── on-chain-label-modal
│ │ │ │ ├── on-chain-label-modal.component.html
│ │ │ │ ├── on-chain-label-modal.component.scss
│ │ │ │ ├── on-chain-label-modal.component.spec.ts
│ │ │ │ └── on-chain-label-modal.component.ts
│ │ │ ├── on-chain-receive
│ │ │ │ ├── on-chain-receive.component.html
│ │ │ │ ├── on-chain-receive.component.scss
│ │ │ │ ├── on-chain-receive.component.spec.ts
│ │ │ │ └── on-chain-receive.component.ts
│ │ │ ├── on-chain-send-modal
│ │ │ │ ├── on-chain-send-modal.component.html
│ │ │ │ ├── on-chain-send-modal.component.scss
│ │ │ │ ├── on-chain-send-modal.component.spec.ts
│ │ │ │ └── on-chain-send-modal.component.ts
│ │ │ ├── on-chain-send
│ │ │ │ ├── on-chain-send.component.html
│ │ │ │ ├── on-chain-send.component.scss
│ │ │ │ ├── on-chain-send.component.spec.ts
│ │ │ │ └── on-chain-send.component.ts
│ │ │ ├── on-chain.component.html
│ │ │ ├── on-chain.component.scss
│ │ │ ├── on-chain.component.spec.ts
│ │ │ ├── on-chain.component.ts
│ │ │ └── utxo-tables
│ │ │ │ ├── on-chain-transaction-history
│ │ │ │ ├── on-chain-transaction-history.component.html
│ │ │ │ ├── on-chain-transaction-history.component.scss
│ │ │ │ ├── on-chain-transaction-history.component.spec.ts
│ │ │ │ └── on-chain-transaction-history.component.ts
│ │ │ │ ├── utxo-tables.component.html
│ │ │ │ ├── utxo-tables.component.scss
│ │ │ │ ├── utxo-tables.component.spec.ts
│ │ │ │ ├── utxo-tables.component.ts
│ │ │ │ └── utxos
│ │ │ │ ├── utxos.component.html
│ │ │ │ ├── utxos.component.scss
│ │ │ │ ├── utxos.component.spec.ts
│ │ │ │ └── utxos.component.ts
│ │ ├── peers-channels
│ │ │ ├── channels
│ │ │ │ ├── bump-fee-modal
│ │ │ │ │ ├── bump-fee.component.html
│ │ │ │ │ ├── bump-fee.component.scss
│ │ │ │ │ ├── bump-fee.component.spec.ts
│ │ │ │ │ └── bump-fee.component.ts
│ │ │ │ ├── channel-information-modal
│ │ │ │ │ ├── channel-information.component.html
│ │ │ │ │ ├── channel-information.component.scss
│ │ │ │ │ ├── channel-information.component.spec.ts
│ │ │ │ │ └── channel-information.component.ts
│ │ │ │ ├── channel-rebalance-infographics
│ │ │ │ │ ├── channel-rebalance-infographics.component.html
│ │ │ │ │ ├── channel-rebalance-infographics.component.scss
│ │ │ │ │ ├── channel-rebalance-infographics.component.spec.ts
│ │ │ │ │ └── channel-rebalance-infographics.component.ts
│ │ │ │ ├── channel-rebalance-modal
│ │ │ │ │ ├── channel-rebalance.component.html
│ │ │ │ │ ├── channel-rebalance.component.scss
│ │ │ │ │ ├── channel-rebalance.component.spec.ts
│ │ │ │ │ └── channel-rebalance.component.ts
│ │ │ │ ├── channels-tables
│ │ │ │ │ ├── channel-active-htlcs-table
│ │ │ │ │ │ ├── channel-active-htlcs-table.component.html
│ │ │ │ │ │ ├── channel-active-htlcs-table.component.scss
│ │ │ │ │ │ ├── channel-active-htlcs-table.component.spec.ts
│ │ │ │ │ │ └── channel-active-htlcs-table.component.ts
│ │ │ │ │ ├── channel-closed-table
│ │ │ │ │ │ ├── channel-closed-table.component.html
│ │ │ │ │ │ ├── channel-closed-table.component.scss
│ │ │ │ │ │ ├── channel-closed-table.component.spec.ts
│ │ │ │ │ │ └── channel-closed-table.component.ts
│ │ │ │ │ ├── channel-open-table
│ │ │ │ │ │ ├── channel-open-table.component.html
│ │ │ │ │ │ ├── channel-open-table.component.scss
│ │ │ │ │ │ ├── channel-open-table.component.spec.ts
│ │ │ │ │ │ └── channel-open-table.component.ts
│ │ │ │ │ ├── channel-pending-table
│ │ │ │ │ │ ├── channel-pending-table.component.html
│ │ │ │ │ │ ├── channel-pending-table.component.scss
│ │ │ │ │ │ ├── channel-pending-table.component.spec.ts
│ │ │ │ │ │ └── channel-pending-table.component.ts
│ │ │ │ │ ├── channels-tables.component.html
│ │ │ │ │ ├── channels-tables.component.scss
│ │ │ │ │ ├── channels-tables.component.spec.ts
│ │ │ │ │ └── channels-tables.component.ts
│ │ │ │ ├── close-channel-modal
│ │ │ │ │ ├── close-channel.component.html
│ │ │ │ │ ├── close-channel.component.scss
│ │ │ │ │ ├── close-channel.component.spec.ts
│ │ │ │ │ └── close-channel.component.ts
│ │ │ │ └── open-channel-modal
│ │ │ │ │ ├── open-channel.component.html
│ │ │ │ │ ├── open-channel.component.scss
│ │ │ │ │ ├── open-channel.component.spec.ts
│ │ │ │ │ └── open-channel.component.ts
│ │ │ ├── connect-peer
│ │ │ │ ├── connect-peer.component.html
│ │ │ │ ├── connect-peer.component.scss
│ │ │ │ ├── connect-peer.component.spec.ts
│ │ │ │ └── connect-peer.component.ts
│ │ │ ├── connections.component.html
│ │ │ ├── connections.component.scss
│ │ │ ├── connections.component.spec.ts
│ │ │ ├── connections.component.ts
│ │ │ └── peers
│ │ │ │ ├── peers.component.html
│ │ │ │ ├── peers.component.scss
│ │ │ │ ├── peers.component.spec.ts
│ │ │ │ └── peers.component.ts
│ │ ├── reports
│ │ │ ├── reports.component.html
│ │ │ ├── reports.component.scss
│ │ │ ├── reports.component.spec.ts
│ │ │ ├── reports.component.ts
│ │ │ ├── routing
│ │ │ │ ├── routing-report.component.html
│ │ │ │ ├── routing-report.component.scss
│ │ │ │ ├── routing-report.component.spec.ts
│ │ │ │ └── routing-report.component.ts
│ │ │ └── transactions
│ │ │ │ ├── transactions-report.component.html
│ │ │ │ ├── transactions-report.component.scss
│ │ │ │ ├── transactions-report.component.spec.ts
│ │ │ │ └── transactions-report.component.ts
│ │ ├── routing
│ │ │ ├── forwarding-history
│ │ │ │ ├── forwarding-history.component.html
│ │ │ │ ├── forwarding-history.component.scss
│ │ │ │ ├── forwarding-history.component.spec.ts
│ │ │ │ └── forwarding-history.component.ts
│ │ │ ├── non-routing-peers
│ │ │ │ ├── non-routing-peers.component.html
│ │ │ │ ├── non-routing-peers.component.scss
│ │ │ │ ├── non-routing-peers.component.spec.ts
│ │ │ │ └── non-routing-peers.component.ts
│ │ │ ├── routing-peers
│ │ │ │ ├── routing-peers.component.html
│ │ │ │ ├── routing-peers.component.scss
│ │ │ │ ├── routing-peers.component.spec.ts
│ │ │ │ └── routing-peers.component.ts
│ │ │ ├── routing.component.html
│ │ │ ├── routing.component.scss
│ │ │ ├── routing.component.spec.ts
│ │ │ └── routing.component.ts
│ │ ├── sign-verify-message
│ │ │ ├── sign-verify-message.component.html
│ │ │ ├── sign-verify-message.component.scss
│ │ │ ├── sign-verify-message.component.spec.ts
│ │ │ ├── sign-verify-message.component.ts
│ │ │ ├── sign
│ │ │ │ ├── sign.component.html
│ │ │ │ ├── sign.component.scss
│ │ │ │ ├── sign.component.spec.ts
│ │ │ │ └── sign.component.ts
│ │ │ └── verify
│ │ │ │ ├── verify.component.html
│ │ │ │ ├── verify.component.scss
│ │ │ │ ├── verify.component.spec.ts
│ │ │ │ └── verify.component.ts
│ │ ├── store
│ │ │ ├── lnd.actions.ts
│ │ │ ├── lnd.effects.ts
│ │ │ ├── lnd.reducers.ts
│ │ │ ├── lnd.selector.ts
│ │ │ └── lnd.state.ts
│ │ ├── transactions
│ │ │ ├── create-invoice-modal
│ │ │ │ ├── create-invoice.component.html
│ │ │ │ ├── create-invoice.component.scss
│ │ │ │ └── create-invoice.component.ts
│ │ │ ├── invoice-information-modal
│ │ │ │ ├── invoice-information.component.html
│ │ │ │ ├── invoice-information.component.scss
│ │ │ │ ├── invoice-information.component.spec.ts
│ │ │ │ └── invoice-information.component.ts
│ │ │ ├── invoices
│ │ │ │ ├── lightning-invoices.component.html
│ │ │ │ ├── lightning-invoices.component.scss
│ │ │ │ └── lightning-invoices.component.ts
│ │ │ ├── lookup-transactions
│ │ │ │ ├── invoice-lookup
│ │ │ │ │ ├── invoice-lookup.component.html
│ │ │ │ │ ├── invoice-lookup.component.scss
│ │ │ │ │ ├── invoice-lookup.component.spec.ts
│ │ │ │ │ └── invoice-lookup.component.ts
│ │ │ │ ├── lookup-transactions.component.html
│ │ │ │ ├── lookup-transactions.component.scss
│ │ │ │ ├── lookup-transactions.component.spec.ts
│ │ │ │ ├── lookup-transactions.component.ts
│ │ │ │ └── payment-lookup
│ │ │ │ │ ├── payment-lookup.component.html
│ │ │ │ │ ├── payment-lookup.component.scss
│ │ │ │ │ ├── payment-lookup.component.spec.ts
│ │ │ │ │ └── payment-lookup.component.ts
│ │ │ ├── payments
│ │ │ │ ├── lightning-payments.component.html
│ │ │ │ ├── lightning-payments.component.scss
│ │ │ │ └── lightning-payments.component.ts
│ │ │ ├── send-payment-modal
│ │ │ │ ├── send-payment.component.html
│ │ │ │ ├── send-payment.component.scss
│ │ │ │ ├── send-payment.component.spec.ts
│ │ │ │ └── send-payment.component.ts
│ │ │ ├── transactions.component.html
│ │ │ ├── transactions.component.scss
│ │ │ ├── transactions.component.spec.ts
│ │ │ └── transactions.component.ts
│ │ └── wallet
│ │ │ ├── initialize
│ │ │ ├── initialize.component.html
│ │ │ ├── initialize.component.scss
│ │ │ ├── initialize.component.spec.ts
│ │ │ └── initialize.component.ts
│ │ │ ├── unlock
│ │ │ ├── unlock.component.html
│ │ │ ├── unlock.component.scss
│ │ │ ├── unlock.component.spec.ts
│ │ │ └── unlock.component.ts
│ │ │ ├── wallet.component.html
│ │ │ ├── wallet.component.scss
│ │ │ └── wallet.component.ts
│ ├── shared
│ │ ├── animation
│ │ │ ├── opacity-animation.ts
│ │ │ ├── route-animation.ts
│ │ │ └── slider-animation.ts
│ │ ├── components
│ │ │ ├── currency-unit-converter
│ │ │ │ ├── currency-unit-converter.component.html
│ │ │ │ ├── currency-unit-converter.component.scss
│ │ │ │ ├── currency-unit-converter.component.spec.ts
│ │ │ │ └── currency-unit-converter.component.ts
│ │ │ ├── data-modal
│ │ │ │ ├── alert-message
│ │ │ │ │ ├── alert-message.component.html
│ │ │ │ │ ├── alert-message.component.scss
│ │ │ │ │ └── alert-message.component.ts
│ │ │ │ ├── confirmation-message
│ │ │ │ │ ├── confirmation-message.component.html
│ │ │ │ │ ├── confirmation-message.component.scss
│ │ │ │ │ └── confirmation-message.component.ts
│ │ │ │ ├── error-message
│ │ │ │ │ ├── error-message.component.html
│ │ │ │ │ ├── error-message.component.scss
│ │ │ │ │ └── error-message.component.ts
│ │ │ │ ├── is-authorized
│ │ │ │ │ ├── is-authorized.component.html
│ │ │ │ │ ├── is-authorized.component.scss
│ │ │ │ │ ├── is-authorized.component.spec.ts
│ │ │ │ │ └── is-authorized.component.ts
│ │ │ │ ├── login-2fa-token
│ │ │ │ │ ├── login-2fa-token.component.html
│ │ │ │ │ ├── login-2fa-token.component.scss
│ │ │ │ │ ├── login-2fa-token.component.spec.ts
│ │ │ │ │ └── login-2fa-token.component.ts
│ │ │ │ ├── on-chain-generated-address
│ │ │ │ │ ├── on-chain-generated-address.component.html
│ │ │ │ │ ├── on-chain-generated-address.component.scss
│ │ │ │ │ ├── on-chain-generated-address.component.spec.ts
│ │ │ │ │ └── on-chain-generated-address.component.ts
│ │ │ │ ├── show-pubkey
│ │ │ │ │ ├── show-pubkey.component.html
│ │ │ │ │ ├── show-pubkey.component.scss
│ │ │ │ │ ├── show-pubkey.component.spec.ts
│ │ │ │ │ └── show-pubkey.component.ts
│ │ │ │ ├── spinner-dialog
│ │ │ │ │ ├── spinner-dialog.component.html
│ │ │ │ │ ├── spinner-dialog.component.scss
│ │ │ │ │ └── spinner-dialog.component.ts
│ │ │ │ └── two-factor-auth
│ │ │ │ │ ├── two-factor-auth.component.html
│ │ │ │ │ ├── two-factor-auth.component.scss
│ │ │ │ │ └── two-factor-auth.component.ts
│ │ │ ├── error
│ │ │ │ ├── error.component.html
│ │ │ │ └── error.component.ts
│ │ │ ├── help
│ │ │ │ ├── help.component.html
│ │ │ │ ├── help.component.scss
│ │ │ │ └── help.component.ts
│ │ │ ├── horizontal-scroller
│ │ │ │ ├── horizontal-scroller.component.html
│ │ │ │ ├── horizontal-scroller.component.scss
│ │ │ │ ├── horizontal-scroller.component.spec.ts
│ │ │ │ └── horizontal-scroller.component.ts
│ │ │ ├── ln-services
│ │ │ │ ├── boltz
│ │ │ │ │ ├── boltz-root.component.html
│ │ │ │ │ ├── boltz-root.component.scss
│ │ │ │ │ ├── boltz-root.component.spec.ts
│ │ │ │ │ ├── boltz-root.component.ts
│ │ │ │ │ ├── swap-in-info-graphics
│ │ │ │ │ │ ├── info-graphics.component.html
│ │ │ │ │ │ ├── info-graphics.component.scss
│ │ │ │ │ │ ├── info-graphics.component.spec.ts
│ │ │ │ │ │ └── info-graphics.component.ts
│ │ │ │ │ ├── swap-modal
│ │ │ │ │ │ ├── swap-modal.component.html
│ │ │ │ │ │ ├── swap-modal.component.scss
│ │ │ │ │ │ ├── swap-modal.component.spec.ts
│ │ │ │ │ │ └── swap-modal.component.ts
│ │ │ │ │ ├── swap-out-info-graphics
│ │ │ │ │ │ ├── info-graphics.component.html
│ │ │ │ │ │ ├── info-graphics.component.scss
│ │ │ │ │ │ ├── info-graphics.component.spec.ts
│ │ │ │ │ │ └── info-graphics.component.ts
│ │ │ │ │ ├── swap-service-info
│ │ │ │ │ │ ├── swap-service-info.component.html
│ │ │ │ │ │ ├── swap-service-info.component.scss
│ │ │ │ │ │ ├── swap-service-info.component.spec.ts
│ │ │ │ │ │ └── swap-service-info.component.ts
│ │ │ │ │ ├── swap-status
│ │ │ │ │ │ ├── swap-status.component.html
│ │ │ │ │ │ ├── swap-status.component.scss
│ │ │ │ │ │ ├── swap-status.component.spec.ts
│ │ │ │ │ │ └── swap-status.component.ts
│ │ │ │ │ └── swaps
│ │ │ │ │ │ ├── swaps.component.html
│ │ │ │ │ │ ├── swaps.component.scss
│ │ │ │ │ │ ├── swaps.component.spec.ts
│ │ │ │ │ │ └── swaps.component.ts
│ │ │ │ ├── ln-services.component.html
│ │ │ │ ├── ln-services.component.scss
│ │ │ │ ├── ln-services.component.spec.ts
│ │ │ │ ├── ln-services.component.ts
│ │ │ │ └── loop
│ │ │ │ │ ├── loop-in-info-graphics
│ │ │ │ │ ├── info-graphics.component.html
│ │ │ │ │ ├── info-graphics.component.scss
│ │ │ │ │ ├── info-graphics.component.spec.ts
│ │ │ │ │ └── info-graphics.component.ts
│ │ │ │ │ ├── loop-modal
│ │ │ │ │ ├── loop-modal.component.html
│ │ │ │ │ ├── loop-modal.component.scss
│ │ │ │ │ ├── loop-modal.component.spec.ts
│ │ │ │ │ └── loop-modal.component.ts
│ │ │ │ │ ├── loop-out-info-graphics
│ │ │ │ │ ├── info-graphics.component.html
│ │ │ │ │ ├── info-graphics.component.scss
│ │ │ │ │ ├── info-graphics.component.spec.ts
│ │ │ │ │ └── info-graphics.component.ts
│ │ │ │ │ ├── loop-quote
│ │ │ │ │ ├── loop-quote.component.html
│ │ │ │ │ ├── loop-quote.component.scss
│ │ │ │ │ ├── loop-quote.component.spec.ts
│ │ │ │ │ └── loop-quote.component.ts
│ │ │ │ │ ├── loop-status
│ │ │ │ │ ├── loop-status.component.html
│ │ │ │ │ ├── loop-status.component.scss
│ │ │ │ │ ├── loop-status.component.spec.ts
│ │ │ │ │ └── loop-status.component.ts
│ │ │ │ │ ├── loop.component.html
│ │ │ │ │ ├── loop.component.scss
│ │ │ │ │ ├── loop.component.spec.ts
│ │ │ │ │ ├── loop.component.ts
│ │ │ │ │ └── swaps
│ │ │ │ │ ├── swaps.component.html
│ │ │ │ │ ├── swaps.component.scss
│ │ │ │ │ ├── swaps.component.spec.ts
│ │ │ │ │ └── swaps.component.ts
│ │ │ ├── login
│ │ │ │ ├── login.component.html
│ │ │ │ ├── login.component.scss
│ │ │ │ └── login.component.ts
│ │ │ ├── navigation
│ │ │ │ ├── side-navigation
│ │ │ │ │ ├── side-navigation.component.html
│ │ │ │ │ ├── side-navigation.component.scss
│ │ │ │ │ ├── side-navigation.component.spec.ts
│ │ │ │ │ └── side-navigation.component.ts
│ │ │ │ └── top-menu
│ │ │ │ │ ├── top-menu.component.html
│ │ │ │ │ ├── top-menu.component.scss
│ │ │ │ │ ├── top-menu.component.spec.ts
│ │ │ │ │ └── top-menu.component.ts
│ │ │ ├── node-config
│ │ │ │ ├── experimental-settings
│ │ │ │ │ ├── experimental-settings.component.html
│ │ │ │ │ ├── experimental-settings.component.scss
│ │ │ │ │ ├── experimental-settings.component.spec.ts
│ │ │ │ │ └── experimental-settings.component.ts
│ │ │ │ ├── lnp-config
│ │ │ │ │ ├── lnp-config.component.html
│ │ │ │ │ ├── lnp-config.component.scss
│ │ │ │ │ └── lnp-config.component.ts
│ │ │ │ ├── node-config.component.html
│ │ │ │ ├── node-config.component.scss
│ │ │ │ ├── node-config.component.spec.ts
│ │ │ │ ├── node-config.component.ts
│ │ │ │ ├── node-settings
│ │ │ │ │ ├── node-settings.component.html
│ │ │ │ │ ├── node-settings.component.scss
│ │ │ │ │ ├── node-settings.component.spec.ts
│ │ │ │ │ └── node-settings.component.ts
│ │ │ │ ├── page-settings
│ │ │ │ │ ├── page-settings.component.html
│ │ │ │ │ ├── page-settings.component.scss
│ │ │ │ │ ├── page-settings.component.spec.ts
│ │ │ │ │ └── page-settings.component.ts
│ │ │ │ └── services-settings
│ │ │ │ │ ├── boltz-service-settings
│ │ │ │ │ ├── boltz-service-settings.component.html
│ │ │ │ │ ├── boltz-service-settings.component.scss
│ │ │ │ │ └── boltz-service-settings.component.ts
│ │ │ │ │ ├── loop-service-settings
│ │ │ │ │ ├── loop-service-settings.component.html
│ │ │ │ │ ├── loop-service-settings.component.scss
│ │ │ │ │ └── loop-service-settings.component.ts
│ │ │ │ │ ├── no-service-found
│ │ │ │ │ ├── no-service-found.component.html
│ │ │ │ │ └── no-service-found.component.ts
│ │ │ │ │ ├── peerswap-service-settings
│ │ │ │ │ ├── peerswap-service-settings.component.html
│ │ │ │ │ ├── peerswap-service-settings.component.scss
│ │ │ │ │ └── peerswap-service-settings.component.ts
│ │ │ │ │ ├── services-settings.component.html
│ │ │ │ │ ├── services-settings.component.scss
│ │ │ │ │ ├── services-settings.component.spec.ts
│ │ │ │ │ └── services-settings.component.ts
│ │ │ ├── not-found
│ │ │ │ ├── not-found.component.html
│ │ │ │ └── not-found.component.ts
│ │ │ ├── settings
│ │ │ │ ├── app-settings
│ │ │ │ │ ├── app-settings.component.html
│ │ │ │ │ ├── app-settings.component.scss
│ │ │ │ │ ├── app-settings.component.spec.ts
│ │ │ │ │ └── app-settings.component.ts
│ │ │ │ ├── auth-settings
│ │ │ │ │ ├── auth-settings.component.html
│ │ │ │ │ ├── auth-settings.component.scss
│ │ │ │ │ ├── auth-settings.component.spec.ts
│ │ │ │ │ └── auth-settings.component.ts
│ │ │ │ ├── bitcoin-config
│ │ │ │ │ ├── bitcoin-config.component.html
│ │ │ │ │ ├── bitcoin-config.component.scss
│ │ │ │ │ └── bitcoin-config.component.ts
│ │ │ │ ├── settings.component.html
│ │ │ │ ├── settings.component.scss
│ │ │ │ ├── settings.component.spec.ts
│ │ │ │ └── settings.component.ts
│ │ │ └── transactions-report-table
│ │ │ │ ├── transactions-report-table.component.html
│ │ │ │ ├── transactions-report-table.component.scss
│ │ │ │ └── transactions-report-table.component.ts
│ │ ├── directive
│ │ │ ├── auto-focus.directive.ts
│ │ │ ├── clipboard.directive.ts
│ │ │ ├── date-formats.directive.ts
│ │ │ ├── max-amount.directive.ts
│ │ │ └── min-amount.directive.ts
│ │ ├── models
│ │ │ ├── RTLconfig.ts
│ │ │ ├── alertData.ts
│ │ │ ├── apiCallsPayload.ts
│ │ │ ├── boltzModels.ts
│ │ │ ├── clnModels.ts
│ │ │ ├── eclModels.ts
│ │ │ ├── lndModels.ts
│ │ │ ├── loopModels.ts
│ │ │ ├── navMenu.ts
│ │ │ ├── pageSettings.ts
│ │ │ └── rtlModels.ts
│ │ ├── pipes
│ │ │ └── app.pipe.ts
│ │ ├── services
│ │ │ ├── auth.guard.ts
│ │ │ ├── auth.interceptor.ts
│ │ │ ├── boltz.service.ts
│ │ │ ├── common.service.ts
│ │ │ ├── consts-enums-functions.ts
│ │ │ ├── data.service.spec.ts
│ │ │ ├── data.service.ts
│ │ │ ├── logger.service.ts
│ │ │ ├── loop.service.ts
│ │ │ ├── session.service.ts
│ │ │ └── web-socket.service.ts
│ │ ├── shared.module.ts
│ │ ├── test-helpers
│ │ │ ├── mock-services.ts
│ │ │ └── test-data.ts
│ │ └── theme
│ │ │ ├── overlay-container
│ │ │ └── theme-overlay.ts
│ │ │ ├── skins
│ │ │ ├── blue.scss
│ │ │ ├── color-swatches
│ │ │ │ ├── green-primary.swatch.scss
│ │ │ │ ├── purple-primary.swatch.scss
│ │ │ │ ├── red-warn.swatch.scss
│ │ │ │ ├── white.swatch.scss
│ │ │ │ └── yellow-primary.swatch.scss
│ │ │ ├── green.scss
│ │ │ ├── indigo.scss
│ │ │ ├── pink.scss
│ │ │ ├── purple.scss
│ │ │ ├── teal.scss
│ │ │ └── yellow.scss
│ │ │ └── styles
│ │ │ ├── constants.scss
│ │ │ ├── mixins.scss
│ │ │ ├── perfect-scrollbar.scss
│ │ │ ├── root.scss
│ │ │ ├── styles.scss
│ │ │ ├── theme-color.scss
│ │ │ ├── theme-mode-dark.scss
│ │ │ ├── theme-mode-light.scss
│ │ │ └── theme.scss
│ └── store
│ │ ├── rtl.actions.ts
│ │ ├── rtl.effects.spec.ts
│ │ ├── rtl.effects.ts
│ │ ├── rtl.reducers.spec.ts
│ │ ├── rtl.reducers.ts
│ │ ├── rtl.selector.ts
│ │ └── rtl.state.ts
├── assets
│ ├── .gitkeep
│ └── images
│ │ ├── RTL-Horse-BY.pdf
│ │ ├── RTL-Horse-BY.svg
│ │ ├── RTL-Horse-Dark-BY.svg
│ │ ├── RTL-Horse-with-text-BY.svg
│ │ ├── favicon-dark
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── mstile-150x150.png
│ │ ├── safari-pinned-tab.svg
│ │ └── site.webmanifest
│ │ └── favicon-light
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── mstile-150x150.png
│ │ ├── safari-pinned-tab.svg
│ │ └── site.webmanifest
├── index.html
├── main.ts
├── polyfills.ts
├── prebuild.cjs
├── tsconfig.app.json
└── tsconfig.spec.json
└── tsconfig.json
/.dockerignore:
--------------------------------------------------------------------------------
1 | .angular/
2 | .circleci/
3 | .git/
4 | .github/
5 | .settings/
6 | .vscode/
7 | frontend/
8 | backend/
9 | backup/
10 | cookies/
11 | coverage/
12 | dist/
13 | docker/
14 | dockerfiles/
15 | logs/
16 | node_modules/
17 | node_modules_old/
18 | node_modules_prod/
19 | node_modules_dev/
20 | out-tsc/
21 | tmp/
22 | typings/
23 | .browserlistrc
24 | _config.yml
25 | .classpath
26 | .DS_Store
27 | .gitattributes
28 | .gitignore
29 | .idea
30 | *.launch
31 | .project
32 | .sass-cache
33 | *.sublime-workspace
34 | .vscode/*
35 | connect.lock
36 | ECLDummyData.log
37 | libpeerconnection.log
38 | npm-debug.log
39 | RTL-Config.json
40 | RTL-Config-Old.json
41 | RTL-Config-1.json
42 | RTL-Multi-Node-Conf.json
43 | RTL.conf
44 | RTL-1.conf
45 | RTL-Multi-Node-Conf-1.json
46 | RTL-Config-for-BTC-Testing.json
47 | testem.log
48 | Thumbs.db
49 | yarn-error.log
50 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.ts]
12 | quote_type = single
13 |
14 | [*.md]
15 | max_line_length = off
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Screenshots**
21 | If applicable, add screenshots to help explain your problem.
22 |
23 | **Your environment**
24 | * Version of `RTL`
25 | * Version of `lnd`/`core lightning`/`eclair`
26 | * Version of `btcd`, `bitcoind`, or other backend
27 | * Browser & browser version
28 | * Operating system (`uname -a` on *Nix)
29 | * any other relevant environment details
30 |
31 | **Additional context**
32 | Add any other context about the problem here.
33 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/product management/Channels Details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Channels Details.png
--------------------------------------------------------------------------------
/.github/product management/Channels Lookup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Channels Lookup.png
--------------------------------------------------------------------------------
/.github/product management/Channels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Channels.png
--------------------------------------------------------------------------------
/.github/product management/Home Page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Home Page.png
--------------------------------------------------------------------------------
/.github/product management/Node Lookup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Node Lookup.png
--------------------------------------------------------------------------------
/.github/product management/Peers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Peers.png
--------------------------------------------------------------------------------
/.github/product management/Start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Start.png
--------------------------------------------------------------------------------
/.github/product management/Unlock Wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/product management/Unlock Wallet.png
--------------------------------------------------------------------------------
/.github/screenshots/Directions:
--------------------------------------------------------------------------------
1 | Folder for collecting RTL screenshots.
2 |
--------------------------------------------------------------------------------
/.github/screenshots/LND-Channel-Management.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/LND-Channel-Management.png
--------------------------------------------------------------------------------
/.github/screenshots/LND-Circular-Rebalancing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/LND-Circular-Rebalancing.png
--------------------------------------------------------------------------------
/.github/screenshots/LND-Dashboard-Merchant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/LND-Dashboard-Merchant.png
--------------------------------------------------------------------------------
/.github/screenshots/LND-Loop-In.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/LND-Loop-In.png
--------------------------------------------------------------------------------
/.github/screenshots/LND-Loop-Out.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/LND-Loop-Out.png
--------------------------------------------------------------------------------
/.github/screenshots/Loop-In-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/Loop-In-info.png
--------------------------------------------------------------------------------
/.github/screenshots/Loop-Out-info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/Loop-Out-info.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-CLN-Arch-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-CLN-Arch-2.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-CLN-Arch-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-CLN-Arch-3.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-CLN-Arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-CLN-Arch.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-CLN-Dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-CLN-Dashboard.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-CLN-Home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-CLN-Home.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-ECL-Dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-ECL-Dashboard.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-LND-Arch-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-LND-Arch-2.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-LND-Arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-LND-Arch.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL-LND-Dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL-LND-Dashboard.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL_Arch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL_Arch.png
--------------------------------------------------------------------------------
/.github/screenshots/RTL_Home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/RTL_Home.png
--------------------------------------------------------------------------------
/.github/screenshots/Settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/Settings.png
--------------------------------------------------------------------------------
/.github/screenshots/angular-build.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/angular-build.jpg
--------------------------------------------------------------------------------
/.github/screenshots/angular-server-dev.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/angular-server-dev.jpg
--------------------------------------------------------------------------------
/.github/screenshots/localhost-ui-dev.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/localhost-ui-dev.jpg
--------------------------------------------------------------------------------
/.github/screenshots/node-server-dev.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/.github/screenshots/node-server-dev.jpg
--------------------------------------------------------------------------------
/backend/models/ecl.model.js:
--------------------------------------------------------------------------------
1 | export var ECLWSEventsEnum;
2 | (function (ECLWSEventsEnum) {
3 | ECLWSEventsEnum["PAY_RECEIVED"] = "payment-received";
4 | ECLWSEventsEnum["PAY_RELAYED"] = "payment-relayed";
5 | ECLWSEventsEnum["PAY_SENT"] = "payment-sent";
6 | ECLWSEventsEnum["PAY_SETTLING_ONCHAIN"] = "payment-settling-onchain";
7 | ECLWSEventsEnum["PAY_FAILED"] = "payment-failed";
8 | ECLWSEventsEnum["CHANNEL_OPENED"] = "channel-opened";
9 | ECLWSEventsEnum["CHANNEL_STATE_CHANGED"] = "channel-state-changed";
10 | ECLWSEventsEnum["CHANNEL_CLOSED"] = "channel-closed";
11 | ECLWSEventsEnum["ONION_MESSAGE_RECEIVED"] = "onion-message-received";
12 | })(ECLWSEventsEnum || (ECLWSEventsEnum = {}));
13 |
--------------------------------------------------------------------------------
/backend/routes/cln/channels.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listPeerChannels, openChannel, setChannelFee, closeChannel, listForwards, funderUpdatePolicy } from '../../controllers/cln/channels.js';
5 | const router = Router();
6 | router.get('/listPeerChannels', isAuthenticated, listPeerChannels);
7 | router.post('/', isAuthenticated, openChannel);
8 | router.post('/setChannelFee', isAuthenticated, setChannelFee);
9 | router.post('/close/', isAuthenticated, closeChannel);
10 | router.post('/listForwards', isAuthenticated, listForwards);
11 | router.post('/funderUpdate', isAuthenticated, funderUpdatePolicy);
12 | export default router;
13 |
--------------------------------------------------------------------------------
/backend/routes/cln/getInfo.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo } from '../../controllers/cln/getInfo.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getInfo);
7 | export default router;
8 |
--------------------------------------------------------------------------------
/backend/routes/cln/invoices.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listInvoices, addInvoice, deleteExpiredInvoice } from '../../controllers/cln/invoices.js';
5 | const router = Router();
6 | router.post('/lookup/', isAuthenticated, listInvoices);
7 | router.post('/', isAuthenticated, addInvoice);
8 | router.post('/delete/', isAuthenticated, deleteExpiredInvoice);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/cln/network.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getRoute, listChannels, feeRates, listNodes } from '../../controllers/cln/network.js';
5 | const router = Router();
6 | router.post('/listNodes', isAuthenticated, listNodes);
7 | router.post('/getRoute', isAuthenticated, getRoute);
8 | router.post('/feeRates', isAuthenticated, feeRates);
9 | router.post('/listChannels', isAuthenticated, listChannels);
10 | export default router;
11 |
--------------------------------------------------------------------------------
/backend/routes/cln/offers.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listOfferBookmarks, deleteOfferBookmark, listOffers, disableOffer, createOffer, fetchOfferInvoice } from '../../controllers/cln/offers.js';
5 | const router = Router();
6 | router.get('/offerbookmarks', isAuthenticated, listOfferBookmarks);
7 | router.post('/offerbookmark/delete', isAuthenticated, deleteOfferBookmark);
8 | router.get('/', isAuthenticated, listOffers);
9 | router.post('/', isAuthenticated, createOffer);
10 | router.post('/fetchOfferInvoice', isAuthenticated, fetchOfferInvoice);
11 | router.post('/disableOffer', isAuthenticated, disableOffer);
12 | export default router;
13 |
--------------------------------------------------------------------------------
/backend/routes/cln/onchain.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNewAddress, onChainWithdraw, getUTXOs } from '../../controllers/cln/onchain.js';
5 | const router = Router();
6 | router.post('/', isAuthenticated, onChainWithdraw);
7 | router.post('/newaddr', isAuthenticated, getNewAddress);
8 | router.get('/utxos/', isAuthenticated, getUTXOs);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/cln/payments.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listPayments, postPayment } from '../../controllers/cln/payments.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, listPayments);
7 | router.post('/', isAuthenticated, postPayment);
8 | export default router;
9 |
--------------------------------------------------------------------------------
/backend/routes/cln/peers.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPeers, postPeer, deletePeer } from '../../controllers/cln/peers.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getPeers);
7 | router.post('/', isAuthenticated, postPeer);
8 | router.post('/disconnect/', isAuthenticated, deletePeer);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/cln/utility.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { decodePayment, signMessage, verifyMessage, listConfigs } from '../../controllers/cln/utility.js';
5 | const router = Router();
6 | router.post('/decode', isAuthenticated, decodePayment);
7 | router.post('/sign', isAuthenticated, signMessage);
8 | router.post('/verify', isAuthenticated, verifyMessage);
9 | router.get('/listConfigs', isAuthenticated, listConfigs);
10 | export default router;
11 |
--------------------------------------------------------------------------------
/backend/routes/eclair/channels.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getChannels, getChannelStats, openChannel, updateChannelRelayFee, closeChannel, circularRebalance } from '../../controllers/eclair/channels.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getChannels);
7 | router.get('/stats', isAuthenticated, getChannelStats);
8 | router.post('/', isAuthenticated, openChannel);
9 | router.post('/updateRelayFee', isAuthenticated, updateChannelRelayFee);
10 | router.post('/circularRebalance', circularRebalance);
11 | router.delete('/', isAuthenticated, closeChannel);
12 | export default router;
13 |
--------------------------------------------------------------------------------
/backend/routes/eclair/fees.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getFees, getPayments } from '../../controllers/eclair/fees.js';
5 | const router = Router();
6 | router.get('/fees', isAuthenticated, getFees);
7 | router.get('/payments', isAuthenticated, getPayments);
8 | export default router;
9 |
--------------------------------------------------------------------------------
/backend/routes/eclair/getInfo.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo } from '../../controllers/eclair/getInfo.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getInfo);
7 | export default router;
8 |
--------------------------------------------------------------------------------
/backend/routes/eclair/invoices.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listInvoices, getInvoice, createInvoice } from '../../controllers/eclair/invoices.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, listInvoices);
7 | router.get('/:paymentHash', isAuthenticated, getInvoice);
8 | router.post('/', isAuthenticated, createInvoice);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/eclair/network.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNodes, findRouteBetweenNodes } from '../../controllers/eclair/network.js';
5 | const router = Router();
6 | router.get('/nodes/:id', isAuthenticated, getNodes);
7 | router.get('/routebetweennodes', isAuthenticated, findRouteBetweenNodes);
8 | export default router;
9 |
--------------------------------------------------------------------------------
/backend/routes/eclair/onchain.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNewAddress, getBalance, getTransactions, sendFunds } from '../../controllers/eclair/onchain.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getNewAddress);
7 | router.get('/balance/', isAuthenticated, getBalance);
8 | router.get('/transactions/', isAuthenticated, getTransactions);
9 | router.post('/', isAuthenticated, sendFunds);
10 | export default router;
11 |
--------------------------------------------------------------------------------
/backend/routes/eclair/payments.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { queryPaymentRoute, decodePayment, getSentPaymentsInformation, postPayment, sendPaymentToRoute } from '../../controllers/eclair/payments.js';
5 | const router = Router();
6 | router.get('/route/', isAuthenticated, queryPaymentRoute);
7 | router.get('/decode/:invoice', isAuthenticated, decodePayment);
8 | router.post('/getsentinfos', isAuthenticated, getSentPaymentsInformation);
9 | router.post('/sendtoroute', isAuthenticated, sendPaymentToRoute);
10 | router.post('/', isAuthenticated, postPayment);
11 | export default router;
12 |
--------------------------------------------------------------------------------
/backend/routes/eclair/peers.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPeers, connectPeer, deletePeer } from '../../controllers/eclair/peers.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getPeers);
7 | router.post('/', isAuthenticated, connectPeer);
8 | router.delete('/:nodeId', isAuthenticated, deletePeer);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/lnd/balance.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getBlockchainBalance } from '../../controllers/lnd/balance.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getBlockchainBalance);
7 | export default router;
8 |
--------------------------------------------------------------------------------
/backend/routes/lnd/channels.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getAllChannels, getPendingChannels, getClosedChannels, postChannel, closeChannel, postChanPolicy } from '../../controllers/lnd/channels.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getAllChannels);
7 | router.get('/pending', isAuthenticated, getPendingChannels);
8 | router.get('/closed', isAuthenticated, getClosedChannels);
9 | router.post('/', isAuthenticated, postChannel);
10 | router.delete('/:channelPoint', isAuthenticated, closeChannel);
11 | router.post('/chanPolicy', isAuthenticated, postChanPolicy);
12 | export default router;
13 |
--------------------------------------------------------------------------------
/backend/routes/lnd/channelsBackup.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getBackup, getRestoreList, postBackupVerify, postRestore } from '../../controllers/lnd/channelsBackup.js';
5 | const router = Router();
6 | router.get('/:channelPoint', isAuthenticated, getBackup);
7 | router.get('/restore/list', isAuthenticated, getRestoreList);
8 | router.post('/verify/:channelPoint', isAuthenticated, postBackupVerify);
9 | router.post('/restore/:channelPoint', isAuthenticated, postRestore);
10 | export default router;
11 |
--------------------------------------------------------------------------------
/backend/routes/lnd/fees.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getFees } from '../../controllers/lnd/fees.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getFees);
7 | export default router;
8 |
--------------------------------------------------------------------------------
/backend/routes/lnd/getInfo.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo } from '../../controllers/lnd/getInfo.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getInfo);
7 | export default router;
8 |
--------------------------------------------------------------------------------
/backend/routes/lnd/graph.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getDescribeGraph, getGraphInfo, getAliasesForPubkeys, getGraphNode, getGraphEdge, getRemoteFeePolicy, getQueryRoutes } from '../../controllers/lnd/graph.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getDescribeGraph);
7 | router.get('/info', isAuthenticated, getGraphInfo);
8 | router.get('/nodes', isAuthenticated, getAliasesForPubkeys);
9 | router.get('/node/:pubKey', isAuthenticated, getGraphNode);
10 | router.get('/edge/:chanid', isAuthenticated, getGraphEdge);
11 | router.get('/edge/:chanid/:localPubkey', isAuthenticated, getRemoteFeePolicy);
12 | router.get('/routes/:destPubkey/:amount', isAuthenticated, getQueryRoutes);
13 | export default router;
14 |
--------------------------------------------------------------------------------
/backend/routes/lnd/invoices.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listInvoices, invoiceLookup, addInvoice } from '../../controllers/lnd/invoices.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, listInvoices);
7 | router.get('/lookup/', isAuthenticated, invoiceLookup);
8 | router.post('/', isAuthenticated, addInvoice);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/lnd/message.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { signMessage, verifyMessage } from '../../controllers/lnd/message.js';
5 | const router = Router();
6 | router.post('/sign', isAuthenticated, signMessage);
7 | router.post('/verify', isAuthenticated, verifyMessage);
8 | export default router;
9 |
--------------------------------------------------------------------------------
/backend/routes/lnd/newAddress.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNewAddress } from '../../controllers/lnd/newAddress.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getNewAddress);
7 | export default router;
8 |
--------------------------------------------------------------------------------
/backend/routes/lnd/payments.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { decodePayment, decodePayments, getPayments, getAllLightningTransactions, paymentLookup, sendPayment } from '../../controllers/lnd/payments.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getPayments);
7 | router.get('/alltransactions', isAuthenticated, getAllLightningTransactions);
8 | router.get('/decode/:payRequest', isAuthenticated, decodePayment);
9 | router.get('/lookup/:paymentHash', isAuthenticated, paymentLookup);
10 | router.post('/', isAuthenticated, decodePayments);
11 | router.post('/send', isAuthenticated, sendPayment);
12 | export default router;
13 |
--------------------------------------------------------------------------------
/backend/routes/lnd/peers.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPeers, postPeer, deletePeer } from '../../controllers/lnd/peers.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getPeers);
7 | router.post('/', isAuthenticated, postPeer);
8 | router.delete('/:peerPubKey', isAuthenticated, deletePeer);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/lnd/switch.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { forwardingHistory } from '../../controllers/lnd/switch.js';
5 | const router = Router();
6 | router.post('/', isAuthenticated, forwardingHistory);
7 | export default router;
8 |
--------------------------------------------------------------------------------
/backend/routes/lnd/transactions.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getTransactions, postTransactions } from '../../controllers/lnd/transactions.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getTransactions);
7 | router.post('/', isAuthenticated, postTransactions);
8 | export default router;
9 |
--------------------------------------------------------------------------------
/backend/routes/lnd/wallet.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { genSeed, updateSelNodeOptions, getUTXOs, operateWallet, bumpFee, labelTransaction, leaseUTXO, releaseUTXO } from '../../controllers/lnd/wallet.js';
5 | const router = Router();
6 | router.get('/genseed/:passphrase?', isAuthenticated, genSeed);
7 | router.get('/updateSelNodeOptions', isAuthenticated, updateSelNodeOptions);
8 | router.get('/getUTXOs', isAuthenticated, getUTXOs);
9 | router.post('/wallet/:operation', isAuthenticated, operateWallet);
10 | router.post('/bumpfee', isAuthenticated, bumpFee);
11 | router.post('/label', isAuthenticated, labelTransaction);
12 | router.post('/lease', isAuthenticated, leaseUTXO);
13 | router.post('/release', isAuthenticated, releaseUTXO);
14 | export default router;
15 |
--------------------------------------------------------------------------------
/backend/routes/shared/authenticate.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { authenticateUser, verifyToken, resetPassword, logoutUser } from '../../controllers/shared/authenticate.js';
4 | const router = Router();
5 | router.post('/', authenticateUser);
6 | router.post('/token', verifyToken);
7 | router.post('/reset', resetPassword);
8 | router.get('/logout', logoutUser);
9 | export default router;
10 |
--------------------------------------------------------------------------------
/backend/routes/shared/boltz.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo, getServiceInfo, listSwaps, getSwapInfo, createSwap, createReverseSwap, createChannel, deposit } from '../../controllers/shared/boltz.js';
5 | const router = Router();
6 | router.get('/info', isAuthenticated, getInfo);
7 | router.get('/serviceInfo', isAuthenticated, getServiceInfo);
8 | router.get('/listSwaps', isAuthenticated, listSwaps);
9 | router.get('/swapInfo/:swapId', isAuthenticated, getSwapInfo);
10 | router.post('/createSwap', isAuthenticated, createSwap);
11 | router.post('/createReverseSwap', isAuthenticated, createReverseSwap);
12 | router.post('/createChannel', isAuthenticated, createChannel);
13 | router.post('/deposit', isAuthenticated, deposit);
14 | export default router;
15 |
--------------------------------------------------------------------------------
/backend/routes/shared/index.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import authenticateRoutes from './authenticate.js';
4 | import boltzRoutes from './boltz.js';
5 | import loopRoutes from './loop.js';
6 | import RTLConfRoutes from './RTLConf.js';
7 | import pageSettingsRoutes from './pageSettings.js';
8 | const router = Router();
9 | const sharedRoutes = [
10 | { path: '/authenticate', route: authenticateRoutes },
11 | { path: '/boltz', route: boltzRoutes },
12 | { path: '/loop', route: loopRoutes },
13 | { path: '/conf', route: RTLConfRoutes },
14 | { path: '/pagesettings', route: pageSettingsRoutes }
15 | ];
16 | sharedRoutes.forEach((route) => {
17 | router.use(route.path, route.route);
18 | });
19 | export default router;
20 |
--------------------------------------------------------------------------------
/backend/routes/shared/pageSettings.js:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPageSettings, savePageSettings } from '../../controllers/shared/pageSettings.js';
5 | const router = Router();
6 | router.get('/', isAuthenticated, getPageSettings);
7 | router.post('/', isAuthenticated, savePageSettings);
8 | export default router;
9 |
--------------------------------------------------------------------------------
/backend/utils/csrf.js:
--------------------------------------------------------------------------------
1 | import csurf from 'csurf/index.js';
2 | import { Logger } from './logger.js';
3 | import { Common } from './common.js';
4 | class CSRF {
5 | constructor() {
6 | this.csrfProtection = csurf({ cookie: true });
7 | this.logger = Logger;
8 | this.common = Common;
9 | }
10 | mount(app) {
11 | this.logger.log({ selectedNode: this.common.selectedNode, level: 'INFO', fileName: 'CSRF', msg: 'Setting up CSRF..' });
12 | if (process.env.NODE_ENV !== 'development') {
13 | app.use((req, res, next) => this.csrfProtection(req, res, next));
14 | }
15 | this.logger.log({ selectedNode: this.common.selectedNode, level: 'INFO', fileName: 'CSRF', msg: 'CSRF Set' });
16 | return app;
17 | }
18 | ;
19 | }
20 | export default new CSRF;
21 |
--------------------------------------------------------------------------------
/docker/.env:
--------------------------------------------------------------------------------
1 | BITCOIN_HOST=bitcoind
2 | BITCOIN_PORT=18889
3 | BITCOIN_RPC_USER=bitcoin
4 | BITCOIN_RPC_PASSWORD=bitcoin
5 | BITCOIN_RPC_PORT=18888
6 | BITCOIN_ZMQ_TX_PORT=28888
7 | BITCOIN_ZMQ_BLOCK_PORT=28889
8 |
9 | LIGHTNING_HOST=lnd
10 | LIGHTNING_PORT=9735
11 | LIGHTNING_RPC_PORT=10009
12 | LIGHTNING_REST_PORT=8080
13 | LIGHTNING_LOOP_PORT=8081
14 |
15 | RTL_PORT=3000
16 |
17 | COMPOSE_FILE=docker-compose.yml
18 | COMPOSE_PROJECT_NAME=rtldev
19 |
--------------------------------------------------------------------------------
/docker/bin/b-cli:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source .env
4 |
5 | docker-compose exec bitcoind bitcoin-cli \
6 | -datadir=/bitcoin \
7 | -rpcuser=$BITCOIN_RPC_USER \
8 | -rpcpassword=$BITCOIN_RPC_PASSWORD \
9 | -rpcport=$BITCOIN_RPC_PORT \
10 | "$@"
--------------------------------------------------------------------------------
/docker/bin/ln-cli:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | source .env
4 |
5 | docker-compose exec lnd lncli \
6 | --macaroonpath /shared/admin.macaroon \
7 | --tlscertpath /shared/tls.cert \
8 | "$@"
--------------------------------------------------------------------------------
/docker/bitcoind/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:18.04
2 |
3 | RUN apt-get -qq update && apt-get install -y software-properties-common
4 |
5 | RUN add-apt-repository -y ppa:bitcoin/bitcoin \
6 | && add-apt-repository -y universe && apt-get update
7 |
8 | RUN apt-get install -y bitcoind
9 |
10 | ADD ./bitcoin.conf /bitcoin/bitcoin.conf
11 |
--------------------------------------------------------------------------------
/docker/bitcoind/bitcoin.conf:
--------------------------------------------------------------------------------
1 | daemon=0
2 | printtoconsole=1
--------------------------------------------------------------------------------
/docker/lnd/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM golang:1.11-alpine as builder
2 |
3 | WORKDIR /go/src/github.com/lightningnetwork/lnd
4 |
5 | # Force Go to use the cgo based DNS resolver. This is required to ensure DNS
6 | # queries required to connect to linked containers succeed.
7 | ENV GODEBUG netdns=cgo
8 |
9 | RUN apk add --no-cache --update alpine-sdk git make \
10 | && git clone -n https://github.com/lightningnetwork/lnd . \
11 | && git checkout d2186cc9da29853091175189268b073f49586cf0 \
12 | && make \
13 | && make install
14 |
15 | # Start a new, final image to reduce size.
16 | FROM alpine as final
17 |
18 | # Expose lnd ports (server, rpc).
19 | EXPOSE 9735 10009
20 |
21 | # Copy the binaries and entrypoint from the builder image.
22 | COPY --from=builder /go/bin/lncli /bin/
23 | COPY --from=builder /go/bin/lnd /bin/
24 |
25 | # Add bash.
26 | RUN apk add --no-cache bash
27 |
28 | # Import the config
29 | ADD ./lnd.conf /root/.lnd/lnd.conf
--------------------------------------------------------------------------------
/docker/lnd/lnd.conf:
--------------------------------------------------------------------------------
1 | [Application Options]
2 | debuglevel=info
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import { FlatCompat } from '@eslint/eslintrc';
2 | import { dirname } from 'path';
3 | import { fileURLToPath } from 'url';
4 |
5 | const compat = new FlatCompat({
6 | baseDirectory: dirname(fileURLToPath(import.meta.url))
7 | });
8 |
9 | export default [
10 | ...compat.extends('./.eslintrc.json')
11 | ];
--------------------------------------------------------------------------------
/frontend/Roboto-Black.2eaa390d458c877d.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Black.2eaa390d458c877d.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-Black.b25f67ad8583da68.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Black.b25f67ad8583da68.woff
--------------------------------------------------------------------------------
/frontend/Roboto-BlackItalic.7dc03ee444552bc5.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-BlackItalic.7dc03ee444552bc5.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-BlackItalic.c8dc642467cb3099.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-BlackItalic.c8dc642467cb3099.woff
--------------------------------------------------------------------------------
/frontend/Roboto-Bold.447291a88c067396.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Bold.447291a88c067396.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-Bold.fc482e6133cf5e26.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Bold.fc482e6133cf5e26.woff
--------------------------------------------------------------------------------
/frontend/Roboto-BoldItalic.1b15168ef6fa4e16.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-BoldItalic.1b15168ef6fa4e16.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-BoldItalic.e26ba339b06f09f7.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-BoldItalic.e26ba339b06f09f7.woff
--------------------------------------------------------------------------------
/frontend/Roboto-Light.0e01b6cd13b3857f.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Light.0e01b6cd13b3857f.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-Light.603ca9a537b88428.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Light.603ca9a537b88428.woff
--------------------------------------------------------------------------------
/frontend/Roboto-LightItalic.1b5e142f787151c8.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-LightItalic.1b5e142f787151c8.woff
--------------------------------------------------------------------------------
/frontend/Roboto-LightItalic.232ef4b20215f720.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-LightItalic.232ef4b20215f720.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-Medium.457532032ceb0168.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Medium.457532032ceb0168.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-Medium.6e1ae5f0b324a0aa.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Medium.6e1ae5f0b324a0aa.woff
--------------------------------------------------------------------------------
/frontend/Roboto-MediumItalic.872f7060602d55d2.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-MediumItalic.872f7060602d55d2.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-MediumItalic.e06fb533801cbb08.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-MediumItalic.e06fb533801cbb08.woff
--------------------------------------------------------------------------------
/frontend/Roboto-Regular.475ba9e4e2d63456.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Regular.475ba9e4e2d63456.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-Regular.bcefbfee882bc1cb.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Regular.bcefbfee882bc1cb.woff
--------------------------------------------------------------------------------
/frontend/Roboto-RegularItalic.0668fae6af0cf8c2.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-RegularItalic.0668fae6af0cf8c2.woff
--------------------------------------------------------------------------------
/frontend/Roboto-RegularItalic.e3a9ebdaac06bbc4.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-RegularItalic.e3a9ebdaac06bbc4.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-Thin.c13c157cb81e8ebb.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Thin.c13c157cb81e8ebb.woff
--------------------------------------------------------------------------------
/frontend/Roboto-Thin.f7a95c9c5999532c.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-Thin.f7a95c9c5999532c.woff2
--------------------------------------------------------------------------------
/frontend/Roboto-ThinItalic.1111028df6cea564.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-ThinItalic.1111028df6cea564.woff
--------------------------------------------------------------------------------
/frontend/Roboto-ThinItalic.b0e084abf689f393.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/Roboto-ThinItalic.b0e084abf689f393.woff2
--------------------------------------------------------------------------------
/frontend/assets/images/RTL-Horse-BY.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/RTL-Horse-BY.pdf
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-dark/android-chrome-192x192.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-dark/android-chrome-512x512.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-dark/apple-touch-icon.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-dark/favicon-16x16.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-dark/favicon-32x32.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-dark/favicon.ico
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-dark/mstile-150x150.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-dark/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | {
6 | "src": "/rtl/assets/images/favicon-dark/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/rtl/assets/images/favicon-dark/android-chrome-512x512.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-light/android-chrome-192x192.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-light/android-chrome-512x512.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-light/apple-touch-icon.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-light/favicon-16x16.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-light/favicon-32x32.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-light/favicon.ico
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/assets/images/favicon-light/mstile-150x150.png
--------------------------------------------------------------------------------
/frontend/assets/images/favicon-light/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | {
6 | "src": "/rtl/assets/images/favicon-light/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/rtl/assets/images/favicon-light/android-chrome-512x512.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/frontend/material-icons-outlined.78a93b2079680a08.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-outlined.78a93b2079680a08.woff
--------------------------------------------------------------------------------
/frontend/material-icons-outlined.f86cb7b0aa53f0fe.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-outlined.f86cb7b0aa53f0fe.woff2
--------------------------------------------------------------------------------
/frontend/material-icons-round.92dc7ca2f4c591e7.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-round.92dc7ca2f4c591e7.woff
--------------------------------------------------------------------------------
/frontend/material-icons-round.b10ec9db5b7fbc74.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-round.b10ec9db5b7fbc74.woff2
--------------------------------------------------------------------------------
/frontend/material-icons-sharp.3885863ee4746422.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-sharp.3885863ee4746422.woff2
--------------------------------------------------------------------------------
/frontend/material-icons-sharp.a71cb2bf66c604de.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-sharp.a71cb2bf66c604de.woff
--------------------------------------------------------------------------------
/frontend/material-icons-two-tone.588d63134de807a7.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-two-tone.588d63134de807a7.woff
--------------------------------------------------------------------------------
/frontend/material-icons-two-tone.675bd578bd14533e.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons-two-tone.675bd578bd14533e.woff2
--------------------------------------------------------------------------------
/frontend/material-icons.4ad034d2c499d9b6.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons.4ad034d2c499d9b6.woff
--------------------------------------------------------------------------------
/frontend/material-icons.59322316b3fd6063.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/frontend/material-icons.59322316b3fd6063.woff2
--------------------------------------------------------------------------------
/server/models/ecl.model.ts:
--------------------------------------------------------------------------------
1 | export enum ECLWSEventsEnum {
2 | PAY_RECEIVED = 'payment-received',
3 | PAY_RELAYED = 'payment-relayed',
4 | PAY_SENT = 'payment-sent',
5 | PAY_SETTLING_ONCHAIN = 'payment-settling-onchain',
6 | PAY_FAILED = 'payment-failed',
7 | CHANNEL_OPENED = 'channel-opened',
8 | CHANNEL_STATE_CHANGED = 'channel-state-changed',
9 | CHANNEL_CLOSED = 'channel-closed',
10 | ONION_MESSAGE_RECEIVED = 'onion-message-received'
11 | }
12 |
--------------------------------------------------------------------------------
/server/routes/cln/channels.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listPeerChannels, openChannel, setChannelFee, closeChannel, listForwards, funderUpdatePolicy } from '../../controllers/cln/channels.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/listPeerChannels', isAuthenticated, listPeerChannels);
9 | router.post('/', isAuthenticated, openChannel);
10 | router.post('/setChannelFee', isAuthenticated, setChannelFee);
11 | router.post('/close/', isAuthenticated, closeChannel);
12 |
13 | router.post('/listForwards', isAuthenticated, listForwards);
14 |
15 | router.post('/funderUpdate', isAuthenticated, funderUpdatePolicy);
16 |
17 | export default router;
18 |
--------------------------------------------------------------------------------
/server/routes/cln/getInfo.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo } from '../../controllers/cln/getInfo.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getInfo);
9 |
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/cln/invoices.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listInvoices, addInvoice, deleteExpiredInvoice } from '../../controllers/cln/invoices.js';
5 |
6 | const router = Router();
7 |
8 | router.post('/lookup/', isAuthenticated, listInvoices);
9 | router.post('/', isAuthenticated, addInvoice);
10 | router.post('/delete/', isAuthenticated, deleteExpiredInvoice);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/cln/network.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getRoute, listChannels, feeRates, listNodes } from '../../controllers/cln/network.js';
5 |
6 | const router = Router();
7 |
8 | router.post('/listNodes', isAuthenticated, listNodes);
9 | router.post('/getRoute', isAuthenticated, getRoute);
10 | router.post('/feeRates', isAuthenticated, feeRates);
11 | router.post('/listChannels', isAuthenticated, listChannels);
12 |
13 | export default router;
14 |
--------------------------------------------------------------------------------
/server/routes/cln/offers.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listOfferBookmarks, deleteOfferBookmark, listOffers, disableOffer, createOffer, fetchOfferInvoice } from '../../controllers/cln/offers.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/offerbookmarks', isAuthenticated, listOfferBookmarks);
9 | router.post('/offerbookmark/delete', isAuthenticated, deleteOfferBookmark);
10 |
11 | router.get('/', isAuthenticated, listOffers);
12 | router.post('/', isAuthenticated, createOffer);
13 | router.post('/fetchOfferInvoice', isAuthenticated, fetchOfferInvoice);
14 | router.post('/disableOffer', isAuthenticated, disableOffer);
15 |
16 | export default router;
17 |
--------------------------------------------------------------------------------
/server/routes/cln/onchain.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNewAddress, onChainWithdraw, getUTXOs } from '../../controllers/cln/onchain.js';
5 |
6 | const router = Router();
7 |
8 | router.post('/', isAuthenticated, onChainWithdraw);
9 | router.post('/newaddr', isAuthenticated, getNewAddress);
10 | router.get('/utxos/', isAuthenticated, getUTXOs);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/cln/payments.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listPayments, postPayment } from '../../controllers/cln/payments.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, listPayments);
9 | router.post('/', isAuthenticated, postPayment);
10 |
11 | export default router;
12 |
--------------------------------------------------------------------------------
/server/routes/cln/peers.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPeers, postPeer, deletePeer } from '../../controllers/cln/peers.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getPeers);
9 | router.post('/', isAuthenticated, postPeer);
10 | router.post('/disconnect/', isAuthenticated, deletePeer);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/cln/utility.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { decodePayment, signMessage, verifyMessage, listConfigs } from '../../controllers/cln/utility.js';
5 |
6 | const router = Router();
7 |
8 | router.post('/decode', isAuthenticated, decodePayment);
9 | router.post('/sign', isAuthenticated, signMessage);
10 | router.post('/verify', isAuthenticated, verifyMessage);
11 | router.get('/listConfigs', isAuthenticated, listConfigs);
12 |
13 | export default router;
14 |
--------------------------------------------------------------------------------
/server/routes/eclair/channels.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getChannels, getChannelStats, openChannel, updateChannelRelayFee, closeChannel, circularRebalance } from '../../controllers/eclair/channels.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getChannels);
9 | router.get('/stats', isAuthenticated, getChannelStats);
10 | router.post('/', isAuthenticated, openChannel);
11 | router.post('/updateRelayFee', isAuthenticated, updateChannelRelayFee);
12 | router.post('/circularRebalance', circularRebalance);
13 | router.delete('/', isAuthenticated, closeChannel);
14 |
15 | export default router;
16 |
--------------------------------------------------------------------------------
/server/routes/eclair/fees.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getFees, getPayments } from '../../controllers/eclair/fees.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/fees', isAuthenticated, getFees);
9 | router.get('/payments', isAuthenticated, getPayments);
10 |
11 | export default router;
12 |
--------------------------------------------------------------------------------
/server/routes/eclair/getInfo.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo } from '../../controllers/eclair/getInfo.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getInfo);
9 |
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/eclair/invoices.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listInvoices, getInvoice, createInvoice } from '../../controllers/eclair/invoices.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, listInvoices);
9 | router.get('/:paymentHash', isAuthenticated, getInvoice);
10 | router.post('/', isAuthenticated, createInvoice);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/eclair/network.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNodes, findRouteBetweenNodes } from '../../controllers/eclair/network.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/nodes/:id', isAuthenticated, getNodes);
9 | router.get('/routebetweennodes', isAuthenticated, findRouteBetweenNodes);
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/eclair/onchain.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNewAddress, getBalance, getTransactions, sendFunds } from '../../controllers/eclair/onchain.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getNewAddress);
9 | router.get('/balance/', isAuthenticated, getBalance);
10 | router.get('/transactions/', isAuthenticated, getTransactions);
11 | router.post('/', isAuthenticated, sendFunds);
12 |
13 | export default router;
14 |
--------------------------------------------------------------------------------
/server/routes/eclair/payments.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { queryPaymentRoute, decodePayment, getSentPaymentsInformation, postPayment, sendPaymentToRoute } from '../../controllers/eclair/payments.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/route/', isAuthenticated, queryPaymentRoute);
9 | router.get('/decode/:invoice', isAuthenticated, decodePayment);
10 | router.post('/getsentinfos', isAuthenticated, getSentPaymentsInformation);
11 | router.post('/sendtoroute', isAuthenticated, sendPaymentToRoute);
12 | router.post('/', isAuthenticated, postPayment);
13 |
14 | export default router;
15 |
--------------------------------------------------------------------------------
/server/routes/eclair/peers.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPeers, connectPeer, deletePeer } from '../../controllers/eclair/peers.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getPeers);
9 | router.post('/', isAuthenticated, connectPeer);
10 | router.delete('/:nodeId', isAuthenticated, deletePeer);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/lnd/balance.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getBlockchainBalance } from '../../controllers/lnd/balance.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getBlockchainBalance);
9 |
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/lnd/channels.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getAllChannels, getPendingChannels, getClosedChannels, postChannel, closeChannel, postChanPolicy } from '../../controllers/lnd/channels.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getAllChannels);
9 | router.get('/pending', isAuthenticated, getPendingChannels);
10 | router.get('/closed', isAuthenticated, getClosedChannels);
11 | router.post('/', isAuthenticated, postChannel);
12 | router.delete('/:channelPoint', isAuthenticated, closeChannel);
13 | router.post('/chanPolicy', isAuthenticated, postChanPolicy);
14 |
15 | export default router;
16 |
--------------------------------------------------------------------------------
/server/routes/lnd/channelsBackup.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getBackup, getRestoreList, postBackupVerify, postRestore } from '../../controllers/lnd/channelsBackup.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/:channelPoint', isAuthenticated, getBackup);
9 | router.get('/restore/list', isAuthenticated, getRestoreList);
10 | router.post('/verify/:channelPoint', isAuthenticated, postBackupVerify);
11 | router.post('/restore/:channelPoint', isAuthenticated, postRestore);
12 |
13 | export default router;
14 |
--------------------------------------------------------------------------------
/server/routes/lnd/fees.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getFees } from '../../controllers/lnd/fees.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getFees);
9 |
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/lnd/getInfo.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo } from '../../controllers/lnd/getInfo.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getInfo);
9 |
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/lnd/graph.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getDescribeGraph, getGraphInfo, getAliasesForPubkeys, getGraphNode, getGraphEdge, getRemoteFeePolicy, getQueryRoutes } from '../../controllers/lnd/graph.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getDescribeGraph);
9 | router.get('/info', isAuthenticated, getGraphInfo);
10 | router.get('/nodes', isAuthenticated, getAliasesForPubkeys);
11 | router.get('/node/:pubKey', isAuthenticated, getGraphNode);
12 | router.get('/edge/:chanid', isAuthenticated, getGraphEdge);
13 | router.get('/edge/:chanid/:localPubkey', isAuthenticated, getRemoteFeePolicy);
14 | router.get('/routes/:destPubkey/:amount', isAuthenticated, getQueryRoutes);
15 |
16 | export default router;
17 |
--------------------------------------------------------------------------------
/server/routes/lnd/invoices.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { listInvoices, invoiceLookup, addInvoice } from '../../controllers/lnd/invoices.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, listInvoices);
9 | router.get('/lookup/', isAuthenticated, invoiceLookup);
10 | router.post('/', isAuthenticated, addInvoice);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/lnd/message.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { signMessage, verifyMessage } from '../../controllers/lnd/message.js';
5 |
6 | const router = Router();
7 |
8 | router.post('/sign', isAuthenticated, signMessage);
9 | router.post('/verify', isAuthenticated, verifyMessage);
10 |
11 | export default router;
12 |
--------------------------------------------------------------------------------
/server/routes/lnd/newAddress.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getNewAddress } from '../../controllers/lnd/newAddress.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getNewAddress);
9 |
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/lnd/payments.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { decodePayment, decodePayments, getPayments, getAllLightningTransactions, paymentLookup, sendPayment } from '../../controllers/lnd/payments.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getPayments);
9 | router.get('/alltransactions', isAuthenticated, getAllLightningTransactions);
10 | router.get('/decode/:payRequest', isAuthenticated, decodePayment);
11 | router.get('/lookup/:paymentHash', isAuthenticated, paymentLookup);
12 | router.post('/', isAuthenticated, decodePayments);
13 | router.post('/send', isAuthenticated, sendPayment);
14 |
15 | export default router;
16 |
--------------------------------------------------------------------------------
/server/routes/lnd/peers.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPeers, postPeer, deletePeer } from '../../controllers/lnd/peers.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getPeers);
9 | router.post('/', isAuthenticated, postPeer);
10 | router.delete('/:peerPubKey', isAuthenticated, deletePeer);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/lnd/switch.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { forwardingHistory } from '../../controllers/lnd/switch.js';
5 |
6 | const router = Router();
7 |
8 | router.post('/', isAuthenticated, forwardingHistory);
9 |
10 | export default router;
11 |
--------------------------------------------------------------------------------
/server/routes/lnd/transactions.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getTransactions, postTransactions } from '../../controllers/lnd/transactions.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getTransactions);
9 | router.post('/', isAuthenticated, postTransactions);
10 |
11 | export default router;
12 |
--------------------------------------------------------------------------------
/server/routes/lnd/wallet.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { genSeed, updateSelNodeOptions, getUTXOs, operateWallet, bumpFee, labelTransaction, leaseUTXO, releaseUTXO } from '../../controllers/lnd/wallet.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/genseed/:passphrase?', isAuthenticated, genSeed);
9 | router.get('/updateSelNodeOptions', isAuthenticated, updateSelNodeOptions);
10 | router.get('/getUTXOs', isAuthenticated, getUTXOs);
11 | router.post('/wallet/:operation', isAuthenticated, operateWallet);
12 | router.post('/bumpfee', isAuthenticated, bumpFee);
13 | router.post('/label', isAuthenticated, labelTransaction);
14 | router.post('/lease', isAuthenticated, leaseUTXO);
15 | router.post('/release', isAuthenticated, releaseUTXO);
16 |
17 | export default router;
18 |
--------------------------------------------------------------------------------
/server/routes/shared/authenticate.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { authenticateUser, verifyToken, resetPassword, logoutUser } from '../../controllers/shared/authenticate.js';
4 |
5 | const router = Router();
6 |
7 | router.post('/', authenticateUser);
8 | router.post('/token', verifyToken);
9 | router.post('/reset', resetPassword);
10 | router.get('/logout', logoutUser);
11 |
12 | export default router;
13 |
--------------------------------------------------------------------------------
/server/routes/shared/boltz.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getInfo, getServiceInfo, listSwaps, getSwapInfo, createSwap, createReverseSwap, createChannel, deposit } from '../../controllers/shared/boltz.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/info', isAuthenticated, getInfo);
9 | router.get('/serviceInfo', isAuthenticated, getServiceInfo);
10 | router.get('/listSwaps', isAuthenticated, listSwaps);
11 | router.get('/swapInfo/:swapId', isAuthenticated, getSwapInfo);
12 | router.post('/createSwap', isAuthenticated, createSwap);
13 | router.post('/createReverseSwap', isAuthenticated, createReverseSwap);
14 | router.post('/createChannel', isAuthenticated, createChannel);
15 | router.post('/deposit', isAuthenticated, deposit);
16 |
17 | export default router;
18 |
--------------------------------------------------------------------------------
/server/routes/shared/index.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import authenticateRoutes from './authenticate.js';
4 | import boltzRoutes from './boltz.js';
5 | import loopRoutes from './loop.js';
6 | import RTLConfRoutes from './RTLConf.js';
7 | import pageSettingsRoutes from './pageSettings.js';
8 |
9 | const router = Router();
10 |
11 | const sharedRoutes = [
12 | { path: '/authenticate', route: authenticateRoutes },
13 | { path: '/boltz', route: boltzRoutes },
14 | { path: '/loop', route: loopRoutes },
15 | { path: '/conf', route: RTLConfRoutes },
16 | { path: '/pagesettings', route: pageSettingsRoutes }
17 | ];
18 |
19 | sharedRoutes.forEach((route) => {
20 | router.use(route.path, route.route);
21 | });
22 |
23 | export default router;
24 |
--------------------------------------------------------------------------------
/server/routes/shared/pageSettings.ts:
--------------------------------------------------------------------------------
1 | import exprs from 'express';
2 | const { Router } = exprs;
3 | import { isAuthenticated } from '../../utils/authCheck.js';
4 | import { getPageSettings, savePageSettings } from '../../controllers/shared/pageSettings.js';
5 |
6 | const router = Router();
7 |
8 | router.get('/', isAuthenticated, getPageSettings);
9 | router.post('/', isAuthenticated, savePageSettings);
10 |
11 | export default router;
12 |
--------------------------------------------------------------------------------
/server/tsconfig.server.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "baseUrl": "../",
5 | "outDir": "../backend",
6 | },
7 | "include": [
8 | "./**/*"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/server/utils/csrf.ts:
--------------------------------------------------------------------------------
1 | import csurf from 'csurf/index.js';
2 | import { Application } from 'express';
3 | import { Logger, LoggerService } from './logger.js';
4 | import { Common, CommonService } from './common.js';
5 |
6 | class CSRF {
7 |
8 | public csrfProtection = csurf({ cookie: true });
9 | public logger: LoggerService = Logger;
10 | public common: CommonService = Common;
11 |
12 | public mount(app: Application): Application {
13 | this.logger.log({ selectedNode: this.common.selectedNode, level: 'INFO', fileName: 'CSRF', msg: 'Setting up CSRF..' });
14 | if (process.env.NODE_ENV !== 'development') {
15 | app.use((req, res, next) => this.csrfProtection(req, res, next));
16 | }
17 | this.logger.log({ selectedNode: this.common.selectedNode, level: 'INFO', fileName: 'CSRF', msg: 'CSRF Set' });
18 | return app;
19 | };
20 |
21 | }
22 |
23 | export default new CSRF;
24 |
--------------------------------------------------------------------------------
/src/app/app.component.scss:
--------------------------------------------------------------------------------
1 | .inline-spinner {
2 | display: inline-flex !important;
3 | top: 0 !important;
4 | }
5 |
--------------------------------------------------------------------------------
/src/app/cln/cln-root.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/app/cln/cln-root.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/cln-root.component.scss
--------------------------------------------------------------------------------
/src/app/cln/graph/graph.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Graph Lookups
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/app/cln/graph/graph.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/graph/graph.component.scss
--------------------------------------------------------------------------------
/src/app/cln/graph/lookups/channel-lookup/channel-lookup.component.scss:
--------------------------------------------------------------------------------
1 | .mat-list-base .mat-list-item, .mat-list-base .mat-list-option {
2 | height: 38px !important;
3 | }
--------------------------------------------------------------------------------
/src/app/cln/graph/lookups/lookups.component.scss:
--------------------------------------------------------------------------------
1 | .tree-invisible {
2 | display: none;
3 | }
4 |
5 | .lookup-tree ul,
6 | .lookup-tree li {
7 | margin-top: 0;
8 | margin-bottom: 0;
9 | list-style-type: none;
10 | }
11 |
--------------------------------------------------------------------------------
/src/app/cln/graph/lookups/node-lookup/node-lookup.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/graph/lookups/node-lookup/node-lookup.component.scss
--------------------------------------------------------------------------------
/src/app/cln/graph/query-routes/query-routes.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/graph/query-routes/query-routes.component.scss
--------------------------------------------------------------------------------
/src/app/cln/home/balances-info/balances-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/home/balances-info/balances-info.component.scss
--------------------------------------------------------------------------------
/src/app/cln/home/balances-info/balances-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'rtl-cln-balances-info',
5 | templateUrl: './balances-info.component.html',
6 | styleUrls: ['./balances-info.component.scss']
7 | })
8 | export class CLNBalancesInfoComponent {
9 |
10 | @Input() balances = { onchain: 0, lightning: 0, total: 0 };
11 | @Input() errorMessage: string;
12 |
13 | constructor() { }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/app/cln/home/channel-capacity-info/channel-capacity-info.component.scss:
--------------------------------------------------------------------------------
1 | .channels-capacity-scroll {
2 | width: 100%;
3 | height: 100%;
4 | overflow-y: hidden;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/cln/home/channel-liquidity-info/channel-liquidity-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/home/channel-liquidity-info/channel-liquidity-info.component.scss
--------------------------------------------------------------------------------
/src/app/cln/home/channel-status-info/channel-status-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/home/channel-status-info/channel-status-info.component.scss
--------------------------------------------------------------------------------
/src/app/cln/home/channel-status-info/channel-status-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { ChannelsStatus } from '../../../shared/models/clnModels';
3 |
4 | @Component({
5 | selector: 'rtl-cln-channel-status-info',
6 | templateUrl: './channel-status-info.component.html',
7 | styleUrls: ['./channel-status-info.component.scss']
8 | })
9 | export class CLNChannelStatusInfoComponent {
10 |
11 | @Input() channelsStatus: ChannelsStatus = { active: {}, pending: {}, inactive: {} };
12 | @Input() errorMessage: string;
13 |
14 | constructor() { }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/app/cln/home/fee-info/fee-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/home/fee-info/fee-info.component.scss
--------------------------------------------------------------------------------
/src/app/cln/home/fee-info/fee-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { Fees } from '../../../shared/models/clnModels';
3 |
4 | @Component({
5 | selector: 'rtl-cln-fee-info',
6 | templateUrl: './fee-info.component.html',
7 | styleUrls: ['./fee-info.component.scss']
8 | })
9 | export class CLNFeeInfoComponent {
10 |
11 | @Input() fees: Fees;
12 | @Input() errorMessage: string;
13 | totalFees = [{ name: 'Total', value: 0 }];
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/app/cln/home/home.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/home/home.component.scss
--------------------------------------------------------------------------------
/src/app/cln/home/node-info/node-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/home/node-info/node-info.component.scss
--------------------------------------------------------------------------------
/src/app/cln/liquidity-ads/liquidity-ads-list/liquidity-ads-list.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/liquidity-ads/liquidity-ads-list/liquidity-ads-list.component.scss
--------------------------------------------------------------------------------
/src/app/cln/liquidity-ads/open-liquidity-channel-modal/open-liquidity-channel-modal.component.scss:
--------------------------------------------------------------------------------
1 | .open-inputs-box {
2 | padding: 1.2rem 2.4rem 0.8rem 2.4rem !important;
3 | }
--------------------------------------------------------------------------------
/src/app/cln/network-info/fee-rates/fee-rates.component.scss:
--------------------------------------------------------------------------------
1 | .fee-rate-list .mat-list-item {
2 | height: 44px;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/cln/network-info/fee-rates/fee-rates.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
2 |
3 | import { CLNFeeRatesComponent } from './fee-rates.component';
4 |
5 | describe('CLNFeeRatesComponent', () => {
6 | let component: CLNFeeRatesComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(waitForAsync(() => {
10 | TestBed.configureTestingModule({
11 | declarations: [CLNFeeRatesComponent]
12 | }).
13 | compileComponents();
14 | }));
15 |
16 | beforeEach(() => {
17 | fixture = TestBed.createComponent(CLNFeeRatesComponent);
18 | component = fixture.componentInstance;
19 | fixture.detectChanges();
20 | });
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 |
26 | afterEach(() => {
27 | TestBed.resetTestingModule();
28 | });
29 | });
30 |
--------------------------------------------------------------------------------
/src/app/cln/network-info/fee-rates/fee-rates.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, AfterContentChecked, Input } from '@angular/core';
2 |
3 | import { FeeRates, FeeRatePerObj, feeRateStyle } from '../../../shared/models/clnModels';
4 |
5 | @Component({
6 | selector: 'rtl-cln-fee-rates',
7 | templateUrl: './fee-rates.component.html',
8 | styleUrls: ['./fee-rates.component.scss']
9 | })
10 | export class CLNFeeRatesComponent implements AfterContentChecked {
11 |
12 | @Input() feeRateStyle: string;
13 | @Input() feeRates: FeeRates;
14 | @Input() errorMessage: string;
15 | perkbw: FeeRatePerObj = {};
16 | displayedColumns: string[] = ['blockcount', 'feerate'];
17 |
18 | constructor() { }
19 |
20 | ngAfterContentChecked() {
21 | if (this.feeRateStyle === feeRateStyle.KB) {
22 | this.perkbw = this.feeRates.perkb || {};
23 | } else if (this.feeRateStyle === feeRateStyle.KW) {
24 | this.perkbw = this.feeRates.perkw || {};
25 | }
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/app/cln/network-info/network-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/network-info/network-info.component.scss
--------------------------------------------------------------------------------
/src/app/cln/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.scss:
--------------------------------------------------------------------------------
1 | .fee-rate-list .mat-list-item {
2 | height: 44px;
3 | }
--------------------------------------------------------------------------------
/src/app/cln/network-info/on-chain-fee-estimates/on-chain-fee-estimates.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 |
3 | import { FeeRates } from '../../../shared/models/clnModels';
4 |
5 | @Component({
6 | selector: 'rtl-cln-onchain-fee-estimates',
7 | templateUrl: './on-chain-fee-estimates.component.html',
8 | styleUrls: ['./on-chain-fee-estimates.component.scss']
9 | })
10 | export class CLNOnChainFeeEstimatesComponent {
11 |
12 | @Input() feeRates: FeeRates;
13 | @Input() errorMessage: string;
14 |
15 | constructor() { }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/app/cln/on-chain/on-chain-receive/on-chain-receive.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Address Type
5 |
6 |
7 | {{addressType.addressTp}}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/app/cln/on-chain/on-chain-receive/on-chain-receive.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/on-chain/on-chain-receive/on-chain-receive.component.scss
--------------------------------------------------------------------------------
/src/app/cln/on-chain/on-chain-send-modal/on-chain-send-modal.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/on-chain/on-chain-send-modal/on-chain-send-modal.component.scss
--------------------------------------------------------------------------------
/src/app/cln/on-chain/on-chain-send/on-chain-send.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/app/cln/on-chain/on-chain-send/on-chain-send.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/on-chain/on-chain-send/on-chain-send.component.scss
--------------------------------------------------------------------------------
/src/app/cln/on-chain/on-chain.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/on-chain/on-chain.component.scss
--------------------------------------------------------------------------------
/src/app/cln/on-chain/utxo-tables/utxo-tables.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/on-chain/utxo-tables/utxo-tables.component.scss
--------------------------------------------------------------------------------
/src/app/cln/on-chain/utxo-tables/utxos/utxos.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-is_dust {
2 | max-width: 3rem;
3 | width: 3rem;
4 | text-overflow: unset;
5 | }
6 |
7 | .mat-column-status {
8 | max-width: 2.2rem;
9 | width: 2.2rem;
10 | text-overflow: unset;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/channels/bump-fee-modal/bump-fee.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/peers-channels/channels/bump-fee-modal/bump-fee.component.scss
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/channels/channel-information-modal/channel-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/peers-channels/channels/channel-information-modal/channel-information.component.scss
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.scss:
--------------------------------------------------------------------------------
1 | @import "../../../../../shared/theme/styles/constants.scss";
2 |
3 | .mat-column-amount_msat {
4 | .htlc-row-span:not(:first-of-type) {
5 | padding-left: 2rem;
6 | padding-right: 2rem;
7 | }
8 | }
9 |
10 | .htlc-row-span {
11 | min-height: 3rem;
12 | &.ellipsis-parent {
13 | display: flex;
14 | align-items: center;
15 | }
16 | }
17 |
18 | .mat-column-actions {
19 | & .htlc-group-head, & .htlc-group-details {
20 | min-height: 3rem;
21 | }
22 |
23 | & .btn-htlc-expand {
24 | min-width: $table-actions-min-width;
25 | width: $table-actions-min-width;
26 | margin: 0;
27 | }
28 |
29 | & .btn-htlc-info {
30 | min-width: $table-actions-min-width - 1rem;
31 | min-width: $table-actions-min-width - 1rem;
32 | margin: 0;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-private {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
7 | .mat-column-balancedness {
8 | padding-left: 2rem;
9 | min-width: 15rem;
10 | max-width: 30rem;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-private {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/channels/channels-tables/channels-tables.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/peers-channels/channels/channels-tables/channels-tables.component.scss
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/channels/open-channel-modal/open-channel.component.scss:
--------------------------------------------------------------------------------
1 | @import "../../../../shared/theme/styles/constants.scss";
2 |
3 | .open-inputs-box {
4 | padding: 1.2rem 2.4rem 0.8rem 2.4rem !important;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/connect-peer/connect-peer.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/peers-channels/connect-peer/connect-peer.component.scss
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/connections.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/peers-channels/connections.component.scss
--------------------------------------------------------------------------------
/src/app/cln/peers-channels/peers/peers.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-connected {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/cln/reports/reports.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Reports
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/app/cln/reports/reports.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/reports/reports.component.scss
--------------------------------------------------------------------------------
/src/app/cln/reports/routing/routing-report.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/reports/routing/routing-report.component.scss
--------------------------------------------------------------------------------
/src/app/cln/reports/transactions/transactions-report.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/reports/transactions/transactions-report.component.scss
--------------------------------------------------------------------------------
/src/app/cln/routing/failed-transactions/failed-transactions.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/routing/failed-transactions/failed-transactions.component.scss
--------------------------------------------------------------------------------
/src/app/cln/routing/forwarding-history/forwarding-history.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/routing/forwarding-history/forwarding-history.component.scss
--------------------------------------------------------------------------------
/src/app/cln/routing/local-failed-transactions/local-failed-transactions.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/routing/local-failed-transactions/local-failed-transactions.component.scss
--------------------------------------------------------------------------------
/src/app/cln/routing/routing-peers/routing-peers.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/routing/routing-peers/routing-peers.component.scss
--------------------------------------------------------------------------------
/src/app/cln/routing/routing.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/routing/routing.component.scss
--------------------------------------------------------------------------------
/src/app/cln/sign-verify-message/sign-verify-message.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Sign/Verify Message
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/app/cln/sign-verify-message/sign-verify-message.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/sign-verify-message/sign-verify-message.component.scss
--------------------------------------------------------------------------------
/src/app/cln/sign-verify-message/sign/sign.component.scss:
--------------------------------------------------------------------------------
1 | @import "../../../shared/theme/styles/constants.scss";
2 |
3 | .signature-box {
4 | padding: $gap*2;
5 | }
--------------------------------------------------------------------------------
/src/app/cln/sign-verify-message/verify/verify.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/sign-verify-message/verify/verify.component.scss
--------------------------------------------------------------------------------
/src/app/cln/transactions/invoices/create-invoice-modal/create-invoice.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/transactions/invoices/create-invoice-modal/create-invoice.component.scss
--------------------------------------------------------------------------------
/src/app/cln/transactions/invoices/invoice-information-modal/invoice-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/transactions/invoices/invoice-information-modal/invoice-information.component.scss
--------------------------------------------------------------------------------
/src/app/cln/transactions/invoices/invoices-table/lightning-invoices-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-status {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/cln/transactions/offers/create-offer-modal/create-offer.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/transactions/offers/create-offer-modal/create-offer.component.scss
--------------------------------------------------------------------------------
/src/app/cln/transactions/offers/offer-bookmarks-table/offer-bookmarks-table.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/transactions/offers/offer-bookmarks-table/offer-bookmarks-table.component.scss
--------------------------------------------------------------------------------
/src/app/cln/transactions/offers/offer-information-modal/offer-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/transactions/offers/offer-information-modal/offer-information.component.scss
--------------------------------------------------------------------------------
/src/app/cln/transactions/offers/offers-table/offers-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-active {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/cln/transactions/send-payment-modal/send-payment.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/transactions/send-payment-modal/send-payment.component.scss
--------------------------------------------------------------------------------
/src/app/cln/transactions/transactions.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/cln/transactions/transactions.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/ecl-root.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/app/eclair/ecl-root.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/ecl-root.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/graph/graph.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Graph Lookups
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/app/eclair/graph/graph.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/graph/graph.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/graph/lookups/lookups.component.scss:
--------------------------------------------------------------------------------
1 | .tree-invisible {
2 | display: none;
3 | }
4 |
5 | .lookup-tree ul,
6 | .lookup-tree li {
7 | margin-top: 0;
8 | margin-bottom: 0;
9 | list-style-type: none;
10 | }
11 |
--------------------------------------------------------------------------------
/src/app/eclair/graph/lookups/node-lookup/node-lookup.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/eclair/graph/query-routes/query-routes.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/graph/query-routes/query-routes.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/home/balances-info/balances-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/home/balances-info/balances-info.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/home/balances-info/balances-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'rtl-ecl-balances-info',
5 | templateUrl: './balances-info.component.html',
6 | styleUrls: ['./balances-info.component.scss']
7 | })
8 | export class ECLBalancesInfoComponent {
9 |
10 | @Input() balances = { onchain: 0, lightning: 0, total: 0 };
11 | @Input() errorMessage: string;
12 |
13 | constructor() {}
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/app/eclair/home/channel-capacity-info/channel-capacity-info.component.scss:
--------------------------------------------------------------------------------
1 | .channels-capacity-scroll {
2 | width: 100%;
3 | height: 100%;
4 | overflow-y: hidden;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/home/channel-liquidity-info/channel-liquidity-info.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/home/channel-status-info/channel-status-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/home/channel-status-info/channel-status-info.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/home/channel-status-info/channel-status-info.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
2 |
3 | import { ECLChannelStatusInfoComponent } from './channel-status-info.component';
4 |
5 | describe('ECLChannelStatusInfoComponent', () => {
6 | let component: ECLChannelStatusInfoComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(waitForAsync(() => {
10 | TestBed.configureTestingModule({
11 | declarations: [ECLChannelStatusInfoComponent]
12 | }).
13 | compileComponents();
14 | }));
15 |
16 | beforeEach(() => {
17 | fixture = TestBed.createComponent(ECLChannelStatusInfoComponent);
18 | component = fixture.componentInstance;
19 | fixture.detectChanges();
20 | });
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 |
26 | afterEach(() => {
27 | TestBed.resetTestingModule();
28 | });
29 | });
30 |
--------------------------------------------------------------------------------
/src/app/eclair/home/channel-status-info/channel-status-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { ChannelsStatus } from '../../../shared/models/eclModels';
3 |
4 | @Component({
5 | selector: 'rtl-ecl-channel-status-info',
6 | templateUrl: './channel-status-info.component.html',
7 | styleUrls: ['./channel-status-info.component.scss']
8 | })
9 | export class ECLChannelStatusInfoComponent {
10 |
11 | @Input() channelsStatus: ChannelsStatus = {};
12 | @Input() errorMessage: string;
13 |
14 | constructor() {}
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/app/eclair/home/fee-info/fee-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/home/fee-info/fee-info.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/home/fee-info/fee-info.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
2 |
3 | import { ECLFeeInfoComponent } from './fee-info.component';
4 |
5 | describe('ECLFeeInfoComponent', () => {
6 | let component: ECLFeeInfoComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(waitForAsync(() => {
10 | TestBed.configureTestingModule({
11 | declarations: [ECLFeeInfoComponent]
12 | }).
13 | compileComponents();
14 | }));
15 |
16 | beforeEach(() => {
17 | fixture = TestBed.createComponent(ECLFeeInfoComponent);
18 | component = fixture.componentInstance;
19 | fixture.detectChanges();
20 | });
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 |
26 | afterEach(() => {
27 | TestBed.resetTestingModule();
28 | });
29 | });
30 |
--------------------------------------------------------------------------------
/src/app/eclair/home/home.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/home/home.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/home/node-info/node-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/home/node-info/node-info.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/home/node-info/node-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnChanges, Input } from '@angular/core';
2 | import { GetInfo } from '../../../shared/models/eclModels';
3 | import { CommonService } from '../../../shared/services/common.service';
4 |
5 | @Component({
6 | selector: 'rtl-ecl-node-info',
7 | templateUrl: './node-info.component.html',
8 | styleUrls: ['./node-info.component.scss']
9 | })
10 | export class ECLNodeInfoComponent implements OnChanges {
11 |
12 | @Input() information: GetInfo;
13 | @Input() showColorFieldSeparately: boolean;
14 | public chains: Array = [''];
15 |
16 | constructor(private commonService: CommonService) { }
17 |
18 | ngOnChanges() {
19 | this.chains = [];
20 | this.chains.push('Bitcoin ' + (this.information.network ? this.commonService.titleCase(this.information.network) : 'Testnet'));
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/on-chain/on-chain-receive/on-chain-receive.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/on-chain/on-chain-send-modal/on-chain-send-modal.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/on-chain/on-chain-send/on-chain-send.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/on-chain/on-chain-transaction-history/on-chain-transaction-history.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/on-chain/on-chain.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/on-chain/on-chain.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/peers-channels/channels/channel-information-modal/channel-information.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/channel-rebalance-infographics/channel-rebalance-infographics.component.scss:
--------------------------------------------------------------------------------
1 | svg.small-svg {
2 | height: 10%;
3 | min-height: 10%;
4 | max-width: 50%;
5 | margin: auto;
6 | }
7 |
8 | svg.large-svg {
9 | height: 60%;
10 | min-height: 60%;
11 | max-width: 50%;
12 | margin: auto;
13 | }
14 |
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.scss:
--------------------------------------------------------------------------------
1 | .dots-stepper-block {
2 | width: 3rem;
3 | }
4 |
5 | .info-graphics-container {
6 | max-height: 30rem;
7 | min-height: 30rem;
8 | overflow-x: hidden;
9 | }
10 |
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/channels-tables/channel-inactive-table/channel-inactive-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-announceChannel {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
7 | .mat-column-balancedness {
8 | padding-left: 3rem;
9 | min-width: 15rem;
10 | max-width: 30rem;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-announceChannel {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
7 | .mat-column-balancedness {
8 | padding-left: 2rem;
9 | min-width: 15rem;
10 | max-width: 30rem;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-announceChannel {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/peers-channels/channels/channels-tables/channels-tables.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/channels/open-channel-modal/open-channel.component.scss:
--------------------------------------------------------------------------------
1 | .open-inputs-box {
2 | padding: 1.2rem 2.4rem 0.8rem 2.4rem !important;
3 | }
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/connect-peer/connect-peer.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/peers-channels/connect-peer/connect-peer.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/connections.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/peers-channels/connections.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/peers-channels/peers/peers.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-state {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/eclair/reports/reports.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Reports
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/app/eclair/reports/reports.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/reports/reports.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/reports/routing/routing-report.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/reports/routing/routing-report.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/reports/transactions/transactions-report.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/reports/transactions/transactions-report.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/routing/forwarding-history/forwarding-history.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-type {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | & svg {
6 | max-width: 2.2rem;
7 | width:2.2rem;
8 | text-overflow: unset;
9 | }
10 | }
11 |
12 | .mat-column-actions {
13 | min-height: 3.55rem;
14 | }
--------------------------------------------------------------------------------
/src/app/eclair/routing/routing-peers/routing-peers.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/routing/routing-peers/routing-peers.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/routing/routing.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/routing/routing.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/transactions/create-invoice-modal/create-invoice.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/transactions/invoice-information-modal/invoice-information.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/transactions/invoices/lightning-invoices.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-status {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/eclair/transactions/payment-information-modal/payment-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/transactions/payment-information-modal/payment-information.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/transactions/payments/lightning-payments.component.scss:
--------------------------------------------------------------------------------
1 | @import "../../../shared/theme/styles/constants.scss";
2 |
3 | .mat-column-group_actions {
4 | & .part-group-head, .part-group-details {
5 | min-height: 3rem;
6 | }
7 |
8 | & .btn-part-expand {
9 | min-width: $table-actions-min-width;
10 | width: $table-actions-min-width;
11 | margin: 0;
12 | }
13 |
14 | & .btn-part-info {
15 | min-width: $table-actions-min-width - 1rem;
16 | min-width: $table-actions-min-width - 1rem;
17 | margin: 0;
18 | }
19 | }
20 |
21 | .mat-column-group_firstPartTimestamp {
22 | .part-row-span:not(:first-of-type) {
23 | padding-left: 2rem;
24 | }
25 | }
26 |
27 | .part-row-span {
28 | min-height: 3rem;
29 | }
30 |
31 | .mat-column-group_firstPartTimestamp {
32 | min-width: 11rem;
33 | }
34 |
--------------------------------------------------------------------------------
/src/app/eclair/transactions/send-payment-modal/send-payment.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/transactions/send-payment-modal/send-payment.component.scss
--------------------------------------------------------------------------------
/src/app/eclair/transactions/transactions.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/eclair/transactions/transactions.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/backup/backup.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Channels Backup
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/app/lnd/backup/backup.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/backup/backup.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/backup/channel-backup-table/channel-backup-table.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/backup/channel-restore-table/channel-restore-table.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/graph/graph.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Graph Lookups
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/app/lnd/graph/graph.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/graph/graph.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/graph/lookups/channel-lookup/channel-lookup.component.scss:
--------------------------------------------------------------------------------
1 | .mat-list-base .mat-list-item, .mat-list-base .mat-list-option {
2 | height: 38px !important;
3 | }
--------------------------------------------------------------------------------
/src/app/lnd/graph/lookups/lookups.component.scss:
--------------------------------------------------------------------------------
1 | .tree-invisible {
2 | display: none;
3 | }
4 |
5 | .lookup-tree ul,
6 | .lookup-tree li {
7 | margin-top: 0;
8 | margin-bottom: 0;
9 | list-style-type: none;
10 | }
11 |
--------------------------------------------------------------------------------
/src/app/lnd/graph/lookups/node-lookup/node-lookup.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/graph/lookups/node-lookup/node-lookup.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/graph/query-routes/query-routes.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/graph/query-routes/query-routes.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/home/balances-info/balances-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/home/balances-info/balances-info.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/home/balances-info/balances-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'rtl-balances-info',
5 | templateUrl: './balances-info.component.html',
6 | styleUrls: ['./balances-info.component.scss']
7 | })
8 | export class BalancesInfoComponent {
9 |
10 | @Input() balances = { onchain: 0, lightning: 0, total: 0 };
11 | @Input() errorMessage: string;
12 |
13 | constructor() {}
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/app/lnd/home/channel-capacity-info/channel-capacity-info.component.scss:
--------------------------------------------------------------------------------
1 | .channels-capacity-scroll {
2 | width: 100%;
3 | height: 100%;
4 | overflow-y: hidden;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/home/channel-liquidity-info/channel-liquidity-info.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/home/channel-status-info/channel-status-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/home/channel-status-info/channel-status-info.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/home/channel-status-info/channel-status-info.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
2 |
3 | import { ChannelStatusInfoComponent } from './channel-status-info.component';
4 |
5 | describe('ChannelStatusInfoComponent', () => {
6 | let component: ChannelStatusInfoComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(waitForAsync(() => {
10 | TestBed.configureTestingModule({
11 | declarations: [ChannelStatusInfoComponent]
12 | }).
13 | compileComponents();
14 | }));
15 |
16 | beforeEach(() => {
17 | fixture = TestBed.createComponent(ChannelStatusInfoComponent);
18 | component = fixture.componentInstance;
19 | fixture.detectChanges();
20 | });
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 |
26 | afterEach(() => {
27 | TestBed.resetTestingModule();
28 | });
29 | });
30 |
--------------------------------------------------------------------------------
/src/app/lnd/home/channel-status-info/channel-status-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { ChannelsStatus } from '../../../shared/models/lndModels';
3 |
4 | @Component({
5 | selector: 'rtl-channel-status-info',
6 | templateUrl: './channel-status-info.component.html',
7 | styleUrls: ['./channel-status-info.component.scss']
8 | })
9 | export class ChannelStatusInfoComponent {
10 |
11 | @Input() channelsStatus: ChannelsStatus = {};
12 | @Input() errorMessage: string;
13 |
14 | constructor() {}
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/app/lnd/home/fee-info/fee-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/home/fee-info/fee-info.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/home/fee-info/fee-info.component.spec.ts:
--------------------------------------------------------------------------------
1 | import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
2 |
3 | import { FeeInfoComponent } from './fee-info.component';
4 |
5 | describe('FeeInfoComponent', () => {
6 | let component: FeeInfoComponent;
7 | let fixture: ComponentFixture;
8 |
9 | beforeEach(waitForAsync(() => {
10 | TestBed.configureTestingModule({
11 | declarations: [FeeInfoComponent]
12 | }).
13 | compileComponents();
14 | }));
15 |
16 | beforeEach(() => {
17 | fixture = TestBed.createComponent(FeeInfoComponent);
18 | component = fixture.componentInstance;
19 | fixture.detectChanges();
20 | });
21 |
22 | it('should create', () => {
23 | expect(component).toBeTruthy();
24 | });
25 |
26 | afterEach(() => {
27 | TestBed.resetTestingModule();
28 | });
29 | });
30 |
--------------------------------------------------------------------------------
/src/app/lnd/home/home.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/home/home.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/home/node-info/node-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/home/node-info/node-info.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/lnd-root.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/app/lnd/lnd-root.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/lnd-root.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/network-info/network-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/network-info/network-info.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/on-chain/on-chain-label-modal/on-chain-label-modal.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Address Type
5 |
6 |
7 | {{addressType.addressTp}}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/on-chain/on-chain-receive/on-chain-receive.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/on-chain/on-chain-send-modal/on-chain-send-modal.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/on-chain/on-chain-send/on-chain-send.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/on-chain.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/on-chain/on-chain.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/on-chain/utxo-tables/on-chain-transaction-history/on-chain-transaction-history.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/on-chain/utxo-tables/utxo-tables.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/on-chain/utxo-tables/utxos/utxos.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-is_dust {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/channels/bump-fee-modal/bump-fee.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/channels/channel-information-modal/channel-information.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channel-rebalance-infographics/channel-rebalance-infographics.component.scss:
--------------------------------------------------------------------------------
1 | svg.small-svg {
2 | height: 10%;
3 | min-height: 10%;
4 | max-width: 50%;
5 | margin: auto;
6 | }
7 |
8 | svg.large-svg {
9 | height: 60%;
10 | min-height: 60%;
11 | max-width: 50%;
12 | margin: auto;
13 | }
14 |
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channel-rebalance-modal/channel-rebalance.component.scss:
--------------------------------------------------------------------------------
1 | .dots-stepper-block {
2 | width: 3rem;
3 | }
4 |
5 | .info-graphics-container {
6 | max-height: 30rem;
7 | min-height: 30rem;
8 | overflow-x: hidden;
9 | }
10 |
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channels-tables/channel-active-htlcs-table/channel-active-htlcs-table.component.scss:
--------------------------------------------------------------------------------
1 | @import "../../../../../shared/theme/styles/constants.scss";
2 |
3 | .mat-column-amount {
4 | .htlc-row-span:not(:first-of-type) {
5 | padding-left: 2rem;
6 | padding-right: 2rem;
7 | }
8 | }
9 |
10 | .htlc-row-span {
11 | min-height: 3rem;
12 | &.ellipsis-parent {
13 | display: flex;
14 | align-items: center;
15 | }
16 | }
17 |
18 | .mat-column-actions {
19 | & .htlc-group-head, & .htlc-group-details {
20 | min-height: 3rem;
21 | }
22 |
23 | & .btn-htlc-expand {
24 | min-width: $table-actions-min-width;
25 | width: $table-actions-min-width;
26 | margin: 0;
27 | }
28 |
29 | & .btn-htlc-info {
30 | min-width: $table-actions-min-width - 1rem;
31 | min-width: $table-actions-min-width - 1rem;
32 | margin: 0;
33 | }
34 | }
35 |
36 | .mat-column-group_creation_date {
37 | min-width: 7rem;
38 | }
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/channels/channels-tables/channel-closed-table/channel-closed-table.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channels-tables/channel-open-table/channel-open-table.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-active {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
7 | .mat-column-private {
8 | max-width: 2.2rem;
9 | width:2.2rem;
10 | text-overflow: unset;
11 | }
12 |
13 | .mat-column-balancedness {
14 | padding-left: 2rem;
15 | min-width: 15rem;
16 | max-width: 30rem;
17 | }
18 |
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channels-tables/channel-pending-table/channel-pending-table.component.scss:
--------------------------------------------------------------------------------
1 | tr.mat-footer-row td.mat-footer-cell {
2 | border-bottom: none;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/channels/channels-tables/channels-tables.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/channels/close-channel-modal/close-channel.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/channels/open-channel-modal/open-channel.component.scss:
--------------------------------------------------------------------------------
1 | .open-inputs-box {
2 | padding: 1.2rem 2.4rem 0.8rem 2.4rem !important;
3 | }
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/connect-peer/connect-peer.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/connect-peer/connect-peer.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/connections.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/connections.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/peers-channels/peers/peers.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/peers-channels/peers/peers.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/reports/reports.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Reports
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/app/lnd/reports/reports.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/reports/reports.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/reports/routing/routing-report.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/reports/routing/routing-report.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/reports/transactions/transactions-report.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/reports/transactions/transactions-report.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/routing/forwarding-history/forwarding-history.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/routing/forwarding-history/forwarding-history.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/routing/non-routing-peers/non-routing-peers.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/routing/non-routing-peers/non-routing-peers.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/routing/routing-peers/routing-peers.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/routing/routing-peers/routing-peers.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/routing/routing.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/routing/routing.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/sign-verify-message/sign-verify-message.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Sign/Verify Message
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/app/lnd/sign-verify-message/sign-verify-message.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/sign-verify-message/sign-verify-message.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/sign-verify-message/sign/sign.component.scss:
--------------------------------------------------------------------------------
1 | @import "../../../shared/theme/styles/constants.scss";
2 |
3 | .signature-box {
4 | padding: $gap*2;
5 | }
6 |
--------------------------------------------------------------------------------
/src/app/lnd/sign-verify-message/verify/verify.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/sign-verify-message/verify/verify.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/transactions/create-invoice-modal/create-invoice.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/transactions/invoice-information-modal/invoice-information.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/transactions/invoices/lightning-invoices.component.scss:
--------------------------------------------------------------------------------
1 | .mat-column-state {
2 | max-width: 2.2rem;
3 | width: 2.2rem;
4 | text-overflow: unset;
5 | }
6 |
7 | .mat-column-private, .mat-column-is_keysend, .mat-column-is_amp {
8 | max-width: 2.2rem;
9 | width:2.2rem;
10 | text-overflow: unset;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/lnd/transactions/lookup-transactions/invoice-lookup/invoice-lookup.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/transactions/lookup-transactions/invoice-lookup/invoice-lookup.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/transactions/lookup-transactions/lookup-transactions.component.scss:
--------------------------------------------------------------------------------
1 | .tree-invisible {
2 | display: none;
3 | }
4 |
5 | .lookup-tree ul,
6 | .lookup-tree li {
7 | margin-top: 0;
8 | margin-bottom: 0;
9 | list-style-type: none;
10 | }
11 |
--------------------------------------------------------------------------------
/src/app/lnd/transactions/lookup-transactions/payment-lookup/payment-lookup.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/transactions/lookup-transactions/payment-lookup/payment-lookup.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/transactions/send-payment-modal/send-payment.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/transactions/send-payment-modal/send-payment.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/transactions/transactions.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/transactions/transactions.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/wallet/initialize/initialize.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/wallet/initialize/initialize.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/wallet/unlock/unlock.component.html:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/src/app/lnd/wallet/unlock/unlock.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/wallet/unlock/unlock.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/wallet/unlock/unlock.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 | import { Store } from '@ngrx/store';
3 |
4 | import { RTLState } from '../../../store/rtl.state';
5 | import { unlockWallet } from '../../store/lnd.actions';
6 |
7 | @Component({
8 | selector: 'rtl-unlock-wallet',
9 | templateUrl: './unlock.component.html',
10 | styleUrls: ['./unlock.component.scss']
11 | })
12 | export class UnlockWalletComponent implements OnInit {
13 |
14 | walletPassword = '';
15 |
16 | constructor(private store: Store) { }
17 |
18 | ngOnInit() {
19 | this.walletPassword = '';
20 | }
21 |
22 | onUnlockWallet(): boolean | void {
23 | if (!this.walletPassword) {
24 | return true;
25 | }
26 | this.store.dispatch(unlockWallet({ payload: { pwd: window.btoa(this.walletPassword) } }));
27 | }
28 |
29 | resetData() {
30 | this.walletPassword = '';
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/src/app/lnd/wallet/wallet.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Wallet
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/app/lnd/wallet/wallet.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/lnd/wallet/wallet.component.scss
--------------------------------------------------------------------------------
/src/app/lnd/wallet/wallet.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { faWallet } from '@fortawesome/free-solid-svg-icons';
3 |
4 |
5 | @Component({
6 | selector: 'rtl-wallet',
7 | templateUrl: './wallet.component.html',
8 | styleUrls: ['./wallet.component.scss']
9 | })
10 | export class WalletComponent {
11 |
12 | public faWallet = faWallet;
13 |
14 | constructor() {}
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/app/shared/animation/opacity-animation.ts:
--------------------------------------------------------------------------------
1 | import { animate, keyframes, style, transition, trigger } from '@angular/animations';
2 |
3 | export const opacityAnimation = [
4 | trigger('opacityAnimation', [
5 | transition(':enter', [
6 | style({ opacity: 0 }),
7 | animate('1000ms ease-in', style({ opacity: 1 }))
8 | ]),
9 | transition(':leave', [
10 | animate('0ms', style({ opacity: 0 }))
11 | ])
12 | ])
13 | ];
14 |
15 | export const fadeIn = [
16 | trigger('fadeIn', [
17 | transition('void => *', []), // When the item is created
18 | transition('* => void', []), // When the item is removed
19 | transition('* => *', [ // When the item is changed
20 | animate(800, keyframes([ // Animate for 800 ms
21 | style({ opacity: 0, transform: 'translateY(100%)' }),
22 | style({ opacity: 1, transform: 'translateY(0%)' })
23 | ]))
24 | ])
25 | ])
26 | ];
27 |
--------------------------------------------------------------------------------
/src/app/shared/animation/route-animation.ts:
--------------------------------------------------------------------------------
1 | import { transition, trigger, query, style, animate, group } from '@angular/animations';
2 |
3 | export const routeAnimation = trigger('routeAnimation', [
4 | transition('* => *', [
5 | query(':enter, :leave', style({ position: 'fixed', width: '100%' }), { optional: true }),
6 | group([
7 | query(':enter', [
8 | style({ transform: 'translateX(100%)' }),
9 | animate('1000ms ease-in-out', style({ transform: 'translateX(0%)' }))
10 | ], { optional: true }),
11 | query(':leave', [
12 | style({ transform: 'translateX(0%)' }),
13 | animate('1000ms ease-in-out', style({ transform: 'translateX(-100%)' }))
14 | ], { optional: true })
15 | ])
16 | ])
17 | ]);
18 |
--------------------------------------------------------------------------------
/src/app/shared/animation/slider-animation.ts:
--------------------------------------------------------------------------------
1 | import { animate, state, style, transition, trigger } from '@angular/animations';
2 |
3 | export const sliderAnimation = [
4 | trigger('sliderAnimation', [
5 | state('*', style({ transform: 'translateX(0)' })),
6 | transition('void => backward', [
7 | style({ transform: 'translateX(-100%' }), animate('800ms')
8 | ]),
9 | transition('backward => void', [
10 | animate('0ms', style({ transform: 'translateX(100%)' }))
11 | ]),
12 | transition('void => forward', [
13 | style({ transform: 'translateX(100%' }), animate('800ms')
14 | ]),
15 | transition('forward => void', [
16 | animate('0ms', style({ transform: 'translateX(-100%)' }))
17 | ])
18 | ])
19 | ];
20 |
--------------------------------------------------------------------------------
/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/currency-unit-converter/currency-unit-converter.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/alert-message/alert-message.component.scss:
--------------------------------------------------------------------------------
1 | .display-block {
2 | display: block;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/error-message/error-message.component.scss:
--------------------------------------------------------------------------------
1 | .display-block {
2 | display: block;
3 | }
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/is-authorized/is-authorized.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/data-modal/is-authorized/is-authorized.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/data-modal/on-chain-generated-address/on-chain-generated-address.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/spinner-dialog/spinner-dialog.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{data.titleMessage}}
4 |
5 |
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/spinner-dialog/spinner-dialog.component.scss:
--------------------------------------------------------------------------------
1 | h2 {
2 | text-align: center;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/spinner-dialog/spinner-dialog.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Inject } from '@angular/core';
2 | import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3 |
4 | @Component({
5 | selector: 'rtl-spinner-dialog',
6 | templateUrl: './spinner-dialog.component.html',
7 | styleUrls: ['./spinner-dialog.component.scss']
8 | })
9 | export class SpinnerDialogComponent {
10 |
11 | constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) { }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/help/help.component.scss:
--------------------------------------------------------------------------------
1 | .mat-mdc-card-content {
2 | margin-bottom: 4px;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/horizontal-scroller/horizontal-scroller.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/boltz-root.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/boltz/boltz-root.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/swap-in-info-graphics/info-graphics.component.scss:
--------------------------------------------------------------------------------
1 | svg.small-svg {
2 | height: 50%;
3 | min-height: 50%;
4 | max-width: 100%;
5 | }
6 |
7 | svg.large-svg {
8 | height: 60%;
9 | min-height: 60%;
10 | max-width: 100%;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/swap-modal/swap-modal.component.scss:
--------------------------------------------------------------------------------
1 | .dots-stepper-block {
2 | width: 3rem;
3 | }
4 |
5 | .info-graphics-container {
6 | max-height: 30rem;
7 | min-height: 30rem;
8 | overflow-x: hidden;
9 | }
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/swap-out-info-graphics/info-graphics.component.scss:
--------------------------------------------------------------------------------
1 | svg.small-svg {
2 | height: 50%;
3 | min-height: 50%;
4 | max-width: 100%;
5 | }
6 |
7 | svg.large-svg {
8 | height: 60%;
9 | min-height: 60%;
10 | max-width: 100%;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/swap-service-info/swap-service-info.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/boltz/swap-service-info/swap-service-info.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/swap-service-info/swap-service-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { SwapTypeEnum } from '../../../../services/consts-enums-functions';
3 | import { ServiceInfo } from '../../../../models/boltzModels';
4 |
5 | @Component({
6 | selector: 'rtl-boltz-service-info',
7 | templateUrl: './swap-service-info.component.html',
8 | styleUrls: ['./swap-service-info.component.scss']
9 | })
10 | export class SwapServiceInfoComponent {
11 |
12 | @Input() serviceInfo: ServiceInfo = {};
13 | @Input() direction = SwapTypeEnum.SWAP_OUT;
14 | public swapTypeEnum = SwapTypeEnum;
15 |
16 | constructor() {}
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/swap-status/swap-status.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/boltz/swap-status/swap-status.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/boltz/swaps/swaps.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/boltz/swaps/swaps.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/ln-services.component.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/ln-services.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/ln-services.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/ln-services.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'rtl-ln-services',
5 | templateUrl: './ln-services.component.html',
6 | styleUrls: ['./ln-services.component.scss']
7 | })
8 | export class LNServicesComponent {
9 |
10 | constructor() {}
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop-in-info-graphics/info-graphics.component.scss:
--------------------------------------------------------------------------------
1 | svg.small-svg {
2 | height: 50%;
3 | min-height: 50%;
4 | max-width: 100%;
5 | }
6 |
7 | svg.large-svg {
8 | height: 60%;
9 | min-height: 60%;
10 | max-width: 100%;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop-modal/loop-modal.component.scss:
--------------------------------------------------------------------------------
1 | .dots-stepper-block {
2 | width: 3rem;
3 | }
4 |
5 | .info-graphics-container {
6 | max-height: 30rem;
7 | min-height: 30rem;
8 | overflow-x: hidden;
9 | }
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop-out-info-graphics/info-graphics.component.scss:
--------------------------------------------------------------------------------
1 | svg.small-svg {
2 | height: 50%;
3 | min-height: 50%;
4 | max-width: 100%;
5 | }
6 |
7 | svg.large-svg {
8 | height: 60%;
9 | min-height: 60%;
10 | max-width: 100%;
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop-quote/loop-quote.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/loop/loop-quote/loop-quote.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop-quote/loop-quote.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit, Input } from '@angular/core';
2 | import { LoopQuote } from '../../../../models/loopModels';
3 |
4 | @Component({
5 | selector: 'rtl-loop-quote',
6 | templateUrl: './loop-quote.component.html',
7 | styleUrls: ['./loop-quote.component.scss']
8 | })
9 | export class LoopQuoteComponent implements OnInit {
10 |
11 | @Input() quote: LoopQuote = {};
12 | @Input() termCaption = '';
13 | @Input() showPanel = true;
14 | @Input() panelExpanded = false;
15 | public flgShowPanel = false;
16 |
17 | constructor() { }
18 |
19 | ngOnInit() {
20 | setTimeout(() => {
21 | this.flgShowPanel = true;
22 | }, 1200);
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop-status/loop-status.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/loop/loop-status/loop-status.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop-status/loop-status.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { LoopStatus } from '../../../../models/loopModels';
3 |
4 | @Component({
5 | selector: 'rtl-loop-status',
6 | templateUrl: './loop-status.component.html',
7 | styleUrls: ['./loop-status.component.scss']
8 | })
9 | export class LoopStatusComponent {
10 |
11 | @Input() loopStatus: LoopStatus;
12 |
13 | constructor() {}
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/loop.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/loop/loop.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/ln-services/loop/swaps/swaps.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/ln-services/loop/swaps/swaps.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/login/login.component.scss:
--------------------------------------------------------------------------------
1 | @import "../../theme/styles/mixins.scss";
2 |
3 | .login-container {
4 | height: 60vh;
5 | margin-top: 15%;
6 |
7 | & .mat-mdc-card {
8 | height: 30rem;
9 | }
10 |
11 | & .rtl-logo-svg {
12 | width: 100%;
13 | @include for_screensize(tab-port) {
14 | width: 37%;
15 | }
16 | @include for_screensize(phone) {
17 | width: 70%;
18 | }
19 | }
20 |
21 | & .material-icons.mat-icon {
22 | font-size: 90%;
23 | cursor: pointer;
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/app/shared/components/navigation/side-navigation/side-navigation.component.scss:
--------------------------------------------------------------------------------
1 | .tree-children-invisible {
2 | display: none;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/navigation/top-menu/top-menu.component.scss:
--------------------------------------------------------------------------------
1 | .mat-mdc-icon-button img.rtl-log-top {
2 | width: 2rem;
3 | height: 2rem;
4 | }
5 |
6 | .mat-icon.material-icons.mat-icon-no-color.rtl-logo-dropdown {
7 | height: 2rem;
8 | }
9 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/experimental-settings/experimental-settings.component.scss:
--------------------------------------------------------------------------------
1 | h4 {
2 | word-break: break-word;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/lnp-config/lnp-config.component.scss:
--------------------------------------------------------------------------------
1 | h4 {
2 | word-break: break-word;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/node-config.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/node-config/node-config.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/page-settings/page-settings.component.scss:
--------------------------------------------------------------------------------
1 | @import '../../../theme/styles/constants.scss';
2 |
3 | .table-setting-row {
4 | &:not(:first-child) {
5 | margin: ($gap) 0;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component.scss:
--------------------------------------------------------------------------------
1 | h4 {
2 | word-break: break-word;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component.scss:
--------------------------------------------------------------------------------
1 | h4 {
2 | word-break: break-word;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/services-settings/no-service-found/no-service-found.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
No Service Found!
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/services-settings/no-service-found/no-service-found.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'rtl-no-service-found',
5 | templateUrl: './no-service-found.component.html'
6 | })
7 | export class NoServiceFoundComponent {
8 |
9 | constructor() {}
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/services-settings/peerswap-service-settings/peerswap-service-settings.component.scss:
--------------------------------------------------------------------------------
1 | h4 {
2 | word-break: break-word;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/node-config/services-settings/services-settings.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/node-config/services-settings/services-settings.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/not-found/not-found.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Page Not Found
4 |
5 |
6 |
7 |
8 |
9 |
This page does not exist!
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/app/shared/components/not-found/not-found.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { Router } from '@angular/router';
3 | import { faTimes } from '@fortawesome/free-solid-svg-icons';
4 |
5 | @Component({
6 | selector: 'rtl-not-found',
7 | templateUrl: './not-found.component.html'
8 | })
9 | export class NotFoundComponent {
10 |
11 | public faTimes = faTimes;
12 |
13 | constructor(public router: Router) {}
14 |
15 | goToHelp(): void {
16 | this.router.navigate(['/help']);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/app/shared/components/settings/app-settings/app-settings.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/settings/app-settings/app-settings.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/settings/auth-settings/auth-settings.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/settings/auth-settings/auth-settings.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/settings/bitcoin-config/bitcoin-config.component.scss:
--------------------------------------------------------------------------------
1 | h4 {
2 | word-break: break-word;
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/shared/components/settings/settings.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/settings/settings.component.scss
--------------------------------------------------------------------------------
/src/app/shared/components/transactions-report-table/transactions-report-table.component.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/app/shared/components/transactions-report-table/transactions-report-table.component.scss
--------------------------------------------------------------------------------
/src/app/shared/directive/auto-focus.directive.ts:
--------------------------------------------------------------------------------
1 | import { AfterContentInit, Directive, ElementRef, Input } from '@angular/core';
2 |
3 | @Directive({
4 | selector: '[autoFocus]'
5 | })
6 | export class AutoFocusDirective implements AfterContentInit {
7 |
8 | @Input() public appAutoFocus: boolean;
9 |
10 | public constructor(private el: ElementRef) {}
11 |
12 | public ngAfterContentInit() {
13 | setTimeout(() => {
14 | this.el.nativeElement.focus();
15 | }, 500);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/app/shared/directive/max-amount.directive.ts:
--------------------------------------------------------------------------------
1 | import { Directive, Input } from '@angular/core';
2 | import { NG_VALIDATORS, Validator, Validators, AbstractControl } from '@angular/forms';
3 |
4 | @Directive({
5 | selector: 'input[max]',
6 | providers: [{ provide: NG_VALIDATORS, useExisting: MaxValidator, multi: true }]
7 | })
8 | export class MaxValidator implements Validator {
9 |
10 | @Input() max: number;
11 |
12 | validate(control: AbstractControl): any {
13 | return this.max ? Validators.max(+this.max)(control) : null;
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/app/shared/directive/min-amount.directive.ts:
--------------------------------------------------------------------------------
1 | import { Directive, Input } from '@angular/core';
2 | import { NG_VALIDATORS, Validator, Validators, AbstractControl } from '@angular/forms';
3 |
4 | @Directive({
5 | selector: 'input[min]',
6 | providers: [{ provide: NG_VALIDATORS, useExisting: MinValidator, multi: true }]
7 | })
8 | export class MinValidator implements Validator {
9 |
10 | @Input() min: number;
11 |
12 | validate(control: AbstractControl): any {
13 | return this.min ? Validators.min(+this.min)(control) : null;
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/app/shared/services/auth.interceptor.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
3 | import { Observable } from 'rxjs';
4 |
5 | import { SessionService } from './session.service';
6 |
7 | @Injectable()
8 | export class AuthInterceptor implements HttpInterceptor {
9 |
10 | constructor(private sessionService: SessionService) { }
11 |
12 | intercept(req: HttpRequest, next: HttpHandler): Observable> {
13 | if (this.sessionService.getItem('token')) {
14 | const cloned = req.clone({
15 | headers: req.headers.set('Authorization', 'Bearer ' + this.sessionService.getItem('token')),
16 | withCredentials: true
17 | });
18 | return next.handle(cloned);
19 | } else {
20 | return next.handle(req);
21 | }
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/app/shared/services/session.service.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { Subject, Observable } from 'rxjs';
3 |
4 | @Injectable()
5 | export class SessionService {
6 |
7 | private sessionSub = new Subject();
8 |
9 | watchSession(): Observable {
10 | return this.sessionSub.asObservable();
11 | }
12 |
13 | getItem(key) {
14 | return sessionStorage.getItem(key);
15 | }
16 |
17 | getAllItems() {
18 | return sessionStorage;
19 | }
20 |
21 | setItem(key: string, data: any) {
22 | sessionStorage.setItem(key, data);
23 | this.sessionSub.next(sessionStorage);
24 | }
25 |
26 | removeItem(key) {
27 | sessionStorage.removeItem(key);
28 | this.sessionSub.next(sessionStorage);
29 | }
30 |
31 | clearAll() {
32 | sessionStorage.clear();
33 | this.sessionSub.next(sessionStorage);
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/src/app/shared/theme/overlay-container/theme-overlay.ts:
--------------------------------------------------------------------------------
1 | import { OverlayContainer } from '@angular/cdk/overlay';
2 | import { Platform } from '@angular/cdk/platform';
3 | import { DOCUMENT } from '@angular/common';
4 | import { Directive, Inject, OnDestroy } from '@angular/core';
5 |
6 | @Directive()
7 | export class ThemeOverlay extends OverlayContainer implements OnDestroy {
8 |
9 | constructor(@Inject(DOCUMENT) document: Document, _platform: Platform) {
10 | super(document, _platform);
11 | }
12 |
13 | protected _createContainer(): void {
14 | super._createContainer();
15 | if (!this._containerElement) { return; }
16 | const parent = document.querySelector('#rtl-container') || document.body;
17 | parent.appendChild(this._containerElement);
18 | }
19 |
20 | ngOnDestroy() {
21 | super.ngOnDestroy();
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/blue.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 | @import './color-swatches/red-warn.swatch.scss';
3 | @import './color-swatches/white.swatch.scss';
4 |
5 | $blue-primary: mat.define-palette(mat.$blue-palette, 700, 200, A200);
6 | $blue-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900);
7 | $blue-accent-night: mat.define-palette($mat-white, 300, 600, 900);
8 | $blue-warn: mat.define-palette($red-warn, 500);
9 | $blue-warn-night: mat.define-palette($red-warn, A700);
10 |
11 | $blue-night-theme: mat.define-dark-theme((
12 | color: (
13 | primary: $blue-primary,
14 | accent: $blue-accent-night,
15 | warn: $blue-warn-night
16 | )
17 | ));
18 |
19 | $blue-day-theme: mat.define-light-theme((
20 | color: (
21 | primary: $blue-primary,
22 | accent: $blue-accent,
23 | warn: $blue-warn
24 | )
25 | ));
26 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/color-swatches/green-primary.swatch.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 |
3 | $green-primary: (
4 | 50 : #e3eae5,
5 | 100 : #bacbbe,
6 | 200 : #8ca893,
7 | 300 : #5d8568,
8 | 400 : #3b6b47,
9 | 500 : #185127,
10 | 600 : #154a23,
11 | 700 : #11401d,
12 | 800 : #0e3717,
13 | 900 : #08270e,
14 | A100 : #63ff78,
15 | A200 : #30ff4b,
16 | A400 : #00fc21,
17 | A700 : #00e31e,
18 | contrast: (
19 | 50 : #000000,
20 | 100 : #000000,
21 | 200 : #000000,
22 | 300 : #ffffff,
23 | 400 : #ffffff,
24 | 500 : #ffffff,
25 | 600 : #ffffff,
26 | 700 : #ffffff,
27 | 800 : #ffffff,
28 | 900 : #ffffff,
29 | A100 : #000000,
30 | A200 : #000000,
31 | A400 : #000000,
32 | A700 : #000000,
33 | )
34 | );
35 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/color-swatches/purple-primary.swatch.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 |
3 | $purple-primary: (
4 | 50 : #eceaf4,
5 | 100 : #cfcae4,
6 | 200 : #afa7d2,
7 | 300 : #8e83c0,
8 | 400 : #7669b3,
9 | 500 : #5e4ea5,
10 | 600 : #56479d,
11 | 700 : #4c3d93,
12 | 800 : #42358a,
13 | 900 : #312579,
14 | A100 : #c3baff,
15 | A200 : #9787ff,
16 | A400 : #6b54ff,
17 | A700 : #553bff,
18 | contrast: (
19 | 50 : #000000,
20 | 100 : #000000,
21 | 200 : #000000,
22 | 300 : #000000,
23 | 400 : #ffffff,
24 | 500 : #ffffff,
25 | 600 : #ffffff,
26 | 700 : #ffffff,
27 | 800 : #ffffff,
28 | 900 : #ffffff,
29 | A100 : #000000,
30 | A200 : #000000,
31 | A400 : #ffffff,
32 | A700 : #ffffff,
33 | )
34 | );
35 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/color-swatches/red-warn.swatch.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 |
3 | $red-warn: (
4 | 50 : #f6e0e4,
5 | 100 : #e7b3bc,
6 | 200 : #d88090,
7 | 300 : #c84d63,
8 | 400 : #bc2641,
9 | 500 : #b00020,
10 | 600 : #a9001c,
11 | 700 : #a00018,
12 | 800 : #970013,
13 | 900 : #87000b,
14 | A100 : #ffb3b6,
15 | A200 : #ff8085,
16 | A400 : #ff4d53,
17 | A700 : #ff343b,
18 | contrast: (
19 | 50 : #000000,
20 | 100 : #000000,
21 | 200 : #000000,
22 | 300 : #ffffff,
23 | 400 : #ffffff,
24 | 500 : #ffffff,
25 | 600 : #ffffff,
26 | 700 : #ffffff,
27 | 800 : #ffffff,
28 | 900 : #ffffff,
29 | A100 : #000000,
30 | A200 : #000000,
31 | A400 : #000000,
32 | A700 : #ffffff,
33 | )
34 | );
35 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/color-swatches/white.swatch.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 |
3 | $mat-white: (
4 | 50 : #ffffff,
5 | 100 : #ffffff,
6 | 200 : #eeeeee,
7 | 300 : #eeeeee,
8 | 400 : #bbbbbb,
9 | 500 : #aaaaaa,
10 | 600 : #999999,
11 | 700 : #888888,
12 | 800 : #777777,
13 | 900 : #666666,
14 | A100 : #555555,
15 | A200 : #444444,
16 | A400 : #333333,
17 | A700 : #222222,
18 | contrast: (
19 | 50 : #000000,
20 | 100 : #000000,
21 | 200 : #000000,
22 | 300 : #000000,
23 | 400 : #000000,
24 | 500 : #000000,
25 | 600 : #000000,
26 | 700 : #000000,
27 | 800 : #000000,
28 | 900 : #000000,
29 | A100 : #000000,
30 | A200 : #000000,
31 | A400 : #000000,
32 | A700 : #000000,
33 | )
34 | );
35 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/color-swatches/yellow-primary.swatch.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 |
3 | $yellow-primary: (
4 | 50 : #f2ece4,
5 | 100 : #dfcfbc,
6 | 200 : #caaf8f,
7 | 300 : #b48f62,
8 | 400 : #a47741,
9 | 500 : #945f1f,
10 | 600 : #8c571b,
11 | 700 : #814d17,
12 | 800 : #774312,
13 | 900 : #65320a,
14 | A100 : #ffc097,
15 | A200 : #ffa164,
16 | A400 : #ff8231,
17 | A700 : #ff7218,
18 | contrast: (
19 | 50 : #000000,
20 | 100 : #000000,
21 | 200 : #000000,
22 | 300 : #000000,
23 | 400 : #ffffff,
24 | 500 : #ffffff,
25 | 600 : #ffffff,
26 | 700 : #ffffff,
27 | 800 : #ffffff,
28 | 900 : #ffffff,
29 | A100 : #000000,
30 | A200 : #000000,
31 | A400 : #ffffff,
32 | A700 : #ffffff,
33 | )
34 | );
35 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/green.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 | @import './color-swatches/red-warn.swatch.scss';
3 | @import './color-swatches/green-primary.swatch.scss';
4 | @import './color-swatches/white.swatch.scss';
5 |
6 | $green-primary: mat.define-palette($green-primary, 500, 300, A200);
7 | $green-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900);
8 | $green-accent-night: mat.define-palette($mat-white, 300, 600, 900);
9 | $green-warn: mat.define-palette($red-warn, 500);
10 | $green-warn-night: mat.define-palette($red-warn, A700);
11 |
12 | $green-night-theme: mat.define-dark-theme((
13 | color: (
14 | primary: $green-primary,
15 | accent: $green-accent-night,
16 | warn: $green-warn-night
17 | )
18 | ));
19 |
20 | $green-day-theme: mat.define-light-theme((
21 | color: (
22 | primary: $green-primary,
23 | accent: $green-accent,
24 | warn: $green-warn
25 | )
26 | ));
27 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/indigo.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 | @import './color-swatches/red-warn.swatch.scss';
3 | @import './color-swatches/white.swatch.scss';
4 |
5 | $indigo-primary: mat.define-palette(mat.$indigo-palette, 500, 200, A200);
6 | $indigo-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900);
7 | $indigo-accent-night: mat.define-palette($mat-white, 300, 600, 900);
8 | $indigo-warn: mat.define-palette($red-warn, 500);
9 | $indigo-warn-night: mat.define-palette($red-warn, A700);
10 |
11 | $indigo-night-theme: mat.define-dark-theme((
12 | color: (
13 | primary: $indigo-primary,
14 | accent: $indigo-accent-night,
15 | warn: $indigo-warn-night
16 | )
17 | ));
18 |
19 | $indigo-day-theme: mat.define-light-theme((
20 | color: (
21 | primary: $indigo-primary,
22 | accent: $indigo-accent,
23 | warn: $indigo-warn
24 | )
25 | ));
26 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/pink.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 | @import './color-swatches/red-warn.swatch.scss';
3 | @import './color-swatches/white.swatch.scss';
4 |
5 | $pink-primary: mat.define-palette(mat.$pink-palette, 500, 300, A200);
6 | $pink-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900);
7 | $pink-accent-night: mat.define-palette($mat-white, 300, 600, 900);
8 | $pink-warn: mat.define-palette($red-warn, 500);
9 | $pink-warn-night: mat.define-palette($red-warn, A700);
10 |
11 | $pink-night-theme: mat.define-dark-theme((
12 | color: (
13 | primary: $pink-primary,
14 | accent: $pink-accent-night,
15 | warn: $pink-warn-night
16 | )
17 | ));
18 |
19 | $pink-day-theme: mat.define-light-theme((
20 | color: (
21 | primary: $pink-primary,
22 | accent: $pink-accent,
23 | warn: $pink-warn
24 | )
25 | ));
26 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/purple.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 | @import './color-swatches/purple-primary.swatch.scss';
3 | @import './color-swatches/red-warn.swatch.scss';
4 | @import './color-swatches/white.swatch.scss';
5 |
6 | $purple-primary: mat.define-palette($purple-primary, 500, 300, A200);
7 | $purple-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900);
8 | $purple-accent-night: mat.define-palette($mat-white, 300, 600, 900);
9 | $purple-warn: mat.define-palette($red-warn, 500);
10 | $purple-warn-night: mat.define-palette($red-warn, A700);
11 |
12 | $purple-night-theme: mat.define-dark-theme((
13 | color: (
14 | primary: $purple-primary,
15 | accent: $purple-accent-night,
16 | warn: $purple-warn-night
17 | )
18 | ));
19 |
20 | $purple-day-theme: mat.define-light-theme((
21 | color: (
22 | primary: $purple-primary,
23 | accent: $purple-accent,
24 | warn: $purple-warn
25 | )
26 | ));
27 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/teal.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 | @import './color-swatches/red-warn.swatch.scss';
3 | @import './color-swatches/white.swatch.scss';
4 |
5 | $teal-primary: mat.define-palette(mat.$teal-palette, 800, 300, A200);
6 | $teal-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900);
7 | $teal-accent-night: mat.define-palette($mat-white, 300, 600, 900);
8 | $teal-warn: mat.define-palette($red-warn, 500);
9 | $teal-warn-night: mat.define-palette($red-warn, A700);
10 |
11 | $teal-night-theme: mat.define-dark-theme((
12 | color: (
13 | primary: $teal-primary,
14 | accent: $teal-accent-night,
15 | warn: $teal-warn-night
16 | )
17 | ));
18 |
19 | $teal-day-theme: mat.define-light-theme((
20 | color: (
21 | primary: $teal-primary,
22 | accent: $teal-accent,
23 | warn: $teal-warn
24 | )
25 | ));
26 |
--------------------------------------------------------------------------------
/src/app/shared/theme/skins/yellow.scss:
--------------------------------------------------------------------------------
1 | @use '@angular/material' as mat;
2 | @import './color-swatches/red-warn.swatch.scss';
3 | @import './color-swatches/yellow-primary.swatch.scss';
4 | @import './color-swatches/white.swatch.scss';
5 |
6 | $yellow-primary: mat.define-palette($yellow-primary, 500, 300, A200);
7 | $yellow-accent: mat.define-palette(mat.$gray-palette, 800, 600, 900);
8 | $yellow-accent-night: mat.define-palette($mat-white, 300, 600, 900);
9 | $yellow-warn: mat.define-palette($red-warn, 500);
10 | $yellow-warn-night: mat.define-palette($red-warn, A700);
11 |
12 | $yellow-night-theme: mat.define-dark-theme((
13 | color: (
14 | primary: $yellow-primary,
15 | accent: $yellow-accent-night,
16 | warn: $yellow-warn-night
17 | )
18 | ));
19 |
20 | $yellow-day-theme: mat.define-light-theme((
21 | color: (
22 | primary: $yellow-primary,
23 | accent: $yellow-accent,
24 | warn: $yellow-warn
25 | )
26 | ))
27 |
--------------------------------------------------------------------------------
/src/app/shared/theme/styles/styles.scss:
--------------------------------------------------------------------------------
1 | @import './perfect-scrollbar.scss';
2 |
3 | @import './root.scss';
4 | @import './theme.scss';
5 |
--------------------------------------------------------------------------------
/src/app/store/rtl.selector.ts:
--------------------------------------------------------------------------------
1 | import { createFeatureSelector, createSelector } from '@ngrx/store';
2 | import { RootState } from './rtl.state';
3 |
4 | export const rootState = createFeatureSelector('root');
5 | export const rootAPIUrl = createSelector(rootState, (state: RootState) => state.apiURL);
6 | export const rootSelectedNode = createSelector(rootState, (state: RootState) => state.selNode);
7 | export const rootAppConfig = createSelector(rootState, (state: RootState) => state.appConfig);
8 | export const rootNodeData = createSelector(rootState, (state: RootState) => state.nodeData);
9 | export const loginStatus = createSelector(rootState, (state: RootState) => state.apisCallStatus.Login);
10 | export const authorizedStatus = createSelector(rootState, (state: RootState) => state.apisCallStatus.IsAuthorized);
11 | export const rootSelNodeAndNodeData = createSelector(rootState, (state: RootState) => ({ nodeDate: state.nodeData, selNode: state.selNode }));
12 |
--------------------------------------------------------------------------------
/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/.gitkeep
--------------------------------------------------------------------------------
/src/assets/images/RTL-Horse-BY.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/RTL-Horse-BY.pdf
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-dark/android-chrome-192x192.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-dark/android-chrome-512x512.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-dark/apple-touch-icon.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-dark/favicon-16x16.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-dark/favicon-32x32.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-dark/favicon.ico
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-dark/mstile-150x150.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-dark/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | {
6 | "src": "/rtl/assets/images/favicon-dark/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/rtl/assets/images/favicon-dark/android-chrome-512x512.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-light/android-chrome-192x192.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-light/android-chrome-512x512.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-light/apple-touch-icon.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-light/favicon-16x16.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-light/favicon-32x32.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-light/favicon.ico
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ride-The-Lightning/RTL/7a03673e6e26181b9f469d9c27ac24b07f9f3f48/src/assets/images/favicon-light/mstile-150x150.png
--------------------------------------------------------------------------------
/src/assets/images/favicon-light/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | {
6 | "src": "/rtl/assets/images/favicon-light/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/rtl/assets/images/favicon-light/android-chrome-512x512.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { AppModule } from './app/app.module';
3 |
4 | // eslint-disable-next-line no-console
5 | platformBrowserDynamic().bootstrapModule(AppModule).catch((err) => console.error(err));
6 |
--------------------------------------------------------------------------------
/src/polyfills.ts:
--------------------------------------------------------------------------------
1 | window.global = window;
2 | window.global.Buffer = window.global.Buffer || require('buffer').Buffer;
3 | window.global.process = window.global.process || require('process');
4 |
--------------------------------------------------------------------------------
/src/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../frontend"
5 | },
6 | "files": [
7 | "./main.ts",
8 | "./polyfills.ts"
9 | ],
10 | "include": [
11 | "./polyfills.ts",
12 | "./**/*.d.ts"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/src/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/spec",
5 | "module": "CommonJS",
6 | "types": [
7 | "node", "jasmine"
8 | ]
9 | },
10 | "files": ["./polyfills.ts"],
11 | "include": [
12 | "./**/*.spec.ts",
13 | "./**/*.d.ts"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------