Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
whonion committed May 28, 2024
0 parents commit 92e662d
Show file tree
Hide file tree
Showing 23 changed files with 3,723 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
CAMELOT_ROUTER = '0x99d4e80db0c023eff8d25d8155e0dcfb5addec5e'
CAMELOT_ADAPTER=0x83Bb6048D55Ea0a84795A939531Fdc1314c0d3e3
CAMELOT_RECIPIENT=0x83Bb6048D55Ea0a84795A939531Fdc1314c0d3e3

# Variables for module nexus.ts
DESTINATION_DOMAIN=1853125230
LOCAL_GAS_FEE=0.0011
INTERCHAIN_GAS_FEE=0.0003
NEUTRON_EXP = 'https://www.mintscan.io/neutron/address/'
ARB_EXP = 'https://arbiscan.io/tx/'
ARB_RPC = 'https://arbitrum.llamarpc.com'

MAX_PAY_ETH = '0.0000069420'
MAX_PAY_BNB = 0.0000069420;

TIA_ARB = '0xd56734d7f9979dd94fae3d67c7e928234e71cd4c'
ECLIP_ARB = '0x93ca0d85837ff83158cd14d65b169cdb223b1921'

ECLIP_PAIR=0x82aF49447D8a07e3bd95BD0d56f35241523fBab1,0x93ca0d85837FF83158Cd14D65B169CdB223b1921
TIA_PAIR=0x82aF49447D8a07e3bd95BD0d56f35241523fBab1,0xD56734d7f9979dD94FAE3d67C7e928234e71cD4C

TIA_NTRN = 'ibc/773B4D0A3CD667B2275D5A4A7A2F0909C0BA0F4059C0B9181E680DDF4965DCC7'
ECLIP_NTRN = 'factory/neutron10sr06r3qkhn7xzpw3339wuj77hu06mzna6uht0/eclip'


# Variables for module nautilus.ts
NAUTILUS_RPC='https://api.nautilus.nautchain.xyz'
BSC_RPC = 'https://bsc.meowrpc.com'
INTERCHAIN_GAS_FEE_BSC=369655053048
INTERCHAIN_GAS_FEE_NAUTILUS=4660001
NAUTILUS_SEND_TOKENS=BTC,ETH,USDT,USDC,ZBC
NAUTILUS_EXP='https://nautscan.com/mainnet/account/'
NAUTILUS_CHAIN_ID='22222'

BSC_ZBC_BRIDGE='0xc27980812e2e66491fd457d488509b7e04144b98' #Contract for execute TransferRemote ZBC from BSC to Nautilus
BSC_ETH_BRIDGE='0x2a6822dc5639b3fe70de6b65b9ff872e554162fa' #Contract for execute TransferRemote ETH from BSC to Nautilus
BSC_USDC_BRIDGE='0x6937a62f93a56D2AE9392Fa1649b830ca37F3ea4' #Contract for execute TransferRemote USDC from BSC to Nautilus
BSC_USDT_BRIDGE='0xb7d36720a16A1F9Cfc1f7910Ac49f03965401a36' #Contract for execute TransferRemote USDT from BSC to Nautilus
BSC_BTC_BRIDGE='0xB3545006A532E8C23ebC4e33d5ab2232Cafc35Ad' #Contract for execute TransferRemote BTC from BSC to Nautilus

BSC_ZBC='0x37a56cdcd83dce2868f721de58cb3830c44c6303' #Contract token ZBC for execute Approve from BSC to Nautilus
BSC_ETH='0x2170ed0880ac9a755fd29b2688956bd959f933f8' #Contract token ETH for execute Approve from BSC to Nautilus
BSC_USDC='0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' #Contract token USDC for execute Approve from BSC to Nautilus
BSC_USDT='0x55d398326f99059fF775485246999027B3197955' #Contract token USDT for execute Approve from BSC to Nautilus
BSC_BTC='0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c' #Contract token BTC for execute Approve from BSC to Nautilus


NTLS_ZBC='0x4501bBE6e731A4bC5c60C03A77435b2f6d5e9Fe7' #Contract token ZBC for execute TransferRemote from Nautilus to BSC
NTLS_ETH='0x182E8d7c5F1B06201b102123FC7dF0EaeB445a7B' #Contract token ETH for execute TransferRemote from Nautilus to BSC
NTLS_USDC='0xB2723928400AE5778f6A3C69D7Ca9e90FC430180' #Contract token USDC for execute TransferRemote from Nautilus to BSC
NTLS_USDT='0xBDa330Ea8F3005C421C8088e638fBB64fA71b9e0' #Contract token USDT for execute TransferRemote from Nautilus to BSC
NTLS_BTC='0x61DDB465eEA5bc3708Cf8B53156aC91a77A2f029' #Contract token BTC for execute TransferRemote from Nautilus to BSC

# Token `POSE` (0x9d637d81be768bc83abd05715b2c3d7aaf6445c6) is not available via Web-application at the moment,
# incorrect contract of the existing token is specified,
# it may be developers' error, or there is no liquidity for the specified token `0xB883935B47B0508b479CEE642DB4b9E2de387920`
BSC_POSE='0x9d637d81be768bc83abd05715b2c3d7aaf6445c6'

# Variables for module zeroway.ts
ZEROWAY_ADAPTER = 0xd5ebc5e5f38c2d8c91c43122a105327c1f0260b4
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Auto detect text files and perform LF normalization
* text=auto
# * linguist-language=typescript
*.js linguist-detectable=false
*.ts linguist-detectable=true
*.sh linguist-detectable=false
23 changes: 23 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Basic set up for three package managers

version: 2
updates:

# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
# Workflow files stored in the default location of `.github/workflows`. (You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.)
directory: "/"
schedule:
interval: "weekly"

# Maintain dependencies for npm
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"

# Maintain dependencies for Composer
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
28 changes: 28 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: TypeScript Build

on:
push:
branches:
- main

jobs:
build:
runs-on: [self-hosted]

steps:
- name: Checkout Repository
uses: actions/[email protected]

- name: Setup Node.js
uses: actions/[email protected]
with:
node-version: 20

- name: Install Dependencies
run: npm i

- name: Set Global TypeScript
run: npm i -g typescript

- name: Build TypeScript
run: npm run build
133 changes: 133 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
/js/
/test/
private_keys.txt
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"CodeGPT.apiKey": "CodeGPT Plus Beta"
}
43 changes: 43 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Contributor Code of Conduct

As contributors and maintainers of this project,
and in the interest of fostering an open and welcoming community,
we pledge to respect all people who contribute through reporting issues,
posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.

We are committed to making participation in this project
a harassment-free experience for everyone,
regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance,
body size, race, ethnicity, age, religion, or nationality.

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing other's private information,
such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct.

Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct.
By adopting this Code of Conduct,
project maintainers commit themselves to fairly and consistently
applying these principles to every aspect of managing this project.
Project maintainers who do not follow or enforce the Code of Conduct
may be permanently removed from the project team.

This code of conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by opening an issue
or contacting one or more of the project maintainers.

This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 RegEdit | whonion.app

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
67 changes: 67 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
[![Status](https://img.shields.io/badge/status-active-success.svg)](https://github.com/whonion/ts-hyperline-aio/blob/main/) [![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Build TS](https://github.com/whonion/ts-hyperline-aio/actions/workflows/build.yml/badge.svg)](https://github.com/whonion/ts-hyperline-aio/actions/workflows/build.yml) [![viem](https://img.shields.io/badge/viem-2.12.0-blue)](https://www.npmjs.com/package/viem) ![Node Version](https://img.shields.io/badge/Node.js-20.12.12-blue.svg) ![node-fetch Version](https://img.shields.io/badge/node--fetch-3.3.2-blueviolet.svg) [![ts-node](https://img.shields.io/badge/ts--node-10.9.2-brightgreen)](https://www.npmjs.com/package/ts-node) ![cosmjs/proto-signing Version](https://img.shields.io/badge/cosmjs/proto--signing-0.32.3-orange.svg) ![Bech32 Version](https://img.shields.io/badge/bech32-2.0.0-brightgreen.svg) ![dotenv Version](https://img.shields.io/badge/dotenv-16.4.5-yellow.svg)</br>

### hyperline-aio

#### 1. Install `Node.js`
```sh
sudo apt install git
sudo apt install nodejs
sudo apt install npm
node -v
npm -v
```
#### 2. Clone repo and install dependencies
```sh
git clone https://github.com/whonion/ts-hyperline-aio.git
cd ts-hyperline-aio
npm i
npm i -g typescript
```
#### 3. Rename `.env.example` to `.env` and set required variables:
```ini
# Variables for module nexus.ts
LOCAL_GAS_FEE=0.0011
INTERCHAIN_GAS_FEE=0.0003

ARB_RPC = 'https://rpc.ankr.com/arbitrum/your_api_key'

MAX_PAY_ETH = '0.000069420'
MAX_PAY_BNB = '0.00069420';

# Variables for module nautiilus.ts
INTERCHAIN_GAS_FEE_BSC=369655053048
NAUTILUS_SEND_TOKENS=ZBC,USDT,USDC,ETH,BTC

BSC_RPC = 'https://bsc.meowrpc.com'
```
#### 4. Rename `data/private_keys.txt.example` to `data/private_keys.txt` and add your private keys (can add without `0x`)

#### 5. Run script with command:
```sh
npm run app
```

#### 6. Run individual module:
```json
"scripts": {
"nexus": "ts-node main.ts",
"odos": "ts-node src/odos.ts",
"bridge": "ts-node src/nautilus.ts",
"unbridge": "ts-node src/nautilusback.ts",

"app": "npm-run-all nexus odos bridge",

"build": "tsc --project tsconfig.json",
"clean": "tsc --build --clean"
}
```
```sh
npm run nexus
npm run odos
npm run bridge

npm run unbridge

npm run build
npm run clean
```
Loading

0 comments on commit 92e662d

Please sign in to comment.